about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--.github/CODEOWNERS13
-rw-r--r--.github/labeler.yml5
-rw-r--r--.github/workflows/backport.yml2
-rw-r--r--.github/workflows/basic-eval.yml2
-rw-r--r--.github/workflows/check-by-name.yml11
-rw-r--r--.github/workflows/check-cherry-picks.yml2
-rw-r--r--.github/workflows/check-maintainers-sorted.yaml2
-rw-r--r--.github/workflows/check-nix-format.yml2
-rw-r--r--.github/workflows/editorconfig.yml2
-rw-r--r--.github/workflows/manual-nixos.yml2
-rw-r--r--.github/workflows/manual-nixpkgs.yml2
-rw-r--r--.github/workflows/nix-parse.yml2
-rw-r--r--.github/workflows/periodic-merge-24h.yml2
-rw-r--r--.github/workflows/periodic-merge-6h.yml2
-rw-r--r--.github/workflows/update-terraform-providers.yml2
-rw-r--r--CONTRIBUTING.md1
-rw-r--r--doc/build-helpers/special/fhs-environments.section.md6
-rw-r--r--doc/languages-frameworks/python.section.md4
-rw-r--r--lib/licenses.nix5
-rw-r--r--lib/systems/examples.nix5
-rw-r--r--maintainers/maintainer-list.nix234
-rw-r--r--maintainers/scripts/eval-release.nix2
-rw-r--r--maintainers/scripts/luarocks-packages.csv4
-rw-r--r--maintainers/team-list.nix13
-rw-r--r--nixos/doc/manual/configuration/abstractions.section.md2
-rw-r--r--nixos/doc/manual/configuration/profiles/graphical.section.md2
-rw-r--r--nixos/doc/manual/configuration/x-windows.chapter.md4
-rw-r--r--nixos/doc/manual/release-notes/rl-2405.section.md130
-rw-r--r--nixos/lib/qemu-common.nix2
-rw-r--r--nixos/modules/config/malloc.nix19
-rw-r--r--nixos/modules/installer/tools/tools.nix2
-rw-r--r--nixos/modules/module-list.nix3
-rw-r--r--nixos/modules/profiles/graphical.nix6
-rw-r--r--nixos/modules/programs/singularity.nix36
-rw-r--r--nixos/modules/programs/wayland/hyprland.nix18
-rw-r--r--nixos/modules/programs/wshowkeys.nix34
-rw-r--r--nixos/modules/security/isolate.nix133
-rw-r--r--nixos/modules/security/pam.nix4
-rw-r--r--nixos/modules/services/databases/redis.nix11
-rw-r--r--nixos/modules/services/desktop-managers/plasma6.nix2
-rw-r--r--nixos/modules/services/desktops/pipewire/wireplumber.nix183
-rw-r--r--nixos/modules/services/display-managers/sddm.nix4
-rw-r--r--nixos/modules/services/editors/emacs.md41
-rw-r--r--nixos/modules/services/hardware/libinput.nix (renamed from nixos/modules/services/x11/hardware/libinput.nix)12
-rw-r--r--nixos/modules/services/hardware/nvidia-container-toolkit/default.nix6
-rw-r--r--nixos/modules/services/home-automation/evcc.nix1
-rw-r--r--nixos/modules/services/home-automation/wyoming/faster-whisper.nix2
-rw-r--r--nixos/modules/services/mail/roundcube.nix5
-rw-r--r--nixos/modules/services/matrix/appservice-irc.nix3
-rw-r--r--nixos/modules/services/matrix/conduit.nix2
-rw-r--r--nixos/modules/services/misc/gitea.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/apcupsd.nix3
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/artifactory.nix3
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/bind.nix3
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/bird.nix8
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/bitcoin.nix3
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/blackbox.nix8
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/buildkite-agent.nix9
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/collectd.nix10
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/dmarc.nix3
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/dnsmasq.nix8
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/domain.nix3
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/dovecot.nix8
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/flow.nix9
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/fritzbox.nix3
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/idrac.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/imap-mailstat.nix11
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/influxdb.nix3
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/ipmi.nix9
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/jitsi.nix8
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/json.nix9
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/junos-czerwonk.nix9
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/kea.nix8
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/keylight.nix3
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/knot.nix8
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/lnd.nix3
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/mail.nix14
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/mikrotik.nix9
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/minio.nix9
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/modemmanager.nix3
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/mongodb.nix12
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/nats.nix5
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/nextcloud.nix8
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/nginx.nix11
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/nginxlog.nix3
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/node.nix10
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/nut.nix8
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/openldap.nix3
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/pgbouncer.nix9
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/pihole.nix8
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/ping.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/postfix.nix10
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/postgres.nix9
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/process.nix8
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/pve.nix8
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/py-air-control.nix3
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/redis.nix3
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/restic.nix13
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/rspamd.nix11
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/script.nix8
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/shelly.nix3
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/smartctl.nix3
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/smokeping.nix3
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/snmp.nix9
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/sql.nix8
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/statsd.nix3
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/surfboard.nix3
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/systemd.nix7
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/tor.nix3
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/unbound.nix11
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/unifi.nix9
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/unpoller.nix3
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/v2ray.nix3
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/varnish.nix10
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/wireguard.nix10
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/zfs.nix7
-rw-r--r--nixos/modules/services/monitoring/rustdesk-server.nix6
-rw-r--r--nixos/modules/services/monitoring/vmagent.nix114
-rw-r--r--nixos/modules/services/networking/adguardhome.nix122
-rw-r--r--nixos/modules/services/networking/knot.nix2
-rw-r--r--nixos/modules/services/networking/netbird/coturn.nix6
-rw-r--r--nixos/modules/services/networking/pixiecore.nix2
-rw-r--r--nixos/modules/services/networking/pppd.nix2
-rw-r--r--nixos/modules/services/networking/ssh/sshd.nix8
-rw-r--r--nixos/modules/services/networking/sunshine.nix9
-rw-r--r--nixos/modules/services/networking/tailscale.nix2
-rw-r--r--nixos/modules/services/security/oauth2_proxy_nginx.nix52
-rw-r--r--nixos/modules/services/security/vaultwarden/default.nix16
-rw-r--r--nixos/modules/services/system/dbus.nix2
-rw-r--r--nixos/modules/services/web-apps/akkoma.nix6
-rw-r--r--nixos/modules/services/web-apps/castopod.nix2
-rw-r--r--nixos/modules/services/web-apps/coder.nix1
-rw-r--r--nixos/modules/services/web-apps/gotosocial.nix2
-rw-r--r--nixos/modules/services/web-apps/movim.nix22
-rw-r--r--nixos/modules/services/x11/desktop-managers/budgie.nix2
-rw-r--r--nixos/modules/services/x11/desktop-managers/cinnamon.nix2
-rw-r--r--nixos/modules/services/x11/desktop-managers/deepin.nix2
-rw-r--r--nixos/modules/services/x11/desktop-managers/enlightenment.nix2
-rw-r--r--nixos/modules/services/x11/desktop-managers/gnome.nix2
-rw-r--r--nixos/modules/services/x11/desktop-managers/lxqt.nix2
-rw-r--r--nixos/modules/services/x11/desktop-managers/mate.nix2
-rw-r--r--nixos/modules/services/x11/desktop-managers/pantheon.nix2
-rw-r--r--nixos/modules/services/x11/desktop-managers/plasma5.nix2
-rw-r--r--nixos/modules/services/x11/desktop-managers/xfce.nix2
-rw-r--r--nixos/modules/services/x11/hardware/cmt.nix4
-rw-r--r--nixos/modules/services/x11/hardware/synaptics.nix6
-rw-r--r--nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix28
-rw-r--r--nixos/modules/virtualisation/incus.nix7
-rw-r--r--nixos/modules/virtualisation/lxc.nix9
-rw-r--r--nixos/modules/virtualisation/lxd.nix9
-rw-r--r--nixos/modules/virtualisation/qemu-vm.nix18
-rw-r--r--nixos/tests/adguardhome.nix85
-rw-r--r--nixos/tests/all-tests.nix4
-rw-r--r--nixos/tests/castopod.nix2
-rw-r--r--nixos/tests/coder.nix4
-rw-r--r--nixos/tests/forgejo.nix6
-rw-r--r--nixos/tests/gvisor.nix2
-rw-r--r--nixos/tests/isolate.nix38
-rw-r--r--nixos/tests/libinput.nix2
-rw-r--r--nixos/tests/nginx-sso.nix2
-rw-r--r--nixos/tests/openssh.nix56
-rw-r--r--nixos/tests/prometheus-exporters.nix2
-rw-r--r--nixos/tests/promscale.nix60
-rw-r--r--nixos/tests/qtile.nix34
-rw-r--r--nixos/tests/switch-test.nix21
-rw-r--r--nixos/tests/syncthing-relay.nix2
-rw-r--r--nixos/tests/web-apps/gotosocial.nix2
-rw-r--r--pkgs/applications/accessibility/squeekboard/default.nix14
-rw-r--r--pkgs/applications/audio/audacity/default.nix4
-rw-r--r--pkgs/applications/audio/castopod/default.nix2
-rw-r--r--pkgs/applications/audio/cider/default.nix2
-rw-r--r--pkgs/applications/audio/faust/faust2.nix12
-rw-r--r--pkgs/applications/audio/feishin/default.nix123
-rw-r--r--pkgs/applications/audio/g4music/default.nix4
-rw-r--r--pkgs/applications/audio/galaxy-buds-client/default.nix2
-rw-r--r--pkgs/applications/audio/grandorgue/default.nix4
-rw-r--r--pkgs/applications/audio/littlegptracker/default.nix2
-rw-r--r--pkgs/applications/audio/mmlgui/default.nix6
-rw-r--r--pkgs/applications/audio/mopidy/spotify.nix6
-rw-r--r--pkgs/applications/audio/museeks/default.nix2
-rw-r--r--pkgs/applications/audio/music-player/default.nix2
-rw-r--r--pkgs/applications/audio/ncspot/default.nix2
-rw-r--r--pkgs/applications/audio/nuclear/default.nix4
-rw-r--r--pkgs/applications/audio/plexamp/default.nix1
-rw-r--r--pkgs/applications/audio/pt2-clone/default.nix4
-rw-r--r--pkgs/applications/audio/pyradio/default.nix4
-rw-r--r--pkgs/applications/audio/roomeqwizard/default.nix4
-rw-r--r--pkgs/applications/audio/sonic-pi/default.nix5
-rw-r--r--pkgs/applications/audio/sonixd/default.nix3
-rw-r--r--pkgs/applications/audio/spot/default.nix20
-rw-r--r--pkgs/applications/audio/spotifyd/default.nix2
-rw-r--r--pkgs/applications/audio/touchosc/default.nix8
-rw-r--r--pkgs/applications/audio/vgmplay-libvgm/default.nix2
-rw-r--r--pkgs/applications/audio/waylyrics/Cargo.lock15
-rw-r--r--pkgs/applications/audio/waylyrics/default.nix17
-rw-r--r--pkgs/applications/backup/pika-backup/default.nix6
-rw-r--r--pkgs/applications/blockchains/bitcoin-abc/default.nix4
-rw-r--r--pkgs/applications/blockchains/btcdeb/default.nix6
-rw-r--r--pkgs/applications/blockchains/crypto-org-wallet/default.nix8
-rw-r--r--pkgs/applications/blockchains/exodus/default.nix12
-rw-r--r--pkgs/applications/blockchains/framesh/default.nix1
-rw-r--r--pkgs/applications/blockchains/groestlcoin/default.nix7
-rw-r--r--pkgs/applications/blockchains/ledger-live-desktop/default.nix1
-rw-r--r--pkgs/applications/blockchains/mycrypto/default.nix7
-rw-r--r--pkgs/applications/blockchains/optimism/default.nix6
-rw-r--r--pkgs/applications/blockchains/polkadot/default.nix6
-rw-r--r--pkgs/applications/blockchains/solana-validator/default.nix3
-rw-r--r--pkgs/applications/blockchains/terra-station/default.nix10
-rw-r--r--pkgs/applications/blockchains/wasabibackend/default.nix2
-rw-r--r--pkgs/applications/blockchains/wasabiwallet/default.nix4
-rw-r--r--pkgs/applications/blockchains/zecwallet-lite/default.nix2
-rw-r--r--pkgs/applications/editors/android-studio/common.nix6
-rw-r--r--pkgs/applications/editors/eclipse/default.nix50
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/acm-terminal/default.nix22
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/ebuild-mode/default.nix21
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/lsp-bridge/default.nix6
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/lspce/default.nix2
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/xapian-lite/default.nix2
-rw-r--r--pkgs/applications/editors/gedit/default.nix8
-rw-r--r--pkgs/applications/editors/gnome-latex/default.nix17
-rw-r--r--pkgs/applications/editors/hexedit/default.nix2
-rw-r--r--pkgs/applications/editors/jedit/build.xml.patch257
-rw-r--r--pkgs/applications/editors/jedit/default.nix151
-rw-r--r--pkgs/applications/editors/jetbrains/bin/versions.json320
-rw-r--r--pkgs/applications/editors/jetbrains/default.nix11
-rw-r--r--pkgs/applications/editors/jetbrains/plugins/plugins.json215
-rw-r--r--pkgs/applications/editors/kile/default.nix73
-rw-r--r--pkgs/applications/editors/lapce/Cargo.lock2978
-rw-r--r--pkgs/applications/editors/lapce/default.nix25
-rw-r--r--pkgs/applications/editors/pulsar/default.nix29
-rw-r--r--pkgs/applications/editors/quartus-prime/default.nix3
-rw-r--r--pkgs/applications/editors/standardnotes/default.nix19
-rw-r--r--pkgs/applications/editors/vim/common.nix2
-rw-r--r--pkgs/applications/editors/vim/plugins/generated.nix22
-rw-r--r--pkgs/applications/editors/vim/plugins/overrides.nix25
-rw-r--r--pkgs/applications/editors/vim/plugins/vim-plugin-names4
-rw-r--r--pkgs/applications/editors/vscode/extensions/default.nix52
-rw-r--r--pkgs/applications/editors/vscode/extensions/myriad-dreamin.tinymist/default.nix4
-rw-r--r--pkgs/applications/emulators/dolphin-emu/default.nix1
-rw-r--r--pkgs/applications/emulators/dolphin-emu/primehack.nix2
-rw-r--r--pkgs/applications/emulators/mame/default.nix4
-rw-r--r--pkgs/applications/emulators/retroarch/hashes.json78
-rw-r--r--pkgs/applications/emulators/retroarch/retroarch-assets.nix10
-rw-r--r--pkgs/applications/emulators/ripes/default.nix6
-rw-r--r--pkgs/applications/file-managers/nnn/default.nix2
-rw-r--r--pkgs/applications/graphics/curtail/default.nix4
-rw-r--r--pkgs/applications/graphics/darktable/default.nix5
-rw-r--r--pkgs/applications/graphics/darktable/fix_darwin_x86_compile.patch22
-rw-r--r--pkgs/applications/graphics/drawio/default.nix6
-rw-r--r--pkgs/applications/graphics/mypaint/default.nix23
-rw-r--r--pkgs/applications/graphics/oculante/default.nix6
-rw-r--r--pkgs/applications/graphics/pdfcpu/default.nix6
-rw-r--r--pkgs/applications/graphics/processing/default.nix4
-rw-r--r--pkgs/applications/graphics/pureref/default.nix4
-rw-r--r--pkgs/applications/graphics/structorizer/default.nix4
-rw-r--r--pkgs/applications/graphics/tev/default.nix4
-rw-r--r--pkgs/applications/graphics/upscayl/default.nix6
-rw-r--r--pkgs/applications/graphics/xournalpp/default.nix2
-rw-r--r--pkgs/applications/kde/filelight.nix2
-rw-r--r--pkgs/applications/kde/kcalc.nix1
-rw-r--r--pkgs/applications/kde/kdeconnect-kde.nix1
-rw-r--r--pkgs/applications/kde/kolourpaint.nix1
-rw-r--r--pkgs/applications/kde/kwalletmanager.nix1
-rw-r--r--pkgs/applications/kde/yakuake.nix1
-rw-r--r--pkgs/applications/misc/1password-gui/default.nix2
-rw-r--r--pkgs/applications/misc/1password/default.nix2
-rw-r--r--pkgs/applications/misc/ablog/default.nix4
-rw-r--r--pkgs/applications/misc/authy/default.nix68
-rw-r--r--pkgs/applications/misc/avalonia-ilspy/default.nix4
-rw-r--r--pkgs/applications/misc/bambu-studio/default.nix113
-rw-r--r--pkgs/applications/misc/bambu-studio/orca-slicer.nix60
-rw-r--r--pkgs/applications/misc/bazecor/default.nix2
-rw-r--r--pkgs/applications/misc/cobalt/default.nix6
-rw-r--r--pkgs/applications/misc/cobang/default.nix4
-rw-r--r--pkgs/applications/misc/cointop/default.nix2
-rw-r--r--pkgs/applications/misc/confclerk/default.nix4
-rw-r--r--pkgs/applications/misc/devdocs-desktop/default.nix6
-rw-r--r--pkgs/applications/misc/firefly-desktop/default.nix1
-rw-r--r--pkgs/applications/misc/fspy/default.nix4
-rw-r--r--pkgs/applications/misc/fuzzel/default.nix2
-rw-r--r--pkgs/applications/misc/gallery-dl/default.nix2
-rw-r--r--pkgs/applications/misc/golden-cheetah-bin/default.nix2
-rw-r--r--pkgs/applications/misc/gpsprune/default.nix4
-rw-r--r--pkgs/applications/misc/gpxsee/default.nix4
-rw-r--r--pkgs/applications/misc/gremlin-console/default.nix4
-rw-r--r--pkgs/applications/misc/has/default.nix4
-rw-r--r--pkgs/applications/misc/joplin-desktop/default.nix1
-rw-r--r--pkgs/applications/misc/jotta-cli/default.nix4
-rw-r--r--pkgs/applications/misc/kile-wl/default.nix3
-rw-r--r--pkgs/applications/misc/logseq/default.nix8
-rw-r--r--pkgs/applications/misc/lunatask/default.nix2
-rw-r--r--pkgs/applications/misc/marktext/default.nix3
-rw-r--r--pkgs/applications/misc/neo4j-desktop/default.nix8
-rw-r--r--pkgs/applications/misc/notable/default.nix5
-rw-r--r--pkgs/applications/misc/notesnook/default.nix1
-rw-r--r--pkgs/applications/misc/octoprint/default.nix4
-rw-r--r--pkgs/applications/misc/pdfsam-basic/default.nix4
-rw-r--r--pkgs/applications/misc/perkeep/default.nix2
-rw-r--r--pkgs/applications/misc/projectlibre/default.nix51
-rw-r--r--pkgs/applications/misc/protonup-qt/default.nix7
-rw-r--r--pkgs/applications/misc/pueue/default.nix2
-rw-r--r--pkgs/applications/misc/remnote/default.nix6
-rw-r--r--pkgs/applications/misc/rofi-rbw/default.nix4
-rw-r--r--pkgs/applications/misc/sqls/default.nix2
-rw-r--r--pkgs/applications/misc/ssw/default.nix4
-rw-r--r--pkgs/applications/misc/sway-launcher-desktop/default.nix2
-rw-r--r--pkgs/applications/misc/swaynotificationcenter/default.nix4
-rw-r--r--pkgs/applications/misc/sweethome3d/default.nix3
-rw-r--r--pkgs/applications/misc/sweethome3d/editors.nix3
-rw-r--r--pkgs/applications/misc/todoist-electron/default.nix1
-rw-r--r--pkgs/applications/misc/tui-journal/default.nix6
-rw-r--r--pkgs/applications/misc/twitch-chat-downloader/default.nix2
-rw-r--r--pkgs/applications/misc/valent/default.nix2
-rw-r--r--pkgs/applications/misc/volnoti/default.nix2
-rw-r--r--pkgs/applications/misc/xmrig/default.nix4
-rw-r--r--pkgs/applications/misc/zettlr/generic.nix6
-rw-r--r--pkgs/applications/networking/Sylk/default.nix3
-rw-r--r--pkgs/applications/networking/browsers/brave/default.nix12
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.nix24
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix818
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/developer-edition_sources.nix818
-rw-r--r--pkgs/applications/networking/browsers/firefox/common.nix15
-rw-r--r--pkgs/applications/networking/browsers/firefox/packages.nix8
-rw-r--r--pkgs/applications/networking/browsers/floorp/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/librewolf/src.json10
-rw-r--r--pkgs/applications/networking/browsers/microsoft-edge/default.nix12
-rw-r--r--pkgs/applications/networking/browsers/palemoon/bin.nix8
-rw-r--r--pkgs/applications/networking/browsers/polypane/default.nix1
-rw-r--r--pkgs/applications/networking/cloudflared/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/acorn/default.nix32
-rw-r--r--pkgs/applications/networking/cluster/argo/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/argocd/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/arkade/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/atmos/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/cilium/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/clusterctl/default.nix13
-rw-r--r--pkgs/applications/networking/cluster/cmctl/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/fn-cli/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/helm/chart-testing/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/helm/plugins/helm-git.nix8
-rw-r--r--pkgs/applications/networking/cluster/helm/plugins/helm-unittest.nix6
-rwxr-xr-xpkgs/applications/networking/cluster/k3s/update-script.sh4
-rw-r--r--pkgs/applications/networking/cluster/krane/Gemfile.lock6
-rw-r--r--pkgs/applications/networking/cluster/krane/gemset.nix8
-rw-r--r--pkgs/applications/networking/cluster/kubectl-cnpg/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kubectl-explore/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kubedb-cli/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/kubefirst/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/kubelogin/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kubeshark/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/kubevela/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kuma/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kuttl/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kyverno/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/minikube/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/nomad-pack/default.nix9
-rw-r--r--pkgs/applications/networking/cluster/nomad/default.nix2
-rw-r--r--pkgs/applications/networking/cluster/openlens/default.nix2
-rw-r--r--pkgs/applications/networking/cluster/talosctl/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/temporal/default.nix2
-rw-r--r--pkgs/applications/networking/cluster/terraform/default.nix7
-rw-r--r--pkgs/applications/networking/cluster/timoni/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/waypoint/default.nix82
-rw-r--r--pkgs/applications/networking/cluster/werf/default.nix9
-rw-r--r--pkgs/applications/networking/cluster/yor/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/zarf/default.nix6
-rw-r--r--pkgs/applications/networking/cozy-drive/default.nix6
-rw-r--r--pkgs/applications/networking/discordo/default.nix8
-rw-r--r--pkgs/applications/networking/dsvpn/default.nix2
-rw-r--r--pkgs/applications/networking/feedreaders/fluent-reader/default.nix2
-rw-r--r--pkgs/applications/networking/firewalld/default.nix4
-rw-r--r--pkgs/applications/networking/flexget/default.nix6
-rw-r--r--pkgs/applications/networking/google-drive-ocamlfuse/default.nix4
-rw-r--r--pkgs/applications/networking/ids/zeek/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/beeper/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/caprine-bin/build-from-appimage.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/chatterino2/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/chatty/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/discord/default.nix26
-rw-r--r--pkgs/applications/networking/instant-messengers/element/pin.nix10
-rw-r--r--pkgs/applications/networking/instant-messengers/franz/generic.nix5
-rw-r--r--pkgs/applications/networking/instant-messengers/keet/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/profanity/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/psi-plus/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/qq/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/qq/sources.nix11
-rwxr-xr-xpkgs/applications/networking/instant-messengers/qq/update.sh6
-rw-r--r--pkgs/applications/networking/instant-messengers/rambox/default.nix3
-rw-r--r--pkgs/applications/networking/instant-messengers/session-desktop/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-cli/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/generic.nix12
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop-aarch64.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/slack/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/tg_owt.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/threema-desktop/default.nix138
-rw-r--r--pkgs/applications/networking/instant-messengers/twitch-tui/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/wavebox/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/zoom-us/default.nix16
-rw-r--r--pkgs/applications/networking/instant-messengers/zulip/default.nix1
-rw-r--r--pkgs/applications/networking/irc/glowing-bear/default.nix2
-rw-r--r--pkgs/applications/networking/irc/irccloud/default.nix6
-rw-r--r--pkgs/applications/networking/maestral-qt/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/electron-mail/default.nix6
-rw-r--r--pkgs/applications/networking/mailreaders/mblaze/default.nix10
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix530
-rw-r--r--pkgs/applications/networking/mailreaders/tutanota-desktop/default.nix2
-rw-r--r--pkgs/applications/networking/n8n/default.nix4
-rw-r--r--pkgs/applications/networking/netmaker/default.nix6
-rw-r--r--pkgs/applications/networking/newsreaders/raven-reader/default.nix2
-rw-r--r--pkgs/applications/networking/nextcloud-client/0001-Explicitly-copy-dbus-files-into-the-store-dir.patch7
-rw-r--r--pkgs/applications/networking/nextcloud-client/default.nix4
-rw-r--r--pkgs/applications/networking/nextdns/default.nix6
-rw-r--r--pkgs/applications/networking/p2p/flood/default.nix8
-rw-r--r--pkgs/applications/networking/p2p/libutp/3.4.nix2
-rw-r--r--pkgs/applications/networking/p2p/storrent/default.nix2
-rw-r--r--pkgs/applications/networking/p2p/transgui/default.nix6
-rw-r--r--pkgs/applications/networking/p2p/xd/default.nix6
-rw-r--r--pkgs/applications/networking/remote/anydesk/default.nix4
-rw-r--r--pkgs/applications/networking/remote/rustdesk/default.nix2
-rw-r--r--pkgs/applications/networking/remote/vmware-horizon-client/default.nix2
-rw-r--r--pkgs/applications/networking/seaweedfs/default.nix6
-rw-r--r--pkgs/applications/networking/shellhub-agent/default.nix6
-rw-r--r--pkgs/applications/networking/station/default.nix6
-rw-r--r--pkgs/applications/networking/sync/rclone/default.nix2
-rw-r--r--pkgs/applications/networking/sync/wdt/default.nix6
-rw-r--r--pkgs/applications/networking/syncthing/default.nix2
-rw-r--r--pkgs/applications/networking/taler/default.nix147
-rw-r--r--pkgs/applications/networking/trayscale/default.nix2
-rw-r--r--pkgs/applications/networking/xpipe/default.nix4
-rw-r--r--pkgs/applications/office/appflowy/default.nix4
-rw-r--r--pkgs/applications/office/espanso/default.nix2
-rw-r--r--pkgs/applications/office/mendeley/default.nix2
-rw-r--r--pkgs/applications/office/notion-app-enhanced/default.nix7
-rw-r--r--pkgs/applications/office/p3x-onenote/default.nix7
-rw-r--r--pkgs/applications/office/paperwork/paperwork-backend.nix8
-rw-r--r--pkgs/applications/office/qownnotes/default.nix4
-rw-r--r--pkgs/applications/office/timeular/default.nix1
-rw-r--r--pkgs/applications/office/tusk/default.nix1
-rw-r--r--pkgs/applications/printing/pappl/default.nix2
-rw-r--r--pkgs/applications/radio/chirp/default.nix7
-rw-r--r--pkgs/applications/radio/dsd/default.nix2
-rw-r--r--pkgs/applications/radio/gnuradio/default.nix4
-rw-r--r--pkgs/applications/radio/quisk/default.nix4
-rw-r--r--pkgs/applications/science/astronomy/gildas/aarch64.patch12
-rw-r--r--pkgs/applications/science/astronomy/gildas/clang.patch83
-rw-r--r--pkgs/applications/science/astronomy/gildas/cpp-darwin.patch17
-rw-r--r--pkgs/applications/science/astronomy/gildas/default.nix13
-rw-r--r--pkgs/applications/science/biology/jbrowse/default.nix4
-rw-r--r--pkgs/applications/science/biology/mafft/default.nix58
-rw-r--r--pkgs/applications/science/biology/seqtk/default.nix13
-rw-r--r--pkgs/applications/science/biology/sortmerna/default.nix15
-rw-r--r--pkgs/applications/science/chemistry/pymol/default.nix62
-rw-r--r--pkgs/applications/science/electronics/kicad/versions.nix24
-rw-r--r--pkgs/applications/science/electronics/simulide/default.nix80
-rw-r--r--pkgs/applications/science/logic/cedille/default.nix2
-rw-r--r--pkgs/applications/science/logic/lean4/default.nix2
-rw-r--r--pkgs/applications/science/logic/why3/default.nix4
-rw-r--r--pkgs/applications/science/math/eigenmath/default.nix6
-rw-r--r--pkgs/applications/science/misc/gplates/default.nix4
-rw-r--r--pkgs/applications/science/misc/snakemake/default.nix4
-rw-r--r--pkgs/applications/science/physics/xnec2c/default.nix4
-rw-r--r--pkgs/applications/science/robotics/betaflight-configurator/default.nix4
-rw-r--r--pkgs/applications/terminal-emulators/x3270/default.nix69
-rw-r--r--pkgs/applications/version-management/commitizen/default.nix4
-rw-r--r--pkgs/applications/version-management/datalad/default.nix4
-rw-r--r--pkgs/applications/version-management/delta/default.nix2
-rw-r--r--pkgs/applications/version-management/gfold/default.nix29
-rw-r--r--pkgs/applications/version-management/gg/default.nix1
-rw-r--r--pkgs/applications/version-management/ghorg/default.nix4
-rw-r--r--pkgs/applications/version-management/git-absorb/default.nix2
-rw-r--r--pkgs/applications/version-management/git-backup/default.nix2
-rw-r--r--pkgs/applications/version-management/git-branchless/default.nix2
-rw-r--r--pkgs/applications/version-management/git-codereview/default.nix4
-rw-r--r--pkgs/applications/version-management/git-credential-oauth/default.nix6
-rw-r--r--pkgs/applications/version-management/git-extras/default.nix4
-rw-r--r--pkgs/applications/version-management/git-gone/default.nix2
-rw-r--r--pkgs/applications/version-management/git-lfs/default.nix2
-rw-r--r--pkgs/applications/version-management/git-mit/default.nix6
-rw-r--r--pkgs/applications/version-management/git-quick-stats/default.nix4
-rw-r--r--pkgs/applications/version-management/git-quickfix/default.nix2
-rw-r--r--pkgs/applications/version-management/git-reparent/default.nix2
-rw-r--r--pkgs/applications/version-management/git-standup/default.nix2
-rw-r--r--pkgs/applications/version-management/git-subtrac/default.nix2
-rw-r--r--pkgs/applications/version-management/git-test/default.nix2
-rw-r--r--pkgs/applications/version-management/git-town/default.nix4
-rw-r--r--pkgs/applications/version-management/git-trim/default.nix2
-rw-r--r--pkgs/applications/version-management/gitlab/data.json12
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/default.nix6
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-container-registry/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-pages/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix2
-rw-r--r--pkgs/applications/version-management/gitprompt-rs/default.nix18
-rw-r--r--pkgs/applications/version-management/lab/default.nix2
-rw-r--r--pkgs/applications/version-management/radicle-upstream/default.nix13
-rw-r--r--pkgs/applications/video/ccextractor/default.nix2
-rw-r--r--pkgs/applications/video/clapper/default.nix56
-rw-r--r--pkgs/applications/video/davinci-resolve/default.nix1
-rw-r--r--pkgs/applications/video/electronplayer/electronplayer.nix9
-rw-r--r--pkgs/applications/video/flowblade/default.nix4
-rw-r--r--pkgs/applications/video/go-chromecast/default.nix2
-rw-r--r--pkgs/applications/video/haruna/default.nix8
-rw-r--r--pkgs/applications/video/kodi/addons/keymap/default.nix4
-rw-r--r--pkgs/applications/video/kodi/addons/youtube/default.nix4
-rw-r--r--pkgs/applications/video/lbry/default.nix8
-rw-r--r--pkgs/applications/video/losslesscut-bin/build-from-appimage.nix5
-rw-r--r--pkgs/applications/video/makemkv/default.nix60
-rw-r--r--pkgs/applications/video/manim/default.nix6
-rw-r--r--pkgs/applications/video/molotov/default.nix1
-rw-r--r--pkgs/applications/video/mpv/scripts/buildLua.nix11
-rw-r--r--pkgs/applications/video/mpv/scripts/cutter.nix1
-rw-r--r--pkgs/applications/video/mpv/scripts/default.nix1
-rw-r--r--pkgs/applications/video/mpv/scripts/memo.nix26
-rw-r--r--pkgs/applications/video/mpv/scripts/mpv-webm.nix6
-rw-r--r--pkgs/applications/video/mpv/scripts/mpvacious.nix4
-rw-r--r--pkgs/applications/video/mpv/scripts/sponsorblock.nix2
-rw-r--r--pkgs/applications/video/mythtv/default.nix2
-rw-r--r--pkgs/applications/video/obs-studio/default.nix2
-rw-r--r--pkgs/applications/video/obs-studio/plugins/input-overlay.nix4
-rw-r--r--pkgs/applications/video/obs-studio/plugins/obs-backgroundremoval/default.nix32
-rw-r--r--pkgs/applications/video/obs-studio/plugins/obs-command-source.nix4
-rw-r--r--pkgs/applications/video/obs-studio/plugins/obs-shaderfilter.nix4
-rw-r--r--pkgs/applications/video/obs-studio/plugins/obs-vertical-canvas.nix4
-rw-r--r--pkgs/applications/video/openshot-qt/default.nix6
-rw-r--r--pkgs/applications/video/shotcut/default.nix4
-rw-r--r--pkgs/applications/video/vcs/default.nix2
-rw-r--r--pkgs/applications/video/vdr/default.nix4
-rw-r--r--pkgs/applications/video/wf-recorder/default.nix2
-rw-r--r--pkgs/applications/virtualization/cloud-hypervisor/Cargo.lock970
-rw-r--r--pkgs/applications/virtualization/cloud-hypervisor/default.nix18
-rw-r--r--pkgs/applications/virtualization/containerd/default.nix6
-rw-r--r--pkgs/applications/virtualization/ddev/default.nix4
-rw-r--r--pkgs/applications/virtualization/docker-slim/default.nix2
-rw-r--r--pkgs/applications/virtualization/docker/buildx.nix4
-rw-r--r--pkgs/applications/virtualization/dumb-init/default.nix2
-rw-r--r--pkgs/applications/virtualization/firecracker/default.nix2
-rw-r--r--pkgs/applications/virtualization/kraft/default.nix6
-rw-r--r--pkgs/applications/virtualization/podman/default.nix2
-rw-r--r--pkgs/applications/virtualization/qemu/default.nix4
-rw-r--r--pkgs/applications/virtualization/singularity/generic.nix297
-rw-r--r--pkgs/applications/virtualization/singularity/packages.nix155
-rw-r--r--pkgs/applications/window-managers/hackedbox/default.nix2
-rw-r--r--pkgs/applications/window-managers/hyprwm/hyprland/default.nix9
-rw-r--r--pkgs/applications/window-managers/hyprwm/hyprland/plugins.nix6
-rw-r--r--pkgs/applications/window-managers/hyprwm/hyprland/wlroots.nix13
-rw-r--r--pkgs/applications/window-managers/miriway/default.nix6
-rw-r--r--pkgs/applications/window-managers/weston/default.nix4
-rw-r--r--pkgs/build-support/appimage/default.nix13
-rw-r--r--pkgs/build-support/build-fhsenv-bubblewrap/buildFHSEnv.nix8
-rw-r--r--pkgs/build-support/build-fhsenv-bubblewrap/default.nix24
-rw-r--r--pkgs/by-name/_4/_4d-minesweeper/package.nix (renamed from pkgs/by-name/4d/4d-minesweeper/package.nix)0
-rw-r--r--pkgs/by-name/ab/ab-av1/package.nix2
-rw-r--r--pkgs/by-name/ai/airlift/package.nix4
-rw-r--r--pkgs/by-name/al/alephone-durandal/package.nix4
-rw-r--r--pkgs/by-name/al/alephone-infinity/package.nix4
-rw-r--r--pkgs/by-name/al/alephone-marathon/package.nix4
-rw-r--r--pkgs/by-name/al/alephone/package.nix6
-rw-r--r--pkgs/by-name/al/altdns/package.nix53
-rw-r--r--pkgs/by-name/al/alvr/package.nix2
-rw-r--r--pkgs/by-name/am/am2rlauncher/package.nix7
-rw-r--r--pkgs/by-name/an/antares/package.nix6
-rw-r--r--pkgs/by-name/an/anytype/package.nix4
-rw-r--r--pkgs/by-name/ap/api-linter/package.nix6
-rw-r--r--pkgs/by-name/ar/arc-browser/package.nix4
-rw-r--r--pkgs/by-name/ar/arduino-ide/package.nix2
-rw-r--r--pkgs/by-name/ar/arrow-cpp/package.nix16
-rw-r--r--pkgs/by-name/as/ast-grep/package.nix6
-rw-r--r--pkgs/by-name/at/atac/package.nix6
-rw-r--r--pkgs/by-name/au/audiness/package.nix9
-rw-r--r--pkgs/by-name/ay/ayatana-indicator-datetime/package.nix31
-rw-r--r--pkgs/by-name/be/bee/package.nix6
-rw-r--r--pkgs/by-name/be/beekeeper-studio/package.nix1
-rw-r--r--pkgs/by-name/bi/biglybt/package.nix4
-rw-r--r--pkgs/by-name/bi/bilibili/package.nix (renamed from pkgs/applications/video/bilibili/default.nix)0
-rw-r--r--pkgs/by-name/bi/bite/Cargo.lock4322
-rw-r--r--pkgs/by-name/bi/bite/package.nix110
-rw-r--r--pkgs/by-name/bl/bluetuith/package.nix2
-rw-r--r--pkgs/by-name/bn/bngblaster/package.nix4
-rw-r--r--pkgs/by-name/bp/bpftop/package.nix6
-rw-r--r--pkgs/by-name/br/bruno/package.nix6
-rw-r--r--pkgs/by-name/bt/btrfs-assistant/package.nix (renamed from pkgs/tools/misc/btrfs-assistant/default.nix)0
-rw-r--r--pkgs/by-name/bu/butt/package.nix8
-rw-r--r--pkgs/by-name/ca/caido/package.nix1
-rw-r--r--pkgs/by-name/ca/cargo-autoinherit/package.nix6
-rw-r--r--pkgs/by-name/ca/cargo-bloat/package.nix6
-rw-r--r--pkgs/by-name/ca/catppuccin-sddm-corners/package.nix (renamed from pkgs/data/themes/catppuccin-sddm-corners/default.nix)0
-rw-r--r--pkgs/by-name/ca/catppuccin/package.nix (renamed from pkgs/data/themes/catppuccin/default.nix)0
-rw-r--r--pkgs/by-name/ce/cert-viewer/package.nix19
-rw-r--r--pkgs/by-name/ch/chezmoi/package.nix53
-rw-r--r--pkgs/by-name/ch/chrysalis/package.nix2
-rw-r--r--pkgs/by-name/ci/circom/package.nix6
-rw-r--r--pkgs/by-name/cl/clash-verge-rev/package.nix4
-rw-r--r--pkgs/by-name/co/cockpit/package.nix4
-rw-r--r--pkgs/by-name/co/codux/package.nix (renamed from pkgs/applications/editors/codux/default.nix)5
-rw-r--r--pkgs/by-name/co/converseen/package.nix4
-rw-r--r--pkgs/by-name/co/cowsql/package.nix2
-rw-r--r--pkgs/by-name/cr/crunchy-cli/Cargo.lock50
-rw-r--r--pkgs/by-name/cr/crunchy-cli/package.nix4
-rw-r--r--pkgs/by-name/cs/csvlens/package.nix6
-rw-r--r--pkgs/by-name/cu/cue/package.nix7
-rw-r--r--pkgs/by-name/cu/cups-printers/package.nix32
-rw-r--r--pkgs/by-name/cu/cursewords/package.nix2
-rw-r--r--pkgs/by-name/de/delfin/package.nix8
-rw-r--r--pkgs/by-name/de/devenv/package.nix10
-rw-r--r--pkgs/by-name/di/discordchatexporter-cli/deps.nix23
-rw-r--r--pkgs/by-name/di/discordchatexporter-cli/package.nix4
-rw-r--r--pkgs/by-name/di/disko/package.nix4
-rw-r--r--pkgs/by-name/di/dissent/package.nix6
-rw-r--r--pkgs/by-name/do/dooit/package.nix (renamed from pkgs/tools/misc/dooit/default.nix)0
-rw-r--r--pkgs/by-name/du/dumbpipe/package.nix34
-rw-r--r--pkgs/by-name/dx/dxvk/package.nix83
-rw-r--r--pkgs/by-name/dx/dxvk/setup_dxvk.sh89
-rw-r--r--pkgs/by-name/dx/dxvk_1/package.nix60
-rw-r--r--pkgs/by-name/dx/dxvk_2/package.nix60
-rw-r--r--pkgs/by-name/dy/dynamodb-local/package.nix6
-rw-r--r--pkgs/by-name/ek/eksctl/package.nix6
-rw-r--r--pkgs/by-name/ez/eza/package.nix6
-rw-r--r--pkgs/by-name/fa/fastfetch/package.nix (renamed from pkgs/tools/misc/fastfetch/default.nix)13
-rw-r--r--pkgs/by-name/fe/feather/package.nix4
-rw-r--r--pkgs/by-name/ff/fflogs/package.nix37
-rw-r--r--pkgs/by-name/fi/files-cli/package.nix6
-rw-r--r--pkgs/by-name/fm/fmtoy/package.nix6
-rw-r--r--pkgs/by-name/fn/fnott/package.nix4
-rw-r--r--pkgs/by-name/fo/forgejo/package-json-npm-build-frontend.patch (renamed from pkgs/applications/version-management/forgejo/package-json-npm-build-frontend.patch)10
-rw-r--r--pkgs/by-name/fo/forgejo/package.nix (renamed from pkgs/applications/version-management/forgejo/default.nix)26
-rw-r--r--pkgs/by-name/fo/forgejo/static-root-path.patch (renamed from pkgs/applications/version-management/forgejo/static-root-path.patch)8
-rw-r--r--pkgs/by-name/fr/frankenphp/package.nix6
-rw-r--r--pkgs/by-name/fw/fwupd/package.nix4
-rw-r--r--pkgs/by-name/ga/gamescope/package.nix6
-rw-r--r--pkgs/by-name/ga/garnet/package.nix4
-rw-r--r--pkgs/by-name/gh/gh-notify/package.nix6
-rw-r--r--pkgs/by-name/gi/gitlab-ci-local/package.nix6
-rw-r--r--pkgs/by-name/gi/gitu/package.nix6
-rw-r--r--pkgs/by-name/go/go-camo/package.nix4
-rw-r--r--pkgs/by-name/go/gophish/package.nix30
-rw-r--r--pkgs/by-name/go/got/package.nix (renamed from pkgs/applications/version-management/got/default.nix)19
-rw-r--r--pkgs/by-name/gr/grafana-kiosk/package.nix23
-rw-r--r--pkgs/by-name/gr/graphene-hardened-malloc/package.nix (renamed from pkgs/development/libraries/graphene-hardened-malloc/default.nix)28
-rw-r--r--pkgs/by-name/gr/graphite-cli/package-lock.json4
-rw-r--r--pkgs/by-name/gr/graphite-cli/package.nix6
-rw-r--r--pkgs/by-name/gr/gruvbox-plus-icons/package.nix10
-rw-r--r--pkgs/by-name/gr/grype/package.nix (renamed from pkgs/tools/security/grype/default.nix)6
-rw-r--r--pkgs/by-name/gt/gtk-session-lock/package.nix57
-rw-r--r--pkgs/by-name/gv/gvisor/package.nix2
-rw-r--r--pkgs/by-name/ha/hamtransfer/package.nix42
-rw-r--r--pkgs/by-name/ha/hashid/package.nix25
-rw-r--r--pkgs/by-name/hb/hb-honeypot/package.nix38
-rw-r--r--pkgs/by-name/hi/hifile/package.nix2
-rw-r--r--pkgs/by-name/ho/home-manager/package.nix6
-rw-r--r--pkgs/by-name/ho/hoppscotch/package.nix2
-rw-r--r--pkgs/by-name/ht/htb-toolkit/package.nix25
-rw-r--r--pkgs/by-name/hu/hugo/package.nix6
-rw-r--r--pkgs/by-name/hy/hyprland-activewindow/package.nix24
-rw-r--r--pkgs/by-name/hy/hyprland-monitor-attached/package.nix6
-rw-r--r--pkgs/by-name/hy/hyprland-workspaces/package.nix28
-rw-r--r--pkgs/by-name/hy/hyprlock/cmake.patch15
-rw-r--r--pkgs/by-name/hy/hyprlock/package.nix9
-rw-r--r--pkgs/by-name/i3/i3bar-river/package.nix6
-rw-r--r--pkgs/by-name/ic/icloudpd/package.nix4
-rw-r--r--pkgs/by-name/im/immersed-vr/linux.nix4
-rw-r--r--pkgs/by-name/in/integresql/package.nix2
-rw-r--r--pkgs/by-name/ir/iredis/package.nix2
-rw-r--r--pkgs/by-name/is/iscc/package.nix63
-rw-r--r--pkgs/by-name/ja/jan/package.nix5
-rw-r--r--pkgs/by-name/je/jetbrains-toolbox/package.nix2
-rw-r--r--pkgs/by-name/ji/jigmo/package.nix2
-rw-r--r--pkgs/by-name/jn/jnv/package.nix6
-rw-r--r--pkgs/by-name/ka/karmor/package.nix (renamed from pkgs/applications/networking/cluster/karmor/default.nix)0
-rw-r--r--pkgs/by-name/kc/kchat/package.nix2
-rw-r--r--pkgs/by-name/kd/kdotool/package.nix30
-rw-r--r--pkgs/by-name/km/kmeet/package.nix2
-rw-r--r--pkgs/by-name/ko/koodo-reader/package.nix5
-rw-r--r--pkgs/by-name/la/labelle/package.nix6
-rw-r--r--pkgs/by-name/la/labwc-tweaks-gtk/package.nix54
-rw-r--r--pkgs/by-name/la/labwc-tweaks/package.nix32
-rw-r--r--pkgs/by-name/la/laudanum/package.nix31
-rw-r--r--pkgs/by-name/le/ledger/package.nix2
-rw-r--r--pkgs/by-name/le/lexical/package.nix7
-rw-r--r--pkgs/by-name/li/libdict/package.nix2
-rw-r--r--pkgs/by-name/li/libgedit-gfls/package.nix55
-rw-r--r--pkgs/by-name/li/libgedit-gtksourceview/package.nix4
-rw-r--r--pkgs/by-name/li/libgedit-tepl/package.nix (renamed from pkgs/development/libraries/tepl/default.nix)33
-rw-r--r--pkgs/by-name/li/libmamba/package.nix60
-rw-r--r--pkgs/by-name/li/libscfg/package.nix24
-rw-r--r--pkgs/by-name/li/libstrophe/package.nix1
-rw-r--r--pkgs/by-name/li/libui-ng/package.nix2
-rw-r--r--pkgs/by-name/li/limine/package.nix4
-rw-r--r--pkgs/by-name/li/listen1/package.nix1
-rw-r--r--pkgs/by-name/li/littlefs-fuse/package.nix4
-rw-r--r--pkgs/by-name/li/live555/package.nix31
-rw-r--r--pkgs/by-name/li/livekit-cli/package.nix6
-rw-r--r--pkgs/by-name/li/livekit/package.nix6
-rw-r--r--pkgs/by-name/ll/llama-cpp/package.nix4
-rw-r--r--pkgs/by-name/ll/llm-ls/package.nix12
-rw-r--r--pkgs/by-name/lm/lmstudio/package.nix5
-rw-r--r--pkgs/by-name/lo/local-ai/lib.nix30
-rw-r--r--pkgs/by-name/lo/local-ai/module.nix56
-rw-r--r--pkgs/by-name/lo/local-ai/package.nix40
-rw-r--r--pkgs/by-name/lo/local-ai/tests.nix288
-rw-r--r--pkgs/by-name/lp/lprint/package.nix2
-rw-r--r--pkgs/by-name/lu/lubelogger/package.nix4
-rw-r--r--pkgs/by-name/lu/lunacy/package.nix4
-rw-r--r--pkgs/by-name/lu/lunar-client/package.nix5
-rw-r--r--pkgs/by-name/lx/lx-music-desktop/package.nix88
-rw-r--r--pkgs/by-name/lx/lxc/4428.diff78
-rw-r--r--pkgs/by-name/lx/lxc/docbook-hack.patch (renamed from pkgs/os-specific/linux/lxc/docbook-hack.patch)0
-rw-r--r--pkgs/by-name/lx/lxc/package.nix (renamed from pkgs/os-specific/linux/lxc/default.nix)28
-rw-r--r--pkgs/by-name/lx/lxgw-neoxihei/package.nix4
-rw-r--r--pkgs/by-name/ma/maa-cli/package.nix6
-rw-r--r--pkgs/by-name/ma/mac-robber/package.nix43
-rw-r--r--pkgs/by-name/ma/makima/package.nix6
-rw-r--r--pkgs/by-name/ma/maltego/package.nix16
-rw-r--r--pkgs/by-name/ma/markdown-oxide/package.nix4
-rw-r--r--pkgs/by-name/ma/marwaita-x/package.nix48
-rw-r--r--pkgs/by-name/ma/mathemagix/package.nix48
-rw-r--r--pkgs/by-name/mc/mcap-cli/package.nix6
-rw-r--r--pkgs/by-name/me/megapixels/package.nix4
-rw-r--r--pkgs/by-name/me/melonDS/package.nix (renamed from pkgs/applications/emulators/melonDS/default.nix)30
-rw-r--r--pkgs/by-name/mg/mgba/package.nix (renamed from pkgs/applications/emulators/mgba/default.nix)37
-rw-r--r--pkgs/by-name/mi/mihomo/package.nix6
-rw-r--r--pkgs/by-name/mi/mimikatz/package.nix31
-rw-r--r--pkgs/by-name/mi/mini-calc/package.nix27
-rw-r--r--pkgs/by-name/mi/minijinja/package.nix6
-rw-r--r--pkgs/by-name/mi/miru/package.nix5
-rw-r--r--pkgs/by-name/mi/missidentify/fix-darwin-build.patch11
-rw-r--r--pkgs/by-name/mi/missidentify/package.nix56
-rw-r--r--pkgs/by-name/mi/mixxc/package.nix67
-rw-r--r--pkgs/by-name/mk/mkjson/generated.nix46
-rw-r--r--pkgs/by-name/mk/mkjson/package.nix1
-rw-r--r--pkgs/by-name/mo/mo/package.nix36
-rw-r--r--pkgs/by-name/mo/monophony/package.nix4
-rw-r--r--pkgs/by-name/mo/movim/package.nix73
-rw-r--r--pkgs/by-name/mq/mqttx/package.nix1
-rw-r--r--pkgs/by-name/my/mystmd/package.nix2
-rw-r--r--pkgs/by-name/na/nanoboyadvance/dont-fetch-glad.patch14
-rw-r--r--pkgs/by-name/na/nanoboyadvance/package.nix66
-rw-r--r--pkgs/by-name/na/nawk/package.nix4
-rw-r--r--pkgs/by-name/ne/netclient/package.nix6
-rw-r--r--pkgs/by-name/ng/nginx-language-server/package.nix44
-rw-r--r--pkgs/by-name/ng/nginx-sso/package.nix (renamed from pkgs/servers/nginx-sso/default.nix)2
-rw-r--r--pkgs/by-name/ni/nimdow/package.nix10
-rw-r--r--pkgs/by-name/ni/nimlsp/package.nix2
-rw-r--r--pkgs/by-name/ni/nix-web/package.nix21
-rw-r--r--pkgs/by-name/ni/nixos-anywhere/package.nix8
-rw-r--r--pkgs/by-name/no/nom/package.nix6
-rw-r--r--pkgs/by-name/no/nosql-workbench/package.nix3
-rw-r--r--pkgs/by-name/nr/nray/package.nix37
-rw-r--r--pkgs/by-name/oc/ocis-bin/package.nix2
-rw-r--r--pkgs/by-name/oe/oelint-adv/package.nix4
-rw-r--r--pkgs/by-name/ol/olvid/package.nix4
-rw-r--r--pkgs/by-name/om/omnictl/package.nix6
-rw-r--r--pkgs/by-name/on/onlyoffice-bin_latest/package.nix3
-rw-r--r--pkgs/by-name/op/openpomodoro-cli/package.nix33
-rw-r--r--pkgs/by-name/op/openrocket/package.nix2
-rw-r--r--pkgs/by-name/op/opensplat/package.nix89
-rw-r--r--pkgs/by-name/op/openvas-scanner/package.nix4
-rw-r--r--pkgs/by-name/op/openvswitch/generic.nix (renamed from pkgs/os-specific/linux/openvswitch/generic.nix)78
-rw-r--r--pkgs/by-name/op/openvswitch/lts.nix (renamed from pkgs/os-specific/linux/openvswitch/lts.nix)0
-rw-r--r--pkgs/by-name/op/openvswitch/package.nix (renamed from pkgs/os-specific/linux/openvswitch/default.nix)0
-rw-r--r--pkgs/by-name/op/openvswitch/patches/disable-bash-arg-completion-test.patch (renamed from pkgs/os-specific/linux/openvswitch/patches/disable-bash-arg-completion-test.patch)0
-rw-r--r--pkgs/by-name/op/openvswitch/patches/fix-python313.patch12
-rwxr-xr-xpkgs/by-name/op/openvswitch/update.nu (renamed from pkgs/os-specific/linux/openvswitch/update.nu)6
-rw-r--r--pkgs/by-name/or/orchard/package.nix6
-rw-r--r--pkgs/by-name/ot/oterm/package.nix4
-rw-r--r--pkgs/by-name/pa/parallel-hashmap/package.nix49
-rw-r--r--pkgs/by-name/pa/paratest/package.nix2
-rw-r--r--pkgs/by-name/pa/parsify/package.nix2
-rw-r--r--pkgs/by-name/pd/pdfannots/package.nix2
-rw-r--r--pkgs/by-name/pd/pdns-recursor/package.nix (renamed from pkgs/servers/dns/pdns-recursor/default.nix)4
-rw-r--r--pkgs/by-name/pe/peergos/package.nix55
-rw-r--r--pkgs/by-name/pe/perf_data_converter/package.nix2
-rw-r--r--pkgs/by-name/pe/pest/package.nix2
-rw-r--r--pkgs/by-name/pg/pgagroal/package.nix2
-rw-r--r--pkgs/by-name/pg/pgcopydb/package.nix2
-rw-r--r--pkgs/by-name/pg/pgmoneta/package.nix6
-rw-r--r--pkgs/by-name/ph/phpactor/package.nix2
-rw-r--r--pkgs/by-name/ph/phpunit/package.nix2
-rw-r--r--pkgs/by-name/pi/piv-agent/package.nix2
-rw-r--r--pkgs/by-name/pi/pixi/Cargo.lock846
-rw-r--r--pkgs/by-name/pi/pixi/package.nix12
-rw-r--r--pkgs/by-name/pl/plasticity/package.nix4
-rw-r--r--pkgs/by-name/po/polybar/package.nix3
-rw-r--r--pkgs/by-name/po/powersploit/package.nix6
-rw-r--r--pkgs/by-name/pr/promptfoo/package.nix6
-rw-r--r--pkgs/by-name/pr/protoc-gen-js/package.nix2
-rw-r--r--pkgs/by-name/pw/pwndbg/package.nix22
-rw-r--r--pkgs/by-name/pw/pwru/package.nix4
-rw-r--r--pkgs/by-name/py/pyprland/package.nix4
-rw-r--r--pkgs/by-name/py/pyright/package.nix8
-rw-r--r--pkgs/by-name/qr/qrtool/package.nix6
-rw-r--r--pkgs/by-name/qu/quarkus/package.nix4
-rw-r--r--pkgs/by-name/qu/quickjs-ng/package.nix2
-rw-r--r--pkgs/by-name/qu/quicktype/package.nix2
-rw-r--r--pkgs/by-name/ra/rage/package.nix2
-rw-r--r--pkgs/by-name/re/regal/package.nix23
-rw-r--r--pkgs/by-name/re/renode-unstable/package.nix4
-rw-r--r--pkgs/by-name/re/retool/package.nix9
-rw-r--r--pkgs/by-name/ri/rifiuti/package.nix64
-rw-r--r--pkgs/by-name/ri/ripsecrets/package.nix6
-rw-r--r--pkgs/by-name/rm/rmenu/Cargo.lock260
-rw-r--r--pkgs/by-name/rm/rmenu/package.nix4
-rw-r--r--pkgs/by-name/ro/route-graph/package.nix10
-rw-r--r--pkgs/by-name/rp/rpcs3/package.nix8
-rw-r--r--pkgs/by-name/rq/rqbit/Cargo.lock187
-rw-r--r--pkgs/by-name/rq/rqbit/package.nix6
-rw-r--r--pkgs/by-name/sc/scalingo/package.nix4
-rw-r--r--pkgs/by-name/se/sendme/package.nix6
-rw-r--r--pkgs/by-name/sh/shopware-cli/package.nix6
-rw-r--r--pkgs/by-name/si/simdutf/package.nix4
-rw-r--r--pkgs/by-name/si/simplex-chat-desktop/package.nix2
-rw-r--r--pkgs/by-name/si/simplotask/package.nix4
-rw-r--r--pkgs/by-name/sk/sketchybar-app-font/package.nix (renamed from pkgs/data/fonts/sketchybar-app-font/default.nix)0
-rw-r--r--pkgs/by-name/sk/sketchybar/package.nix (renamed from pkgs/os-specific/darwin/sketchybar/default.nix)57
-rw-r--r--pkgs/by-name/sk/skhd/org.nixos.skhd.plist (renamed from pkgs/os-specific/darwin/skhd/org.nixos.skhd.plist)0
-rw-r--r--pkgs/by-name/sk/skhd/package.nix (renamed from pkgs/os-specific/darwin/skhd/default.nix)32
-rw-r--r--pkgs/by-name/sk/skimpdf/package.nix36
-rw-r--r--pkgs/by-name/sl/slimserver/package.nix206
-rw-r--r--pkgs/by-name/sn/snapcraft/package.nix4
-rw-r--r--pkgs/by-name/sn/snes9x/package.nix (renamed from pkgs/applications/emulators/snes9x/default.nix)123
-rw-r--r--pkgs/by-name/sn/snipe-it/package.nix2
-rw-r--r--pkgs/by-name/so/solana-cli/package.nix3
-rw-r--r--pkgs/by-name/so/soupault/package.nix10
-rw-r--r--pkgs/by-name/sp/spacedrive/package.nix3
-rw-r--r--pkgs/by-name/st/stackit-cli/package.nix25
-rw-r--r--pkgs/by-name/st/stats/package.nix18
-rw-r--r--pkgs/by-name/st/stduuid/package.nix (renamed from pkgs/development/libraries/stduuid/default.nix)14
-rw-r--r--pkgs/by-name/st/step-cli/package.nix41
-rw-r--r--pkgs/by-name/st/stirling-pdf/package.nix4
-rw-r--r--pkgs/by-name/st/stlink-tool/package.nix41
-rw-r--r--pkgs/by-name/st/strictdoc/package.nix4
-rw-r--r--pkgs/by-name/st/sttr/package.nix6
-rw-r--r--pkgs/by-name/su/supersonic/package.nix6
-rw-r--r--pkgs/by-name/su/surrealdb/package.nix5
-rw-r--r--pkgs/by-name/sw/sway-unwrapped/package.nix2
-rw-r--r--pkgs/by-name/sw/swaybg/package.nix4
-rw-r--r--pkgs/by-name/sw/swayimg/package.nix2
-rw-r--r--pkgs/by-name/sy/syft/package.nix (renamed from pkgs/tools/admin/syft/default.nix)6
-rw-r--r--pkgs/by-name/sy/symfony-cli/package.nix6
-rw-r--r--pkgs/by-name/sy/syslogng/package.nix4
-rw-r--r--pkgs/by-name/ta/tailscale-nginx-auth/package.nix6
-rw-r--r--pkgs/by-name/ta/taler-exchange/package.nix97
-rw-r--r--pkgs/by-name/ta/taler-merchant/package.nix88
-rw-r--r--pkgs/by-name/ta/taskwarrior3/package.nix5
-rw-r--r--pkgs/by-name/te/tenki/package.nix6
-rw-r--r--pkgs/by-name/te/tenv/package.nix4
-rw-r--r--pkgs/by-name/te/terraform-compliance/package.nix (renamed from pkgs/applications/networking/cluster/terraform-compliance/default.nix)0
-rw-r--r--pkgs/by-name/te/terraform-plugin-docs/package.nix6
-rw-r--r--pkgs/by-name/te/terragrunt/package.nix (renamed from pkgs/applications/networking/cluster/terragrunt/default.nix)6
-rw-r--r--pkgs/by-name/te/tetrio-desktop/package.json22
-rw-r--r--pkgs/by-name/te/tetrio-desktop/package.nix9
-rw-r--r--pkgs/by-name/te/tetrio-desktop/tetrio-plus.nix22
-rw-r--r--pkgs/by-name/te/tetrio-desktop/yarn.lock348
-rw-r--r--pkgs/by-name/ti/tilemaker/package.nix2
-rw-r--r--pkgs/by-name/ti/tinymist/Cargo.lock102
-rw-r--r--pkgs/by-name/ti/tinymist/package.nix4
-rw-r--r--pkgs/by-name/tl/tlrc/package.nix6
-rw-r--r--pkgs/by-name/to/tootik/package.nix4
-rw-r--r--pkgs/by-name/to/torctl/package.nix32
-rw-r--r--pkgs/by-name/tr/trickest-cli/package.nix33
-rw-r--r--pkgs/by-name/tu/tuifimanager/package.nix7
-rw-r--r--pkgs/by-name/tw/twitch-dl/package.nix6
-rw-r--r--pkgs/by-name/ue/ueviewer/package.nix97
-rw-r--r--pkgs/by-name/un/unciv/package.nix4
-rw-r--r--pkgs/by-name/un/universal-android-debloater/package.nix6
-rw-r--r--pkgs/by-name/up/updatecli/package.nix6
-rw-r--r--pkgs/by-name/up/uplosi/package.nix6
-rw-r--r--pkgs/by-name/uv/uv/Cargo.lock48
-rw-r--r--pkgs/by-name/uv/uv/package.nix6
-rw-r--r--pkgs/by-name/va/valkey/package.nix85
-rw-r--r--pkgs/by-name/va/valkey/use_system_jemalloc.patch15
-rw-r--r--pkgs/by-name/vc/vcpkg-tool/package.nix4
-rw-r--r--pkgs/by-name/ve/vencord/package-lock.json59
-rw-r--r--pkgs/by-name/ve/vencord/package.nix8
-rw-r--r--pkgs/by-name/ve/vesktop/package.nix17
-rw-r--r--pkgs/by-name/wa/waybar/package.nix (renamed from pkgs/applications/misc/waybar/default.nix)4
-rw-r--r--pkgs/by-name/wa/waycheck/package.nix2
-rw-r--r--pkgs/by-name/wh/whatsapp-emoji-font/package.nix4
-rw-r--r--pkgs/by-name/wh/whistle/package.nix2
-rw-r--r--pkgs/by-name/wi/wiremock/package.nix4
-rw-r--r--pkgs/by-name/wl/wl-clip-persist/package.nix36
-rw-r--r--pkgs/by-name/wl/wljoywake/package.nix48
-rw-r--r--pkgs/by-name/wl/wlogout/package.nix4
-rw-r--r--pkgs/by-name/wo/workout-tracker/package.nix4
-rw-r--r--pkgs/by-name/wt/wttrbar/package.nix (renamed from pkgs/applications/misc/wttrbar/default.nix)0
-rw-r--r--pkgs/by-name/xc/xclicker/package.nix15
-rw-r--r--pkgs/by-name/xe/xeol/package.nix6
-rw-r--r--pkgs/by-name/xe/xeve/package.nix4
-rw-r--r--pkgs/by-name/xi/xiu/package.nix2
-rw-r--r--pkgs/by-name/xl/xlights/package.nix (renamed from pkgs/applications/misc/xlights/default.nix)4
-rw-r--r--pkgs/by-name/xp/xplr/package.nix2
-rw-r--r--pkgs/by-name/ya/yabai/package.nix (renamed from pkgs/os-specific/darwin/yabai/default.nix)124
-rw-r--r--pkgs/by-name/ya/yamlscript/package.nix4
-rw-r--r--pkgs/by-name/ya/yazi-unwrapped/package.nix9
-rw-r--r--pkgs/by-name/za/zapzap/package.nix4
-rw-r--r--pkgs/by-name/ze/zed-editor/Cargo.lock792
-rw-r--r--pkgs/by-name/ze/zed-editor/package.nix17
-rw-r--r--pkgs/by-name/zp/zpaqfranz/package.nix4
-rw-r--r--pkgs/common-updater/unstable-updater.nix224
-rw-r--r--pkgs/data/documentation/scheme-manpages/default.nix2
-rw-r--r--pkgs/data/fonts/3270font/default.nix2
-rw-r--r--pkgs/data/fonts/barlow/default.nix2
-rw-r--r--pkgs/data/fonts/cascadia-code/default.nix2
-rw-r--r--pkgs/data/fonts/cooper-hewitt/default.nix2
-rw-r--r--pkgs/data/fonts/cozette/default.nix2
-rw-r--r--pkgs/data/fonts/font-awesome/default.nix4
-rw-r--r--pkgs/data/fonts/fraunces/default.nix2
-rw-r--r--pkgs/data/fonts/ia-writer-duospace/default.nix2
-rw-r--r--pkgs/data/fonts/iosevka/bin.nix2
-rw-r--r--pkgs/data/fonts/iosevka/variants.nix180
-rw-r--r--pkgs/data/fonts/jetbrains-mono/default.nix2
-rw-r--r--pkgs/data/fonts/martian-mono/default.nix2
-rw-r--r--pkgs/data/fonts/rhodium-libre/default.nix2
-rw-r--r--pkgs/data/fonts/work-sans/default.nix2
-rw-r--r--pkgs/data/fonts/xkcd-font/default.nix2
-rw-r--r--pkgs/data/icons/numix-icon-theme-circle/default.nix4
-rw-r--r--pkgs/data/icons/numix-icon-theme-square/default.nix4
-rw-r--r--pkgs/data/icons/numix-icon-theme/default.nix4
-rw-r--r--pkgs/data/icons/tau-hydrogen/default.nix2
-rw-r--r--pkgs/data/icons/tela-icon-theme/default.nix4
-rw-r--r--pkgs/data/misc/cldr-annotations/default.nix6
-rw-r--r--pkgs/data/misc/hackage/pin.json8
-rw-r--r--pkgs/data/misc/v2ray-domain-list-community/default.nix11
-rw-r--r--pkgs/data/themes/alacritty-theme/default.nix14
-rw-r--r--pkgs/data/themes/dracula-theme/default.nix8
-rw-r--r--pkgs/data/themes/fluent-gtk-theme/default.nix20
-rw-r--r--pkgs/data/themes/kwin-decorations/kde-rounded-corners/default.nix4
-rw-r--r--pkgs/data/themes/onestepback/default.nix12
-rw-r--r--pkgs/desktops/gnome/extensions/pop-shell/fix-gjs.patch12
-rw-r--r--pkgs/desktops/gnome/extensions/valent/default.nix2
-rw-r--r--pkgs/desktops/lomiri/applications/lomiri-system-settings/default.nix36
-rw-r--r--pkgs/desktops/lomiri/qml/lomiri-ui-toolkit/2001-Mark-problematic-tests.patch25
-rw-r--r--pkgs/desktops/lomiri/qml/lomiri-ui-toolkit/default.nix38
-rw-r--r--pkgs/desktops/plasma-5/3rdparty/addons/polonium.nix6
-rw-r--r--pkgs/desktops/xfce/core/libxfce4windowing/default.nix2
-rw-r--r--pkgs/development/beam-modules/erlang-ls/default.nix4
-rw-r--r--pkgs/development/beam-modules/erlang-ls/rebar-deps.nix9
-rw-r--r--pkgs/development/beam-modules/ex_doc/default.nix2
-rw-r--r--pkgs/development/compilers/c0/default.nix2
-rw-r--r--pkgs/development/compilers/chicken/5/overrides.nix36
-rw-r--r--pkgs/development/compilers/circt/circt-llvm.nix4
-rw-r--r--pkgs/development/compilers/corretto/11.nix19
-rw-r--r--pkgs/development/compilers/corretto/21.nix26
-rw-r--r--pkgs/development/compilers/corretto/mk-corretto.nix6
-rw-r--r--pkgs/development/compilers/dart/package-source-builders/default.nix1
-rw-r--r--pkgs/development/compilers/dart/package-source-builders/sqlite3/default.nix30
-rw-r--r--pkgs/development/compilers/dart/sources.nix12
-rw-r--r--pkgs/development/compilers/dotnet/build-dotnet.nix11
-rw-r--r--pkgs/development/compilers/dotnet/common.nix15
-rw-r--r--pkgs/development/compilers/erg/default.nix6
-rw-r--r--pkgs/development/compilers/ghc/8.10.7.nix10
-rw-r--r--pkgs/development/compilers/ghc/common-hadrian.nix7
-rw-r--r--pkgs/development/compilers/ghcjs/8.10/common-overrides.nix1
-rw-r--r--pkgs/development/compilers/inklecate/default.nix2
-rw-r--r--pkgs/development/compilers/llvm/18/default.nix2
-rw-r--r--pkgs/development/compilers/mruby/default.nix2
-rw-r--r--pkgs/development/compilers/sbcl/default.nix36
-rw-r--r--pkgs/development/compilers/typescript/default.nix2
-rw-r--r--pkgs/development/compilers/vala/default.nix2
-rw-r--r--pkgs/development/compilers/zig/hook.nix4
-rw-r--r--pkgs/development/compilers/zz/default.nix2
-rw-r--r--pkgs/development/coq-modules/coq-lsp/default.nix2
-rw-r--r--pkgs/development/coq-modules/corn/default.nix2
-rw-r--r--pkgs/development/coq-modules/math-classes/default.nix2
-rw-r--r--pkgs/development/embedded/arduino/arduino-core/default.nix3
-rw-r--r--pkgs/development/embedded/fpga/openfpgaloader/default.nix2
-rw-r--r--pkgs/development/embedded/stm32/stm32cubemx/default.nix6
-rw-r--r--pkgs/development/haskell-modules/cabal2nix-unstable.nix6
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix32
-rw-r--r--pkgs/development/haskell-modules/configuration-darwin.nix11
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-9.8.x.nix2
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml5
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml15
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml36
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml6
-rw-r--r--pkgs/development/haskell-modules/configuration-nix.nix72
-rw-r--r--pkgs/development/haskell-modules/generic-builder.nix30
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix972
-rw-r--r--pkgs/development/haskell-modules/patches/git-annex-no-usr-prefix.patch13
-rw-r--r--pkgs/development/interpreters/boron/default.nix4
-rw-r--r--pkgs/development/interpreters/clojure/default.nix4
-rw-r--r--pkgs/development/interpreters/erlang/27-rc2.nix6
-rw-r--r--pkgs/development/interpreters/erlang/27-rc3.nix6
-rw-r--r--pkgs/development/interpreters/janet/default.nix4
-rw-r--r--pkgs/development/interpreters/luau/default.nix2
-rw-r--r--pkgs/development/interpreters/nelua/default.nix8
-rw-r--r--pkgs/development/interpreters/python/cpython/2.7/default.nix1
-rw-r--r--pkgs/development/interpreters/python/cpython/default.nix1
-rw-r--r--pkgs/development/interpreters/rakudo/zef.nix4
-rw-r--r--pkgs/development/interpreters/ruby/default.nix6
-rw-r--r--pkgs/development/interpreters/wamr/default.nix4
-rw-r--r--pkgs/development/interpreters/wasmtime/default.nix7
-rw-r--r--pkgs/development/interpreters/zuo/default.nix2
-rw-r--r--pkgs/development/libraries/SDL2/default.nix2
-rw-r--r--pkgs/development/libraries/SDL2_mixer/default.nix2
-rw-r--r--pkgs/development/libraries/SDL2_net/default.nix2
-rw-r--r--pkgs/development/libraries/accounts-qt/default.nix20
-rw-r--r--pkgs/development/libraries/adns/default.nix1
-rw-r--r--pkgs/development/libraries/audio/mbelib/default.nix2
-rw-r--r--pkgs/development/libraries/audio/rtaudio/default.nix1
-rw-r--r--pkgs/development/libraries/audio/zix/default.nix5
-rw-r--r--pkgs/development/libraries/ayatana-ido/default.nix4
-rw-r--r--pkgs/development/libraries/babl/default.nix29
-rw-r--r--pkgs/development/libraries/babl/dev-prefix.patch29
-rw-r--r--pkgs/development/libraries/c-blosc/1.nix2
-rw-r--r--pkgs/development/libraries/c-blosc/2.nix2
-rw-r--r--pkgs/development/libraries/catboost/default.nix30
-rw-r--r--pkgs/development/libraries/catboost/remove-conan.patch16
-rw-r--r--pkgs/development/libraries/cista/default.nix9
-rw-r--r--pkgs/development/libraries/codec2/default.nix10
-rw-r--r--pkgs/development/libraries/coost/default.nix21
-rw-r--r--pkgs/development/libraries/ctranslate2/default.nix4
-rw-r--r--pkgs/development/libraries/dbus-cplusplus/default.nix7
-rw-r--r--pkgs/development/libraries/draco/default.nix2
-rw-r--r--pkgs/development/libraries/fizz/default.nix2
-rw-r--r--pkgs/development/libraries/giflib/default.nix4
-rw-r--r--pkgs/development/libraries/gnu-efi/default.nix4
-rw-r--r--pkgs/development/libraries/grpc/default.nix2
-rw-r--r--pkgs/development/libraries/gtk/3.x.nix2
-rw-r--r--pkgs/development/libraries/gusb/default.nix4
-rw-r--r--pkgs/development/libraries/howard-hinnant-date/default.nix7
-rw-r--r--pkgs/development/libraries/hunspell/dictionaries.nix6
-rw-r--r--pkgs/development/libraries/jansson/default.nix2
-rw-r--r--pkgs/development/libraries/kddockwidgets/default.nix18
-rw-r--r--pkgs/development/libraries/leatherman/default.nix4
-rw-r--r--pkgs/development/libraries/level-zero/default.nix4
-rw-r--r--pkgs/development/libraries/libaccounts-glib/default.nix14
-rw-r--r--pkgs/development/libraries/libcec/default.nix2
-rw-r--r--pkgs/development/libraries/libcec/platform.nix2
-rw-r--r--pkgs/development/libraries/libdatachannel/default.nix4
-rw-r--r--pkgs/development/libraries/libeatmydata/default.nix11
-rw-r--r--pkgs/development/libraries/libfyaml/default.nix2
-rw-r--r--pkgs/development/libraries/libglibutil/default.nix4
-rw-r--r--pkgs/development/libraries/libhdhomerun/default.nix2
-rw-r--r--pkgs/development/libraries/libimagequant/default.nix2
-rw-r--r--pkgs/development/libraries/libime/default.nix10
-rw-r--r--pkgs/development/libraries/libjxl/default.nix5
-rw-r--r--pkgs/development/libraries/libkqueue/default.nix2
-rw-r--r--pkgs/development/libraries/liboqs/default.nix15
-rw-r--r--pkgs/development/libraries/libowlevelzs/default.nix2
-rw-r--r--pkgs/development/libraries/libpg_query/default.nix2
-rw-r--r--pkgs/development/libraries/libqb/default.nix10
-rw-r--r--pkgs/development/libraries/librime/default.nix4
-rw-r--r--pkgs/development/libraries/libsolv/default.nix4
-rw-r--r--pkgs/development/libraries/libsv/default.nix9
-rw-r--r--pkgs/development/libraries/libucontext/default.nix2
-rw-r--r--pkgs/development/libraries/libuv/default.nix2
-rw-r--r--pkgs/development/libraries/libvgm/default.nix6
-rw-r--r--pkgs/development/libraries/libvisual/default.nix3
-rw-r--r--pkgs/development/libraries/libvmaf/default.nix2
-rw-r--r--pkgs/development/libraries/llhttp/default.nix2
-rw-r--r--pkgs/development/libraries/miniz/default.nix34
-rw-r--r--pkgs/development/libraries/mpich/default.nix4
-rw-r--r--pkgs/development/libraries/ncnn/default.nix4
-rw-r--r--pkgs/development/libraries/ogre/default.nix4
-rw-r--r--pkgs/development/libraries/openexr/3.nix5
-rw-r--r--pkgs/development/libraries/openexr/disable-iex-test.patch16
-rw-r--r--pkgs/development/libraries/openxr-loader/default.nix4
-rw-r--r--pkgs/development/libraries/parson/default.nix2
-rw-r--r--pkgs/development/libraries/pipewire/default.nix2
-rw-r--r--pkgs/development/libraries/qt-6/default.nix6
-rw-r--r--pkgs/development/libraries/qt-6/hooks/qmake-hook.sh6
-rw-r--r--pkgs/development/libraries/qt-6/hooks/qtbase-setup-hook.sh14
-rw-r--r--pkgs/development/libraries/qt-6/modules/qtbase.nix8
-rw-r--r--pkgs/development/libraries/qt-6/modules/qtmultimedia.nix4
-rw-r--r--pkgs/development/libraries/qt-6/patches/fix-qtgui-include-incorrect-case.patch13
-rw-r--r--pkgs/development/libraries/qtstyleplugin-kvantum/default.nix4
-rw-r--r--pkgs/development/libraries/quantlib/default.nix4
-rw-r--r--pkgs/development/libraries/quictls/default.nix6
-rw-r--r--pkgs/development/libraries/rnnoise/default.nix80
-rw-r--r--pkgs/development/libraries/rnnoise/model-version.json4
-rw-r--r--pkgs/development/libraries/robin-map/default.nix4
-rw-r--r--pkgs/development/libraries/rocksdb/default.nix4
-rw-r--r--pkgs/development/libraries/science/math/itpp/default.nix2
-rw-r--r--pkgs/development/libraries/science/math/petsc/filter_mpi_warnings.patch26
-rw-r--r--pkgs/development/libraries/sqlcipher/default.nix4
-rw-r--r--pkgs/development/libraries/the-foundation/default.nix4
-rw-r--r--pkgs/development/libraries/tllist/default.nix2
-rw-r--r--pkgs/development/libraries/ucc/default.nix4
-rw-r--r--pkgs/development/libraries/ucx/default.nix4
-rw-r--r--pkgs/development/libraries/wfa2-lib/default.nix4
-rw-r--r--pkgs/development/libraries/wlroots/default.nix4
-rw-r--r--pkgs/development/libraries/wlroots/protocols.nix2
-rw-r--r--pkgs/development/libraries/xcb-imdkit/default.nix4
-rw-r--r--pkgs/development/libraries/yyjson/default.nix2
-rw-r--r--pkgs/development/lua-modules/generated-packages.nix4
-rw-r--r--pkgs/development/misc/h3/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/awa/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/binning/default.nix23
-rw-r--r--pkgs/development/ocaml-modules/biotk/default.nix56
-rw-r--r--pkgs/development/ocaml-modules/bwd/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/cmarkit/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/csexp/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/dune-action-plugin/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/dune-configurator/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/dune-glob/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/dune-private-libs/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/earlybird/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/gen_js_api/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/iri/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/janestreet/0.15.nix14
-rw-r--r--pkgs/development/ocaml-modules/janestreet/0.16.nix14
-rw-r--r--pkgs/development/ocaml-modules/lacaml/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/lun/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/miou/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/mldoc/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/mtime/1_x.nix22
-rw-r--r--pkgs/development/ocaml-modules/ninja_utils/default.nix22
-rw-r--r--pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix2
-rw-r--r--pkgs/development/ocaml-modules/ocaml-version/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/ocamlformat/ocamlformat-lib.nix2
-rw-r--r--pkgs/development/ocaml-modules/ocamlformat/ocamlformat-rpc-lib.nix2
-rw-r--r--pkgs/development/ocaml-modules/ocamlformat/ocamlformat.nix2
-rw-r--r--pkgs/development/ocaml-modules/odoc-parser/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/phylogenetics/default.nix22
-rw-r--r--pkgs/development/ocaml-modules/ppx_yojson_conv_lib/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/riot/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/sedlex/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/streaming/default.nix26
-rw-r--r--pkgs/development/ocaml-modules/syslog-message/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/tsdl-ttf/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/uring/default.nix9
-rw-r--r--pkgs/development/ocaml-modules/visitors/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/zmq/default.nix4
-rw-r--r--pkgs/development/php-packages/phpinsights/default.nix2
-rw-r--r--pkgs/development/python-modules/accessible-pygments/default.nix2
-rw-r--r--pkgs/development/python-modules/acoustics/default.nix1
-rw-r--r--pkgs/development/python-modules/ailment/default.nix4
-rw-r--r--pkgs/development/python-modules/aiocsv/default.nix32
-rw-r--r--pkgs/development/python-modules/aiodiscover/default.nix41
-rw-r--r--pkgs/development/python-modules/aiofiles/default.nix1
-rw-r--r--pkgs/development/python-modules/aiogram/default.nix74
-rw-r--r--pkgs/development/python-modules/aiolyric/default.nix33
-rw-r--r--pkgs/development/python-modules/aiomultiprocess/default.nix26
-rw-r--r--pkgs/development/python-modules/aiopegelonline/default.nix35
-rw-r--r--pkgs/development/python-modules/aiovodafone/default.nix39
-rw-r--r--pkgs/development/python-modules/androidtvremote2/default.nix4
-rw-r--r--pkgs/development/python-modules/angr/default.nix4
-rw-r--r--pkgs/development/python-modules/anova-wifi/default.nix35
-rw-r--r--pkgs/development/python-modules/ansible/core.nix2
-rw-r--r--pkgs/development/python-modules/ansible/default.nix4
-rw-r--r--pkgs/development/python-modules/anywidget/default.nix4
-rw-r--r--pkgs/development/python-modules/apispec/default.nix4
-rw-r--r--pkgs/development/python-modules/apprise/default.nix2
-rw-r--r--pkgs/development/python-modules/approvaltests/default.nix14
-rw-r--r--pkgs/development/python-modules/archinfo/default.nix4
-rw-r--r--pkgs/development/python-modules/asgineer/default.nix6
-rw-r--r--pkgs/development/python-modules/asteval/default.nix43
-rw-r--r--pkgs/development/python-modules/avro/default.nix12
-rw-r--r--pkgs/development/python-modules/awkward/default.nix3
-rw-r--r--pkgs/development/python-modules/azure-mgmt-compute/default.nix46
-rw-r--r--pkgs/development/python-modules/azure-mgmt-frontdoor/default.nix40
-rw-r--r--pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix30
-rw-r--r--pkgs/development/python-modules/before-after/default.nix2
-rw-r--r--pkgs/development/python-modules/bibtexparser/default.nix1
-rw-r--r--pkgs/development/python-modules/bluetooth-auto-recovery/default.nix41
-rw-r--r--pkgs/development/python-modules/borb/default.nix2
-rw-r--r--pkgs/development/python-modules/boto3-stubs/default.nix4
-rw-r--r--pkgs/development/python-modules/botocore-stubs/default.nix4
-rw-r--r--pkgs/development/python-modules/branca/default.nix4
-rw-r--r--pkgs/development/python-modules/breezy/default.nix2
-rw-r--r--pkgs/development/python-modules/bugsnag/default.nix4
-rw-r--r--pkgs/development/python-modules/cassandra-driver/default.nix4
-rw-r--r--pkgs/development/python-modules/cbor/default.nix2
-rw-r--r--pkgs/development/python-modules/cdcs/default.nix43
-rw-r--r--pkgs/development/python-modules/chat-downloader/default.nix2
-rw-r--r--pkgs/development/python-modules/clarifai-grpc/default.nix4
-rw-r--r--pkgs/development/python-modules/claripy/default.nix4
-rw-r--r--pkgs/development/python-modules/cle/default.nix6
-rw-r--r--pkgs/development/python-modules/clickgen/default.nix4
-rw-r--r--pkgs/development/python-modules/cloudevents/default.nix55
-rw-r--r--pkgs/development/python-modules/coffea/default.nix4
-rw-r--r--pkgs/development/python-modules/cohere/default.nix31
-rw-r--r--pkgs/development/python-modules/conda-libmamba-solver/default.nix47
-rw-r--r--pkgs/development/python-modules/conda-package-handling/default.nix30
-rw-r--r--pkgs/development/python-modules/conda-package-streaming/default.nix35
-rw-r--r--pkgs/development/python-modules/conda/0001-conda_exe.patch51
-rw-r--r--pkgs/development/python-modules/conda/default.nix91
-rw-r--r--pkgs/development/python-modules/coredis/default.nix4
-rw-r--r--pkgs/development/python-modules/craft-application/default.nix38
-rw-r--r--pkgs/development/python-modules/curio/default.nix2
-rw-r--r--pkgs/development/python-modules/cycler/default.nix1
-rw-r--r--pkgs/development/python-modules/cymem/default.nix18
-rw-r--r--pkgs/development/python-modules/cython/0.nix1
-rw-r--r--pkgs/development/python-modules/cython/default.nix1
-rw-r--r--pkgs/development/python-modules/cytoolz/default.nix1
-rw-r--r--pkgs/development/python-modules/dask-expr/default.nix60
-rw-r--r--pkgs/development/python-modules/dask/default.nix49
-rw-r--r--pkgs/development/python-modules/datashape/default.nix1
-rw-r--r--pkgs/development/python-modules/deebot-client/default.nix51
-rw-r--r--pkgs/development/python-modules/deepl/default.nix4
-rw-r--r--pkgs/development/python-modules/detect-secrets/default.nix2
-rw-r--r--pkgs/development/python-modules/dirigera/default.nix4
-rw-r--r--pkgs/development/python-modules/distributed/default.nix4
-rw-r--r--pkgs/development/python-modules/django-tastypie/default.nix30
-rw-r--r--pkgs/development/python-modules/dnf-plugins-core/default.nix4
-rw-r--r--pkgs/development/python-modules/dnf4/default.nix7
-rw-r--r--pkgs/development/python-modules/dnslib/default.nix2
-rw-r--r--pkgs/development/python-modules/dropmqttapi/default.nix23
-rw-r--r--pkgs/development/python-modules/dulwich/default.nix17
-rw-r--r--pkgs/development/python-modules/eigenpy/default.nix4
-rw-r--r--pkgs/development/python-modules/emcee/default.nix4
-rw-r--r--pkgs/development/python-modules/epitran/default.nix58
-rw-r--r--pkgs/development/python-modules/eve/default.nix2
-rw-r--r--pkgs/development/python-modules/exchangelib/default.nix4
-rw-r--r--pkgs/development/python-modules/eyed3/default.nix7
-rw-r--r--pkgs/development/python-modules/fast-histogram/default.nix6
-rw-r--r--pkgs/development/python-modules/fastbencode/default.nix2
-rw-r--r--pkgs/development/python-modules/faster-whisper/default.nix6
-rw-r--r--pkgs/development/python-modules/fitbit/default.nix2
-rw-r--r--pkgs/development/python-modules/flake8-bugbear/default.nix4
-rw-r--r--pkgs/development/python-modules/flask-restx/default.nix2
-rw-r--r--pkgs/development/python-modules/flit/default.nix1
-rw-r--r--pkgs/development/python-modules/folium/default.nix1
-rw-r--r--pkgs/development/python-modules/fsspec-xrootd/default.nix4
-rw-r--r--pkgs/development/python-modules/garminconnect/default.nix4
-rw-r--r--pkgs/development/python-modules/geoalchemy2/default.nix12
-rw-r--r--pkgs/development/python-modules/getjump/default.nix2
-rw-r--r--pkgs/development/python-modules/google-api-python-client/default.nix37
-rw-r--r--pkgs/development/python-modules/google-cloud-asset/default.nix47
-rw-r--r--pkgs/development/python-modules/google-cloud-monitoring/default.nix41
-rw-r--r--pkgs/development/python-modules/google-cloud-secret-manager/default.nix31
-rw-r--r--pkgs/development/python-modules/google-cloud-spanner/default.nix51
-rw-r--r--pkgs/development/python-modules/govee-ble/default.nix41
-rw-r--r--pkgs/development/python-modules/graphviz/default.nix18
-rw-r--r--pkgs/development/python-modules/graphviz/paths.patch16
-rw-r--r--pkgs/development/python-modules/griffe/default.nix4
-rw-r--r--pkgs/development/python-modules/hahomematic/default.nix4
-rw-r--r--pkgs/development/python-modules/hishel/default.nix4
-rw-r--r--pkgs/development/python-modules/http-sf/default.nix29
-rw-r--r--pkgs/development/python-modules/httpx-sse/default.nix54
-rw-r--r--pkgs/development/python-modules/ical/default.nix8
-rw-r--r--pkgs/development/python-modules/id/default.nix33
-rw-r--r--pkgs/development/python-modules/identify/default.nix33
-rw-r--r--pkgs/development/python-modules/imagededup/default.nix10
-rw-r--r--pkgs/development/python-modules/in-n-out/default.nix4
-rw-r--r--pkgs/development/python-modules/internetarchive/default.nix2
-rw-r--r--pkgs/development/python-modules/ipycanvas/default.nix19
-rw-r--r--pkgs/development/python-modules/ipykernel/default.nix2
-rw-r--r--pkgs/development/python-modules/ipyniivue/default.nix8
-rw-r--r--pkgs/development/python-modules/ipyparallel/default.nix1
-rw-r--r--pkgs/development/python-modules/ipython-genutils/default.nix1
-rw-r--r--pkgs/development/python-modules/ipython/default.nix2
-rw-r--r--pkgs/development/python-modules/ipywidgets/default.nix1
-rw-r--r--pkgs/development/python-modules/itemadapter/default.nix2
-rw-r--r--pkgs/development/python-modules/itemloaders/default.nix2
-rw-r--r--pkgs/development/python-modules/jaxlib/default.nix6
-rw-r--r--pkgs/development/python-modules/jplephem/default.nix4
-rw-r--r--pkgs/development/python-modules/jupyter-book/default.nix2
-rw-r--r--pkgs/development/python-modules/jupyter-cache/default.nix2
-rw-r--r--pkgs/development/python-modules/jupyter-client/default.nix1
-rw-r--r--pkgs/development/python-modules/jupyter-repo2docker/default.nix2
-rw-r--r--pkgs/development/python-modules/jupyterlab-server/default.nix4
-rw-r--r--pkgs/development/python-modules/jupyterlab/default.nix4
-rw-r--r--pkgs/development/python-modules/kbcstorage/default.nix4
-rw-r--r--pkgs/development/python-modules/kornia-rs/Cargo.lock1598
-rw-r--r--pkgs/development/python-modules/kornia-rs/default.nix56
-rw-r--r--pkgs/development/python-modules/kornia-rs/kornia-rs-from-crates.patch12
-rw-r--r--pkgs/development/python-modules/kornia/default.nix7
-rw-r--r--pkgs/development/python-modules/kserve/default.nix119
-rw-r--r--pkgs/development/python-modules/langchain-core/default.nix4
-rw-r--r--pkgs/development/python-modules/lark/default.nix2
-rw-r--r--pkgs/development/python-modules/launchpadlib/default.nix2
-rw-r--r--pkgs/development/python-modules/lazr-restfulclient/default.nix2
-rw-r--r--pkgs/development/python-modules/lazr-uri/default.nix2
-rw-r--r--pkgs/development/python-modules/levenshtein/default.nix53
-rw-r--r--pkgs/development/python-modules/libmambapy/default.nix93
-rw-r--r--pkgs/development/python-modules/libpcap/default.nix19
-rw-r--r--pkgs/development/python-modules/line-profiler/default.nix1
-rw-r--r--pkgs/development/python-modules/litellm/default.nix4
-rw-r--r--pkgs/development/python-modules/llama-index-core/default.nix4
-rw-r--r--pkgs/development/python-modules/llama-index-embeddings-openai/default.nix29
-rw-r--r--pkgs/development/python-modules/llama-index-indices-managed-llama-cloud/default.nix29
-rw-r--r--pkgs/development/python-modules/llama-index-program-openai/default.nix7
-rw-r--r--pkgs/development/python-modules/llama-index-vector-stores-qdrant/default.nix4
-rw-r--r--pkgs/development/python-modules/llama-parse/default.nix4
-rw-r--r--pkgs/development/python-modules/llamaindex-py-client/default.nix4
-rw-r--r--pkgs/development/python-modules/llvmlite/default.nix1
-rw-r--r--pkgs/development/python-modules/localstack-ext/default.nix44
-rw-r--r--pkgs/development/python-modules/localstack/default.nix11
-rw-r--r--pkgs/development/python-modules/m2crypto/default.nix2
-rw-r--r--pkgs/development/python-modules/macfsevents/default.nix2
-rw-r--r--pkgs/development/python-modules/maestral/default.nix4
-rw-r--r--pkgs/development/python-modules/mailchecker/default.nix4
-rw-r--r--pkgs/development/python-modules/manim-slides/default.nix19
-rw-r--r--pkgs/development/python-modules/marimo/default.nix4
-rw-r--r--pkgs/development/python-modules/mdformat-mkdocs/default.nix4
-rw-r--r--pkgs/development/python-modules/merge3/default.nix2
-rw-r--r--pkgs/development/python-modules/meross-iot/default.nix35
-rw-r--r--pkgs/development/python-modules/meson-python/default.nix2
-rw-r--r--pkgs/development/python-modules/mesonpep517/default.nix1
-rw-r--r--pkgs/development/python-modules/mike/default.nix2
-rw-r--r--pkgs/development/python-modules/minio/default.nix4
-rw-r--r--pkgs/development/python-modules/mkdocs-simple-hooks/default.nix43
-rw-r--r--pkgs/development/python-modules/ml-dtypes/default.nix5
-rw-r--r--pkgs/development/python-modules/mlflow/default.nix4
-rw-r--r--pkgs/development/python-modules/mmengine/default.nix11
-rw-r--r--pkgs/development/python-modules/mockito/default.nix2
-rw-r--r--pkgs/development/python-modules/model-bakery/default.nix35
-rw-r--r--pkgs/development/python-modules/msgraph-sdk/default.nix4
-rw-r--r--pkgs/development/python-modules/multipledispatch/default.nix1
-rw-r--r--pkgs/development/python-modules/myst-nb/default.nix2
-rw-r--r--pkgs/development/python-modules/nanobind/default.nix72
-rw-r--r--pkgs/development/python-modules/nbdev/default.nix34
-rw-r--r--pkgs/development/python-modules/nbformat/default.nix2
-rw-r--r--pkgs/development/python-modules/nebula3-python/default.nix41
-rw-r--r--pkgs/development/python-modules/neo4j/default.nix41
-rw-r--r--pkgs/development/python-modules/nestedtext/default.nix4
-rw-r--r--pkgs/development/python-modules/nidaqmx/default.nix1
-rw-r--r--pkgs/development/python-modules/nose-exclude/default.nix1
-rw-r--r--pkgs/development/python-modules/numba/default.nix1
-rw-r--r--pkgs/development/python-modules/numpy/default.nix1
-rw-r--r--pkgs/development/python-modules/nvchecker/default.nix2
-rw-r--r--pkgs/development/python-modules/nvidia-ml-py/default.nix4
-rw-r--r--pkgs/development/python-modules/oci/default.nix4
-rw-r--r--pkgs/development/python-modules/oelint-parser/default.nix4
-rw-r--r--pkgs/development/python-modules/ollama/default.nix46
-rw-r--r--pkgs/development/python-modules/omegaconf/default.nix14
-rw-r--r--pkgs/development/python-modules/onnxconverter-common/default.nix1
-rw-r--r--pkgs/development/python-modules/onnxruntime/default.nix2
-rw-r--r--pkgs/development/python-modules/openai/default.nix4
-rw-r--r--pkgs/development/python-modules/opentelemetry-api/default.nix19
-rw-r--r--pkgs/development/python-modules/opentelemetry-instrumentation/default.nix6
-rw-r--r--pkgs/development/python-modules/opower/default.nix4
-rw-r--r--pkgs/development/python-modules/optimum/default.nix4
-rw-r--r--pkgs/development/python-modules/pandas/default.nix2
-rw-r--r--pkgs/development/python-modules/panphon/default.nix61
-rw-r--r--pkgs/development/python-modules/papermill/default.nix20
-rw-r--r--pkgs/development/python-modules/papis/default.nix2
-rw-r--r--pkgs/development/python-modules/parquet/default.nix44
-rw-r--r--pkgs/development/python-modules/particle/default.nix4
-rw-r--r--pkgs/development/python-modules/pdfminer-six/default.nix2
-rw-r--r--pkgs/development/python-modules/pdfx/default.nix2
-rw-r--r--pkgs/development/python-modules/peaqevcore/default.nix4
-rw-r--r--pkgs/development/python-modules/pglast/default.nix2
-rw-r--r--pkgs/development/python-modules/pick/default.nix4
-rw-r--r--pkgs/development/python-modules/pipe/default.nix42
-rw-r--r--pkgs/development/python-modules/plaid-python/default.nix4
-rw-r--r--pkgs/development/python-modules/playwrightcapture/default.nix4
-rw-r--r--pkgs/development/python-modules/plotnine/default.nix4
-rw-r--r--pkgs/development/python-modules/plumbum/default.nix4
-rw-r--r--pkgs/development/python-modules/polars/default.nix22
-rw-r--r--pkgs/development/python-modules/potentials/default.nix55
-rw-r--r--pkgs/development/python-modules/protego/default.nix2
-rw-r--r--pkgs/development/python-modules/psrpcore/default.nix38
-rw-r--r--pkgs/development/python-modules/pure-protobuf/default.nix4
-rw-r--r--pkgs/development/python-modules/py-pdf-parser/default.nix2
-rw-r--r--pkgs/development/python-modules/py3buddy/default.nix23
-rw-r--r--pkgs/development/python-modules/pyaml/default.nix4
-rw-r--r--pkgs/development/python-modules/pyarrow/default.nix12
-rw-r--r--pkgs/development/python-modules/pyathena/default.nix4
-rw-r--r--pkgs/development/python-modules/pyatmo/default.nix2
-rw-r--r--pkgs/development/python-modules/pycec/default.nix6
-rw-r--r--pkgs/development/python-modules/pydantic-yaml-0/default.nix1
-rw-r--r--pkgs/development/python-modules/pydash/default.nix43
-rw-r--r--pkgs/development/python-modules/pydata-sphinx-theme/default.nix2
-rw-r--r--pkgs/development/python-modules/pydevd/default.nix17
-rw-r--r--pkgs/development/python-modules/pyfftw/default.nix1
-rw-r--r--pkgs/development/python-modules/pyfibaro/default.nix4
-rw-r--r--pkgs/development/python-modules/pykka/default.nix2
-rw-r--r--pkgs/development/python-modules/pymatgen/default.nix100
-rw-r--r--pkgs/development/python-modules/pymc/default.nix19
-rw-r--r--pkgs/development/python-modules/pymongo/default.nix19
-rw-r--r--pkgs/development/python-modules/pynotifier/default.nix44
-rw-r--r--pkgs/development/python-modules/pyopencl/default.nix1
-rw-r--r--pkgs/development/python-modules/pyotgw/default.nix35
-rw-r--r--pkgs/development/python-modules/pyproject-metadata/default.nix1
-rw-r--r--pkgs/development/python-modules/pyqt6-charts/default.nix4
-rw-r--r--pkgs/development/python-modules/pyqt6-webengine/default.nix4
-rw-r--r--pkgs/development/python-modules/pyrfxtrx/default.nix19
-rw-r--r--pkgs/development/python-modules/pyrisco/default.nix29
-rw-r--r--pkgs/development/python-modules/pysam/default.nix4
-rw-r--r--pkgs/development/python-modules/pysigma-backend-elasticsearch/default.nix33
-rw-r--r--pkgs/development/python-modules/pysigma/default.nix46
-rw-r--r--pkgs/development/python-modules/pystemd/default.nix5
-rw-r--r--pkgs/development/python-modules/pytensor/default.nix12
-rw-r--r--pkgs/development/python-modules/pytest-dependency/default.nix2
-rw-r--r--pkgs/development/python-modules/pytest-json-report/default.nix38
-rw-r--r--pkgs/development/python-modules/pytest-twisted/default.nix2
-rw-r--r--pkgs/development/python-modules/python-lsp-black/default.nix15
-rw-r--r--pkgs/development/python-modules/python-lsp-ruff/default.nix6
-rw-r--r--pkgs/development/python-modules/python-novaclient/default.nix2
-rw-r--r--pkgs/development/python-modules/python-twitter/default.nix2
-rw-r--r--pkgs/development/python-modules/python-whois/default.nix38
-rw-r--r--pkgs/development/python-modules/pytibber/default.nix22
-rw-r--r--pkgs/development/python-modules/pytm/default.nix4
-rw-r--r--pkgs/development/python-modules/pyvex/default.nix4
-rw-r--r--pkgs/development/python-modules/pywavefront/default.nix45
-rw-r--r--pkgs/development/python-modules/qdrant-client/default.nix4
-rw-r--r--pkgs/development/python-modules/qtconsole/default.nix1
-rw-r--r--pkgs/development/python-modules/qtile/default.nix7
-rw-r--r--pkgs/development/python-modules/quantile-forest/default.nix62
-rw-r--r--pkgs/development/python-modules/quantiphy/default.nix6
-rw-r--r--pkgs/development/python-modules/quixote/default.nix40
-rw-r--r--pkgs/development/python-modules/rapidgzip/default.nix4
-rw-r--r--pkgs/development/python-modules/recipe-scrapers/default.nix4
-rw-r--r--pkgs/development/python-modules/recommonmark/default.nix1
-rw-r--r--pkgs/development/python-modules/reikna/default.nix1
-rw-r--r--pkgs/development/python-modules/reptor/default.nix4
-rw-r--r--pkgs/development/python-modules/requests-download/default.nix1
-rw-r--r--pkgs/development/python-modules/resolvelib/default.nix28
-rw-r--r--pkgs/development/python-modules/reuse/default.nix42
-rw-r--r--pkgs/development/python-modules/rfc6555/default.nix2
-rw-r--r--pkgs/development/python-modules/robotframework-selenium2library/default.nix2
-rw-r--r--pkgs/development/python-modules/robotframework-seleniumlibrary/default.nix6
-rw-r--r--pkgs/development/python-modules/robotstatuschecker/default.nix2
-rw-r--r--pkgs/development/python-modules/rq/default.nix5
-rw-r--r--pkgs/development/python-modules/rst2pdf/default.nix2
-rw-r--r--pkgs/development/python-modules/sagemaker/default.nix4
-rw-r--r--pkgs/development/python-modules/scipy/default.nix2
-rw-r--r--pkgs/development/python-modules/scrapy/default.nix2
-rw-r--r--pkgs/development/python-modules/seaborn/default.nix1
-rw-r--r--pkgs/development/python-modules/sentence-transformers/default.nix4
-rw-r--r--pkgs/development/python-modules/setuptools-scm-git-archive/default.nix2
-rw-r--r--pkgs/development/python-modules/skl2onnx/default.nix1
-rw-r--r--pkgs/development/python-modules/skodaconnect/default.nix4
-rw-r--r--pkgs/development/python-modules/snakemake-interface-storage-plugins/default.nix4
-rw-r--r--pkgs/development/python-modules/social-auth-app-django/default.nix4
-rw-r--r--pkgs/development/python-modules/social-auth-core/default.nix4
-rw-r--r--pkgs/development/python-modules/soundcloud-v2/default.nix2
-rw-r--r--pkgs/development/python-modules/sounddevice/default.nix1
-rw-r--r--pkgs/development/python-modules/soundfile/default.nix1
-rw-r--r--pkgs/development/python-modules/spacy-transformers/default.nix47
-rw-r--r--pkgs/development/python-modules/spacy/default.nix4
-rw-r--r--pkgs/development/python-modules/sphinx-book-theme/default.nix2
-rw-r--r--pkgs/development/python-modules/sphinx-comments/default.nix2
-rw-r--r--pkgs/development/python-modules/sphinx-design/default.nix2
-rw-r--r--pkgs/development/python-modules/sphinx-external-toc/default.nix2
-rw-r--r--pkgs/development/python-modules/sphinx-jupyterbook-latex/default.nix2
-rw-r--r--pkgs/development/python-modules/sphinx-multitoc-numbering/default.nix2
-rw-r--r--pkgs/development/python-modules/sphinx-thebe/default.nix2
-rw-r--r--pkgs/development/python-modules/sphinx-togglebutton/default.nix2
-rw-r--r--pkgs/development/python-modules/spylls/default.nix54
-rw-r--r--pkgs/development/python-modules/ssg/default.nix57
-rw-r--r--pkgs/development/python-modules/sshfs/default.nix4
-rw-r--r--pkgs/development/python-modules/stanza/default.nix4
-rw-r--r--pkgs/development/python-modules/statsmodels/default.nix1
-rw-r--r--pkgs/development/python-modules/stone/default.nix49
-rw-r--r--pkgs/development/python-modules/tabulate/default.nix1
-rw-r--r--pkgs/development/python-modules/taskw-ng/default.nix47
-rw-r--r--pkgs/development/python-modules/tencentcloud-sdk-python/default.nix4
-rw-r--r--pkgs/development/python-modules/tensorflow-probability/default.nix5
-rw-r--r--pkgs/development/python-modules/tiledb/default.nix1
-rw-r--r--pkgs/development/python-modules/timing-asgi/default.nix48
-rw-r--r--pkgs/development/python-modules/tokenizers/default.nix4
-rw-r--r--pkgs/development/python-modules/toolz/default.nix1
-rw-r--r--pkgs/development/python-modules/tox/default.nix4
-rw-r--r--pkgs/development/python-modules/tqdm/default.nix6
-rw-r--r--pkgs/development/python-modules/traitlets/default.nix1
-rw-r--r--pkgs/development/python-modules/transformers/default.nix4
-rw-r--r--pkgs/development/python-modules/transitions/default.nix34
-rw-r--r--pkgs/development/python-modules/tubeup/default.nix2
-rw-r--r--pkgs/development/python-modules/twill/default.nix51
-rw-r--r--pkgs/development/python-modules/twine/default.nix1
-rw-r--r--pkgs/development/python-modules/twitch-python/default.nix2
-rw-r--r--pkgs/development/python-modules/typed-settings/default.nix85
-rw-r--r--pkgs/development/python-modules/types-docutils/default.nix4
-rw-r--r--pkgs/development/python-modules/types-mock/default.nix4
-rw-r--r--pkgs/development/python-modules/types-psutil/default.nix4
-rw-r--r--pkgs/development/python-modules/types-redis/default.nix4
-rw-r--r--pkgs/development/python-modules/typeshed-client/default.nix37
-rw-r--r--pkgs/development/python-modules/typical/default.nix58
-rw-r--r--pkgs/development/python-modules/unidiff/default.nix2
-rw-r--r--pkgs/development/python-modules/urwid/default.nix4
-rw-r--r--pkgs/development/python-modules/vacuum-map-parser-base/default.nix4
-rw-r--r--pkgs/development/python-modules/vacuum-map-parser-roborock/default.nix10
-rw-r--r--pkgs/development/python-modules/vdirsyncer/default.nix2
-rw-r--r--pkgs/development/python-modules/verspec/default.nix2
-rw-r--r--pkgs/development/python-modules/vt-py/default.nix4
-rw-r--r--pkgs/development/python-modules/wadllib/default.nix2
-rw-r--r--pkgs/development/python-modules/wasmer/default.nix16
-rw-r--r--pkgs/development/python-modules/weaviate-client/default.nix63
-rw-r--r--pkgs/development/python-modules/widgetsnbextension/default.nix1
-rw-r--r--pkgs/development/python-modules/xarray/default.nix1
-rw-r--r--pkgs/development/python-modules/xml2rfc/default.nix4
-rw-r--r--pkgs/development/python-modules/xmlschema/default.nix4
-rw-r--r--pkgs/development/python-modules/yabadaba/default.nix51
-rw-r--r--pkgs/development/python-modules/yamale/default.nix39
-rw-r--r--pkgs/development/python-modules/yamlfix/default.nix26
-rw-r--r--pkgs/development/python-modules/youtube-search-python/default.nix2
-rw-r--r--pkgs/development/python-modules/youtube-transcript-api/default.nix2
-rw-r--r--pkgs/development/python-modules/zwave-js-server-python/default.nix37
-rw-r--r--pkgs/development/python-modules/zxcvbn/default.nix2
-rw-r--r--pkgs/development/r-modules/default.nix43
-rw-r--r--pkgs/development/rocm-modules/5/clr/default.nix13
-rw-r--r--pkgs/development/rocm-modules/6/clr/default.nix27
-rw-r--r--pkgs/development/rocm-modules/6/default.nix2
-rw-r--r--pkgs/development/rocm-modules/6/miopen/default.nix5
-rw-r--r--pkgs/development/rocm-modules/6/rccl/default.nix4
-rw-r--r--pkgs/development/rocm-modules/6/rocblas/default.nix170
-rw-r--r--pkgs/development/rocm-modules/6/rocm-runtime/default.nix10
-rw-r--r--pkgs/development/rocm-modules/6/rocprim/default.nix9
-rw-r--r--pkgs/development/rocm-modules/6/tensile/default.nix20
-rw-r--r--pkgs/development/ruby-modules/bundix/default.nix2
-rw-r--r--pkgs/development/ruby-modules/with-packages/Gemfile1
-rw-r--r--pkgs/development/tools/abuild/default.nix7
-rw-r--r--pkgs/development/tools/algolia-cli/default.nix6
-rw-r--r--pkgs/development/tools/allure/default.nix52
-rw-r--r--pkgs/development/tools/altair-graphql-client/default.nix2
-rw-r--r--pkgs/development/tools/amqpcat/default.nix4
-rw-r--r--pkgs/development/tools/amqpcat/shards.nix8
-rw-r--r--pkgs/development/tools/analysis/actionlint/default.nix2
-rw-r--r--pkgs/development/tools/analysis/brakeman/default.nix2
-rw-r--r--pkgs/development/tools/analysis/codeql/default.nix4
-rw-r--r--pkgs/development/tools/analysis/flow/default.nix6
-rw-r--r--pkgs/development/tools/analysis/hotspot/default.nix59
-rw-r--r--pkgs/development/tools/analysis/nix-linter/default.nix2
-rw-r--r--pkgs/development/tools/analysis/smatch/default.nix2
-rw-r--r--pkgs/development/tools/analysis/stylelint/default.nix6
-rw-r--r--pkgs/development/tools/analysis/tflint/default.nix2
-rw-r--r--pkgs/development/tools/analysis/tfsec/default.nix2
-rw-r--r--pkgs/development/tools/buf/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/apache-maven/build-package.nix2
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_6/darwin_sleep.patch56
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_6/default.nix60
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_6/src-deps.json46
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_7/MODULE.bazel.lock1748
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_7/cpp-test-MODULE.bazel.lock1295
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_7/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_7/nix-hacks.patch40
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_7/protobuf-test.MODULE.bazel.lock1058
-rw-r--r--pkgs/development/tools/build-managers/bazel/buildtools/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/bazel/cpp-test.nix2
-rw-r--r--pkgs/development/tools/build-managers/bazel/java-test.nix2
-rw-r--r--pkgs/development/tools/build-managers/bazel/protobuf-test.nix2
-rw-r--r--pkgs/development/tools/build-managers/bazel/python-bin-path-test.nix2
-rw-r--r--pkgs/development/tools/build-managers/buck/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/moon/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/scala-cli/sources.json10
-rw-r--r--pkgs/development/tools/buildkit/default.nix2
-rw-r--r--pkgs/development/tools/buildpack/default.nix2
-rw-r--r--pkgs/development/tools/bundletool/default.nix6
-rw-r--r--pkgs/development/tools/cloud-nuke/default.nix2
-rw-r--r--pkgs/development/tools/coder/default.nix2
-rwxr-xr-xpkgs/development/tools/coder/update.sh11
-rw-r--r--pkgs/development/tools/conftest/default.nix6
-rw-r--r--pkgs/development/tools/continuous-integration/cirrus-cli/default.nix6
-rw-r--r--pkgs/development/tools/continuous-integration/drone-runner-docker/default.nix2
-rw-r--r--pkgs/development/tools/continuous-integration/github-runner/default.nix5
-rw-r--r--pkgs/development/tools/cpm-cmake/default.nix4
-rw-r--r--pkgs/development/tools/database/atlas/default.nix2
-rw-r--r--pkgs/development/tools/database/clickhouse-backup/default.nix6
-rw-r--r--pkgs/development/tools/database/pg_checksums/default.nix2
-rw-r--r--pkgs/development/tools/database/sqlcheck/default.nix2
-rw-r--r--pkgs/development/tools/database/timescaledb-tune/default.nix2
-rw-r--r--pkgs/development/tools/database/vitess/default.nix6
-rw-r--r--pkgs/development/tools/dive/default.nix2
-rw-r--r--pkgs/development/tools/dprint/default.nix6
-rw-r--r--pkgs/development/tools/earthly/default.nix4
-rw-r--r--pkgs/development/tools/electron/common.nix2
-rw-r--r--pkgs/development/tools/esbuild/default.nix2
-rw-r--r--pkgs/development/tools/extism-cli/default.nix6
-rw-r--r--pkgs/development/tools/firebase-tools/default.nix6
-rw-r--r--pkgs/development/tools/flock/default.nix2
-rw-r--r--pkgs/development/tools/frugal/default.nix6
-rw-r--r--pkgs/development/tools/gauge/default.nix8
-rw-r--r--pkgs/development/tools/gauge/nix-check.patch50
-rw-r--r--pkgs/development/tools/gauge/plugins/default.nix14
-rw-r--r--pkgs/development/tools/gauge/plugins/dotnet/data.json5
-rw-r--r--pkgs/development/tools/gauge/plugins/dotnet/default.nix22
-rw-r--r--pkgs/development/tools/gauge/plugins/go/data.json15
-rw-r--r--pkgs/development/tools/gauge/plugins/go/default.nix19
-rw-r--r--pkgs/development/tools/gauge/plugins/html-report/data.json19
-rw-r--r--pkgs/development/tools/gauge/plugins/html-report/default.nix19
-rw-r--r--pkgs/development/tools/gauge/plugins/java/data.json19
-rw-r--r--pkgs/development/tools/gauge/plugins/java/default.nix24
-rw-r--r--pkgs/development/tools/gauge/plugins/js/default.nix42
-rw-r--r--pkgs/development/tools/gauge/plugins/make-gauge-plugin.nix94
-rw-r--r--pkgs/development/tools/gauge/plugins/ruby/data.json19
-rw-r--r--pkgs/development/tools/gauge/plugins/ruby/default.nix19
-rw-r--r--pkgs/development/tools/gauge/plugins/screenshot/data.json19
-rw-r--r--pkgs/development/tools/gauge/plugins/screenshot/default.nix19
-rw-r--r--pkgs/development/tools/gauge/plugins/xml-report/data.json19
-rw-r--r--pkgs/development/tools/gauge/plugins/xml-report/default.nix19
-rw-r--r--pkgs/development/tools/gauge/wrapper.nix59
-rw-r--r--pkgs/development/tools/ginkgo/default.nix6
-rw-r--r--pkgs/development/tools/go-mockery/default.nix4
-rw-r--r--pkgs/development/tools/go-toml/default.nix32
-rw-r--r--pkgs/development/tools/goresym/default.nix2
-rw-r--r--pkgs/development/tools/gotestsum/default.nix10
-rw-r--r--pkgs/development/tools/gotools/default.nix2
-rw-r--r--pkgs/development/tools/gqlgenc/default.nix4
-rw-r--r--pkgs/development/tools/hcloud/default.nix6
-rw-r--r--pkgs/development/tools/heroku/default.nix2
-rw-r--r--pkgs/development/tools/infisical/default.nix2
-rw-r--r--pkgs/development/tools/infisical/hashes.json8
-rw-r--r--pkgs/development/tools/java/jprofiler/default.nix2
-rw-r--r--pkgs/development/tools/jql/default.nix6
-rw-r--r--pkgs/development/tools/jtc/default.nix2
-rw-r--r--pkgs/development/tools/kustomize/default.nix6
-rw-r--r--pkgs/development/tools/language-servers/dot-language-server/default.nix2
-rw-r--r--pkgs/development/tools/language-servers/lua-language-server/default.nix6
-rw-r--r--pkgs/development/tools/language-servers/metals/default.nix6
-rw-r--r--pkgs/development/tools/language-servers/millet/default.nix2
-rw-r--r--pkgs/development/tools/language-servers/nixd/default.nix6
-rw-r--r--pkgs/development/tools/language-servers/pylyzer/Cargo.lock1021
-rw-r--r--pkgs/development/tools/language-servers/pylyzer/default.nix11
-rw-r--r--pkgs/development/tools/language-servers/vhdl-ls/default.nix6
-rw-r--r--pkgs/development/tools/micronaut/default.nix4
-rw-r--r--pkgs/development/tools/misc/csmith/default.nix2
-rw-r--r--pkgs/development/tools/misc/elfutils/default.nix16
-rw-r--r--pkgs/development/tools/misc/hydra-cli/default.nix2
-rw-r--r--pkgs/development/tools/misc/ltrace/default.nix2
-rw-r--r--pkgs/development/tools/misc/mkcert/default.nix2
-rw-r--r--pkgs/development/tools/misc/reviewdog/default.nix2
-rw-r--r--pkgs/development/tools/misc/strace-analyzer/default.nix6
-rw-r--r--pkgs/development/tools/misc/terracognita/default.nix2
-rw-r--r--pkgs/development/tools/misc/terraform-lsp/default.nix2
-rw-r--r--pkgs/development/tools/misc/terraformer/default.nix2
-rw-r--r--pkgs/development/tools/mongosh/package-lock.json611
-rw-r--r--pkgs/development/tools/mongosh/source.json8
-rw-r--r--pkgs/development/tools/ocaml/dune/1.nix2
-rw-r--r--pkgs/development/tools/ocaml/dune/2.nix2
-rw-r--r--pkgs/development/tools/ocaml/dune/3.nix2
-rw-r--r--pkgs/development/tools/ocaml/opam/default.nix2
-rwxr-xr-xpkgs/development/tools/ocaml/opam/opam.nix.pl2
-rw-r--r--pkgs/development/tools/oh-my-posh/default.nix6
-rw-r--r--pkgs/development/tools/okteto/default.nix12
-rw-r--r--pkgs/development/tools/open-policy-agent/default.nix4
-rw-r--r--pkgs/development/tools/pet/default.nix4
-rw-r--r--pkgs/development/tools/pgformatter/default.nix2
-rw-r--r--pkgs/development/tools/poac/default.nix6
-rw-r--r--pkgs/development/tools/prettierd/default.nix6
-rw-r--r--pkgs/development/tools/prettierd/package.json14
-rw-r--r--pkgs/development/tools/protoc-gen-entgrpc/default.nix6
-rw-r--r--pkgs/development/tools/prototool/default.nix2
-rw-r--r--pkgs/development/tools/pscale/default.nix6
-rw-r--r--pkgs/development/tools/railway/default.nix6
-rw-r--r--pkgs/development/tools/redisinsight/default.nix151
-rw-r--r--pkgs/development/tools/ruff/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-clone/default.nix2
-rw-r--r--pkgs/development/tools/rust/cargo-deb/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-deny/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-pgx/0_6_1.nix26
-rw-r--r--pkgs/development/tools/rust/cargo-pgx/0_7_1.nix26
-rw-r--r--pkgs/development/tools/rust/cargo-pgx/0_7_4.nix26
-rw-r--r--pkgs/development/tools/rust/cargo-pgx/buildPgxExtension.nix160
-rw-r--r--pkgs/development/tools/rust/cargo-show-asm/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-spellcheck/default.nix11
-rw-r--r--pkgs/development/tools/rust/cargo-tally/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-zigbuild/default.nix6
-rw-r--r--pkgs/development/tools/rye/Cargo.lock384
-rw-r--r--pkgs/development/tools/rye/default.nix6
-rw-r--r--pkgs/development/tools/scalafix/default.nix2
-rw-r--r--pkgs/development/tools/selene/default.nix6
-rw-r--r--pkgs/development/tools/selenium/chromedriver/default.nix2
-rw-r--r--pkgs/development/tools/sem/default.nix4
-rw-r--r--pkgs/development/tools/sentry-cli/default.nix2
-rw-r--r--pkgs/development/tools/squawk/default.nix2
-rw-r--r--pkgs/development/tools/supabase-cli/default.nix6
-rw-r--r--pkgs/development/tools/tabnine/sources.json8
-rw-r--r--pkgs/development/tools/turso-cli/default.nix4
-rw-r--r--pkgs/development/tools/twilio-cli/default.nix2
-rw-r--r--pkgs/development/tools/typos/default.nix6
-rw-r--r--pkgs/development/tools/uftrace/default.nix4
-rw-r--r--pkgs/development/tools/unityhub/default.nix4
-rw-r--r--pkgs/development/tools/wgo/default.nix4
-rw-r--r--pkgs/development/tools/wlcs/default.nix2
-rw-r--r--pkgs/development/tools/yarn-berry/default.nix2
-rw-r--r--pkgs/development/tools/yarn/default.nix2
-rw-r--r--pkgs/development/tools/zsv/default.nix2
-rw-r--r--pkgs/development/web/bloomrpc/default.nix1
-rw-r--r--pkgs/development/web/bootstrap-studio/default.nix2
-rw-r--r--pkgs/development/web/bun/default.nix10
-rw-r--r--pkgs/development/web/deno/default.nix6
-rw-r--r--pkgs/development/web/deno/librusty_v8.nix10
-rw-r--r--pkgs/development/web/nodejs/nodejs.nix2
-rw-r--r--pkgs/development/web/nodejs/v22.nix (renamed from pkgs/development/web/nodejs/v21.nix)4
-rw-r--r--pkgs/games/1oom/default.nix26
-rw-r--r--pkgs/games/anki/bin.nix9
-rw-r--r--pkgs/games/arena/default.nix3
-rw-r--r--pkgs/games/badlion-client/default.nix1
-rw-r--r--pkgs/games/chiaki/default.nix2
-rw-r--r--pkgs/games/doom-ports/chocolate-doom/default.nix2
-rw-r--r--pkgs/games/doom-ports/dhewm3/default.nix2
-rw-r--r--pkgs/games/doom-ports/doomseeker/default.nix2
-rw-r--r--pkgs/games/doom-ports/eternity-engine/default.nix2
-rw-r--r--pkgs/games/doom-ports/gzdoom/default.nix4
-rw-r--r--pkgs/games/doom-ports/odamex/default.nix2
-rw-r--r--pkgs/games/doom-ports/zandronum/alpha/default.nix2
-rw-r--r--pkgs/games/doom-ports/zandronum/default.nix2
-rw-r--r--pkgs/games/fallout-ce/fallout2-ce.nix4
-rw-r--r--pkgs/games/nanosaur/default.nix6
-rw-r--r--pkgs/games/openjk/default.nix6
-rw-r--r--pkgs/games/openttd/jgrpp.nix4
-rw-r--r--pkgs/games/openxray/default.nix2
-rw-r--r--pkgs/games/osu-lazer/bin.nix2
-rw-r--r--pkgs/games/prismlauncher/default.nix10
-rw-r--r--pkgs/games/prismlauncher/wrapper.nix2
-rw-r--r--pkgs/games/shipwright/default.nix8
-rw-r--r--pkgs/games/space-station-14-launcher/space-station-14-launcher.nix2
-rw-r--r--pkgs/games/steam/fhsenv.nix4
-rw-r--r--pkgs/games/vintagestory/default.nix4
-rw-r--r--pkgs/games/vitetris/default.nix3
-rw-r--r--pkgs/games/worldofgoo/default.nix2
-rw-r--r--pkgs/kde/frameworks/kdoctools/default.nix3
-rw-r--r--pkgs/kde/lib/mk-kde-derivation.nix2
-rw-r--r--pkgs/kde/lib/move-dev-hook.sh5
-rw-r--r--pkgs/kde/misc/mpvqt/default.nix3
-rw-r--r--pkgs/kde/plasma/breeze-grub/default.nix2
-rw-r--r--pkgs/misc/ananicy-rules-cachyos/default.nix14
-rw-r--r--pkgs/misc/autotiling/default.nix4
-rw-r--r--pkgs/misc/jitsi-meet-prosody/default.nix4
-rw-r--r--pkgs/misc/scrcpy/default.nix2
-rw-r--r--pkgs/misc/screensavers/alock/default.nix13
-rw-r--r--pkgs/misc/tmux-plugins/default.nix12
-rw-r--r--pkgs/os-specific/bsd/netbsd/default.nix4
-rw-r--r--pkgs/os-specific/darwin/noah/default.nix2
-rw-r--r--pkgs/os-specific/darwin/raycast/default.nix4
-rw-r--r--pkgs/os-specific/darwin/xcode/default.nix5
-rw-r--r--pkgs/os-specific/linux/below/default.nix6
-rw-r--r--pkgs/os-specific/linux/device-tree/default.nix2
-rw-r--r--pkgs/os-specific/linux/dmidecode/default.nix2
-rw-r--r--pkgs/os-specific/linux/drbd/driver.nix25
-rw-r--r--pkgs/os-specific/linux/ell/default.nix2
-rw-r--r--pkgs/os-specific/linux/ethq/default.nix2
-rw-r--r--pkgs/os-specific/linux/evdi/default.nix2
-rw-r--r--pkgs/os-specific/linux/firmware/fwupd-efi/default.nix8
-rw-r--r--pkgs/os-specific/linux/google-authenticator/default.nix4
-rw-r--r--pkgs/os-specific/linux/iwd/default.nix2
-rw-r--r--pkgs/os-specific/linux/kernel/generic.nix52
-rw-r--r--pkgs/os-specific/linux/kernel/kernels-org.json20
-rw-r--r--pkgs/os-specific/linux/kernel/linux-rt-5.10.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/manual-config.nix9
-rw-r--r--pkgs/os-specific/linux/libnvme/default.nix2
-rw-r--r--pkgs/os-specific/linux/libzbc/default.nix2
-rw-r--r--pkgs/os-specific/linux/libzbd/default.nix2
-rw-r--r--pkgs/os-specific/linux/lxc/add-meson-options.patch153
-rw-r--r--pkgs/os-specific/linux/mwprocapture/default.nix2
-rw-r--r--pkgs/os-specific/linux/nct6687d/default.nix11
-rwxr-xr-xpkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh4
-rw-r--r--pkgs/os-specific/linux/nmon/default.nix4
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/default.nix18
-rw-r--r--pkgs/os-specific/linux/restool/default.nix2
-rw-r--r--pkgs/os-specific/linux/rtl8852bu/default.nix51
-rw-r--r--pkgs/servers/adguardhome/bins.nix28
-rw-r--r--pkgs/servers/adguardhome/default.nix4
-rwxr-xr-xpkgs/servers/adguardhome/update.sh4
-rw-r--r--pkgs/servers/baserow/default.nix2
-rw-r--r--pkgs/servers/bindle/default.nix2
-rw-r--r--pkgs/servers/dns/nsd/default.nix4
-rw-r--r--pkgs/servers/endlessh/default.nix2
-rw-r--r--pkgs/servers/etcd/3.5/default.nix2
-rw-r--r--pkgs/servers/etcd/README.md26
-rw-r--r--pkgs/servers/gotosocial/default.nix15
-rw-r--r--pkgs/servers/guacamole-client/default.nix4
-rw-r--r--pkgs/servers/guacamole-server/default.nix4
-rw-r--r--pkgs/servers/home-assistant/component-packages.nix5
-rw-r--r--pkgs/servers/home-assistant/custom-components/homematicip_local/default.nix4
-rw-r--r--pkgs/servers/home-assistant/default.nix15
-rw-r--r--pkgs/servers/home-assistant/intents.nix54
-rw-r--r--pkgs/servers/home-assistant/stubs.nix4
-rwxr-xr-xpkgs/servers/home-assistant/update-component-packages.py (renamed from pkgs/servers/home-assistant/parse-requirements.py)2
-rwxr-xr-xpkgs/servers/home-assistant/update.py2
-rw-r--r--pkgs/servers/homepage-dashboard/default.nix6
-rw-r--r--pkgs/servers/http/envoy/0001-nixpkgs-use-system-Python.patch34
-rw-r--r--pkgs/servers/http/envoy/0002-nixpkgs-use-system-Go.patch69
-rw-r--r--pkgs/servers/http/envoy/0003-nixpkgs-use-system-C-C-toolchains.patch21
-rw-r--r--pkgs/servers/http/envoy/0004-nixpkgs-add-cstdint-in-dd-trace-cpp.patch29
-rw-r--r--pkgs/servers/http/envoy/dd_trace_cpp.patch25
-rw-r--r--pkgs/servers/http/envoy/default.nix32
-rw-r--r--pkgs/servers/http/envoy/protobuf.patch116
-rw-r--r--pkgs/servers/icingaweb2/ipl.nix4
-rw-r--r--pkgs/servers/imgproxy/default.nix6
-rw-r--r--pkgs/servers/jackett/default.nix4
-rw-r--r--pkgs/servers/jicofo/default.nix4
-rw-r--r--pkgs/servers/jitsi-videobridge/default.nix4
-rw-r--r--pkgs/servers/klipper/default.nix6
-rw-r--r--pkgs/servers/komga/default.nix4
-rw-r--r--pkgs/servers/lidarr/default.nix8
-rw-r--r--pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix4
-rw-r--r--pkgs/servers/mail/stalwart/default.nix3
-rw-r--r--pkgs/servers/matrix-conduit/default.nix5
-rw-r--r--pkgs/servers/matrix-synapse/plugins/s3-storage-provider.nix2
-rw-r--r--pkgs/servers/matrix-synapse/sliding-sync/default.nix4
-rw-r--r--pkgs/servers/matrix-synapse/tools/default.nix2
-rw-r--r--pkgs/servers/matrix-synapse/tools/rust-synapse-compress-state/Cargo.lock1816
-rw-r--r--pkgs/servers/matrix-synapse/tools/rust-synapse-compress-state/default.nix (renamed from pkgs/servers/matrix-synapse/tools/rust-synapse-compress-state.nix)14
-rw-r--r--pkgs/servers/mediamtx/default.nix6
-rw-r--r--pkgs/servers/monitoring/grafana/plugins/grafana-clickhouse-datasource/default.nix2
-rw-r--r--pkgs/servers/monitoring/matrix-alertmanager/default.nix2
-rw-r--r--pkgs/servers/monitoring/mtail/default.nix6
-rw-r--r--pkgs/servers/monitoring/openobserve/Cargo.lock1934
-rw-r--r--pkgs/servers/monitoring/openobserve/default.nix8
-rw-r--r--pkgs/servers/monitoring/prometheus/consul-exporter.nix6
-rw-r--r--pkgs/servers/monitoring/prometheus/node-exporter.nix6
-rw-r--r--pkgs/servers/monitoring/prometheus/tor-exporter.nix2
-rw-r--r--pkgs/servers/monitoring/uptime-kuma/default.nix6
-rw-r--r--pkgs/servers/monitoring/vmagent/default.nix2
-rw-r--r--pkgs/servers/moonraker/default.nix1
-rw-r--r--pkgs/servers/nextcloud/packages/26.json74
-rw-r--r--pkgs/servers/nextcloud/packages/27.json82
-rw-r--r--pkgs/servers/nextcloud/packages/28.json104
-rw-r--r--pkgs/servers/nextcloud/packages/nextcloud-apps.json1
-rw-r--r--pkgs/servers/nosql/influxdb2/cli.nix2
-rw-r--r--pkgs/servers/nosql/influxdb2/default.nix2
-rw-r--r--pkgs/servers/nosql/redis/default.nix2
-rw-r--r--pkgs/servers/pleroma/default.nix2
-rw-r--r--pkgs/servers/plex/raw.nix1
-rw-r--r--pkgs/servers/prowlarr/default.nix10
-rw-r--r--pkgs/servers/redpanda/default.nix4
-rw-r--r--pkgs/servers/sabnzbd/default.nix2
-rw-r--r--pkgs/servers/search/weaviate/default.nix4
-rw-r--r--pkgs/servers/ser2net/default.nix4
-rw-r--r--pkgs/servers/sickbeard/sickgear.nix4
-rw-r--r--pkgs/servers/spicedb/default.nix6
-rw-r--r--pkgs/servers/spicedb/zed.nix6
-rw-r--r--pkgs/servers/sql/dolt/default.nix6
-rw-r--r--pkgs/servers/sql/postgresql/ext/citus.nix2
-rw-r--r--pkgs/servers/sql/postgresql/ext/default.nix2
-rw-r--r--pkgs/servers/sql/postgresql/ext/h3-pg.nix2
-rw-r--r--pkgs/servers/sql/postgresql/ext/lantern.nix2
-rw-r--r--pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix2
-rw-r--r--pkgs/servers/sql/postgresql/ext/pg_bigm.nix2
-rw-r--r--pkgs/servers/sql/postgresql/ext/pg_roaringbitmap.nix2
-rw-r--r--pkgs/servers/sql/postgresql/ext/pg_squeeze.nix2
-rw-r--r--pkgs/servers/sql/postgresql/ext/pgsodium.nix2
-rw-r--r--pkgs/servers/sql/postgresql/ext/pgsql-http.nix2
-rw-r--r--pkgs/servers/sql/postgresql/ext/pgvector.nix2
-rw-r--r--pkgs/servers/sql/postgresql/ext/plpgsql_check.nix2
-rw-r--r--pkgs/servers/sql/postgresql/ext/plv8/default.nix2
-rw-r--r--pkgs/servers/sql/postgresql/ext/promscale_extension.nix59
-rw-r--r--pkgs/servers/sql/postgresql/ext/smlar.nix2
-rw-r--r--pkgs/servers/sql/postgresql/ext/timescaledb.nix2
-rw-r--r--pkgs/servers/sql/postgresql/generic.nix10
-rw-r--r--pkgs/servers/sql/rqlite/default.nix6
-rw-r--r--pkgs/servers/tailscale/default.nix17
-rw-r--r--pkgs/servers/traefik/default.nix8
-rw-r--r--pkgs/servers/unifiedpush-common-proxies/default.nix2
-rw-r--r--pkgs/servers/web-apps/changedetection-io/default.nix4
-rw-r--r--pkgs/servers/web-apps/jitsi-meet/default.nix4
-rw-r--r--pkgs/servers/web-apps/kavita/default.nix14
-rw-r--r--pkgs/servers/web-apps/kavita/nuget-deps.nix13
-rw-r--r--pkgs/servers/web-apps/wiki-js/default.nix6
-rw-r--r--pkgs/shells/fish/plugins/autopair.nix2
-rw-r--r--pkgs/shells/fish/plugins/hydro.nix2
-rw-r--r--pkgs/shells/hilbish/default.nix4
-rw-r--r--pkgs/shells/hishtory/default.nix6
-rw-r--r--pkgs/shells/nsh/default.nix2
-rw-r--r--pkgs/shells/nushell/default.nix2
-rw-r--r--pkgs/shells/zsh/oh-my-zsh/default.nix6
-rw-r--r--pkgs/shells/zsh/zimfw/default.nix4
-rw-r--r--pkgs/shells/zsh/zsh-prezto/default.nix6
-rw-r--r--pkgs/test/config.nix19
-rw-r--r--pkgs/tools/X11/skippy-xd/default.nix8
-rw-r--r--pkgs/tools/X11/xloadimage/default.nix2
-rw-r--r--pkgs/tools/admin/aliyun-cli/default.nix6
-rw-r--r--pkgs/tools/admin/aws-google-auth/default.nix2
-rw-r--r--pkgs/tools/admin/awsweeper/default.nix2
-rw-r--r--pkgs/tools/admin/azure-cli/default.nix10
-rw-r--r--pkgs/tools/admin/azure-cli/extensions-manual.nix16
-rw-r--r--pkgs/tools/admin/balena-cli/default.nix6
-rw-r--r--pkgs/tools/admin/certigo/default.nix2
-rw-r--r--pkgs/tools/admin/clair/default.nix2
-rw-r--r--pkgs/tools/admin/docker-credential-helpers/default.nix2
-rw-r--r--pkgs/tools/admin/exoscale-cli/default.nix4
-rw-r--r--pkgs/tools/admin/fastlane/default.nix1
-rw-r--r--pkgs/tools/admin/google-cloud-sdk/default.nix3
-rw-r--r--pkgs/tools/admin/granted/default.nix6
-rw-r--r--pkgs/tools/admin/kics/default.nix6
-rw-r--r--pkgs/tools/admin/qovery-cli/default.nix6
-rw-r--r--pkgs/tools/admin/swapspace/default.nix2
-rw-r--r--pkgs/tools/admin/trivy/default.nix4
-rw-r--r--pkgs/tools/admin/winbox/default.nix4
-rw-r--r--pkgs/tools/archivers/rpm2targz/default.nix2
-rw-r--r--pkgs/tools/audio/mpris-scrobbler/default.nix4
-rw-r--r--pkgs/tools/backup/wal-g/default.nix2
-rw-r--r--pkgs/tools/backup/zrepl/default.nix2
-rw-r--r--pkgs/tools/bootloaders/refind/default.nix7
-rw-r--r--pkgs/tools/compression/imagelol/default.nix3
-rw-r--r--pkgs/tools/filesystems/dwarfs/default.nix2
-rw-r--r--pkgs/tools/filesystems/f2fs-tools/default.nix14
-rw-r--r--pkgs/tools/filesystems/genromfs/default.nix11
-rw-r--r--pkgs/tools/filesystems/mount-zip/default.nix28
-rw-r--r--pkgs/tools/filesystems/tar2ext4/default.nix4
-rw-r--r--pkgs/tools/filesystems/ubidump/default.nix42
-rw-r--r--pkgs/tools/filesystems/xtreemfs/default.nix3
-rw-r--r--pkgs/tools/games/minecraft/mcaselector/default.nix12
-rw-r--r--pkgs/tools/games/opentracker/default.nix8
-rw-r--r--pkgs/tools/games/ukmm/Cargo.lock3109
-rw-r--r--pkgs/tools/games/ukmm/default.nix28
-rw-r--r--pkgs/tools/graphics/argyllcms/default.nix4
-rw-r--r--pkgs/tools/graphics/gifski/default.nix2
-rw-r--r--pkgs/tools/graphics/guff/default.nix2
-rw-r--r--pkgs/tools/graphics/hobbits/default.nix4
-rw-r--r--pkgs/tools/graphics/oxipng/default.nix6
-rw-r--r--pkgs/tools/graphics/ploticus/default.nix5
-rw-r--r--pkgs/tools/graphics/resvg/default.nix2
-rw-r--r--pkgs/tools/graphics/shotgun/default.nix2
-rw-r--r--pkgs/tools/graphics/spirv-cross/default.nix2
-rw-r--r--pkgs/tools/graphics/svgbob/default.nix2
-rw-r--r--pkgs/tools/graphics/zbar/default.nix2
-rw-r--r--pkgs/tools/inputmethods/fcitx5/default.nix5
-rw-r--r--pkgs/tools/inputmethods/fcitx5/fcitx5-anthy.nix11
-rw-r--r--pkgs/tools/inputmethods/fcitx5/fcitx5-bamboo.nix4
-rw-r--r--pkgs/tools/inputmethods/fcitx5/fcitx5-chewing.nix4
-rw-r--r--pkgs/tools/inputmethods/fcitx5/fcitx5-chinese-addons.nix8
-rw-r--r--pkgs/tools/inputmethods/fcitx5/fcitx5-configtool.nix4
-rw-r--r--pkgs/tools/inputmethods/fcitx5/fcitx5-gtk.nix4
-rw-r--r--pkgs/tools/inputmethods/fcitx5/fcitx5-hangul.nix4
-rw-r--r--pkgs/tools/inputmethods/fcitx5/fcitx5-lua.nix4
-rw-r--r--pkgs/tools/inputmethods/fcitx5/fcitx5-m17n.nix4
-rw-r--r--pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix4
-rw-r--r--pkgs/tools/inputmethods/fcitx5/fcitx5-rime.nix8
-rw-r--r--pkgs/tools/inputmethods/fcitx5/fcitx5-skk.nix4
-rw-r--r--pkgs/tools/inputmethods/fcitx5/fcitx5-table-extra.nix4
-rw-r--r--pkgs/tools/inputmethods/fcitx5/fcitx5-table-other.nix4
-rw-r--r--pkgs/tools/inputmethods/fcitx5/fcitx5-unikey.nix4
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix14
-rw-r--r--pkgs/tools/misc/android-tools/default.nix4
-rw-r--r--pkgs/tools/misc/betterdiscord-installer/default.nix7
-rw-r--r--pkgs/tools/misc/broot/default.nix6
-rw-r--r--pkgs/tools/misc/chezmoi/default.nix44
-rw-r--r--pkgs/tools/misc/coreboot-utils/default.nix2
-rw-r--r--pkgs/tools/misc/cyberchef/default.nix4
-rw-r--r--pkgs/tools/misc/diffoscope/default.nix38
-rw-r--r--pkgs/tools/misc/digitemp/default.nix2
-rw-r--r--pkgs/tools/misc/envchain/default.nix4
-rw-r--r--pkgs/tools/misc/fclones/default.nix2
-rw-r--r--pkgs/tools/misc/fdupes/default.nix29
-rw-r--r--pkgs/tools/misc/fedifetcher/default.nix2
-rw-r--r--pkgs/tools/misc/fffuu/default.nix5
-rw-r--r--pkgs/tools/misc/ffsend/default.nix2
-rw-r--r--pkgs/tools/misc/flexoptix-app/default.nix5
-rw-r--r--pkgs/tools/misc/fluent-bit/default.nix4
-rw-r--r--pkgs/tools/misc/fortune/default.nix2
-rw-r--r--pkgs/tools/misc/fwup/default.nix4
-rw-r--r--pkgs/tools/misc/gigalixir/default.nix4
-rw-r--r--pkgs/tools/misc/goaccess/default.nix41
-rw-r--r--pkgs/tools/misc/goose/default.nix2
-rw-r--r--pkgs/tools/misc/goreleaser/default.nix1
-rw-r--r--pkgs/tools/misc/hyperledger-fabric/default.nix2
-rw-r--r--pkgs/tools/misc/lsd/default.nix2
-rw-r--r--pkgs/tools/misc/maker-panel/default.nix2
-rw-r--r--pkgs/tools/misc/massren/default.nix2
-rw-r--r--pkgs/tools/misc/mathpix-snipping-tool/default.nix7
-rw-r--r--pkgs/tools/misc/mbuffer/default.nix2
-rw-r--r--pkgs/tools/misc/mise/default.nix12
-rw-r--r--pkgs/tools/misc/mloader/default.nix2
-rw-r--r--pkgs/tools/misc/moar/default.nix4
-rw-r--r--pkgs/tools/misc/mprocs/default.nix2
-rw-r--r--pkgs/tools/misc/mtm/default.nix2
-rw-r--r--pkgs/tools/misc/mutagen/default.nix2
-rw-r--r--pkgs/tools/misc/natls/default.nix2
-rw-r--r--pkgs/tools/misc/ncdu/default.nix10
-rw-r--r--pkgs/tools/misc/noti/default.nix2
-rw-r--r--pkgs/tools/misc/odyssey/default.nix2
-rw-r--r--pkgs/tools/misc/opentelemetry-collector/default.nix6
-rw-r--r--pkgs/tools/misc/ostree/default.nix16
-rw-r--r--pkgs/tools/misc/otel-cli/default.nix10
-rw-r--r--pkgs/tools/misc/otel-cli/patches/bin-echo-patch.patch21
-rw-r--r--pkgs/tools/misc/pgcenter/default.nix2
-rw-r--r--pkgs/tools/misc/pgmetrics/default.nix2
-rw-r--r--pkgs/tools/misc/phrase-cli/default.nix6
-rw-r--r--pkgs/tools/misc/poweralertd/default.nix6
-rw-r--r--pkgs/tools/misc/pspg/default.nix4
-rw-r--r--pkgs/tools/misc/pv/default.nix12
-rw-r--r--pkgs/tools/misc/ripdrag/default.nix6
-rw-r--r--pkgs/tools/misc/rpm-ostree/default.nix4
-rw-r--r--pkgs/tools/misc/scdl/default.nix2
-rw-r--r--pkgs/tools/misc/shadowenv/default.nix2
-rw-r--r--pkgs/tools/misc/snore/default.nix2
-rw-r--r--pkgs/tools/misc/starship/default.nix2
-rw-r--r--pkgs/tools/misc/svtplay-dl/default.nix4
-rw-r--r--pkgs/tools/misc/tmuxp/default.nix18
-rw-r--r--pkgs/tools/misc/trash-cli/default.nix4
-rw-r--r--pkgs/tools/misc/twspace-crawler/default.nix2
-rw-r--r--pkgs/tools/misc/twspace-dl/default.nix2
-rw-r--r--pkgs/tools/misc/via/default.nix6
-rw-r--r--pkgs/tools/misc/vial/default.nix6
-rw-r--r--pkgs/tools/misc/vtm/default.nix4
-rw-r--r--pkgs/tools/misc/wasm-tools/default.nix6
-rw-r--r--pkgs/tools/misc/watchexec/default.nix6
-rw-r--r--pkgs/tools/misc/wootility/default.nix1
-rw-r--r--pkgs/tools/misc/xprite-editor/default.nix2
-rw-r--r--pkgs/tools/misc/yt-dlp/default.nix2
-rw-r--r--pkgs/tools/misc/ytarchive/default.nix2
-rw-r--r--pkgs/tools/misc/z-lua/default.nix2
-rw-r--r--pkgs/tools/misc/zellij/default.nix2
-rw-r--r--pkgs/tools/misc/zotero-translation-server/default.nix2
-rw-r--r--pkgs/tools/networking/apc-temp-fetch/default.nix2
-rw-r--r--pkgs/tools/networking/asleap/default.nix2
-rw-r--r--pkgs/tools/networking/boringtun/default.nix2
-rw-r--r--pkgs/tools/networking/cassowary/default.nix6
-rw-r--r--pkgs/tools/networking/checkip/default.nix6
-rw-r--r--pkgs/tools/networking/cloudflare-warp/default.nix33
-rw-r--r--pkgs/tools/networking/dnsproxy/default.nix6
-rw-r--r--pkgs/tools/networking/fping/default.nix21
-rw-r--r--pkgs/tools/networking/ghz/default.nix1
-rw-r--r--pkgs/tools/networking/goflow2/default.nix10
-rw-r--r--pkgs/tools/networking/gping/default.nix2
-rw-r--r--pkgs/tools/networking/graphqurl/default.nix6
-rw-r--r--pkgs/tools/networking/grpc_cli/default.nix4
-rw-r--r--pkgs/tools/networking/hysteria/default.nix6
-rw-r--r--pkgs/tools/networking/lychee/default.nix6
-rw-r--r--pkgs/tools/networking/minio-client/default.nix6
-rw-r--r--pkgs/tools/networking/mockoon/default.nix2
-rw-r--r--pkgs/tools/networking/motrix/default.nix2
-rw-r--r--pkgs/tools/networking/mqttmultimeter/default.nix6
-rw-r--r--pkgs/tools/networking/networkmanager/default.nix2
-rw-r--r--pkgs/tools/networking/networkmanager/l2tp/default.nix4
-rw-r--r--pkgs/tools/networking/ntttcp/default.nix2
-rw-r--r--pkgs/tools/networking/nzbget/default.nix12
-rw-r--r--pkgs/tools/networking/ockam/default.nix6
-rw-r--r--pkgs/tools/networking/offlineimap/default.nix2
-rw-r--r--pkgs/tools/networking/oha/default.nix6
-rw-r--r--pkgs/tools/networking/openssh/default.nix8
-rw-r--r--pkgs/tools/networking/p2p/gtk-gnutella/default.nix2
-rw-r--r--pkgs/tools/networking/pixiecore/default.nix2
-rw-r--r--pkgs/tools/networking/ratman/default.nix2
-rw-r--r--pkgs/tools/networking/requestly/default.nix2
-rw-r--r--pkgs/tools/networking/shadowsocks-rust/default.nix2
-rw-r--r--pkgs/tools/networking/sing-box/default.nix6
-rw-r--r--pkgs/tools/networking/sitespeed-io/default.nix6
-rw-r--r--pkgs/tools/networking/slirp4netns/default.nix4
-rw-r--r--pkgs/tools/networking/speedtest-go/default.nix4
-rw-r--r--pkgs/tools/networking/xray/default.nix6
-rw-r--r--pkgs/tools/networking/ytcc/default.nix2
-rw-r--r--pkgs/tools/networking/zrok/default.nix8
-rw-r--r--pkgs/tools/networking/zs-apc-spdu-ctl/default.nix2
-rw-r--r--pkgs/tools/networking/zs-wait4host/default.nix2
-rw-r--r--pkgs/tools/package-management/akku/default.nix2
-rw-r--r--pkgs/tools/package-management/comma/default.nix2
-rw-r--r--pkgs/tools/package-management/dnf5/default.nix2
-rw-r--r--pkgs/tools/package-management/nfpm/default.nix2
-rw-r--r--pkgs/tools/package-management/niff/default.nix1
-rw-r--r--pkgs/tools/package-management/nix/default.nix125
-rw-r--r--pkgs/tools/package-management/nix/patches/2_3/CVE-2024-27297.patch375
-rw-r--r--pkgs/tools/package-management/pdm/default.nix40
-rw-r--r--pkgs/tools/package-management/pkg/default.nix4
-rw-r--r--pkgs/tools/security/agebox/default.nix13
-rw-r--r--pkgs/tools/security/arti/default.nix2
-rw-r--r--pkgs/tools/security/biscuit-cli/default.nix6
-rw-r--r--pkgs/tools/security/bpb/default.nix32
-rw-r--r--pkgs/tools/security/buttercup-desktop/default.nix1
-rw-r--r--pkgs/tools/security/cdxgen/default.nix6
-rw-r--r--pkgs/tools/security/cnquery/default.nix6
-rw-r--r--pkgs/tools/security/cnspec/default.nix6
-rw-r--r--pkgs/tools/security/feroxbuster/default.nix6
-rw-r--r--pkgs/tools/security/ghauri/default.nix4
-rw-r--r--pkgs/tools/security/ibm-sw-tpm2/default.nix2
-rw-r--r--pkgs/tools/security/isolate/default.nix16
-rw-r--r--pkgs/tools/security/isolate/take-config-file-from-env.patch19
-rw-r--r--pkgs/tools/security/jadx/default.nix2
-rw-r--r--pkgs/tools/security/kbs2/default.nix2
-rw-r--r--pkgs/tools/security/libmodsecurity/default.nix4
-rw-r--r--pkgs/tools/security/metasploit/Gemfile2
-rw-r--r--pkgs/tools/security/metasploit/Gemfile.lock26
-rw-r--r--pkgs/tools/security/metasploit/default.nix4
-rw-r--r--pkgs/tools/security/metasploit/gemset.nix38
-rw-r--r--pkgs/tools/security/monsoon/default.nix6
-rw-r--r--pkgs/tools/security/nuclei/default.nix6
-rw-r--r--pkgs/tools/security/openpgp-card-tools/default.nix6
-rw-r--r--pkgs/tools/security/ospd-openvas/default.nix9
-rw-r--r--pkgs/tools/security/pinentry-bemenu/default.nix4
-rw-r--r--pkgs/tools/security/prs/default.nix6
-rw-r--r--pkgs/tools/security/rbw/default.nix2
-rw-r--r--pkgs/tools/security/rustscan/default.nix35
-rw-r--r--pkgs/tools/security/semgrep/common.nix16
-rw-r--r--pkgs/tools/security/sops/default.nix2
-rw-r--r--pkgs/tools/security/ssh-audit/default.nix4
-rw-r--r--pkgs/tools/security/step-ca/default.nix37
-rw-r--r--pkgs/tools/security/step-cli/default.nix39
-rw-r--r--pkgs/tools/security/sudo/default.nix2
-rw-r--r--pkgs/tools/security/tpm2-tools/default.nix2
-rw-r--r--pkgs/tools/security/trufflehog/default.nix6
-rw-r--r--pkgs/tools/system/acpica-tools/default.nix2
-rw-r--r--pkgs/tools/system/ctop/default.nix2
-rw-r--r--pkgs/tools/system/dell-command-configure/default.nix5
-rw-r--r--pkgs/tools/system/kmon/default.nix2
-rw-r--r--pkgs/tools/text/csview/default.nix6
-rw-r--r--pkgs/tools/text/diffsitter/default.nix6
-rw-r--r--pkgs/tools/text/ltex-ls/default.nix2
-rw-r--r--pkgs/tools/text/opencc/default.nix18
-rw-r--r--pkgs/tools/text/ov/default.nix4
-rw-r--r--pkgs/tools/text/paperoni/default.nix2
-rw-r--r--pkgs/tools/text/patchutils/0.4.2.nix1
-rw-r--r--pkgs/tools/text/patchutils/Revert-Fix-grepdiff-test.patch38
-rw-r--r--pkgs/tools/text/readability-cli/default.nix2
-rw-r--r--pkgs/tools/text/tml/default.nix4
-rw-r--r--pkgs/tools/text/vale/default.nix5
-rw-r--r--pkgs/tools/text/zstxtns-utils/default.nix2
-rw-r--r--pkgs/tools/typesetting/pulldown-cmark/default.nix6
-rw-r--r--pkgs/tools/typesetting/satysfi/default.nix2
-rw-r--r--pkgs/tools/typesetting/tex/pgf-tikz/pgf-2.x.nix2
-rw-r--r--pkgs/tools/typesetting/tex/texlive/bin.nix2
-rw-r--r--pkgs/tools/typesetting/tex/texlive/build-texlive-package.nix209
-rw-r--r--pkgs/tools/typesetting/tex/texlive/default.nix24
-rw-r--r--pkgs/tools/typesetting/tex/texlive/tl2nix.sed9
-rw-r--r--pkgs/tools/typesetting/tex/texlive/tlpdb-overrides.nix10
-rw-r--r--pkgs/tools/typesetting/tex/texlive/tlpdb.nix4691
-rw-r--r--pkgs/tools/video/go2rtc/default.nix6
-rw-r--r--pkgs/tools/video/xjadeo/default.nix4
-rwxr-xr-xpkgs/tools/virtualization/nixos-container/nixos-container.pl4
-rw-r--r--pkgs/tools/wayland/gtklock/default.nix34
-rw-r--r--pkgs/tools/wayland/gtklock/playerctl-module.nix4
-rw-r--r--pkgs/tools/wayland/gtklock/powerbar-module.nix4
-rw-r--r--pkgs/tools/wayland/gtklock/userinfo-module.nix4
-rw-r--r--pkgs/tools/wayland/hyprland-per-window-layout/default.nix6
-rw-r--r--pkgs/tools/wayland/kanshi/default.nix11
-rw-r--r--pkgs/tools/wayland/mpvpaper/default.nix4
-rw-r--r--pkgs/tools/wayland/sirula/default.nix2
-rw-r--r--pkgs/tools/wayland/waynergy/default.nix4
-rw-r--r--pkgs/tools/wayland/wl-clip-persist/default.nix40
-rw-r--r--pkgs/tools/wayland/wl-mirror/default.nix2
-rw-r--r--pkgs/top-level/aliases.nix7
-rw-r--r--pkgs/top-level/all-packages.nix176
-rw-r--r--pkgs/top-level/beam-packages.nix2
-rw-r--r--pkgs/top-level/config.nix6
-rw-r--r--pkgs/top-level/coq-packages.nix2
-rw-r--r--pkgs/top-level/haskell-packages.nix4
-rw-r--r--pkgs/top-level/java-packages.nix1
-rw-r--r--pkgs/top-level/linux-kernels.nix2
-rw-r--r--pkgs/top-level/make-tarball.nix63
-rw-r--r--pkgs/top-level/ocaml-packages.nix21
-rw-r--r--pkgs/top-level/perl-packages.nix10
-rw-r--r--pkgs/top-level/python-packages.nix42
-rw-r--r--pkgs/top-level/release-haskell.nix78
-rw-r--r--pkgs/top-level/release-small.nix2
-rw-r--r--pkgs/top-level/release.nix2
-rw-r--r--pkgs/top-level/ruby-packages.nix21
2121 files changed, 40384 insertions, 20061 deletions
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 7ddc221d21c10..109b64d7392ab 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -13,7 +13,6 @@
 
 # GitHub actions
 /.github/workflows @NixOS/Security @Mic92 @zowoq
-/.github/workflows/merge-staging @FRidh
 
 # EditorConfig
 /.editorconfig @Mic92 @zowoq
@@ -125,10 +124,8 @@ nixos/modules/installer/tools/nix-fallback-paths.nix  @raitobezarius @ma27
 /pkgs/common-updater/scripts/update-source-version    @jtojnar
 
 # Python-related code and docs
-/maintainers/scripts/update-python-libraries	              @FRidh
-/pkgs/development/interpreters/python                       @FRidh
-/doc/languages-frameworks/python.section.md                 @FRidh @mweinelt
-/pkgs/development/interpreters/python/hooks                 @FRidh @jonringer
+/doc/languages-frameworks/python.section.md                 @mweinelt
+/pkgs/development/interpreters/python/hooks                 @jonringer
 
 # Haskell
 /doc/languages-frameworks/haskell.section.md  @sternenseemann @maralorn @ncfavier
@@ -148,10 +145,6 @@ nixos/modules/installer/tools/nix-fallback-paths.nix  @raitobezarius @ma27
 /pkgs/applications/science/math/R   @jbedo
 /pkgs/development/r-modules         @jbedo
 
-# Ruby
-/pkgs/development/interpreters/ruby @marsam
-/pkgs/development/ruby-modules      @marsam
-
 # Rust
 /pkgs/development/compilers/rust @Mic92 @zowoq @winterqt @figsoda
 /pkgs/build-support/rust @zowoq @winterqt @figsoda
@@ -198,7 +191,7 @@ pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt
 /maintainers/scripts/kde @K900 @NickCao @SuperSandro2000 @ttuegel
 
 # PostgreSQL and related stuff
-/pkgs/servers/sql/postgresql @thoughtpolice @marsam
+/pkgs/servers/sql/postgresql @thoughtpolice
 /nixos/modules/services/databases/postgresql.xml @thoughtpolice
 /nixos/modules/services/databases/postgresql.nix @thoughtpolice
 /nixos/tests/postgresql.nix @thoughtpolice
diff --git a/.github/labeler.yml b/.github/labeler.yml
index d7adc601e5808..b88f7f5179eca 100644
--- a/.github/labeler.yml
+++ b/.github/labeler.yml
@@ -369,3 +369,8 @@
     - changed-files:
       - any-glob-to-any-file:
         - nixos/modules/**/*
+"8.has: maintainer-list (update)":
+  - any:
+    - changed-files:
+      - any-glob-to-any-file:
+        - maintainers/maintainer-list.nix
diff --git a/.github/workflows/backport.yml b/.github/workflows/backport.yml
index 612923fbe6f15..7a168d14a4791 100644
--- a/.github/workflows/backport.yml
+++ b/.github/workflows/backport.yml
@@ -20,7 +20,7 @@ jobs:
     if: github.repository_owner == 'NixOS' && github.event.pull_request.merged == true && (github.event_name != 'labeled' || startsWith('backport', github.event.label.name))
     runs-on: ubuntu-latest
     steps:
-      - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
+      - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
         with:
           ref: ${{ github.event.pull_request.head.sha }}
       - name: Create backport PRs
diff --git a/.github/workflows/basic-eval.yml b/.github/workflows/basic-eval.yml
index ff9e6d5a3814e..6059ba7849591 100644
--- a/.github/workflows/basic-eval.yml
+++ b/.github/workflows/basic-eval.yml
@@ -18,7 +18,7 @@ jobs:
     runs-on: ubuntu-latest
     # we don't limit this action to only NixOS repo since the checks are cheap and useful developer feedback
     steps:
-    - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
+    - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
     - uses: cachix/install-nix-action@8887e596b4ee1134dae06b98d573bd674693f47c # v26
     - uses: cachix/cachix-action@18cf96c7c98e048e10a83abd92116114cd8504be # v14
       with:
diff --git a/.github/workflows/check-by-name.yml b/.github/workflows/check-by-name.yml
index a5070679c9d07..8e2011cb6d52a 100644
--- a/.github/workflows/check-by-name.yml
+++ b/.github/workflows/check-by-name.yml
@@ -20,6 +20,13 @@ permissions:
   # We need this permission to cancel the workflow run if there's a merge conflict
   actions: write
 
+# Create a check-by-name concurrency group based on the pull request number. if
+# an event triggers a run on the same PR while a previous run is still in
+# progress, the previous run will be canceled and the new one will start.
+concurrency:
+  group: check-by-name-${{ github.event.pull_request.number }}
+  cancel-in-progress: true
+
 jobs:
   check:
     # This needs to be x86_64-linux, because we depend on the tooling being pre-built in the GitHub releases
@@ -39,7 +46,7 @@ jobs:
           # https://docs.github.com/en/rest/guides/using-the-rest-api-to-interact-with-your-git-database?apiVersion=2022-11-28#checking-mergeability-of-pull-requests
 
           # Retry the API query this many times
-          retryCount=3
+          retryCount=5
           # Start with 5 seconds, but double every retry
           retryInterval=5
           while true; do
@@ -84,7 +91,7 @@ jobs:
             exit 1
           fi
           echo "mergedSha=$mergedSha" >> "$GITHUB_ENV"
-      - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
+      - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
         with:
           # pull_request_target checks out the base branch by default
           ref: ${{ env.mergedSha }}
diff --git a/.github/workflows/check-cherry-picks.yml b/.github/workflows/check-cherry-picks.yml
index 82a8eca01adf0..f8d2445941656 100644
--- a/.github/workflows/check-cherry-picks.yml
+++ b/.github/workflows/check-cherry-picks.yml
@@ -12,7 +12,7 @@ jobs:
     runs-on: ubuntu-latest
     if: github.repository_owner == 'NixOS'
     steps:
-    - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
+    - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
       with:
         fetch-depth: 0
         filter: blob:none
diff --git a/.github/workflows/check-maintainers-sorted.yaml b/.github/workflows/check-maintainers-sorted.yaml
index 6c3eb37236682..062522928c2ac 100644
--- a/.github/workflows/check-maintainers-sorted.yaml
+++ b/.github/workflows/check-maintainers-sorted.yaml
@@ -12,7 +12,7 @@ jobs:
     runs-on: ubuntu-latest
     if: github.repository_owner == 'NixOS'
     steps:
-      - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
+      - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
         with:
           # pull_request_target checks out the base branch by default
           ref: refs/pull/${{ github.event.pull_request.number }}/merge
diff --git a/.github/workflows/check-nix-format.yml b/.github/workflows/check-nix-format.yml
index 31e105281a77d..aca8808fa261b 100644
--- a/.github/workflows/check-nix-format.yml
+++ b/.github/workflows/check-nix-format.yml
@@ -15,7 +15,7 @@ jobs:
     runs-on: ubuntu-latest
     if: github.repository_owner == 'NixOS'
     steps:
-      - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
+      - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
         with:
           # pull_request_target checks out the base branch by default
           ref: refs/pull/${{ github.event.pull_request.number }}/merge
diff --git a/.github/workflows/editorconfig.yml b/.github/workflows/editorconfig.yml
index e0a264cf485f9..bb864ace316b2 100644
--- a/.github/workflows/editorconfig.yml
+++ b/.github/workflows/editorconfig.yml
@@ -24,7 +24,7 @@ jobs:
     - name: print list of changed files
       run: |
         cat "$HOME/changed_files"
-    - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
+    - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
       with:
         # pull_request_target checks out the base branch by default
         ref: refs/pull/${{ github.event.pull_request.number }}/merge
diff --git a/.github/workflows/manual-nixos.yml b/.github/workflows/manual-nixos.yml
index 8e6dd17d3168d..ac5532a25370d 100644
--- a/.github/workflows/manual-nixos.yml
+++ b/.github/workflows/manual-nixos.yml
@@ -14,7 +14,7 @@ jobs:
     runs-on: ubuntu-latest
     if: github.repository_owner == 'NixOS'
     steps:
-      - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
+      - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
         with:
           # pull_request_target checks out the base branch by default
           ref: refs/pull/${{ github.event.pull_request.number }}/merge
diff --git a/.github/workflows/manual-nixpkgs.yml b/.github/workflows/manual-nixpkgs.yml
index f3347a92d1f88..672ebf61ac778 100644
--- a/.github/workflows/manual-nixpkgs.yml
+++ b/.github/workflows/manual-nixpkgs.yml
@@ -16,7 +16,7 @@ jobs:
     runs-on: ubuntu-latest
     if: github.repository_owner == 'NixOS'
     steps:
-      - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
+      - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
         with:
           # pull_request_target checks out the base branch by default
           ref: refs/pull/${{ github.event.pull_request.number }}/merge
diff --git a/.github/workflows/nix-parse.yml b/.github/workflows/nix-parse.yml
index a45198f1475e1..b86594e0d53bb 100644
--- a/.github/workflows/nix-parse.yml
+++ b/.github/workflows/nix-parse.yml
@@ -24,7 +24,7 @@ jobs:
         if [[ -s "$HOME/changed_files" ]]; then
           echo "CHANGED_FILES=$HOME/changed_files" > "$GITHUB_ENV"
         fi
-    - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
+    - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
       with:
         # pull_request_target checks out the base branch by default
         ref: refs/pull/${{ github.event.pull_request.number }}/merge
diff --git a/.github/workflows/periodic-merge-24h.yml b/.github/workflows/periodic-merge-24h.yml
index eba0d6cae3e2c..d9ad593618aea 100644
--- a/.github/workflows/periodic-merge-24h.yml
+++ b/.github/workflows/periodic-merge-24h.yml
@@ -41,7 +41,7 @@ jobs:
             into: staging-23.11
     name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
     steps:
-      - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
+      - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
 
       - name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
         uses: devmasx/merge-branch@854d3ac71ed1e9deb668e0074781b81fdd6e771f # 1.4.0
diff --git a/.github/workflows/periodic-merge-6h.yml b/.github/workflows/periodic-merge-6h.yml
index 986b7013d0e7e..a3131e8025342 100644
--- a/.github/workflows/periodic-merge-6h.yml
+++ b/.github/workflows/periodic-merge-6h.yml
@@ -39,7 +39,7 @@ jobs:
             into: staging
     name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
     steps:
-      - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
+      - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
 
       - name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
         uses: devmasx/merge-branch@854d3ac71ed1e9deb668e0074781b81fdd6e771f # 1.4.0
diff --git a/.github/workflows/update-terraform-providers.yml b/.github/workflows/update-terraform-providers.yml
index 8f85ad89e2f75..36d84d617dc46 100644
--- a/.github/workflows/update-terraform-providers.yml
+++ b/.github/workflows/update-terraform-providers.yml
@@ -16,7 +16,7 @@ jobs:
     if: github.repository_owner == 'NixOS' && github.ref == 'refs/heads/master' # ensure workflow_dispatch only runs on master
     runs-on: ubuntu-latest
     steps:
-      - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
+      - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
       - uses: cachix/install-nix-action@8887e596b4ee1134dae06b98d573bd674693f47c # v26
         with:
           nix_path: nixpkgs=channel:nixpkgs-unstable
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 4b1a12362f39a..8d54124acfd79 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -512,6 +512,7 @@ To get a sense for what changes are considered mass rebuilds, see [previously me
 - Check for unnecessary whitespace with `git diff --check` before committing.
 
 - If you have commits `pkg-name: oh, forgot to insert whitespace`: squash commits in this case. Use `git rebase -i`.
+  See [Squashing Commits](https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History#_squashing) for additional information.
 
 - For consistency, there should not be a period at the end of the commit message's summary line (the first line of the commit message).
 
diff --git a/doc/build-helpers/special/fhs-environments.section.md b/doc/build-helpers/special/fhs-environments.section.md
index 8145fbd730f7e..918d1e8c2951d 100644
--- a/doc/build-helpers/special/fhs-environments.section.md
+++ b/doc/build-helpers/special/fhs-environments.section.md
@@ -6,7 +6,11 @@ It uses Linux' namespaces feature to create temporary lightweight environments w
 Accepted arguments are:
 
 - `name`
-        The name of the environment and the wrapper executable.
+        The name of the environment, and the wrapper executable if `pname` is unset.
+- `pname`
+        The pname of the environment and the wrapper executable.
+- `version`
+        The version of the environment.
 - `targetPkgs`
         Packages to be installed for the main host's architecture (i.e. x86_64 on x86_64 installations). Along with libraries binaries are also installed.
 - `multiPkgs`
diff --git a/doc/languages-frameworks/python.section.md b/doc/languages-frameworks/python.section.md
index 3b737333308da..6fcae4b6520d9 100644
--- a/doc/languages-frameworks/python.section.md
+++ b/doc/languages-frameworks/python.section.md
@@ -878,7 +878,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/pytoolz/toolz";
     description = "List processing tools and functional utilities";
     license = lib.licenses.bsd3;
-    maintainers = with lib.maintainers; [ fridh ];
   };
 }
 ```
@@ -1013,7 +1012,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/ContinuumIO/datashape";
     description = "A data description language";
     license = lib.licenses.bsd2;
-    maintainers = with lib.maintainers; [ fridh ];
   };
 }
 ```
@@ -1134,7 +1132,6 @@ buildPythonPackage rec {
     description = "A pythonic wrapper around FFTW, the FFT library, presenting a unified interface for all the supported transforms";
     homepage = "http://hgomersall.github.com/pyFFTW";
     license = with lib.licenses; [ bsd2 bsd3 ];
-    maintainers = with lib.maintainers; [ fridh ];
   };
 }
 ```
@@ -1494,7 +1491,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/pytoolz/toolz/";
     description = "List processing tools and functional utilities";
     license = lib.licenses.bsd3;
-    maintainers = with lib.maintainers; [ fridh ];
   };
 }
 ```
diff --git a/lib/licenses.nix b/lib/licenses.nix
index 035907ed921ee..49c7a4a353ecb 100644
--- a/lib/licenses.nix
+++ b/lib/licenses.nix
@@ -1168,6 +1168,11 @@ in mkLicense lset) ({
     # channel and NixOS images.
   };
 
+  unicode-30 = {
+    spdxId = "Unicode-3.0";
+    fullName = "Unicode License v3";
+  };
+
   unicode-dfs-2015 = {
     spdxId = "Unicode-DFS-2015";
     fullName = "Unicode License Agreement - Data Files and Software (2015)";
diff --git a/lib/systems/examples.nix b/lib/systems/examples.nix
index 75578b9749454..b16445eadfea8 100644
--- a/lib/systems/examples.nix
+++ b/lib/systems/examples.nix
@@ -235,6 +235,11 @@ rec {
     libc = "newlib";
   };
 
+  microblaze-embedded = {
+    config = "microblazeel-none-elf";
+    libc = "newlib";
+  };
+
   #
   # Redox
   #
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 7641288dceaf6..6827bb944bc03 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -1086,12 +1086,6 @@
     githubId = 153175;
     name = "Andrew Marshall";
   };
-  amaxine = {
-    email = "max@ine.dev";
-    github = "amaxine";
-    githubId = 35892750;
-    name = "Maxine Aubrey";
-  };
   ambroisie = {
     email = "bruno.nixpkgs@belanyi.fr";
     github = "ambroisie";
@@ -1247,12 +1241,6 @@
     githubId = 962885;
     name = "Andrew Chambers";
   };
-  andrew-d = {
-    email = "andrew@du.nham.ca";
-    github = "andrew-d";
-    githubId = 1079173;
-    name = "Andrew Dunham";
-  };
   andrewrk = {
     email = "superjoe30@gmail.com";
     github = "andrewrk";
@@ -1803,11 +1791,6 @@
       fingerprint = "409D 201E 9450 8732 A49E  D0FC 6BDA F874 0068 08DF";
     }];
   };
-  ashvith-shetty = {
-    github = "Ashvith10";
-    githubId = 113123021;
-    name = "Ashvith Shetty";
-  };
   asininemonkey = {
     email = "nixpkgs@asininemonkey.com";
     github = "asininemonkey";
@@ -1848,6 +1831,12 @@
     githubId = 7745457;
     name = "Astavie";
   };
+  astindev = {
+    email = "astindev@pm.me";
+    github = "astindev";
+    githubId = 52360869;
+    name = "Astin";
+  };
   astro = {
     email = "astro@spaceboyz.net";
     github = "astro";
@@ -2028,6 +2017,12 @@
     githubId = 687218;
     name = "averelld";
   };
+  avery = {
+    email = "nixpkgs@avery.cafe";
+    github = "coolavery";
+    githubId = 76545554;
+    name = "Avery";
+  };
   avh4 = {
     email = "gruen0aermel@gmail.com";
     github = "avh4";
@@ -3551,12 +3546,6 @@
     githubId = 1118859;
     name = "Scott Worley";
   };
-  ChlorideCull = {
-    email = "nixrelated@chcl.se";
-    github = "ChlorideCull";
-    githubId = 4977063;
-    name = "Sebastian Johansson";
-  };
   choochootrain = {
     email = "hurshal@imap.cc";
     github = "choochootrain";
@@ -4352,12 +4341,6 @@
     githubId = 990767;
     name = "Daniel Olsen";
   };
-  danderson = {
-    email = "dave@natulte.net";
-    github = "danderson";
-    githubId = 1918;
-    name = "David Anderson";
-  };
   daneads = {
     email = "me@daneads.com";
     github = "daneads";
@@ -4774,12 +4757,6 @@
     githubId = 150736012;
     email = "me+git@delliott.xyz";
   };
-  delroth = {
-    email = "delroth@gmail.com";
-    github = "delroth";
-    githubId = 202798;
-    name = "Pierre Bourdon";
-  };
   delta = {
     email = "d4delta@outlook.fr";
     github = "D4Delta";
@@ -5957,12 +5934,6 @@
     name = "Zhenbo Li";
     matrix = "@zhenbo:matrix.org";
   };
-  endocrimes = {
-    email = "dani@builds.terrible.systems";
-    github = "endocrimes";
-    githubId = 1330683;
-    name = "Danielle Lancashire";
-  };
   enorris = {
     name = "Eric Norris";
     email = "erictnorris@gmail.com";
@@ -6492,16 +6463,6 @@
     githubId = 541748;
     name = "Felipe Espinoza";
   };
-  federicoschonborn = {
-    name = "Federico Damián Schonborn";
-    email = "federicoschonborn@disroot.org";
-    github = "FedericoSchonborn";
-    githubId = 62166915;
-    matrix = "@FedericoDSchonborn:matrix.org";
-    keys = [
-      { fingerprint = "C43F 4052 D289 3B73 33F8  0259 E4F6 F544 DE9E 29E8"; }
-    ];
-  };
   fedx-sudo = {
     email = "fedx-sudo@pm.me";
     github = "FedX-sudo";
@@ -6740,12 +6701,6 @@
     githubId = 5918766;
     name = "Franz Thoma";
   };
-  fogti = {
-    name = "Alain Fogtia Zscheile";
-    email = "fogti+devel@ytrizja.de";
-    github = "fogti";
-    githubId = 1618343;
-  };
   foo-dogsquared = {
     email = "foodogsquared@foodogsquared.one";
     github = "foo-dogsquared";
@@ -7207,6 +7162,12 @@
     githubId = 40209356;
     name = "Gabriel Doriath Döhler";
   };
+  gdifolco = {
+    email = "gautier.difolco@gmail.com";
+    github = "blackheaven";
+    githubId = 1362807;
+    name = "Gautier Di Folco";
+  };
   gdinh = {
     email = "nix@contact.dinh.ai";
     github = "gdinh";
@@ -7387,12 +7348,6 @@
     githubId = 104317939;
     name = "gilice";
   };
-  gilligan = {
-    email = "tobias.pflug@gmail.com";
-    github = "gilligan";
-    githubId = 27668;
-    name = "Tobias Pflug";
-  };
   gin66 = {
     email = "jochen@kiemes.de";
     github = "gin66";
@@ -9139,6 +9094,12 @@
     github = "joshua-cooper";
     githubId = 35612334;
   };
+  jcaesar = {
+    name = "Julius Michaelis";
+    matrix = "@julius:mtx.liftm.de";
+    github = "jcaesar";
+    githubId = 1753388;
+  };
   jceb = {
     name = "Jan Christoph Ebersbach";
     email = "jceb@e-jc.de";
@@ -9491,6 +9452,12 @@
       fingerprint = "B768 6CD7 451A 650D 9C54  4204 6710 CF0C 1CBD 7762";
     }];
   };
+  jlbribeiro = {
+    email = "nix@jlbribeiro.com";
+    github = "jlbribeiro";
+    githubId = 1015816;
+    name = "José Ribeiro";
+  };
   jleightcap = {
     email = "jack@leightcap.com";
     github = "jleightcap";
@@ -9897,6 +9864,11 @@
     github = "jpagex";
     githubId = 635768;
   };
+  jpaju = {
+    name = "Jaakko Paju";
+    github = "jpaju";
+    githubId = 36770267;
+  };
   jpas = {
     name = "Jarrod Pas";
     email = "jarrod@jarrodpas.com";
@@ -10381,15 +10353,6 @@
     github = "keenanweaver";
     githubId = 37268985;
   };
-  keksbg = {
-    email = "keksbg@riseup.net";
-    name = "Stella";
-    github = "keksbg";
-    githubId = 10682187;
-    keys = [{
-      fingerprint = "AB42 1F18 5A19 A160 AD77  9885 3D6D CA5B 6F2C 2A7A";
-    }];
-  };
   keldu = {
     email = "mail@keldu.de";
     github = "keldu";
@@ -10836,6 +10799,12 @@
     githubId = 2037002;
     name = "Konstantinos";
   };
+  kotatsuyaki = {
+    email = "kotatsuyaki@mail.kotatsu.dev";
+    github = "kotatsuyaki";
+    githubId = 17219127;
+    name = "kotatsuyaki";
+  };
   kouyk = {
     email = "skykinetic@stevenkou.xyz";
     github = "kouyk";
@@ -11013,6 +10982,12 @@
     githubId = 2422454;
     name = "Kai Wohlfahrt";
   };
+  kylecarbs = {
+    name = "Kyle Carberry";
+    email = "kyle@carberry.com";
+    github = "kylecarbs";
+    githubId = 7122116;
+  };
   kylehendricks = {
     name = "Kyle Hendricks";
     email = "kyle-github@mail.hendricks.nu";
@@ -11633,12 +11608,6 @@
     githubId = 918448;
     name = "Anthony Lodi";
   };
-  loewenheim = {
-    email = "loewenheim@mailbox.org";
-    github = "loewenheim";
-    githubId = 7622248;
-    name = "Sebastian Zivota";
-  };
   logo = {
     email = "logo4poop@protonmail.com";
     matrix = "@logo4poop:matrix.org";
@@ -12383,11 +12352,6 @@
     githubId = 1709273;
     name = "Robin Hack";
   };
-  marsam = {
-    github = "marsam";
-    githubId = 65531;
-    name = "Mario Rodas";
-  };
   marsupialgutz = {
     email = "mars@possums.xyz";
     github = "pupbrained";
@@ -13630,12 +13594,6 @@
     githubId = 20026143;
     name = "Katona László";
   };
-  MP2E = {
-    email = "MP2E@archlinux.us";
-    github = "MP2E";
-    githubId = 167708;
-    name = "Cray Elliott";
-  };
   mpcsh = {
     email = "m@mpc.sh";
     github = "mpcsh";
@@ -13751,15 +13709,6 @@
     githubId = 3856390;
     email = "mschwaig+nixpkgs@eml.cc";
   };
-  msfjarvis = {
-    github = "msfjarvis";
-    githubId = 13348378;
-    name = "Harsh Shandilya";
-    email = "nixos@msfjarvis.dev";
-    keys = [{
-      fingerprint = "8F87 050B 0F9C B841 1515  7399 B784 3F82 3355 E9B9";
-    }];
-  };
   msiedlarek = {
     email = "mikolaj@siedlarek.pl";
     github = "msiedlarek";
@@ -14679,12 +14628,6 @@
     githubId = 126072875;
     name = "nova madeline";
   };
-  novenary = {
-    email = "streetwalkermc@gmail.com";
-    github = "9ary";
-    githubId = 1155030;
-    name = "novenary";
-  };
   novoxd = {
     email = "radnovox@gmail.com";
     github = "novoxd";
@@ -15375,12 +15318,6 @@
     githubId = 72527881;
     name = "PassiveLemon";
   };
-  patka = {
-    email = "patka@patka.dev";
-    github = "patka-123";
-    githubId = 69802930;
-    name = "patka";
-  };
   patricksjackson = {
     email = "patrick@jackson.dev";
     github = "patricksjackson";
@@ -16382,6 +16319,12 @@
     githubId = 5636;
     name = "Steve Purcell";
   };
+  purrpurrn = {
+    email = "scrcpynovideoaudiocodecraw+nixpkgs@gmail.com";
+    github = "purrpurrn";
+    githubId = 142632643;
+    name = "purrpurrn";
+  };
   putchar = {
     email = "slim.cadoux@gmail.com";
     matrix = "@putch4r:matrix.org";
@@ -16407,6 +16350,16 @@
     githubId = 4579165;
     name = "Danny Bautista";
   };
+  pyrox0 = {
+    name = "Pyrox";
+    email = "pyrox@pyrox.dev";
+    matrix = "@pyrox:pyrox.dev";
+    github = "pyrox0";
+    githubId = 35778371;
+    keys = [{
+      fingerprint = "4CA9 72FB ADC8 1416 0F10  3138 FE1D 8A7D 620C 611F";
+    }];
+  };
   pyxels = {
     email = "pyxels.dev@gmail.com";
     github = "Pyxels";
@@ -17083,6 +17036,12 @@
     githubId = 37246692;
     name = "Riley Inman";
   };
+  rinx = {
+    email = "rintaro.okamura@gmail.com";
+    github = "rinx";
+    githubId = 1588935;
+    name = "Rintaro Okamura";
+  };
   riotbib = {
     email = "lennart@cope.cool";
     github = "riotbib";
@@ -19050,12 +19009,6 @@
     githubId = 16364318;
     name = "Jeffrey Harmon";
   };
-  srapenne = {
-    email = "solene@perso.pw";
-    github = "rapenne-s";
-    githubId = 248016;
-    name = "Solène Rapenne";
-  };
   srghma = {
     email = "srghma@gmail.com";
     github = "srghma";
@@ -20018,16 +19971,6 @@
     github = "thefossguy";
     githubId = 44400303;
   };
-  thehedgeh0g = {
-    name = "The Hedgehog";
-    email = "hedgehog@mrhedgehog.xyz";
-    matrix = "@mrhedgehog:jupiterbroadcasting.com";
-    github = "pyrox0";
-    githubId = 35778371;
-    keys = [{
-      fingerprint = "38A0 29B0 4A7E 4C13 A4BB  86C8 7D51 0786 6B1C 6752";
-    }];
-  };
   thekostins = {
     name = "Konstantin";
     email = "anisimovkosta19@gmail.com";
@@ -20302,12 +20245,6 @@
     github = "tirimia";
     githubId = 11174371;
   };
-  titanous = {
-    email = "jonathan@titanous.com";
-    github = "titanous";
-    githubId = 13026;
-    name = "Jonathan Rudenberg";
-  };
   tjni = {
     email = "43ngvg@masqt.com";
     matrix = "@tni:matrix.org";
@@ -20403,12 +20340,6 @@
     githubId = 74688871;
     name = "Tochukwu Ahanonu";
   };
-  tokudan = {
-    email = "git@danielfrank.net";
-    github = "tokudan";
-    githubId = 692610;
-    name = "Daniel Frank";
-  };
   tomahna = {
     email = "kevin.rauscher@tomahna.fr";
     github = "Tomahna";
@@ -20728,12 +20659,6 @@
     githubId = 131159000;
     name = "Nitin Passa";
   };
-  twitchyliquid64 = {
-    name = "Tom";
-    email = "twitchyliquid64@ciphersink.net";
-    github = "twitchyliquid64";
-    githubId = 6328589;
-  };
   twz123 = {
     name = "Tom Wieczorek";
     email = "tom@bibbu.net";
@@ -21937,7 +21862,8 @@
   };
   xgwq = {
     name = "XGWQ";
-    email = "nixos@xnee.de";
+    email = "nixos.xgwq@xnee.net";
+    keys = [{ fingerprint = "6489 9EF2 A256 5C04 7426  686C 8337 A748 74EB E129"; }];
     matrix = "@xgwq:nerdberg.de";
     github = "peterablehmann";
     githubId = 36541313;
@@ -22323,6 +22249,12 @@
     githubId = 179548;
     name = "Yves Fischer";
   };
+  YvesStraten = {
+    email = "yves.straten@gmail.com";
+    github = "YvesStraten";
+    githubId = 65394961;
+    name = "Yves Straten";
+  };
   yvt = {
     email = "i@yvt.jp";
     github = "yvt";
@@ -22551,12 +22483,6 @@
     githubId = 51886259;
     name = "Zokre Zyl";
   };
-  zombiezen = {
-    name = "Ross Light";
-    email = "ross@zombiezen.com";
-    github = "zombiezen";
-    githubId = 181535;
-  };
   zookatron = {
     email = "tim@zookatron.com";
     github = "zookatron";
@@ -22598,12 +22524,6 @@
     githubId = 393108;
     name = "Damien Diederen";
   };
-  zumorica = {
-    name = "Vera Aguilera Puerto";
-    email = "gradientvera+nix@outlook.com";
-    github = "Zumorica";
-    githubId = 6766154;
-  };
   zupo = {
     name = "Nejc Zupan";
     email = "nejczupan+nix@gmail.com";
diff --git a/maintainers/scripts/eval-release.nix b/maintainers/scripts/eval-release.nix
index 10acfe3284470..fb830981683f3 100644
--- a/maintainers/scripts/eval-release.nix
+++ b/maintainers/scripts/eval-release.nix
@@ -5,7 +5,7 @@ let
 
   trace = if builtins.getEnv "VERBOSE" == "1" then builtins.trace else (x: y: y);
 
-  rel = removeAttrs (import ../../pkgs/top-level/release.nix { }) [ "tarball" "unstable" "xbursttools" ];
+  rel = removeAttrs (import ../../pkgs/top-level/release.nix { }) [ "tarball" "unstable" ];
 
   # Add the ‘recurseForDerivations’ attribute to ensure that
   # nix-instantiate recurses into nested attribute sets.
diff --git a/maintainers/scripts/luarocks-packages.csv b/maintainers/scripts/luarocks-packages.csv
index a4e46e6991bc9..4b41b78875124 100644
--- a/maintainers/scripts/luarocks-packages.csv
+++ b/maintainers/scripts/luarocks-packages.csv
@@ -5,11 +5,11 @@ argparse,,,,,,
 basexx,,,,,,
 binaryheap,,,,,,vcunat
 busted,,,,,,
-cassowary,,,,,,marsam alerque
+cassowary,,,,,,alerque
 cldr,,,,,,alerque
 compat53,,,,,,vcunat
 commons.nvim,,,,,,mrcjkb
-cosmo,,,,,,marsam
+cosmo,,,,,,
 coxpcall,,,,1.17.0-1,,
 cqueues,,,,,,vcunat
 cyan,,,,,,
diff --git a/maintainers/team-list.nix b/maintainers/team-list.nix
index 412cafb627d6c..08aa297a7c109 100644
--- a/maintainers/team-list.nix
+++ b/maintainers/team-list.nix
@@ -32,7 +32,6 @@ with lib.maintainers; {
   acme = {
     members = [
       aanderse
-      andrew-d
       arianvp
       emily
       flokli
@@ -46,7 +45,6 @@ with lib.maintainers; {
   bazel = {
     members = [
       mboes
-      marsam
       uri-canva
       cbley
       olebedev
@@ -99,7 +97,6 @@ with lib.maintainers; {
   budgie = {
     members = [
       bobby285271
-      federicoschonborn
     ];
     scope = "Maintain Budgie desktop environment";
     shortName = "Budgie";
@@ -265,9 +262,7 @@ with lib.maintainers; {
   };
 
   docs = {
-    members = [
-      ryantm
-    ];
+    members = [ ];
     scope = "Maintain nixpkgs/NixOS documentation and tools for building it.";
     shortName = "Docs";
     enableFeatureFreezePing = true;
@@ -380,7 +375,6 @@ with lib.maintainers; {
       krav
       talyz
       yayayayaka
-      yuka
     ];
     scope = "Maintain gitlab packages.";
     shortName = "gitlab";
@@ -408,7 +402,6 @@ with lib.maintainers; {
       hedning
       jtojnar
       dasj19
-      amaxine
     ];
     githubTeams = [
       "gnome"
@@ -531,7 +524,6 @@ with lib.maintainers; {
     members = [
       aanderse
       edwtjo
-      MP2E
       thiagokokada
     ];
     scope = "Maintain Libretro, RetroArch and related packages.";
@@ -736,7 +728,6 @@ with lib.maintainers; {
   node = {
     members = [
       lilyinstarlight
-      marsam
       winter
     ];
     scope = "Maintain Node.js runtimes and build tooling.";
@@ -834,7 +825,6 @@ with lib.maintainers; {
 
   python = {
     members = [
-      fridh
       hexa
       jonringer
       tjni
@@ -906,7 +896,6 @@ with lib.maintainers; {
 
   ruby = {
     members = [
-      marsam
     ];
     scope = "Maintain the Ruby interpreter and related packages.";
     shortName = "Ruby";
diff --git a/nixos/doc/manual/configuration/abstractions.section.md b/nixos/doc/manual/configuration/abstractions.section.md
index 5bc44aa722457..06356c472ba94 100644
--- a/nixos/doc/manual/configuration/abstractions.section.md
+++ b/nixos/doc/manual/configuration/abstractions.section.md
@@ -35,7 +35,7 @@ in
 {
   services.httpd.virtualHosts =
     { "blog.example.org" = (commonConfig // { documentRoot = "/webroot/blog.example.org"; });
-      "wiki.example.org" = (commonConfig // { documentRoot = "/webroot/wiki.example.com"; });
+      "wiki.example.org" = (commonConfig // { documentRoot = "/webroot/wiki.example.org"; });
     };
 }
 ```
diff --git a/nixos/doc/manual/configuration/profiles/graphical.section.md b/nixos/doc/manual/configuration/profiles/graphical.section.md
index 3bd80b52e845a..84fad5c0a612a 100644
--- a/nixos/doc/manual/configuration/profiles/graphical.section.md
+++ b/nixos/doc/manual/configuration/profiles/graphical.section.md
@@ -6,5 +6,5 @@ graphical installation CD.
 It sets [](#opt-services.xserver.enable),
 [](#opt-services.displayManager.sddm.enable),
 [](#opt-services.xserver.desktopManager.plasma5.enable),
-and [](#opt-services.xserver.libinput.enable) to true. It also
+and [](#opt-services.libinput.enable) to true. It also
 includes glxinfo and firefox in the system packages list.
diff --git a/nixos/doc/manual/configuration/x-windows.chapter.md b/nixos/doc/manual/configuration/x-windows.chapter.md
index c09e0877e8663..31752330dd9a8 100644
--- a/nixos/doc/manual/configuration/x-windows.chapter.md
+++ b/nixos/doc/manual/configuration/x-windows.chapter.md
@@ -207,7 +207,7 @@ Latitude series) can be enabled as follows:
 
 ```nix
 {
-  services.xserver.libinput.enable = true;
+  services.libinput.enable = true;
 }
 ```
 
@@ -216,7 +216,7 @@ For instance, the following disables tap-to-click behavior:
 
 ```nix
 {
-  services.xserver.libinput.touchpad.tapping = false;
+  services.libinput.touchpad.tapping = false;
 }
 ```
 
diff --git a/nixos/doc/manual/release-notes/rl-2405.section.md b/nixos/doc/manual/release-notes/rl-2405.section.md
index 5f2c384473da4..cbbfb346dfb85 100644
--- a/nixos/doc/manual/release-notes/rl-2405.section.md
+++ b/nixos/doc/manual/release-notes/rl-2405.section.md
@@ -44,8 +44,6 @@ Use `services.pipewire.extraConfig` or `services.pipewire.configPackages` for Pi
 - A new option `systemd.sysusers.enable` was added. If enabled, users and
   groups are created with systemd-sysusers instead of with a custom perl script.
 
-- The default dbus implementation has transitioned to dbus-broker from the classic dbus daemon for better performance and reliability. Users can revert to the classic dbus daemon by setting `services.dbus.implementation = "dbus";`. For detailed deviations, refer to [dbus-broker's deviations page](https://github.com/bus1/dbus-broker/wiki/Deviations).
-
 - `virtualisation.docker.enableNvidia` and `virtualisation.podman.enableNvidia` options are deprecated. `hardware.nvidia-container-toolkit.enable` should be used instead. This option will expose GPUs on containers with the `--device` CLI option. This is supported by Docker 25, Podman 3.2.0 and Singularity 4. Any container runtime that supports the CDI specification will take advantage of this feature.
 
 - `system.etc.overlay.enable` option was added. If enabled, `/etc` is
@@ -191,13 +189,29 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
 
 - [prometheus-nats-exporter](https://github.com/nats-io/prometheus-nats-exporter), a Prometheus exporter for NATS. Available as [services.prometheus.exporters.nats](#opt-services.prometheus.exporters.nats.enable).
 
+- [isolate](https://github.com/ioi/isolate), a sandbox for securely executing untrusted programs. Available as [security.isolate](#opt-security.isolate.enable).
+
 ## Backward Incompatibilities {#sec-release-24.05-incompatibilities}
 
 <!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
 
 - `k3s`: was updated to version [v1.29](https://github.com/k3s-io/k3s/releases/tag/v1.29.1%2Bk3s2), all previous versions (k3s_1_26, k3s_1_27, k3s_1_28) will be removed. See [changelog and upgrade notes](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.29.md#urgent-upgrade-notes) for more information.
 
-- `himalaya` was updated to `v1.0.0-beta.4`, which introduces breaking changes. Check out the [release note](https://github.com/soywod/himalaya/releases/tag/v1.0.0-beta.4) for details.
+- `himalaya` was updated to v1.0.0-beta.4, which introduces breaking changes. Check out the [release note](https://github.com/soywod/himalaya/releases/tag/v1.0.0-beta.4) for details.
+
+- `security.pam.enableSSHAgentAuth` was replaced by the `sshAgentAuth` attrset, and **only**
+  `authorized_keys` files listed in [`sshAgentAuth.authorizedKeysFiles`] are trusted,
+  defaulting to `/etc/ssh/authorized_keys.d/%u`.
+  ::: {.warning}
+  Users of {manpage}`pam_ssh_agent_auth(8)` must take care that the pubkeys they use (for instance with `sudo`)
+  are listed in [`sshAgentAuth.authorizedKeysFiles`]..
+  :::
+  ::: {.note}
+  Previously, all `services.openssh.authorizedKeysFiles` were trusted, including `~/.ssh/authorized_keys`,
+  which results in an **insecure** configuration; see [#31611](https://github.com/NixOS/nixpkgs/issues/31611).
+  :::
+
+[`sshAgentAuth.authorizedKeysFiles`]: #opt-security.pam.sshAgentAuth.authorizedKeysFiles
 
 - The `power.ups` module now generates `upsd.conf`, `upsd.users` and `upsmon.conf` automatically from a set of new configuration options. This breaks compatibility with existing `power.ups` setups where these files were created manually. Back up these files before upgrading NixOS.
 
@@ -208,11 +222,13 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
 
 - `cudaPackages.autoFixElfFiles` has been deprecated for `pkgs.autoFixElfFiles`. Functionality has not changed, but the setuphook has been renamed and moved to the top-level package scope.
 
+- `appimageTools.wrapAppImage` now create the binary at `$out/bin/${pname}` rather than `$out/bin/${pname}-${version}`, which will break downstream workarounds.
+
 - `pdns` was updated to version [v4.9.x](https://doc.powerdns.com/authoritative/changelog/4.9.html), which introduces breaking changes. Check out the [Upgrade Notes](https://doc.powerdns.com/authoritative/upgrading.html#to-4-9-0) for details.
 
 - `unrar` was updated to v7. See [changelog](https://www.rarlab.com/unrar7notes.htm) for more information.
 
-- `git-town` was updated from version `11` to `13`. See the [changelog](https://github.com/git-town/git-town/blob/main/CHANGELOG.md#1300-2024-03-22) for breaking changes.
+- `git-town` was updated from version 11 to 13. See the [changelog](https://github.com/git-town/git-town/blob/main/CHANGELOG.md#1300-2024-03-22) for breaking changes.
 
 - `k9s` was updated to v0.31. There have been various breaking changes in the config file format,
   check out the changelog of [v0.29](https://github.com/derailed/k9s/releases/tag/v0.29.0),
@@ -259,7 +275,7 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
 
 - `buildGoModule` now throws an error when `vendorHash` is not specified. `vendorSha256`, deprecated in Nixpkgs 23.11, is now ignored and is no longer a `vendorHash` alias.
 
-- `services.invidious.settings.db.user`, the default database username, has changed from `kemal` to `invidious`. Setups involving an externally-provisioned database (i.e. `services.invidious.database.createLocally == false`) should adjust their configuration accordingly. The old `kemal` user will not be removed automatically even when the database is provisioned automatically.(https://github.com/NixOS/nixpkgs/pull/265857)
+- `services.invidious.settings.db.user`, the default database username has changed from `kemal` to `invidious`. Setups involving an externally-provisioned database (i.e. `services.invidious.database.createLocally == false`) should adjust their configuration accordingly. The old `kemal` user will not be removed automatically even when the database is provisioned automatically.(https://github.com/NixOS/nixpkgs/pull/265857)
 
 - `writeReferencesToFile` is deprecated in favour of the new trivial build helper `writeClosure`. The latter accepts a list of paths and has an unambiguous name and cleaner implementation.
 
@@ -275,6 +291,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
 
 - `network-interfaces.target` system target was removed as it has been deprecated for a long time. Use `network.target` instead.
 
+- `services.redis.vmOverCommit` now defaults to `true` and no longer enforces Transparent Hugepages (THP) to be disabled. Redis only works with THP configured to `madvise` which is the kernel's default.
+
 - `azure-cli` now has extension support. For example, to install the `aks-preview` extension, use
 
   ```nix
@@ -297,11 +315,15 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
 
 - `gonic` has been updated to v0.16.4. Config now requires `playlists-path` to be set. See the rest of the [v0.16.0 release notes](https://github.com/sentriz/gonic/releases/tag/v0.16.0) for more details.
 
-- The `services.vikunja` systemd service now uses `vikunja` as dynamic user instead of `vikunja-api`. Database users might need to be changed.
+- `services.vikunja` systemd service now uses `vikunja` as dynamic user instead of `vikunja-api`. Database users might need to be changed.
 
-- The `services.vikunja.setupNginx` setting has been removed. Users now need to setup the webserver configuration on their own with a proxy pass to the vikunja service.
+- `services.vikunja.setupNginx` setting has been removed. Users now need to setup the webserver configuration on their own with a proxy pass to the vikunja service.
 
-- The `woodpecker-*` packages have been updated to v2 which includes [breaking changes](https://woodpecker-ci.org/docs/next/migrations#200).
+- `services.vmagent` module deprecates `dataDir`, `group` and `user` setting in favor of systemd provided CacheDirectory and DynamicUser.
+
+- `services.vmagent.remoteWriteUrl` setting has been renamed to `services.vmagent.remoteWrite.url` and now defaults to `null`.
+
+- `woodpecker-*` packages have been updated to v2 which includes [breaking changes](https://woodpecker-ci.org/docs/next/migrations#200).
 
 - `services.nginx` will no longer advertise HTTP/3 availability automatically. This must now be manually added, preferably to each location block.
   Example:
@@ -317,17 +339,17 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
   }
   ```
 
-- The package `optparse-bash` is now dropped due to upstream inactivity. Alternatives available in Nixpkgs include [`argc`](https://github.com/sigoden/argc), [`argbash`](https://github.com/matejak/argbash), [`bashly`](https://github.com/DannyBen/bashly) and [`gum`](https://github.com/charmbracelet/gum), to name a few.
+- `optparse-bash` is now dropped due to upstream inactivity. Alternatives available in Nixpkgs include [`argc`](https://github.com/sigoden/argc), [`argbash`](https://github.com/matejak/argbash), [`bashly`](https://github.com/DannyBen/bashly) and [`gum`](https://github.com/charmbracelet/gum), to name a few.
 
-- The `kanata` package has been updated to v1.5.0, which includes [breaking changes](https://github.com/jtroo/kanata/releases/tag/v1.5.0).
+- `kanata` package has been updated to v1.5.0, which includes [breaking changes](https://github.com/jtroo/kanata/releases/tag/v1.5.0).
 
-- The `craftos-pc` package has been updated to v2.8, which includes [breaking changes](https://github.com/MCJack123/craftos2/releases/tag/v2.8).
+- `craftos-pc` package has been updated to v2.8, which includes [breaking changes](https://github.com/MCJack123/craftos2/releases/tag/v2.8).
   - Files are now handled in binary mode; this could break programs with embedded UTF-8 characters.
   - The ROM was updated to match ComputerCraft version v1.109.2.
   - The bundled Lua was updated to Lua v5.2, which includes breaking changes. See the [Lua manual](https://www.lua.org/manual/5.2/manual.html#8) for more information.
   - The WebSocket API [was rewritten](https://github.com/MCJack123/craftos2/issues/337), which introduced breaking changes.
 
-- The `gtest` package has been updated past v1.13.0, which requires C++14 or higher.
+- `gtest` package has been updated past v1.13.0, which requires C++14 or higher.
 
 - The latest available version of Nextcloud is v28 (available as `pkgs.nextcloud28`). The installation logic is as follows:
   - If [`services.nextcloud.package`](#opt-services.nextcloud.package) is specified explicitly, this package will be installed (**recommended**)
@@ -337,7 +359,7 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
 
 - The vendored third party libraries have been mostly removed from `cudaPackages.nsight_systems`, which we now only ship for `cudaPackages_11_8` and later due to outdated dependencies. Users comfortable with the vendored dependencies may use `overrideAttrs` to amend the `postPatch` phase and the `meta.broken` correspondingly. Alternatively, one could package the deprecated `boost170` locally, as required for `cudaPackages_11_4.nsight_systems`.
 
-- The `cudaPackages` package scope has been updated to `cudaPackages_12`.
+- `cudaPackages` package scope has been updated to `cudaPackages_12`.
 
 - The deprecated `cudaPackages.cudatoolkit` has been replaced with a
   symlink-based wrapper for the splayed redistributable CUDA packages. The
@@ -345,7 +367,7 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
   like e.g. tensorflow. The original runfile-based `cudatoolkit` is still
   available as `cudatoolkit-legacy-runfile`.
 
-- The `halloy` package was updated past 2024.5 which introduced a breaking change by switching the config format from YAML to TOML. See https://github.com/squidowl/halloy/releases/tag/2024.5 for details.
+- `halloy` package was updated past 2024.5 which introduced a breaking change by switching the config format from YAML to TOML. See https://github.com/squidowl/halloy/releases/tag/2024.5 for details.
 
 - Ada packages (libraries and tools) have been moved into the `gnatPackages` scope. `gnatPackages` uses the default GNAT compiler, `gnat12Packages` and `gnat13Packages` use the respective matching compiler version.
 
@@ -365,7 +387,7 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
 
 - `xxd` has been moved from `vim` default output to its own output to reduce closure size. The canonical way to reference it across all platforms is `unixtools.xxd`.
 
-- The `stalwart-mail` package has been updated to v0.5.3, which includes [breaking changes](https://github.com/stalwartlabs/mail-server/blob/v0.5.3/UPGRADING.md).
+- `stalwart-mail` package has been updated to v0.5.3, which includes [breaking changes](https://github.com/stalwartlabs/mail-server/blob/v0.5.3/UPGRADING.md).
 
 - `services.zope2` has been removed as `zope2` is unmaintained and was relying on Python2.
 
@@ -399,6 +421,10 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
   upgrade NetBox by changing `services.netbox.package`. Database migrations
   will be run automatically.
 
+- `gauge` now supports installing plugins using nix. For the old imperative approach, switch to `gauge-unwrapped`.
+  You can load plugins from an existing gauge manifest file using `gauge.fromManifest ./path/to/manifest.json` or
+  specify plugins in nix using `gauge.withPlugins (p: with p; [ js html-report xml-report ])`.
+
 - `firefox-devedition`, `firefox-beta`, `firefox-esr` executable file names for now match their package names, which is consistent with the `firefox-*-bin` packages. The desktop entries are also updated so that you can have multiple editions of firefox in your app launcher.
 
 - switch-to-configuration does not directly call systemd-tmpfiles anymore.
@@ -406,7 +432,7 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
   allows to restart multiple services that are ordered before sysinit.target
   and respect the ordering between the services.
 
-- The `systemd.oomd` module behavior is changed as:
+- `systemd.oomd` module behavior is changed as:
 
   - Raise ManagedOOMMemoryPressureLimit from 50% to 80%. This should make systemd-oomd kill things less often, and fix issues like [this](https://pagure.io/fedora-workstation/issue/358).
     Reference: [commit](https://src.fedoraproject.org/rpms/systemd/c/806c95e1c70af18f81d499b24cd7acfa4c36ffd6?branch=806c95e1c70af18f81d499b24cd7acfa4c36ffd6)
@@ -426,7 +452,7 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
 
 - [watchdogd](https://troglobit.com/projects/watchdogd/), a system and process supervisor using watchdog timers. Available as [services.watchdogd](#opt-services.watchdogd.enable).
 
-- The `jdt-language-server` package now uses upstream's provided python wrapper instead of our own custom wrapper. This results in the following breaking and notable changes:
+- `jdt-language-server` package now uses upstream's provided python wrapper instead of our own custom wrapper. This results in the following breaking and notable changes:
 
   - The main binary for the package is now named `jdtls` instead of `jdt-language-server`, equivalent to what most editors expect the binary to be named.
 
@@ -448,21 +474,21 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
 
   - Ruby plugin support has been disabled in DFHack. Many of the Ruby plugins have been converted to Lua, and support was removed upstream due to frequent crashes.
 
-- The `livebook` package is now built as a `mix release` instead of an `escript`.
+- `livebook` package is now built as a `mix release` instead of an `escript`.
   This means that configuration now has to be done using [environment variables](https://hexdocs.pm/livebook/readme.html#environment-variables) instead of command line arguments.
   This has the further implication that the `livebook` service configuration has changed:
 
-- The `erlang_node_short_name`, `erlang_node_name`, `port` and `options` configuration parameters are gone, and have been replaced with an `environment` parameter.
+- `erlang_node_short_name`, `erlang_node_name`, `port` and `options` configuration parameters are gone, and have been replaced with an `environment` parameter.
     Use the appropriate [environment variables](https://hexdocs.pm/livebook/readme.html#environment-variables) inside `environment` to configure the service instead.
 
 - `akkoma` now requires explicitly setting the base URL for uploaded media (`settings."Pleroma.Upload".base_url`), as well as for the media proxy if enabled (`settings."Media"`).
   This is recommended to be a separate (sub)domain to the one Akkoma is hosted at.
   See [here](https://meta.akkoma.dev/t/akkoma-stable-2024-03-securer-i-barely-know-her/681#explicit-upload-and-media-proxy-domains-5) for more details.
 
-- The `crystal` package has been updated to 1.11.x, which has some breaking changes.
+- `crystal` package has been updated to 1.11.x, which has some breaking changes.
   Refer to crystal's changelog for more information. ([v1.10](https://github.com/crystal-lang/crystal/blob/master/CHANGELOG.md#1100-2023-10-09), [v1.11](https://github.com/crystal-lang/crystal/blob/master/CHANGELOG.md#1110-2024-01-08))
 
-- The `erlang-ls` package no longer ships the `els_dap` binary as of v0.51.0.
+- `erlang-ls` package no longer ships the `els_dap` binary as of v0.51.0.
 
 ## Other Notable Changes {#sec-release-24.05-notable-changes}
 
@@ -470,14 +496,14 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
 
 - `addDriverRunpath` has been added to facilitate the deprecation of the old `addOpenGLRunpath` setuphook. This change is motivated by the evolution of the setuphook to include all hardware acceleration.
 
-- (TODO awaiting feedback on code-casing package names) Cinnamon has been updated to 6.0. Please beware that the [Wayland session](https://blog.linuxmint.com/?p=4591) is still experimental in this release and could potentially [affect Xorg sessions](https://blog.linuxmint.com/?p=4639). We suggest a reboot when switching between sessions.
+- `cinnamon` has been updated to 6.0. Please beware that the [Wayland session](https://blog.linuxmint.com/?p=4591) is still experimental in this release and could potentially [affect Xorg sessions](https://blog.linuxmint.com/?p=4639). We suggest a reboot when switching between sessions.
 
 - (TODO awaiting feedback on code-casing package names) MATE has been updated to 1.28.
   - To properly support panel plugins built with Wayland (in-process) support, we are introducing `services.xserver.desktopManager.mate.extraPanelApplets` option, please use that for installing panel applets.
   - Similarly, please use `services.xserver.desktopManager.mate.extraCajaExtensions` option for installing Caja extensions.
   - To use the Wayland session, enable `services.xserver.desktopManager.mate.enableWaylandSession`. This is opt-in for now as it is in early stage and introduces a new set of Wayfire closure. Due to [known issues with LightDM](https://github.com/canonical/lightdm/issues/63), we suggest using SDDM for display manager.
 
-- The (TODO awaiting feedback on code-casing package names) Budgie module installs gnome-terminal by default (instead of mate-terminal).
+- `services.xserver.desktopManager.budgie` installs `gnome.gnome-terminal` by default (instead of `mate.mate-terminal`).
 
 - New `boot.loader.systemd-boot.xbootldrMountPoint` allows setting up a separate [XBOOTLDR partition](https://uapi-group.org/specifications/specs/boot_loader_specification/) to store boot files. Useful on systems with a small EFI System partition that cannot be easily repartitioned.
 
@@ -486,19 +512,21 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
 - `services.postgresql.extraPlugins` changed its type from just a list of packages to also a function that returns such a list.
   For example a config line like ``services.postgresql.extraPlugins = with pkgs.postgresql_11.pkgs; [ postgis ];`` is recommended to be changed to ``services.postgresql.extraPlugins = ps: with ps; [ postgis ];``;
 
-- The Matrix homeserver [Synapse](https://element-hq.github.io/synapse/) module now supports configuring UNIX domain socket [listeners](#opt-services.matrix-synapse.settings.listeners) through the `path` option.
+- [`matrix-synapse`](https://element-hq.github.io/synapse/) homeserver module now supports configuring UNIX domain socket [`listeners`](#opt-services.matrix-synapse.settings.listeners) through the `path` option.
   The default replication worker on the main instance has been migrated away from TCP sockets to UNIX domain sockets.
 
 - `boot.initrd.network.ssh.authorizedKeyFiles` is a new option in the initrd ssh daemon module, for adding authorized keys via list of files.
 
+- `appimage`, `appimageTools.wrapAppImage` and `buildFHSEnvBubblewrap` now properly accepts `pname` and `version`.
+
 - Programs written in [Nim](https://nim-lang.org/) are built with libraries selected by lockfiles.
   The `nimPackages` and `nim2Packages` sets have been removed.
   See https://nixos.org/manual/nixpkgs/unstable#nim for more information.
 
-- Programs written in [D](https://dlang.org/) using the `dub` build system and package manager can now be built using `buildDubPackage` utilizing lockfiles provided by the new `dub-to-nix` helper program.
+- [TODO: reword to place an attribute at the front] Programs written in [D](https://dlang.org/) using the `dub` build system and package manager can now be built using `buildDubPackage` utilizing lockfiles provided by the new `dub-to-nix` helper program.
   See the [D section](https://nixos.org/manual/nixpkgs/unstable#dlang) in the manual for more information.
 
-- [Portunus](https://github.com/majewsky/portunus) has been updated to major version 2.
+- [`portunus`](https://github.com/majewsky/portunus) has been updated to major version 2.
   This version of Portunus supports strong password hashes, but the legacy hash SHA-256 is also still supported to ensure a smooth migration of existing user accounts.
   After upgrading, follow the instructions on the [upstream release notes](https://github.com/majewsky/portunus/releases/tag/v2.0.0) to upgrade all user accounts to strong password hashes.
   Support for weak password hashes will be removed in NixOS 24.11.
@@ -507,11 +535,11 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
 
 - `libass` now uses the native CoreText backend on Darwin, which may fix subtitle rendering issues with `mpv`, `ffmpeg`, etc.
 
-- (TODO awaiting feedback on code-casing package names) [Lilypond](https://lilypond.org/index.html) and [Denemo](https://www.denemo.org) are now compiled with Guile 3.0.
+- [`lilypond`](https://lilypond.org/index.html) and [`denemo`](https://www.denemo.org) are now compiled with Guile 3.0.
 
-- (TODO awaiting feedback on code-casing package names) Garage has been updated to v1.x.x. Users should read the [upstream release notes](https://git.deuxfleurs.fr/Deuxfleurs/garage/releases/tag/v1.0.0) and follow the documentation when changing over their `services.garage.package` and performing this manual upgrade.
+- `garage` has been updated to v1.x.x. Users should read the [upstream release notes](https://git.deuxfleurs.fr/Deuxfleurs/garage/releases/tag/v1.0.0) and follow the documentation when changing over their `services.garage.package` and performing this manual upgrade.
 
-- The EC2 image module now enables the [Amazon SSM Agent](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent.html) by default.
+- [TODO: reword to place an attribute at the front] The EC2 image module now enables the [Amazon SSM Agent](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent.html) by default.
 
 - The following options of the Nextcloud module were moved into [`services.nextcloud.settings`](#opt-services.nextcloud.settings) and renamed to match the name from Nextcloud's `config.php`:
   - `logLevel` -> [`loglevel`](#opt-services.nextcloud.settings.loglevel),
@@ -523,7 +551,7 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
   - `extraTrustedDomains` -> [`trusted_domains`](#opt-services.nextcloud.settings.trusted_domains) and
   - `trustedProxies` -> [`trusted_proxies`](#opt-services.nextcloud.settings.trusted_proxies).
 
-- The option [`services.nextcloud.config.dbport`] of the Nextcloud module was removed to match upstream.
+- `services.nextcloud.config.dbport` option of the Nextcloud module was removed to match upstream.
   The port can be specified in [`services.nextcloud.config.dbhost`](#opt-services.nextcloud.config.dbhost).
 
 - A new abstraction to create both read-only as well as writable overlay file
@@ -531,7 +559,7 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
   [fileSystems.overlay](#opt-fileSystems._name_.overlay.lowerdir). See also the
   [NixOS docs](#sec-overlayfs).
 
-- systemd units can now specify the `Upholds=` and `UpheldBy=` unit dependencies via the aptly
+- `systemd` units can now specify the `Upholds=` and `UpheldBy=` unit dependencies via the aptly
   named `upholds` and `upheldBy` options. These options get systemd to enforce that the
   dependencies remain continuosly running for as long as the dependent unit is in a running state.
 
@@ -544,31 +572,27 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
 - New options were added to the dnsdist module to enable and configure a DNSCrypt endpoint (see `services.dnsdist.dnscrypt.enable`, etc.).
   The module can generate the DNSCrypt provider key pair, certificates and also performs their rotation automatically with no downtime.
 
-- `sonarr` bumped to v4. Consequently existing config database files will be upgraded automatically, but note that some old apparently-working configs [might actually be corrupt and fail to upgrade cleanly](https://forums.sonarr.tv/t/sonarr-v4-released/33089).
+- `sonarr` version bumped to from 3.0.10 to 4.0.3. Consequently existing config database files will be upgraded automatically, but note that some old apparently-working configs [might actually be corrupt and fail to upgrade cleanly](https://forums.sonarr.tv/t/sonarr-v4-released/33089).
 
-- The Yama LSM is now enabled by default in the kernel, which prevents ptracing
+- [TODO: reword to place an attribute at the front] The Yama LSM is now enabled by default in the kernel, which prevents ptracing
   non-child processes. This means you will not be able to attach gdb to an
   existing process, but will need to start that process from gdb (so it is a
   child). Or you can set `boot.kernel.sysctl."kernel.yama.ptrace_scope"` to 0.
 
-- The netbird module now allows running multiple tunnels in parallel through [`services.netbird.tunnels`](#opt-services.netbird.tunnels).
+- `netbird` module now allows running multiple tunnels in parallel through [`services.netbird.tunnels`](#opt-services.netbird.tunnels).
 
 - [Nginx virtual hosts](#opt-services.nginx.virtualHosts) using `forceSSL` or
   `globalRedirect` can now have redirect codes other than 301 through `redirectCode`.
 
 - `bacula` now allows to configure `TLS` for encrypted communication.
 
-- `libjxl` 0.9.0 [dropped support for the butteraugli API](https://github.com/libjxl/libjxl/pull/2576). You will no longer be able to set `enableButteraugli` on `libaom`.
+- `libjxl` version bumped from 0.8.2 to 0.9.1 [dropped support for the butteraugli API](https://github.com/libjxl/libjxl/pull/2576). You will no longer be able to set `enableButteraugli` on `libaom`.
 
 - `mockgen` package source has changed to the [go.uber.org/mock](https://github.com/uber-go/mock) fork because [the original repository is no longer maintained](https://github.com/golang/mock#gomock).
 
-- `security.pam.enableSSHAgentAuth` was renamed to `security.pam.sshAgentAuth.enable` and an `authorizedKeysFiles`
-  option was added, to control which `authorized_keys` files are trusted.  It defaults to the previous behaviour,
-  **which is insecure**: see [#31611](https://github.com/NixOS/nixpkgs/issues/31611).
-
 - [](#opt-boot.kernel.sysctl._net.core.wmem_max_) changed from a string to an integer because of the addition of a custom merge option (taking the highest value defined to avoid conflicts between 2 services trying to set that value), just as [](#opt-boot.kernel.sysctl._net.core.rmem_max_) since 22.11.
 
-- A new top-level package set, `pkgsExtraHardening` is added. This is a set of packages built with stricter hardening flags - those that have not yet received enough testing to be applied universally, those that are more likely to cause build failures or those that have drawbacks to their use (e.g. performance or required hardware features).
+- [TODO: reword to place an attribute at the front] A new top-level package set, `pkgsExtraHardening` is added. This is a set of packages built with stricter hardening flags - those that have not yet received enough testing to be applied universally, those that are more likely to cause build failures or those that have drawbacks to their use (e.g. performance or required hardware features).
 
 - `services.zfs.zed.enableMail` now uses the global `sendmail` wrapper defined by an email module
   (such as msmtp or Postfix). It no longer requires using a special ZFS build with email support.
@@ -584,7 +608,7 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
 
 - `kavita` has been updated to 0.8.0, requiring a manual forced library scan on all libraries for migration. Refer to upstream's [release notes](https://github.com/Kareadita/Kavita/releases/tag/v0.8.0) for details.
 
-- The `krb5` module has been rewritten and moved to `security.krb5`, moving all options but `security.krb5.enable` and `security.krb5.package` into `security.krb5.settings`.
+- `krb5` module has been rewritten and moved to `security.krb5`, moving all options but `security.krb5.enable` and `security.krb5.package` into `security.krb5.settings`.
 
 - `services.soju` now has a wrapper for the `sojuctl` command, pointed at the service config file. It also has the new option `adminSocket.enable`, which creates a unix admin socket at `/run/soju/admin`.
 
@@ -592,44 +616,44 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
   - Custom themes and other assets that were previously stored in `custom/public/*` now belong in `custom/public/assets/*`
   - New instances of Gitea using MySQL now ignore the `[database].CHARSET` config option and always use the `utf8mb4` charset, existing instances should migrate via the `gitea doctor convert` CLI command.
 
-- The `services.paperless` module no longer uses the previously downloaded NLTK data stored in `/var/cache/paperless/nltk`. This directory can be removed.
+- `services.paperless` module no longer uses the previously downloaded NLTK data stored in `/var/cache/paperless/nltk`. This directory can be removed.
 
-- The `services.teeworlds` module now has a wealth of configuration options, including a new `package` option.
+- `services.teeworlds` module now has a wealth of configuration options, including a new `package` option.
 
-- The `hardware.pulseaudio` module now sets permission of pulse user home directory to 755 when running in "systemWide" mode. It fixes [issue 114399](https://github.com/NixOS/nixpkgs/issues/114399).
+- `hardware.pulseaudio` module now sets permission of pulse user home directory to 755 when running in "systemWide" mode. It fixes [issue 114399](https://github.com/NixOS/nixpkgs/issues/114399).
 
-- The `services.networkmanager.extraConfig` was renamed to `services.networkmanager.settings` and was changed to use the ini type instead of using a multiline string.
+- `services.networkmanager.extraConfig` was renamed to `services.networkmanager.settings` and was changed to use the ini type instead of using a multiline string.
 
 - `services.github-runner` module has been removed. To configure a single GitHub Actions Runner refer to `services.github-runners.*`. Note that this will trigger a new runner registration.
 
-- The `services.slskd` has been refactored to include more configuation options in
+- `services.slskd` has been refactored to include more configuation options in
   the free-form `services.slskd.settings` option, and some defaults (including listen ports)
   have been changed to match the upstream defaults. Additionally, disk logging is now
   disabled by default, and the log rotation timer has been removed.
   The nginx virtualhost option is now of the `vhost-options` type.
 
-- The `btrbk` module now automatically selects and provides required compression
+- `services.btrbk` now automatically selects and provides required compression
   program depending on the configured `stream_compress` option. Since this
   replaces the need for the `extraPackages` option, this option will be
   deprecated in future releases.
 
-- The `mpich` package expression now requires `withPm` to be a list, e.g. `"hydra:gforker"` becomes `[ "hydra" "gforker" ]`.
+- `mpich` package expression now requires `withPm` to be a list, e.g. `"hydra:gforker"` becomes `[ "hydra" "gforker" ]`.
 
-- When merging systemd unit options (of type `unitOption`),
+- `systemd`: when merging unit options (of type `unitOption`),
   if at least one definition is a list, all those which aren't are now lifted into a list,
   making it possible to accumulate definitions without resorting to `mkForce`,
   hence to retain the definitions not anticipating that need.
 
-- YouTrack is bumped to 2023.3. The update is not performed automatically, it requires manual interaction. See the YouTrack section in the manual for details.
+- `youtrack` is bumped to 2023.3. The update is not performed automatically, it requires manual interaction. See the YouTrack section in the manual for details.
 
 - QtMultimedia has changed its default backend to `QT_MEDIA_BACKEND=ffmpeg` (previously `gstreamer` on Linux or `darwin` on MacOS).
   The previous native backends remain available but are now minimally maintained. Refer to [upstream documentation](https://doc.qt.io/qt-6/qtmultimedia-index.html#ffmpeg-as-the-default-backend) for further details about each platform.
 
-- The `drbd` out-of-tree Linux kernel driver has been added in version `9.2.7`. With it the DRBD 9.x features can be used instead of the 8.x features provided by the `8.4.11` in-tree driver.
+- `drbd` out-of-tree Linux kernel driver has been added in version 9.2.7. With it the DRBD 9.x features can be used instead of the 8.x features provided by the 8.4.11 in-tree driver.
 
-- The oil shell's c++ version is now available as `oils-for-unix`. The python version is still available as `oil`
+- [TODO: reword to place an attribute at the front] The oil shell's c++ version is now available as `oils-for-unix`. The python version is still available as `oil`
 
 - `documentation.man.mandoc` now by default uses `MANPATH` to set the directories where mandoc will search for manual pages.
   This enables mandoc to find manual pages in Nix profiles. To set the manual search paths via the `mandoc.conf` configuration file like before, use `documentation.man.mandoc.settings.manpath` instead.
 
-- The `grafana-loki` package was updated to 3.0.0 which includes [breaking changes](https://github.com/grafana/loki/releases/tag/v3.0.0)
+- `grafana-loki` package was updated to 3.0.0 which includes [breaking changes](https://github.com/grafana/loki/releases/tag/v3.0.0)
diff --git a/nixos/lib/qemu-common.nix b/nixos/lib/qemu-common.nix
index b946f62d93dc3..f1e19c5b3b720 100644
--- a/nixos/lib/qemu-common.nix
+++ b/nixos/lib/qemu-common.nix
@@ -35,6 +35,8 @@ rec {
         aarch64-linux = "${qemuPkg}/bin/qemu-system-aarch64 -machine virt,gic-version=max,accel=kvm:tcg -cpu max";
         powerpc64le-linux = "${qemuPkg}/bin/qemu-system-ppc64 -machine powernv";
         powerpc64-linux = "${qemuPkg}/bin/qemu-system-ppc64 -machine powernv";
+        riscv32-linux = "${qemuPkg}/bin/qemu-system-riscv32 -machine virt";
+        riscv64-linux = "${qemuPkg}/bin/qemu-system-riscv64 -machine virt";
         x86_64-darwin = "${qemuPkg}/bin/qemu-kvm -cpu max";
       };
       otherHostGuestMatrix = {
diff --git a/nixos/modules/config/malloc.nix b/nixos/modules/config/malloc.nix
index 4214ae5983156..e414970b0be5a 100644
--- a/nixos/modules/config/malloc.nix
+++ b/nixos/modules/config/malloc.nix
@@ -9,8 +9,23 @@ let
     graphene-hardened = {
       libPath = "${pkgs.graphene-hardened-malloc}/lib/libhardened_malloc.so";
       description = ''
-        An allocator designed to mitigate memory corruption attacks, such as
-        those caused by use-after-free bugs.
+        Hardened memory allocator coming from GrapheneOS project.
+        The default configuration template has all normal optional security
+        features enabled and is quite aggressive in terms of sacrificing
+        performance and memory usage for security.
+      '';
+    };
+
+    graphene-hardened-light = {
+      libPath = "${pkgs.graphene-hardened-malloc}/lib/libhardened_malloc-light.so";
+      description = ''
+        Hardened memory allocator coming from GrapheneOS project.
+        The light configuration template disables the slab quarantines,
+        write after free check, slot randomization and raises the guard
+        slab interval from 1 to 8 but leaves zero-on-free and slab canaries enabled.
+        The light configuration has solid performance and memory usage while still
+        being far more secure than mainstream allocators with much better security
+        properties.
       '';
     };
 
diff --git a/nixos/modules/installer/tools/tools.nix b/nixos/modules/installer/tools/tools.nix
index e7f9990e9632e..7f16b97440c1c 100644
--- a/nixos/modules/installer/tools/tools.nix
+++ b/nixos/modules/installer/tools/tools.nix
@@ -185,7 +185,7 @@ in
         # };
 
         # Enable touchpad support (enabled default in most desktopManager).
-        # services.xserver.libinput.enable = true;
+        # services.libinput.enable = true;
 
         # Define a user account. Don't forget to set a password with ‘passwd’.
         # users.users.alice = {
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 50157f62ed320..ef25a7f3e75a2 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -325,6 +325,7 @@
   ./security/duosec.nix
   ./security/google_oslogin.nix
   ./security/ipa.nix
+  ./security/isolate.nix
   ./security/krb5
   ./security/lock-kernel-modules.nix
   ./security/misc.nix
@@ -558,6 +559,7 @@
   ./services/hardware/joycond.nix
   ./services/hardware/kanata.nix
   ./services/hardware/lcd.nix
+  ./services/hardware/libinput.nix
   ./services/hardware/lirc.nix
   ./services/hardware/nvidia-container-toolkit
   ./services/hardware/monado.nix
@@ -1472,7 +1474,6 @@
   ./services/x11/gdk-pixbuf.nix
   ./services/x11/hardware/cmt.nix
   ./services/x11/hardware/digimend.nix
-  ./services/x11/hardware/libinput.nix
   ./services/x11/hardware/synaptics.nix
   ./services/x11/hardware/wacom.nix
   ./services/x11/imwheel.nix
diff --git a/nixos/modules/profiles/graphical.nix b/nixos/modules/profiles/graphical.nix
index 8cc31652f8075..72b865c584f07 100644
--- a/nixos/modules/profiles/graphical.nix
+++ b/nixos/modules/profiles/graphical.nix
@@ -7,10 +7,12 @@
   services.xserver = {
     enable = true;
     desktopManager.plasma5.enable = true;
-    libinput.enable = true; # for touchpad support on many laptops
   };
 
-  services.displayManager.sddm.enable = true;
+  services = {
+    displayManager.sddm.enable = true;
+    libinput.enable = true; # for touchpad support on many laptops
+  };
 
   # Enable sound in virtualbox appliances.
   hardware.pulseaudio.enable = true;
diff --git a/nixos/modules/programs/singularity.nix b/nixos/modules/programs/singularity.nix
index 981417389eb22..f4c0a6fe487e6 100644
--- a/nixos/modules/programs/singularity.nix
+++ b/nixos/modules/programs/singularity.nix
@@ -1,4 +1,9 @@
-{ config, pkgs, lib, ... }:
+{
+  config,
+  pkgs,
+  lib,
+  ...
+}:
 
 with lib;
 let
@@ -12,9 +17,7 @@ in
         Whether to install Singularity/Apptainer with system-level overriding such as SUID support.
       '';
     };
-    package = mkPackageOption pkgs "singularity" {
-      example = "apptainer";
-    };
+    package = mkPackageOption pkgs "singularity" { example = "apptainer"; };
     packageOverriden = mkOption {
       type = types.nullOr types.package;
       default = null;
@@ -75,17 +78,19 @@ in
   };
 
   config = mkIf cfg.enable {
-    programs.singularity.packageOverriden = (cfg.package.override (
-      optionalAttrs cfg.enableExternalLocalStateDir {
-        externalLocalStateDir = "/var/lib";
-      } // optionalAttrs cfg.enableFakeroot {
-        newuidmapPath = "/run/wrappers/bin/newuidmap";
-        newgidmapPath = "/run/wrappers/bin/newgidmap";
-      } // optionalAttrs cfg.enableSuid {
-        enableSuid = true;
-        starterSuidPath = "/run/wrappers/bin/${cfg.package.projectName}-suid";
-      }
-    ));
+    programs.singularity.packageOverriden = (
+      cfg.package.override (
+        optionalAttrs cfg.enableExternalLocalStateDir { externalLocalStateDir = "/var/lib"; }
+        // optionalAttrs cfg.enableFakeroot {
+          newuidmapPath = "/run/wrappers/bin/newuidmap";
+          newgidmapPath = "/run/wrappers/bin/newgidmap";
+        }
+        // optionalAttrs cfg.enableSuid {
+          enableSuid = true;
+          starterSuidPath = "/run/wrappers/bin/${cfg.package.projectName}-suid";
+        }
+      )
+    );
     environment.systemPackages = [ cfg.packageOverriden ];
     security.wrappers."${cfg.packageOverriden.projectName}-suid" = mkIf cfg.enableSuid {
       setuid = true;
@@ -97,5 +102,4 @@ in
       "d /var/lib/${cfg.packageOverriden.projectName}/mnt/session 0770 root root -"
     ];
   };
-
 }
diff --git a/nixos/modules/programs/wayland/hyprland.nix b/nixos/modules/programs/wayland/hyprland.nix
index 5891ff25e4375..e648eaa1b68e4 100644
--- a/nixos/modules/programs/wayland/hyprland.nix
+++ b/nixos/modules/programs/wayland/hyprland.nix
@@ -42,6 +42,15 @@ in
 
     xwayland.enable = mkEnableOption ("XWayland") // { default = true; };
 
+    envVars.enable = mkEnableOption null // {
+      default = true;
+      example = false;
+      description = ''
+        Set environment variables for Hyprland to work properly.
+        Enabled by default.
+      '';
+    };
+
     systemd.setPath.enable = mkEnableOption null // {
       default = true;
       example = false;
@@ -74,6 +83,15 @@ in
       configPackages = mkDefault [ cfg.finalPackage ];
     };
 
+    environment.sessionVariables = mkIf cfg.envVars.enable {
+      XDG_CURRENT_DESKTOP = "Hyprland";
+      XDG_SESSION_DESKTOP = "Hyprland";
+      XDG_SESSION_TYPE = "wayland";
+      GDK_BACKEND = "wayland,x11";
+      QT_QPA_PLATFORM = "wayland;xcb";
+      _JAVA_AWT_WM_NONREPARENTING = "1"; # Fix for Java applications on tiling window managers
+    };
+
     systemd = mkIf cfg.systemd.setPath.enable {
       user.extraConfig = ''
         DefaultEnvironment="PATH=$PATH:/run/current-system/sw/bin:/etc/profiles/per-user/%u/bin:/run/wrappers/bin"
diff --git a/nixos/modules/programs/wshowkeys.nix b/nixos/modules/programs/wshowkeys.nix
index f7b71d2bb0c89..1fef33e047175 100644
--- a/nixos/modules/programs/wshowkeys.nix
+++ b/nixos/modules/programs/wshowkeys.nix
@@ -1,27 +1,31 @@
-{ config, lib, pkgs, ... }:
-
-with lib;
-
+{
+  config,
+  lib,
+  pkgs,
+  ...
+}:
 let
   cfg = config.programs.wshowkeys;
-in {
-  meta.maintainers = with maintainers; [ primeos ];
-
+in
+{
   options = {
     programs.wshowkeys = {
-      enable = mkEnableOption ''
+      enable = lib.mkEnableOption ''
         wshowkeys (displays keypresses on screen on supported Wayland
         compositors). It requires root permissions to read input events, but
         these permissions are dropped after startup'';
+      package = lib.mkPackageOption pkgs "wshowkeys" { };
     };
   };
 
-  config = mkIf cfg.enable {
-    security.wrappers.wshowkeys =
-      { setuid = true;
-        owner = "root";
-        group = "root";
-        source = "${pkgs.wshowkeys}/bin/wshowkeys";
-      };
+  config = lib.mkIf cfg.enable {
+    security.wrappers.wshowkeys = {
+      setuid = true;
+      owner = "root";
+      group = "root";
+      source = lib.getExe cfg.package;
+    };
   };
+
+  meta.maintainers = with lib.maintainers; [ primeos ];
 }
diff --git a/nixos/modules/security/isolate.nix b/nixos/modules/security/isolate.nix
new file mode 100644
index 0000000000000..3cc0176f3db30
--- /dev/null
+++ b/nixos/modules/security/isolate.nix
@@ -0,0 +1,133 @@
+{ config, lib, pkgs, ... }:
+
+let
+  inherit (lib) mkEnableOption mkPackageOption mkOption types mkIf maintainers;
+
+  cfg = config.security.isolate;
+  configFile = pkgs.writeText "isolate-config.cf" ''
+    box_root=${cfg.boxRoot}
+    lock_root=${cfg.lockRoot}
+    cg_root=${cfg.cgRoot}
+    first_uid=${toString cfg.firstUid}
+    first_gid=${toString cfg.firstGid}
+    num_boxes=${toString cfg.numBoxes}
+    restricted_init=${if cfg.restrictedInit then "1" else "0"}
+    ${cfg.extraConfig}
+  '';
+  isolate = pkgs.symlinkJoin {
+    name = "isolate-wrapped-${pkgs.isolate.version}";
+
+    paths = [ pkgs.isolate ];
+
+    nativeBuildInputs = [ pkgs.makeWrapper ];
+
+    postBuild = ''
+      wrapProgram $out/bin/isolate \
+        --set ISOLATE_CONFIG_FILE ${configFile}
+
+      wrapProgram $out/bin/isolate-cg-keeper \
+        --set ISOLATE_CONFIG_FILE ${configFile}
+    '';
+  };
+in
+{
+  options.security.isolate = {
+    enable = mkEnableOption ''
+      Sandbox for securely executing untrusted programs
+    '';
+
+    package = mkPackageOption pkgs "isolate-unwrapped" { };
+
+    boxRoot = mkOption {
+      type = types.path;
+      default = "/var/lib/isolate/boxes";
+      description = ''
+        All sandboxes are created under this directory.
+        To avoid symlink attacks, this directory and all its ancestors
+        must be writeable only by root.
+      '';
+    };
+
+    lockRoot = mkOption {
+      type = types.path;
+      default = "/run/isolate/locks";
+      description = ''
+        Directory where lock files are created.
+      '';
+    };
+
+    cgRoot = mkOption {
+      type = types.str;
+      default = "auto:/run/isolate/cgroup";
+      description = ''
+        Control group which subgroups are placed under.
+        Either an explicit path to a subdirectory in cgroupfs, or "auto:file" to read
+        the path from "file", where it is put by `isolate-cg-helper`.
+      '';
+    };
+
+    firstUid = mkOption {
+      type = types.numbers.between 1000 65533;
+      default = 60000;
+      description = ''
+        Start of block of UIDs reserved for sandboxes.
+      '';
+    };
+
+    firstGid = mkOption {
+      type = types.numbers.between 1000 65533;
+      default = 60000;
+      description = ''
+        Start of block of GIDs reserved for sandboxes.
+      '';
+    };
+
+    numBoxes = mkOption {
+      type = types.numbers.between 1000 65533;
+      default = 1000;
+      description = ''
+        Number of UIDs and GIDs to reserve, starting from
+        {option}`firstUid` and {option}`firstGid`.
+      '';
+    };
+
+    restrictedInit = mkOption {
+      type = types.bool;
+      default = false;
+      description = ''
+        If true, only root can create sandboxes.
+      '';
+    };
+
+    extraConfig = mkOption {
+      type = types.str;
+      default = "";
+      description = ''
+        Extra configuration to append to the configuration file.
+      '';
+    };
+  };
+
+  config = mkIf cfg.enable {
+    environment.systemPackages = [
+      isolate
+    ];
+
+    systemd.services.isolate = {
+      description = "Isolate control group hierarchy daemon";
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig = {
+        Type = "notify";
+        ExecStart = "${isolate}/bin/isolate-cg-keeper";
+        Slice = "isolate.slice";
+        Delegate = true;
+      };
+    };
+
+    systemd.slices.isolate = {
+      description = "Isolate sandbox slice";
+    };
+
+    meta.maintainers = with maintainers; [ virchau13 ];
+  };
+}
diff --git a/nixos/modules/security/pam.nix b/nixos/modules/security/pam.nix
index a9bd28b154794..5d3bed2fb02c8 100644
--- a/nixos/modules/security/pam.nix
+++ b/nixos/modules/security/pam.nix
@@ -1044,9 +1044,7 @@ in
           See [issue #31611](https://github.com/NixOS/nixpkgs/issues/31611)
           :::
         '';
-        example = [ "/etc/ssh/authorized_keys.d/%u" ];
-        default = config.services.openssh.authorizedKeysFiles;
-        defaultText = literalExpression "config.services.openssh.authorizedKeysFiles";
+        default = [ "/etc/ssh/authorized_keys.d/%u" ];
       };
     };
 
diff --git a/nixos/modules/services/databases/redis.nix b/nixos/modules/services/databases/redis.nix
index 1da2fa9f11604..ad88a4f589a20 100644
--- a/nixos/modules/services/databases/redis.nix
+++ b/nixos/modules/services/databases/redis.nix
@@ -57,9 +57,9 @@ in {
       package = mkPackageOption pkgs "redis" { };
 
       vmOverCommit = mkEnableOption ''
-        setting of vm.overcommit_memory to 1
+        set `vm.overcommit_memory` sysctl to 1
         (Suggested for Background Saving: <https://redis.io/docs/get-started/faq/>)
-      '';
+      '' // { default = true; };
 
       servers = mkOption {
         type = with types; attrsOf (submodule ({ config, name, ... }: {
@@ -312,10 +312,9 @@ in {
       '';
     }) enabledServers);
 
-    boot.kernel.sysctl = mkMerge [
-      { "vm.nr_hugepages" = "0"; }
-      ( mkIf cfg.vmOverCommit { "vm.overcommit_memory" = "1"; } )
-    ];
+    boot.kernel.sysctl = mkIf cfg.vmOverCommit {
+      "vm.overcommit_memory" = "1";
+    };
 
     networking.firewall.allowedTCPPorts = concatMap (conf:
       optional conf.openFirewall conf.port
diff --git a/nixos/modules/services/desktop-managers/plasma6.nix b/nixos/modules/services/desktop-managers/plasma6.nix
index 856d36b8a3030..08507b4d370a7 100644
--- a/nixos/modules/services/desktop-managers/plasma6.nix
+++ b/nixos/modules/services/desktop-managers/plasma6.nix
@@ -238,7 +238,7 @@ in {
     services.system-config-printer.enable = mkIf config.services.printing.enable (mkDefault true);
     services.udisks2.enable = true;
     services.upower.enable = config.powerManagement.enable;
-    services.xserver.libinput.enable = mkDefault true;
+    services.libinput.enable = mkDefault true;
 
     # Extra UDEV rules used by Solid
     services.udev.packages = [
diff --git a/nixos/modules/services/desktops/pipewire/wireplumber.nix b/nixos/modules/services/desktops/pipewire/wireplumber.nix
index 6ab62eb03c25f..c924801bcd8ba 100644
--- a/nixos/modules/services/desktops/pipewire/wireplumber.nix
+++ b/nixos/modules/services/desktops/pipewire/wireplumber.nix
@@ -1,18 +1,40 @@
 { config, lib, pkgs, ... }:
 
 let
-  inherit (builtins) attrNames concatMap length;
+  inherit (builtins) concatMap;
   inherit (lib) maintainers;
-  inherit (lib.attrsets) attrByPath filterAttrs;
+  inherit (lib.attrsets) attrByPath mapAttrsToList;
   inherit (lib.lists) flatten optional;
   inherit (lib.modules) mkIf;
   inherit (lib.options) literalExpression mkOption;
-  inherit (lib.strings) hasPrefix;
-  inherit (lib.types) bool listOf package;
+  inherit (lib.strings) concatStringsSep makeSearchPath;
+  inherit (lib.types) bool listOf attrsOf package lines;
+  inherit (lib.path) subpath;
 
   pwCfg = config.services.pipewire;
   cfg = pwCfg.wireplumber;
   pwUsedForAudio = pwCfg.audio.enable;
+
+  json = pkgs.formats.json { };
+
+  configSectionsToConfFile = path: value:
+    pkgs.writeTextDir
+      path
+      (concatStringsSep "\n" (
+        mapAttrsToList
+          (section: content: "${section} = " + (builtins.toJSON content))
+          value
+      ));
+
+  mapConfigToFiles = config:
+    mapAttrsToList
+      (name: value: configSectionsToConfFile "share/wireplumber/wireplumber.conf.d/${name}.conf" value)
+      config;
+
+  mapScriptsToFiles = scripts:
+    mapAttrsToList
+      (relativePath: value: pkgs.writeTextDir (subpath.join ["share/wireplumber/scripts" relativePath]) value)
+      scripts;
 in
 {
   meta.maintainers = [ maintainers.k900 ];
@@ -33,6 +55,114 @@ in
         description = "The WirePlumber derivation to use.";
       };
 
+      extraConfig = mkOption {
+        # Two layer attrset is necessary before using JSON, because of the whole
+        # config file not being a JSON object, but a concatenation of JSON objects
+        # in sections.
+        type = attrsOf (attrsOf json.type);
+        default = { };
+        example = literalExpression ''{
+          "log-level-debug" = {
+            "context.properties" = {
+              # Output Debug log messages as opposed to only the default level (Notice)
+              "log.level" = "D";
+            };
+          };
+          "wh-1000xm3-ldac-hq" = {
+            "monitor.bluez.rules" = [
+              {
+                matches = [
+                  {
+                    # Match any bluetooth device with ids equal to that of a WH-1000XM3
+                    "device.name" = "~bluez_card.*";
+                    "device.product.id" = "0x0cd3";
+                    "device.vendor.id" = "usb:054c";
+                  }
+                ];
+                actions = {
+                  update-props = {
+                    # Set quality to high quality instead of the default of auto
+                    "bluez5.a2dp.ldac.quality" = "hq";
+                  };
+                };
+              }
+            ];
+          };
+        }'';
+        description = ''
+          Additional configuration for the WirePlumber daemon when run in
+          single-instance mode (the default in nixpkgs and currently the only
+          supported way to run WirePlumber configured via `extraConfig`).
+
+          See also:
+          - [The configuration file][docs-the-conf-file]
+          - [Modifying configuration][docs-modifying-config]
+          - [Locations of files][docs-file-locations]
+          - and the [configuration section][docs-config-section] of the docs in general
+
+          Note that WirePlumber (and PipeWire) use dotted attribute names like
+          `device.product.id`. These are not nested, but flat objects for WirePlumber/PipeWire,
+          so to write these in nix expressions, remember to quote them like `"device.product.id"`.
+          Have a look at the example for this.
+
+          [docs-the-conf-file]: https://pipewire.pages.freedesktop.org/wireplumber/daemon/configuration/conf_file.html
+          [docs-modifying-config]: https://pipewire.pages.freedesktop.org/wireplumber/daemon/configuration/modifying_configuration.html
+          [docs-file-locations]: https://pipewire.pages.freedesktop.org/wireplumber/daemon/configuration/locations.html
+          [docs-config-section]: https://pipewire.pages.freedesktop.org/wireplumber/daemon/configuration.html
+        '';
+      };
+
+      extraScripts = mkOption {
+        type = attrsOf lines;
+        default = { };
+        example = {
+          "test/hello-world.lua" = ''
+            print("Hello, world!")
+          '';
+        };
+        description = ''
+          Additional scripts for WirePlumber to be used by configuration files.
+
+          Every item in this attrset becomes a separate lua file with the path
+          relative to the `scripts` directory specified in the name of the item.
+          The scripts get passed to the WirePlumber service via the `XDG_DATA_DIRS`
+          variable. Scripts specified here are preferred over those shipped with
+          WirePlumber if they occupy the same relative path.
+
+          For a script to be loaded, it needs to be specified as part of a component,
+          and that component needs to be required by an active profile (e.g. `main`).
+          Components can be defined in config files either via `extraConfig` or `configPackages`.
+
+          For the hello-world example, you'd have to add the following `extraConfig`:
+          ```nix
+            services.pipewire.wireplumber.extraConfig."99-hello-world" = {
+              "wireplumber.components" = [
+                {
+                  name = "test/hello-world.lua";
+                  type = "script/lua";
+                  provides = "custom.hello-world";
+                }
+              ];
+
+              "wireplumber.profiles" = {
+                main = {
+                  "custom.hello-world" = "required";
+                };
+              };
+            };
+          ```
+
+          See also:
+          - [Location of scripts][docs-file-locations-scripts]
+          - [Components & Profiles][docs-components-profiles]
+          - [Migration - Loading custom scripts][docs-migration-loading-custom-scripts]
+
+          [docs-file-locations-scripts]: https://pipewire.pages.freedesktop.org/wireplumber/daemon/locations.html#location-of-scripts
+          [docs-components-profiles]: https://pipewire.pages.freedesktop.org/wireplumber/daemon/configuration/components_and_profiles.html
+          [docs-migration-loading-custom-scripts]: https://pipewire.pages.freedesktop.org/wireplumber/daemon/configuration/migration.html#loading-custom-scripts
+        '';
+      };
+
       configPackages = mkOption {
         type = listOf package;
         default = [ ];
@@ -57,7 +187,7 @@ in
 
       extraLv2Packages = mkOption {
         type = listOf package;
-        default = [];
+        default = [ ];
         example = literalExpression "[ pkgs.lsp-plugins ]";
         description = ''
           List of packages that provide LV2 plugins in `lib/lv2` that should
@@ -96,9 +226,22 @@ in
         }
       '';
 
+      extraConfigPkg = pkgs.buildEnv {
+        name = "wireplumber-extra-config";
+        paths = mapConfigToFiles cfg.extraConfig;
+        pathsToLink = [ "/share/wireplumber/wireplumber.conf.d" ];
+      };
+
+      extraScriptsPkg = pkgs.buildEnv {
+        name = "wireplumber-extra-scrips";
+        paths = mapScriptsToFiles cfg.extraScripts;
+        pathsToLink = [ "/share/wireplumber/scripts" ];
+      };
+
       configPackages = cfg.configPackages
-          ++ optional (!pwUsedForAudio) pwNotForAudioConfigPkg
-          ++ optional pwCfg.systemWide systemwideConfigPkg;
+        ++ [ extraConfigPkg extraScriptsPkg ]
+        ++ optional (!pwUsedForAudio) pwNotForAudioConfigPkg
+        ++ optional pwCfg.systemWide systemwideConfigPkg;
 
       configs = pkgs.buildEnv {
         name = "wireplumber-configs";
@@ -110,7 +253,7 @@ in
         (
           concatMap
             (p:
-              attrByPath ["passthru" "requiredLv2Packages"] [] p
+              attrByPath [ "passthru" "requiredLv2Packages" ] [ ] p
             )
             configPackages
         );
@@ -127,24 +270,10 @@ in
           assertion = !config.hardware.bluetooth.hsphfpd.enable;
           message = "Using WirePlumber conflicts with hsphfpd, as it provides the same functionality. `hardware.bluetooth.hsphfpd.enable` needs be set to false";
         }
-        {
-          assertion = length
-            (attrNames
-              (
-                filterAttrs
-                  (name: value:
-                    hasPrefix "wireplumber/" name || name == "wireplumber"
-                  )
-                  config.environment.etc
-              )) == 1;
-          message = "Using `environment.etc.\"wireplumber<...>\"` directly is no longer supported in 24.05. Use `services.pipewire.wireplumber.configPackages` instead.";
-        }
       ];
 
       environment.systemPackages = [ cfg.package ];
 
-      environment.etc.wireplumber.source = "${configs}/share/wireplumber";
-
       systemd.packages = [ cfg.package ];
 
       systemd.services.wireplumber.enable = pwCfg.systemWide;
@@ -156,10 +285,16 @@ in
       systemd.services.wireplumber.environment = mkIf pwCfg.systemWide {
         # Force WirePlumber to use system dbus.
         DBUS_SESSION_BUS_ADDRESS = "unix:path=/run/dbus/system_bus_socket";
+
+        # Make WirePlumber find our config/script files and lv2 plugins required by those
+        # (but also the configs/scripts shipped with WirePlumber)
+        XDG_DATA_DIRS = makeSearchPath "share" [ configs cfg.package ];
         LV2_PATH = "${lv2Plugins}/lib/lv2";
       };
 
-      systemd.user.services.wireplumber.environment.LV2_PATH =
-        mkIf (!pwCfg.systemWide) "${lv2Plugins}/lib/lv2";
+      systemd.user.services.wireplumber.environment = mkIf (!pwCfg.systemWide) {
+        XDG_DATA_DIRS = makeSearchPath "share" [ configs cfg.package ];
+        LV2_PATH = "${lv2Plugins}/lib/lv2";
+      };
     };
 }
diff --git a/nixos/modules/services/display-managers/sddm.nix b/nixos/modules/services/display-managers/sddm.nix
index aaf1f0dcfc65d..a6bfa213fe380 100644
--- a/nixos/modules/services/display-managers/sddm.nix
+++ b/nixos/modules/services/display-managers/sddm.nix
@@ -111,8 +111,8 @@ let
       let
         westonIni = (pkgs.formats.ini { }).generate "weston.ini" {
           libinput = {
-            enable-tap = xcfg.libinput.mouse.tapping;
-            left-handed = xcfg.libinput.mouse.leftHanded;
+            enable-tap = config.services.libinput.mouse.tapping;
+            left-handed = config.services.libinput.mouse.leftHanded;
           };
           keyboard = {
             keymap_model = xcfg.xkb.model;
diff --git a/nixos/modules/services/editors/emacs.md b/nixos/modules/services/editors/emacs.md
index 885f927422bdc..da10286751554 100644
--- a/nixos/modules/services/editors/emacs.md
+++ b/nixos/modules/services/editors/emacs.md
@@ -366,44 +366,3 @@ convenient if you regularly edit Nix files.
 You can use `woman` to get completion of all available
 man pages. For example, type `M-x woman <RET> nixos-rebuild <RET>.`
 
-### Editing DocBook 5 XML Documents {#sec-emacs-docbook-xml}
-
-Emacs includes
-[nXML](https://www.gnu.org/software/emacs/manual/html_node/nxml-mode/Introduction.html),
-a major-mode for validating and editing XML documents. When editing DocBook
-5.0 documents, such as [this one](#book-nixos-manual),
-nXML needs to be configured with the relevant schema, which is not
-included.
-
-To install the DocBook 5.0 schemas, either add
-{var}`pkgs.docbook5` to [](#opt-environment.systemPackages)
-([NixOS](#sec-declarative-package-mgmt)), or run
-`nix-env -f '<nixpkgs>' -iA docbook5`
-([Nix](#sec-ad-hoc-packages)).
-
-Then customize the variable {var}`rng-schema-locating-files` to
-include {file}`~/.emacs.d/schemas.xml` and put the following
-text into that file:
-::: {.example #ex-emacs-docbook-xml}
-### nXML Schema Configuration (`~/.emacs.d/schemas.xml`)
-
-```xml
-<?xml version="1.0"?>
-<!--
-  To let emacs find this file, evaluate:
-  (add-to-list 'rng-schema-locating-files "~/.emacs.d/schemas.xml")
--->
-<locatingRules xmlns="http://thaiopensource.com/ns/locating-rules/1.0">
-  <!--
-    Use this variation if pkgs.docbook5 is added to environment.systemPackages
-  -->
-  <namespace ns="http://docbook.org/ns/docbook"
-             uri="/run/current-system/sw/share/xml/docbook-5.0/rng/docbookxi.rnc"/>
-  <!--
-    Use this variation if installing schema with "nix-env -iA pkgs.docbook5".
-  <namespace ns="http://docbook.org/ns/docbook"
-             uri="../.nix-profile/share/xml/docbook-5.0/rng/docbookxi.rnc"/>
-  -->
-</locatingRules>
-```
-:::
diff --git a/nixos/modules/services/x11/hardware/libinput.nix b/nixos/modules/services/hardware/libinput.nix
index 54ff7d85a0331..b8aa59035d338 100644
--- a/nixos/modules/services/x11/hardware/libinput.nix
+++ b/nixos/modules/services/hardware/libinput.nix
@@ -2,7 +2,7 @@
 
 with lib;
 
-let cfg = config.services.xserver.libinput;
+let cfg = config.services.libinput;
 
     xorgBool = v: if v then "on" else "off";
 
@@ -223,7 +223,7 @@ let cfg = config.services.xserver.libinput;
 in {
 
   imports =
-    (map (option: mkRenamedOptionModule ([ "services" "xserver" "libinput" option ]) [ "services" "xserver" "libinput" "touchpad" option ]) [
+    (map (option: mkRenamedOptionModule ([ "services" "xserver" "libinput" option ]) [ "services" "libinput" "touchpad" option ]) [
       "accelProfile"
       "accelSpeed"
       "buttonMapping"
@@ -242,11 +242,15 @@ in {
       "transformationMatrix"
       "disableWhileTyping"
       "additionalOptions"
-    ]);
+    ]) ++ [
+      (mkRenamedOptionModule [ "services" "xserver" "libinput" "enable" ]   [ "services" "libinput" "enable" ])
+      (mkRenamedOptionModule [ "services" "xserver" "libinput" "mouse" ]    [ "services" "libinput" "mouse" ])
+      (mkRenamedOptionModule [ "services" "xserver" "libinput" "touchpad" ] [ "services" "libinput" "touchpad" ])
+    ];
 
   options = {
 
-    services.xserver.libinput = {
+    services.libinput = {
       enable = mkEnableOption "libinput" // {
         default = config.services.xserver.enable;
         defaultText = lib.literalExpression "config.services.xserver.enable";
diff --git a/nixos/modules/services/hardware/nvidia-container-toolkit/default.nix b/nixos/modules/services/hardware/nvidia-container-toolkit/default.nix
index 7b4973d3c6b0c..6c6bc667e6498 100644
--- a/nixos/modules/services/hardware/nvidia-container-toolkit/default.nix
+++ b/nixos/modules/services/hardware/nvidia-container-toolkit/default.nix
@@ -66,6 +66,12 @@
 
   config = {
 
+    virtualisation.docker.daemon.settings = lib.mkIf
+      (config.hardware.nvidia-container-toolkit.enable &&
+       (lib.versionAtLeast config.virtualisation.docker.package.version "25")) {
+      features.cdi = true;
+    };
+
     hardware.nvidia-container-toolkit.mounts = let
       nvidia-driver = config.hardware.nvidia.package;
     in (lib.mkMerge [
diff --git a/nixos/modules/services/home-automation/evcc.nix b/nixos/modules/services/home-automation/evcc.nix
index cf4043c946fa5..a952437b1b56e 100644
--- a/nixos/modules/services/home-automation/evcc.nix
+++ b/nixos/modules/services/home-automation/evcc.nix
@@ -63,6 +63,7 @@ in
         DynamicUser = true;
         LockPersonality = true;
         MemoryDenyWriteExecute = true;
+        Restart = "on-failure";
         RestrictAddressFamilies = [
           "AF_INET"
           "AF_INET6"
diff --git a/nixos/modules/services/home-automation/wyoming/faster-whisper.nix b/nixos/modules/services/home-automation/wyoming/faster-whisper.nix
index cbff3ab3e617c..d0fca6a41c7b6 100644
--- a/nixos/modules/services/home-automation/wyoming/faster-whisper.nix
+++ b/nixos/modules/services/home-automation/wyoming/faster-whisper.nix
@@ -119,6 +119,8 @@ in
         wantedBy = [
           "multi-user.target"
         ];
+        # https://github.com/rhasspy/wyoming-faster-whisper/issues/27
+        environment."HF_HUB_CACHE" = "/tmp";
         serviceConfig = {
           DynamicUser = true;
           User = "wyoming-faster-whisper";
diff --git a/nixos/modules/services/mail/roundcube.nix b/nixos/modules/services/mail/roundcube.nix
index dfbdff7fb0113..78f627d33e2df 100644
--- a/nixos/modules/services/mail/roundcube.nix
+++ b/nixos/modules/services/mail/roundcube.nix
@@ -247,14 +247,15 @@ in
       (mkIf (cfg.database.host == "localhost") {
         requires = [ "postgresql.service" ];
         after = [ "postgresql.service" ];
-        path = [ config.services.postgresql.package ];
       })
       {
         wants = [ "network-online.target" ];
         after = [ "network-online.target" ];
         wantedBy = [ "multi-user.target" ];
+
+        path = [ config.services.postgresql.package ];
         script = let
-          psql = "${lib.optionalString (!localDB) "PGPASSFILE=${cfg.database.passwordFile}"} ${pkgs.postgresql}/bin/psql ${lib.optionalString (!localDB) "-h ${cfg.database.host} -U ${cfg.database.username} "} ${cfg.database.dbname}";
+          psql = "${lib.optionalString (!localDB) "PGPASSFILE=${cfg.database.passwordFile}"} psql ${lib.optionalString (!localDB) "-h ${cfg.database.host} -U ${cfg.database.username} "} ${cfg.database.dbname}";
         in
         ''
           version="$(${psql} -t <<< "select value from system where name = 'roundcube-version';" || true)"
diff --git a/nixos/modules/services/matrix/appservice-irc.nix b/nixos/modules/services/matrix/appservice-irc.nix
index 90790169142aa..f4539a90f2e60 100644
--- a/nixos/modules/services/matrix/appservice-irc.nix
+++ b/nixos/modules/services/matrix/appservice-irc.nix
@@ -214,8 +214,9 @@ in {
         RestrictRealtime = true;
         PrivateMounts = true;
         SystemCallFilter = [
-          "@system-service @pkey @chown"
+          "@system-service @pkey"
           "~@privileged @resources"
+          "@chown"
         ];
         SystemCallArchitectures = "native";
         # AF_UNIX is required to connect to a postgres socket.
diff --git a/nixos/modules/services/matrix/conduit.nix b/nixos/modules/services/matrix/conduit.nix
index e6685af562c0a..9b8a4f45c268f 100644
--- a/nixos/modules/services/matrix/conduit.nix
+++ b/nixos/modules/services/matrix/conduit.nix
@@ -102,7 +102,7 @@ in
         default = {};
         description = ''
             Generates the conduit.toml configuration file. Refer to
-            <https://gitlab.com/famedly/conduit/-/blob/master/conduit-example.toml>
+            <https://docs.conduit.rs/configuration.html>
             for details on supported values.
             Note that database_path can not be edited because the service's reliance on systemd StateDir.
         '';
diff --git a/nixos/modules/services/misc/gitea.nix b/nixos/modules/services/misc/gitea.nix
index e76ba0efd4283..a8526688b074f 100644
--- a/nixos/modules/services/misc/gitea.nix
+++ b/nixos/modules/services/misc/gitea.nix
@@ -722,5 +722,5 @@ in
       timerConfig.OnCalendar = cfg.dump.interval;
     };
   };
-  meta.maintainers = with lib.maintainers; [ srhb ma27 thehedgeh0g ];
+  meta.maintainers = with lib.maintainers; [ srhb ma27 pyrox0 ];
 }
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/apcupsd.nix b/nixos/modules/services/monitoring/prometheus/exporters/apcupsd.nix
index 33a28ba132b8b..f188fe1f68fb8 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/apcupsd.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/apcupsd.nix
@@ -1,9 +1,8 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.apcupsd;
+  inherit (lib) mkOption types concatStringsSep;
 in
 {
   port = 9162;
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/artifactory.nix b/nixos/modules/services/monitoring/prometheus/exporters/artifactory.nix
index 306726f47e395..e98982c0dd312 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/artifactory.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/artifactory.nix
@@ -1,9 +1,8 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.artifactory;
+  inherit (lib) mkOption types concatStringsSep;
 in
 {
   port = 9531;
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/bind.nix b/nixos/modules/services/monitoring/prometheus/exporters/bind.nix
index 0f3a13900a274..1c7dcf8b1ef03 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/bind.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/bind.nix
@@ -1,9 +1,8 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.bind;
+  inherit (lib) mkOption types concatStringsSep;
 in
 {
   port = 9119;
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/bird.nix b/nixos/modules/services/monitoring/prometheus/exporters/bird.nix
index a020cd3d54b42..5d91eeed106d4 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/bird.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/bird.nix
@@ -1,9 +1,13 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.bird;
+  inherit (lib)
+    mkOption
+    types
+    concatStringsSep
+    singleton
+    ;
 in
 {
   port = 9324;
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/bitcoin.nix b/nixos/modules/services/monitoring/prometheus/exporters/bitcoin.nix
index b2bea158b07fc..e44140b1f51a0 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/bitcoin.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/bitcoin.nix
@@ -1,9 +1,8 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.bitcoin;
+  inherit (lib) mkOption types concatStringsSep;
 in
 {
   port = 9332;
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/blackbox.nix b/nixos/modules/services/monitoring/prometheus/exporters/blackbox.nix
index 80d0cfcc5e451..33a1fdc528053 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/blackbox.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/blackbox.nix
@@ -1,10 +1,14 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   logPrefix = "services.prometheus.exporter.blackbox";
   cfg = config.services.prometheus.exporters.blackbox;
+  inherit (lib)
+    mkOption
+    types
+    concatStringsSep
+    escapeShellArg
+    ;
 
   # This ensures that we can deal with string paths, path types and
   # store-path strings with context.
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/buildkite-agent.nix b/nixos/modules/services/monitoring/prometheus/exporters/buildkite-agent.nix
index ff1ee6a517b9c..0af1e33b2c445 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/buildkite-agent.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/buildkite-agent.nix
@@ -1,9 +1,14 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.buildkite-agent;
+  inherit (lib)
+    mkOption
+    types
+    concatStringsSep
+    optionalString
+    literalExpression
+    ;
 in
 {
   port = 9876;
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/collectd.nix b/nixos/modules/services/monitoring/prometheus/exporters/collectd.nix
index 339eb8c3f5f46..6f4c936fd4093 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/collectd.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/collectd.nix
@@ -1,9 +1,15 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.collectd;
+  inherit (lib)
+    mkOption
+    mkEnableOption
+    types
+    optionalString
+    concatStringsSep
+    escapeShellArg
+    ;
 in
 {
   port = 9103;
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/dmarc.nix b/nixos/modules/services/monitoring/prometheus/exporters/dmarc.nix
index 0f240cb30bb1d..3674fab1e4f83 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/dmarc.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/dmarc.nix
@@ -1,9 +1,8 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.dmarc;
+  inherit (lib) mkOption types optionalString;
 
   json = builtins.toJSON {
     inherit (cfg) folders port;
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/dnsmasq.nix b/nixos/modules/services/monitoring/prometheus/exporters/dnsmasq.nix
index f7ff2665f3d89..ba438ea74a3b6 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/dnsmasq.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/dnsmasq.nix
@@ -1,9 +1,13 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.dnsmasq;
+  inherit (lib)
+    mkOption
+    types
+    concatStringsSep
+    escapeShellArg
+    ;
 in
 {
   port = 9153;
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/domain.nix b/nixos/modules/services/monitoring/prometheus/exporters/domain.nix
index b2c8e6664c0f6..c271a040d288f 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/domain.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/domain.nix
@@ -1,9 +1,8 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.domain;
+  inherit (lib) concatStringsSep;
 in
 {
   port = 9222;
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/dovecot.nix b/nixos/modules/services/monitoring/prometheus/exporters/dovecot.nix
index ca02f73729161..f11e91fd761a9 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/dovecot.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/dovecot.nix
@@ -1,9 +1,13 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.dovecot;
+  inherit (lib)
+    mkOption
+    types
+    escapeShellArg
+    concatStringsSep
+    ;
 in
 {
   port = 9166;
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/flow.nix b/nixos/modules/services/monitoring/prometheus/exporters/flow.nix
index a9e2446d01568..7719215952a53 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/flow.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/flow.nix
@@ -1,9 +1,14 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.flow;
+  inherit (lib)
+    mkOption
+    types
+    literalExpression
+    concatStringsSep
+    optionalString
+    ;
 in {
   port = 9590;
   extraOpts = {
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/fritzbox.nix b/nixos/modules/services/monitoring/prometheus/exporters/fritzbox.nix
index fe1d1834570ac..29470147c13f2 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/fritzbox.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/fritzbox.nix
@@ -1,9 +1,8 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.fritzbox;
+  inherit (lib) mkOption types concatStringsSep;
 in
 {
   port = 9133;
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/idrac.nix b/nixos/modules/services/monitoring/prometheus/exporters/idrac.nix
index 3d1123e18a32d..54696187feb15 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/idrac.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/idrac.nix
@@ -1,8 +1,8 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
 let
   cfg = config.services.prometheus.exporters.idrac;
+  inherit (lib) mkOption types;
 
   configFile = if cfg.configurationPath != null
                then cfg.configurationPath
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/imap-mailstat.nix b/nixos/modules/services/monitoring/prometheus/exporters/imap-mailstat.nix
index c1e2a458f97b3..92d02a3f14635 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/imap-mailstat.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/imap-mailstat.nix
@@ -1,7 +1,5 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.imap-mailstat;
   valueToString = value:
@@ -13,6 +11,15 @@ let
         else "XXX ${toString value}"
       )
     );
+  inherit (lib)
+    mkOption
+    types
+    concatStrings
+    concatStringsSep
+    attrValues
+    mapAttrs
+    optionalString
+    ;
   createConfigFile = accounts:
     # unfortunately on toTOML yet
     # https://github.com/NixOS/nix/issues/3929
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/influxdb.nix b/nixos/modules/services/monitoring/prometheus/exporters/influxdb.nix
index 9ac0c35bf816f..3a5680439d4c2 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/influxdb.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/influxdb.nix
@@ -1,9 +1,8 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.influxdb;
+  inherit (lib) mkOption types concatStringsSep;
 in
 {
   port = 9122;
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/ipmi.nix b/nixos/modules/services/monitoring/prometheus/exporters/ipmi.nix
index a51c09d5086c0..51db6059081fb 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/ipmi.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/ipmi.nix
@@ -1,10 +1,15 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   logPrefix = "services.prometheus.exporter.ipmi";
   cfg = config.services.prometheus.exporters.ipmi;
+  inherit (lib)
+    mkOption
+    types
+    concatStringsSep
+    optionals
+    escapeShellArg
+    ;
 in {
   port = 9290;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/jitsi.nix b/nixos/modules/services/monitoring/prometheus/exporters/jitsi.nix
index f6c2d9172f4c4..6a6c003c19776 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/jitsi.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/jitsi.nix
@@ -1,9 +1,13 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.jitsi;
+  inherit (lib)
+    mkOption
+    types
+    escapeShellArg
+    concatStringsSep
+    ;
 in
 {
   port = 9700;
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/json.nix b/nixos/modules/services/monitoring/prometheus/exporters/json.nix
index 1e4632f9310eb..1c8db0ea3e0b1 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/json.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/json.nix
@@ -1,9 +1,14 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.json;
+  inherit (lib)
+    mkOption
+    types
+    escapeShellArg
+    concatStringsSep
+    mkRemovedOptionModule
+    ;
 in
 {
   port = 7979;
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/junos-czerwonk.nix b/nixos/modules/services/monitoring/prometheus/exporters/junos-czerwonk.nix
index 75b8bb650478a..3519cce6e821b 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/junos-czerwonk.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/junos-czerwonk.nix
@@ -1,9 +1,14 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.junos-czerwonk;
+  inherit (lib)
+    mkOption
+    types
+    escapeShellArg
+    mkIf
+    concatStringsSep
+    ;
 
   configFile = if cfg.configuration != null then configurationFile else (escapeShellArg cfg.configurationFile);
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/kea.nix b/nixos/modules/services/monitoring/prometheus/exporters/kea.nix
index 88dc284a8cc63..d0f2eb6b8a3c0 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/kea.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/kea.nix
@@ -5,10 +5,14 @@
 , ...
 }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.kea;
+  inherit (lib)
+    mkOption
+    types
+    mkRenamedOptionModule
+    literalExpression
+    ;
 in {
   imports = [
     (mkRenamedOptionModule [ "controlSocketPaths" ] [ "targets" ])
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/keylight.nix b/nixos/modules/services/monitoring/prometheus/exporters/keylight.nix
index afdb664a0de5e..44169cce6745e 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/keylight.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/keylight.nix
@@ -1,9 +1,8 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.keylight;
+  inherit (lib) concatStringsSep;
 in
 {
   port = 9288;
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/knot.nix b/nixos/modules/services/monitoring/prometheus/exporters/knot.nix
index 79d952dfb1641..ed902fc27c152 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/knot.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/knot.nix
@@ -1,9 +1,13 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.knot;
+  inherit (lib)
+    mkOption
+    types
+    literalExpression
+    concatStringsSep
+    ;
 in {
   port = 9433;
   extraOpts = {
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/lnd.nix b/nixos/modules/services/monitoring/prometheus/exporters/lnd.nix
index cc8db6e1b4e43..edface276f541 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/lnd.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/lnd.nix
@@ -1,9 +1,8 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.lnd;
+  inherit (lib) mkOption types concatStringsSep;
 in
 {
   port = 9092;
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/mail.nix b/nixos/modules/services/monitoring/prometheus/exporters/mail.nix
index 7ace5c1968fb1..f6dd6f7eb994a 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/mail.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/mail.nix
@@ -1,9 +1,19 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.mail;
+  inherit (lib)
+    mkOption
+    types
+    mapAttrs'
+    nameValuePair
+    toLower
+    filterAttrs
+    escapeShellArg
+    literalExpression
+    mkIf
+    concatStringsSep
+    ;
 
   configFile = if cfg.configuration != null then configurationFile else (escapeShellArg cfg.configFile);
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/mikrotik.nix b/nixos/modules/services/monitoring/prometheus/exporters/mikrotik.nix
index 9e0a98f0ba64f..cd438f13edd25 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/mikrotik.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/mikrotik.nix
@@ -1,9 +1,14 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.mikrotik;
+  inherit (lib)
+    mkOption
+    types
+    literalExpression
+    concatStringsSep
+    escapeShellArg
+    ;
 in
 {
   port = 9436;
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/minio.nix b/nixos/modules/services/monitoring/prometheus/exporters/minio.nix
index e1edd364c8fcb..8faff5908b8a9 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/minio.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/minio.nix
@@ -1,9 +1,14 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.minio;
+  inherit (lib)
+    mkOption
+    types
+    optionalString
+    concatStringsSep
+    escapeShellArg
+    ;
 in
 {
   port = 9290;
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/modemmanager.nix b/nixos/modules/services/monitoring/prometheus/exporters/modemmanager.nix
index 37a2daebd9739..37ff49b27000f 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/modemmanager.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/modemmanager.nix
@@ -1,9 +1,8 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.modemmanager;
+  inherit (lib) mkOption types concatStringsSep;
 in
 {
   port = 9539;
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/mongodb.nix b/nixos/modules/services/monitoring/prometheus/exporters/mongodb.nix
index 10d533a2bbdad..288434e93abb0 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/mongodb.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/mongodb.nix
@@ -1,9 +1,17 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.mongodb;
+  inherit (lib)
+    mkOption
+    types
+    optionalString
+    getExe
+    length
+    concatStringsSep
+    concatMapStringsSep
+    escapeShellArgs
+    ;
 in
 {
   port = 9216;
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/nats.nix b/nixos/modules/services/monitoring/prometheus/exporters/nats.nix
index 83e60426f5ed2..224ce474d5377 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/nats.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/nats.nix
@@ -1,11 +1,8 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
-
   cfg = config.services.prometheus.exporters.nats;
-
+  inherit (lib) mkOption types concatStringsSep;
 in
 {
   port = 7777;
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/nextcloud.nix b/nixos/modules/services/monitoring/prometheus/exporters/nextcloud.nix
index f22c5e2e5cff1..d221bac8421ac 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/nextcloud.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/nextcloud.nix
@@ -1,9 +1,13 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.nextcloud;
+  inherit (lib)
+    mkOption
+    types
+    escapeShellArg
+    concatStringsSep
+    ;
 in
 {
   port = 9205;
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/nginx.nix b/nixos/modules/services/monitoring/prometheus/exporters/nginx.nix
index d4939c7063a39..091ad2291d2a6 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/nginx.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/nginx.nix
@@ -1,9 +1,16 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.nginx;
+  inherit (lib)
+    mkOption
+    types
+    mkMerge
+    mkRemovedOptionModule
+    mkRenamedOptionModule
+    mkIf
+    concatStringsSep
+    ;
 in
 {
   port = 9113;
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/nginxlog.nix b/nixos/modules/services/monitoring/prometheus/exporters/nginxlog.nix
index ebb13a8c3ee3b..2b4fd12895a39 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/nginxlog.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/nginxlog.nix
@@ -1,9 +1,8 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.nginxlog;
+  inherit (lib) mkOption types;
 in {
   port = 9117;
   extraOpts = {
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/node.nix b/nixos/modules/services/monitoring/prometheus/exporters/node.nix
index 8615bd04951cc..9d6b51ad140d0 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/node.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/node.nix
@@ -1,9 +1,15 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.node;
+  inherit (lib)
+    mkOption
+    types
+    concatStringsSep
+    concatMapStringsSep
+    any
+    optionals
+    ;
   collectorIsEnabled = final: any (collector: (final == collector)) cfg.enabledCollectors;
   collectorIsDisabled = final: any (collector: (final == collector)) cfg.disabledCollectors;
 in
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/nut.nix b/nixos/modules/services/monitoring/prometheus/exporters/nut.nix
index e88059cea4396..157bdadddfc99 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/nut.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/nut.nix
@@ -1,9 +1,13 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.nut;
+  inherit (lib)
+    mkOption
+    types
+    optionalString
+    concatStringsSep
+    ;
 in
 {
   port = 9199;
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/openldap.nix b/nixos/modules/services/monitoring/prometheus/exporters/openldap.nix
index 9c1b39bb3a349..bb65bd2709330 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/openldap.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/openldap.nix
@@ -1,9 +1,8 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.openldap;
+  inherit (lib) mkOption types concatStringsSep;
 in {
   port = 9330;
   extraOpts = {
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/pgbouncer.nix b/nixos/modules/services/monitoring/prometheus/exporters/pgbouncer.nix
index 725a5679e271f..71b602638632e 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/pgbouncer.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/pgbouncer.nix
@@ -1,9 +1,14 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.pgbouncer;
+  inherit (lib)
+    mkOption
+    types
+    optionals
+    escapeShellArg
+    concatStringsSep
+    ;
 in
 {
   port = 9127;
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/pihole.nix b/nixos/modules/services/monitoring/prometheus/exporters/pihole.nix
index 926626b5e7979..30b260dc3792a 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/pihole.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/pihole.nix
@@ -1,9 +1,13 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.pihole;
+  inherit (lib)
+    mkOption
+    types
+    mkRemovedOptionModule
+    optionalString
+    ;
 in
 {
   imports = [
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/ping.nix b/nixos/modules/services/monitoring/prometheus/exporters/ping.nix
index a47db4c16f427..9122a6be66e66 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/ping.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/ping.nix
@@ -1,9 +1,9 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
 
 let
   cfg = config.services.prometheus.exporters.ping;
+  inherit (lib) mkOption types concatStringsSep;
 
   settingsFormat = pkgs.formats.yaml {};
   configFile = settingsFormat.generate "config.yml" cfg.settings;
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/postfix.nix b/nixos/modules/services/monitoring/prometheus/exporters/postfix.nix
index 188a5f9a1a14a..7aa3622f16d62 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/postfix.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/postfix.nix
@@ -1,9 +1,15 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.postfix;
+  inherit (lib)
+    mkOption
+    types
+    mkIf
+    escapeShellArg
+    concatStringsSep
+    optional
+    ;
 in
 {
   port = 9154;
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/postgres.nix b/nixos/modules/services/monitoring/prometheus/exporters/postgres.nix
index 7ed71ff9e10e9..bf392382660ab 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/postgres.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/postgres.nix
@@ -1,9 +1,14 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.postgres;
+  inherit (lib)
+    mkOption
+    types
+    mkIf
+    mkForce
+    concatStringsSep
+    ;
 in
 {
   port = 9187;
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/process.nix b/nixos/modules/services/monitoring/prometheus/exporters/process.nix
index b041a957b6387..8e5eceee067ce 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/process.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/process.nix
@@ -1,9 +1,13 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.process;
+  inherit (lib)
+    mkOption
+    types
+    literalExpression
+    concatStringsSep
+    ;
   configFile = pkgs.writeText "process-exporter.yaml" (builtins.toJSON cfg.settings);
 in
 {
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/pve.nix b/nixos/modules/services/monitoring/prometheus/exporters/pve.nix
index 96db49d9591f7..8928577b69532 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/pve.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/pve.nix
@@ -1,8 +1,14 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
 let
   cfg = config.services.prometheus.exporters.pve;
+  inherit (lib)
+    mkOption
+    types
+    mkPackageOption
+    optionalString
+    optionalAttrs
+    ;
 
   # pve exporter requires a config file so create an empty one if configFile is not provided
   emptyConfigFile = pkgs.writeTextFile {
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/py-air-control.nix b/nixos/modules/services/monitoring/prometheus/exporters/py-air-control.nix
index 66a8423f8ff5c..d788ce363d614 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/py-air-control.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/py-air-control.nix
@@ -1,9 +1,8 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.py-air-control;
+  inherit (lib) mkOption types;
 
   workingDir = "/var/lib/${cfg.stateDir}";
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/redis.nix b/nixos/modules/services/monitoring/prometheus/exporters/redis.nix
index ee7d87e8e6150..672e3dfe7b059 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/redis.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/redis.nix
@@ -1,9 +1,8 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.redis;
+  inherit (lib) concatStringsSep;
 in
 {
   port = 9121;
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/restic.nix b/nixos/modules/services/monitoring/prometheus/exporters/restic.nix
index aaf3c189a4d20..ef44803ba053d 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/restic.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/restic.nix
@@ -1,9 +1,18 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.restic;
+  inherit (lib)
+    mkOption
+    types
+    concatStringsSep
+    mkIf
+    mapAttrs'
+    splitString
+    toUpper
+    optionalAttrs
+    nameValuePair
+    ;
 in
 {
   port = 9753;
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/rspamd.nix b/nixos/modules/services/monitoring/prometheus/exporters/rspamd.nix
index ee8047fb4599d..8993aee5d2482 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/rspamd.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/rspamd.nix
@@ -1,9 +1,16 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.rspamd;
+  inherit (lib)
+    mkOption
+    types
+    replaceStrings
+    mkRemovedOptionModule
+    recursiveUpdate
+    concatStringsSep
+    literalExpression
+    ;
 
   mkFile = conf:
     pkgs.writeText "rspamd-exporter-config.yml" (builtins.toJSON conf);
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/script.nix b/nixos/modules/services/monitoring/prometheus/exporters/script.nix
index 5fe8512f554e7..0967ce236a62e 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/script.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/script.nix
@@ -1,9 +1,13 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.script;
+  inherit (lib)
+    mkOption
+    types
+    literalExpression
+    concatStringsSep
+    ;
   configFile = pkgs.writeText "script-exporter.yaml" (builtins.toJSON cfg.settings);
 in
 {
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/shelly.nix b/nixos/modules/services/monitoring/prometheus/exporters/shelly.nix
index 5b3cf10b650b0..be3e483c6ee19 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/shelly.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/shelly.nix
@@ -1,9 +1,8 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.shelly;
+  inherit (lib) mkOption types;
 in
 {
   port = 9784;
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/smartctl.nix b/nixos/modules/services/monitoring/prometheus/exporters/smartctl.nix
index 84658c48c7239..8aadd87abbedb 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/smartctl.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/smartctl.nix
@@ -1,9 +1,8 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.smartctl;
+  inherit (lib) mkOption types literalExpression;
   args = lib.escapeShellArgs ([
     "--web.listen-address=${cfg.listenAddress}:${toString cfg.port}"
     "--smartctl.path=${pkgs.smartmontools}/bin/smartctl"
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/smokeping.nix b/nixos/modules/services/monitoring/prometheus/exporters/smokeping.nix
index 79ed5129dda4d..c3baed1503764 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/smokeping.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/smokeping.nix
@@ -1,9 +1,8 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.smokeping;
+  inherit (lib) mkOption types concatStringsSep;
   goDuration = types.mkOptionType {
     name = "goDuration";
     description = "Go duration (https://golang.org/pkg/time/#ParseDuration)";
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/snmp.nix b/nixos/modules/services/monitoring/prometheus/exporters/snmp.nix
index 19ab31d735f86..dc10a9a2f92ea 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/snmp.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/snmp.nix
@@ -1,10 +1,15 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   logPrefix = "services.prometheus.exporters.snmp";
   cfg = config.services.prometheus.exporters.snmp;
+  inherit (lib)
+    mkOption
+    types
+    literalExpression
+    escapeShellArg
+    concatStringsSep
+    ;
 
   # This ensures that we can deal with string paths, path types and
   # store-path strings with context.
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/sql.nix b/nixos/modules/services/monitoring/prometheus/exporters/sql.nix
index 4c4d8f880364a..59715f5d33e24 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/sql.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/sql.nix
@@ -1,7 +1,13 @@
 { config, lib, pkgs, options, ... }:
-with lib;
 let
   cfg = config.services.prometheus.exporters.sql;
+  inherit (lib)
+    mkOption
+    types
+    mapAttrs
+    mapAttrsToList
+    concatStringsSep
+    ;
   cfgOptions = {
     options = with types; {
       jobs = mkOption {
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/statsd.nix b/nixos/modules/services/monitoring/prometheus/exporters/statsd.nix
index 94df86167e8ce..b1bc65c9a492f 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/statsd.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/statsd.nix
@@ -1,9 +1,8 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.statsd;
+  inherit (lib) concatStringsSep;
 in
 {
   port = 9102;
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/surfboard.nix b/nixos/modules/services/monitoring/prometheus/exporters/surfboard.nix
index 0e16d27b9d042..d848e263a3b64 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/surfboard.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/surfboard.nix
@@ -1,9 +1,8 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.surfboard;
+  inherit (lib) mkOption types concatStringsSep;
 in
 {
   port = 9239;
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/systemd.nix b/nixos/modules/services/monitoring/prometheus/exporters/systemd.nix
index 2edd1de83e1bf..52bad81ed7d51 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/systemd.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/systemd.nix
@@ -1,9 +1,8 @@
 { config, pkgs, lib, ... }:
 
-with lib;
-
-let cfg = config.services.prometheus.exporters.systemd;
-
+let
+  cfg = config.services.prometheus.exporters.systemd;
+  inherit (lib) concatStringsSep;
 in {
   port = 9558;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/tor.nix b/nixos/modules/services/monitoring/prometheus/exporters/tor.nix
index 48406def98944..d39112d0c283c 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/tor.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/tor.nix
@@ -1,9 +1,8 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.tor;
+  inherit (lib) mkOption types concatStringsSep;
 in
 {
   port = 9130;
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/unbound.nix b/nixos/modules/services/monitoring/prometheus/exporters/unbound.nix
index 0452f630c2e2f..df6011e2434b1 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/unbound.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/unbound.nix
@@ -5,10 +5,17 @@
 , ...
 }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.unbound;
+  inherit (lib)
+    mkOption
+    types
+    mkRemovedOptionModule
+    optionalAttrs
+    optionalString
+    mkMerge
+    mkIf
+    ;
 in
 {
   imports = [
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/unifi.nix b/nixos/modules/services/monitoring/prometheus/exporters/unifi.nix
index 82309febf63b8..07d177251f40d 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/unifi.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/unifi.nix
@@ -1,9 +1,14 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.unifi;
+  inherit (lib)
+    mkOption
+    types
+    escapeShellArg
+    optionalString
+    concatStringsSep
+    ;
 in
 {
   port = 9130;
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/unpoller.nix b/nixos/modules/services/monitoring/prometheus/exporters/unpoller.nix
index 0ea824fbf1140..7b9ba4c5d1edb 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/unpoller.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/unpoller.nix
@@ -1,9 +1,8 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.unpoller;
+  inherit (lib) mkEnableOption generators;
 
   configFile = pkgs.writeText "prometheus-unpoller-exporter.json" (generators.toJSON {} {
     poller = { inherit (cfg.log) debug quiet; };
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/v2ray.nix b/nixos/modules/services/monitoring/prometheus/exporters/v2ray.nix
index 1582554c12531..4fda15c9ee4ea 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/v2ray.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/v2ray.nix
@@ -1,9 +1,8 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.v2ray;
+  inherit (lib) mkOption types concatStringsSep;
 in
 {
   port = 9299;
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/varnish.nix b/nixos/modules/services/monitoring/prometheus/exporters/varnish.nix
index 811792674b96c..e94c513ae84f1 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/varnish.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/varnish.nix
@@ -1,9 +1,15 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.varnish;
+  inherit (lib)
+    mkOption
+    types
+    mkDefault
+    optional
+    escapeShellArg
+    concatStringsSep
+    ;
 in
 {
   port = 9131;
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/wireguard.nix b/nixos/modules/services/monitoring/prometheus/exporters/wireguard.nix
index 27c0c191c6e34..7a48c836425ff 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/wireguard.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/wireguard.nix
@@ -1,9 +1,15 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
-
 let
   cfg = config.services.prometheus.exporters.wireguard;
+  inherit (lib)
+    mkOption
+    types
+    mkRenamedOptionModule
+    mkEnableOption
+    optionalString
+    escapeShellArg
+    ;
 in {
   port = 9586;
   imports = [
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/zfs.nix b/nixos/modules/services/monitoring/prometheus/exporters/zfs.nix
index ce9cd624dc278..a685b94b827f4 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/zfs.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/zfs.nix
@@ -1,9 +1,14 @@
 { config, lib, pkgs, options, ... }:
 
-with lib;
 
 let
   cfg = config.services.prometheus.exporters.zfs;
+  inherit (lib)
+    mkOption
+    types
+    concatStringsSep
+    concatMapStringsSep
+    ;
 in
 {
   port = 9134;
diff --git a/nixos/modules/services/monitoring/rustdesk-server.nix b/nixos/modules/services/monitoring/rustdesk-server.nix
index fcfd57167dd8f..21e6128c7226a 100644
--- a/nixos/modules/services/monitoring/rustdesk-server.nix
+++ b/nixos/modules/services/monitoring/rustdesk-server.nix
@@ -53,15 +53,14 @@ in {
         Slice = "system-rustdesk.slice";
         User  = "rustdesk";
         Group = "rustdesk";
+        DynamicUser = "yes";
         Environment = [];
         WorkingDirectory = "/var/lib/rustdesk";
         StateDirectory   = "rustdesk";
         StateDirectoryMode = "0750";
         LockPersonality = true;
-        NoNewPrivileges = true;
         PrivateDevices = true;
         PrivateMounts = true;
-        PrivateTmp = true;
         PrivateUsers = true;
         ProtectClock = true;
         ProtectControlGroups = true;
@@ -71,10 +70,7 @@ in {
         ProtectKernelModules = true;
         ProtectKernelTunables = true;
         ProtectProc = "invisible";
-        ProtectSystem = "strict";
-        RemoveIPC = true;
         RestrictNamespaces = true;
-        RestrictSUIDSGID = true;
       };
     };
   in lib.mkIf cfg.enable {
diff --git a/nixos/modules/services/monitoring/vmagent.nix b/nixos/modules/services/monitoring/vmagent.nix
index cdcf1571154e9..4838e0709d09e 100644
--- a/nixos/modules/services/monitoring/vmagent.nix
+++ b/nixos/modules/services/monitoring/vmagent.nix
@@ -1,63 +1,62 @@
 { config, pkgs, lib, ... }:
-with lib;
+
 let
   cfg = config.services.vmagent;
   settingsFormat = pkgs.formats.json { };
 in {
-  options.services.vmagent = {
-    enable = mkEnableOption "vmagent";
-
-    user = mkOption {
-      default = "vmagent";
-      type = types.str;
-      description = ''
-        User account under which vmagent runs.
-      '';
-    };
+  imports = [
+    (lib.mkRemovedOptionModule [ "services" "vmagent" "dataDir" ] "dataDir has been deprecated in favor of systemd provided CacheDirectory")
+    (lib.mkRemovedOptionModule [ "services" "vmagent" "user" ] "user has been deprecated in favor of systemd DynamicUser")
+    (lib.mkRemovedOptionModule [ "services" "vmagent" "group" ] "group has been deprecated in favor of systemd DynamicUser")
+    (lib.mkRenamedOptionModule [ "services" "vmagent" "remoteWriteUrl" ] [ "services" "vmagent" "remoteWrite" "url" ])
+  ];
 
-    group = mkOption {
-      type = types.str;
-      default = "vmagent";
-      description = ''
-        Group under which vmagent runs.
-      '';
-    };
-
-    package = mkPackageOption pkgs "vmagent" { };
+  options.services.vmagent = {
+    enable = lib.mkEnableOption "vmagent";
 
-    dataDir = mkOption {
-      type = types.str;
-      default = "/var/lib/vmagent";
-      description = ''
-        The directory where vmagent stores its data files.
-      '';
-    };
+    package = lib.mkPackageOption pkgs "vmagent" { };
 
-    remoteWriteUrl = mkOption {
-      default = "http://localhost:8428/api/v1/write";
-      type = types.str;
-      description = ''
-        The storage endpoint such as VictoriaMetrics
-      '';
+    remoteWrite = {
+      url = lib.mkOption {
+        default = null;
+        type = lib.types.nullOr lib.types.str;
+        description = ''
+          Endpoint for prometheus compatible remote_write
+        '';
+      };
+      basicAuthUsername = lib.mkOption {
+        default = null;
+        type = lib.types.nullOr lib.types.str;
+        description = ''
+          Basic Auth username used to connect to remote_write endpoint
+        '';
+      };
+      basicAuthPasswordFile = lib.mkOption {
+        default = null;
+        type = lib.types.nullOr lib.types.str;
+        description = ''
+          File that contains the Basic Auth password used to connect to remote_write endpoint
+        '';
+      };
     };
 
-    prometheusConfig = mkOption {
+    prometheusConfig = lib.mkOption {
       type = lib.types.submodule { freeformType = settingsFormat.type; };
       description = ''
         Config for prometheus style metrics
       '';
     };
 
-    openFirewall = mkOption {
-      type = types.bool;
+    openFirewall = lib.mkOption {
+      type = lib.types.bool;
       default = false;
       description = ''
         Whether to open the firewall for the default ports.
       '';
     };
 
-    extraArgs = mkOption {
-      type = types.listOf types.str;
+    extraArgs = lib.mkOption {
+      type = lib.types.listOf lib.types.str;
       default = [];
       description = ''
         Extra args to pass to `vmagent`. See the docs:
@@ -67,37 +66,36 @@ in {
     };
   };
 
-  config = mkIf cfg.enable {
-    users.groups = mkIf (cfg.group == "vmagent") { vmagent = { }; };
-
-    users.users = mkIf (cfg.user == "vmagent") {
-      vmagent = {
-        group = cfg.group;
-        description = "vmagent daemon user";
-        home = cfg.dataDir;
-        isSystemUser = true;
-      };
-    };
-
-    networking.firewall.allowedTCPPorts = mkIf cfg.openFirewall [ 8429 ];
+  config = lib.mkIf cfg.enable {
+    networking.firewall.allowedTCPPorts = lib.mkIf cfg.openFirewall [ 8429 ];
 
     systemd.services.vmagent = let
       prometheusConfig = settingsFormat.generate "prometheusConfig.yaml" cfg.prometheusConfig;
+      startCommandLine = lib.concatStringsSep " " ([
+        "${cfg.package}/bin/vmagent"
+        "-promscrape.config=${prometheusConfig}"
+      ] ++ cfg.extraArgs
+        ++ lib.optionals (cfg.remoteWrite.url != null) [
+        "-remoteWrite.url=${cfg.remoteWrite.url}"
+        "-remoteWrite.tmpDataPath=%C/vmagent/remote_write_tmp"
+      ] ++ lib.optional (cfg.remoteWrite.basicAuthUsername != null) "-remoteWrite.basicAuth.username=${cfg.remoteWrite.basicAuthUsername}"
+        ++ lib.optional (cfg.remoteWrite.basicAuthPasswordFile != null) "-remoteWrite.basicAuth.passwordFile=\${CREDENTIALS_DIRECTORY}/remote_write_basic_auth_password");
     in {
       wantedBy = [ "multi-user.target" ];
       after = [ "network.target" ];
       description = "vmagent system service";
       serviceConfig = {
-        User = cfg.user;
-        Group = cfg.group;
+        DynamicUser = true;
+        User = "vmagent";
+        Group = "vmagent";
         Type = "simple";
         Restart = "on-failure";
-        WorkingDirectory = cfg.dataDir;
-        ExecStart = "${cfg.package}/bin/vmagent -remoteWrite.url=${cfg.remoteWriteUrl} -promscrape.config=${prometheusConfig} ${escapeShellArgs cfg.extraArgs}";
+        CacheDirectory = "vmagent";
+        ExecStart = startCommandLine;
+        LoadCredential = lib.optional (cfg.remoteWrite.basicAuthPasswordFile != null) [
+          "remote_write_basic_auth_password:${cfg.remoteWrite.basicAuthPasswordFile}"
+        ];
       };
     };
-
-    systemd.tmpfiles.rules =
-      [ "d '${cfg.dataDir}' 0755 ${cfg.user} ${cfg.group} -" ];
   };
 }
diff --git a/nixos/modules/services/networking/adguardhome.nix b/nixos/modules/services/networking/adguardhome.nix
index 6958bcccf54cf..df9927351edc3 100644
--- a/nixos/modules/services/networking/adguardhome.nix
+++ b/nixos/modules/services/networking/adguardhome.nix
@@ -4,6 +4,7 @@ with lib;
 
 let
   cfg = config.services.adguardhome;
+  settingsFormat = pkgs.formats.yaml { };
 
   args = concatStringsSep " " ([
     "--no-check-update"
@@ -12,27 +13,33 @@ let
     "--config /var/lib/AdGuardHome/AdGuardHome.yaml"
   ] ++ cfg.extraArgs);
 
-  configFile = pkgs.writeTextFile {
-    name = "AdGuardHome.yaml";
-    text = builtins.toJSON cfg.settings;
-    checkPhase = "${pkgs.adguardhome}/bin/adguardhome -c $out --check-config";
-  };
-  defaultBindPort = 3000;
-
-in
-{
-
-  imports =
-    let cfgPath = [ "services" "adguardhome" ];
-    in
-    [
-      (mkRenamedOptionModuleWith { sinceRelease = 2211; from = cfgPath ++ [ "host" ]; to = cfgPath ++ [ "settings" "bind_host" ]; })
-      (mkRenamedOptionModuleWith { sinceRelease = 2211; from = cfgPath ++ [ "port" ]; to = cfgPath ++ [ "settings" "bind_port" ]; })
-    ];
-
+  settings = if (cfg.settings != null) then
+    cfg.settings // (if cfg.settings.schema_version < 23 then {
+      bind_host = cfg.host;
+      bind_port = cfg.port;
+    } else {
+      http.address = "${cfg.host}:${toString cfg.port}";
+    })
+  else
+    null;
+
+  configFile =
+    (settingsFormat.generate "AdGuardHome.yaml" settings).overrideAttrs (_: {
+      checkPhase = "${cfg.package}/bin/adguardhome -c $out --check-config";
+    });
+in {
   options.services.adguardhome = with types; {
     enable = mkEnableOption "AdGuard Home network-wide ad blocker";
 
+    package = mkOption {
+      type = package;
+      default = pkgs.adguardhome;
+      defaultText = literalExpression "pkgs.adguardhome";
+      description = ''
+        The package that runs adguardhome.
+      '';
+    };
+
     openFirewall = mkOption {
       default = false;
       type = bool;
@@ -43,8 +50,8 @@ in
     };
 
     allowDHCP = mkOption {
-      default = cfg.settings.dhcp.enabled or false;
-      defaultText = literalExpression ''config.services.adguardhome.settings.dhcp.enabled or false'';
+      default = settings.dhcp.enabled or false;
+      defaultText = literalExpression "config.services.adguardhome.settings.dhcp.enabled or false";
       type = bool;
       description = ''
         Allows AdGuard Home to open raw sockets (`CAP_NET_RAW`), which is
@@ -65,32 +72,34 @@ in
       '';
     };
 
+    host = mkOption {
+      default = "0.0.0.0";
+      type = str;
+      description = ''
+        Host address to bind HTTP server to.
+      '';
+    };
+
+    port = mkOption {
+      default = 3000;
+      type = port;
+      description = ''
+        Port to serve HTTP pages on.
+      '';
+    };
+
     settings = mkOption {
       default = null;
       type = nullOr (submodule {
-        freeformType = (pkgs.formats.yaml { }).type;
+        freeformType = settingsFormat.type;
         options = {
           schema_version = mkOption {
-            default = pkgs.adguardhome.schema_version;
-            defaultText = literalExpression "pkgs.adguardhome.schema_version";
+            default = cfg.package.schema_version;
+            defaultText = literalExpression "cfg.package.schema_version";
             type = int;
             description = ''
               Schema version for the configuration.
-              Defaults to the `schema_version` supplied by `pkgs.adguardhome`.
-            '';
-          };
-          bind_host = mkOption {
-            default = "0.0.0.0";
-            type = str;
-            description = ''
-              Host address to bind HTTP server to.
-            '';
-          };
-          bind_port = mkOption {
-            default = defaultBindPort;
-            type = port;
-            description = ''
-              Port to serve HTTP pages on.
+              Defaults to the `schema_version` supplied by `cfg.package`.
             '';
           };
         };
@@ -107,7 +116,7 @@ in
 
         Set this to `null` (default) for a non-declarative configuration without any
         Nix-supplied values.
-        Declarative configurations are supplied with a default `schema_version`, `bind_host`, and `bind_port`.
+        Declarative configurations are supplied with a default `schema_version`, and `http.address`.
         :::
       '';
     };
@@ -124,17 +133,25 @@ in
   config = mkIf cfg.enable {
     assertions = [
       {
-        assertion = cfg.settings != null -> cfg.mutableSettings
-          || (hasAttrByPath [ "dns" "bind_host" ] cfg.settings)
-          || (hasAttrByPath [ "dns" "bind_hosts" ] cfg.settings);
-        message =
-          "AdGuard setting dns.bind_host or dns.bind_hosts needs to be configured for a minimal working configuration";
+        assertion = cfg.settings != null
+          -> !(hasAttrByPath [ "bind_host" ] cfg.settings);
+        message = "AdGuard option `settings.bind_host' has been superseded by `services.adguardhome.host'";
+      }
+      {
+        assertion = cfg.settings != null
+          -> !(hasAttrByPath [ "bind_port" ] cfg.settings);
+        message = "AdGuard option `settings.bind_host' has been superseded by `services.adguardhome.port'";
+      }
+      {
+        assertion = settings != null -> cfg.mutableSettings
+          || hasAttrByPath [ "dns" "bootstrap_dns" ] settings;
+        message = "AdGuard setting dns.bootstrap_dns needs to be configured for a minimal working configuration";
       }
       {
-        assertion = cfg.settings != null -> cfg.mutableSettings
-          || hasAttrByPath [ "dns" "bootstrap_dns" ] cfg.settings;
-        message =
-          "AdGuard setting dns.bootstrap_dns needs to be configured for a minimal working configuration";
+        assertion = settings != null -> cfg.mutableSettings
+          || hasAttrByPath [ "dns" "bootstrap_dns" ] settings
+          && isList settings.dns.bootstrap_dns;
+        message = "AdGuard setting dns.bootstrap_dns needs to be a list";
       }
     ];
 
@@ -147,7 +164,7 @@ in
         StartLimitBurst = 10;
       };
 
-      preStart = optionalString (cfg.settings != null) ''
+      preStart = optionalString (settings != null) ''
         if    [ -e "$STATE_DIRECTORY/AdGuardHome.yaml" ] \
            && [ "${toString cfg.mutableSettings}" = "1" ]; then
           # Writing directly to AdGuardHome.yaml results in empty file
@@ -161,8 +178,9 @@ in
 
       serviceConfig = {
         DynamicUser = true;
-        ExecStart = "${pkgs.adguardhome}/bin/adguardhome ${args}";
-        AmbientCapabilities = [ "CAP_NET_BIND_SERVICE" ] ++ optionals cfg.allowDHCP [ "CAP_NET_RAW" ];
+        ExecStart = "${cfg.package}/bin/adguardhome ${args}";
+        AmbientCapabilities = [ "CAP_NET_BIND_SERVICE" ]
+          ++ optionals cfg.allowDHCP [ "CAP_NET_RAW" ];
         Restart = "always";
         RestartSec = 10;
         RuntimeDirectory = "AdGuardHome";
@@ -170,6 +188,6 @@ in
       };
     };
 
-    networking.firewall.allowedTCPPorts = mkIf cfg.openFirewall [ cfg.settings.bind_port or defaultBindPort ];
+    networking.firewall.allowedTCPPorts = mkIf cfg.openFirewall [ cfg.port ];
   };
 }
diff --git a/nixos/modules/services/networking/knot.nix b/nixos/modules/services/networking/knot.nix
index 89d3ea5e9626a..145b4ad1dd3f1 100644
--- a/nixos/modules/services/networking/knot.nix
+++ b/nixos/modules/services/networking/knot.nix
@@ -226,7 +226,7 @@ in {
       };
 
       settings = mkOption {
-        type = types.submodule { freeformType = types.attrs; };
+        type = (pkgs.formats.yaml {}).type;
         default = {};
         description = ''
           Extra configuration as nix values.
diff --git a/nixos/modules/services/networking/netbird/coturn.nix b/nixos/modules/services/networking/netbird/coturn.nix
index dd032abb2d75e..746d70a07250d 100644
--- a/nixos/modules/services/networking/netbird/coturn.nix
+++ b/nixos/modules/services/networking/netbird/coturn.nix
@@ -148,10 +148,10 @@ in
         allowedUDPPorts = cfg.openPorts;
         allowedTCPPorts = cfg.openPorts;
 
-        allowedUDPPortRanges = [
+        allowedUDPPortRanges = with config.services.coturn; [
           {
-            from = cfg.minPort;
-            to = cfg.maxPort;
+            from = min-port;
+            to = max-port;
           }
         ];
       };
diff --git a/nixos/modules/services/networking/pixiecore.nix b/nixos/modules/services/networking/pixiecore.nix
index e61d32e136095..cfdb8014136ed 100644
--- a/nixos/modules/services/networking/pixiecore.nix
+++ b/nixos/modules/services/networking/pixiecore.nix
@@ -6,7 +6,7 @@ let
   cfg = config.services.pixiecore;
 in
 {
-  meta.maintainers = with maintainers; [ bbigras danderson ];
+  meta.maintainers = with maintainers; [ bbigras ];
 
   options = {
     services.pixiecore = {
diff --git a/nixos/modules/services/networking/pppd.nix b/nixos/modules/services/networking/pppd.nix
index d937456efddd4..8310b119b5f67 100644
--- a/nixos/modules/services/networking/pppd.nix
+++ b/nixos/modules/services/networking/pppd.nix
@@ -7,7 +7,7 @@ let
 in
 {
   meta = {
-    maintainers = with maintainers; [ danderson ];
+    maintainers = with maintainers; [ ];
   };
 
   options = {
diff --git a/nixos/modules/services/networking/ssh/sshd.nix b/nixos/modules/services/networking/ssh/sshd.nix
index 5f2f6cb07af79..c62bccd462d33 100644
--- a/nixos/modules/services/networking/ssh/sshd.nix
+++ b/nixos/modules/services/networking/ssh/sshd.nix
@@ -346,6 +346,7 @@ in
                 violates the privacy of users and is not recommended.
               '';
             };
+            UsePAM = mkEnableOption "PAM authentication" // { default = true; };
             UseDns = mkOption {
               type = types.bool;
               # apply if cfg.useDns then "yes" else "no"
@@ -489,6 +490,8 @@ in
                 {manpage}`sshd_config(5)` for details.
               '';
             };
+            # Disabled by default, since pam_motd handles this.
+            PrintMotd = mkEnableOption "printing /etc/motd when a user logs in interactively";
           };
         });
       };
@@ -622,7 +625,7 @@ in
 
     networking.firewall.allowedTCPPorts = optionals cfg.openFirewall cfg.ports;
 
-    security.pam.services.sshd =
+    security.pam.services.sshd = lib.mkIf cfg.settings.UsePAM
       { startSession = true;
         showMotd = true;
         unixAuth = cfg.settings.PasswordAuthentication;
@@ -638,8 +641,6 @@ in
 
     services.openssh.extraConfig = mkOrder 0
       ''
-        UsePAM yes
-
         Banner ${if cfg.banner == null then "none" else pkgs.writeText "ssh_banner" cfg.banner}
 
         AddressFamily ${if config.networking.enableIPv6 then "any" else "inet"}
@@ -657,7 +658,6 @@ in
         ${optionalString cfg.allowSFTP ''
           Subsystem sftp ${cfg.sftpServerExecutable} ${concatStringsSep " " cfg.sftpFlags}
         ''}
-        PrintMotd no # handled by pam_motd
         AuthorizedKeysFile ${toString cfg.authorizedKeysFiles}
         ${optionalString (cfg.authorizedKeysCommand != "none") ''
           AuthorizedKeysCommand ${cfg.authorizedKeysCommand}
diff --git a/nixos/modules/services/networking/sunshine.nix b/nixos/modules/services/networking/sunshine.nix
index c115b9cd5cf99..0749eaee95d8a 100644
--- a/nixos/modules/services/networking/sunshine.nix
+++ b/nixos/modules/services/networking/sunshine.nix
@@ -32,6 +32,13 @@ in
         Whether to give the Sunshine binary CAP_SYS_ADMIN, required for DRM/KMS screen capture.
       '';
     };
+    autoStart = mkOption {
+      type = bool;
+      default = true;
+      description = ''
+        Whether sunshine should be started automatically.
+      '';
+    };
     settings = mkOption {
       default = { };
       description = ''
@@ -135,7 +142,7 @@ in
     systemd.user.services.sunshine = {
       description = "Self-hosted game stream host for Moonlight";
 
-      wantedBy = [ "graphical-session.target" ];
+      wantedBy = mkIf cfg.autoStart [ "graphical-session.target" ];
       partOf = [ "graphical-session.target" ];
       wants = [ "graphical-session.target" ];
       after = [ "graphical-session.target" ];
diff --git a/nixos/modules/services/networking/tailscale.nix b/nixos/modules/services/networking/tailscale.nix
index 2a77c0c7a23e7..a79e47d8491b8 100644
--- a/nixos/modules/services/networking/tailscale.nix
+++ b/nixos/modules/services/networking/tailscale.nix
@@ -6,7 +6,7 @@ let
   cfg = config.services.tailscale;
   isNetworkd = config.networking.useNetworkd;
 in {
-  meta.maintainers = with maintainers; [ danderson mbaillie twitchyliquid64 mfrw ];
+  meta.maintainers = with maintainers; [ mbaillie mfrw ];
 
   options.services.tailscale = {
     enable = mkEnableOption "Tailscale client daemon";
diff --git a/nixos/modules/services/security/oauth2_proxy_nginx.nix b/nixos/modules/services/security/oauth2_proxy_nginx.nix
index 87ea61276837c..91d846abb36e6 100644
--- a/nixos/modules/services/security/oauth2_proxy_nginx.nix
+++ b/nixos/modules/services/security/oauth2_proxy_nginx.nix
@@ -25,10 +25,41 @@ in
     };
 
     virtualHosts = mkOption {
-      type = types.listOf types.str;
-      default = [];
+      type = let
+        vhostSubmodule = types.submodule {
+          options = {
+            allowed_groups = mkOption {
+              type = types.nullOr (types.listOf types.str);
+              description = "List of groups to allow access to this vhost, or null to allow all.";
+              default = null;
+            };
+            allowed_emails = mkOption {
+              type = types.nullOr (types.listOf types.str);
+              description = "List of emails to allow access to this vhost, or null to allow all.";
+              default = null;
+            };
+            allowed_email_domains = mkOption {
+              type = types.nullOr (types.listOf types.str);
+              description = "List of email domains to allow access to this vhost, or null to allow all.";
+              default = null;
+            };
+          };
+        };
+        oldType = types.listOf types.str;
+        convertFunc = x:
+          lib.warn "services.oauth2_proxy.nginx.virtualHosts should be an attrset, found ${lib.generators.toPretty {} x}"
+          lib.genAttrs x (_: {});
+        newType = types.attrsOf vhostSubmodule;
+      in types.coercedTo oldType convertFunc newType;
+      default = {};
+      example = {
+        "protected.foo.com" = {
+          allowed_groups = ["admins"];
+          allowed_emails = ["boss@foo.com"];
+        };
+      };
       description = ''
-        A list of nginx virtual hosts to put behind the oauth2 proxy.
+        Nginx virtual hosts to put behind the oauth2 proxy.
         You can exclude specific locations by setting `auth_request off;` in the locations extraConfig setting.
       '';
     };
@@ -50,11 +81,20 @@ in
     }
   ] ++ optional (cfg.virtualHosts != []) {
     recommendedProxySettings = true; # needed because duplicate headers
-  } ++ (map (vhost: {
+  } ++ (lib.mapAttrsToList (vhost: conf: {
     virtualHosts.${vhost} = {
       locations = {
-        "/oauth2/auth" = {
-          proxyPass = cfg.proxy;
+        "/oauth2/auth" = let
+          maybeQueryArg = name: value:
+            if value == null then null
+            else "${name}=${lib.concatStringsSep "," (builtins.map lib.escapeURL value)}";
+          allArgs = lib.mapAttrsToList maybeQueryArg conf;
+          cleanArgs = builtins.filter (x: x != null) allArgs;
+          cleanArgsStr = lib.concatStringsSep "&" cleanArgs;
+        in {
+          # nginx doesn't support passing query string arguments to auth_request,
+          # so pass them here instead
+          proxyPass = "${cfg.proxy}/oauth2/auth?${cleanArgsStr}";
           extraConfig = ''
             auth_request off;
             proxy_set_header X-Scheme         $scheme;
diff --git a/nixos/modules/services/security/vaultwarden/default.nix b/nixos/modules/services/security/vaultwarden/default.nix
index b2920931f9a9e..33957be437b30 100644
--- a/nixos/modules/services/security/vaultwarden/default.nix
+++ b/nixos/modules/services/security/vaultwarden/default.nix
@@ -131,21 +131,13 @@ in {
         Additional environment file as defined in {manpage}`systemd.exec(5)`.
 
         Secrets like {env}`ADMIN_TOKEN` and {env}`SMTP_PASSWORD`
-        may be passed to the service without adding them to the world-readable Nix store.
+        should be passed to the service without adding them to the world-readable Nix store.
 
-        Note that this file needs to be available on the host on which
-        `vaultwarden` is running.
+        Note that this file needs to be available on the host on which `vaultwarden` is running.
 
-        As a concrete example, to make the Admin UI available
-        (from which new users can be invited initially),
+        As a concrete example, to make the Admin UI available (from which new users can be invited initially),
         the secret {env}`ADMIN_TOKEN` needs to be defined as described
-        [here](https://github.com/dani-garcia/vaultwarden/wiki/Enabling-admin-page).
-        Setting `environmentFile` to `/var/lib/vaultwarden.env`
-        and ensuring permissions with e.g.
-        `chown vaultwarden:vaultwarden /var/lib/vaultwarden.env`
-        (the `vaultwarden` user will only exist after activating with
-        `enable = true;` before this), we can set the contents of the file to have
-        contents such as:
+        [here](https://github.com/dani-garcia/vaultwarden/wiki/Enabling-admin-page):
 
         ```
         # Admin secret token, see
diff --git a/nixos/modules/services/system/dbus.nix b/nixos/modules/services/system/dbus.nix
index a9fc88e320c6b..8dba0aca64337 100644
--- a/nixos/modules/services/system/dbus.nix
+++ b/nixos/modules/services/system/dbus.nix
@@ -39,7 +39,7 @@ in
 
       implementation = mkOption {
         type = types.enum [ "dbus" "broker" ];
-        default = "broker";
+        default = "dbus";
         description = ''
           The implementation to use for the message bus defined by the D-Bus specification.
           Can be either the classic dbus daemon or dbus-broker, which aims to provide high
diff --git a/nixos/modules/services/web-apps/akkoma.nix b/nixos/modules/services/web-apps/akkoma.nix
index eca498549df36..7c9bf6c465164 100644
--- a/nixos/modules/services/web-apps/akkoma.nix
+++ b/nixos/modules/services/web-apps/akkoma.nix
@@ -817,11 +817,11 @@ in {
                 base_url = mkOption {
                     type = types.nullOr types.nonEmptyStr;
                     default = if lib.versionOlder config.system.stateVersion "24.05"
-                              then "${httpConf.scheme}://${httpConf.host}:${builtins.toString httpConf.port}/media/"
+                              then "${httpConf.scheme}://${httpConf.host}:${builtins.toString httpConf.port}"
                               else null;
                     defaultText = literalExpression ''
                       if lib.versionOlder config.system.stateVersion "24.05"
-                      then "$\{httpConf.scheme}://$\{httpConf.host}:$\{builtins.toString httpConf.port}/media/"
+                      then "$\{httpConf.scheme}://$\{httpConf.host}:$\{builtins.toString httpConf.port}"
                       else null;
                     '';
                     description = ''
@@ -957,7 +957,7 @@ in {
     assertions = optionals (cfg.config.":pleroma".":media_proxy".enabled && cfg.config.":pleroma".":media_proxy".base_url == null) [''
       `services.akkoma.config.":pleroma".":media_proxy".base_url` must be set when the media proxy is enabled.
     ''];
-    warnings = optionals (with config.security; (!sudo.enable) && (!sudo-rs.enable)) [''
+    warnings = optionals (with config.security; cfg.installWrapper && (!sudo.enable) && (!sudo-rs.enable)) [''
       The pleroma_ctl wrapper enabled by the installWrapper option relies on
       sudo, which appears to have been disabled through security.sudo.enable.
     ''];
diff --git a/nixos/modules/services/web-apps/castopod.nix b/nixos/modules/services/web-apps/castopod.nix
index 69ee670276a76..d3750c3dd3938 100644
--- a/nixos/modules/services/web-apps/castopod.nix
+++ b/nixos/modules/services/web-apps/castopod.nix
@@ -17,7 +17,7 @@ let
 in
 {
   meta.doc = ./castopod.md;
-  meta.maintainers = with lib.maintainers; [ alexoundos misuzu ];
+  meta.maintainers = with lib.maintainers; [ alexoundos ];
 
   options.services = {
     castopod = {
diff --git a/nixos/modules/services/web-apps/coder.nix b/nixos/modules/services/web-apps/coder.nix
index d4a5b7b2b89cd..5450adbe118da 100644
--- a/nixos/modules/services/web-apps/coder.nix
+++ b/nixos/modules/services/web-apps/coder.nix
@@ -223,4 +223,5 @@ in {
       };
     };
   };
+  meta.maintainers = pkgs.coder.meta.maintainers;
 }
diff --git a/nixos/modules/services/web-apps/gotosocial.nix b/nixos/modules/services/web-apps/gotosocial.nix
index 8e0e1ad765212..aee1edf66a6a7 100644
--- a/nixos/modules/services/web-apps/gotosocial.nix
+++ b/nixos/modules/services/web-apps/gotosocial.nix
@@ -27,7 +27,7 @@ let
 in
 {
   meta.doc = ./gotosocial.md;
-  meta.maintainers = with lib.maintainers; [ misuzu blakesmith ];
+  meta.maintainers = with lib.maintainers; [ blakesmith ];
 
   options.services.gotosocial = {
     enable = lib.mkEnableOption "ActivityPub social network server";
diff --git a/nixos/modules/services/web-apps/movim.nix b/nixos/modules/services/web-apps/movim.nix
index bb88a185b4618..29bed0e067fa4 100644
--- a/nixos/modules/services/web-apps/movim.nix
+++ b/nixos/modules/services/web-apps/movim.nix
@@ -103,22 +103,20 @@ let
           lib.concatStringsSep "\n" [
             (lib.optionalString brotli.enable ''
               echo -n "Precompressing static files with Brotli …"
-              find ${appDir}/public -type f ${findTextFileNames} \
-                | ${lib.getExe pkgs.parallel} ${lib.escapeShellArgs [
-                    "--will-cite"
-                    "-j $NIX_BUILD_CORES"
-                    "${lib.getExe brotli.package} --keep --quality=${builtins.toString brotli.compressionLevel} --output={}.br {}"
-                   ]}
+              find ${appDir}/public -type f ${findTextFileNames} -print0 \
+                | xargs -0 -n 1 -P $NIX_BUILD_CORES ${pkgs.writeShellScript "movim_precompress_broti" ''
+                    file="$1"
+                    ${lib.getExe brotli.package} --keep --quality=${builtins.toString brotli.compressionLevel} --output=$file.br $file
+                  ''}
               echo " done."
             '')
             (lib.optionalString gzip.enable ''
               echo -n "Precompressing static files with Gzip …"
-              find ${appDir}/public -type f ${findTextFileNames} \
-                | ${lib.getExe pkgs.parallel} ${lib.escapeShellArgs [
-                    "--will-cite"
-                    "-j $NIX_BUILD_CORES"
-                    "${lib.getExe gzip.package} -c -${builtins.toString gzip.compressionLevel} {} > {}.gz"
-                   ]}
+              find ${appDir}/public -type f ${findTextFileNames} -print0 \
+                | xargs -0 -n 1 -P $NIX_BUILD_CORES ${pkgs.writeShellScript "movim_precompress_broti" ''
+                    file="$1"
+                    ${lib.getExe gzip.package} -c -${builtins.toString gzip.compressionLevel} $file > $file.gz
+                  ''}
               echo " done."
             '')
           ];
diff --git a/nixos/modules/services/x11/desktop-managers/budgie.nix b/nixos/modules/services/x11/desktop-managers/budgie.nix
index 75ee82f1f948a..b4e7390293351 100644
--- a/nixos/modules/services/x11/desktop-managers/budgie.nix
+++ b/nixos/modules/services/x11/desktop-managers/budgie.nix
@@ -214,7 +214,7 @@ in {
 
     services.geoclue2.enable = mkDefault true; # for BCC's Privacy > Location Services panel.
     services.upower.enable = config.powerManagement.enable; # for Budgie's Status Indicator and BCC's Power panel.
-    services.xserver.libinput.enable = mkDefault true; # for BCC's Mouse panel.
+    services.libinput.enable = mkDefault true; # for BCC's Mouse panel.
     services.colord.enable = mkDefault true; # for BCC's Color panel.
     services.gnome.at-spi2-core.enable = mkDefault true; # for BCC's A11y panel.
     services.accounts-daemon.enable = mkDefault true; # for BCC's Users panel.
diff --git a/nixos/modules/services/x11/desktop-managers/cinnamon.nix b/nixos/modules/services/x11/desktop-managers/cinnamon.nix
index 8c29b41c8cf80..482527d1e8ad5 100644
--- a/nixos/modules/services/x11/desktop-managers/cinnamon.nix
+++ b/nixos/modules/services/x11/desktop-managers/cinnamon.nix
@@ -116,7 +116,7 @@ in
       services.touchegg.enable = mkDefault true;
       services.udisks2.enable = true;
       services.upower.enable = mkDefault config.powerManagement.enable;
-      services.xserver.libinput.enable = mkDefault true;
+      services.libinput.enable = mkDefault true;
       services.xserver.updateDbusEnvironment = true;
       networking.networkmanager.enable = mkDefault true;
 
diff --git a/nixos/modules/services/x11/desktop-managers/deepin.nix b/nixos/modules/services/x11/desktop-managers/deepin.nix
index 680ce7b9a93e6..30bd14adb4192 100644
--- a/nixos/modules/services/x11/desktop-managers/deepin.nix
+++ b/nixos/modules/services/x11/desktop-managers/deepin.nix
@@ -61,7 +61,7 @@ in
       services.gnome.gnome-keyring.enable = mkDefault true;
       services.bamf.enable = mkDefault true;
 
-      services.xserver.libinput.enable = mkDefault true;
+      services.libinput.enable = mkDefault true;
       services.udisks2.enable = true;
       services.upower.enable = mkDefault config.powerManagement.enable;
       networking.networkmanager.enable = mkDefault true;
diff --git a/nixos/modules/services/x11/desktop-managers/enlightenment.nix b/nixos/modules/services/x11/desktop-managers/enlightenment.nix
index 09f90e1cd4df8..0a341ba133d39 100644
--- a/nixos/modules/services/x11/desktop-managers/enlightenment.nix
+++ b/nixos/modules/services/x11/desktop-managers/enlightenment.nix
@@ -96,7 +96,7 @@ in
 
     services.udisks2.enable = true;
     services.upower.enable = config.powerManagement.enable;
-    services.xserver.libinput.enable = mkDefault true;
+    services.libinput.enable = mkDefault true;
 
     services.dbus.packages = [ e.efl ];
 
diff --git a/nixos/modules/services/x11/desktop-managers/gnome.nix b/nixos/modules/services/x11/desktop-managers/gnome.nix
index 95c79cf96108c..a0cf56e7a920d 100644
--- a/nixos/modules/services/x11/desktop-managers/gnome.nix
+++ b/nixos/modules/services/x11/desktop-managers/gnome.nix
@@ -339,7 +339,7 @@ in
       # services.packagekit.enable = mkDefault true;
       services.udisks2.enable = true;
       services.upower.enable = config.powerManagement.enable;
-      services.xserver.libinput.enable = mkDefault true; # for controlling touchpad settings via gnome control center
+      services.libinput.enable = mkDefault true; # for controlling touchpad settings via gnome control center
 
       # Explicitly enabled since GNOME will be severely broken without these.
       xdg.mime.enable = true;
diff --git a/nixos/modules/services/x11/desktop-managers/lxqt.nix b/nixos/modules/services/x11/desktop-managers/lxqt.nix
index 1937bdcbd3e73..ac86c385bcc8d 100644
--- a/nixos/modules/services/x11/desktop-managers/lxqt.nix
+++ b/nixos/modules/services/x11/desktop-managers/lxqt.nix
@@ -69,7 +69,7 @@ in
 
     services.upower.enable = config.powerManagement.enable;
 
-    services.xserver.libinput.enable = mkDefault true;
+    services.libinput.enable = mkDefault true;
 
     xdg.portal.lxqt.enable = mkDefault true;
 
diff --git a/nixos/modules/services/x11/desktop-managers/mate.nix b/nixos/modules/services/x11/desktop-managers/mate.nix
index 520d40d67908c..beae07b70dbfe 100644
--- a/nixos/modules/services/x11/desktop-managers/mate.nix
+++ b/nixos/modules/services/x11/desktop-managers/mate.nix
@@ -88,7 +88,7 @@ in
       services.udev.packages = [ pkgs.mate.mate-settings-daemon ];
       services.gvfs.enable = true;
       services.upower.enable = config.powerManagement.enable;
-      services.xserver.libinput.enable = mkDefault true;
+      services.libinput.enable = mkDefault true;
 
       security.pam.services.mate-screensaver.unixAuth = true;
 
diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixos/modules/services/x11/desktop-managers/pantheon.nix
index 57ccbaccb0c68..008bc65eb6a4f 100644
--- a/nixos/modules/services/x11/desktop-managers/pantheon.nix
+++ b/nixos/modules/services/x11/desktop-managers/pantheon.nix
@@ -159,7 +159,7 @@ in
       services.gsignond.plugins = with pkgs.gsignondPlugins; [ lastfm mail oauth ];
       services.udisks2.enable = true;
       services.upower.enable = config.powerManagement.enable;
-      services.xserver.libinput.enable = mkDefault true;
+      services.libinput.enable = mkDefault true;
       services.xserver.updateDbusEnvironment = true;
       services.zeitgeist.enable = mkDefault true;
       services.geoclue2.enable = mkDefault true;
diff --git a/nixos/modules/services/x11/desktop-managers/plasma5.nix b/nixos/modules/services/x11/desktop-managers/plasma5.nix
index 56fcd70dc9516..7d80b9b2641c3 100644
--- a/nixos/modules/services/x11/desktop-managers/plasma5.nix
+++ b/nixos/modules/services/x11/desktop-managers/plasma5.nix
@@ -348,7 +348,7 @@ in
       services.system-config-printer.enable = mkIf config.services.printing.enable (mkDefault true);
       services.udisks2.enable = true;
       services.upower.enable = config.powerManagement.enable;
-      services.xserver.libinput.enable = mkDefault true;
+      services.libinput.enable = mkDefault true;
 
       # Extra UDEV rules used by Solid
       services.udev.packages = [
diff --git a/nixos/modules/services/x11/desktop-managers/xfce.nix b/nixos/modules/services/x11/desktop-managers/xfce.nix
index c55d0021b6a7c..85d0d199de3f2 100644
--- a/nixos/modules/services/x11/desktop-managers/xfce.nix
+++ b/nixos/modules/services/x11/desktop-managers/xfce.nix
@@ -164,7 +164,7 @@ in
     services.gvfs.enable = true;
     services.tumbler.enable = true;
     services.system-config-printer.enable = (mkIf config.services.printing.enable (mkDefault true));
-    services.xserver.libinput.enable = mkDefault true; # used in xfce4-settings-manager
+    services.libinput.enable = mkDefault true; # used in xfce4-settings-manager
 
     # Enable default programs
     programs.dconf.enable = true;
diff --git a/nixos/modules/services/x11/hardware/cmt.nix b/nixos/modules/services/x11/hardware/cmt.nix
index 55d3d840ee092..53906c5c716f4 100644
--- a/nixos/modules/services/x11/hardware/cmt.nix
+++ b/nixos/modules/services/x11/hardware/cmt.nix
@@ -46,10 +46,10 @@ in {
 
     assertions = [
       {
-        assertion = !config.services.xserver.libinput.enable;
+        assertion = !config.services.libinput.enable;
         message = ''
           cmt and libinput are incompatible, meaning you cannot enable them both.
-          To use cmt you need to disable libinput with `services.xserver.libinput.enable = false`
+          To use cmt you need to disable libinput with `services.libinput.enable = false`
           If you haven't enabled it in configuration.nix, it's enabled by default on a
           different xserver module.
         '';
diff --git a/nixos/modules/services/x11/hardware/synaptics.nix b/nixos/modules/services/x11/hardware/synaptics.nix
index 4dfa917d8fb4a..c43fdac6b1ec6 100644
--- a/nixos/modules/services/x11/hardware/synaptics.nix
+++ b/nixos/modules/services/x11/hardware/synaptics.nix
@@ -30,7 +30,7 @@ in {
       enable = mkOption {
         type = types.bool;
         default = false;
-        description = "Whether to enable touchpad support. Deprecated: Consider services.xserver.libinput.enable.";
+        description = "Whether to enable touchpad support. Deprecated: Consider services.libinput.enable.";
       };
 
       dev = mkOption {
@@ -207,8 +207,8 @@ in {
 
     assertions = [
       {
-        assertion = !config.services.xserver.libinput.enable;
-        message = "Synaptics and libinput are incompatible, you cannot enable both (in services.xserver).";
+        assertion = !config.services.libinput.enable;
+        message = "Synaptics and libinput are incompatible, you cannot enable both.";
       }
     ];
 
diff --git a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix
index 8b218cf1a6b2f..cee8663f0040e 100644
--- a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix
+++ b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix
@@ -7,8 +7,22 @@ let
 
   efi = config.boot.loader.efi;
 
+  # We check the source code in a derivation that does not depend on the
+  # system configuration so that most users don't have to redo the check and require
+  # the necessary dependencies.
+  checkedSource = pkgs.runCommand "systemd-boot" {
+    preferLocalBuild = true;
+  } ''
+    install -m755 -D ${./systemd-boot-builder.py} $out
+    ${lib.getExe pkgs.buildPackages.mypy} \
+      --no-implicit-optional \
+      --disallow-untyped-calls \
+      --disallow-untyped-defs \
+      $out
+  '';
+
   systemdBootBuilder = pkgs.substituteAll rec {
-    src = ./systemd-boot-builder.py;
+    src = checkedSource;
 
     isExecutable = true;
 
@@ -66,19 +80,9 @@ let
     '';
   };
 
-  checkedSystemdBootBuilder = pkgs.runCommand "systemd-boot" { } ''
-    mkdir -p $out/bin
-    install -m755 ${systemdBootBuilder} $out/bin/systemd-boot-builder
-    ${lib.getExe pkgs.buildPackages.mypy} \
-      --no-implicit-optional \
-      --disallow-untyped-calls \
-      --disallow-untyped-defs \
-      $out/bin/systemd-boot-builder
-  '';
-
   finalSystemdBootBuilder = pkgs.writeScript "install-systemd-boot.sh" ''
     #!${pkgs.runtimeShell}
-    ${checkedSystemdBootBuilder}/bin/systemd-boot-builder "$@"
+    ${systemdBootBuilder} "$@"
     ${cfg.extraInstallCommands}
   '';
 in {
diff --git a/nixos/modules/virtualisation/incus.nix b/nixos/modules/virtualisation/incus.nix
index 5d0225a6a51d9..2d7ccac7d92c8 100644
--- a/nixos/modules/virtualisation/incus.nix
+++ b/nixos/modules/virtualisation/incus.nix
@@ -112,7 +112,12 @@ in
 
       package = lib.mkPackageOption pkgs "incus-lts" { };
 
-      lxcPackage = lib.mkPackageOption pkgs "lxc" { };
+      lxcPackage = lib.mkOption {
+        type = lib.types.package;
+        default = config.virtualisation.lxc.package;
+        defaultText = lib.literalExpression "config.virtualisation.lxc.package";
+        description = "The lxc package to use.";
+      };
 
       clientPackage = lib.mkOption {
         type = lib.types.package;
diff --git a/nixos/modules/virtualisation/lxc.nix b/nixos/modules/virtualisation/lxc.nix
index 7d7d48db924f8..1ef322588a68c 100644
--- a/nixos/modules/virtualisation/lxc.nix
+++ b/nixos/modules/virtualisation/lxc.nix
@@ -32,6 +32,7 @@ in
             {manpage}`lxc.system.conf(5)`.
           '';
       };
+    package = lib.mkPackageOption pkgs "lxc" { };
 
     defaultConfig =
       lib.mkOption {
@@ -57,19 +58,19 @@ in
   ###### implementation
 
   config = lib.mkIf cfg.enable {
-    environment.systemPackages = [ pkgs.lxc ];
+    environment.systemPackages = [ cfg.package ];
     environment.etc."lxc/lxc.conf".text = cfg.systemConfig;
     environment.etc."lxc/lxc-usernet".text = cfg.usernetConfig;
     environment.etc."lxc/default.conf".text = cfg.defaultConfig;
     systemd.tmpfiles.rules = [ "d /var/lib/lxc/rootfs 0755 root root -" ];
 
-    security.apparmor.packages = [ pkgs.lxc ];
+    security.apparmor.packages = [ cfg.package ];
     security.apparmor.policies = {
       "bin.lxc-start".profile = ''
-        include ${pkgs.lxc}/etc/apparmor.d/usr.bin.lxc-start
+        include ${cfg.package}/etc/apparmor.d/usr.bin.lxc-start
       '';
       "lxc-containers".profile = ''
-        include ${pkgs.lxc}/etc/apparmor.d/lxc-containers
+        include ${cfg.package}/etc/apparmor.d/lxc-containers
       '';
     };
   };
diff --git a/nixos/modules/virtualisation/lxd.nix b/nixos/modules/virtualisation/lxd.nix
index 51d9a9482091d..4c94b3dfe946d 100644
--- a/nixos/modules/virtualisation/lxd.nix
+++ b/nixos/modules/virtualisation/lxd.nix
@@ -35,10 +35,11 @@ in {
 
       package = lib.mkPackageOption pkgs "lxd-lts" { };
 
-      lxcPackage = lib.mkPackageOption pkgs "lxc" {
-        extraDescription = ''
-          Required for AppArmor profiles.
-        '';
+      lxcPackage = lib.mkOption {
+        type = lib.types.package;
+        default = config.virtualisation.lxc.package;
+        defaultText = lib.literalExpression "config.virtualisation.lxc.package";
+        description = "The lxc package to use.";
       };
 
       zfsSupport = lib.mkOption {
diff --git a/nixos/modules/virtualisation/qemu-vm.nix b/nixos/modules/virtualisation/qemu-vm.nix
index 06c1253d1fb64..c30f4577fdd86 100644
--- a/nixos/modules/virtualisation/qemu-vm.nix
+++ b/nixos/modules/virtualisation/qemu-vm.nix
@@ -249,7 +249,7 @@ let
           ${concatStringsSep " " config.virtualisation.qemu.networkingOptions} \
           ${concatStringsSep " \\\n    "
             (mapAttrsToList
-              (tag: share: "-virtfs local,path=${share.source},security_model=none,mount_tag=${tag}")
+              (tag: share: "-virtfs local,path=${share.source},security_model=${share.securityModel},mount_tag=${tag}")
               config.virtualisation.sharedDirectories)} \
           ${drivesCmdLine config.virtualisation.qemu.drives} \
           ${concatStringsSep " \\\n    " config.virtualisation.qemu.options} \
@@ -462,6 +462,18 @@ in
               type = types.path;
               description = "The mount point of the directory inside the virtual machine";
             };
+            options.securityModel = mkOption {
+              type = types.enum [ "passthrough" "mapped-xattr" "mapped-file" "none" ];
+              default = "mapped-xattr";
+              description = ''
+                The security model to use for this share:
+
+                - `passthrough`: files are stored using the same credentials as they are created on the guest (this requires QEMU to run as root)
+                - `mapped-xattr`: some of the file attributes like uid, gid, mode bits and link target are stored as file attributes
+                - `mapped-file`: the attributes are stored in the hidden .virtfs_metadata directory. Directories exported by this security model cannot interact with other unix tools
+                - `none`: same as "passthrough" except the sever won't report failures if it fails to set file attributes like ownership
+              '';
+            };
           });
         default = { };
         example = {
@@ -1091,18 +1103,22 @@ in
       nix-store = mkIf cfg.mountHostNixStore {
         source = builtins.storeDir;
         target = "/nix/store";
+        securityModel = "none";
       };
       xchg = {
         source = ''"$TMPDIR"/xchg'';
+        securityModel = "none";
         target = "/tmp/xchg";
       };
       shared = {
         source = ''"''${SHARED_DIR:-$TMPDIR/xchg}"'';
         target = "/tmp/shared";
+        securityModel = "none";
       };
       certs = mkIf cfg.useHostCerts {
         source = ''"$TMPDIR"/certs'';
         target = "/etc/ssl/certs";
+        securityModel = "none";
       };
     };
 
diff --git a/nixos/tests/adguardhome.nix b/nixos/tests/adguardhome.nix
index 80613ce825340..005d54e17dfdc 100644
--- a/nixos/tests/adguardhome.nix
+++ b/nixos/tests/adguardhome.nix
@@ -2,41 +2,39 @@
   name = "adguardhome";
 
   nodes = {
-    nullConf = { ... }: { services.adguardhome = { enable = true; }; };
+    nullConf = { services.adguardhome.enable = true; };
 
-    emptyConf = { lib, ... }: {
+    emptyConf = {
       services.adguardhome = {
         enable = true;
+
+        settings = { };
+      };
+    };
+
+    schemaVersionBefore23 = {
+      services.adguardhome = {
+        enable = true;
+
+        settings.schema_version = 20;
       };
     };
 
-    declarativeConf = { ... }: {
+    declarativeConf = {
       services.adguardhome = {
         enable = true;
 
         mutableSettings = false;
-        settings = {
-          schema_version = 0;
-          dns = {
-            bind_host = "0.0.0.0";
-            bootstrap_dns = "127.0.0.1";
-          };
-        };
+        settings.dns.bootstrap_dns = [ "127.0.0.1" ];
       };
     };
 
-    mixedConf = { ... }: {
+    mixedConf = {
       services.adguardhome = {
         enable = true;
 
         mutableSettings = true;
-        settings = {
-          schema_version = 0;
-          dns = {
-            bind_host = "0.0.0.0";
-            bootstrap_dns = "127.0.0.1";
-          };
-        };
+        settings.dns.bootstrap_dns = [ "127.0.0.1" ];
       };
     };
 
@@ -70,11 +68,7 @@
         allowDHCP = true;
         mutableSettings = false;
         settings = {
-          schema_version = 0;
-          dns = {
-            bind_host = "0.0.0.0";
-            bootstrap_dns = "127.0.0.1";
-          };
+          dns.bootstrap_dns = [ "127.0.0.1" ];
           dhcp = {
             # This implicitly enables CAP_NET_RAW
             enabled = true;
@@ -104,33 +98,38 @@
 
   testScript = ''
     with subtest("Minimal (settings = null) config test"):
-        nullConf.wait_for_unit("adguardhome.service")
+      nullConf.wait_for_unit("adguardhome.service")
+      nullConf.wait_for_open_port(3000)
 
     with subtest("Default config test"):
-        emptyConf.wait_for_unit("adguardhome.service")
-        emptyConf.wait_for_open_port(3000)
+      emptyConf.wait_for_unit("adguardhome.service")
+      emptyConf.wait_for_open_port(3000)
+
+    with subtest("Default schema_version 23 config test"):
+      schemaVersionBefore23.wait_for_unit("adguardhome.service")
+      schemaVersionBefore23.wait_for_open_port(3000)
 
     with subtest("Declarative config test, DNS will be reachable"):
-        declarativeConf.wait_for_unit("adguardhome.service")
-        declarativeConf.wait_for_open_port(53)
-        declarativeConf.wait_for_open_port(3000)
+      declarativeConf.wait_for_unit("adguardhome.service")
+      declarativeConf.wait_for_open_port(53)
+      declarativeConf.wait_for_open_port(3000)
 
     with subtest("Mixed config test, check whether merging works"):
-        mixedConf.wait_for_unit("adguardhome.service")
-        mixedConf.wait_for_open_port(53)
-        mixedConf.wait_for_open_port(3000)
-        # Test whether merging works properly, even if nothing is changed
-        mixedConf.systemctl("restart adguardhome.service")
-        mixedConf.wait_for_unit("adguardhome.service")
-        mixedConf.wait_for_open_port(3000)
+      mixedConf.wait_for_unit("adguardhome.service")
+      mixedConf.wait_for_open_port(53)
+      mixedConf.wait_for_open_port(3000)
+      # Test whether merging works properly, even if nothing is changed
+      mixedConf.systemctl("restart adguardhome.service")
+      mixedConf.wait_for_unit("adguardhome.service")
+      mixedConf.wait_for_open_port(3000)
 
     with subtest("Testing successful DHCP start"):
-        dhcpConf.wait_for_unit("adguardhome.service")
-        client.systemctl("start network-online.target")
-        client.wait_for_unit("network-online.target")
-        # Test IP assignment via DHCP
-        dhcpConf.wait_until_succeeds("ping -c 5 10.0.10.100")
-        # Test hostname resolution over DHCP-provided DNS
-        dhcpConf.wait_until_succeeds("ping -c 5 client.lan")
+      dhcpConf.wait_for_unit("adguardhome.service")
+      client.systemctl("start network-online.target")
+      client.wait_for_unit("network-online.target")
+      # Test IP assignment via DHCP
+      dhcpConf.wait_until_succeeds("ping -c 5 10.0.10.100")
+      # Test hostname resolution over DHCP-provided DNS
+      dhcpConf.wait_until_succeeds("ping -c 5 client.lan")
   '';
 }
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index 232f10d7c24dd..2c9d1aa568bf2 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -399,6 +399,7 @@ in {
   honk = runTest ./honk.nix;
   installed-tests = pkgs.recurseIntoAttrs (handleTest ./installed-tests {});
   invidious = handleTest ./invidious.nix {};
+  isolate = handleTest ./isolate.nix {};
   livebook-service = handleTest ./livebook-service.nix {};
   pyload = handleTest ./pyload.nix {};
   oci-containers = handleTestOn ["aarch64-linux" "x86_64-linux"] ./oci-containers.nix {};
@@ -772,6 +773,7 @@ in {
   qgis = handleTest ./qgis.nix { qgisPackage = pkgs.qgis; };
   qgis-ltr = handleTest ./qgis.nix { qgisPackage = pkgs.qgis-ltr; };
   qownnotes = handleTest ./qownnotes.nix {};
+  qtile = handleTest ./qtile.nix {};
   quake3 = handleTest ./quake3.nix {};
   quicktun = handleTest ./quicktun.nix {};
   quorum = handleTest ./quorum.nix {};
@@ -782,6 +784,7 @@ in {
   rasdaemon = handleTest ./rasdaemon.nix {};
   readarr = handleTest ./readarr.nix {};
   redis = handleTest ./redis.nix {};
+  redlib = handleTest ./redlib.nix {};
   redmine = handleTest ./redmine.nix {};
   restartByActivationScript = handleTest ./restart-by-activation-script.nix {};
   restic-rest-server = handleTest ./restic-rest-server.nix {};
@@ -941,7 +944,6 @@ in {
   tiddlywiki = handleTest ./tiddlywiki.nix {};
   tigervnc = handleTest ./tigervnc.nix {};
   timescaledb = handleTest ./timescaledb.nix {};
-  promscale = handleTest ./promscale.nix {};
   timezone = handleTest ./timezone.nix {};
   tinc = handleTest ./tinc {};
   tinydns = handleTest ./tinydns.nix {};
diff --git a/nixos/tests/castopod.nix b/nixos/tests/castopod.nix
index 29bf8e8cacd89..3257cd3d363c7 100644
--- a/nixos/tests/castopod.nix
+++ b/nixos/tests/castopod.nix
@@ -2,7 +2,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
 {
   name = "castopod";
   meta = with lib.maintainers; {
-    maintainers = [ alexoundos misuzu ];
+    maintainers = [ alexoundos ];
   };
 
   nodes.castopod = { nodes, ... }: {
diff --git a/nixos/tests/coder.nix b/nixos/tests/coder.nix
index 12813827284b9..fd1fa0cc3031f 100644
--- a/nixos/tests/coder.nix
+++ b/nixos/tests/coder.nix
@@ -1,8 +1,6 @@
 import ./make-test-python.nix ({ pkgs, ... }: {
   name = "coder";
-  meta = with pkgs.lib.maintainers; {
-    maintainers = [ shyim ghuntley ];
-  };
+  meta.maintainers = pkgs.coder.meta.maintainers;
 
   nodes.machine =
     { pkgs, ... }:
diff --git a/nixos/tests/forgejo.nix b/nixos/tests/forgejo.nix
index 8b9ee46ff5d32..827fae2790c6e 100644
--- a/nixos/tests/forgejo.nix
+++ b/nixos/tests/forgejo.nix
@@ -141,9 +141,9 @@ let
         assert "BEGIN PGP PUBLIC KEY BLOCK" in server.succeed("curl http://localhost:3000/api/v1/signing-key.gpg")
 
         api_version = json.loads(server.succeed("curl http://localhost:3000/api/forgejo/v1/version")).get("version")
-        assert "development" != api_version and "-gitea-" in api_version, (
+        assert "development" != api_version and "${pkgs.forgejo.version}+gitea-" in api_version, (
             "/api/forgejo/v1/version should not return 'development' "
-            + f"but should contain a gitea compatibility version string. Got '{api_version}' instead."
+            + f"but should contain a forgejo+gitea compatibility version string. Got '{api_version}' instead."
         )
 
         server.succeed(
@@ -152,7 +152,7 @@ let
         )
         server.succeed(
             "su -l forgejo -c 'GITEA_WORK_DIR=/var/lib/forgejo gitea admin user create "
-            + "--username test --password totallysafe --email test@localhost'"
+            + "--username test --password totallysafe --email test@localhost --must-change-password=false'"
         )
 
         api_token = server.succeed(
diff --git a/nixos/tests/gvisor.nix b/nixos/tests/gvisor.nix
index 7f130b709fc9d..5c9447b07118d 100644
--- a/nixos/tests/gvisor.nix
+++ b/nixos/tests/gvisor.nix
@@ -3,7 +3,7 @@
 import ./make-test-python.nix ({ pkgs, ... }: {
   name = "gvisor";
   meta = with pkgs.lib.maintainers; {
-    maintainers = [ andrew-d ];
+    maintainers = [ ];
   };
 
   nodes = {
diff --git a/nixos/tests/isolate.nix b/nixos/tests/isolate.nix
new file mode 100644
index 0000000000000..327231be1cd4a
--- /dev/null
+++ b/nixos/tests/isolate.nix
@@ -0,0 +1,38 @@
+import ./make-test-python.nix ({ lib, ... }:
+{
+  name = "isolate";
+  meta.maintainers = with lib.maintainers; [ virchau13 ];
+
+  nodes.machine =
+    { ... }:
+    {
+      security.isolate = {
+        enable = true;
+      };
+    };
+
+  testScript = ''
+    bash_path = machine.succeed('realpath $(which bash)').strip()
+    sleep_path = machine.succeed('realpath $(which sleep)').strip()
+    def sleep_test(walltime, sleeptime):
+        return f'isolate --no-default-dirs --wall-time {walltime} ' + \
+            f'--dir=/box={box_path} --dir=/nix=/nix --run -- ' + \
+            f"{bash_path} -c 'exec -a sleep {sleep_path} {sleeptime}'"
+
+    def sleep_test_cg(walltime, sleeptime):
+        return f'isolate --cg --no-default-dirs --wall-time {walltime} ' + \
+            f'--dir=/box={box_path} --dir=/nix=/nix --processes=2 --run -- ' + \
+            f"{bash_path} -c '( exec -a sleep {sleep_path} {sleeptime} )'"
+
+    with subtest("without cgroups"):
+        box_path = machine.succeed('isolate --init').strip()
+        machine.succeed(sleep_test(1, 0.5))
+        machine.fail(sleep_test(0.5, 1))
+        machine.succeed('isolate --cleanup')
+    with subtest("with cgroups"):
+        box_path = machine.succeed('isolate --cg --init').strip()
+        machine.succeed(sleep_test_cg(1, 0.5))
+        machine.fail(sleep_test_cg(0.5, 1))
+        machine.succeed('isolate --cg --cleanup')
+  '';
+})
diff --git a/nixos/tests/libinput.nix b/nixos/tests/libinput.nix
index 9b6fa159b999c..b002492b16657 100644
--- a/nixos/tests/libinput.nix
+++ b/nixos/tests/libinput.nix
@@ -12,7 +12,7 @@ import ./make-test-python.nix ({ ... }:
 
       test-support.displayManager.auto.user = "alice";
 
-      services.xserver.libinput = {
+      services.libinput = {
         enable = true;
         mouse = {
           naturalScrolling = true;
diff --git a/nixos/tests/nginx-sso.nix b/nixos/tests/nginx-sso.nix
index 221c5f4ed9058..2bb9c7a1c3bb7 100644
--- a/nixos/tests/nginx-sso.nix
+++ b/nixos/tests/nginx-sso.nix
@@ -1,7 +1,7 @@
 import ./make-test-python.nix ({ pkgs, ... }: {
   name = "nginx-sso";
   meta = {
-    maintainers = with pkgs.lib.maintainers; [ delroth ];
+    maintainers = with pkgs.lib.maintainers; [ ambroisie ];
   };
 
   nodes.machine = {
diff --git a/nixos/tests/openssh.nix b/nixos/tests/openssh.nix
index 8074fd2ed4838..a039986621cab 100644
--- a/nixos/tests/openssh.nix
+++ b/nixos/tests/openssh.nix
@@ -22,6 +22,19 @@ in {
         ];
       };
 
+    server-allowed-users =
+      { ... }:
+
+      {
+        services.openssh = { enable = true; settings.AllowUsers = [ "alice" "bob" ]; };
+        users.groups = { alice = { }; bob = { }; carol = { }; };
+        users.users = {
+          alice = { isNormalUser = true; group = "alice"; openssh.authorizedKeys.keys = [ snakeOilPublicKey ]; };
+          bob = { isNormalUser = true; group = "bob"; openssh.authorizedKeys.keys = [ snakeOilPublicKey ]; };
+          carol = { isNormalUser = true; group = "carol"; openssh.authorizedKeys.keys = [ snakeOilPublicKey ]; };
+        };
+      };
+
     server-lazy =
       { ... }:
 
@@ -95,17 +108,21 @@ in {
         };
       };
 
-    server_allowedusers =
-      { ... }:
-
+    server-no-pam =
+      { pkgs, ... }:
       {
-        services.openssh = { enable = true; settings.AllowUsers = [ "alice" "bob" ]; };
-        users.groups = { alice = { }; bob = { }; carol = { }; };
-        users.users = {
-          alice = { isNormalUser = true; group = "alice"; openssh.authorizedKeys.keys = [ snakeOilPublicKey ]; };
-          bob = { isNormalUser = true; group = "bob"; openssh.authorizedKeys.keys = [ snakeOilPublicKey ]; };
-          carol = { isNormalUser = true; group = "carol"; openssh.authorizedKeys.keys = [ snakeOilPublicKey ]; };
+        programs.ssh.package = pkgs.opensshPackages.openssh.override {
+          withPAM = false;
+        };
+        services.openssh = {
+          enable = true;
+          settings = {
+            UsePAM = false;
+          };
         };
+        users.users.root.openssh.authorizedKeys.keys = [
+          snakeOilPublicKey
+        ];
       };
 
     client =
@@ -119,8 +136,10 @@ in {
     start_all()
 
     server.wait_for_unit("sshd", timeout=30)
+    server_allowed_users.wait_for_unit("sshd", timeout=30)
     server_localhost_only.wait_for_unit("sshd", timeout=30)
     server_match_rule.wait_for_unit("sshd", timeout=30)
+    server_no_pam.wait_for_unit("sshd", timeout=30)
 
     server_lazy.wait_for_unit("sshd.socket", timeout=30)
     server_localhost_only_lazy.wait_for_unit("sshd.socket", timeout=30)
@@ -166,8 +185,9 @@ in {
             "cat ${snakeOilPrivateKey} > privkey.snakeoil"
         )
         client.succeed("chmod 600 privkey.snakeoil")
+        # The final segment in this IP is allocated according to the alphabetical order of machines in this test.
         client.succeed(
-            "ssh -p 2222 -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i privkey.snakeoil root@192.168.2.4 true",
+            "ssh -p 2222 -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i privkey.snakeoil root@192.168.2.5 true",
             timeout=30
         )
 
@@ -198,15 +218,25 @@ in {
         )
         client.succeed("chmod 600 privkey.snakeoil")
         client.succeed(
-            "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i privkey.snakeoil alice@server_allowedusers true",
+            "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i privkey.snakeoil alice@server-allowed-users true",
             timeout=30
         )
         client.succeed(
-            "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i privkey.snakeoil bob@server_allowedusers true",
+            "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i privkey.snakeoil bob@server-allowed-users true",
             timeout=30
         )
         client.fail(
-            "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i privkey.snakeoil carol@server_allowedusers true",
+            "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i privkey.snakeoil carol@server-allowed-users true",
+            timeout=30
+        )
+
+    with subtest("no-pam"):
+        client.succeed(
+            "cat ${snakeOilPrivateKey} > privkey.snakeoil"
+        )
+        client.succeed("chmod 600 privkey.snakeoil")
+        client.succeed(
+            "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i privkey.snakeoil server-no-pam true",
             timeout=30
         )
   '';
diff --git a/nixos/tests/prometheus-exporters.nix b/nixos/tests/prometheus-exporters.nix
index 576253450814f..56569c4de2c85 100644
--- a/nixos/tests/prometheus-exporters.nix
+++ b/nixos/tests/prometheus-exporters.nix
@@ -907,7 +907,7 @@ let
               attrs = {
                 objectClass = [ "olcDatabaseConfig" "olcMdbConfig" ];
                 olcDatabase = "{1}mdb";
-                olcDbDirectory = "/var/db/openldap";
+                olcDbDirectory = "/var/lib/openldap/db";
                 olcSuffix = "dc=example";
                 olcRootDN = {
                   # cn=root,dc=example
diff --git a/nixos/tests/promscale.nix b/nixos/tests/promscale.nix
deleted file mode 100644
index da18628f2482c..0000000000000
--- a/nixos/tests/promscale.nix
+++ /dev/null
@@ -1,60 +0,0 @@
-# mostly copied from ./timescaledb.nix which was copied from ./postgresql.nix
-# as it seemed unapproriate to test additional extensions for postgresql there.
-
-{ system ? builtins.currentSystem
-, config ? { }
-, pkgs ? import ../.. { inherit system config; }
-}:
-
-with import ../lib/testing-python.nix { inherit system pkgs; };
-with pkgs.lib;
-
-let
-  postgresql-versions = import ../../pkgs/servers/sql/postgresql pkgs;
-  test-sql = pkgs.writeText "postgresql-test" ''
-    CREATE USER promscale SUPERUSER PASSWORD 'promscale';
-    CREATE DATABASE promscale OWNER promscale;
-  '';
-
-  make-postgresql-test = postgresql-name: postgresql-package: makeTest {
-    name = postgresql-name;
-    meta = with pkgs.lib.maintainers; {
-      maintainers = [ anpin ];
-    };
-
-    nodes.machine = { config, pkgs, ... }:
-      {
-        services.postgresql = {
-          enable = true;
-          package = postgresql-package;
-          extraPlugins = ps: with ps; [
-            timescaledb
-            promscale_extension
-          ];
-          settings = { shared_preload_libraries = "timescaledb, promscale"; };
-        };
-        environment.systemPackages = with pkgs; [ promscale ];
-      };
-
-    testScript = ''
-      machine.start()
-      machine.wait_for_unit("postgresql")
-      with subtest("Postgresql with extensions timescaledb and promscale is available just after unit start"):
-          print(machine.succeed("sudo -u postgres psql -f ${test-sql}"))
-          machine.succeed("sudo -u postgres psql promscale -c 'SHOW shared_preload_libraries;' | grep promscale")
-          machine.succeed(
-            "promscale --db.name promscale --db.password promscale --db.user promscale --db.ssl-mode allow --startup.install-extensions --startup.only"
-          )
-      machine.succeed("sudo -u postgres psql promscale -c 'SELECT ps_trace.get_trace_retention_period();' | grep '(1 row)'")
-      machine.shutdown()
-    '';
-  };
-  #version 15 is not supported yet
-  applicablePostgresqlVersions = filterAttrs (_: value: versionAtLeast value.version "12" && !(versionAtLeast value.version "15")) postgresql-versions;
-in
-mapAttrs'
-  (name: package: {
-    inherit name;
-    value = make-postgresql-test name package;
-  })
-  applicablePostgresqlVersions
diff --git a/nixos/tests/qtile.nix b/nixos/tests/qtile.nix
new file mode 100644
index 0000000000000..b4d8f9d421144
--- /dev/null
+++ b/nixos/tests/qtile.nix
@@ -0,0 +1,34 @@
+import ./make-test-python.nix ({ lib, ...} : {
+  name = "qtile";
+
+  meta = {
+    maintainers = with lib.maintainers; [ sigmanificient ];
+  };
+
+  nodes.machine = { pkgs, lib, ... }: {
+    imports = [ ./common/x11.nix ./common/user-account.nix ];
+    test-support.displayManager.auto.user = "alice";
+
+    services.xserver.windowManager.qtile.enable = true;
+    services.displayManager.defaultSession = lib.mkForce "none+qtile";
+
+    environment.systemPackages = [ pkgs.kitty ];
+  };
+
+  testScript = ''
+    with subtest("ensure x starts"):
+        machine.wait_for_x()
+        machine.wait_for_file("/home/alice/.Xauthority")
+        machine.succeed("xauth merge ~alice/.Xauthority")
+
+    with subtest("ensure client is available"):
+        machine.succeed("qtile --version")
+
+    with subtest("ensure we can open a new terminal"):
+        machine.sleep(2)
+        machine.send_key("meta_l-ret")
+        machine.wait_for_window(r"alice.*?machine")
+        machine.sleep(2)
+        machine.screenshot("terminal")
+  '';
+})
diff --git a/nixos/tests/switch-test.nix b/nixos/tests/switch-test.nix
index a57d66f82eac9..4a7bcd5a82264 100644
--- a/nixos/tests/switch-test.nix
+++ b/nixos/tests/switch-test.nix
@@ -610,6 +610,11 @@ in {
     # Returns a comma separated representation of the given list in sorted
     # order, that matches the output format of switch-to-configuration.pl
     sortedUnits = xs: lib.concatStringsSep ", " (builtins.sort builtins.lessThan xs);
+
+    dbusService = {
+      "dbus" = "dbus.service";
+      "broker" = "dbus-broker.service";
+    }.${nodes.machine.services.dbus.implementation};
   in /* python */ ''
     def switch_to_specialisation(system, name, action="test", fail=False):
         if name == "":
@@ -691,9 +696,9 @@ in {
     with subtest("continuing from an aborted switch"):
         # An aborted switch will write into a file what it tried to start
         # and a second switch should continue from this
-        machine.succeed("echo dbus-broker.service > /run/nixos/start-list")
+        machine.succeed("echo ${dbusService} > /run/nixos/start-list")
         out = switch_to_specialisation("${machine}", "modifiedSystemConf")
-        assert_contains(out, "starting the following units: dbus-broker.service\n")
+        assert_contains(out, "starting the following units: ${dbusService}\n")
 
     with subtest("fstab mounts"):
         switch_to_specialisation("${machine}", "")
@@ -732,7 +737,7 @@ in {
         out = switch_to_specialisation("${machine}", "")
         assert_contains(out, "stopping the following units: test.mount\n")
         assert_lacks(out, "NOT restarting the following changed units:")
-        assert_contains(out, "reloading the following units: dbus-broker.service\n")
+        assert_contains(out, "reloading the following units: ${dbusService}\n")
         assert_lacks(out, "\nrestarting the following units:")
         assert_lacks(out, "\nstarting the following units:")
         assert_lacks(out, "the following new units were started:")
@@ -740,7 +745,7 @@ in {
         out = switch_to_specialisation("${machine}", "storeMountModified")
         assert_lacks(out, "stopping the following units:")
         assert_contains(out, "NOT restarting the following changed units: -.mount")
-        assert_contains(out, "reloading the following units: dbus-broker.service\n")
+        assert_contains(out, "reloading the following units: ${dbusService}\n")
         assert_lacks(out, "\nrestarting the following units:")
         assert_lacks(out, "\nstarting the following units:")
         assert_lacks(out, "the following new units were started:")
@@ -751,7 +756,7 @@ in {
         out = switch_to_specialisation("${machine}", "swap")
         assert_lacks(out, "stopping the following units:")
         assert_lacks(out, "NOT restarting the following changed units:")
-        assert_contains(out, "reloading the following units: dbus-broker.service\n")
+        assert_contains(out, "reloading the following units: ${dbusService}\n")
         assert_lacks(out, "\nrestarting the following units:")
         assert_lacks(out, "\nstarting the following units:")
         assert_contains(out, "the following new units were started: swapfile.swap")
@@ -760,7 +765,7 @@ in {
         assert_contains(out, "stopping swap device: /swapfile")
         assert_lacks(out, "stopping the following units:")
         assert_lacks(out, "NOT restarting the following changed units:")
-        assert_contains(out, "reloading the following units: dbus-broker.service\n")
+        assert_contains(out, "reloading the following units: ${dbusService}\n")
         assert_lacks(out, "\nrestarting the following units:")
         assert_lacks(out, "\nstarting the following units:")
         assert_lacks(out, "the following new units were started:")
@@ -781,7 +786,7 @@ in {
         assert_lacks(out, "installing dummy bootloader")  # test does not install a bootloader
         assert_lacks(out, "stopping the following units:")
         assert_lacks(out, "NOT restarting the following changed units:")
-        assert_contains(out, "reloading the following units: dbus-broker.service\n")  # huh
+        assert_contains(out, "reloading the following units: ${dbusService}\n")  # huh
         assert_lacks(out, "\nrestarting the following units:")
         assert_lacks(out, "\nstarting the following units:")
         assert_contains(out, "the following new units were started: test.service\n")
@@ -858,7 +863,7 @@ in {
         assert_lacks(out, "installing dummy bootloader")  # test does not install a bootloader
         assert_lacks(out, "stopping the following units:")
         assert_lacks(out, "NOT restarting the following changed units:")
-        assert_contains(out, "reloading the following units: dbus-broker.service\n")  # huh
+        assert_contains(out, "reloading the following units: ${dbusService}\n")  # huh
         assert_lacks(out, "\nrestarting the following units:")
         assert_lacks(out, "\nstarting the following units:")
         assert_contains(out, "the following new units were started: test.service\n")
diff --git a/nixos/tests/syncthing-relay.nix b/nixos/tests/syncthing-relay.nix
index 3d70b1eda7b2a..cab9bcafe9d5c 100644
--- a/nixos/tests/syncthing-relay.nix
+++ b/nixos/tests/syncthing-relay.nix
@@ -1,6 +1,6 @@
 import ./make-test-python.nix ({ lib, pkgs, ... }: {
   name = "syncthing-relay";
-  meta.maintainers = with pkgs.lib.maintainers; [ delroth ];
+  meta.maintainers = with pkgs.lib.maintainers; [ ];
 
   nodes.machine = {
     environment.systemPackages = [ pkgs.jq ];
diff --git a/nixos/tests/web-apps/gotosocial.nix b/nixos/tests/web-apps/gotosocial.nix
index 8c4e76b14e3bf..f9d28c2b8b998 100644
--- a/nixos/tests/web-apps/gotosocial.nix
+++ b/nixos/tests/web-apps/gotosocial.nix
@@ -1,7 +1,7 @@
 { lib, ... }:
 {
   name = "gotosocial";
-  meta.maintainers = with lib.maintainers; [ misuzu blakesmith ];
+  meta.maintainers = with lib.maintainers; [ blakesmith ];
 
   nodes.machine = { pkgs, ... }: {
     environment.systemPackages = [ pkgs.jq ];
diff --git a/pkgs/applications/accessibility/squeekboard/default.nix b/pkgs/applications/accessibility/squeekboard/default.nix
index 2b8e0a5e76a6d..c7ea8b34a66f6 100644
--- a/pkgs/applications/accessibility/squeekboard/default.nix
+++ b/pkgs/applications/accessibility/squeekboard/default.nix
@@ -24,7 +24,7 @@
 
 stdenv.mkDerivation rec {
   pname = "squeekboard";
-  version = "1.22.0";
+  version = "1.38.0";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
@@ -32,23 +32,15 @@ stdenv.mkDerivation rec {
     owner = "Phosh";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-Rk6LOCZ5bhoo5ORAIIYWENrKUIVypd8bnKjyyBSbUYg=";
+    hash = "sha256-ZVSnLH2wLPcOHkU2pO0BgIdGmULMNiacIYMRmhN+bZ8=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
-    cargoUpdateHook = ''
-      cat Cargo.toml.in Cargo.deps.newer > Cargo.toml
-      cp Cargo.lock.newer Cargo.lock
-    '';
     name = "${pname}-${version}";
-    hash = "sha256-DygWra4R/w8KzkFzIVm4+ePpUpjiYGaDx2NQm6o+tWQ=";
+    hash = "sha256-tcn1tRuRlHVTYvc8T/ePfCEPNjih6B9lo/hdX+WwitQ=";
   };
 
-  mesonFlags = [
-    "-Dnewer=true"
-  ];
-
   nativeBuildInputs = [
     meson
     ninja
diff --git a/pkgs/applications/audio/audacity/default.nix b/pkgs/applications/audio/audacity/default.nix
index 871b8767b1a15..c0db59b1d2bbd 100644
--- a/pkgs/applications/audio/audacity/default.nix
+++ b/pkgs/applications/audio/audacity/default.nix
@@ -62,13 +62,13 @@
 
 stdenv.mkDerivation rec {
   pname = "audacity";
-  version = "3.5.0";
+  version = "3.5.1";
 
   src = fetchFromGitHub {
     owner = "audacity";
     repo = "audacity";
     rev = "Audacity-${version}";
-    hash = "sha256-vJhCONoEC4Bdd1ZOLLobjNgLb/DT6auuMGk8L9lj6TU=";
+    hash = "sha256-wQ+K31TvDTVwDyVQ5nWgcneZ1cFxztmsbSXrDs33Uoc=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/audio/castopod/default.nix b/pkgs/applications/audio/castopod/default.nix
index 13bb4afe8e2d1..bd66a6835562d 100644
--- a/pkgs/applications/audio/castopod/default.nix
+++ b/pkgs/applications/audio/castopod/default.nix
@@ -50,7 +50,7 @@ stdenv.mkDerivation {
     description = "An open-source hosting platform made for podcasters who want to engage and interact with their audience";
     homepage = "https://castopod.org";
     license = licenses.agpl3Only;
-    maintainers = with maintainers; [ alexoundos misuzu ];
+    maintainers = with maintainers; [ alexoundos ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/applications/audio/cider/default.nix b/pkgs/applications/audio/cider/default.nix
index 258a9cd2065af..b9a688370dcd1 100644
--- a/pkgs/applications/audio/cider/default.nix
+++ b/pkgs/applications/audio/cider/default.nix
@@ -12,8 +12,6 @@ appimageTools.wrapType2 rec {
   extraInstallCommands =
     let contents = appimageTools.extract { inherit pname version src; };
     in ''
-      mv $out/bin/${pname}-${version} $out/bin/${pname}
-
       source "${makeWrapper}/nix-support/setup-hook"
       wrapProgram $out/bin/${pname} \
         --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
diff --git a/pkgs/applications/audio/faust/faust2.nix b/pkgs/applications/audio/faust/faust2.nix
index dc5dc477b03ad..7df2dbf6518ae 100644
--- a/pkgs/applications/audio/faust/faust2.nix
+++ b/pkgs/applications/audio/faust/faust2.nix
@@ -23,13 +23,13 @@ with lib.strings;
 
 let
 
-  version = "2.70.3";
+  version = "2.72.14";
 
   src = fetchFromGitHub {
     owner = "grame-cncm";
     repo = "faust";
     rev = version;
-    sha256 = "sha256-z6fW/T7wJZxugmvABlpvyMXvR4WkmC16INOKyyfKx8k=";
+    sha256 = "sha256-RdSXiOYwKsfyrfHEughCeSwa9VFM6/3pMg54yCMpzLU=";
     fetchSubmodules = true;
   };
 
@@ -63,14 +63,6 @@ let
         ncurses_static
       ];
 
-      patches = [
-        (fetchpatch {
-          name = "fix-CsigFFun-API-declaration.patch";
-          url = "https://github.com/grame-cncm/faust/commit/10ce960e91a6237c7bff14a338e770757076ce9e.patch";
-          hash = "sha256-WMFLpLGTZpG7ni3lhI5VJHsmJViWZf4pAFuhYmFVRCE=";
-        })
-      ];
-
       passthru = { inherit wrap wrapWithBuildEnv faust2ApplBase; };
 
       preConfigure = ''
diff --git a/pkgs/applications/audio/feishin/default.nix b/pkgs/applications/audio/feishin/default.nix
index 5168d084af72a..e0e35bae6df09 100644
--- a/pkgs/applications/audio/feishin/default.nix
+++ b/pkgs/applications/audio/feishin/default.nix
@@ -1,8 +1,10 @@
 {
   lib,
+  stdenv,
   buildNpmPackage,
   fetchFromGitHub,
   electron_27,
+  darwin,
   copyDesktopItems,
   makeDesktopItem,
   ...
@@ -21,8 +23,7 @@ let
   electron = electron_27;
 in
 buildNpmPackage {
-  pname = "feishin";
-  inherit version;
+  inherit pname version;
 
   inherit src;
   npmDepsHash = "sha256-+pr9fWg/9kxkYMmthtqhjgF6MOomSQxVCO5V8tHHRdE=";
@@ -32,17 +33,25 @@ buildNpmPackage {
 
   env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
 
-  nativeBuildInputs = [ copyDesktopItems ];
+  nativeBuildInputs =
+    lib.optionals (stdenv.isLinux) [ copyDesktopItems ]
+    ++ lib.optionals stdenv.isDarwin [ darwin.autoSignDarwinBinariesHook ];
 
-  postPatch = ''
-    # release/app dependencies are installed on preConfigure
-    substituteInPlace package.json \
-      --replace-fail "electron-builder install-app-deps &&" ""
+  postPatch =
+    ''
+      # release/app dependencies are installed on preConfigure
+      substituteInPlace package.json \
+        --replace-fail "electron-builder install-app-deps &&" ""
 
-    # https://github.com/electron/electron/issues/31121
-    substituteInPlace src/main/main.ts \
-      --replace-fail "process.resourcesPath" "'$out/share/feishin/resources'"
-  '';
+      # Don't check for updates.
+      substituteInPlace src/main/main.ts \
+        --replace-fail "autoUpdater.checkForUpdatesAndNotify();" ""
+    ''
+    + lib.optionalString stdenv.isLinux ''
+      # https://github.com/electron/electron/issues/31121
+      substituteInPlace src/main/main.ts \
+        --replace-fail "process.resourcesPath" "'$out/share/feishin/resources'"
+    '';
 
   preConfigure =
     let
@@ -67,40 +76,59 @@ buildNpmPackage {
       done
     '';
 
-  postBuild = ''
-    npm exec electron-builder -- \
-      --dir \
-      -c.electronDist=${electron}/libexec/electron \
-      -c.electronVersion=${electron.version} \
-      -c.npmRebuild=false
-  '';
-
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p $out/share/feishin
-    pushd release/build/*/
-    cp -r locales resources{,.pak} $out/share/feishin
-    popd
-
-    # Code relies on checking app.isPackaged, which returns false if the executable is electron.
-    # Set ELECTRON_FORCE_IS_PACKAGED=1.
-    # https://github.com/electron/electron/issues/35153#issuecomment-1202718531
-    makeWrapper ${lib.getExe electron} $out/bin/feishin \
-      --add-flags $out/share/feishin/resources/app.asar \
-      --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \
-      --set ELECTRON_FORCE_IS_PACKAGED=1 \
-      --inherit-argv0
-
-    for size in 32 64 128 256 512 1024; do
-      mkdir -p $out/share/icons/hicolor/"$size"x"$size"/apps
-      ln -s \
-        $out/share/feishin/resources/assets/icons/"$size"x"$size".png \
-        $out/share/icons/hicolor/"$size"x"$size"/apps/${pname}.png
-    done
-
-    runHook postInstall
-  '';
+  postBuild =
+    lib.optionalString stdenv.isDarwin ''
+      # electron-builder appears to build directly on top of Electron.app, by overwriting the files in the bundle.
+      cp -r ${electron}/Applications/Electron.app ./
+      find ./Electron.app -name 'Info.plist' | xargs -d '\n' chmod +rw
+
+      # Disable code signing during build on macOS.
+      # https://github.com/electron-userland/electron-builder/blob/fa6fc16/docs/code-signing.md#how-to-disable-code-signing-during-the-build-process-on-macos
+      export CSC_IDENTITY_AUTO_DISCOVERY=false
+      sed -i "/afterSign/d" package.json
+    ''
+    + ''
+      npm exec electron-builder -- \
+        --dir \
+        -c.electronDist=${if stdenv.isDarwin then "./" else "${electron}/libexec/electron"} \
+        -c.electronVersion=${electron.version} \
+        -c.npmRebuild=false
+    '';
+
+  installPhase =
+    ''
+      runHook preInstall
+    ''
+    + lib.optionalString stdenv.isDarwin ''
+      mkdir -p $out/{Applications,bin}
+      cp -r release/build/**/Feishin.app $out/Applications/
+      makeWrapper $out/Applications/Feishin.app/Contents/MacOS/Feishin $out/bin/feishin
+    ''
+    + lib.optionalString stdenv.isLinux ''
+      mkdir -p $out/share/feishin
+      pushd release/build/*/
+      cp -r locales resources{,.pak} $out/share/feishin
+      popd
+
+      # Code relies on checking app.isPackaged, which returns false if the executable is electron.
+      # Set ELECTRON_FORCE_IS_PACKAGED=1.
+      # https://github.com/electron/electron/issues/35153#issuecomment-1202718531
+      makeWrapper ${lib.getExe electron} $out/bin/feishin \
+        --add-flags $out/share/feishin/resources/app.asar \
+        --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \
+        --set ELECTRON_FORCE_IS_PACKAGED=1 \
+        --inherit-argv0
+
+      for size in 32 64 128 256 512 1024; do
+        mkdir -p $out/share/icons/hicolor/"$size"x"$size"/apps
+        ln -s \
+          $out/share/feishin/resources/assets/icons/"$size"x"$size".png \
+          $out/share/icons/hicolor/"$size"x"$size"/apps/${pname}.png
+      done
+    ''
+    + ''
+      runHook postInstall
+    '';
 
   desktopItems = [
     (makeDesktopItem {
@@ -125,6 +153,9 @@ buildNpmPackage {
     license = licenses.gpl3Plus;
     platforms = platforms.unix;
     mainProgram = "feishin";
-    maintainers = with maintainers; [ onny ];
+    maintainers = with maintainers; [
+      onny
+      jlbribeiro
+    ];
   };
 }
diff --git a/pkgs/applications/audio/g4music/default.nix b/pkgs/applications/audio/g4music/default.nix
index bbb31c1146599..0cc1987c356d0 100644
--- a/pkgs/applications/audio/g4music/default.nix
+++ b/pkgs/applications/audio/g4music/default.nix
@@ -15,14 +15,14 @@
 }:
 stdenv.mkDerivation (finalAttrs: {
   pname = "g4music";
-  version = "3.5.1";
+  version = "3.5.2";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "neithern";
     repo = "g4music";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-4UM1CspevlDHpuyvSekMM73XyxVqpdUDtJ7im7hnxHY=";
+    hash = "sha256-ljSXTEp+f4HMXhGWDGHdX6whm90Vo5KWOQunU2hHwo8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/galaxy-buds-client/default.nix b/pkgs/applications/audio/galaxy-buds-client/default.nix
index 15125358e4647..6dd2256d7c8a4 100644
--- a/pkgs/applications/audio/galaxy-buds-client/default.nix
+++ b/pkgs/applications/audio/galaxy-buds-client/default.nix
@@ -2,7 +2,6 @@
 , stdenv
 , buildDotnetModule
 , fetchFromGitHub
-, autoPatchelfHook
 , fontconfig
 , xorg
 , libglvnd
@@ -27,7 +26,6 @@ buildDotnetModule rec {
   dotnetFlags = [ "-p:Runtimeidentifier=linux-x64" ];
 
   nativeBuildInputs = [
-    autoPatchelfHook
     copyDesktopItems
     graphicsmagick
   ];
diff --git a/pkgs/applications/audio/grandorgue/default.nix b/pkgs/applications/audio/grandorgue/default.nix
index 54bd0cad3593e..9e519510eb721 100644
--- a/pkgs/applications/audio/grandorgue/default.nix
+++ b/pkgs/applications/audio/grandorgue/default.nix
@@ -21,14 +21,14 @@
 
 stdenv.mkDerivation rec {
   pname = "grandorgue";
-  version = "3.14.1-1";
+  version = "3.14.2-1";
 
   src = fetchFromGitHub {
     owner = "GrandOrgue";
     repo = pname;
     rev = version;
     fetchSubmodules = true;
-    hash = "sha256-EyMTWsaqJX7H7aCbu5ww9tQBMwJ7BzobWMWg5Y/ZgJE=";
+    hash = "sha256-FHM8fFUga9poGhojKBTF4gsJ6L4XEksueVxfMbngvks=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/audio/littlegptracker/default.nix b/pkgs/applications/audio/littlegptracker/default.nix
index d3cb9fcfab019..b575f717be747 100644
--- a/pkgs/applications/audio/littlegptracker/default.nix
+++ b/pkgs/applications/audio/littlegptracker/default.nix
@@ -8,7 +8,7 @@
 
 stdenv.mkDerivation {
   pname = "littlegptracker";
-  version = "unstable-2020-11-26";
+  version = "0-unstable-2020-11-26";
 
   src = fetchFromGitHub {
     owner = "Mdashdotdashn";
diff --git a/pkgs/applications/audio/mmlgui/default.nix b/pkgs/applications/audio/mmlgui/default.nix
index aab0acb25019d..d9197abd04dc9 100644
--- a/pkgs/applications/audio/mmlgui/default.nix
+++ b/pkgs/applications/audio/mmlgui/default.nix
@@ -15,14 +15,14 @@
 
 stdenv.mkDerivation rec {
   pname = "mmlgui";
-  version = "unstable-2023-11-16";
+  version = "210420-preview-unstable-2024-04-15";
 
   src = fetchFromGitHub {
     owner = "superctr";
     repo = "mmlgui";
-    rev = "627bfc7b67d4d87253517ba71df2d699a8acdd10";
+    rev = "e49f225ac2b2d46056b2c45a5d31c544227c4968";
     fetchSubmodules = true;
-    hash = "sha256-d/QLRlSfCrrcvzIhwEBKB5chK+XqO/R8xJ5VfagDi4U=";
+    hash = "sha256-hj2k1BrE8AA2HTBEO03RammlZV2U4KW0gLJmFNiaSvI=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/audio/mopidy/spotify.nix b/pkgs/applications/audio/mopidy/spotify.nix
index 58b5f852a4c95..4b6fe17e8225f 100644
--- a/pkgs/applications/audio/mopidy/spotify.nix
+++ b/pkgs/applications/audio/mopidy/spotify.nix
@@ -2,7 +2,7 @@
 
 pythonPackages.buildPythonApplication rec {
   pname = "mopidy-spotify";
-  version = "unstable-2024-02-27";
+  version = "4.1.1-unstable-2024-02-27";
 
   src = fetchFromGitHub {
     owner = "mopidy";
@@ -22,7 +22,9 @@ pythonPackages.buildPythonApplication rec {
 
   pythonImportsCheck = [ "mopidy_spotify" ];
 
-  passthru.updateScript = unstableGitUpdater { };
+  passthru.updateScript = unstableGitUpdater {
+    tagPrefix = "v";
+  };
 
   meta = with lib; {
     homepage = "https://github.com/mopidy/mopidy-spotify";
diff --git a/pkgs/applications/audio/museeks/default.nix b/pkgs/applications/audio/museeks/default.nix
index 206fee9de709b..5db7f5bd40844 100644
--- a/pkgs/applications/audio/museeks/default.nix
+++ b/pkgs/applications/audio/museeks/default.nix
@@ -17,8 +17,6 @@ appimageTools.wrapType2 {
   inherit pname version src;
 
   extraInstallCommands = ''
-    mv $out/bin/${pname}-${version} $out/bin/${pname}
-
     mkdir -p $out/share/${pname}
     cp -a ${appimageContents}/{locales,resources} $out/share/${pname}
     cp -a ${appimageContents}/usr/share/icons $out/share/
diff --git a/pkgs/applications/audio/music-player/default.nix b/pkgs/applications/audio/music-player/default.nix
index b28785d9368b3..0a93443df473a 100644
--- a/pkgs/applications/audio/music-player/default.nix
+++ b/pkgs/applications/audio/music-player/default.nix
@@ -39,7 +39,7 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/tsirysndr/music-player";
     changelog = "https://github.com/tsirysndr/music-player/releases/tag/v${version}";
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     mainProgram = "music-player";
   };
 }
diff --git a/pkgs/applications/audio/ncspot/default.nix b/pkgs/applications/audio/ncspot/default.nix
index 597f87337caeb..1bc391b4b55c8 100644
--- a/pkgs/applications/audio/ncspot/default.nix
+++ b/pkgs/applications/audio/ncspot/default.nix
@@ -73,7 +73,7 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/hrkfdn/ncspot";
     changelog = "https://github.com/hrkfdn/ncspot/releases/tag/v${version}";
     license = licenses.bsd2;
-    maintainers = with maintainers; [ marsam liff ];
+    maintainers = with maintainers; [ liff ];
     mainProgram = "ncspot";
   };
 }
diff --git a/pkgs/applications/audio/nuclear/default.nix b/pkgs/applications/audio/nuclear/default.nix
index 605596563e0b6..2d6a4384e747e 100644
--- a/pkgs/applications/audio/nuclear/default.nix
+++ b/pkgs/applications/audio/nuclear/default.nix
@@ -21,10 +21,6 @@ appimageTools.wrapType2 {
     substituteInPlace $out/share/applications/${pname}.desktop \
       --replace 'Exec=AppRun' 'Exec=${pname}'
     cp -r ${appimageContents}/usr/share/icons $out/share
-
-    # unless linked, the binary is placed in $out/bin/nuclear-someVersion
-    # link it to $out/bin/nuclear
-    ln -s $out/bin/${pname}-${version} $out/bin/${pname}
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/audio/plexamp/default.nix b/pkgs/applications/audio/plexamp/default.nix
index c3d36d3b38368..245760be5f70a 100644
--- a/pkgs/applications/audio/plexamp/default.nix
+++ b/pkgs/applications/audio/plexamp/default.nix
@@ -20,7 +20,6 @@ in appimageTools.wrapType2 {
   extraPkgs = pkgs: appimageTools.defaultFhsEnvArgs.multiPkgs pkgs ++ [ pkgs.bash ];
 
   extraInstallCommands = ''
-    ln -s $out/bin/${pname}-${version} $out/bin/${pname}
     install -m 444 -D ${appimageContents}/plexamp.desktop $out/share/applications/plexamp.desktop
     install -m 444 -D ${appimageContents}/plexamp.png \
       $out/share/icons/hicolor/512x512/apps/plexamp.png
diff --git a/pkgs/applications/audio/pt2-clone/default.nix b/pkgs/applications/audio/pt2-clone/default.nix
index baa0f0b0e76a1..975b44866e817 100644
--- a/pkgs/applications/audio/pt2-clone/default.nix
+++ b/pkgs/applications/audio/pt2-clone/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "pt2-clone";
-  version = "1.68";
+  version = "1.69.2";
 
   src = fetchFromGitHub {
     owner = "8bitbubsy";
     repo = "pt2-clone";
     rev = "v${finalAttrs.version}";
-    sha256 = "sha256-xlXwOxmJ5cL1ouTOnFwTvx959IDQIvJ0ZRk+G9p0HbA=";
+    sha256 = "sha256-Vy8b9rbYM/bK/mCUW4V4rPeAmoBN/wn7iVBANSboL2Q=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/audio/pyradio/default.nix b/pkgs/applications/audio/pyradio/default.nix
index e3bf3acf98d9b..72cbfd443c08b 100644
--- a/pkgs/applications/audio/pyradio/default.nix
+++ b/pkgs/applications/audio/pyradio/default.nix
@@ -6,13 +6,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "pyradio";
-  version = "0.9.3.2";
+  version = "0.9.3.4";
 
   src = fetchFromGitHub {
     owner = "coderholic";
     repo = "pyradio";
     rev = "refs/tags/${version}";
-    hash = "sha256-aIWU68bdPUsIh8QRNnF0NcK7FemmYyUHbJg9KcUALBk=";
+    hash = "sha256-QifBzQsvYU5kP5mnidOgWGBh3h2MvJm8Wo0i1v6j/cU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/roomeqwizard/default.nix b/pkgs/applications/audio/roomeqwizard/default.nix
index c54726d058d45..042666d2e1c7a 100644
--- a/pkgs/applications/audio/roomeqwizard/default.nix
+++ b/pkgs/applications/audio/roomeqwizard/default.nix
@@ -14,11 +14,11 @@
 
 stdenv.mkDerivation rec {
   pname = "roomeqwizard";
-  version = "5.30.9";
+  version = "5.31.1";
 
   src = fetchurl {
     url = "https://www.roomeqwizard.com/installers/REW_linux_no_jre_${lib.replaceStrings [ "." ] [ "_" ] version}.sh";
-    sha256 = "sha256-gyitOq/HTDruP4nY6B7y1E+pL43yRhldyiiXEjKyogU=";
+    sha256 = "sha256-n1Ohja6Hpg/TNoxQKF1VCDkVj0UDCefr1x5ArIsgs2A=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/applications/audio/sonic-pi/default.nix b/pkgs/applications/audio/sonic-pi/default.nix
index 6635cb4784f90..c35a2a80643cc 100644
--- a/pkgs/applications/audio/sonic-pi/default.nix
+++ b/pkgs/applications/audio/sonic-pi/default.nix
@@ -26,6 +26,7 @@
 , aubio
 , jack2
 , jack-example-tools
+, pipewire
 , supercollider-with-sc3-plugins
 , parallel
 
@@ -188,14 +189,14 @@ stdenv.mkDerivation rec {
   preFixup = ''
     # Wrap Qt GUI (distributed binary)
     wrapQtApp $out/bin/sonic-pi \
-      --prefix PATH : ${lib.makeBinPath [ ruby supercollider-with-sc3-plugins jack2 jack-example-tools ]}
+      --prefix PATH : ${lib.makeBinPath [ ruby supercollider-with-sc3-plugins jack2 jack-example-tools pipewire.jack ]}
 
     # If ImGui was built
     if [ -e $out/app/build/gui/imgui/sonic-pi-imgui ]; then
       # Wrap ImGui into bin
       makeWrapper $out/app/build/gui/imgui/sonic-pi-imgui $out/bin/sonic-pi-imgui \
         --inherit-argv0 \
-        --prefix PATH : ${lib.makeBinPath [ ruby supercollider-with-sc3-plugins jack2 jack-example-tools ]}
+        --prefix PATH : ${lib.makeBinPath [ ruby supercollider-with-sc3-plugins jack2 jack-example-tools pipewire.jack ]}
     fi
 
     # Remove runtime Erlang references
diff --git a/pkgs/applications/audio/sonixd/default.nix b/pkgs/applications/audio/sonixd/default.nix
index 87ceb7b25e0f4..e535a574ab9a2 100644
--- a/pkgs/applications/audio/sonixd/default.nix
+++ b/pkgs/applications/audio/sonixd/default.nix
@@ -16,8 +16,6 @@ appimageTools.wrapType2 rec {
   inherit pname version src;
 
   extraInstallCommands = ''
-    mv $out/bin/${pname}-${version} $out/bin/${pname}
-
     install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications
     substituteInPlace $out/share/applications/${pname}.desktop \
       --replace 'Exec=AppRun --no-sandbox %U' 'Exec=${pname}'
@@ -33,4 +31,3 @@ appimageTools.wrapType2 rec {
     mainProgram = "sonixd";
   };
 }
-
diff --git a/pkgs/applications/audio/spot/default.nix b/pkgs/applications/audio/spot/default.nix
index 7cf683beb918c..183aae58d167a 100644
--- a/pkgs/applications/audio/spot/default.nix
+++ b/pkgs/applications/audio/spot/default.nix
@@ -5,7 +5,6 @@
 , meson
 , ninja
 , gettext
-, python3
 , desktop-file-utils
 , cargo
 , rustPlatform
@@ -19,23 +18,25 @@
 , alsa-lib
 , libpulseaudio
 , wrapGAppsHook4
+, blueprint-compiler
+, gst_all_1
 }:
 
 stdenv.mkDerivation rec {
   pname = "spot";
-  version = "0.4.0";
+  version = "0.4.1";
 
   src = fetchFromGitHub {
     owner = "xou816";
     repo = "spot";
     rev = version;
-    hash = "sha256-K6wGWhAUUGsbE4O+z0TmJcJyGarvHgZteY527jfAa90=";
+    hash = "sha256-F875e/VZyN8mTfe9lgjtILNxMqn+66XoPCdaEUagHyU=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-eM2XLumn4dr2YtyUzBZJADlqdexc1iOaNJUudMlfSUc=";
+    hash = "sha256-45Rqs2/tSWoyZVjFuygR5SxldjoqpprtOKEnMqJK+p8=";
   };
 
   nativeBuildInputs = [
@@ -43,7 +44,6 @@ stdenv.mkDerivation rec {
     meson
     ninja
     pkg-config
-    python3 # for meson postinstall script
     gtk4 # for gtk-update-icon-cache
     glib # for glib-compile-schemas
     desktop-file-utils
@@ -51,6 +51,7 @@ stdenv.mkDerivation rec {
     rustPlatform.cargoSetupHook
     rustc
     wrapGAppsHook4
+    blueprint-compiler
   ];
 
   buildInputs = [
@@ -61,18 +62,13 @@ stdenv.mkDerivation rec {
     openssl
     alsa-lib
     libpulseaudio
+    gst_all_1.gst-plugins-base
+    gst_all_1.gstreamer
   ];
 
   # https://github.com/xou816/spot/issues/313
   mesonBuildType = "release";
 
-  postPatch = ''
-    chmod +x build-aux/cargo.sh
-    patchShebangs build-aux/cargo.sh build-aux/meson/postinstall.py
-    substituteInPlace build-aux/meson/postinstall.py \
-      --replace gtk-update-icon-cache gtk4-update-icon-cache
-  '';
-
   passthru = {
     updateScript = nix-update-script { };
   };
diff --git a/pkgs/applications/audio/spotifyd/default.nix b/pkgs/applications/audio/spotifyd/default.nix
index 6de9493ab8e8d..c80843896425b 100644
--- a/pkgs/applications/audio/spotifyd/default.nix
+++ b/pkgs/applications/audio/spotifyd/default.nix
@@ -42,7 +42,7 @@ rustPackages.rustPlatform.buildRustPackage rec {
     homepage = "https://spotifyd.rs/";
     changelog = "https://github.com/Spotifyd/spotifyd/blob/${src.rev}/CHANGELOG.md";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ anderslundstedt Br1ght0ne marsam ];
+    maintainers = with maintainers; [ anderslundstedt Br1ght0ne ];
     platforms = platforms.unix;
     mainProgram = "spotifyd";
   };
diff --git a/pkgs/applications/audio/touchosc/default.nix b/pkgs/applications/audio/touchosc/default.nix
index bcd078eeb9f1b..23d254efc0b55 100644
--- a/pkgs/applications/audio/touchosc/default.nix
+++ b/pkgs/applications/audio/touchosc/default.nix
@@ -45,7 +45,7 @@ in
 
 stdenv.mkDerivation rec {
   pname = "touchosc";
-  version = "1.3.0.202";
+  version = "1.3.1.204";
 
   suffix = {
     aarch64-linux = "linux-arm64";
@@ -56,9 +56,9 @@ stdenv.mkDerivation rec {
   src = fetchurl {
     url = "https://hexler.net/pub/${pname}/${pname}-${version}-${suffix}.deb";
     hash = {
-      aarch64-linux = "sha256-qsjZ/oo2V6mknrMktuTP188hp57oiPxO/iwp3G57JXU=";
-      armv7l-linux  = "sha256-33SnAYumfnZlxKms3fANt9wRJghaQHUstZbKqTxBF3Q=";
-      x86_64-linux  = "sha256-4SE2iw45sLyapYLCd31xT/aZMTmetsjmgfWFf0FrluI=";
+      aarch64-linux = "sha256-uSXCgwJUEQZDKPAHDT4kKcvkBg9c+T0nrpvYW8jG8Kg=";
+      armv7l-linux  = "sha256-dG5BF8n66YCYCZzc1pLf2qpMLmbv6lfVZYfgry25jQ0=";
+      x86_64-linux  = "sha256-R07kTuwsfe6WhGpHeyZS/HydDUSH6AByx0pJu/i40xE=";
     }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
   };
 
diff --git a/pkgs/applications/audio/vgmplay-libvgm/default.nix b/pkgs/applications/audio/vgmplay-libvgm/default.nix
index 75701682e1283..ebf227d21074c 100644
--- a/pkgs/applications/audio/vgmplay-libvgm/default.nix
+++ b/pkgs/applications/audio/vgmplay-libvgm/default.nix
@@ -11,7 +11,7 @@
 
 stdenv.mkDerivation {
   pname = "vgmplay-libvgm";
-  version = "unstable-2024-01-03";
+  version = "0.51.1-unstable-2024-01-03";
 
   src = fetchFromGitHub {
     owner = "ValleyBell";
diff --git a/pkgs/applications/audio/waylyrics/Cargo.lock b/pkgs/applications/audio/waylyrics/Cargo.lock
index 011548f114ade..2a5931a81a0cb 100644
--- a/pkgs/applications/audio/waylyrics/Cargo.lock
+++ b/pkgs/applications/audio/waylyrics/Cargo.lock
@@ -1783,8 +1783,7 @@ dependencies = [
 [[package]]
 name = "ksni"
 version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b31b9cf486bcd22bcd09900b44538cf87b00f526fcd087d671a632dc0d271d0c"
+source = "git+https://github.com/waylyrics/ksni.git#af6fa6e6e29b7cb3779f98c1ca3aaeb8744ef4c4"
 dependencies = [
  "dbus",
  "dbus-codegen",
@@ -2075,9 +2074,10 @@ dependencies = [
 ]
 
 [[package]]
-name = "ncmapi"
+name = "ncmapi2"
 version = "0.1.13"
-source = "git+https://github.com/waylyrics/ncmapi-rs.git?rev=6095abf7#6095abf7e54eedbb716676d311e0741b4ac2482e"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dcd3c218f2db46fc0b26ac6263d3005b96c82d5ebec0d349c3c902eef8bd660c"
 dependencies = [
  "aes",
  "base64",
@@ -2610,7 +2610,8 @@ dependencies = [
 [[package]]
 name = "qqmusic-rs"
 version = "0.1.0"
-source = "git+https://github.com/waylyrics/qqmusic-rs.git?rev=22e66ba#22e66ba62e63d97c6dffb45400655404e6f06b93"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c7698cb357cfa1a75f5a2071469345ede01a6c4ee83a2ff2a88f9e481893f341"
 dependencies = [
  "serde",
  "serde_json",
@@ -3817,7 +3818,7 @@ checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96"
 
 [[package]]
 name = "waylyrics"
-version = "0.2.19"
+version = "0.3.5"
 dependencies = [
  "ahash 0.8.11",
  "anyhow",
@@ -3835,7 +3836,7 @@ dependencies = [
  "md5",
  "mimalloc",
  "mpris",
- "ncmapi",
+ "ncmapi2",
  "once_cell",
  "opencc-rust",
  "qqmusic-rs",
diff --git a/pkgs/applications/audio/waylyrics/default.nix b/pkgs/applications/audio/waylyrics/default.nix
index fa01a22eb8321..8fcfe02acfe9e 100644
--- a/pkgs/applications/audio/waylyrics/default.nix
+++ b/pkgs/applications/audio/waylyrics/default.nix
@@ -9,20 +9,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "waylyrics";
-  version = "0.2.19";
+  version = "0.3.5";
 
   src = fetchFromGitHub {
-    owner = "poly000";
+    owner = "waylyrics";
     repo = "waylyrics";
     rev = "v${version}";
-    hash = "sha256-y8FBZ/BvCj7CBfQlNE1Ay2nuP41WC14dfTeOJhTbHYs=";
+    hash = "sha256-44O2+OLsBZhl0/0910RsdCe8cHt6UGhYF7CUfhsFQU8=";
   };
 
   cargoLock = {
     lockFile = ./Cargo.lock;
     outputHashes = {
-      "ncmapi-0.1.13" = "sha256-gwFMmMzQywlsQC2GljgLwXoP2Cca0r24iEDmV0k/xG0=";
-      "qqmusic-rs-0.1.0" = "sha256-woLsO0n+m3EBUI+PRLio7iLp0UPQSliWK0djCSZEaZc=";
+      "ksni-0.2.1" = "sha256-kjirYZVDP9e7/933L7gwSgVrNInSTbsRCAfnhUqmcLI=";
     };
   };
 
@@ -44,10 +43,12 @@ rustPlatform.buildRustPackage rec {
     install -d $WAYLYRICS_THEME_PRESETS_DIR
     cp -vr themes/* $WAYLYRICS_THEME_PRESETS_DIR
     # Install desktop entry
-    install -Dm644 io.poly000.waylyrics.desktop -t $out/share/applications
+    install -Dm644 metainfo/io.github.waylyrics.Waylyrics.desktop -t $out/share/applications
     # Install schema
-    install -Dm644 io.poly000.waylyrics.gschema.xml -t $out/share/gsettings-schemas/$name/glib-2.0/schemas
+    install -Dm644 metainfo/io.github.waylyrics.Waylyrics.gschema.xml -t $out/share/gsettings-schemas/$name/glib-2.0/schemas
     glib-compile-schemas $out/share/gsettings-schemas/$name/glib-2.0/schemas/
+    # Install metainfo
+    install -Dm644 metainfo/io.github.waylyrics.Waylyrics.metainfo.xml -t $out/share/metainfo
     # Install icons
     install -d $out/share/icons
     cp -vr res/icons/hicolor $out/share/icons/hicolor
@@ -64,7 +65,7 @@ rustPlatform.buildRustPackage rec {
   meta = with lib; {
     description = "Desktop lyrics with QQ and NetEase Music source";
     mainProgram = "waylyrics";
-    homepage = "https://github.com/poly000/waylyrics";
+    homepage = "https://github.com/waylyrics/waylyrics";
     license = with licenses; [ mit cc-by-40 ];
     maintainers = with maintainers; [ shadowrz aleksana ];
     platforms = platforms.linux;
diff --git a/pkgs/applications/backup/pika-backup/default.nix b/pkgs/applications/backup/pika-backup/default.nix
index 8c225b43ccf58..3d919449be3ee 100644
--- a/pkgs/applications/backup/pika-backup/default.nix
+++ b/pkgs/applications/backup/pika-backup/default.nix
@@ -21,20 +21,20 @@
 
 stdenv.mkDerivation rec {
   pname = "pika-backup";
-  version = "0.7.0";
+  version = "0.7.2";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "World";
     repo = "pika-backup";
     rev = "v${version}";
-    hash = "sha256-WeFc/4TEIxw6uzLroJX1D/rEA419sghkjBt1nsPv2Ho=";
+    hash = "sha256-Z9vRuz5PwOhJ3DQD9zvCilgTMww7bRL4aR6fRoHIayI=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-fgPgUZxye9YUyX9/+hTye3cUypgRAegZMUTKfPxVH4s=";
+    hash = "sha256-hcfkwxwLOUBMj6rvhI5F4OO9UaSP7CAE0JNOGlh2lVY=";
   };
 
   patches = [
diff --git a/pkgs/applications/blockchains/bitcoin-abc/default.nix b/pkgs/applications/blockchains/bitcoin-abc/default.nix
index 427576b688ebc..1cc43a059e204 100644
--- a/pkgs/applications/blockchains/bitcoin-abc/default.nix
+++ b/pkgs/applications/blockchains/bitcoin-abc/default.nix
@@ -25,13 +25,13 @@
 
 mkDerivation rec {
   pname = "bitcoin" + lib.optionalString (!withGui) "d" + "-abc";
-  version = "0.29.1";
+  version = "0.29.2";
 
   src = fetchFromGitHub {
     owner = "bitcoin-ABC";
     repo = "bitcoin-abc";
     rev = "v${version}";
-    hash = "sha256-QEuOMl1sbVdB2nRwBO/2adqj/NIQGbwrBqML39fymM0=";
+    hash = "sha256-og9hMQdDXGdUQN+A+z0064E6svF+qPd9CWtDQsdvNYQ=";
   };
 
   nativeBuildInputs = [ pkg-config cmake ];
diff --git a/pkgs/applications/blockchains/btcdeb/default.nix b/pkgs/applications/blockchains/btcdeb/default.nix
index 7c5f803a968cc..9e7c0f26c6248 100644
--- a/pkgs/applications/blockchains/btcdeb/default.nix
+++ b/pkgs/applications/blockchains/btcdeb/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation {
   pname = "btcdeb";
-  version = "0.3.20-unstable-2024-03-26";
+  version = "0.3.20-unstable-2024-04-09";
 
   src = fetchFromGitHub {
     owner = "bitcoin-core";
     repo = "btcdeb";
-    rev = "675b7820f0eec8a76f68ade7ea35974a561d49dd";
-    hash = "sha256-J9E0edRbFONMut1/ZFaUqgWAtEUifc+pmGypeUQ0m4c=";
+    rev = "e2c2e7b9fe2ecc0884129b53813a733f93a6e2c7";
+    hash = "sha256-heV5VByNZ/2doGVtYhGEei4fV4847UPVgOyU0PDDHc8=";
   };
 
   nativeBuildInputs = [ pkg-config autoreconfHook ];
diff --git a/pkgs/applications/blockchains/crypto-org-wallet/default.nix b/pkgs/applications/blockchains/crypto-org-wallet/default.nix
index 1460d87d932bf..6132fd9af3ecc 100644
--- a/pkgs/applications/blockchains/crypto-org-wallet/default.nix
+++ b/pkgs/applications/blockchains/crypto-org-wallet/default.nix
@@ -3,19 +3,17 @@
 let
   pname = "chain-desktop-wallet";
   version = "0.1.1";
-  name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "https://github.com/crypto-com/${pname}/releases/download/v${version}/${name}-x86_64.AppImage";
+    url = "https://github.com/crypto-com/${pname}/releases/download/v${version}/${pname}-${version}-x86_64.AppImage";
     sha256 = "12076hf8dlz0hg1pb2ixwlslrh8gi6s1iawnvhnn6vz4jmjvq356";
   };
 
-  appimageContents = appimageTools.extractType2 { inherit name src; };
+  appimageContents = appimageTools.extractType2 { inherit pname version src; };
 in appimageTools.wrapType2 rec {
-  inherit name src;
+  inherit pname version src;
 
   extraInstallCommands = ''
-    mv $out/bin/${name} $out/bin/${pname}
     install -m 444 -D ${appimageContents}/${pname}.desktop $out/share/applications/${pname}.desktop
     ${imagemagick}/bin/convert ${appimageContents}/${pname}.png -resize 512x512 ${pname}_512.png
     install -m 444 -D ${pname}_512.png $out/share/icons/hicolor/512x512/apps/${pname}.png
diff --git a/pkgs/applications/blockchains/exodus/default.nix b/pkgs/applications/blockchains/exodus/default.nix
index d1e389dc61407..b6f2539b02daf 100644
--- a/pkgs/applications/blockchains/exodus/default.nix
+++ b/pkgs/applications/blockchains/exodus/default.nix
@@ -25,15 +25,15 @@
 , mesa
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "exodus";
-  version = "24.13.3";
+  version = "24.17.5";
 
   src = fetchurl {
-    name = "exodus-linux-x64-${version}.zip";
-    url = "https://downloads.exodus.com/releases/${pname}-linux-x64-${version}.zip";
+    name = "exodus-linux-x64-${finalAttrs.version}.zip";
+    url = "https://downloads.exodus.com/releases/exodus-linux-x64-${finalAttrs.version}.zip";
     curlOptsList = [ "--user-agent" "Mozilla/5.0" ];
-    sha256 = "sha256-hhPHWo+nQXgluB6qn57wndX1eslLv3lLpdxm+COGMO8=";
+    hash = "sha256-HlyscqoxGucoQoFgSWN3vEjAnkdAmtBLOhjhWbScPFc=";
   };
 
   nativeBuildInputs = [ unzip ];
@@ -104,4 +104,4 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
     maintainers = with maintainers; [ mmahut rople380 Crafter ];
   };
-}
+})
diff --git a/pkgs/applications/blockchains/framesh/default.nix b/pkgs/applications/blockchains/framesh/default.nix
index f866ff3ea98ca..6c39d9d212d66 100644
--- a/pkgs/applications/blockchains/framesh/default.nix
+++ b/pkgs/applications/blockchains/framesh/default.nix
@@ -16,7 +16,6 @@ appimageTools.wrapType2 {
   inherit pname version src;
 
   extraInstallCommands = ''
-    ln -s $out/bin/${pname}-${version} $out/bin/${pname}
     install -m 444 -D ${appimageContents}/frame.desktop $out/share/applications/frame.desktop
     install -m 444 -D ${appimageContents}/frame.png \
       $out/share/icons/hicolor/512x512/apps/frame.png
diff --git a/pkgs/applications/blockchains/groestlcoin/default.nix b/pkgs/applications/blockchains/groestlcoin/default.nix
index 78389b28c9543..4e6e685316bf4 100644
--- a/pkgs/applications/blockchains/groestlcoin/default.nix
+++ b/pkgs/applications/blockchains/groestlcoin/default.nix
@@ -14,7 +14,6 @@
 , miniupnpc
 , zeromq
 , zlib
-, db53
 , sqlite
 , qrencode
 , qtbase ? null
@@ -33,13 +32,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = if withGui then "groestlcoin" else "groestlcoind";
-  version = "26.0";
+  version = "27.0";
 
   src = fetchFromGitHub {
     owner = "Groestlcoin";
     repo = "groestlcoin";
     rev = "v${version}";
-    sha256 = "00qvaf53jszsk1rr029zmq60v8w0r92192ab65k2krkmh7ybla9l";
+    sha256 = "0f6vi2k5xvjrhiazfjcd4aj246dfcg51xsnqb9wdjl41cg0ckwmf";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config installShellFiles ]
@@ -49,7 +48,7 @@ stdenv.mkDerivation rec {
     ++ lib.optionals withGui [ wrapQtAppsHook ];
 
   buildInputs = [ boost libevent miniupnpc zeromq zlib ]
-    ++ lib.optionals withWallet [ db53 sqlite ]
+    ++ lib.optionals withWallet [ sqlite ]
     ++ lib.optionals withGui [ qrencode qtbase qttools ];
 
   postInstall = ''
diff --git a/pkgs/applications/blockchains/ledger-live-desktop/default.nix b/pkgs/applications/blockchains/ledger-live-desktop/default.nix
index d2e9094afa61c..d49902c9d5ac6 100644
--- a/pkgs/applications/blockchains/ledger-live-desktop/default.nix
+++ b/pkgs/applications/blockchains/ledger-live-desktop/default.nix
@@ -17,7 +17,6 @@ appimageTools.wrapType2 rec {
   inherit pname version src;
 
   extraInstallCommands = ''
-    mv $out/bin/${pname}-${version} $out/bin/${pname}
     install -m 444 -D ${appimageContents}/ledger-live-desktop.desktop $out/share/applications/ledger-live-desktop.desktop
     install -m 444 -D ${appimageContents}/ledger-live-desktop.png $out/share/icons/hicolor/1024x1024/apps/ledger-live-desktop.png
     ${imagemagick}/bin/convert ${appimageContents}/ledger-live-desktop.png -resize 512x512 ledger-live-desktop_512.png
diff --git a/pkgs/applications/blockchains/mycrypto/default.nix b/pkgs/applications/blockchains/mycrypto/default.nix
index fada1835bfb17..607ecf23c3622 100644
--- a/pkgs/applications/blockchains/mycrypto/default.nix
+++ b/pkgs/applications/blockchains/mycrypto/default.nix
@@ -5,7 +5,6 @@ let
   pname = "MyCrypto";
   version = "1.7.17";
   sha256 = "20eb48989b5ae5e60e438eff6830ac79a0d89ac26dff058097260e747e866444"; # Taken from release's checksums.txt.gpg
-  name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://github.com/mycryptohq/mycrypto/releases/download/${version}/linux-x86-64_${version}_MyCrypto.AppImage";
@@ -13,7 +12,7 @@ let
   };
 
   appimageContents = appimageTools.extractType2 {
-    inherit name src;
+    inherit pname version src;
   };
 
   desktopItem = makeDesktopItem {
@@ -26,14 +25,12 @@ let
   };
 
 in appimageTools.wrapType2 rec {
-  inherit name src;
+  inherit pname version src;
 
   multiArch = false; # no p32bit needed
   extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs;
 
   extraInstallCommands = ''
-    mv $out/bin/{${name},${pname}}
-
     mkdir -p $out/share
     cp -rt $out/share ${desktopItem}/share/applications ${appimageContents}/usr/share/icons
     chmod -R +w $out/share
diff --git a/pkgs/applications/blockchains/optimism/default.nix b/pkgs/applications/blockchains/optimism/default.nix
index 7e368b3e686a7..fcd5245d095d4 100644
--- a/pkgs/applications/blockchains/optimism/default.nix
+++ b/pkgs/applications/blockchains/optimism/default.nix
@@ -6,19 +6,19 @@
 
 buildGoModule rec {
   pname = "optimism";
-  version = "1.7.3";
+  version = "1.7.4";
 
   src = fetchFromGitHub {
     owner = "ethereum-optimism";
     repo = "optimism";
     rev = "op-node/v${version}";
-    hash = "sha256-KKCVjGBQeO5K6wq3GV3f7qaGY1uXNPI27w4DEC31pzU=";
+    hash = "sha256-220fnMJDgvdGJtN0XkKtqNP94KfbmN5qhghfjHJaAxQ=";
     fetchSubmodules = true;
   };
 
   subPackages = [ "op-node/cmd" "op-proposer/cmd" "op-batcher/cmd" ];
 
-  vendorHash = "sha256-pQhNXOYohBoV5QsBnNpNjFg+Vvk5jK1zvSKkolp4yiQ=";
+  vendorHash = "sha256-yG910xpk2MHCD2LHh7aD09KMCux1X252fOHCsyUc/ks=";
 
   buildInputs = [
     libpcap
diff --git a/pkgs/applications/blockchains/polkadot/default.nix b/pkgs/applications/blockchains/polkadot/default.nix
index 770b4a29543e9..fe54ddacc3113 100644
--- a/pkgs/applications/blockchains/polkadot/default.nix
+++ b/pkgs/applications/blockchains/polkadot/default.nix
@@ -1,7 +1,7 @@
 { fetchFromGitHub
 , lib
 , protobuf
-, rocksdb
+, rocksdb_8_3
 , rust-jemalloc-sys-unprefixed
 , rustPlatform
 , rustc
@@ -9,6 +9,10 @@
 , Security
 , SystemConfiguration
 }:
+
+let
+  rocksdb = rocksdb_8_3;
+in
 rustPlatform.buildRustPackage rec {
   pname = "polkadot";
   version = "1.10.0";
diff --git a/pkgs/applications/blockchains/solana-validator/default.nix b/pkgs/applications/blockchains/solana-validator/default.nix
index 56f38c49b12a3..caaae11fd88f1 100644
--- a/pkgs/applications/blockchains/solana-validator/default.nix
+++ b/pkgs/applications/blockchains/solana-validator/default.nix
@@ -13,7 +13,7 @@
 , openssl
 , libclang
 , libcxx
-, rocksdb
+, rocksdb_8_3
 , rustfmt
 , perl
 , hidapi
@@ -46,6 +46,7 @@ let
   pinData = lib.importJSON ./pin.json;
   version = pinData.version;
   hash = pinData.hash;
+  rocksdb = rocksdb_8_3;
   inherit (darwin.apple_sdk_11_0) Libsystem;
   inherit (darwin.apple_sdk_11_0.frameworks) System IOKit AppKit Security;
 in
diff --git a/pkgs/applications/blockchains/terra-station/default.nix b/pkgs/applications/blockchains/terra-station/default.nix
index 5c4a7cc8b3549..54ecd28550c2b 100644
--- a/pkgs/applications/blockchains/terra-station/default.nix
+++ b/pkgs/applications/blockchains/terra-station/default.nix
@@ -5,6 +5,7 @@
 , bash
 , makeWrapper
 , electron
+, asar
 }:
 
 let
@@ -31,7 +32,7 @@ stdenv.mkDerivation rec {
     inherit sha256;
   };
 
-  nativeBuildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper asar ];
 
   dontConfigure = true;
   dontBuild = true;
@@ -48,6 +49,13 @@ stdenv.mkDerivation rec {
     cp -a usr/share/* $out/share
     cp -a "opt/Terra Station/"{locales,resources} $out/share/${pname}
 
+    # patch pre-built node modules
+    asar e $out/share/${pname}/resources/app.asar asar-unpacked
+    find asar-unpacked -name '*.node' -exec patchelf \
+      --add-rpath "${lib.makeLibraryPath [ stdenv.cc.cc.lib ]}" \
+      {} \;
+    asar p asar-unpacked $out/share/${pname}/resources/app.asar
+
     substituteInPlace $out/share/applications/station-electron.desktop \
       --replace "/opt/Terra Station/station-electron" ${pname}
 
diff --git a/pkgs/applications/blockchains/wasabibackend/default.nix b/pkgs/applications/blockchains/wasabibackend/default.nix
index 79355f3979dca..1371be1a97520 100644
--- a/pkgs/applications/blockchains/wasabibackend/default.nix
+++ b/pkgs/applications/blockchains/wasabibackend/default.nix
@@ -4,7 +4,6 @@
   fetchFromGitHub,
   buildDotnetModule,
   dotnetCorePackages,
-  autoPatchelfHook,
   zlib,
   openssl,
 }:
@@ -25,7 +24,6 @@ buildDotnetModule rec {
   dotnet-sdk = dotnetCorePackages.sdk_7_0;
   dotnet-runtime = dotnetCorePackages.aspnetcore_7_0;
 
-  nativeBuildInputs = [autoPatchelfHook];
   buildInputs = [stdenv.cc.cc.lib zlib];
 
   runtimeDeps = [openssl zlib];
diff --git a/pkgs/applications/blockchains/wasabiwallet/default.nix b/pkgs/applications/blockchains/wasabiwallet/default.nix
index fd2b0d2453334..81d8a5dac203f 100644
--- a/pkgs/applications/blockchains/wasabiwallet/default.nix
+++ b/pkgs/applications/blockchains/wasabiwallet/default.nix
@@ -25,11 +25,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "wasabiwallet";
-  version = "2.0.6";
+  version = "2.0.7.1";
 
   src = fetchurl {
     url = "https://github.com/zkSNACKs/WalletWasabi/releases/download/v${version}/Wasabi-${version}.tar.gz";
-    sha256 = "sha256-VxtQZFsiUEeCMEWkdnmE9xXFoa7fWfOWC2UxnZZAia0=";
+    sha256 = "sha256-u/QDdGLdD5+8j3r8pZQwcG3iTToFJEvzzV7Rl4ggvtM=";
   };
 
   dontBuild = true;
diff --git a/pkgs/applications/blockchains/zecwallet-lite/default.nix b/pkgs/applications/blockchains/zecwallet-lite/default.nix
index 27004722c38e2..2b51f76ffcca9 100644
--- a/pkgs/applications/blockchains/zecwallet-lite/default.nix
+++ b/pkgs/applications/blockchains/zecwallet-lite/default.nix
@@ -12,8 +12,6 @@ appimageTools.wrapType2 rec {
   extraInstallCommands =
     let contents = appimageTools.extract { inherit pname version src; };
     in ''
-      mv $out/bin/${pname}-${version} $out/bin/${pname}
-
       install -m 444 -D ${contents}/zecwallet-lite.desktop -t $out/share/applications
       substituteInPlace $out/share/applications/zecwallet-lite.desktop \
         --replace 'Exec=AppRun' "Exec=$out/bin/zecwallet-lite"
diff --git a/pkgs/applications/editors/android-studio/common.nix b/pkgs/applications/editors/android-studio/common.nix
index 72814c5edda6f..291a280bdf0f2 100644
--- a/pkgs/applications/editors/android-studio/common.nix
+++ b/pkgs/applications/editors/android-studio/common.nix
@@ -245,9 +245,9 @@ in runCommand
       # source-code itself).
       platforms = [ "x86_64-linux" ];
       maintainers = with maintainers; rec {
-        stable = [ alapshin msfjarvis ];
-        beta = [ alapshin msfjarvis ];
-        canary = [ alapshin msfjarvis ];
+        stable = [ alapshin ];
+        beta = [ alapshin ];
+        canary = [ alapshin ];
         dev = canary;
       }."${channel}";
       mainProgram = pname;
diff --git a/pkgs/applications/editors/eclipse/default.nix b/pkgs/applications/editors/eclipse/default.nix
index 732dc7695cc2b..6219ab2b7bd29 100644
--- a/pkgs/applications/editors/eclipse/default.nix
+++ b/pkgs/applications/editors/eclipse/default.nix
@@ -13,11 +13,11 @@
 
 let
   platform_major = "4";
-  platform_minor = "30";
-  year = "2023";
-  month = "12"; #release month
-  buildmonth = "12"; #sometimes differs from release month
-  timestamp = "${year}${buildmonth}010110";
+  platform_minor = "31";
+  year = "2024";
+  month = "03"; #release month
+  buildmonth = "02"; #sometimes differs from release month
+  timestamp = "${year}${buildmonth}290520";
   gtk = gtk3;
   arch = if stdenv.hostPlatform.isx86_64 then
     "x86_64"
@@ -43,8 +43,8 @@ in rec {
       fetchurl {
         url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-cpp-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
         hash = {
-          x86_64 = "sha256-a5GqbghNlyvU/S36NcFSel1GRf/vZp01aaCxAswqyng=";
-          aarch64 = "sha256-w2bzolYBA4bf4kfcPza0LDLViKqXQkbZR07STN94nrY=";
+          x86_64 = "sha256-lZtU/IUNx2tc6TwCFQ5WS7cO/Gui2JpeknnL+Z/mBow=";
+          aarch64 = "sha256-iIUOiFp0uLOzwdqBV1txRhliaE2l1kbhGv1F6h0WO+w=";
         }.${arch};
       };
   };
@@ -58,8 +58,8 @@ in rec {
       fetchurl {
         url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-dsl-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
         hash = {
-          x86_64 = "sha256-U9CMwcDZP1ptnc+C7gTfTOcyppe7r6RtgPp65b3A7Qk=";
-          aarch64 = "sha256-wuh6IZtRPDNJAVcfukFjZfuOVJgfj2zI616YNDnRgWM=";
+          x86_64 = "sha256-gdtDI9A+sUDAFsyqEmXuIkqgd/v1WF+Euj0TSWwjeL4=";
+          aarch64 = "sha256-kYa+8E5KLqHdumBQiIom3eG5rM/9TFZlJyyc7HpySes=";
         }.${arch};
       };
   };
@@ -73,8 +73,8 @@ in rec {
       fetchurl {
         url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-embedcpp-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
         hash = {
-          x86_64 = "sha256-c/dd/3PzTSnrtaa2gNw+crdNu/xA428hYr8YNeBSEyw=";
-          aarch64 = "sha256-tF6o3NpFNxXALf2UA8tLzFhqYe46cI2swvym8vDSxNI=";
+          x86_64 = "sha256-5g4CAX2mu1i6aMqmbgy4R3Npk1IC/W73FrIZAQwgGCc=";
+          aarch64 = "sha256-KcfybNDyGglULKF3HF5v50mBs69FFryCMZ+oBtjBFiw=";
         }.${arch};
       };
   };
@@ -88,8 +88,8 @@ in rec {
       fetchurl {
         url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-modeling-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
         hash = {
-          x86_64 = "sha256-h1d0LTBKBKcYxeLr0QEK7VG3q8cKeHQPaKzoPU6qlkI=";
-          aarch64 = "sha256-nCkNNmL924I8Q6wjAmik7d3K4T4j0/Biyr4d9Y0KfSg=";
+          x86_64 = "sha256-yRJWSEg0TVWpgQBSS+y8/YrjdU3PSvJoruEUwjZcrLc=";
+          aarch64 = "sha256-Czm8nYAkVqS8gaowDp1LrJ31iE32d6klT6JvHekL52c=";
         }.${arch};
       };
   };
@@ -103,8 +103,8 @@ in rec {
       fetchurl {
         url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops${platform_major}/R-${platform_major}.${platform_minor}-${timestamp}/eclipse-platform-${platform_major}.${platform_minor}-linux-gtk-${arch}.tar.gz";
         hash = {
-          x86_64 = "sha256-FbcSbDFyjx2uG0T844cBwAdaBZc2k/c4aogsCVYI7+E=";
-          aarch64 = "sha256-COQipICwcM7+gbpiD/G31bsW+9NDz8wt+HyY6FFkKos=";
+          x86_64 = "sha256-PIvJeITqftd9eHhfbF+R+SQ+MXp4OmM5xi8ZDdUvXaI=";
+          aarch64 = "sha256-C04AICPcb9foEai3Nk4S4zxQ3oUv+i2tckwqDscpx7I=";
         }.${arch};
       };
   };
@@ -135,8 +135,8 @@ in rec {
       fetchurl {
         url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops${platform_major}/R-${platform_major}.${platform_minor}-${timestamp}/eclipse-SDK-${platform_major}.${platform_minor}-linux-gtk-${arch}.tar.gz";
         hash = {
-          x86_64 = "sha256-3UfaIwUpgD+VWB7Ar5by78zldqmrlg9csINkre+m8i0=";
-          aarch64 = "sha256-5wIlnTItwEstUHitlVPIxY7ayvxV4yI/8ID8WQ3mnDI=";
+          x86_64 = "sha256-omsAZSlCvggTjoAPQt0oGqRUZwyt5H2LswGpFt88L+I=";
+          aarch64 = "sha256-wcrYVlL5x+Wve2MAgnEFQ4H3a/gc2y8Fr5TmwHU9p6A=";
         }.${arch};
       };
   };
@@ -150,8 +150,8 @@ in rec {
       fetchurl {
         url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-java-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
         hash = {
-          x86_64 = "sha256-Cf2jrNjakRteGO/W18oneE9EDM3VLyi/lIafgffprUc=";
-          aarch64 = "sha256-j0i1k3fHQ/+P5y6aRKUZM8uBQJOLweDtkjneqlx/kuQ=";
+          x86_64 = "sha256-8WqHFLywYQXtzUGxBVstxGqVU55WHoApZnyZ6ur4XgU=";
+          aarch64 = "sha256-GlD0ykJbwdbzh1K3XQQ79yBhCJQUlmt2v8c2OMYNWp4=";
         }.${arch};
       };
   };
@@ -165,8 +165,8 @@ in rec {
       fetchurl {
         url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-jee-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
         hash = {
-          x86_64 = "sha256-pN+x63J8+GhGmfsdzLknJXWCnvhS8VeLizmyqWM8XUA=";
-          aarch64 = "sha256-QVW2nx5P6mkj4oJ1qHs5D2TZBuBuxayhiJHh0VgAghU=";
+          x86_64 = "sha256-K2uo2VVL6rP9kxicJRLzsJiOFKloLD0vInSon8JsUWg=";
+          aarch64 = "sha256-qeEQTlFeWBag6SLXoatDeviR/NG8EcTi6VyUo9P6STM=";
         }.${arch};
       };
   };
@@ -180,8 +180,8 @@ in rec {
       fetchurl {
         url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-committers-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
         hash = {
-          x86_64 = "sha256-Qj9Omc3+HP3twF0evhkRKE8PH/i4+eGtnkfjUu9+lY4=";
-          aarch64 = "sha256-DqkwHyEbttFBA9HM3GdqxxZNjCiKf6gS7KNQYIUBAGE=";
+          x86_64 = "sha256-Ko4NCU9jbkjAWY7Ky5tPlhXOnzkpY4GjPi6Z0CBmzzc=";
+          aarch64 = "sha256-RBT+xwdQcJh+YgsuCPTWy9MM2y45bhIF9DttPm6Qz+Q=";
         }.${arch};
       };
   };
@@ -195,8 +195,8 @@ in rec {
       fetchurl {
         url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-rcp-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
         hash = {
-          x86_64 = "sha256-zhQU7hSF3KWJ0Q2TRzvGhL76Mxhhh/HS/wT/ahkFHXk=";
-          aarch64 = "sha256-XSqWx1V0XjtuYbZlRcJf7Xu1yL1VazT5Z/BcGkkXzb8=";
+          x86_64 = "sha256-dWwDv8cfUxnU/24ASYLvSTbS3xV5ugG98jYMhAXTfS8=";
+          aarch64 = "sha256-+bAKFZ4u5PvCdC4Ifj5inppWb6C8wh0tar66qryx76o=";
         }.${arch};
       };
   };
diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/acm-terminal/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/acm-terminal/default.nix
index bac7de0fea356..970174f20c9f4 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/acm-terminal/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/acm-terminal/default.nix
@@ -4,21 +4,21 @@
 , acm
 , popon
 , writeText
-, unstableGitUpdater
+, writeScript
 }:
 
 let
-  rev = "0dbbd7f401da1bedd1a9146df6127233d601435b";
+  rev = "1851d8fa2a27d3fd8deeeb29cd21c3002b8351ba";
 in
 melpaBuild {
   pname = "acm-terminal";
-  version = "20230601.1326"; # 13:26 UTC
+  version = "20231206.1141";
 
   src = fetchFromGitHub {
     owner = "twlz0ne";
     repo = "acm-terminal";
     inherit rev;
-    sha256 = "sha256-Opouy9A6z0YUT1zxZq1yHx+r/hwNE93JDwfa1fMWNgc=";
+    sha256 = "sha256-EYhFrOo0j0JSNTdcZCbyM0iLxaymUXi1u6jZy8lTOaY=";
   };
 
   commit = rev;
@@ -32,7 +32,19 @@ melpaBuild {
     (acm-terminal :repo "twlz0ne/acm-terminal" :fetcher github)
   '';
 
-  passthru.updateScript = unstableGitUpdater { };
+  passthru.updateScript = writeScript "update.sh" ''
+    #!/usr/bin/env nix-shell
+    #!nix-shell -i bash -p common-updater-scripts coreutils git gnused
+    set -eu -o pipefail
+    tmpdir="$(mktemp -d)"
+    git clone --depth=1 https://github.com/twlz0ne/acm-terminal.git "$tmpdir"
+    pushd "$tmpdir"
+    commit=$(git show -s --pretty='format:%H')
+    # Based on: https://github.com/melpa/melpa/blob/2d8716906a0c9e18d6c979d8450bf1d15dd785eb/package-build/package-build.el#L523-L533
+    version=$(TZ=UTC git show -s --pretty='format:%cd' --date='format-local:%Y%m%d.%H%M' | sed 's|\.0*|.|')
+    popd
+    update-source-version emacsPackages.acm-terminal $version --rev="$commit"
+  '';
 
   meta = with lib; {
     description = "Patch for LSP bridge acm on Terminal";
diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/ebuild-mode/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/ebuild-mode/default.nix
index 1286c9fc6466d..e714a20cb3794 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/ebuild-mode/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/ebuild-mode/default.nix
@@ -1,21 +1,26 @@
-{ lib, melpaBuild, fetchurl, writeText }:
+{
+  lib,
+  melpaBuild,
+  fetchzip,
+  writeText,
+}:
 
 melpaBuild rec {
   pname = "ebuild-mode";
-  version = "1.67";
+  version = "1.70";
 
-  src = fetchurl {
-    url = "https://dev.gentoo.org/~ulm/emacs/ebuild-mode-${version}.tar.xz";
-    hash = "sha256-5qxHpu1BLtI8LFnL/sAoqmo80zeyElxIdFtAsfMefUE=";
+  src = fetchzip {
+    url = "https://gitweb.gentoo.org/proj/ebuild-mode.git/snapshot/ebuild-mode-${version}.tar.bz2";
+    hash = "sha256-dOm3xJMFLelwcImIwckeQHx1GqV9PB+I45QA9UT1nCM=";
   };
 
   # not used but needs to be set; why?
-  commit = "e7b45096283ac8836f208babddfd1ea1c1d1d1d";
+  commit = "a643f177b58aa8869f2f24814e990320aa4f0f96";
 
   recipe = writeText "recipe" ''
     (ebuild-mode
-      :url "https://anongit.gentoo.org/git/proj/ebuild-mode.git"
-      :fetcher git)
+     :url "https://gitweb.gentoo.org/proj/ebuild-mode.git"
+     :fetcher git)
   '';
 
   meta = {
diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lsp-bridge/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lsp-bridge/default.nix
index b95985dbb6268..d7cab2f707a24 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lsp-bridge/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lsp-bridge/default.nix
@@ -16,7 +16,7 @@
 }:
 
 let
-  rev = "4d18701bdef13f6bdc0ad58d26896dff0548dbab";
+  rev = "977d344e2e930f3680990014f84ca94877d6eebf";
   python = python3.withPackages (ps: with ps; [
     epc
     orjson
@@ -28,13 +28,13 @@ let
 in
 melpaBuild {
   pname = "lsp-bridge";
-  version = "20240423.38";
+  version = "20240424.1125";
 
   src = fetchFromGitHub {
     owner = "manateelazycat";
     repo = "lsp-bridge";
     inherit rev;
-    hash = "sha256-6taxbsu5v/mQBwl0CPt/fsTQpclNhi2alp/xIh5omJA=";
+    hash = "sha256-moG0BaHHN3ySON4aMza43Ub4GKuGV9mGSzC48xoiPl8=";
   };
 
   commit = rev;
diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lspce/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lspce/default.nix
index 34c077da77398..398f366f52100 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lspce/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lspce/default.nix
@@ -22,7 +22,7 @@ let
     homepage = "https://github.com/zbelial/lspce";
     description = "LSP Client for Emacs implemented as a module using rust";
     license = lib.licenses.gpl3Only;
-    maintainers = [ lib.maintainers.marsam ];
+    maintainers = [ ];
     inherit (emacs.meta) platforms;
   };
 
diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/xapian-lite/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/xapian-lite/default.nix
index 67b5a96ee9c0f..0f9da8136214c 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/xapian-lite/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/xapian-lite/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation (finalAttrs: {
   meta = {
     homepage = "https://git.sr.ht/~casouri/xapian-lite";
     description = "A minimal Emacs dynamic module for Xapian";
-    maintainers = [ lib.maintainers.marsam ];
+    maintainers = [ lib.maintainers.kotatsuyaki ];
     license = lib.licenses.gpl3Plus;
     inherit (emacs.meta) platforms;
   };
diff --git a/pkgs/applications/editors/gedit/default.nix b/pkgs/applications/editors/gedit/default.nix
index eb985016b1783..9ec2d3329c1dc 100644
--- a/pkgs/applications/editors/gedit/default.nix
+++ b/pkgs/applications/editors/gedit/default.nix
@@ -9,9 +9,9 @@
 , gtk3
 , gtk-mac-integration
 , glib
-, tepl
 , libgedit-amtk
 , libgedit-gtksourceview
+, libgedit-tepl
 , libpeas
 , libxml2
 , gsettings-desktop-schemas
@@ -30,13 +30,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gedit";
-  version = "46.2";
+  version = "47.0";
 
   outputs = [ "out" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gedit/${lib.versions.major version}/gedit-${version}.tar.xz";
-    sha256 = "wIZkErrRR+us4tKC/8u1oOmjBLIP1VZAvuIcgebVAe8=";
+    sha256 = "+kpZfjTHbUrJFDG1rm4ZHJbGsK8XAuCJmrNRme36G/o=";
   };
 
   patches = [
@@ -65,13 +65,13 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    tepl
     glib
     gsettings-desktop-schemas
     gspell
     gtk3
     libgedit-amtk
     libgedit-gtksourceview
+    libgedit-tepl
     libpeas
   ] ++ lib.optionals stdenv.isDarwin [
     gtk-mac-integration
diff --git a/pkgs/applications/editors/gnome-latex/default.nix b/pkgs/applications/editors/gnome-latex/default.nix
index 8962629c8bdc4..f78407731d264 100644
--- a/pkgs/applications/editors/gnome-latex/default.nix
+++ b/pkgs/applications/editors/gnome-latex/default.nix
@@ -1,6 +1,7 @@
 { stdenv
 , lib
 , fetchurl
+, fetchpatch
 , autoreconfHook
 , gtk-doc
 , vala
@@ -8,10 +9,9 @@
 , wrapGAppsHook
 , gsettings-desktop-schemas
 , gspell
-, libgedit-amtk
 , libgedit-gtksourceview
+, libgedit-tepl
 , libgee
-, tepl
 , gnome
 , glib
 , pkg-config
@@ -29,6 +29,14 @@ stdenv.mkDerivation rec {
     sha256 = "1nVVY5sqFaiuvVTzNTVORP40MxQ648s8ynqOJvgRKto=";
   };
 
+  patches = [
+    # Adapt for Tepl -> libgedit-tepl rename
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/swilmet/gnome-latex/-/commit/41e532c427f43a5eed9081766963d6e29a9975a1.patch";
+      hash = "sha256-gu8o/er4mP92dE5gWg9lGx5JwTHB8ytk3EMNlwlIpq4=";
+    })
+  ];
+
   nativeBuildInputs = [
     pkg-config
     autoreconfHook
@@ -45,11 +53,10 @@ stdenv.mkDerivation rec {
     glib
     gsettings-desktop-schemas
     gspell
-    libgedit-amtk
     libgedit-gtksourceview
+    libgedit-tepl
     libgee
     libxml2
-    tepl
   ];
 
   configureFlags = [
@@ -66,7 +73,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = with lib; {
-    homepage = "https://wiki.gnome.org/Apps/GNOME-LaTeX";
+    homepage = "https://gitlab.gnome.org/swilmet/gnome-latex";
     description = "A LaTeX editor for the GNOME desktop";
     maintainers = with maintainers; [ manveru bobby285271 ];
     license = licenses.gpl3Plus;
diff --git a/pkgs/applications/editors/hexedit/default.nix b/pkgs/applications/editors/hexedit/default.nix
index 7f32835fdc84d..efdfac33f09bc 100644
--- a/pkgs/applications/editors/hexedit/default.nix
+++ b/pkgs/applications/editors/hexedit/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     homepage = "http://rigaux.org/hexedit.html";
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ delroth ];
+    maintainers = with maintainers; [ ];
     mainProgram = "hexedit";
   };
 }
diff --git a/pkgs/applications/editors/jedit/build.xml.patch b/pkgs/applications/editors/jedit/build.xml.patch
deleted file mode 100644
index 2f630f18ab76e..0000000000000
--- a/pkgs/applications/editors/jedit/build.xml.patch
+++ /dev/null
@@ -1,257 +0,0 @@
---- a/build.xml	2015-02-04 08:47:37.000000000 +0100
-+++ b/build.xml	2015-02-17 14:06:42.455283148 +0100
-@@ -43,16 +43,6 @@
- 	<property name="textAreaPackage"
- 		  location="../textarea"/>
- 
--	<!-- Ivy Properties -->
--	<property name="config.ivy.version"
--		  value="2.2.0"/>
--	<property name="ivy.jar.dir"
--		  location="${lib.dir}/ivy"/>
--	<property name="ivy.jar.filename"
--		  value="ivy-${config.ivy.version}.jar"/>
--	<property name="ivy.jar.file"
--		  location="${ivy.jar.dir}/${ivy.jar.filename}"/>
--
- 	<!-- Miscellaneous -->
- 	<property name="jar.filename"
- 		  value="${ant.project.name}.jar"/>
-@@ -90,51 +80,8 @@
- 			  value="true"/>
- 	</target>
- 
--	<target name="check-ivy"
--		depends="init">
--		<available property="ivy.jar.present"
--			   file="${ivy.jar.file}"
--			   type="file"/>
--	</target>
--
--	<target name="download-ivy"
--		depends="init,check-ivy"
--		unless="ivy.jar.present">
--		<mkdir dir="${ivy.jar.dir}"/>
--		<get src="http://repo2.maven.org/maven2/org/apache/ivy/ivy/${config.ivy.version}/ivy-${config.ivy.version}.jar"
--		     dest="${ivy.jar.file}"
--		     usetimestamp="true"/>
--	</target>
--
--	<target name="init-ivy"
--		depends="init,download-ivy"
--		unless="ivy.done">
--		<property name="ivy.retrieve.pattern"
--			  value="${lib.dir}/[conf]/[artifact](-[classifier]).[ext]"/>
--		<taskdef resource="org/apache/ivy/ant/antlib.xml"
--			 classpath="${ivy.jar.file}"
--			 loaderref="ivy.loader"
--			 uri="antlib:org.apache.ivy.ant"/>
--		<ivy:settings file="ivysettings.xml"/>
--	</target>
--
--	<target name="retrieve"
--		description="retrieve the dependencies"
--		depends="init,init-ivy"
--		unless="ivy.done">
--		<ivy:retrieve sync="true"/>
--		<ivy:retrieve pattern="${lib.dir}/ivy/[artifact]-[revision].[ext]"
--			      organisation="org.apache.ivy"
--			      module="ivy"
--			      revision="${config.ivy.version}"
--			      conf="default"
--			      inline="true"/>
--		<property name="ivy.done"
--			  value="true"/>
--	</target>
--
- 	<target name="setup"
--		depends="init,retrieve">
-+		depends="init">
- 		<taskdef resource="net/sf/antcontrib/antlib.xml"
- 			 uri="antlib:net.sf.antcontrib">
- 			<classpath>
-@@ -239,37 +186,6 @@
- 		</javac>
- 	</target>
- 
--	<target name="compile-test"
--		depends="init,retrieve,compile">
--		<mkdir dir="${classes.dir}/test"/>
--		<depend srcDir="${basedir}/test"
--			destDir="${classes.dir}/test"
--			cache="${classes.dir}"/>
--		<dependset>
--			<srcfilelist files="build.xml"/>
--			<srcfilelist files="ivy.xml"/>
--			<targetfileset dir="${classes.dir}/test"/>
--		</dependset>
--		<javac srcdir="test"
--		       destdir="${classes.dir}/test"
--		       debug="true"
--		       debuglevel="${config.build.debuglevel}"
--		       nowarn="${config.build.nowarn}"
--		       deprecation="${config.build.deprecation}"
--		       source="${target.java.version}"
--		       target="${target.java.version}"
--		       compiler="modern"
--		       encoding="UTF-8"
--		       includeAntRuntime="false">
--			<classpath id="classpath.test">
--				<fileset dir="${lib.dir}/test"
--					 includes="*.jar"/>
--				<pathelement location="${classes.dir}/core"/>
--			</classpath>
--			<compilerarg line="${config.build.compilerarg}"/>
--		</javac>
--	</target>
--
- 	<target name="prepare-textArea"
- 		depends="init">
- 		<delete includeemptydirs="true"
-@@ -423,33 +339,8 @@
- 		</javac>
- 	</target>
- 
--	<target name="test"
--		depends="init,retrieve,compile,compile-test"
--		description="run unit tests"
--		unless="skip.tests">
--		<delete dir="${build.dir}/test/raw-reports"/>
--		<mkdir dir="${build.dir}/test/raw-reports"/>
--		<junit printsummary="true"
--		       failureproperty="tests.failed"
--		       enabletestlistenerevents="true">
--			<classpath refid="classpath.test"/>
--			<classpath location="${classes.dir}/test"/>
--			<formatter type="xml"/>
--			<batchtest todir="${build.dir}/test/raw-reports">
--				<fileset dir="test"/>
--			</batchtest>
--		</junit>
--		<mkdir dir="${build.dir}/test/merged-reports"/>
--		<junitreport todir="${build.dir}/test/merged-reports">
--			<fileset dir="${build.dir}/test/raw-reports"/>
--			<report todir="${build.dir}/test/reports"/>
--		</junitreport>
--		<fail message="Unit test(s) failed! See reports at ${build.dir}/test/reports/index.html"
--		      if="tests.failed"/>
--	</target>
--
- 	<target name="build"
--		depends="init,retrieve,setup,compile"
-+		depends="init,setup,compile"
- 		description="build the jEdit JAR-file with full debug-information">
- 		<mkdir dir="${jar.location}"/>
- 		<jar destfile="${jar.location}/${jar.filename}"
-@@ -504,11 +395,10 @@
- 				</copy>
- 			</contrib:then>
- 		</contrib:if>
--		<antcall target="test" />
- 	</target>
- 
- 	<target name="build-exe-launcher"
--		depends="init,retrieve,setup,filter-package-files"
-+		depends="init,setup,filter-package-files"
- 		description="build the EXE launcher">
- 		<contrib:if>
- 			<os family="windows"/>
-@@ -622,7 +512,7 @@
- 	</target>
- 
- 	<target name="unpack-docbook-xsl"
--		depends="init,retrieve">
-+		depends="init">
- 		<unzip src="${lib.dir}/docbook/docbook-xsl-resources.zip"
- 		       dest="${build.dir}/docbook-xsl/"/>
- 	</target>
-@@ -668,7 +558,7 @@
- 	</presetdef>
- 
- 	<target name="generate-doc-faq"
--		depends="init,retrieve,setup,unpack-docbook-xsl">
-+		depends="init,setup,unpack-docbook-xsl">
- 		<dependset.html>
- 			<srcfileset dir="doc/FAQ"/>
- 			<targetfileset dir="${jar.location}/doc/FAQ"/>
-@@ -692,7 +582,7 @@
- 	</target>
- 
- 	<target name="generate-doc-news"
--		depends="init,retrieve,setup,unpack-docbook-xsl">
-+		depends="init,setup,unpack-docbook-xsl">
- 		<dependset.html>
- 			<srcfileset dir="doc/whatsnew"/>
- 			<targetfileset dir="${jar.location}/doc/whatsnew"/>
-@@ -716,7 +606,7 @@
- 	</target>
- 
- 	<target name="generate-doc-users-guide"
--		depends="init,retrieve,setup,unpack-docbook-xsl">
-+		depends="init,setup,unpack-docbook-xsl">
- 		<dependset.html>
- 			<srcfileset dir="doc/users-guide"/>
- 			<targetfileset dir="${jar.location}/doc/users-guide"/>
-@@ -851,7 +741,7 @@
- 	</target>
- 
- 	<target name="generate-pdf-users-guide"
--		depends="init,retrieve,setup,unpack-docbook-xsl">
-+		depends="init,setup,unpack-docbook-xsl">
- 		<fail message="Please set the property &quot;paper.type&quot;"
- 		      unless="paper.type"/>
- 		<contrib:switch value="${paper.type}">
-@@ -1154,7 +1044,7 @@
- 	</target>
- 
- 	<target name="compile-jarbundler"
--		depends="init,retrieve">
-+		depends="init">
- 		<mkdir dir="${classes.dir}/jarbundler"/>
- 		<depend srcDir="${basedir}"
- 			destDir="${classes.dir}/jarbundler"
-@@ -1180,7 +1070,7 @@
- 	</target>
- 
- 	<target name="dist-mac-finish"
--		depends="init,retrieve,setup"
-+		depends="init,setup"
- 		description="finish building the Mac OS X disk image (DMG-file) on Mac OS X">
- 		<fail message="The disk image (DMG-file) for easy distribution on Mac OS X can only be built on Mac OS X currently">
- 			<condition>
-@@ -1295,7 +1185,7 @@
- 	</target>
- 
- 	<target name="dist-mac"
--		depends="init,retrieve,setup,prepare-dist-files"
-+		depends="init,setup,prepare-dist-files"
- 		description="build the Mac OS X disk image (DMG-file)">
- 		<antcall target="compile-jarbundler">
- 			<param name="config.build.debuglevel"
-@@ -1411,7 +1301,7 @@
- 	</target>
- 
- 	<target name="prepare-dist-files"
--		depends="init,retrieve,setup">
-+		depends="init,setup">
- 		<antcall target="build">
- 			<param name="config.build.debuglevel"
- 			       value="lines,source"/>
-@@ -1592,7 +1482,7 @@
- 	</target>
- 
- 	<target name="dist-deb"
--		depends="init,retrieve,setup,prepare-dist-files"
-+		depends="init,setup,prepare-dist-files"
- 		description="build the DEB Package">
- 		<antcall target="compile-ar">
- 			<param name="config.build.debuglevel"
-@@ -1838,7 +1728,7 @@
- 	</target>
- 
- 	<target name="dist-sign-deb-Release"
--		depends="init,retrieve,setup"
-+		depends="init,setup"
- 		description="sign the DEB Release file">
- 		<contrib:if>
- 			<not>
diff --git a/pkgs/applications/editors/jedit/default.nix b/pkgs/applications/editors/jedit/default.nix
index fe9284873551e..8fdf8e7c8de26 100644
--- a/pkgs/applications/editors/jedit/default.nix
+++ b/pkgs/applications/editors/jedit/default.nix
@@ -1,63 +1,118 @@
-{ lib, stdenv, fetchurl, ant, jdk, commonsBsf, commonsLogging, bsh }:
+{
+  lib,
+  stdenv,
+  fetchsvn,
+  ant,
+  jdk,
+  jre,
+  xmlstarlet,
+  makeWrapper,
+  stripJavaArchivesHook,
+}:
 
-let
-  version = "5.2.0";
-  bcpg = fetchurl {
-    url = "mirror://maven/org/bouncycastle/bcpg-jdk16/1.46/bcpg-jdk16-1.46.jar";
-    sha256 = "16xhmwks4l65m5x150nd23y5lyppha9sa5fj65rzhxw66gbli82d";
-  };
-  jsr305 = fetchurl {
-    url = "mirror://maven/com/google/code/findbugs/jsr305/2.0.0/jsr305-2.0.0.jar";
-    sha256 = "0s74pv8qjc42c7q8nbc0c3b1hgx0bmk3b8vbk1z80p4bbgx56zqy";
-  };
-in
-
-stdenv.mkDerivation {
+stdenv.mkDerivation (finalAttrs: {
   pname = "jedit";
-  inherit version;
-  src = fetchurl {
-    url = "mirror://sourceforge/jedit/jedit${version}source.tar.bz2";
-    sha256 = "03wmbh90rl5lsc35d7jwcp9j5qyyzq1nccxf4fal8bmnx8n4si0x";
+  version = "5.6.0-unstable-2023-11-19";
+
+  src = fetchsvn {
+    url = "https://svn.code.sf.net/p/jedit/svn/jEdit/trunk";
+    rev = "25703";
+    hash = "sha256-z1KTZqKl6Dlqayw/3h/JvHQK3kSfio02R8V6aCb4g4Q=";
   };
 
-  buildInputs = [ ant jdk commonsBsf commonsLogging ];
+  ivyDeps = stdenv.mkDerivation {
+    name = "${finalAttrs.pname}-${finalAttrs.version}-ivy-deps";
+    inherit (finalAttrs) src;
+
+    nativeBuildInputs = [
+      ant
+      jdk
+      xmlstarlet
+    ];
 
-  # This patch removes from the build process:
-  #  - the automatic download of dependencies (see configurePhase);
-  #  - the tests
-  patches = [ ./build.xml.patch ];
+    # set defaultCacheDir to something that can exist
+    # this directory won't get copied, but needs to be set properly
+    configurePhase = ''
+      runHook preConfigure
 
-  configurePhase = ''
-    mkdir -p lib/ant-contrib/ lib/scripting lib/compile lib/default-plugins
-    cp ${ant}/lib/ant/lib/ant-contrib-*.jar lib/ant-contrib/
-    cp ${bsh} ${bcpg} lib/scripting/
-    cp ${jsr305} lib/compile/
+      xmlstarlet ed --subnode /ivysettings -t elem -n caches ivysettings.xml \
+          | xmlstarlet ed --insert /ivysettings/caches -t attr -n defaultCacheDir -v "$(pwd)/ivy-cache" \
+          > ivysettings.xml.tmp
+      mv ivysettings.xml.tmp ivysettings.xml
+
+      runHook postConfigure
+    '';
+
+    buildPhase = ''
+      runHook preBuild
+      ant retrieve
+      runHook postBuild
+    '';
+
+    installPhase = ''
+      runHook preInstall
+      mkdir -p $out/lib
+      cp -r lib/* $out/lib
+      runHook postInstall
+    '';
+
+    outputHashMode = "recursive";
+    outputHashAlgo = "sha256";
+    outputHash = "sha256-J5i5IhXlXw84y/4K6Vt84au4eVXVLupmtfscO+y1Fi0=";
+  };
+
+  # ignore a test failing because of the build environment
+  postPatch = ''
+    substituteInPlace test/org/gjt/sp/jedit/MiscUtilitiesTest.java \
+        --replace-fail "public class MiscUtilitiesTest" "@org.junit.Ignore public class MiscUtilitiesTest"
   '';
 
-  buildPhase = "ant build";
+  nativeBuildInputs = [
+    ant
+    jdk
+    makeWrapper
+    stripJavaArchivesHook
+  ];
+
+  buildPhase = ''
+    runHook preBuild
+    ln -s ${finalAttrs.ivyDeps}/lib ./lib
+    ant build -Divy.done=true
+    runHook postBuild
+  '';
 
   installPhase = ''
+    runHook preInstall
+
     mkdir -p $out/share/jEdit
-    cp -r build/jedit.jar doc icons keymaps macros modes startup $out/share/jEdit
-
-    sed -i "s|Icon=.*|Icon=$out/share/jEdit/icons/jedit-icon48.png|g" package-files/linux/deb/jedit.desktop
-    mkdir -p $out/share/applications
-    mv package-files/linux/deb/jedit.desktop $out/share/applications/jedit.desktop
-
-    # specify the correct JAVA_HOME
-    sed -i '1a JAVA_HOME=${jdk}' package-files/linux/jedit
-    sed -i "s|/usr/share/jEdit/@jar.filename@|$out/share/jEdit/jedit.jar|g" package-files/linux/jedit
-    mkdir -p $out/bin
-    cp package-files/linux/jedit $out/bin/jedit
-    chmod +x $out/bin/jedit
+    cp -r build/jedit.jar doc keymaps macros modes startup $out/share/jEdit
+
+    install -Dm644 icons/jedit-icon48.png $out/share/icons/hicolor/48x48/apps/jedit.png
+    install -Dm644 package-files/linux/deb/jedit.desktop -t $out/share/applications
+
+    sed -i $out/share/applications/jedit.desktop \
+        -e "s|Icon=.*|Icon=jedit|g" \
+        -e "s|Exec=.*|Exec=jedit|g"
+
+    install -Dm755 package-files/linux/jedit -t $out/bin
+    substituteInPlace $out/bin/jedit \
+        --replace-fail "/usr/share/jEdit/@jar.filename@" "$out/share/jEdit/jedit.jar"
+
+    wrapProgram $out/bin/jedit --set JAVA_HOME ${jre}
+
+    runHook postInstall
   '';
 
-  meta = with lib; {
-    description = "Mature programmer's text editor (Java based)";
+  meta = {
+    description = "A programmer's text editor written in Java";
     homepage = "http://www.jedit.org";
-    sourceProvenance = with sourceTypes; [ binaryBytecode ];
-    license = licenses.gpl2;
-    platforms = platforms.unix;
-    maintainers = [ ];
+    license = lib.licenses.gpl2Only;
+    mainProgram = "jedit";
+    maintainers = with lib.maintainers; [ tomasajt ];
+    platforms = lib.platforms.unix;
+    sourceProvenance = with lib.sourceTypes; [
+      fromSource
+      binaryBytecode # ivyDeps contains .jar dependencies
+    ];
   };
-}
+})
diff --git a/pkgs/applications/editors/jetbrains/bin/versions.json b/pkgs/applications/editors/jetbrains/bin/versions.json
index c7f7009465cdc..880858ef56b58 100644
--- a/pkgs/applications/editors/jetbrains/bin/versions.json
+++ b/pkgs/applications/editors/jetbrains/bin/versions.json
@@ -3,34 +3,34 @@
     "clion": {
       "update-channel": "CLion RELEASE",
       "url-template": "https://download.jetbrains.com/cpp/CLion-{version}.tar.gz",
-      "version": "2024.1",
-      "sha256": "a753369d74832d15fcf082587291921e8a90be04529c05b8e9d64a3afb24120c",
-      "url": "https://download.jetbrains.com/cpp/CLion-2024.1.tar.gz",
-      "build_number": "241.14494.288"
+      "version": "2024.1.1",
+      "sha256": "299ff2eb9c91282df074c58c0ecf73ecf59c7d077bc309f085229eaa32fbd46d",
+      "url": "https://download.jetbrains.com/cpp/CLion-2024.1.1.tar.gz",
+      "build_number": "241.15989.121"
     },
     "datagrip": {
       "update-channel": "DataGrip RELEASE",
       "url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}.tar.gz",
-      "version": "2024.1.1",
-      "sha256": "05c1f910126b8499d26ab52d333307d3b6df6a3fa06b5e0b1a79ff15caf40e0a",
-      "url": "https://download.jetbrains.com/datagrip/datagrip-2024.1.1.tar.gz",
-      "build_number": "241.14494.283"
+      "version": "2024.1.2",
+      "sha256": "449ca450179bda3a342f92ff0fe44e52b51c11adcda4d2836a215282ffc0fc95",
+      "url": "https://download.jetbrains.com/datagrip/datagrip-2024.1.2.tar.gz",
+      "build_number": "241.15989.49"
     },
     "dataspell": {
       "update-channel": "DataSpell RELEASE",
       "url-template": "https://download.jetbrains.com/python/dataspell-{version}.tar.gz",
-      "version": "2024.1",
-      "sha256": "4f73d514dcbf5dce769e7ee4e0a81a1d8dc970f6553c246e3016963b9f077dca",
-      "url": "https://download.jetbrains.com/python/dataspell-2024.1.tar.gz",
-      "build_number": "241.14494.247"
+      "version": "2024.1.1",
+      "sha256": "0913a4938c7df68796b4d29cf0cf8d836da270aa34239fc7d756138f21e1a895",
+      "url": "https://download.jetbrains.com/python/dataspell-2024.1.1.tar.gz",
+      "build_number": "241.15989.62"
     },
     "gateway": {
       "update-channel": "Gateway RELEASE",
       "url-template": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-{version}.tar.gz",
-      "version": "2024.1",
-      "sha256": "d777e88a3098790e19a93cb14fe4a21c740553958514e2b55fa2ba588f5c2c78",
-      "url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2024.1.tar.gz",
-      "build_number": "241.14494.255"
+      "version": "2024.1.1",
+      "sha256": "2fd861d6fc91815466fc1f3b2bbd2177e55f1ea2c086fa10cf979de773d9cc06",
+      "url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2024.1.1.tar.gz",
+      "build_number": "241.15989.74"
     },
     "goland": {
       "update-channel": "GoLand RELEASE",
@@ -67,10 +67,10 @@
     "phpstorm": {
       "update-channel": "PhpStorm RELEASE",
       "url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}.tar.gz",
-      "version": "2024.1",
-      "sha256": "11c6862954f87b89d081cc0382e54b105d8b0c933dae78fd952cd2a3604889b2",
-      "url": "https://download.jetbrains.com/webide/PhpStorm-2024.1.tar.gz",
-      "build_number": "241.14494.237",
+      "version": "2024.1.1",
+      "sha256": "bb3d10d5ce7419f5123937bcd40f1584fca4b844a2f83b6850fec57cd1f44282",
+      "url": "https://download.jetbrains.com/webide/PhpStorm-2024.1.1.tar.gz",
+      "build_number": "241.15989.102",
       "version-major-minor": "2022.3"
     },
     "pycharm-community": {
@@ -92,76 +92,76 @@
     "rider": {
       "update-channel": "Rider RELEASE",
       "url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}.tar.gz",
-      "version": "2024.1",
-      "sha256": "194096b0b550e1e320fc72aaf0510faeebf8737d05f6e02eecd72efe6f7cd757",
-      "url": "https://download.jetbrains.com/rider/JetBrains.Rider-2024.1.tar.gz",
-      "build_number": "241.14494.307"
+      "version": "2024.1.1",
+      "sha256": "390967705d8e13f39754cbf39a9bec2bb33c6d0f8eeffcdb3d68a5c9ced696ea",
+      "url": "https://download.jetbrains.com/rider/JetBrains.Rider-2024.1.1.tar.gz",
+      "build_number": "241.14494.325"
     },
     "ruby-mine": {
       "update-channel": "RubyMine RELEASE",
       "url-template": "https://download.jetbrains.com/ruby/RubyMine-{version}.tar.gz",
-      "version": "2024.1",
-      "sha256": "4fd9dcf83a1d1f6b7513c18383938bd65b2479fdb39c0421e2237a1e340c3912",
-      "url": "https://download.jetbrains.com/ruby/RubyMine-2024.1.tar.gz",
-      "build_number": "241.14494.234"
+      "version": "2024.1.1",
+      "sha256": "32e324e976c63e6f5897b392469240382baf5ab94c700b7f75c4a575a1f5d1dc",
+      "url": "https://download.jetbrains.com/ruby/RubyMine-2024.1.1.tar.gz",
+      "build_number": "241.15989.113"
     },
     "rust-rover": {
       "update-channel": "RustRover EAP",
       "url-template": "https://download.jetbrains.com/rustrover/RustRover-{version}.tar.gz",
-      "version": "2023.3 EAP",
-      "sha256": "a7176fb06c18ce50f8f901ecde9fa75e968ddf27e3366e70bffd7ad1208fdde9",
-      "url": "https://download.jetbrains.com/rustrover/RustRover-233.15026.24.tar.gz",
-      "build_number": "233.15026.24"
+      "version": "2024.1 EAP",
+      "sha256": "10a904c833990c4621f919a36d31744dd1700dce42ff3addbc909937b6f6329d",
+      "url": "https://download.jetbrains.com/rustrover/RustRover-241.15989.101.tar.gz",
+      "build_number": "241.15989.101"
     },
     "webstorm": {
       "update-channel": "WebStorm RELEASE",
       "url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}.tar.gz",
-      "version": "2024.1",
-      "sha256": "d4c7cb7f1462c2b2bd9042b4714ab9de66c455ab9752c87698dc3902f0d49a2a",
-      "url": "https://download.jetbrains.com/webstorm/WebStorm-2024.1.tar.gz",
-      "build_number": "241.14494.235"
+      "version": "2024.1.2",
+      "sha256": "10110ac54ab7db1ca4560f83fdb921ca6217437dba1ad4ceb1c6cf0887ec5f29",
+      "url": "https://download.jetbrains.com/webstorm/WebStorm-2024.1.2.tar.gz",
+      "build_number": "241.15989.105"
     },
     "writerside": {
       "update-channel": "Writerside EAP",
       "url-template": "https://download.jetbrains.com/writerside/writerside-{version}.tar.gz",
-      "version": "2023.3 EAP",
-      "sha256": "8eae1c965c1b5dae17c580cd3ed9b2a6182a3b54a54f8e6152472815118ae2c2",
-      "url": "https://download.jetbrains.com/writerside/writerside-233.14938.tar.gz",
-      "build_number": "233.14938"
+      "version": "2024.1 EAP",
+      "sha256": "24da41b0eb4ca23652d05ecbccc5d2c792c3d49a964d8b6eb765ccd9cbcc7c3d",
+      "url": "https://download.jetbrains.com/writerside/writerside-241.15989.11.tar.gz",
+      "build_number": "241.15989.11"
     }
   },
   "aarch64-linux": {
     "clion": {
       "update-channel": "CLion RELEASE",
       "url-template": "https://download.jetbrains.com/cpp/CLion-{version}-aarch64.tar.gz",
-      "version": "2024.1",
-      "sha256": "f937b263bd697595427e3e1d04513f9b6a786d56214ce34fe7a038efa2e949cf",
-      "url": "https://download.jetbrains.com/cpp/CLion-2024.1-aarch64.tar.gz",
-      "build_number": "241.14494.288"
+      "version": "2024.1.1",
+      "sha256": "2323f3b64f690b0b099cdcb14ef6b80440abafda1c0113a6b96df9656167e638",
+      "url": "https://download.jetbrains.com/cpp/CLion-2024.1.1-aarch64.tar.gz",
+      "build_number": "241.15989.121"
     },
     "datagrip": {
       "update-channel": "DataGrip RELEASE",
       "url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}-aarch64.tar.gz",
-      "version": "2024.1.1",
-      "sha256": "d269bfe10fb97572e785dce6e387d09f429396db002e12ecb9a44cced915c032",
-      "url": "https://download.jetbrains.com/datagrip/datagrip-2024.1.1-aarch64.tar.gz",
-      "build_number": "241.14494.283"
+      "version": "2024.1.2",
+      "sha256": "98b9a89ba49fa16376dbdec01412893635465a67ee482c80f9c48e10dcf0bead",
+      "url": "https://download.jetbrains.com/datagrip/datagrip-2024.1.2-aarch64.tar.gz",
+      "build_number": "241.15989.49"
     },
     "dataspell": {
       "update-channel": "DataSpell RELEASE",
       "url-template": "https://download.jetbrains.com/python/dataspell-{version}-aarch64.tar.gz",
-      "version": "2024.1",
-      "sha256": "f1adfe94bd6482a4f15db02611afc7487d59c47f8ee120e925feeb23c980cd9f",
-      "url": "https://download.jetbrains.com/python/dataspell-2024.1-aarch64.tar.gz",
-      "build_number": "241.14494.247"
+      "version": "2024.1.1",
+      "sha256": "3ee14b5d19d15ef652c6ca7ff8026d438980de5c28ce0375e8418a32fe8fed62",
+      "url": "https://download.jetbrains.com/python/dataspell-2024.1.1-aarch64.tar.gz",
+      "build_number": "241.15989.62"
     },
     "gateway": {
       "update-channel": "Gateway RELEASE",
       "url-template": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-{version}-aarch64.tar.gz",
-      "version": "2024.1",
-      "sha256": "3b6ffb21148d3327e9a5558c5657c22f7076c6208e8a10836f155d8f0200fb36",
-      "url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2024.1-aarch64.tar.gz",
-      "build_number": "241.14494.255"
+      "version": "2024.1.1",
+      "sha256": "f500422ce9f2c7edb6515b3e7c6336df94000f0c2c454fe207a295489dcf3a0d",
+      "url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2024.1.1-aarch64.tar.gz",
+      "build_number": "241.15989.74"
     },
     "goland": {
       "update-channel": "GoLand RELEASE",
@@ -198,10 +198,10 @@
     "phpstorm": {
       "update-channel": "PhpStorm RELEASE",
       "url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}-aarch64.tar.gz",
-      "version": "2024.1",
-      "sha256": "0c5debd888359b37c9c95176c09a16e94f2412fb88f98b928e64ed2466f88ec1",
-      "url": "https://download.jetbrains.com/webide/PhpStorm-2024.1-aarch64.tar.gz",
-      "build_number": "241.14494.237",
+      "version": "2024.1.1",
+      "sha256": "c1ff0b85679cee8c17ee3ea4b19ccb3278540821c7162354bee900d95cbc52a4",
+      "url": "https://download.jetbrains.com/webide/PhpStorm-2024.1.1-aarch64.tar.gz",
+      "build_number": "241.15989.102",
       "version-major-minor": "2022.3"
     },
     "pycharm-community": {
@@ -223,76 +223,76 @@
     "rider": {
       "update-channel": "Rider RELEASE",
       "url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}-aarch64.tar.gz",
-      "version": "2024.1",
-      "sha256": "e196c8e70d7eb6f56a08df809f5de430bf5e61509abb13de8b301c036c4f446e",
-      "url": "https://download.jetbrains.com/rider/JetBrains.Rider-2024.1-aarch64.tar.gz",
-      "build_number": "241.14494.307"
+      "version": "2024.1.1",
+      "sha256": "9f079193067cf1e4595a5142bb2341187e8730f3551b4583c940f2822d9c5be2",
+      "url": "https://download.jetbrains.com/rider/JetBrains.Rider-2024.1.1-aarch64.tar.gz",
+      "build_number": "241.14494.325"
     },
     "ruby-mine": {
       "update-channel": "RubyMine RELEASE",
       "url-template": "https://download.jetbrains.com/ruby/RubyMine-{version}-aarch64.tar.gz",
-      "version": "2024.1",
-      "sha256": "690f90bd8a974585414e499aa2cb46d68dbc8145906e98d7f3b4ad1f3bf49040",
-      "url": "https://download.jetbrains.com/ruby/RubyMine-2024.1-aarch64.tar.gz",
-      "build_number": "241.14494.234"
+      "version": "2024.1.1",
+      "sha256": "87c7c6f86cc0337311eea595ee0754bcce3f4e88579c1f022abca19037ba7c51",
+      "url": "https://download.jetbrains.com/ruby/RubyMine-2024.1.1-aarch64.tar.gz",
+      "build_number": "241.15989.113"
     },
     "rust-rover": {
       "update-channel": "RustRover EAP",
       "url-template": "https://download.jetbrains.com/rustrover/RustRover-{version}-aarch64.tar.gz",
-      "version": "2023.3 EAP",
-      "sha256": "4e03720aae12b32f91d4ddf4e01cfb454311b8a0b901dcee733d62579aa4cc0c",
-      "url": "https://download.jetbrains.com/rustrover/RustRover-233.15026.24-aarch64.tar.gz",
-      "build_number": "233.15026.24"
+      "version": "2024.1 EAP",
+      "sha256": "6ee90aee367cd9ecc8db99020133e17299113c1e016b3344a4762eb8b954317a",
+      "url": "https://download.jetbrains.com/rustrover/RustRover-241.15989.101-aarch64.tar.gz",
+      "build_number": "241.15989.101"
     },
     "webstorm": {
       "update-channel": "WebStorm RELEASE",
       "url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}-aarch64.tar.gz",
-      "version": "2024.1",
-      "sha256": "6691e4855fd4ecf3da9b63b78a11afc3441fb2139cdc7e7aaa5d78aa92a88c12",
-      "url": "https://download.jetbrains.com/webstorm/WebStorm-2024.1-aarch64.tar.gz",
-      "build_number": "241.14494.235"
+      "version": "2024.1.2",
+      "sha256": "de1443570d2769e5dae11da2c3a8049c438f6f16b598a214ab000a300c148476",
+      "url": "https://download.jetbrains.com/webstorm/WebStorm-2024.1.2-aarch64.tar.gz",
+      "build_number": "241.15989.105"
     },
     "writerside": {
       "update-channel": "Writerside EAP",
       "url-template": "https://download.jetbrains.com/writerside/writerside-{version}-aarch64.tar.gz",
-      "version": "2023.3 EAP",
-      "sha256": "b09dac04217d5d523501bdb1e9026fd17fb6370dff2610502472bbf6a48323d8",
-      "url": "https://download.jetbrains.com/writerside/writerside-233.14938-aarch64.tar.gz",
-      "build_number": "233.14938"
+      "version": "2024.1 EAP",
+      "sha256": "9b72a2422f2cb1f2bb2034ef4eaf130ee7a9062cf99ba53b8df62cc4e1c76c42",
+      "url": "https://download.jetbrains.com/writerside/writerside-241.15989.11-aarch64.tar.gz",
+      "build_number": "241.15989.11"
     }
   },
   "x86_64-darwin": {
     "clion": {
       "update-channel": "CLion RELEASE",
       "url-template": "https://download.jetbrains.com/cpp/CLion-{version}.dmg",
-      "version": "2024.1",
-      "sha256": "373c78ff045a17fdcae44cc9b76b41862d4bee9c8476813e518c7cc1de88b6a1",
-      "url": "https://download.jetbrains.com/cpp/CLion-2024.1.dmg",
-      "build_number": "241.14494.288"
+      "version": "2024.1.1",
+      "sha256": "43a765102080acd6dc1fa5a26e0c5efcc3d2e7a22a0bf054a3b9ba4714a9c43e",
+      "url": "https://download.jetbrains.com/cpp/CLion-2024.1.1.dmg",
+      "build_number": "241.15989.121"
     },
     "datagrip": {
       "update-channel": "DataGrip RELEASE",
       "url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}.dmg",
-      "version": "2024.1.1",
-      "sha256": "232582204a6f810bcbd2387ba2cef824f0f81c3a7e022f7f2bebf643d32f866d",
-      "url": "https://download.jetbrains.com/datagrip/datagrip-2024.1.1.dmg",
-      "build_number": "241.14494.283"
+      "version": "2024.1.2",
+      "sha256": "41a4dabdd2ad97387d806742c41b34e5a1544860c159f5d71c09b00a1e605356",
+      "url": "https://download.jetbrains.com/datagrip/datagrip-2024.1.2.dmg",
+      "build_number": "241.15989.49"
     },
     "dataspell": {
       "update-channel": "DataSpell RELEASE",
       "url-template": "https://download.jetbrains.com/python/dataspell-{version}.dmg",
-      "version": "2024.1",
-      "sha256": "a48036f55ef8301d6f77f726c68d7415c0056ddb4143ca3eed2698306f2c021f",
-      "url": "https://download.jetbrains.com/python/dataspell-2024.1.dmg",
-      "build_number": "241.14494.247"
+      "version": "2024.1.1",
+      "sha256": "dfbe160a8a1676dad81b5d5ca35d8d02258a5684c3a140bbb415edae575a058b",
+      "url": "https://download.jetbrains.com/python/dataspell-2024.1.1.dmg",
+      "build_number": "241.15989.62"
     },
     "gateway": {
       "update-channel": "Gateway RELEASE",
       "url-template": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-{version}.dmg",
-      "version": "2024.1",
-      "sha256": "fb37fe7ba94f151f9613134b232b79f44524c126152f70eeb31421cee89b514d",
-      "url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2024.1.dmg",
-      "build_number": "241.14494.255"
+      "version": "2024.1.1",
+      "sha256": "4513e26abf40f69a6eecd7f52d20a0f20e82a87722d4e8a4bd71718a4cba51b0",
+      "url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2024.1.1.dmg",
+      "build_number": "241.15989.74"
     },
     "goland": {
       "update-channel": "GoLand RELEASE",
@@ -329,10 +329,10 @@
     "phpstorm": {
       "update-channel": "PhpStorm RELEASE",
       "url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}.dmg",
-      "version": "2024.1",
-      "sha256": "75699ce909f07de35a6e89745c652f08afba5096b7930fdc51683989967fcc62",
-      "url": "https://download.jetbrains.com/webide/PhpStorm-2024.1.dmg",
-      "build_number": "241.14494.237",
+      "version": "2024.1.1",
+      "sha256": "0232f3e562698bbacf8c72446fc868d50d2b308ce17b6a0655fe351b46370fa4",
+      "url": "https://download.jetbrains.com/webide/PhpStorm-2024.1.1.dmg",
+      "build_number": "241.15989.102",
       "version-major-minor": "2022.3"
     },
     "pycharm-community": {
@@ -354,76 +354,76 @@
     "rider": {
       "update-channel": "Rider RELEASE",
       "url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}.dmg",
-      "version": "2024.1",
-      "sha256": "12155c779c7f11dd71b3573af266c0221960eaea8a442fda4faaec8ca6eefa95",
-      "url": "https://download.jetbrains.com/rider/JetBrains.Rider-2024.1.dmg",
-      "build_number": "241.14494.307"
+      "version": "2024.1.1",
+      "sha256": "1c6f52b9629f77ca6a2f903fbadaae9dc80237b061dfeb94638d029a43bdf0c5",
+      "url": "https://download.jetbrains.com/rider/JetBrains.Rider-2024.1.1.dmg",
+      "build_number": "241.14494.325"
     },
     "ruby-mine": {
       "update-channel": "RubyMine RELEASE",
       "url-template": "https://download.jetbrains.com/ruby/RubyMine-{version}.dmg",
-      "version": "2024.1",
-      "sha256": "47ff2d04362beb2acb3421780f9c5f3dd5ef02aa2cdd9cef2c64a10c6ce2c062",
-      "url": "https://download.jetbrains.com/ruby/RubyMine-2024.1.dmg",
-      "build_number": "241.14494.234"
+      "version": "2024.1.1",
+      "sha256": "839fe79e93a293a514e8abdaec60ca9a79cddb889fe4fe1287e2b74540a9ec57",
+      "url": "https://download.jetbrains.com/ruby/RubyMine-2024.1.1.dmg",
+      "build_number": "241.15989.113"
     },
     "rust-rover": {
       "update-channel": "RustRover EAP",
       "url-template": "https://download.jetbrains.com/rustrover/RustRover-{version}.dmg",
-      "version": "2023.3 EAP",
-      "sha256": "b59ff55e4ba22df41acc9870f88b7f957f31af179e482ccaa4320b1f1ffff346",
-      "url": "https://download.jetbrains.com/rustrover/RustRover-233.15026.24.dmg",
-      "build_number": "233.15026.24"
+      "version": "2024.1 EAP",
+      "sha256": "c0b5885e7d85cc89d79110b4a56c3a08784c43b03e42686ec91cd4679bf9f469",
+      "url": "https://download.jetbrains.com/rustrover/RustRover-241.15989.101.dmg",
+      "build_number": "241.15989.101"
     },
     "webstorm": {
       "update-channel": "WebStorm RELEASE",
       "url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}.dmg",
-      "version": "2024.1",
-      "sha256": "b3b41e5e8559e36e0bd4121dee61d39a8ba5b5ce8193e7b026c5bc261e973df5",
-      "url": "https://download.jetbrains.com/webstorm/WebStorm-2024.1.dmg",
-      "build_number": "241.14494.235"
+      "version": "2024.1.2",
+      "sha256": "a5b79c530596bcef503847ea38a11263c871a9f8267d2e4fe4ef025c166d144f",
+      "url": "https://download.jetbrains.com/webstorm/WebStorm-2024.1.2.dmg",
+      "build_number": "241.15989.105"
     },
     "writerside": {
       "update-channel": "Writerside EAP",
       "url-template": "https://download.jetbrains.com/writerside/writerside-{version}.dmg",
-      "version": "2023.3 EAP",
-      "sha256": "53c7ad5a8808776b60eb82b3155c6f3a2a0dfad43ba8d9238a0db1752d503b09",
-      "url": "https://download.jetbrains.com/writerside/writerside-233.14938.dmg",
-      "build_number": "233.14938"
+      "version": "2024.1 EAP",
+      "sha256": "36ec40a47989be9ab263f4b9f182fcc5b155f3fd068174e7539adc55f892b230",
+      "url": "https://download.jetbrains.com/writerside/writerside-241.15989.11.dmg",
+      "build_number": "241.15989.11"
     }
   },
   "aarch64-darwin": {
     "clion": {
       "update-channel": "CLion RELEASE",
       "url-template": "https://download.jetbrains.com/cpp/CLion-{version}-aarch64.dmg",
-      "version": "2024.1",
-      "sha256": "b1044fdbf9e3f93aaf8ca8ad2b7bc2eae165f86bc5cae6910f2ad0ee92c198a5",
-      "url": "https://download.jetbrains.com/cpp/CLion-2024.1-aarch64.dmg",
-      "build_number": "241.14494.288"
+      "version": "2024.1.1",
+      "sha256": "08dab457cf1cb07e4489653f22a12e2997dea2b788ab0a5494de40a86b39f104",
+      "url": "https://download.jetbrains.com/cpp/CLion-2024.1.1-aarch64.dmg",
+      "build_number": "241.15989.121"
     },
     "datagrip": {
       "update-channel": "DataGrip RELEASE",
       "url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}-aarch64.dmg",
-      "version": "2024.1.1",
-      "sha256": "c2545df9784fa1f8f9234dd93d1c513ed691c797f26471cb545188ce7f495864",
-      "url": "https://download.jetbrains.com/datagrip/datagrip-2024.1.1-aarch64.dmg",
-      "build_number": "241.14494.283"
+      "version": "2024.1.2",
+      "sha256": "583c32f39918681673028a20cb911a41fc4495cf44c151c0790594042ec9e160",
+      "url": "https://download.jetbrains.com/datagrip/datagrip-2024.1.2-aarch64.dmg",
+      "build_number": "241.15989.49"
     },
     "dataspell": {
       "update-channel": "DataSpell RELEASE",
       "url-template": "https://download.jetbrains.com/python/dataspell-{version}-aarch64.dmg",
-      "version": "2024.1",
-      "sha256": "4a8abf8cf816f98502cf58cd3de07c28d496d4fe20d338cee0ac714196b8a612",
-      "url": "https://download.jetbrains.com/python/dataspell-2024.1-aarch64.dmg",
-      "build_number": "241.14494.247"
+      "version": "2024.1.1",
+      "sha256": "eb345888f6e926439a1142614e10b36123b40fbd876d31060856c7e532b53f64",
+      "url": "https://download.jetbrains.com/python/dataspell-2024.1.1-aarch64.dmg",
+      "build_number": "241.15989.62"
     },
     "gateway": {
       "update-channel": "Gateway RELEASE",
       "url-template": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-{version}-aarch64.dmg",
-      "version": "2024.1",
-      "sha256": "c82392faec283b2a6ab25dd0cbd8c3733ea046799d9d95ba4b5d6086767f7715",
-      "url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2024.1-aarch64.dmg",
-      "build_number": "241.14494.255"
+      "version": "2024.1.1",
+      "sha256": "840eb4ae9d2de9bbe353007798a6337f307f177e907754382ce7bef8be060e01",
+      "url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2024.1.1-aarch64.dmg",
+      "build_number": "241.15989.74"
     },
     "goland": {
       "update-channel": "GoLand RELEASE",
@@ -460,10 +460,10 @@
     "phpstorm": {
       "update-channel": "PhpStorm RELEASE",
       "url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}-aarch64.dmg",
-      "version": "2024.1",
-      "sha256": "02bcb551de99cf070e90b2131b41f0b3e93aa776615bcfba1508e4c4d1bb9378",
-      "url": "https://download.jetbrains.com/webide/PhpStorm-2024.1-aarch64.dmg",
-      "build_number": "241.14494.237",
+      "version": "2024.1.1",
+      "sha256": "b6b2b6181c724c320a491cea013c620f662e3fbc3a2f62718354d9e88c9d210d",
+      "url": "https://download.jetbrains.com/webide/PhpStorm-2024.1.1-aarch64.dmg",
+      "build_number": "241.15989.102",
       "version-major-minor": "2022.3"
     },
     "pycharm-community": {
@@ -485,42 +485,42 @@
     "rider": {
       "update-channel": "Rider RELEASE",
       "url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}-aarch64.dmg",
-      "version": "2024.1",
-      "sha256": "c2e0dadc6c7f924e849e87d1c04aeaa02d6a14d5868294dd36481a70cbd508cb",
-      "url": "https://download.jetbrains.com/rider/JetBrains.Rider-2024.1-aarch64.dmg",
-      "build_number": "241.14494.307"
+      "version": "2024.1.1",
+      "sha256": "d197249cc5cb8fb3ec30f3ed5468dd6d7782e97adb1e48a0509d2415b48f7a1b",
+      "url": "https://download.jetbrains.com/rider/JetBrains.Rider-2024.1.1-aarch64.dmg",
+      "build_number": "241.14494.325"
     },
     "ruby-mine": {
       "update-channel": "RubyMine RELEASE",
       "url-template": "https://download.jetbrains.com/ruby/RubyMine-{version}-aarch64.dmg",
-      "version": "2024.1",
-      "sha256": "7e085580ebc8aadb9342e7362e3078b988e38fe8b5bfe8c4825a1744ad53c33f",
-      "url": "https://download.jetbrains.com/ruby/RubyMine-2024.1-aarch64.dmg",
-      "build_number": "241.14494.234"
+      "version": "2024.1.1",
+      "sha256": "5e6bd929f2b74145aa763ca277ade3c3512342b38a5a21a605c0b319f487b49e",
+      "url": "https://download.jetbrains.com/ruby/RubyMine-2024.1.1-aarch64.dmg",
+      "build_number": "241.15989.113"
     },
     "rust-rover": {
       "update-channel": "RustRover EAP",
       "url-template": "https://download.jetbrains.com/rustrover/RustRover-{version}-aarch64.dmg",
-      "version": "2023.3 EAP",
-      "sha256": "03e7c1e3c029cd72ddc9422cc1dc54ed581356b278127dc8d2b2f9e53d357054",
-      "url": "https://download.jetbrains.com/rustrover/RustRover-233.15026.24-aarch64.dmg",
-      "build_number": "233.15026.24"
+      "version": "2024.1 EAP",
+      "sha256": "1d63faf3d687508b976989768ee44ac3632017d55fce0557591dff2eae37d6a2",
+      "url": "https://download.jetbrains.com/rustrover/RustRover-241.15989.101-aarch64.dmg",
+      "build_number": "241.15989.101"
     },
     "webstorm": {
       "update-channel": "WebStorm RELEASE",
       "url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}-aarch64.dmg",
-      "version": "2024.1",
-      "sha256": "95dd3a397fe063583c5e3ba4fefafdfcad740c18447c1a70c0f03cb004436496",
-      "url": "https://download.jetbrains.com/webstorm/WebStorm-2024.1-aarch64.dmg",
-      "build_number": "241.14494.235"
+      "version": "2024.1.2",
+      "sha256": "b3ce2aabba5bc3afef95d768aa721bb245d2fce0ec8d69d61d011c2b23087d97",
+      "url": "https://download.jetbrains.com/webstorm/WebStorm-2024.1.2-aarch64.dmg",
+      "build_number": "241.15989.105"
     },
     "writerside": {
       "update-channel": "Writerside EAP",
       "url-template": "https://download.jetbrains.com/writerside/writerside-{version}-aarch64.dmg",
-      "version": "2023.3 EAP",
-      "sha256": "2a78fbcabcdd5b7c906d933dd91ac927bde22ae3bba988dad7450184fd90457a",
-      "url": "https://download.jetbrains.com/writerside/writerside-233.14938-aarch64.dmg",
-      "build_number": "233.14938"
+      "version": "2024.1 EAP",
+      "sha256": "624f9f2fb0ed7c7d42484e42c16b9b0ec0c542ad8187d81b11ef1d38576c589d",
+      "url": "https://download.jetbrains.com/writerside/writerside-241.15989.11-aarch64.dmg",
+      "build_number": "241.15989.11"
     }
   }
 }
diff --git a/pkgs/applications/editors/jetbrains/default.nix b/pkgs/applications/editors/jetbrains/default.nix
index a88785e708178..fb57331cc3b46 100644
--- a/pkgs/applications/editors/jetbrains/default.nix
+++ b/pkgs/applications/editors/jetbrains/default.nix
@@ -113,6 +113,17 @@ rec {
       xz
     ];
   }).overrideAttrs (attrs: {
+    postInstall = (attrs.postInstall or "") + lib.optionalString (stdenv.isLinux) ''
+      (
+        cd $out/clion
+
+        for dir in plugins/clion-radler/DotFiles/linux-*; do
+          rm -rf $dir/dotnet
+          ln -s ${dotnet-sdk_7} $dir/dotnet
+        done
+      )
+    '';
+
     postFixup = (attrs.postFixup or "") + lib.optionalString (stdenv.isLinux) ''
       (
         cd $out/clion
diff --git a/pkgs/applications/editors/jetbrains/plugins/plugins.json b/pkgs/applications/editors/jetbrains/plugins/plugins.json
index 02b902bfbcce9..2f2effa5918bd 100644
--- a/pkgs/applications/editors/jetbrains/plugins/plugins.json
+++ b/pkgs/applications/editors/jetbrains/plugins/plugins.json
@@ -18,16 +18,16 @@
       ],
       "builds": {
         "233.13135.979": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
-        "233.15026.24": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
-        "241.14494.234": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
-        "241.14494.235": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
-        "241.14494.237": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
         "241.14494.238": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
         "241.14494.240": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
         "241.14494.241": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
-        "241.14494.283": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
-        "241.14494.288": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
-        "241.14494.307": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip"
+        "241.14494.325": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
+        "241.15989.101": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
+        "241.15989.102": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
+        "241.15989.105": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
+        "241.15989.113": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
+        "241.15989.121": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
+        "241.15989.49": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip"
       },
       "name": "ideavim"
     },
@@ -36,7 +36,7 @@
         "idea-ultimate"
       ],
       "builds": {
-        "241.14494.240": "https://plugins.jetbrains.com/files/631/513581/python-241.14494.240.zip"
+        "241.14494.240": "https://plugins.jetbrains.com/files/631/521307/python-241.14494.314.zip"
       },
       "name": "python"
     },
@@ -58,16 +58,16 @@
       ],
       "builds": {
         "233.13135.979": null,
-        "233.15026.24": null,
-        "241.14494.234": null,
-        "241.14494.235": null,
-        "241.14494.237": null,
         "241.14494.238": null,
         "241.14494.240": null,
         "241.14494.241": null,
-        "241.14494.283": null,
-        "241.14494.288": null,
-        "241.14494.307": null
+        "241.14494.325": null,
+        "241.15989.101": null,
+        "241.15989.102": null,
+        "241.15989.105": null,
+        "241.15989.113": null,
+        "241.15989.121": null,
+        "241.15989.49": null
       },
       "name": "kotlin"
     },
@@ -89,16 +89,16 @@
       ],
       "builds": {
         "233.13135.979": null,
-        "233.15026.24": "https://plugins.jetbrains.com/files/6981/509027/ini-233.15026.15.zip",
-        "241.14494.234": "https://plugins.jetbrains.com/files/6981/513562/ini-241.14494.240.zip",
-        "241.14494.235": "https://plugins.jetbrains.com/files/6981/513562/ini-241.14494.240.zip",
-        "241.14494.237": "https://plugins.jetbrains.com/files/6981/513562/ini-241.14494.240.zip",
         "241.14494.238": "https://plugins.jetbrains.com/files/6981/513562/ini-241.14494.240.zip",
         "241.14494.240": "https://plugins.jetbrains.com/files/6981/513562/ini-241.14494.240.zip",
         "241.14494.241": "https://plugins.jetbrains.com/files/6981/513562/ini-241.14494.240.zip",
-        "241.14494.283": "https://plugins.jetbrains.com/files/6981/513562/ini-241.14494.240.zip",
-        "241.14494.288": "https://plugins.jetbrains.com/files/6981/513562/ini-241.14494.240.zip",
-        "241.14494.307": "https://plugins.jetbrains.com/files/6981/513562/ini-241.14494.240.zip"
+        "241.14494.325": "https://plugins.jetbrains.com/files/6981/513562/ini-241.14494.240.zip",
+        "241.15989.101": "https://plugins.jetbrains.com/files/6981/527916/ini-241.15989.113.zip",
+        "241.15989.102": "https://plugins.jetbrains.com/files/6981/527916/ini-241.15989.113.zip",
+        "241.15989.105": "https://plugins.jetbrains.com/files/6981/527916/ini-241.15989.113.zip",
+        "241.15989.113": "https://plugins.jetbrains.com/files/6981/527916/ini-241.15989.113.zip",
+        "241.15989.121": "https://plugins.jetbrains.com/files/6981/527916/ini-241.15989.113.zip",
+        "241.15989.49": "https://plugins.jetbrains.com/files/6981/527916/ini-241.15989.113.zip"
       },
       "name": "ini"
     },
@@ -108,8 +108,8 @@
         "phpstorm"
       ],
       "builds": {
-        "241.14494.237": "https://plugins.jetbrains.com/files/7219/518876/Symfony_Plugin-2023.1.268.zip",
-        "241.14494.240": "https://plugins.jetbrains.com/files/7219/518876/Symfony_Plugin-2023.1.268.zip"
+        "241.14494.240": "https://plugins.jetbrains.com/files/7219/525744/Symfony_Plugin-2023.1.270.zip",
+        "241.15989.102": "https://plugins.jetbrains.com/files/7219/525744/Symfony_Plugin-2023.1.270.zip"
       },
       "name": "symfony-support"
     },
@@ -119,8 +119,8 @@
         "phpstorm"
       ],
       "builds": {
-        "241.14494.237": "https://plugins.jetbrains.com/files/7320/507957/PHP_Annotations-10.0.0.zip",
-        "241.14494.240": "https://plugins.jetbrains.com/files/7320/507957/PHP_Annotations-10.0.0.zip"
+        "241.14494.240": "https://plugins.jetbrains.com/files/7320/507957/PHP_Annotations-10.0.0.zip",
+        "241.15989.102": "https://plugins.jetbrains.com/files/7320/507957/PHP_Annotations-10.0.0.zip"
       },
       "name": "php-annotations"
     },
@@ -133,11 +133,11 @@
         "rust-rover"
       ],
       "builds": {
-        "233.15026.24": "https://plugins.jetbrains.com/files/7322/502153/python-ce-233.14808.12.zip",
         "241.14494.238": "https://plugins.jetbrains.com/files/7322/513587/python-ce-241.14494.240.zip",
         "241.14494.240": "https://plugins.jetbrains.com/files/7322/513587/python-ce-241.14494.240.zip",
-        "241.14494.283": "https://plugins.jetbrains.com/files/7322/513587/python-ce-241.14494.240.zip",
-        "241.14494.307": "https://plugins.jetbrains.com/files/7322/513587/python-ce-241.14494.240.zip"
+        "241.14494.325": "https://plugins.jetbrains.com/files/7322/513587/python-ce-241.14494.240.zip",
+        "241.15989.101": "https://plugins.jetbrains.com/files/7322/524818/python-ce-241.15989.69.zip",
+        "241.15989.49": "https://plugins.jetbrains.com/files/7322/524818/python-ce-241.15989.69.zip"
       },
       "name": "python-community-edition"
     },
@@ -158,15 +158,15 @@
       ],
       "builds": {
         "233.13135.979": "https://plugins.jetbrains.com/files/8182/466854/intellij-rust-233.15445.zip",
-        "241.14494.234": null,
-        "241.14494.235": null,
-        "241.14494.237": null,
         "241.14494.238": null,
         "241.14494.240": null,
         "241.14494.241": null,
-        "241.14494.283": null,
-        "241.14494.288": null,
-        "241.14494.307": null
+        "241.14494.325": null,
+        "241.15989.102": null,
+        "241.15989.105": null,
+        "241.15989.113": null,
+        "241.15989.121": null,
+        "241.15989.49": null
       },
       "name": "-deprecated-rust"
     },
@@ -187,15 +187,15 @@
       ],
       "builds": {
         "233.13135.979": null,
-        "241.14494.234": null,
-        "241.14494.235": null,
-        "241.14494.237": null,
         "241.14494.238": null,
         "241.14494.240": null,
         "241.14494.241": null,
-        "241.14494.283": null,
-        "241.14494.288": null,
-        "241.14494.307": null
+        "241.14494.325": null,
+        "241.15989.102": null,
+        "241.15989.105": null,
+        "241.15989.113": null,
+        "241.15989.121": null,
+        "241.15989.49": null
       },
       "name": "-deprecated-rust-beta"
     },
@@ -209,10 +209,10 @@
         "ruby-mine"
       ],
       "builds": {
-        "241.14494.234": "https://plugins.jetbrains.com/files/8554/508289/featuresTrainer-241.14494.150.zip",
         "241.14494.238": "https://plugins.jetbrains.com/files/8554/508289/featuresTrainer-241.14494.150.zip",
         "241.14494.240": "https://plugins.jetbrains.com/files/8554/508289/featuresTrainer-241.14494.150.zip",
-        "241.14494.241": "https://plugins.jetbrains.com/files/8554/508289/featuresTrainer-241.14494.150.zip"
+        "241.14494.241": "https://plugins.jetbrains.com/files/8554/508289/featuresTrainer-241.14494.150.zip",
+        "241.15989.113": "https://plugins.jetbrains.com/files/8554/508289/featuresTrainer-241.14494.150.zip"
       },
       "name": "ide-features-trainer"
     },
@@ -234,16 +234,16 @@
       ],
       "builds": {
         "233.13135.979": "https://plugins.jetbrains.com/files/8607/519418/NixIDEA-0.4.0.12.zip",
-        "233.15026.24": "https://plugins.jetbrains.com/files/8607/519418/NixIDEA-0.4.0.12.zip",
-        "241.14494.234": "https://plugins.jetbrains.com/files/8607/519418/NixIDEA-0.4.0.12.zip",
-        "241.14494.235": "https://plugins.jetbrains.com/files/8607/519418/NixIDEA-0.4.0.12.zip",
-        "241.14494.237": "https://plugins.jetbrains.com/files/8607/519418/NixIDEA-0.4.0.12.zip",
         "241.14494.238": "https://plugins.jetbrains.com/files/8607/519418/NixIDEA-0.4.0.12.zip",
         "241.14494.240": "https://plugins.jetbrains.com/files/8607/519418/NixIDEA-0.4.0.12.zip",
         "241.14494.241": "https://plugins.jetbrains.com/files/8607/519418/NixIDEA-0.4.0.12.zip",
-        "241.14494.283": "https://plugins.jetbrains.com/files/8607/519418/NixIDEA-0.4.0.12.zip",
-        "241.14494.288": "https://plugins.jetbrains.com/files/8607/519418/NixIDEA-0.4.0.12.zip",
-        "241.14494.307": "https://plugins.jetbrains.com/files/8607/519418/NixIDEA-0.4.0.12.zip"
+        "241.14494.325": "https://plugins.jetbrains.com/files/8607/519418/NixIDEA-0.4.0.12.zip",
+        "241.15989.101": "https://plugins.jetbrains.com/files/8607/519418/NixIDEA-0.4.0.12.zip",
+        "241.15989.102": "https://plugins.jetbrains.com/files/8607/519418/NixIDEA-0.4.0.12.zip",
+        "241.15989.105": "https://plugins.jetbrains.com/files/8607/519418/NixIDEA-0.4.0.12.zip",
+        "241.15989.113": "https://plugins.jetbrains.com/files/8607/519418/NixIDEA-0.4.0.12.zip",
+        "241.15989.121": "https://plugins.jetbrains.com/files/8607/519418/NixIDEA-0.4.0.12.zip",
+        "241.15989.49": "https://plugins.jetbrains.com/files/8607/519418/NixIDEA-0.4.0.12.zip"
       },
       "name": "nixidea"
     },
@@ -276,16 +276,16 @@
       ],
       "builds": {
         "233.13135.979": "https://plugins.jetbrains.com/files/10037/493012/CSVEditor-3.3.0-233.zip",
-        "233.15026.24": "https://plugins.jetbrains.com/files/10037/493012/CSVEditor-3.3.0-233.zip",
-        "241.14494.234": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
-        "241.14494.235": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
-        "241.14494.237": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
         "241.14494.238": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
         "241.14494.240": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
         "241.14494.241": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
-        "241.14494.283": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
-        "241.14494.288": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
-        "241.14494.307": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip"
+        "241.14494.325": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
+        "241.15989.101": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
+        "241.15989.102": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
+        "241.15989.105": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
+        "241.15989.113": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
+        "241.15989.121": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
+        "241.15989.49": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip"
       },
       "name": "csv-editor"
     },
@@ -307,16 +307,16 @@
       ],
       "builds": {
         "233.13135.979": "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip",
-        "233.15026.24": "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip",
-        "241.14494.234": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
-        "241.14494.235": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
-        "241.14494.237": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
         "241.14494.238": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
         "241.14494.240": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
         "241.14494.241": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
-        "241.14494.283": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
-        "241.14494.288": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
-        "241.14494.307": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip"
+        "241.14494.325": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
+        "241.15989.101": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
+        "241.15989.102": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
+        "241.15989.105": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
+        "241.15989.113": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
+        "241.15989.121": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
+        "241.15989.49": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip"
       },
       "name": "vscode-keymap"
     },
@@ -338,16 +338,16 @@
       ],
       "builds": {
         "233.13135.979": "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip",
-        "233.15026.24": "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip",
-        "241.14494.234": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
-        "241.14494.235": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
-        "241.14494.237": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
         "241.14494.238": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
         "241.14494.240": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
         "241.14494.241": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
-        "241.14494.283": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
-        "241.14494.288": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
-        "241.14494.307": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip"
+        "241.14494.325": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
+        "241.15989.101": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
+        "241.15989.102": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
+        "241.15989.105": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
+        "241.15989.113": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
+        "241.15989.121": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
+        "241.15989.49": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip"
       },
       "name": "eclipse-keymap"
     },
@@ -369,16 +369,16 @@
       ],
       "builds": {
         "233.13135.979": "https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip",
-        "233.15026.24": "https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip",
-        "241.14494.234": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
-        "241.14494.235": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
-        "241.14494.237": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
         "241.14494.238": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
         "241.14494.240": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
         "241.14494.241": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
-        "241.14494.283": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
-        "241.14494.288": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
-        "241.14494.307": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip"
+        "241.14494.325": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
+        "241.15989.101": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
+        "241.15989.102": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
+        "241.15989.105": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
+        "241.15989.113": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
+        "241.15989.121": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
+        "241.15989.49": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip"
       },
       "name": "visual-studio-keymap"
     },
@@ -400,16 +400,16 @@
       ],
       "builds": {
         "233.13135.979": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
-        "233.15026.24": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
-        "241.14494.234": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
-        "241.14494.235": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
-        "241.14494.237": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
         "241.14494.238": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
         "241.14494.240": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
         "241.14494.241": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
-        "241.14494.283": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
-        "241.14494.288": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
-        "241.14494.307": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar"
+        "241.14494.325": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
+        "241.15989.101": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
+        "241.15989.102": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
+        "241.15989.105": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
+        "241.15989.113": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
+        "241.15989.121": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
+        "241.15989.49": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar"
       },
       "name": "darcula-pitch-black"
     },
@@ -431,16 +431,16 @@
       ],
       "builds": {
         "233.13135.979": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip",
-        "233.15026.24": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip",
-        "241.14494.234": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip",
-        "241.14494.235": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip",
-        "241.14494.237": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip",
         "241.14494.238": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip",
         "241.14494.240": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip",
         "241.14494.241": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip",
-        "241.14494.283": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip",
-        "241.14494.288": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip",
-        "241.14494.307": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip"
+        "241.14494.325": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip",
+        "241.15989.101": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip",
+        "241.15989.102": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip",
+        "241.15989.105": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip",
+        "241.15989.113": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip",
+        "241.15989.121": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip",
+        "241.15989.49": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip"
       },
       "name": "github-copilot"
     },
@@ -462,16 +462,16 @@
       ],
       "builds": {
         "233.13135.979": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
-        "233.15026.24": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
-        "241.14494.234": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
-        "241.14494.235": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
-        "241.14494.237": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
         "241.14494.238": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
         "241.14494.240": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
         "241.14494.241": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
-        "241.14494.283": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
-        "241.14494.288": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
-        "241.14494.307": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip"
+        "241.14494.325": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
+        "241.15989.101": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
+        "241.15989.102": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
+        "241.15989.105": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
+        "241.15989.113": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
+        "241.15989.121": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
+        "241.15989.49": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip"
       },
       "name": "netbeans-6-5-keymap"
     },
@@ -482,9 +482,9 @@
         "rust-rover"
       ],
       "builds": {
-        "233.15026.24": "https://plugins.jetbrains.com/files/22407/515371/intellij-rust-233.25026.24.zip",
-        "241.14494.240": "https://plugins.jetbrains.com/files/22407/515370/intellij-rust-241.25026.24.zip",
-        "241.14494.288": "https://plugins.jetbrains.com/files/22407/515370/intellij-rust-241.25026.24.zip"
+        "241.14494.240": "https://plugins.jetbrains.com/files/22407/526873/intellij-rust-241.25989.101.zip",
+        "241.15989.101": "https://plugins.jetbrains.com/files/22407/526873/intellij-rust-241.25989.101.zip",
+        "241.15989.121": "https://plugins.jetbrains.com/files/22407/526873/intellij-rust-241.25989.101.zip"
       },
       "name": "rust"
     }
@@ -502,15 +502,14 @@
     "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip": "sha256-FP6th8J3ymfTrwvJ3Ms7fsNPh3f9ab5ZVg5yPpKV/rY=",
     "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip": "sha256-BaBYXN8eulaJtJSKrz9bZ2Yn8029goSAUvjYU+BaiIU=",
     "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip": "sha256-KrzZTKZMQqoEMw+vDUv2jjs0EX0leaPBkU8H/ecq/oI=",
-    "https://plugins.jetbrains.com/files/22407/515370/intellij-rust-241.25026.24.zip": "sha256-tBPoO2EkPaWFZ/Gu3UAkZPy4opssWJQEVlz9GZUkNtQ=",
-    "https://plugins.jetbrains.com/files/22407/515371/intellij-rust-233.25026.24.zip": "sha256-j4b4To8jY4orP87GpphHPtLKeAPDNXcLNSUlIXDDy2Q=",
-    "https://plugins.jetbrains.com/files/631/513581/python-241.14494.240.zip": "sha256-pQP1LF/6uImQpBOpxUGE8KmmFh26kiC4YaYLAHnEc3o=",
-    "https://plugins.jetbrains.com/files/6981/509027/ini-233.15026.15.zip": "sha256-6sTD+OFO/yA7m5o0XqoJKLcQ4zAFro7Iy7WNPfA49xM=",
+    "https://plugins.jetbrains.com/files/22407/526873/intellij-rust-241.25989.101.zip": "sha256-v1r14zx591Vr8JmQxfysQ/aO8HDYCorwnnOEKDIfx+Y=",
+    "https://plugins.jetbrains.com/files/631/521307/python-241.14494.314.zip": "sha256-LFPN3bURT4gauDdoOgs+Rnq90RZ68/mrpw7/hfsq7VI=",
     "https://plugins.jetbrains.com/files/6981/513562/ini-241.14494.240.zip": "sha256-QC42nC7mEE3X1cmKj8jkwzpDJzX7ZoOPEd9y6i8IuvM=",
-    "https://plugins.jetbrains.com/files/7219/518876/Symfony_Plugin-2023.1.268.zip": "sha256-mYEuFdSaxw9Lc8yNgPB0ty6mfxjKaAa/jY6v4E2Qo0Q=",
+    "https://plugins.jetbrains.com/files/6981/527916/ini-241.15989.113.zip": "sha256-JgFoDqeMxdg3E9ZWHVsJGSygKAifFCEa9S+RdLFkLBI=",
+    "https://plugins.jetbrains.com/files/7219/525744/Symfony_Plugin-2023.1.270.zip": "sha256-JSMTavSX9dzcOjbeuI7HBThtztwkyUqGOtCXNbCsfio=",
     "https://plugins.jetbrains.com/files/7320/507957/PHP_Annotations-10.0.0.zip": "sha256-JIZ6Iq3sOcAm8fBXnjRrG9dqCZuD/WajyVmn1JjYMBA=",
-    "https://plugins.jetbrains.com/files/7322/502153/python-ce-233.14808.12.zip": "sha256-PUBR9krJ26QrL2jTus0b+uhzkEkT+lGnBKy1f4i/U+w=",
     "https://plugins.jetbrains.com/files/7322/513587/python-ce-241.14494.240.zip": "sha256-6YC/aoiTRLAh87C2v3k24BLBH/tsdTWuDK/CBv8y1QI=",
+    "https://plugins.jetbrains.com/files/7322/524818/python-ce-241.15989.69.zip": "sha256-RG4pXcX8KpN1es6qvuU/YL+2LUuOCyzkxy09tJ/XAIE=",
     "https://plugins.jetbrains.com/files/8182/466854/intellij-rust-233.15445.zip": "sha256-+Lc/avYBLpyIV63DlbhAJtieHDv4HdggqdGFDw9iqN0=",
     "https://plugins.jetbrains.com/files/8554/508289/featuresTrainer-241.14494.150.zip": "sha256-D2gF9bLAEFd1+6vZskiM2Eyl5e8hmyh/VHrmW2NociE=",
     "https://plugins.jetbrains.com/files/8607/519418/NixIDEA-0.4.0.12.zip": "sha256-D2HFG2tQy719+baHjUyizoq67tv6lDZrX3s6HDlBRA0=",
diff --git a/pkgs/applications/editors/kile/default.nix b/pkgs/applications/editors/kile/default.nix
index 0e1326f50c492..b6c5345debf6e 100644
--- a/pkgs/applications/editors/kile/default.nix
+++ b/pkgs/applications/editors/kile/default.nix
@@ -1,68 +1,47 @@
-{ mkDerivation
-, lib
+{ lib
+, stdenv
 , fetchurl
-, extra-cmake-modules
-, kdoctools
-, wrapGAppsHook
-, qtscript
-, kconfig
-, kcrash
-, kdbusaddons
-, kdelibs4support
-, kguiaddons
-, kiconthemes
-, kinit
-, khtml
-, konsole
-, kparts
-, ktexteditor
-, kwindowsystem
-, okular
-, poppler
+, cmake
+, kdePackages
+, qt6
 }:
 
-mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "kile";
-  version = "2.9.93";
+  version = "2.9.94";
 
   src = fetchurl {
     url = "mirror://sourceforge/kile/kile-${version}.tar.bz2";
-    sha256 = "BEmSEv/LJPs6aCkUmnyuTGrV15WYXwgIANbfcviMXfA=";
+    sha256 = "U8Z0K9g/sJXL3ImLA/344Vq2gKgWk8yvnFB2uTrRo8o=";
   };
 
   nativeBuildInputs = [
-    extra-cmake-modules
-    wrapGAppsHook
-    kdoctools
+    cmake
+    kdePackages.extra-cmake-modules
+    qt6.wrapQtAppsHook
+    kdePackages.kdoctools
   ];
 
   buildInputs = [
-    kconfig
-    kcrash
-    kdbusaddons
-    kdelibs4support
-    kguiaddons
-    kiconthemes
-    kinit
-    khtml
-    kparts
-    ktexteditor
-    kwindowsystem
-    okular
-    poppler
-    qtscript
+    qt6.qtbase
+    qt6.qtdeclarative
+    qt6.qt5compat
+    kdePackages.kconfig
+    kdePackages.kcrash
+    kdePackages.kdbusaddons
+    kdePackages.kguiaddons
+    kdePackages.kiconthemes
+    kdePackages.konsole
+    kdePackages.kparts
+    kdePackages.ktexteditor
+    kdePackages.kwindowsystem
+    kdePackages.okular
+    kdePackages.poppler
   ];
-  dontWrapGApps = true;
-  preFixup = ''
-    makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
-  '';
-
-  propagatedUserEnvPkgs = [ konsole ];
 
   meta = {
     description = "User-friendly TeX/LaTeX authoring tool for the KDE desktop environment";
     homepage = "https://www.kde.org/applications/office/kile/";
-    maintainers = with lib.maintainers; [ fridh ];
     license = lib.licenses.gpl2Plus;
     mainProgram = "kile";
   };
diff --git a/pkgs/applications/editors/lapce/Cargo.lock b/pkgs/applications/editors/lapce/Cargo.lock
index 206fef049c629..4937cc7d645fb 100644
--- a/pkgs/applications/editors/lapce/Cargo.lock
+++ b/pkgs/applications/editors/lapce/Cargo.lock
@@ -45,25 +45,15 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
 
 [[package]]
 name = "ahash"
-version = "0.7.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47"
-dependencies = [
- "getrandom",
- "once_cell",
- "version_check",
-]
-
-[[package]]
-name = "ahash"
-version = "0.8.3"
+version = "0.8.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f"
+checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"
 dependencies = [
  "cfg-if",
  "getrandom",
  "once_cell",
  "version_check",
+ "zerocopy",
 ]
 
 [[package]]
@@ -85,47 +75,24 @@ dependencies = [
 ]
 
 [[package]]
-name = "alacritty_config"
-version = "0.1.2-dev"
-source = "git+https://github.com/alacritty/alacritty?rev=6071a7bf35cfd99be8ba70f479f188b7370cda6f#6071a7bf35cfd99be8ba70f479f188b7370cda6f"
-dependencies = [
- "log",
- "serde",
- "toml 0.8.2",
-]
-
-[[package]]
-name = "alacritty_config_derive"
-version = "0.2.2-dev"
-source = "git+https://github.com/alacritty/alacritty?rev=6071a7bf35cfd99be8ba70f479f188b7370cda6f#6071a7bf35cfd99be8ba70f479f188b7370cda6f"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.38",
-]
-
-[[package]]
 name = "alacritty_terminal"
-version = "0.20.0-dev"
-source = "git+https://github.com/alacritty/alacritty?rev=6071a7bf35cfd99be8ba70f479f188b7370cda6f#6071a7bf35cfd99be8ba70f479f188b7370cda6f"
+version = "0.23.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f6d1ea4484c8676f295307a4892d478c70ac8da1dbd8c7c10830a504b7f1022f"
 dependencies = [
- "alacritty_config",
- "alacritty_config_derive",
- "base64",
- "bitflags 2.4.0",
+ "base64 0.22.0",
+ "bitflags 2.5.0",
  "home",
  "libc",
  "log",
  "miow",
- "parking_lot 0.12.1",
+ "parking_lot",
  "piper",
- "polling 3.2.0",
- "regex-automata 0.3.9",
+ "polling",
+ "regex-automata",
  "rustix-openpty",
  "serde",
- "serde_yaml",
  "signal-hook",
- "toml 0.8.2",
  "unicode-width",
  "vte",
  "windows-sys 0.48.0",
@@ -138,6 +105,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd"
 
 [[package]]
+name = "allocator-api2"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5"
+
+[[package]]
 name = "ambient-authority"
 version = "0.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -150,7 +123,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "052ad56e336bcc615a214bffbeca6c181ee9550acec193f0327e0b103b033a4d"
 dependencies = [
  "android-properties",
- "bitflags 2.4.0",
+ "bitflags 2.5.0",
  "cc",
  "cesu8",
  "jni",
@@ -171,6 +144,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04"
 
 [[package]]
+name = "android-tzdata"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
+
+[[package]]
 name = "android_system_properties"
 version = "0.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -180,6 +159,18 @@ dependencies = [
 ]
 
 [[package]]
+name = "anes"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299"
+
+[[package]]
+name = "anstyle"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc"
+
+[[package]]
 name = "anyhow"
 version = "1.0.69"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -221,20 +212,20 @@ version = "0.37.3+1.3.251"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "39e9c3835d686b0a6084ab4234fcd1b07dbf6e4767dce60874b12356a25ecd4a"
 dependencies = [
- "libloading 0.7.3",
+ "libloading 0.7.4",
 ]
 
 [[package]]
 name = "ashpd"
-version = "0.4.0"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31688b40eb5d739049f721d8405c33d3796b3f51f2bea84421a542dafe397e41"
+checksum = "1b22517ee647547c01a687cf9b76074e1c91334032a4324f7243c6ee0f949390"
 dependencies = [
- "async-std",
+ "async-fs",
+ "async-net",
  "enumflags2",
  "futures-channel",
  "futures-util",
- "once_cell",
  "rand",
  "serde",
  "serde_repr",
@@ -244,73 +235,71 @@ dependencies = [
 
 [[package]]
 name = "async-broadcast"
-version = "0.4.1"
+version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d26004fe83b2d1cd3a97609b21e39f9a31535822210fe83205d2ce48866ea61"
+checksum = "258b52a1aa741b9f09783b2d86cf0aeeb617bbf847f6933340a39644227acbdb"
 dependencies = [
- "event-listener",
+ "event-listener 5.2.0",
+ "event-listener-strategy 0.5.0",
  "futures-core",
- "parking_lot 0.12.1",
+ "pin-project-lite",
 ]
 
 [[package]]
 name = "async-channel"
-version = "1.7.1"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e14485364214912d3b19cc3435dde4df66065127f05fa0d75c712f36f12c2f28"
+checksum = "f28243a43d821d11341ab73c80bed182dc015c514b951616cf79bd4af39af0c3"
 dependencies = [
- "concurrent-queue 1.2.4",
- "event-listener",
+ "concurrent-queue",
+ "event-listener 5.2.0",
+ "event-listener-strategy 0.5.0",
  "futures-core",
+ "pin-project-lite",
 ]
 
 [[package]]
 name = "async-executor"
-version = "1.5.1"
+version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6fa3dc5f2a8564f07759c008b9109dc0d39de92a88d5588b8a5036d286383afb"
+checksum = "17ae5ebefcc48e7452b4987947920dac9450be1110cadf34d1b8c116bdbaf97c"
 dependencies = [
- "async-lock",
+ "async-lock 3.3.0",
  "async-task",
- "concurrent-queue 2.2.0",
- "fastrand 1.8.0",
+ "concurrent-queue",
+ "fastrand 2.0.1",
  "futures-lite",
  "slab",
 ]
 
 [[package]]
-name = "async-global-executor"
-version = "2.3.1"
+name = "async-fs"
+version = "2.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1b6f5d7df27bd294849f8eec66ecfc63d11814df7a4f5d74168a2394467b776"
+checksum = "bc19683171f287921f2405677dd2ed2549c3b3bda697a563ebc3a121ace2aba1"
 dependencies = [
- "async-channel",
- "async-executor",
- "async-io",
- "async-lock",
+ "async-lock 3.3.0",
  "blocking",
  "futures-lite",
- "once_cell",
 ]
 
 [[package]]
 name = "async-io"
-version = "1.13.0"
+version = "2.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af"
+checksum = "8f97ab0c5b00a7cdbe5a371b9a782ee7be1316095885c8a4ea1daf490eb0ef65"
 dependencies = [
- "async-lock",
- "autocfg",
+ "async-lock 3.3.0",
  "cfg-if",
- "concurrent-queue 2.2.0",
+ "concurrent-queue",
+ "futures-io",
  "futures-lite",
- "log",
  "parking",
- "polling 2.8.0",
- "rustix 0.37.23",
+ "polling",
+ "rustix",
  "slab",
- "socket2 0.4.7",
- "waker-fn",
+ "tracing 0.1.37",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -319,51 +308,83 @@ version = "2.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b"
 dependencies = [
- "event-listener",
+ "event-listener 2.5.3",
+]
+
+[[package]]
+name = "async-lock"
+version = "3.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b"
+dependencies = [
+ "event-listener 4.0.3",
+ "event-listener-strategy 0.4.0",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "async-net"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b948000fad4873c1c9339d60f2623323a0cfd3816e5181033c6a5cb68b2accf7"
+dependencies = [
+ "async-io",
+ "blocking",
+ "futures-lite",
+]
+
+[[package]]
+name = "async-process"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "451e3cf68011bd56771c79db04a9e333095ab6349f7e47592b788e9b98720cc8"
+dependencies = [
+ "async-channel",
+ "async-io",
+ "async-lock 3.3.0",
+ "async-signal",
+ "blocking",
+ "cfg-if",
+ "event-listener 5.2.0",
+ "futures-lite",
+ "rustix",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "async-recursion"
-version = "0.3.2"
+version = "1.0.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d7d78656ba01f1b93024b7c3a0467f1608e4be67d725749fdcd7d2c7678fd7a2"
+checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 1.0.101",
+ "syn 2.0.57",
 ]
 
 [[package]]
-name = "async-std"
-version = "1.12.0"
+name = "async-signal"
+version = "0.2.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62565bb4402e926b29953c785397c6dc0391b7b446e45008b0049eb43cec6f5d"
+checksum = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5"
 dependencies = [
- "async-channel",
- "async-global-executor",
  "async-io",
- "async-lock",
- "crossbeam-utils",
- "futures-channel",
+ "async-lock 2.8.0",
+ "atomic-waker",
+ "cfg-if",
  "futures-core",
  "futures-io",
- "futures-lite",
- "gloo-timers",
- "kv-log-macro",
- "log",
- "memchr",
- "once_cell",
- "pin-project-lite",
- "pin-utils",
+ "rustix",
+ "signal-hook-registry",
  "slab",
- "wasm-bindgen-futures",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "async-task"
-version = "4.3.0"
+version = "4.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a40729d2133846d9ed0ea60a8b9541bccddab49cd30f0715a1da672fe9a2524"
+checksum = "fbb36e985947064623dbd357f727af08ffd077f93d696782f3c56365fa2e2799"
 
 [[package]]
 name = "async-trait"
@@ -373,7 +394,7 @@ checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.57",
 ]
 
 [[package]]
@@ -389,17 +410,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
 
 [[package]]
-name = "atty"
-version = "0.2.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
-dependencies = [
- "hermit-abi 0.1.19",
- "libc",
- "winapi",
-]
-
-[[package]]
 name = "autocfg"
 version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -407,24 +417,30 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
 
 [[package]]
 name = "backtrace"
-version = "0.3.69"
+version = "0.3.71"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837"
+checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d"
 dependencies = [
  "addr2line",
  "cc",
  "cfg-if",
  "libc",
- "miniz_oxide 0.7.1",
+ "miniz_oxide",
  "object",
  "rustc-demangle",
 ]
 
 [[package]]
 name = "base64"
-version = "0.21.5"
+version = "0.21.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
+
+[[package]]
+name = "base64"
+version = "0.22.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9"
+checksum = "9475866fec1451be56a3c2400fd081ff546538961565ccb5b7142cbd22bc7a51"
 
 [[package]]
 name = "bincode"
@@ -451,12 +467,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb"
 
 [[package]]
-name = "bit_field"
-version = "0.10.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc827186963e592360843fb5ba4b973e145841266c1357f7180c43526f2e5b61"
-
-[[package]]
 name = "bitflags"
 version = "1.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -464,9 +474,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
 name = "bitflags"
-version = "2.4.0"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635"
+checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1"
 dependencies = [
  "serde",
 ]
@@ -516,34 +526,36 @@ dependencies = [
 
 [[package]]
 name = "blocking"
-version = "1.2.0"
+version = "1.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c6ccb65d468978a086b69884437ded69a90faab3bbe6e67f242173ea728acccc"
+checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118"
 dependencies = [
  "async-channel",
+ "async-lock 3.3.0",
  "async-task",
- "atomic-waker",
- "fastrand 1.8.0",
+ "fastrand 2.0.1",
+ "futures-io",
  "futures-lite",
- "once_cell",
+ "piper",
+ "tracing 0.1.37",
 ]
 
 [[package]]
 name = "bstr"
-version = "0.2.17"
+version = "1.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223"
+checksum = "c79ad7fb2dd38f3dabd76b09c6a5a20c038fc0213ef1e9afd30eb777f120f019"
 dependencies = [
- "lazy_static",
  "memchr",
- "regex-automata 0.1.10",
+ "regex-automata",
+ "serde",
 ]
 
 [[package]]
 name = "bumpalo"
-version = "3.11.0"
+version = "3.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1ad822118d20d2c234f427000d5acc36eabe1e29a348c89b63dd60b13f28e5d"
+checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
 
 [[package]]
 name = "bytecount"
@@ -553,9 +565,9 @@ checksum = "2c676a478f63e9fa2dd5368a42f28bba0d6c560b775f38583c8bbaa7fcd67c9c"
 
 [[package]]
 name = "bytemuck"
-version = "1.14.0"
+version = "1.14.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6"
+checksum = "a2ef034f05691a48569bd920a96c81b9d91bbad1ab5ac7c4616c1f6ef36cb79f"
 dependencies = [
  "bytemuck_derive",
 ]
@@ -568,7 +580,7 @@ checksum = "965ab7eb5f8f97d2a083c799f3a1b994fc397b2fe2da5d1da1626ce15a39f2b1"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.57",
 ]
 
 [[package]]
@@ -584,21 +596,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
 
 [[package]]
-name = "cache-padded"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1db59621ec70f09c5e9b597b220c7a2b43611f4710dc03ceb8748637775692c"
-
-[[package]]
 name = "calloop"
 version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7b50b5a44d59a98c55a9eeb518f39bf7499ba19fd98ee7d22618687f3f10adbf"
 dependencies = [
- "bitflags 2.4.0",
+ "bitflags 2.5.0",
  "log",
- "polling 3.2.0",
- "rustix 0.38.20",
+ "polling",
+ "rustix",
  "slab",
  "thiserror",
 ]
@@ -610,9 +616,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0f0ea9b9476c7fad82841a8dbb380e2eae480c21910feba80725b46931ed8f02"
 dependencies = [
  "calloop",
- "rustix 0.38.20",
- "wayland-backend 0.3.2",
- "wayland-client 0.31.1",
+ "rustix",
+ "wayland-backend",
+ "wayland-client",
 ]
 
 [[package]]
@@ -623,7 +629,7 @@ checksum = "b779b2d0a001c125b4584ad586268fb4b92d957bff8d26d7fe0dd78283faa814"
 dependencies = [
  "cap-primitives",
  "cap-std",
- "io-lifetimes 2.0.2",
+ "io-lifetimes",
  "windows-sys 0.48.0",
 ]
 
@@ -635,7 +641,7 @@ checksum = "6ffc30dee200c20b4dcb80572226f42658e1d9c4b668656d7cc59c33d50e396e"
 dependencies = [
  "cap-primitives",
  "cap-std",
- "rustix 0.38.20",
+ "rustix",
  "smallvec",
 ]
 
@@ -648,10 +654,10 @@ dependencies = [
  "ambient-authority",
  "fs-set-times",
  "io-extras",
- "io-lifetimes 2.0.2",
+ "io-lifetimes",
  "ipnet",
  "maybe-owned",
- "rustix 0.38.20",
+ "rustix",
  "windows-sys 0.48.0",
  "winx",
 ]
@@ -674,8 +680,8 @@ checksum = "84bade423fa6403efeebeafe568fdb230e8c590a275fba2ba978dd112efcf6e9"
 dependencies = [
  "cap-primitives",
  "io-extras",
- "io-lifetimes 2.0.2",
- "rustix 0.38.20",
+ "io-lifetimes",
+ "rustix",
 ]
 
 [[package]]
@@ -686,15 +692,21 @@ checksum = "f8f52b3c8f4abfe3252fd0a071f3004aaa3b18936ec97bdbd8763ce03aff6247"
 dependencies = [
  "cap-primitives",
  "once_cell",
- "rustix 0.38.20",
+ "rustix",
  "winx",
 ]
 
 [[package]]
+name = "cast"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
+
+[[package]]
 name = "cc"
-version = "1.0.83"
+version = "1.0.90"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
+checksum = "8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5"
 dependencies = [
  "jobserver",
  "libc",
@@ -719,58 +731,89 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e"
 
 [[package]]
+name = "cfg_aliases"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77e53693616d3075149f4ead59bdeecd204ac6b8192d8969757601b74bddf00f"
+
+[[package]]
 name = "chrono"
-version = "0.4.22"
+version = "0.4.34"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfd4d1b31faaa3a89d7934dbded3111da0d2ef28e3ebccdb4f0179f5929d1ef1"
+checksum = "5bc015644b92d5890fab7489e49d21f879d5c990186827d42ec511919404f38b"
 dependencies = [
+ "android-tzdata",
  "iana-time-zone",
  "js-sys",
- "num-integer",
  "num-traits",
- "time 0.1.44",
  "wasm-bindgen",
- "winapi",
+ "windows-targets 0.52.0",
+]
+
+[[package]]
+name = "ciborium"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "effd91f6c78e5a4ace8a5d3c0b6bfaec9e2baaef55f3efc00e45fb2e477ee926"
+dependencies = [
+ "ciborium-io",
+ "ciborium-ll",
+ "serde",
+]
+
+[[package]]
+name = "ciborium-io"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cdf919175532b369853f5d5e20b26b43112613fd6fe7aee757e35f7a44642656"
+
+[[package]]
+name = "ciborium-ll"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "defaa24ecc093c77630e6c15e17c51f5e187bf35ee514f4e2d67baaa96dae22b"
+dependencies = [
+ "ciborium-io",
+ "half",
 ]
 
 [[package]]
 name = "clap"
-version = "3.2.25"
+version = "4.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123"
+checksum = "c918d541ef2913577a0f9566e9ce27cb35b6df072075769e0b26cb5a554520da"
 dependencies = [
- "atty",
- "bitflags 1.3.2",
+ "clap_builder",
  "clap_derive",
+]
+
+[[package]]
+name = "clap_builder"
+version = "4.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9f3e7391dad68afb0c2ede1bf619f579a3dc9c2ec67f089baa397123a2f3d1eb"
+dependencies = [
+ "anstyle",
  "clap_lex",
- "indexmap 1.9.3",
- "once_cell",
- "strsim",
- "termcolor",
- "textwrap",
 ]
 
 [[package]]
 name = "clap_derive"
-version = "3.2.25"
+version = "4.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae6371b8bdc8b7d3959e9cf7b22d4435ef3e79e138688421ec654acf8c81b008"
+checksum = "307bc0538d5f0f83b8248db3087aa92fe504e4691294d0c96c0eabc33f47ba47"
 dependencies = [
- "heck 0.4.0",
- "proc-macro-error",
+ "heck",
  "proc-macro2",
  "quote",
- "syn 1.0.101",
+ "syn 2.0.57",
 ]
 
 [[package]]
 name = "clap_lex"
-version = "0.2.4"
+version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5"
-dependencies = [
- "os_str_bytes",
-]
+checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce"
 
 [[package]]
 name = "clipboard-win"
@@ -830,28 +873,44 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b"
 
 [[package]]
-name = "com-rs"
-version = "0.2.1"
+name = "com"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf43edc576402991846b093a7ca18a3477e0ef9c588cde84964b5d3e43016642"
+checksum = "7e17887fd17353b65b1b2ef1c526c83e26cd72e74f598a8dc1bee13a48f3d9f6"
+dependencies = [
+ "com_macros",
+]
 
 [[package]]
-name = "combine"
-version = "4.6.6"
+name = "com_macros"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4"
+checksum = "d375883580a668c7481ea6631fc1a8863e33cc335bf56bfad8d7e6d4b04b13a5"
 dependencies = [
- "bytes",
- "memchr",
+ "com_macros_support",
+ "proc-macro2",
+ "syn 1.0.109",
 ]
 
 [[package]]
-name = "concurrent-queue"
-version = "1.2.4"
+name = "com_macros_support"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af4780a44ab5696ea9e28294517f1fffb421a83a25af521333c838635509db9c"
+checksum = "ad899a1087a9296d5644792d7cb72b8e34c1bec8e7d4fbc002230169a6e8710c"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "combine"
+version = "4.6.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4"
 dependencies = [
- "cache-padded",
+ "bytes",
+ "memchr",
 ]
 
 [[package]]
@@ -865,23 +924,23 @@ dependencies = [
 
 [[package]]
 name = "config"
-version = "0.13.3"
+version = "0.13.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d379af7f68bfc21714c6c7dea883544201741d2ce8274bb12fa54f89507f52a7"
+checksum = "23738e11972c7643e4ec947840fc463b6a571afcd3e735bdfce7d03c7a784aca"
 dependencies = [
  "async-trait",
  "lazy_static",
  "nom",
  "pathdiff",
  "serde",
- "toml 0.5.9",
+ "toml",
 ]
 
 [[package]]
 name = "copypasta"
-version = "0.10.0"
+version = "0.10.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d35364349bf9e9e1c3a035ddcb00d188d23a3c40c50244c03c27a99fc6a65ae"
+checksum = "deb85422867ca93da58b7f95fb5c0c10f6183ed6e1ef8841568968a896d3a858"
 dependencies = [
  "clipboard-win",
  "objc",
@@ -933,36 +992,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "cosmic-text"
-version = "0.7.0"
-source = "git+https://github.com/lapce/cosmic-text?rev=f7a20704d6ebbe8fb82d0bb579c37c53e7ae9747#f7a20704d6ebbe8fb82d0bb579c37c53e7ae9747"
-dependencies = [
- "fontdb 0.16.0",
- "libm",
- "log",
- "once_cell",
- "ouroboros",
- "parking_lot 0.12.1",
- "peniko",
- "rangemap",
- "rustybuzz 0.8.0",
- "stretto",
- "swash",
- "sys-locale",
- "ttf-parser 0.18.1",
- "unicode-bidi",
- "unicode-linebreak",
- "unicode-script",
- "unicode-segmentation",
-]
-
-[[package]]
-name = "cov-mark"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ffa3d3e0138386cd4361f63537765cac7ee40698028844635a54495a92f67f3"
-
-[[package]]
 name = "cpp_demangle"
 version = "0.3.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -982,18 +1011,18 @@ dependencies = [
 
 [[package]]
 name = "cranelift-bforest"
-version = "0.101.2"
+version = "0.101.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f773437307980ac0f424bf9b9a5d0cd21a0f17248c6860c9a65bec8b5975f3fe"
+checksum = "2b5bb9245ec7dcc04d03110e538d31f0969d301c9d673145f4b4d5c3478539a3"
 dependencies = [
  "cranelift-entity",
 ]
 
 [[package]]
 name = "cranelift-codegen"
-version = "0.101.2"
+version = "0.101.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "443c2ac50e97fb7de1a0f862753fce3f27215558811a6fcee508eb0c3747fa79"
+checksum = "ebb18d10e5ddac43ba4ca8fd4e310938569c3e484cc01b6372b27dc5bb4dfd28"
 dependencies = [
  "bumpalo",
  "cranelift-bforest",
@@ -1003,7 +1032,7 @@ dependencies = [
  "cranelift-entity",
  "cranelift-isle",
  "gimli",
- "hashbrown 0.14.2",
+ "hashbrown",
  "log",
  "regalloc2",
  "smallvec",
@@ -1012,33 +1041,33 @@ dependencies = [
 
 [[package]]
 name = "cranelift-codegen-meta"
-version = "0.101.2"
+version = "0.101.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5b174c411480c79ce0793c55042fa51bec27e486381d103a53cab3b480cb2db"
+checksum = "7a3ce6d22982c1b9b6b012654258bab1a13947bb12703518bef06b1a4867c3d6"
 dependencies = [
  "cranelift-codegen-shared",
 ]
 
 [[package]]
 name = "cranelift-codegen-shared"
-version = "0.101.2"
+version = "0.101.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "73fa0151a528066a369de6debeea4d4b23a32aba68b5add8c46d3dc8091ff434"
+checksum = "47220fd4f9a0ce23541652b6f16f83868d282602c600d14934b2a4c166b4bd80"
 
 [[package]]
 name = "cranelift-control"
-version = "0.101.2"
+version = "0.101.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b8adf1e6398493c9bea1190e37d28a0eb0eca5fddbc80e01e506cda34db92b1f"
+checksum = "ed5a4c42672aea9b6e820046b52e47a1c05d3394a6cdf4cb3c3c4b702f954bd2"
 dependencies = [
  "arbitrary",
 ]
 
 [[package]]
 name = "cranelift-entity"
-version = "0.101.2"
+version = "0.101.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4917e2ed3bb5fe87d0ed88395ca6d644018d119a034faedd1f3e1f2c33cd52b2"
+checksum = "0b4e9a3296fc827f9d35135dc2c0c8dd8d8359eb1ef904bae2d55d5bcb0c9f94"
 dependencies = [
  "serde",
  "serde_derive",
@@ -1058,9 +1087,9 @@ dependencies = [
 
 [[package]]
 name = "cranelift-isle"
-version = "0.101.2"
+version = "0.101.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a67fda31b9d69eaa1c49a2081939454c45857596a9d45af6744680541c628b4c"
+checksum = "45bab6d69919d210a50331d35cc6ce111567bc040aebac63a8ae130d0400a075"
 
 [[package]]
 name = "cranelift-native"
@@ -1082,7 +1111,7 @@ dependencies = [
  "cranelift-codegen",
  "cranelift-entity",
  "cranelift-frontend",
- "itertools",
+ "itertools 0.10.5",
  "log",
  "smallvec",
  "wasmparser",
@@ -1099,12 +1128,47 @@ dependencies = [
 ]
 
 [[package]]
+name = "criterion"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f"
+dependencies = [
+ "anes",
+ "cast",
+ "ciborium",
+ "clap",
+ "criterion-plot",
+ "is-terminal",
+ "itertools 0.10.5",
+ "num-traits",
+ "once_cell",
+ "oorandom",
+ "plotters",
+ "rayon",
+ "regex",
+ "serde",
+ "serde_derive",
+ "serde_json",
+ "tinytemplate",
+ "walkdir",
+]
+
+[[package]]
+name = "criterion-plot"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1"
+dependencies = [
+ "cast",
+ "itertools 0.10.5",
+]
+
+[[package]]
 name = "crossbeam-channel"
-version = "0.5.8"
+version = "0.5.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200"
+checksum = "ab3db02a9c5b5121e1e42fbdb1aeb65f5e02624cc58c43f2884c6ccac0b82f95"
 dependencies = [
- "cfg-if",
  "crossbeam-utils",
 ]
 
@@ -1135,19 +1199,9 @@ dependencies = [
 
 [[package]]
 name = "crossbeam-utils"
-version = "0.8.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "51887d4adc7b564537b15adcfb307936f8075dfcd5f00dde9a9f1d29383682bc"
-dependencies = [
- "cfg-if",
- "once_cell",
-]
-
-[[package]]
-name = "crunchy"
-version = "0.2.2"
+version = "0.8.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
+checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345"
 
 [[package]]
 name = "crypto-common"
@@ -1161,22 +1215,12 @@ dependencies = [
 
 [[package]]
 name = "ctor"
-version = "0.1.26"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096"
-dependencies = [
- "quote",
- "syn 1.0.101",
-]
-
-[[package]]
-name = "ctor"
 version = "0.2.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "37e366bff8cd32dd8754b0991fb66b279dc48f598c3a18914852a6673deef583"
 dependencies = [
  "quote",
- "syn 2.0.38",
+ "syn 2.0.57",
 ]
 
 [[package]]
@@ -1184,23 +1228,26 @@ name = "cursor-icon"
 version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991"
+dependencies = [
+ "serde",
+]
 
 [[package]]
 name = "d3d12"
-version = "0.7.0"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e16e44ab292b1dddfdaf7be62cfd8877df52f2f3fde5858d95bab606be259f20"
+checksum = "3e3d747f100290a1ca24b752186f61f6637e1deffe3bf6320de6fcb29510a307"
 dependencies = [
- "bitflags 2.4.0",
+ "bitflags 2.5.0",
  "libloading 0.8.1",
  "winapi",
 ]
 
 [[package]]
 name = "darling"
-version = "0.13.4"
+version = "0.14.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a01d95850c592940db9b8194bc39f4bc0e89dee5c4265e4b1807c34a9aba453c"
+checksum = "7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850"
 dependencies = [
  "darling_core",
  "darling_macro",
@@ -1208,34 +1255,34 @@ dependencies = [
 
 [[package]]
 name = "darling_core"
-version = "0.13.4"
+version = "0.14.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "859d65a907b6852c9361e3185c862aae7fafd2887876799fa55f5f99dc40d610"
+checksum = "109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0"
 dependencies = [
  "fnv",
  "ident_case",
  "proc-macro2",
  "quote",
  "strsim",
- "syn 1.0.101",
+ "syn 1.0.109",
 ]
 
 [[package]]
 name = "darling_macro"
-version = "0.13.4"
+version = "0.14.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835"
+checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e"
 dependencies = [
  "darling_core",
  "quote",
- "syn 1.0.101",
+ "syn 1.0.109",
 ]
 
 [[package]]
 name = "data-url"
-version = "0.2.0"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8d7439c3735f405729d52c3fbbe4de140eaf938a1fe47d227c27f8254d4302a5"
+checksum = "5c297a1c74b71ae29df00c3e22dd9534821d60eb9af5a0192823fa2acea70c2a"
 
 [[package]]
 name = "debugid"
@@ -1247,6 +1294,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "deranged"
+version = "0.3.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4"
+dependencies = [
+ "powerfmt",
+]
+
+[[package]]
 name = "derivative"
 version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1254,7 +1310,7 @@ checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 1.0.101",
+ "syn 1.0.109",
 ]
 
 [[package]]
@@ -1350,25 +1406,25 @@ checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650"
 
 [[package]]
 name = "drm"
-version = "0.9.0"
+version = "0.11.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "edf9159ef4bcecd0c5e4cbeb573b8d0037493403d542780dba5d840bbf9df56f"
+checksum = "a0f8a69e60d75ae7dab4ef26a59ca99f2a89d4c142089b537775ae0c198bdcde"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.5.0",
  "bytemuck",
  "drm-ffi",
  "drm-fourcc",
- "nix 0.26.4",
+ "rustix",
 ]
 
 [[package]]
 name = "drm-ffi"
-version = "0.5.0"
+version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1352481b7b90e27a8a1bf8ef6b33cf18b98dba7c410e75c24bb3eef2f0d8d525"
+checksum = "41334f8405792483e32ad05fbb9c5680ff4e84491883d2947a4757dc54cb2ac6"
 dependencies = [
  "drm-sys",
- "nix 0.26.4",
+ "rustix",
 ]
 
 [[package]]
@@ -1379,29 +1435,30 @@ checksum = "0aafbcdb8afc29c1a7ee5fbe53b5d62f4565b35a042a662ca9fecd0b54dae6f4"
 
 [[package]]
 name = "drm-sys"
-version = "0.4.0"
+version = "0.6.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1369f1679d6b706d234c4c1e0613c415c2c74b598a09ad28080ba2474b72e42d"
+checksum = "2d09ff881f92f118b11105ba5e34ff8f4adf27b30dae8f12e28c193af1c83176"
 dependencies = [
  "libc",
+ "linux-raw-sys 0.6.4",
 ]
 
 [[package]]
 name = "dyn-clone"
-version = "1.0.10"
+version = "1.0.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c9b0705efd4599c15a38151f4721f7bc388306f61084d3bfd50bd07fbca5cb60"
+checksum = "545b22097d44f8a9581187cdf93de7a71e4722bf51200cfaba810865b49a495d"
 
 [[package]]
 name = "educe"
-version = "0.4.22"
+version = "0.5.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "079044df30bb07de7d846d41a184c4b00e66ebdac93ee459253474f3a47e50ae"
+checksum = "e4bd92664bf78c4d3dba9b7cdafce6fa15b13ed3ed16175218196942e99168a8"
 dependencies = [
  "enum-ordinalize",
  "proc-macro2",
  "quote",
- "syn 1.0.101",
+ "syn 2.0.57",
 ]
 
 [[package]]
@@ -1429,16 +1486,29 @@ dependencies = [
 ]
 
 [[package]]
+name = "endi"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a3d8a32ae18130a3c84dd492d4215c3d913c3b07c6b63c2eb3eb7ff1101ab7bf"
+
+[[package]]
 name = "enum-ordinalize"
-version = "3.1.13"
+version = "4.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e4f76552f53cefc9a7f64987c3701b99d982f7690606fd67de1d09712fbf52f1"
+checksum = "fea0dcfa4e54eeb516fe454635a95753ddd39acda650ce703031c6973e315dd5"
+dependencies = [
+ "enum-ordinalize-derive",
+]
+
+[[package]]
+name = "enum-ordinalize-derive"
+version = "4.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0d28318a75d4aead5c4db25382e8ef717932d0346600cacae6357eb5941bc5ff"
 dependencies = [
- "num-bigint",
- "num-traits",
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.57",
 ]
 
 [[package]]
@@ -1459,7 +1529,7 @@ checksum = "5e9a1f9f7d83e59740248a6e14ecf93929ade55027844dfcea78beafccc15745"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.57",
 ]
 
 [[package]]
@@ -1470,23 +1540,12 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
 
 [[package]]
 name = "errno"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "136526188508e25c6fef639d7927dfb3e0e3084488bf202267829cf7fc23dbdd"
-dependencies = [
- "errno-dragonfly",
- "libc",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "errno-dragonfly"
-version = "0.1.2"
+version = "0.3.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
+checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
 dependencies = [
- "cc",
  "libc",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -1505,19 +1564,45 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
 
 [[package]]
-name = "exr"
-version = "1.71.0"
+name = "event-listener"
+version = "4.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "832a761f35ab3e6664babfbdc6cef35a4860e816ec3916dcfd0882954e98a8a8"
+checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e"
 dependencies = [
- "bit_field",
- "flume",
- "half",
- "lebe",
- "miniz_oxide 0.7.1",
- "rayon-core",
- "smallvec",
- "zune-inflate",
+ "concurrent-queue",
+ "parking",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "event-listener"
+version = "5.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b5fb89194fa3cad959b833185b3063ba881dbfc7030680b314250779fb4cc91"
+dependencies = [
+ "concurrent-queue",
+ "parking",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "event-listener-strategy"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3"
+dependencies = [
+ "event-listener 4.0.3",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "event-listener-strategy"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "feedafcaa9b749175d5ac357452a9d41ea2911da598fde46ce1fe02c37751291"
+dependencies = [
+ "event-listener 5.2.0",
+ "pin-project-lite",
 ]
 
 [[package]]
@@ -1548,7 +1633,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0b0377f1edc77dbd1118507bc7a66e4ab64d2b90c66f90726dc801e73a8c68f9"
 dependencies = [
  "cfg-if",
- "rustix 0.38.20",
+ "rustix",
  "windows-sys 0.48.0",
 ]
 
@@ -1574,19 +1659,13 @@ dependencies = [
 ]
 
 [[package]]
-name = "fixedbitset"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37ab347416e802de484e4d03c7316c48f1ecb56574dfd4a46a80f173ce1de04d"
-
-[[package]]
 name = "flate2"
-version = "1.0.24"
+version = "1.0.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6"
+checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e"
 dependencies = [
  "crc32fast",
- "miniz_oxide 0.5.4",
+ "miniz_oxide",
 ]
 
 [[package]]
@@ -1597,100 +1676,209 @@ checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4"
 
 [[package]]
 name = "floem"
-version = "0.1.0"
-source = "git+https://github.com/lapce/floem?rev=0694f9672a10a49290af223cac3dc2ab53b1b1dd#0694f9672a10a49290af223cac3dc2ab53b1b1dd"
+version = "0.1.1"
+source = "git+https://github.com/lapce/floem?rev=a3dd7599823d74977ff431ecb08fffbcf4df2d8a#a3dd7599823d74977ff431ecb08fffbcf4df2d8a"
 dependencies = [
- "bitflags 2.4.0",
+ "bitflags 2.5.0",
  "copypasta",
  "crossbeam-channel",
+ "downcast-rs",
  "educe",
+ "floem-editor-core",
+ "floem-peniko",
+ "floem-winit",
  "floem_reactive",
  "floem_renderer",
- "floem_tiny_skia",
- "floem_vger",
+ "floem_tiny_skia_renderer",
+ "floem_vger_renderer",
  "im",
+ "im-rc",
  "image",
- "indexmap 2.0.2",
- "kurbo",
+ "indexmap",
+ "kurbo 0.9.5",
+ "lapce-xi-rope",
  "once_cell",
- "parking_lot 0.12.1",
- "peniko",
- "raw-window-handle 0.5.2",
+ "parking_lot",
+ "raw-window-handle 0.6.0",
  "rfd",
  "rustc-hash",
+ "serde",
  "sha2",
  "smallvec",
+ "strum",
+ "strum_macros",
  "taffy",
  "unicode-segmentation",
- "winit",
+ "wgpu",
 ]
 
 [[package]]
-name = "floem_reactive"
+name = "floem-cosmic-text"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "43d74a7975acd84233e843c26da850aa43b39f1e64503fd46d6af9be4ea498dd"
+dependencies = [
+ "floem-peniko",
+ "fontdb",
+ "libm",
+ "log",
+ "once_cell",
+ "ouroboros",
+ "parking_lot",
+ "rangemap",
+ "rustybuzz",
+ "stretto",
+ "swash",
+ "sys-locale",
+ "ttf-parser 0.20.0",
+ "unicode-bidi",
+ "unicode-linebreak",
+ "unicode-script",
+ "unicode-segmentation",
+]
+
+[[package]]
+name = "floem-editor-core"
+version = "0.1.1"
+source = "git+https://github.com/lapce/floem?rev=a3dd7599823d74977ff431ecb08fffbcf4df2d8a#a3dd7599823d74977ff431ecb08fffbcf4df2d8a"
+dependencies = [
+ "bitflags 2.5.0",
+ "itertools 0.12.1",
+ "lapce-xi-rope",
+ "memchr",
+ "once_cell",
+ "serde",
+ "strum",
+ "strum_macros",
+]
+
+[[package]]
+name = "floem-peniko"
 version = "0.1.0"
-source = "git+https://github.com/lapce/floem?rev=0694f9672a10a49290af223cac3dc2ab53b1b1dd#0694f9672a10a49290af223cac3dc2ab53b1b1dd"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2f505394c816e710e2b664647a7a1a4ffdf45e3b3493ad6560d9489f23100430"
+dependencies = [
+ "kurbo 0.9.5",
+ "smallvec",
+]
+
+[[package]]
+name = "floem-vger"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6ef11c9c2f1668ec58b1712f85afec989caaae19273b653aaad1964575f8871c"
+dependencies = [
+ "euclid",
+ "floem-cosmic-text",
+ "fontdue",
+ "rect_packer",
+ "wgpu",
+]
+
+[[package]]
+name = "floem-winit"
+version = "0.29.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9fc88e6b23b93c7ba38e9cd465d2d0cbd3cd4999f05f685349e2b3cdfe88813a"
+dependencies = [
+ "ahash",
+ "android-activity",
+ "atomic-waker",
+ "bitflags 2.5.0",
+ "bytemuck",
+ "calloop",
+ "cfg_aliases 0.1.1",
+ "core-foundation",
+ "core-graphics",
+ "cursor-icon",
+ "icrate",
+ "js-sys",
+ "libc",
+ "log",
+ "memmap2 0.9.0",
+ "ndk",
+ "ndk-sys",
+ "objc2",
+ "once_cell",
+ "orbclient",
+ "percent-encoding",
+ "raw-window-handle 0.5.2",
+ "raw-window-handle 0.6.0",
+ "redox_syscall 0.3.5",
+ "rustix",
+ "sctk-adwaita",
+ "serde",
+ "smithay-client-toolkit",
+ "smol_str",
+ "unicode-segmentation",
+ "wasm-bindgen",
+ "wasm-bindgen-futures",
+ "wayland-backend",
+ "wayland-client",
+ "wayland-protocols",
+ "wayland-protocols-plasma",
+ "web-sys",
+ "web-time",
+ "windows-sys 0.48.0",
+ "x11-dl",
+ "x11rb",
+ "xkbcommon-dl",
+]
+
+[[package]]
+name = "floem_reactive"
+version = "0.1.1"
+source = "git+https://github.com/lapce/floem?rev=a3dd7599823d74977ff431ecb08fffbcf4df2d8a#a3dd7599823d74977ff431ecb08fffbcf4df2d8a"
 dependencies = [
  "smallvec",
 ]
 
 [[package]]
 name = "floem_renderer"
-version = "0.1.0"
-source = "git+https://github.com/lapce/floem?rev=0694f9672a10a49290af223cac3dc2ab53b1b1dd#0694f9672a10a49290af223cac3dc2ab53b1b1dd"
+version = "0.1.1"
+source = "git+https://github.com/lapce/floem?rev=a3dd7599823d74977ff431ecb08fffbcf4df2d8a#a3dd7599823d74977ff431ecb08fffbcf4df2d8a"
 dependencies = [
- "cosmic-text",
+ "floem-cosmic-text",
+ "floem-peniko",
  "image",
- "peniko",
  "resvg",
 ]
 
 [[package]]
-name = "floem_tiny_skia"
-version = "0.1.0"
-source = "git+https://github.com/lapce/floem?rev=0694f9672a10a49290af223cac3dc2ab53b1b1dd#0694f9672a10a49290af223cac3dc2ab53b1b1dd"
+name = "floem_tiny_skia_renderer"
+version = "0.1.1"
+source = "git+https://github.com/lapce/floem?rev=a3dd7599823d74977ff431ecb08fffbcf4df2d8a#a3dd7599823d74977ff431ecb08fffbcf4df2d8a"
 dependencies = [
  "anyhow",
  "bytemuck",
+ "floem-peniko",
  "floem_renderer",
  "futures",
  "image",
- "peniko",
- "raw-window-handle 0.5.2",
+ "raw-window-handle 0.6.0",
  "resvg",
  "softbuffer",
  "swash",
 ]
 
 [[package]]
-name = "floem_vger"
-version = "0.1.0"
-source = "git+https://github.com/lapce/floem?rev=0694f9672a10a49290af223cac3dc2ab53b1b1dd#0694f9672a10a49290af223cac3dc2ab53b1b1dd"
+name = "floem_vger_renderer"
+version = "0.1.1"
+source = "git+https://github.com/lapce/floem?rev=a3dd7599823d74977ff431ecb08fffbcf4df2d8a#a3dd7599823d74977ff431ecb08fffbcf4df2d8a"
 dependencies = [
  "anyhow",
+ "floem-peniko",
+ "floem-vger",
  "floem_renderer",
  "futures",
  "image",
- "peniko",
- "raw-window-handle 0.5.2",
+ "raw-window-handle 0.6.0",
  "resvg",
  "swash",
- "vger",
  "wgpu",
 ]
 
 [[package]]
-name = "flume"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181"
-dependencies = [
- "futures-core",
- "futures-sink",
- "nanorand",
- "spin",
-]
-
-[[package]]
 name = "fnv"
 version = "1.0.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1702,28 +1890,14 @@ version = "0.5.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "674e258f4b5d2dcd63888c01c68413c51f565e8af99d2f7701c7b81d79ef41c4"
 dependencies = [
- "roxmltree",
+ "roxmltree 0.18.0",
 ]
 
 [[package]]
 name = "fontdb"
-version = "0.14.1"
+version = "0.16.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af8d8cbea8f21307d7e84bca254772981296f058a1d36b461bf4d83a7499fc9e"
-dependencies = [
- "fontconfig-parser",
- "log",
- "memmap2 0.6.2",
- "slotmap",
- "tinyvec",
- "ttf-parser 0.19.1",
-]
-
-[[package]]
-name = "fontdb"
-version = "0.16.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "98b88c54a38407f7352dd2c4238830115a6377741098ffd1f997c813d0e088a6"
+checksum = "b0299020c3ef3f60f526a4f64ab4a3d4ce116b1acbf24cdd22da0068e5d81dc3"
 dependencies = [
  "fontconfig-parser",
  "log",
@@ -1735,12 +1909,12 @@ dependencies = [
 
 [[package]]
 name = "fontdue"
-version = "0.7.3"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0793f5137567643cf65ea42043a538804ff0fbf288649e2141442b602d81f9bc"
+checksum = "9099a2f86b8e674b75d03ff154b3fe4c5208ed249ced8d69cc313a9fa40bb488"
 dependencies = [
- "hashbrown 0.13.2",
- "ttf-parser 0.15.2",
+ "hashbrown",
+ "ttf-parser 0.20.0",
 ]
 
 [[package]]
@@ -1770,7 +1944,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.57",
 ]
 
 [[package]]
@@ -1787,9 +1961,9 @@ checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b"
 
 [[package]]
 name = "form_urlencoded"
-version = "1.1.0"
+version = "1.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8"
+checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
 dependencies = [
  "percent-encoding",
 ]
@@ -1800,22 +1974,12 @@ version = "0.20.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "dd738b84894214045e8414eaded76359b4a5773f0a0a56b16575110739cdcf39"
 dependencies = [
- "io-lifetimes 2.0.2",
- "rustix 0.38.20",
+ "io-lifetimes",
+ "rustix",
  "windows-sys 0.48.0",
 ]
 
 [[package]]
-name = "fs2"
-version = "0.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213"
-dependencies = [
- "libc",
- "winapi",
-]
-
-[[package]]
 name = "fs_extra"
 version = "1.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1832,9 +1996,9 @@ dependencies = [
 
 [[package]]
 name = "futures"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40"
+checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -1847,9 +2011,9 @@ dependencies = [
 
 [[package]]
 name = "futures-channel"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb"
+checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78"
 dependencies = [
  "futures-core",
  "futures-sink",
@@ -1857,15 +2021,15 @@ dependencies = [
 
 [[package]]
 name = "futures-core"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c"
+checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d"
 
 [[package]]
 name = "futures-executor"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0"
+checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d"
 dependencies = [
  "futures-core",
  "futures-task",
@@ -1874,53 +2038,51 @@ dependencies = [
 
 [[package]]
 name = "futures-io"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964"
+checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1"
 
 [[package]]
 name = "futures-lite"
-version = "1.12.0"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7694489acd39452c77daa48516b894c153f192c3578d5a839b62c58099fcbf48"
+checksum = "445ba825b27408685aaecefd65178908c36c6e96aaf6d8599419d46e624192ba"
 dependencies = [
- "fastrand 1.8.0",
+ "fastrand 2.0.1",
  "futures-core",
  "futures-io",
- "memchr",
  "parking",
  "pin-project-lite",
- "waker-fn",
 ]
 
 [[package]]
 name = "futures-macro"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
+checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.57",
 ]
 
 [[package]]
 name = "futures-sink"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817"
+checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5"
 
 [[package]]
 name = "futures-task"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2"
+checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004"
 
 [[package]]
 name = "futures-util"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533"
+checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -1949,7 +2111,7 @@ version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "27d12c0aed7f1e24276a241aadc4cb8ea9f83000f34bc062b7cc2d51e3b0fabd"
 dependencies = [
- "bitflags 2.4.0",
+ "bitflags 2.5.0",
  "debugid",
  "fxhash",
  "serde",
@@ -1968,12 +2130,12 @@ dependencies = [
 
 [[package]]
 name = "gethostname"
-version = "0.3.0"
+version = "0.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb65d4ba3173c56a500b555b532f72c42e8d1fe64962b518897f8959fae2c177"
+checksum = "0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818"
 dependencies = [
  "libc",
- "winapi",
+ "windows-targets 0.48.5",
 ]
 
 [[package]]
@@ -1992,10 +2154,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6"
 dependencies = [
  "cfg-if",
- "js-sys",
  "libc",
- "wasi 0.11.0+wasi-snapshot-preview1",
- "wasm-bindgen",
+ "wasi",
 ]
 
 [[package]]
@@ -2015,17 +2175,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0"
 dependencies = [
  "fallible-iterator",
- "indexmap 2.0.2",
+ "indexmap",
  "stable_deref_trait",
 ]
 
 [[package]]
 name = "git2"
-version = "0.18.1"
+version = "0.18.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fbf97ba92db08df386e10c8ede66a2a0369bd277090afd8710e19e38de9ec0cd"
+checksum = "1b3ba52851e73b46a4c3df1d89343741112003f0f6f13beb0dfac9e457c3fdcd"
 dependencies = [
- "bitflags 2.4.0",
+ "bitflags 2.5.0",
  "libc",
  "libgit2-sys",
  "log",
@@ -2053,34 +2213,22 @@ checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
 
 [[package]]
 name = "globset"
-version = "0.4.9"
+version = "0.4.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0a1e17342619edbc21a964c2afbeb6c820c6a2560032872f397bb97ea127bd0a"
+checksum = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1"
 dependencies = [
- "aho-corasick 0.7.19",
+ "aho-corasick 1.1.2",
  "bstr",
- "fnv",
  "log",
- "regex",
-]
-
-[[package]]
-name = "gloo-timers"
-version = "0.2.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c"
-dependencies = [
- "futures-channel",
- "futures-core",
- "js-sys",
- "wasm-bindgen",
+ "regex-automata",
+ "regex-syntax 0.8.2",
 ]
 
 [[package]]
 name = "glow"
-version = "0.13.0"
+version = "0.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "886c2a30b160c4c6fec8f987430c26b526b7988ca71f664e6a699ddf6f9601e4"
+checksum = "bd348e04c43b32574f2de31c8bb397d96c9fcfa1371bd4ca6d8bdc464ab121b1"
 dependencies = [
  "js-sys",
  "slotmap",
@@ -2103,7 +2251,7 @@ version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171"
 dependencies = [
- "bitflags 2.4.0",
+ "bitflags 2.5.0",
  "gpu-alloc-types",
 ]
 
@@ -2113,16 +2261,15 @@ version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4"
 dependencies = [
- "bitflags 2.4.0",
+ "bitflags 2.5.0",
 ]
 
 [[package]]
 name = "gpu-allocator"
-version = "0.23.0"
+version = "0.25.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "40fe17c8a05d60c38c0a4e5a3c802f2f1ceb66b76c67d96ffb34bef0475a7fad"
+checksum = "6f56f6318968d03c18e1bcf4857ff88c61157e9da8e47c5f29055d60e1228884"
 dependencies = [
- "backtrace",
  "log",
  "presser",
  "thiserror",
@@ -2132,13 +2279,13 @@ dependencies = [
 
 [[package]]
 name = "gpu-descriptor"
-version = "0.2.3"
+version = "0.2.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b0c02e1ba0bdb14e965058ca34e09c020f8e507a760df1121728e0aef68d57a"
+checksum = "cc11df1ace8e7e564511f53af41f3e42ddc95b56fd07b3f4445d2a6048bc682c"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.5.0",
  "gpu-descriptor-types",
- "hashbrown 0.12.3",
+ "hashbrown",
 ]
 
 [[package]]
@@ -2161,9 +2308,9 @@ dependencies = [
 
 [[package]]
 name = "grep-regex"
-version = "0.1.10"
+version = "0.1.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1345f8d33c89f2d5b081f2f2a41175adef9fd0bed2fea6a26c96c2deb027e58e"
+checksum = "997598b41d53a37a2e3fc5300d5c11d825368c054420a9c65125b8fe1078463f"
 dependencies = [
  "aho-corasick 0.7.19",
  "bstr",
@@ -2176,9 +2323,9 @@ dependencies = [
 
 [[package]]
 name = "grep-searcher"
-version = "0.1.10"
+version = "0.1.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "48852bd08f9b4eb3040ecb6d2f4ade224afe880a9a0909c5563cc59fa67932cc"
+checksum = "5601c4b9f480f0c9ebb40b1f6cbf447b8a50c5369223937a6c5214368c58779f"
 dependencies = [
  "bstr",
  "bytecount",
@@ -2191,15 +2338,15 @@ dependencies = [
 
 [[package]]
 name = "grid"
-version = "0.10.0"
+version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eec1c01eb1de97451ee0d60de7d81cf1e72aabefb021616027f3d1c3ec1c723c"
+checksum = "d196ffc1627db18a531359249b2bf8416178d84b729f3cebeb278f285fb9b58c"
 
 [[package]]
 name = "h2"
-version = "0.3.21"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91fc23aa11be92976ef4729127f1a74adf36d8436f7816b185d18df956790833"
+checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8"
 dependencies = [
  "bytes",
  "fnv",
@@ -2207,7 +2354,7 @@ dependencies = [
  "futures-sink",
  "futures-util",
  "http",
- "indexmap 1.9.3",
+ "indexmap",
  "slab",
  "tokio",
  "tokio-util",
@@ -2216,50 +2363,30 @@ dependencies = [
 
 [[package]]
 name = "half"
-version = "2.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "02b4af3693f1b705df946e9fe5631932443781d0aabb423b62fcd4d73f6d2fd0"
-dependencies = [
- "crunchy",
-]
-
-[[package]]
-name = "hashbrown"
-version = "0.12.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
-dependencies = [
- "ahash 0.7.6",
-]
-
-[[package]]
-name = "hashbrown"
-version = "0.13.2"
+version = "1.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e"
-dependencies = [
- "ahash 0.8.3",
-]
+checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7"
 
 [[package]]
 name = "hashbrown"
-version = "0.14.2"
+version = "0.14.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156"
+checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
 dependencies = [
- "ahash 0.8.3",
+ "ahash",
+ "allocator-api2",
 ]
 
 [[package]]
 name = "hassle-rs"
-version = "0.10.0"
+version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1397650ee315e8891a0df210707f0fc61771b0cc518c3023896064c5407cb3b0"
+checksum = "af2a7e73e1f34c48da31fb668a907f250794837e08faa144fd24f0b8b741e890"
 dependencies = [
- "bitflags 1.3.2",
- "com-rs",
+ "bitflags 2.5.0",
+ "com",
  "libc",
- "libloading 0.7.3",
+ "libloading 0.8.1",
  "thiserror",
  "widestring",
  "winapi",
@@ -2267,18 +2394,9 @@ dependencies = [
 
 [[package]]
 name = "heck"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c"
-dependencies = [
- "unicode-segmentation",
-]
-
-[[package]]
-name = "heck"
-version = "0.4.0"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9"
+checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
 
 [[package]]
 name = "hermit-abi"
@@ -2291,9 +2409,9 @@ dependencies = [
 
 [[package]]
 name = "hermit-abi"
-version = "0.3.2"
+version = "0.3.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b"
+checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
 
 [[package]]
 name = "hex"
@@ -2430,9 +2548,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
 
 [[package]]
 name = "idna"
-version = "0.3.0"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6"
+checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
 dependencies = [
  "unicode-bidi",
  "unicode-normalization",
@@ -2440,11 +2558,10 @@ dependencies = [
 
 [[package]]
 name = "ignore"
-version = "0.4.18"
+version = "0.4.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "713f1b139373f96a2e0ce3ac931cd01ee973c3c5dd7c40c0c2efe96ad2b6751d"
+checksum = "dbe7873dab538a9a44ad79ede1faf5f30d49f9a5c883ddbab48bce81b64b7492"
 dependencies = [
- "crossbeam-utils",
  "globset",
  "lazy_static",
  "log",
@@ -2472,22 +2589,42 @@ dependencies = [
 ]
 
 [[package]]
+name = "im-rc"
+version = "15.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "af1955a75fa080c677d3972822ec4bad316169ab1cfc6c257a942c2265dbe5fe"
+dependencies = [
+ "bitmaps",
+ "rand_core",
+ "rand_xoshiro",
+ "sized-chunks",
+ "typenum",
+ "version_check",
+]
+
+[[package]]
 name = "image"
-version = "0.24.7"
+version = "0.25.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f3dfdbdd72063086ff443e297b61695500514b1e41095b6fb9a5ab48a70a711"
+checksum = "fd54d660e773627692c524beaad361aca785a4f9f5730ce91f42aabe5bce3d11"
 dependencies = [
  "bytemuck",
  "byteorder",
- "color_quant",
- "exr",
- "gif",
- "jpeg-decoder",
- "num-rational",
+ "image-webp",
  "num-traits",
  "png",
- "qoi",
- "tiff",
+ "zune-core",
+ "zune-jpeg",
+]
+
+[[package]]
+name = "image-webp"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a84a25dcae3ac487bc24ef280f9e20c79c9b1a3e5e32cbed3041d1c514aa87c"
+dependencies = [
+ "byteorder",
+ "thiserror",
 ]
 
 [[package]]
@@ -2517,27 +2654,17 @@ dependencies = [
  "proc-macro-hack",
  "proc-macro2",
  "quote",
- "syn 1.0.101",
+ "syn 1.0.109",
 ]
 
 [[package]]
 name = "indexmap"
-version = "1.9.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
-dependencies = [
- "autocfg",
- "hashbrown 0.12.3",
-]
-
-[[package]]
-name = "indexmap"
-version = "2.0.2"
+version = "2.2.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8adf3ddd720272c6ea8bf59463c04e0f93d0bbf7c5439b691bca2987e0270897"
+checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26"
 dependencies = [
  "equivalent",
- "hashbrown 0.14.2",
+ "hashbrown",
  "serde",
 ]
 
@@ -2602,18 +2729,7 @@ version = "0.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9d3c230ee517ee76b1cc593b52939ff68deda3fae9e41eca426c6b4993df51c4"
 dependencies = [
- "io-lifetimes 2.0.2",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "io-lifetimes"
-version = "1.0.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
-dependencies = [
- "hermit-abi 0.3.2",
- "libc",
+ "io-lifetimes",
  "windows-sys 0.48.0",
 ]
 
@@ -2639,6 +2755,17 @@ dependencies = [
 ]
 
 [[package]]
+name = "is-terminal"
+version = "0.4.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b"
+dependencies = [
+ "hermit-abi 0.3.9",
+ "libc",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
 name = "is-wsl"
 version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2658,6 +2785,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "itertools"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"
+dependencies = [
+ "either",
+]
+
+[[package]]
 name = "itoa"
 version = "1.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2719,15 +2855,12 @@ name = "jpeg-decoder"
 version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bc0000e42512c92e31c2252315bda326620a4e034105e900c98ec492fa077b3e"
-dependencies = [
- "rayon",
-]
 
 [[package]]
 name = "js-sys"
-version = "0.3.64"
+version = "0.3.69"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"
+checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d"
 dependencies = [
  "wasm-bindgen",
 ]
@@ -2791,17 +2924,18 @@ dependencies = [
 ]
 
 [[package]]
-name = "kv-log-macro"
-version = "1.0.7"
+name = "kurbo"
+version = "0.10.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f"
+checksum = "1618d4ebd923e97d67e7cd363d80aef35fe961005cbbbb3d2dad8bdd1bc63440"
 dependencies = [
- "log",
+ "arrayvec",
+ "smallvec",
 ]
 
 [[package]]
 name = "lapce"
-version = "0.3.1"
+version = "0.4.0"
 dependencies = [
  "lapce-app",
  "lapce-proxy",
@@ -2809,28 +2943,30 @@ dependencies = [
 
 [[package]]
 name = "lapce-app"
-version = "0.3.1"
+version = "0.4.0"
 dependencies = [
  "Inflector",
  "alacritty_terminal",
  "anyhow",
- "base64",
+ "backtrace",
+ "base64 0.21.7",
  "bytemuck",
  "chrono",
  "clap",
  "config",
+ "criterion",
  "crossbeam-channel",
  "directories",
  "dmg",
  "flate2",
  "floem",
  "fs_extra",
- "futures",
+ "globset",
  "im",
  "include_dir",
- "indexmap 2.0.2",
+ "indexmap",
  "interprocess",
- "itertools",
+ "itertools 0.12.1",
  "lapce-core",
  "lapce-proxy",
  "lapce-rpc",
@@ -2840,7 +2976,7 @@ dependencies = [
  "nucleo",
  "once_cell",
  "open",
- "parking_lot 0.11.2",
+ "parking_lot",
  "pulldown-cmark",
  "rayon",
  "regex",
@@ -2848,40 +2984,39 @@ dependencies = [
  "serde",
  "serde_json",
  "sha2",
- "sled",
  "smallvec",
  "structdesc",
  "strum",
  "strum_macros",
  "tar",
  "thiserror",
- "tokio",
- "toml 0.5.9",
- "toml_edit 0.19.14",
+ "toml",
+ "toml_edit 0.20.2",
  "tracing 0.2.0",
  "tracing-appender",
+ "tracing-log",
  "tracing-subscriber",
  "unicode-width",
  "url",
+ "windows-sys 0.36.1",
  "zip",
 ]
 
 [[package]]
 name = "lapce-core"
-version = "0.3.1"
+version = "0.4.0"
 dependencies = [
  "anyhow",
  "arc-swap",
- "bitflags 1.3.2",
  "directories",
+ "floem-editor-core",
  "include_dir",
- "itertools",
+ "itertools 0.12.1",
  "lapce-rpc",
  "lapce-xi-rope",
- "libloading 0.7.3",
+ "libloading 0.8.1",
  "lsp-types",
  "once_cell",
- "serde",
  "slotmap",
  "strum",
  "strum_macros",
@@ -2902,7 +3037,7 @@ dependencies = [
 
 [[package]]
 name = "lapce-proxy"
-version = "0.3.1"
+version = "0.4.0"
 dependencies = [
  "alacritty_terminal",
  "anyhow",
@@ -2912,13 +3047,14 @@ dependencies = [
  "directories",
  "dyn-clone",
  "flate2",
+ "floem-editor-core",
  "git2",
  "globset",
  "grep-matcher",
  "grep-regex",
  "grep-searcher",
  "ignore",
- "indexmap 2.0.2",
+ "indexmap",
  "interprocess",
  "jsonrpc-lite",
  "lapce-core",
@@ -2930,8 +3066,8 @@ dependencies = [
  "notify",
  "objc",
  "once_cell",
- "parking_lot 0.11.2",
- "polling 3.2.0",
+ "parking_lot",
+ "polling",
  "psp-types",
  "regex",
  "reqwest",
@@ -2940,9 +3076,10 @@ dependencies = [
  "strum",
  "strum_macros",
  "tar",
- "toml 0.5.9",
- "toml_edit 0.19.14",
+ "toml",
+ "toml_edit 0.20.2",
  "tracing 0.2.0",
+ "tracing-log",
  "trash",
  "url",
  "walkdir",
@@ -2955,15 +3092,15 @@ dependencies = [
 
 [[package]]
 name = "lapce-rpc"
-version = "0.3.1"
+version = "0.4.0"
 dependencies = [
  "anyhow",
  "crossbeam-channel",
  "human-sort",
- "indexmap 2.0.2",
+ "indexmap",
  "lapce-xi-rope",
  "lsp-types",
- "parking_lot 0.11.2",
+ "parking_lot",
  "serde",
  "serde_json",
  "tracing 0.2.0",
@@ -3002,22 +3139,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67"
 
 [[package]]
-name = "lebe"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8"
-
-[[package]]
 name = "libc"
-version = "0.2.149"
+version = "0.2.153"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b"
+checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
 
 [[package]]
 name = "libgit2-sys"
-version = "0.16.1+1.7.1"
+version = "0.16.2+1.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f2a2bb3680b094add03bb3732ec520ece34da31a8cd2d633d1389d0f0fb60d0c"
+checksum = "ee4126d8b4ee5c9d9ea891dd875cfdc1e9d0950437179104b183d7d8a74d24e8"
 dependencies = [
  "cc",
  "libc",
@@ -3029,9 +3160,9 @@ dependencies = [
 
 [[package]]
 name = "libloading"
-version = "0.7.3"
+version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "efbc0f03f9a775e9f6aed295c6a1ba2253c5757a9e03d55c6caa46a681abcddd"
+checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f"
 dependencies = [
  "cfg-if",
  "winapi",
@@ -3081,24 +3212,21 @@ dependencies = [
 
 [[package]]
 name = "line-wrap"
-version = "0.1.1"
+version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f30344350a2a51da54c1d53be93fade8a237e545dbcc4bdbe635413f2117cab9"
-dependencies = [
- "safemem",
-]
+checksum = "dd1bc4d24ad230d21fb898d1116b1801d7adfc449d42026475862ab48b11e70e"
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.3.8"
+version = "0.4.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
+checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.4.10"
+version = "0.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f"
+checksum = "f0b5399f6804fbab912acbd8878ed3532d506b7c951b8f9f164ef90fef39e3f4"
 
 [[package]]
 name = "locale_config"
@@ -3125,20 +3253,14 @@ dependencies = [
 
 [[package]]
 name = "log"
-version = "0.4.17"
+version = "0.4.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
-dependencies = [
- "cfg-if",
- "serde",
- "value-bag",
-]
+checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
 
 [[package]]
 name = "lsp-types"
-version = "0.93.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3bcfee315dde785ba887edb540b08765fd7df75a7d948844be6bf5712246734"
+version = "0.95.1"
+source = "git+https://github.com/lapce/lsp-types?rev=feaa1e2ec80975c9dadd400a238ceacf071058e6#feaa1e2ec80975c9dadd400a238ceacf071058e6"
 dependencies = [
  "bitflags 1.3.2",
  "serde",
@@ -3173,9 +3295,9 @@ checksum = "4facc753ae494aeb6e3c22f839b158aebd4f9270f55cd3c79906c45476c47ab4"
 
 [[package]]
 name = "memchr"
-version = "2.6.4"
+version = "2.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
+checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
 
 [[package]]
 name = "memfd"
@@ -3183,7 +3305,7 @@ version = "0.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b2cffa4ad52c6f791f4f8b15f0c05f9824b2ced1160e88cc393d64fff9a8ac64"
 dependencies = [
- "rustix 0.38.20",
+ "rustix",
 ]
 
 [[package]]
@@ -3197,24 +3319,6 @@ dependencies = [
 
 [[package]]
 name = "memmap2"
-version = "0.6.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d28bba84adfe6646737845bc5ebbfa2c08424eb1c37e94a1fd2a82adb56a872"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "memmap2"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f49388d20533534cd19360ad3d6a7dadc885944aa802ba3995040c5ec11288c6"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "memmap2"
 version = "0.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "deaba38d7abf1d4cca21cc89e932e542ba2b9258664d2a9ef0e61512039c9375"
@@ -3255,7 +3359,7 @@ version = "0.27.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c43f73953f8cbe511f021b58f18c3ce1c3d1ae13fe953293e13345bf83217f25"
 dependencies = [
- "bitflags 2.4.0",
+ "bitflags 2.5.0",
  "block",
  "core-graphics-types",
  "foreign-types 0.5.0",
@@ -3278,15 +3382,6 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
 
 [[package]]
 name = "miniz_oxide"
-version = "0.5.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34"
-dependencies = [
- "adler",
-]
-
-[[package]]
-name = "miniz_oxide"
 version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
@@ -3297,13 +3392,13 @@ dependencies = [
 
 [[package]]
 name = "mio"
-version = "0.8.9"
+version = "0.8.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0"
+checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c"
 dependencies = [
  "libc",
  "log",
- "wasi 0.11.0+wasi-snapshot-preview1",
+ "wasi",
  "windows-sys 0.48.0",
 ]
 
@@ -3318,15 +3413,15 @@ dependencies = [
 
 [[package]]
 name = "naga"
-version = "0.14.0"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61d829abac9f5230a85d8cc83ec0879b4c09790208ae25b5ea031ef84562e071"
+checksum = "50e3524642f53d9af419ab5e8dd29d3ba155708267667c2f3f06c88c9e130843"
 dependencies = [
  "bit-set",
- "bitflags 2.4.0",
+ "bitflags 2.5.0",
  "codespan-reporting",
  "hexf-parse",
- "indexmap 2.0.2",
+ "indexmap",
  "log",
  "num-traits",
  "rustc-hash",
@@ -3337,15 +3432,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "nanorand"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3"
-dependencies = [
- "getrandom",
-]
-
-[[package]]
 name = "native-tls"
 version = "0.2.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3369,7 +3455,7 @@ version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2076a31b7010b17a38c01907c45b945e8f11495ee4dd588309718901b1f7a5b7"
 dependencies = [
- "bitflags 2.4.0",
+ "bitflags 2.5.0",
  "jni-sys",
  "log",
  "ndk-sys",
@@ -3396,27 +3482,26 @@ dependencies = [
 
 [[package]]
 name = "nix"
-version = "0.24.2"
+version = "0.26.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "195cdbc1741b8134346d515b3a56a1c94b0912758009cfd53f99ea0f57b065fc"
+checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b"
 dependencies = [
  "bitflags 1.3.2",
  "cfg-if",
  "libc",
- "memoffset 0.6.5",
+ "memoffset 0.7.1",
 ]
 
 [[package]]
 name = "nix"
-version = "0.26.4"
+version = "0.27.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b"
+checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.5.0",
  "cfg-if",
  "libc",
- "memoffset 0.7.1",
- "pin-utils",
+ "memoffset 0.9.0",
 ]
 
 [[package]]
@@ -3431,9 +3516,9 @@ dependencies = [
 
 [[package]]
 name = "notify"
-version = "5.0.0"
+version = "5.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed2c66da08abae1c024c01d635253e402341b4060a12e99b31c7594063bf490a"
+checksum = "729f63e1ca555a43fe3efa4f3efdf4801c479da85b432242a7b726f353c88486"
 dependencies = [
  "bitflags 1.3.2",
  "crossbeam-channel",
@@ -3445,7 +3530,7 @@ dependencies = [
  "mio",
  "serde",
  "walkdir",
- "winapi",
+ "windows-sys 0.45.0",
 ]
 
 [[package]]
@@ -3460,57 +3545,30 @@ dependencies = [
 
 [[package]]
 name = "nucleo"
-version = "0.2.0"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ccab936f2c8ad271bb31430944d98d358f74153566ea323265497f5639b11b6"
+checksum = "5262af4c94921c2646c5ac6ff7900c2af9cbb08dc26a797e18130a7019c039d4"
 dependencies = [
  "nucleo-matcher",
- "parking_lot 0.12.1",
+ "parking_lot",
  "rayon",
 ]
 
 [[package]]
 name = "nucleo-matcher"
-version = "0.2.0"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b702b402fe286162d1f00b552a046ce74365d2ac473a2607ff36ba650f9bd57"
+checksum = "bf33f538733d1a5a3494b836ba913207f14d9d4a1d3cd67030c5061bdd2cac85"
 dependencies = [
- "cov-mark",
  "memchr",
  "unicode-segmentation",
 ]
 
 [[package]]
-name = "num-bigint"
-version = "0.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f"
-dependencies = [
- "autocfg",
- "num-integer",
- "num-traits",
-]
-
-[[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-rational"
-version = "0.4.1"
+name = "num-conv"
+version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0"
-dependencies = [
- "autocfg",
- "num-integer",
- "num-traits",
-]
+checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
 
 [[package]]
 name = "num-traits"
@@ -3549,16 +3607,7 @@ dependencies = [
  "proc-macro-crate",
  "proc-macro2",
  "quote",
- "syn 2.0.38",
-]
-
-[[package]]
-name = "num_threads"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44"
-dependencies = [
- "libc",
+ "syn 2.0.57",
 ]
 
 [[package]]
@@ -3629,22 +3678,28 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0"
 dependencies = [
  "crc32fast",
- "hashbrown 0.14.2",
- "indexmap 2.0.2",
+ "hashbrown",
+ "indexmap",
  "memchr",
 ]
 
 [[package]]
 name = "once_cell"
-version = "1.18.0"
+version = "1.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
+
+[[package]]
+name = "oorandom"
+version = "11.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575"
 
 [[package]]
 name = "open"
-version = "5.0.0"
+version = "5.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cfabf1927dce4d6fdf563d63328a0a506101ced3ec780ca2135747336c98cef8"
+checksum = "449f0ff855d85ddbf1edd5b646d65249ead3f5e422aaa86b7d2d0b049b103e32"
 dependencies = [
  "is-wsl",
  "libc",
@@ -3653,11 +3708,11 @@ dependencies = [
 
 [[package]]
 name = "openssl"
-version = "0.10.42"
+version = "0.10.63"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12fc0523e3bd51a692c8850d075d74dc062ccf251c0110668cbd921917118a13"
+checksum = "15c9d69dd87a29568d4d017cfe8ec518706046a05184e5aea92d0af890b803c8"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.5.0",
  "cfg-if",
  "foreign-types 0.3.2",
  "libc",
@@ -3674,7 +3729,7 @@ checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 1.0.101",
+ "syn 1.0.109",
 ]
 
 [[package]]
@@ -3685,20 +3740,19 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
 
 [[package]]
 name = "openssl-src"
-version = "111.22.0+1.1.1q"
+version = "300.2.3+3.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f31f0d509d1c1ae9cada2f9539ff8f37933831fd5098879e482aa687d659853"
+checksum = "5cff92b6f71555b61bb9315f7c64da3ca43d87531622120fea0195fc761b4843"
 dependencies = [
  "cc",
 ]
 
 [[package]]
 name = "openssl-sys"
-version = "0.9.76"
+version = "0.9.99"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5230151e44c0f05157effb743e8d517472843121cf9243e8b81393edb5acd9ce"
+checksum = "22e1bf214306098e4832460f797824c05d25aacdf896f64a985fb0fd992454ae"
 dependencies = [
- "autocfg",
  "cc",
  "libc",
  "openssl-src",
@@ -3717,41 +3771,37 @@ dependencies = [
 
 [[package]]
 name = "ordered-stream"
-version = "0.0.1"
+version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44630c059eacfd6e08bdaa51b1db2ce33119caa4ddc1235e923109aa5f25ccb1"
+checksum = "9aa2b01e1d916879f73a53d01d1d6cee68adbb31d6d9177a8cfce093cced1d50"
 dependencies = [
  "futures-core",
  "pin-project-lite",
 ]
 
 [[package]]
-name = "os_str_bytes"
-version = "6.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ff7415e9ae3fff1225851df9e0d9e4e5479f947619774677a63572e55e80eff"
-
-[[package]]
 name = "ouroboros"
-version = "0.15.6"
+version = "0.18.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1358bd1558bd2a083fed428ffeda486fbfb323e698cdda7794259d592ca72db"
+checksum = "97b7be5a8a3462b752f4be3ff2b2bf2f7f1d00834902e46be2a4d68b87b0573c"
 dependencies = [
  "aliasable",
  "ouroboros_macro",
+ "static_assertions",
 ]
 
 [[package]]
 name = "ouroboros_macro"
-version = "0.15.6"
+version = "0.18.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f7d21ccd03305a674437ee1248f3ab5d4b1db095cf1caf49f1713ddf61956b7"
+checksum = "b645dcde5f119c2c454a92d0dfa271a2a3b205da92e4292a68ead4bdbfde1f33"
 dependencies = [
- "Inflector",
- "proc-macro-error",
+ "heck",
+ "itertools 0.12.1",
  "proc-macro2",
+ "proc-macro2-diagnostics",
  "quote",
- "syn 1.0.101",
+ "syn 2.0.57",
 ]
 
 [[package]]
@@ -3771,20 +3821,9 @@ dependencies = [
 
 [[package]]
 name = "parking"
-version = "2.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72"
-
-[[package]]
-name = "parking_lot"
-version = "0.11.2"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99"
-dependencies = [
- "instant",
- "lock_api",
- "parking_lot_core 0.8.5",
-]
+checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae"
 
 [[package]]
 name = "parking_lot"
@@ -3793,24 +3832,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
 dependencies = [
  "lock_api",
- "parking_lot_core 0.9.3",
-]
-
-[[package]]
-name = "parking_lot_core"
-version = "0.8.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216"
-dependencies = [
- "backtrace",
- "cfg-if",
- "instant",
- "libc",
- "petgraph",
- "redox_syscall 0.2.16",
- "smallvec",
- "thread-id",
- "winapi",
+ "parking_lot_core",
 ]
 
 [[package]]
@@ -3839,29 +3861,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd"
 
 [[package]]
-name = "peniko"
-version = "0.1.0"
-source = "git+https://github.com/linebender/peniko?rev=cafdac9a211a0fb2fec5656bd663d1ac770bcc81#cafdac9a211a0fb2fec5656bd663d1ac770bcc81"
-dependencies = [
- "kurbo",
- "smallvec",
-]
-
-[[package]]
 name = "percent-encoding"
-version = "2.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
-
-[[package]]
-name = "petgraph"
-version = "0.5.1"
+version = "2.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "467d164a6de56270bd7c4d070df81d07beace25012d5103ced4e9ff08d6afdb7"
-dependencies = [
- "fixedbitset",
- "indexmap 1.9.3",
-]
+checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
 
 [[package]]
 name = "pico-args"
@@ -3900,15 +3903,43 @@ checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae"
 
 [[package]]
 name = "plist"
-version = "1.4.3"
+version = "1.6.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9bd9647b268a3d3e14ff09c23201133a62589c658db02bb7388c7246aafe0590"
+checksum = "d9d34169e64b3c7a80c8621a48adaf44e0cf62c78a9b25dd9dd35f1881a17cf9"
 dependencies = [
- "base64",
- "indexmap 1.9.3",
+ "base64 0.21.7",
+ "indexmap",
  "line-wrap",
- "quick-xml 0.28.2",
- "time 0.3.14",
+ "quick-xml",
+ "time",
+]
+
+[[package]]
+name = "plotters"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d2c224ba00d7cadd4d5c660deaf2098e5e80e07846537c51f9cfa4be50c1fd45"
+dependencies = [
+ "num-traits",
+ "plotters-backend",
+ "plotters-svg",
+ "wasm-bindgen",
+ "web-sys",
+]
+
+[[package]]
+name = "plotters-backend"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9e76628b4d3a7581389a35d5b6e2139607ad7c75b17aed325f210aa91f4a9609"
+
+[[package]]
+name = "plotters-svg"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38f6d39893cca0701371e3c27294f09797214b86f1fb951b89ade8ec04e2abab"
+dependencies = [
+ "plotters-backend",
 ]
 
 [[package]]
@@ -3921,37 +3952,22 @@ dependencies = [
  "crc32fast",
  "fdeflate",
  "flate2",
- "miniz_oxide 0.7.1",
+ "miniz_oxide",
 ]
 
 [[package]]
 name = "polling"
-version = "2.8.0"
+version = "3.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce"
+checksum = "e0c976a60b2d7e99d6f229e414670a9b85d13ac305cc6d1e9c134de58c5aaaf6"
 dependencies = [
- "autocfg",
- "bitflags 1.3.2",
  "cfg-if",
- "concurrent-queue 2.2.0",
- "libc",
- "log",
+ "concurrent-queue",
+ "hermit-abi 0.3.9",
  "pin-project-lite",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "polling"
-version = "3.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62a79e457c9898100b4298d57d69ec53d06f9a6ed352431ce5f377e082d2e846"
-dependencies = [
- "cfg-if",
- "concurrent-queue 2.2.0",
- "pin-project-lite",
- "rustix 0.38.20",
+ "rustix",
  "tracing 0.1.37",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -3961,6 +3977,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "22686f4785f02a4fcc856d3b3bb19bf6c8160d103f7a99cc258bddd0251dc7f2"
 
 [[package]]
+name = "powerfmt"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
+
+[[package]]
 name = "ppv-lite86"
 version = "0.2.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3979,31 +4001,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919"
 dependencies = [
  "once_cell",
- "toml_edit 0.19.14",
-]
-
-[[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 1.0.101",
- "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",
+ "toml_edit 0.19.15",
 ]
 
 [[package]]
@@ -4014,14 +4012,27 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068"
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.69"
+version = "1.0.79"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da"
+checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e"
 dependencies = [
  "unicode-ident",
 ]
 
 [[package]]
+name = "proc-macro2-diagnostics"
+version = "0.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.57",
+ "version_check",
+ "yansi",
+]
+
+[[package]]
 name = "profiling"
 version = "1.0.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4048,48 +4059,37 @@ dependencies = [
 
 [[package]]
 name = "pulldown-cmark"
-version = "0.9.3"
+version = "0.10.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77a1a2f1f0a7ecff9c31abbe177637be0e97a0aef46cf8738ece09327985d998"
+checksum = "5f0530d13d87d1f549b66a3e8d0c688952abe5994e204ed62615baaf25dc029c"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.5.0",
  "getopts",
  "memchr",
+ "pulldown-cmark-escape",
  "unicase",
 ]
 
 [[package]]
-name = "qoi"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f6d64c71eb498fe9eae14ce4ec935c555749aef511cca85b5568910d6e48001"
-dependencies = [
- "bytemuck",
-]
-
-[[package]]
-name = "quick-xml"
-version = "0.28.2"
+name = "pulldown-cmark-escape"
+version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ce5e73202a820a31f8a0ee32ada5e21029c81fd9e3ebf668a40832e4219d9d1"
-dependencies = [
- "memchr",
-]
+checksum = "d5d8f9aa0e3cbcfaf8bf00300004ee3b72f74770f9cbac93f6928771f613276b"
 
 [[package]]
 name = "quick-xml"
-version = "0.30.0"
+version = "0.31.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eff6510e86862b57b210fd8cbe8ed3f0d7d600b9c2863cd4549a2e033c66e956"
+checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33"
 dependencies = [
  "memchr",
 ]
 
 [[package]]
 name = "quote"
-version = "1.0.33"
+version = "1.0.35"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
+checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
 dependencies = [
  "proc-macro2",
 ]
@@ -4159,9 +4159,9 @@ checksum = "42a9830a0e1b9fb145ebb365b8bc4ccd75f290f98c0247deafbbe2c75cefb544"
 
 [[package]]
 name = "rayon"
-version = "1.8.0"
+version = "1.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1"
+checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa"
 dependencies = [
  "either",
  "rayon-core",
@@ -4169,21 +4169,15 @@ dependencies = [
 
 [[package]]
 name = "rayon-core"
-version = "1.12.0"
+version = "1.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed"
+checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
 dependencies = [
  "crossbeam-deque",
  "crossbeam-utils",
 ]
 
 [[package]]
-name = "rctree"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b42e27ef78c35d3998403c1d26f3efd9e135d3e5121b0a4845cc5cc27547f4f"
-
-[[package]]
 name = "rect_packer"
 version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4208,6 +4202,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "redox_syscall"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
+dependencies = [
+ "bitflags 1.3.2",
+]
+
+[[package]]
 name = "redox_users"
 version = "0.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4221,10 +4224,9 @@ dependencies = [
 [[package]]
 name = "regalloc2"
 version = "0.9.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ad156d539c879b7a24a363a2016d77961786e71f48f2e2fc8302a92abd2429a6"
+source = "git+https://github.com/bytecodealliance/regalloc2?rev=5d79e12d0a93b10fc181f4da409b4671dd365228#5d79e12d0a93b10fc181f4da409b4671dd365228"
 dependencies = [
- "hashbrown 0.13.2",
+ "hashbrown",
  "log",
  "rustc-hash",
  "slice-group-by",
@@ -4233,38 +4235,21 @@ dependencies = [
 
 [[package]]
 name = "regex"
-version = "1.10.2"
+version = "1.10.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
+checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c"
 dependencies = [
  "aho-corasick 1.1.2",
  "memchr",
- "regex-automata 0.4.3",
+ "regex-automata",
  "regex-syntax 0.8.2",
 ]
 
 [[package]]
 name = "regex-automata"
-version = "0.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
-
-[[package]]
-name = "regex-automata"
-version = "0.3.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59b23e92ee4318893fa3fe3e6fb365258efbfe6ac6ab30f090cdcbb7aa37efa9"
-dependencies = [
- "aho-corasick 1.1.2",
- "memchr",
- "regex-syntax 0.7.5",
-]
-
-[[package]]
-name = "regex-automata"
-version = "0.4.3"
+version = "0.4.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
+checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea"
 dependencies = [
  "aho-corasick 1.1.2",
  "memchr",
@@ -4279,12 +4264,6 @@ checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244"
 
 [[package]]
 name = "regex-syntax"
-version = "0.7.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da"
-
-[[package]]
-name = "regex-syntax"
 version = "0.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
@@ -4306,11 +4285,11 @@ checksum = "216080ab382b992234dda86873c18d4c48358f5cfcb70fd693d7f6f2131b628b"
 
 [[package]]
 name = "reqwest"
-version = "0.11.22"
+version = "0.11.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "046cd98826c46c2ac8ddecae268eb5c2e58628688a5fc7a2643704a73faba95b"
+checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62"
 dependencies = [
- "base64",
+ "base64 0.21.7",
  "bytes",
  "encoding_rs",
  "futures-core",
@@ -4328,9 +4307,11 @@ dependencies = [
  "once_cell",
  "percent-encoding",
  "pin-project-lite",
+ "rustls-pemfile",
  "serde",
  "serde_json",
  "serde_urlencoded",
+ "sync_wrapper",
  "system-configuration",
  "tokio",
  "tokio-native-tls",
@@ -4345,9 +4326,9 @@ dependencies = [
 
 [[package]]
 name = "resvg"
-version = "0.33.0"
+version = "0.40.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1df5f3de3bb51d8a4766a1ef5d85851f2737716dea899516248d25e313a51b0d"
+checksum = "024e40e1ba7313fc315b1720298988c0cd6f8bfe3754b52838aafecebd11355a"
 dependencies = [
  "gif",
  "jpeg-decoder",
@@ -4355,35 +4336,32 @@ dependencies = [
  "pico-args",
  "png",
  "rgb",
- "svgfilters",
  "svgtypes",
- "tiny-skia 0.9.1",
+ "tiny-skia",
  "usvg",
 ]
 
 [[package]]
 name = "rfd"
-version = "0.11.4"
+version = "0.14.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fe664af397d2b6a13a8ba1d172a2b5c87c6c5149039edbf8fa122b98c9ed96f"
+checksum = "25a73a7337fc24366edfca76ec521f51877b114e42dab584008209cca6719251"
 dependencies = [
  "ashpd",
- "async-io",
  "block",
  "dispatch",
- "futures-util",
  "js-sys",
  "log",
  "objc",
  "objc-foundation",
  "objc_id",
  "pollster",
- "raw-window-handle 0.5.2",
+ "raw-window-handle 0.6.0",
  "urlencoding",
  "wasm-bindgen",
  "wasm-bindgen-futures",
  "web-sys",
- "windows 0.44.0",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
@@ -4396,19 +4374,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "rosvgtree"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ad747e7384940e7bf33b15ba433b7bad9f44c0c6d5287a67c2cb22cd1743d497"
-dependencies = [
- "log",
- "roxmltree",
- "simplecss",
- "siphasher",
- "svgtypes",
-]
-
-[[package]]
 name = "roxmltree"
 version = "0.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4418,6 +4383,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "roxmltree"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3cd14fd5e3b777a7422cca79358c57a8f6e3a703d9ac187448d0daf220c2407f"
+
+[[package]]
 name = "rustc-demangle"
 version = "0.1.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4440,31 +4411,17 @@ dependencies = [
 
 [[package]]
 name = "rustix"
-version = "0.37.23"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06"
-dependencies = [
- "bitflags 1.3.2",
- "errno",
- "io-lifetimes 1.0.11",
- "libc",
- "linux-raw-sys 0.3.8",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "rustix"
-version = "0.38.20"
+version = "0.38.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67ce50cb2e16c2903e30d1cbccfd8387a74b9d4c938b6a4c5ec6cc7556f7a8a0"
+checksum = "65e04861e65f21776e67888bfbea442b3642beaa0138fdb1dd7a84a52dffdb89"
 dependencies = [
- "bitflags 2.4.0",
+ "bitflags 2.5.0",
  "errno",
  "itoa",
  "libc",
- "linux-raw-sys 0.4.10",
+ "linux-raw-sys 0.4.13",
  "once_cell",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -4475,39 +4432,38 @@ checksum = "a25c3aad9fc1424eb82c88087789a7d938e1829724f3e4043163baf0d13cfc12"
 dependencies = [
  "errno",
  "libc",
- "rustix 0.38.20",
+ "rustix",
 ]
 
 [[package]]
-name = "rustybuzz"
-version = "0.7.0"
+name = "rustls-pemfile"
+version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "162bdf42e261bee271b3957691018634488084ef577dddeb6420a9684cab2a6a"
+checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c"
 dependencies = [
- "bitflags 1.3.2",
- "bytemuck",
- "smallvec",
- "ttf-parser 0.18.1",
- "unicode-bidi-mirroring",
- "unicode-ccc",
- "unicode-general-category",
- "unicode-script",
+ "base64 0.21.7",
 ]
 
 [[package]]
+name = "rustversion"
+version = "1.0.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4"
+
+[[package]]
 name = "rustybuzz"
-version = "0.8.0"
+version = "0.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "82eea22c8f56965eeaf3a209b3d24508256c7b920fb3b6211b8ba0f7c0583250"
+checksum = "f0ae5692c5beaad6a9e22830deeed7874eae8a4e3ba4076fb48e12c56856222c"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.5.0",
  "bytemuck",
  "libm",
  "smallvec",
- "ttf-parser 0.19.1",
+ "ttf-parser 0.20.0",
  "unicode-bidi-mirroring",
  "unicode-ccc",
- "unicode-general-category",
+ "unicode-properties",
  "unicode-script",
 ]
 
@@ -4518,12 +4474,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09"
 
 [[package]]
-name = "safemem"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072"
-
-[[package]]
 name = "same-file"
 version = "1.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4564,7 +4514,7 @@ dependencies = [
  "log",
  "memmap2 0.9.0",
  "smithay-client-toolkit",
- "tiny-skia 0.11.1",
+ "tiny-skia",
 ]
 
 [[package]]
@@ -4604,22 +4554,22 @@ checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090"
 
 [[package]]
 name = "serde"
-version = "1.0.190"
+version = "1.0.197"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91d3c334ca1ee894a2c6f6ad698fe8c435b76d504b13d436f0685d648d6d96f7"
+checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.190"
+version = "1.0.197"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67c5609f394e5c2bd7fc51efda478004ea80ef42fee983d5c67a65e34f32c0e3"
+checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.57",
 ]
 
 [[package]]
@@ -4641,7 +4591,7 @@ checksum = "1fe39d9fbb0ebf5eb2c7cb7e2a47e4f462fad1379f1166b8ae49ad9eae89a7ca"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 1.0.101",
+ "syn 1.0.109",
 ]
 
 [[package]]
@@ -4666,38 +4616,21 @@ dependencies = [
 ]
 
 [[package]]
-name = "serde_yaml"
-version = "0.9.25"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a49e178e4452f45cb61d0cd8cebc1b0fafd3e41929e996cef79aa3aca91f574"
-dependencies = [
- "indexmap 2.0.2",
- "itoa",
- "ryu",
- "serde",
- "unsafe-libyaml",
-]
-
-[[package]]
 name = "sha1"
-version = "0.6.1"
+version = "0.10.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1da05c97445caa12d05e848c4a4fcbbea29e748ac28f7e80e9b010392063770"
+checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba"
 dependencies = [
- "sha1_smol",
+ "cfg-if",
+ "cpufeatures",
+ "digest",
 ]
 
 [[package]]
-name = "sha1_smol"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012"
-
-[[package]]
 name = "sha2"
-version = "0.10.7"
+version = "0.10.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8"
+checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
 dependencies = [
  "cfg-if",
  "cpufeatures",
@@ -4782,22 +4715,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "sled"
-version = "0.34.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f96b4737c2ce5987354855aed3797279def4ebf734436c6aa4552cf8e169935"
-dependencies = [
- "crc32fast",
- "crossbeam-epoch",
- "crossbeam-utils",
- "fs2",
- "fxhash",
- "libc",
- "log",
- "parking_lot 0.11.2",
-]
-
-[[package]]
 name = "slice-group-by"
 version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4805,18 +4722,18 @@ checksum = "03b634d87b960ab1a38c4fe143b508576f075e7c978bfad18217645ebfdfa2ec"
 
 [[package]]
 name = "slotmap"
-version = "1.0.6"
+version = "1.0.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1e08e261d0e8f5c43123b7adf3e4ca1690d655377ac93a03b2c9d3e98de1342"
+checksum = "dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a"
 dependencies = [
  "version_check",
 ]
 
 [[package]]
 name = "smallvec"
-version = "1.11.1"
+version = "1.13.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a"
+checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
 
 [[package]]
 name = "smithay-client-toolkit"
@@ -4824,22 +4741,22 @@ version = "0.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "60e3d9941fa3bacf7c2bf4b065304faa14164151254cd16ce1b1bc8fc381600f"
 dependencies = [
- "bitflags 2.4.0",
+ "bitflags 2.5.0",
  "calloop",
  "calloop-wayland-source",
  "cursor-icon",
  "libc",
  "log",
  "memmap2 0.9.0",
- "rustix 0.38.20",
+ "rustix",
  "thiserror",
- "wayland-backend 0.3.2",
- "wayland-client 0.31.1",
+ "wayland-backend",
+ "wayland-client",
  "wayland-csd-frame",
  "wayland-cursor",
  "wayland-protocols",
  "wayland-protocols-wlr",
- "wayland-scanner 0.31.0",
+ "wayland-scanner",
  "xkeysym",
 ]
 
@@ -4851,7 +4768,7 @@ checksum = "0bb62b280ce5a5cba847669933a0948d00904cf83845c944eae96a4738cea1a6"
 dependencies = [
  "libc",
  "smithay-client-toolkit",
- "wayland-backend 0.3.2",
+ "wayland-backend",
 ]
 
 [[package]]
@@ -4885,46 +4802,36 @@ dependencies = [
 
 [[package]]
 name = "softbuffer"
-version = "0.3.1"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8bd56fe5e6c6f1881aad2bd37acaef4ac4a3689c970dfcbd87a36a6e60210ec8"
+checksum = "071916a85d1db274b4ed57af3a14afb66bd836ae7f82ebb6f1fd3455107830d9"
 dependencies = [
  "as-raw-xcb-connection",
  "bytemuck",
- "cfg_aliases",
+ "cfg_aliases 0.2.0",
  "cocoa",
  "core-graphics",
  "drm",
- "drm-sys",
  "fastrand 2.0.1",
  "foreign-types 0.5.0",
  "js-sys",
  "log",
- "memmap2 0.7.1",
- "nix 0.26.4",
+ "memmap2 0.9.0",
  "objc",
- "raw-window-handle 0.5.2",
- "redox_syscall 0.3.5",
+ "raw-window-handle 0.6.0",
+ "redox_syscall 0.4.1",
+ "rustix",
  "tiny-xlib",
  "wasm-bindgen",
- "wayland-backend 0.1.2",
- "wayland-client 0.30.2",
- "wayland-sys 0.30.1",
+ "wayland-backend",
+ "wayland-client",
+ "wayland-sys",
  "web-sys",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
  "x11rb",
 ]
 
 [[package]]
-name = "spin"
-version = "0.9.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
-dependencies = [
- "lock_api",
-]
-
-[[package]]
 name = "spinning"
 version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4935,12 +4842,11 @@ dependencies = [
 
 [[package]]
 name = "spirv"
-version = "0.2.0+1.5.4"
+version = "0.3.0+sdk-1.3.268.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "246bfa38fe3db3f1dfc8ca5a2cdeb7348c78be2112740cc0ec8ef18b6d94f830"
+checksum = "eda41003dc44290527a59b13432d4a0379379fa074b70174882adfbdfd917844"
 dependencies = [
- "bitflags 1.3.2",
- "num-traits",
+ "bitflags 2.5.0",
 ]
 
 [[package]]
@@ -4969,7 +4875,7 @@ checksum = "63eada6d62b660f5c1d4862c180ae70193de86df12386eee74da694ae2177583"
 dependencies = [
  "atomic",
  "crossbeam-channel",
- "parking_lot 0.12.1",
+ "parking_lot",
  "rand",
  "seahash",
  "thiserror",
@@ -4996,49 +4902,40 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
 [[package]]
 name = "structdesc"
 version = "0.1.0"
-source = "git+https://github.com/lapce/structdesc#a6a2b8ab65d43475238f889736c4aa5dfff4500a"
+source = "git+https://github.com/lapce/structdesc#47d8201fb13240166f4d842c718d63c1e24f0236"
 dependencies = [
  "darling",
  "proc-macro2",
  "quote",
- "syn 1.0.101",
+ "syn 1.0.109",
 ]
 
 [[package]]
 name = "strum"
-version = "0.21.0"
+version = "0.26.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aaf86bbcfd1fa9670b7a129f64fc0c9fcbbfe4f1bc4210e9e98fe71ffc12cde2"
+checksum = "5d8cec3501a5194c432b2b7976db6b7d10ec95c253208b45f83f7136aa985e29"
 
 [[package]]
 name = "strum_macros"
-version = "0.21.1"
+version = "0.26.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d06aaeeee809dbc59eb4556183dd927df67db1540de5be8d3ec0b6636358a5ec"
+checksum = "c6cf59daf282c0a494ba14fd21610a0325f9f90ec9d1231dea26bcb1d696c946"
 dependencies = [
- "heck 0.3.3",
+ "heck",
  "proc-macro2",
  "quote",
- "syn 1.0.101",
-]
-
-[[package]]
-name = "svgfilters"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "639abcebc15fdc2df179f37d6f5463d660c1c79cd552c12343a4600827a04bce"
-dependencies = [
- "float-cmp",
- "rgb",
+ "rustversion",
+ "syn 2.0.57",
 ]
 
 [[package]]
 name = "svgtypes"
-version = "0.11.0"
+version = "0.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed4b0611e7f3277f68c0fa18e385d9e2d26923691379690039548f867cef02a7"
+checksum = "59d7618f12b51be8171a7cfdda1e7a93f79cbc57c4e7adf89a749cf671125241"
 dependencies = [
- "kurbo",
+ "kurbo 0.10.4",
  "siphasher",
 ]
 
@@ -5054,9 +4951,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "1.0.101"
+version = "1.0.109"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e90cde112c4b9690b8cbe810cba9ddd8bc1d7472e2cae317b69e9438c1cba7d2"
+checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -5065,9 +4962,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.38"
+version = "2.0.57"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b"
+checksum = "11a6ae1e52eb25aab8f3fb9fca13be982a373b8f1157ca14b897a825ba4a2d35"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -5075,6 +4972,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "sync_wrapper"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160"
+
+[[package]]
 name = "sys-locale"
 version = "0.2.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5114,33 +5017,34 @@ version = "0.26.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "27ce32341b2c0b70c144bbf35627fdc1ef18c76ced5e5e7b3ee8b5ba6b2ab6a0"
 dependencies = [
- "bitflags 2.4.0",
+ "bitflags 2.5.0",
  "cap-fs-ext",
  "cap-std",
  "fd-lock",
- "io-lifetimes 2.0.2",
- "rustix 0.38.20",
+ "io-lifetimes",
+ "rustix",
  "windows-sys 0.48.0",
  "winx",
 ]
 
 [[package]]
 name = "taffy"
-version = "0.3.18"
+version = "0.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c2287b6d7f721ada4cddf61ade5e760b2c6207df041cac9bfaa192897362fd3"
+checksum = "7b2e140b328c6cb5e744bb2c65910b47df86b239afc793ee2c52262569cf9225"
 dependencies = [
  "arrayvec",
  "grid",
  "num-traits",
+ "serde",
  "slotmap",
 ]
 
 [[package]]
 name = "tar"
-version = "0.4.38"
+version = "0.4.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b55807c0344e1e6c04d7c965f5289c39a8d94ae23ed5c0b57aabac549f871c6"
+checksum = "b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb"
 dependencies = [
  "filetime",
  "libc",
@@ -5169,48 +5073,31 @@ dependencies = [
 
 [[package]]
 name = "termcolor"
-version = "1.1.3"
+version = "1.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755"
+checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
 dependencies = [
  "winapi-util",
 ]
 
 [[package]]
-name = "textwrap"
-version = "0.16.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
-
-[[package]]
 name = "thiserror"
-version = "1.0.50"
+version = "1.0.58"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2"
+checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.50"
+version = "1.0.58"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8"
+checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
-]
-
-[[package]]
-name = "thread-id"
-version = "4.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5fdfe0627923f7411a43ec9ec9c39c3a9b4151be313e0922042581fb6c9b717f"
-dependencies = [
- "libc",
- "redox_syscall 0.2.16",
- "winapi",
+ "syn 2.0.57",
 ]
 
 [[package]]
@@ -5223,83 +5110,56 @@ dependencies = [
 ]
 
 [[package]]
-name = "tiff"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d172b0f4d3fba17ba89811858b9d3d97f928aece846475bbda076ca46736211"
-dependencies = [
- "flate2",
- "jpeg-decoder",
- "weezl",
-]
-
-[[package]]
 name = "time"
-version = "0.1.44"
+version = "0.3.34"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255"
+checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749"
 dependencies = [
- "libc",
- "wasi 0.10.0+wasi-snapshot-preview1",
- "winapi",
+ "deranged",
+ "itoa",
+ "num-conv",
+ "powerfmt",
+ "serde",
+ "time-core",
+ "time-macros",
 ]
 
 [[package]]
-name = "time"
-version = "0.3.14"
+name = "time-core"
+version = "0.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c3f9a28b618c3a6b9251b6908e9c99e04b9e5c02e6581ccbb67d59c34ef7f9b"
-dependencies = [
- "itoa",
- "libc",
- "num_threads",
-]
+checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
 
 [[package]]
-name = "tiny-skia"
-version = "0.9.1"
+name = "time-macros"
+version = "0.2.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce2986c82f77818c7b9144c70818fdde98db15308e329ae2f7204d767808fd3c"
+checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774"
 dependencies = [
- "arrayref",
- "arrayvec",
- "bytemuck",
- "cfg-if",
- "log",
- "png",
- "tiny-skia-path 0.9.0",
+ "num-conv",
+ "time-core",
 ]
 
 [[package]]
 name = "tiny-skia"
-version = "0.11.1"
+version = "0.11.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4e37fdc219ee3d551882d24dc5e4df5f72fd9723cbca1ffaa57f7348bf7a47d"
+checksum = "83d13394d44dae3207b52a326c0c85a8bf87f1541f23b0d143811088497b09ab"
 dependencies = [
  "arrayref",
  "arrayvec",
  "bytemuck",
  "cfg-if",
  "log",
- "tiny-skia-path 0.11.1",
-]
-
-[[package]]
-name = "tiny-skia-path"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7acb0ccda1ac91084353a56d0b69b0e29c311fd809d2088b1ed2f9ae1841c47"
-dependencies = [
- "arrayref",
- "bytemuck",
- "strict-num",
+ "png",
+ "tiny-skia-path",
 ]
 
 [[package]]
 name = "tiny-skia-path"
-version = "0.11.1"
+version = "0.11.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93a323d1de20dad9bc8b32daf57702c585ce76e80792d8151de1fc9dfc8d1ca7"
+checksum = "9c9e7fc0c2e86a30b117d0462aa261b72b7a99b7ebd7deb3a14ceda95c5bdc93"
 dependencies = [
  "arrayref",
  "bytemuck",
@@ -5313,12 +5173,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d4098d49269baa034a8d1eae9bd63e9fa532148d772121dace3bcd6a6c98eb6d"
 dependencies = [
  "as-raw-xcb-connection",
- "ctor 0.2.5",
+ "ctor",
  "libloading 0.8.1",
  "tracing 0.1.37",
 ]
 
 [[package]]
+name = "tinytemplate"
+version = "1.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc"
+dependencies = [
+ "serde",
+ "serde_json",
+]
+
+[[package]]
 name = "tinyvec"
 version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5341,16 +5211,16 @@ checksum = "c7c4ceeeca15c8384bbc3e011dbd8fccb7f068a440b752b7d9b32ceb0ca0e2e8"
 
 [[package]]
 name = "tokio"
-version = "1.33.0"
+version = "1.36.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f38200e3ef7995e5ef13baec2f432a6da0aa9ac495b2c0e8f3b7eec2c92d653"
+checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931"
 dependencies = [
  "backtrace",
  "bytes",
  "libc",
  "mio",
  "num_cpus",
- "parking_lot 0.12.1",
+ "parking_lot",
  "pin-project-lite",
  "signal-hook-registry",
  "socket2 0.5.5",
@@ -5360,13 +5230,13 @@ dependencies = [
 
 [[package]]
 name = "tokio-macros"
-version = "2.1.0"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
+checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.57",
 ]
 
 [[package]]
@@ -5415,18 +5285,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "toml"
-version = "0.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "185d8ab0dfbb35cf1399a6344d8484209c088f75f8f68230da55d48d95d43e3d"
-dependencies = [
- "serde",
- "serde_spanned",
- "toml_datetime",
- "toml_edit 0.20.2",
-]
-
-[[package]]
 name = "toml_datetime"
 version = "0.6.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5437,13 +5295,11 @@ dependencies = [
 
 [[package]]
 name = "toml_edit"
-version = "0.19.14"
+version = "0.19.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a"
+checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
 dependencies = [
- "indexmap 2.0.2",
- "serde",
- "serde_spanned",
+ "indexmap",
  "toml_datetime",
  "winnow",
 ]
@@ -5454,7 +5310,7 @@ version = "0.20.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338"
 dependencies = [
- "indexmap 2.0.2",
+ "indexmap",
  "serde",
  "serde_spanned",
  "toml_datetime",
@@ -5483,7 +5339,7 @@ dependencies = [
 [[package]]
 name = "tracing"
 version = "0.2.0"
-source = "git+https://github.com/tokio-rs/tracing?rev=c14525e1610db88986f849d46bd3e9795878b012#c14525e1610db88986f849d46bd3e9795878b012"
+source = "git+https://github.com/tokio-rs/tracing?rev=908cc432a5994f6e17c8f36e13c217dc40085704#908cc432a5994f6e17c8f36e13c217dc40085704"
 dependencies = [
  "pin-project-lite",
  "tracing-attributes 0.2.0",
@@ -5493,11 +5349,11 @@ dependencies = [
 [[package]]
 name = "tracing-appender"
 version = "0.2.0"
-source = "git+https://github.com/tokio-rs/tracing?rev=c14525e1610db88986f849d46bd3e9795878b012#c14525e1610db88986f849d46bd3e9795878b012"
+source = "git+https://github.com/tokio-rs/tracing?rev=908cc432a5994f6e17c8f36e13c217dc40085704#908cc432a5994f6e17c8f36e13c217dc40085704"
 dependencies = [
  "crossbeam-channel",
  "thiserror",
- "time 0.3.14",
+ "time",
  "tracing-subscriber",
 ]
 
@@ -5509,17 +5365,17 @@ checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 1.0.101",
+ "syn 1.0.109",
 ]
 
 [[package]]
 name = "tracing-attributes"
 version = "0.2.0"
-source = "git+https://github.com/tokio-rs/tracing?rev=c14525e1610db88986f849d46bd3e9795878b012#c14525e1610db88986f849d46bd3e9795878b012"
+source = "git+https://github.com/tokio-rs/tracing?rev=908cc432a5994f6e17c8f36e13c217dc40085704#908cc432a5994f6e17c8f36e13c217dc40085704"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.57",
 ]
 
 [[package]]
@@ -5534,7 +5390,7 @@ dependencies = [
 [[package]]
 name = "tracing-core"
 version = "0.2.0"
-source = "git+https://github.com/tokio-rs/tracing?rev=c14525e1610db88986f849d46bd3e9795878b012#c14525e1610db88986f849d46bd3e9795878b012"
+source = "git+https://github.com/tokio-rs/tracing?rev=908cc432a5994f6e17c8f36e13c217dc40085704#908cc432a5994f6e17c8f36e13c217dc40085704"
 dependencies = [
  "once_cell",
 ]
@@ -5542,7 +5398,7 @@ dependencies = [
 [[package]]
 name = "tracing-log"
 version = "0.2.0"
-source = "git+https://github.com/tokio-rs/tracing?rev=c14525e1610db88986f849d46bd3e9795878b012#c14525e1610db88986f849d46bd3e9795878b012"
+source = "git+https://github.com/tokio-rs/tracing?rev=908cc432a5994f6e17c8f36e13c217dc40085704#908cc432a5994f6e17c8f36e13c217dc40085704"
 dependencies = [
  "log",
  "once_cell",
@@ -5552,7 +5408,7 @@ dependencies = [
 [[package]]
 name = "tracing-subscriber"
 version = "0.3.0"
-source = "git+https://github.com/tokio-rs/tracing?rev=c14525e1610db88986f849d46bd3e9795878b012#c14525e1610db88986f849d46bd3e9795878b012"
+source = "git+https://github.com/tokio-rs/tracing?rev=908cc432a5994f6e17c8f36e13c217dc40085704#908cc432a5994f6e17c8f36e13c217dc40085704"
 dependencies = [
  "nu-ansi-term",
  "sharded-slab",
@@ -5599,9 +5455,9 @@ dependencies = [
 
 [[package]]
 name = "tree-sitter-c"
-version = "0.20.6"
+version = "0.20.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30b03bdf218020057abee831581a74bff8c298323d6c6cd1a70556430ded9f4b"
+checksum = "4bbd5f3d8658c08581f8f2adac6c391c2e9fa00fe9246bf6c5f52213b9cc6b72"
 dependencies = [
  "cc",
  "tree-sitter",
@@ -5609,9 +5465,9 @@ dependencies = [
 
 [[package]]
 name = "tree-sitter-cpp"
-version = "0.20.0"
+version = "0.20.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a869e3c5cef4e5db4e9ab16a8dc84d73010e60ada14cdc60d2f6d8aed17779d"
+checksum = "46b04a5ada71059afb9895966a6cc1094acc8d2ea1971006db26573e7dfebb74"
 dependencies = [
  "cc",
  "tree-sitter",
@@ -5619,9 +5475,9 @@ dependencies = [
 
 [[package]]
 name = "tree-sitter-javascript"
-version = "0.20.1"
+version = "0.20.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "edbc663376bdd294bd1f0a6daf859aedb9aa5bdb72217d7ad8ba2d5314102cf7"
+checksum = "d015c02ea98b62c806f7329ff71c383286dfc3a7a7da0cc484f6e42922f73c2c"
 dependencies = [
  "cc",
  "tree-sitter",
@@ -5629,8 +5485,9 @@ dependencies = [
 
 [[package]]
 name = "tree-sitter-json"
-version = "0.20.0"
-source = "git+https://github.com/tree-sitter/tree-sitter-json.git?rev=11e2cc12d9b267766fb11a06e52952792fd8e3f0#11e2cc12d9b267766fb11a06e52952792fd8e3f0"
+version = "0.20.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a9a38a9c679b55cc8d17350381ec08d69fa1a17a53fcf197f344516e485ed4d"
 dependencies = [
  "cc",
  "tree-sitter",
@@ -5702,18 +5559,6 @@ checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642"
 
 [[package]]
 name = "ttf-parser"
-version = "0.15.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b3e06c9b9d80ed6b745c7159c40b311ad2916abb34a49e9be2653b90db0d8dd"
-
-[[package]]
-name = "ttf-parser"
-version = "0.18.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0609f771ad9c6155384897e1df4d948e692667cc0588548b68eb44d052b27633"
-
-[[package]]
-name = "ttf-parser"
 version = "0.19.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a464a4b34948a5f67fddd2b823c62d9d92e44be75058b99939eae6c5b6960b33"
@@ -5732,10 +5577,11 @@ checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987"
 
 [[package]]
 name = "uds_windows"
-version = "1.0.2"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce65604324d3cce9b966701489fbd0cf318cb1f7bd9dd07ac9a4ee6fb791930d"
+checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9"
 dependencies = [
+ "memoffset 0.9.0",
  "tempfile",
  "winapi",
 ]
@@ -5751,9 +5597,9 @@ dependencies = [
 
 [[package]]
 name = "unicode-bidi"
-version = "0.3.8"
+version = "0.3.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992"
+checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75"
 
 [[package]]
 name = "unicode-bidi-mirroring"
@@ -5768,12 +5614,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "cc2520efa644f8268dce4dcd3050eaa7fc044fca03961e9998ac7e2e92b77cf1"
 
 [[package]]
-name = "unicode-general-category"
-version = "0.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2281c8c1d221438e373249e065ca4989c4c36952c211ff21a0ee91c44a3869e7"
-
-[[package]]
 name = "unicode-ident"
 version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5795,6 +5635,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "unicode-properties"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e4259d9d4425d9f0661581b804cb85fe66a4c631cadd8f490d1c13a35d5d9291"
+
+[[package]]
 name = "unicode-script"
 version = "0.5.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5825,16 +5671,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
 
 [[package]]
-name = "unsafe-libyaml"
-version = "0.2.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f28467d3e1d3c6586d8f25fa243f544f5800fec42d97032474e17222c2b75cfa"
-
-[[package]]
 name = "url"
-version = "2.3.1"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643"
+checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
 dependencies = [
  "form_urlencoded",
  "idna",
@@ -5850,69 +5690,36 @@ checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da"
 
 [[package]]
 name = "usvg"
-version = "0.33.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae32eb823aab35fc343b19c4d354f70e713b442ce34cdfa8497bf6c39af8a342"
-dependencies = [
- "base64",
- "log",
- "pico-args",
- "usvg-parser",
- "usvg-text-layout",
- "usvg-tree",
- "xmlwriter",
-]
-
-[[package]]
-name = "usvg-parser"
-version = "0.33.0"
+version = "0.40.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c7529174e721c8078d62b08399258469b1d68b4e5f2983b347d6a9d39779366c"
+checksum = "c04150a94f0bfc3b2c15d4e151524d14cd06765fc6641d8b1c59a248360d4474"
 dependencies = [
+ "base64 0.21.7",
  "data-url",
  "flate2",
+ "fontdb",
  "imagesize",
- "kurbo",
+ "kurbo 0.9.5",
  "log",
- "rosvgtree",
+ "pico-args",
+ "roxmltree 0.19.0",
+ "rustybuzz",
+ "simplecss",
+ "siphasher",
  "strict-num",
  "svgtypes",
- "usvg-tree",
-]
-
-[[package]]
-name = "usvg-text-layout"
-version = "0.33.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6e672fbc19261c6553113cc04ff2ff38ae52fadbd90f2d814040857795fb5c50"
-dependencies = [
- "fontdb 0.14.1",
- "kurbo",
- "log",
- "rustybuzz 0.7.0",
+ "tiny-skia-path",
  "unicode-bidi",
  "unicode-script",
  "unicode-vo",
- "usvg-tree",
-]
-
-[[package]]
-name = "usvg-tree"
-version = "0.33.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3a56e9cd3be5eb6d6744477e95b82d52d393fc1dba4b5b090912c33af337c20b"
-dependencies = [
- "kurbo",
- "rctree",
- "strict-num",
- "svgtypes",
+ "xmlwriter",
 ]
 
 [[package]]
 name = "utf8parse"
-version = "0.2.0"
+version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "936e4b492acfd135421d8dca4b1aa80a7bfc26e702ef3af710e0752684df5372"
+checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
 
 [[package]]
 name = "uuid"
@@ -5921,16 +5728,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "88ad59a7560b41a70d191093a945f0b87bc1deeda46fb237479708a1d6b6cdfc"
 
 [[package]]
-name = "value-bag"
-version = "1.0.0-alpha.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2209b78d1249f7e6f3293657c9779fe31ced465df091bbd433a1cf88e916ec55"
-dependencies = [
- "ctor 0.1.26",
- "version_check",
-]
-
-[[package]]
 name = "vcpkg"
 version = "0.2.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5943,24 +5740,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
 
 [[package]]
-name = "vger"
-version = "0.2.7"
-source = "git+https://github.com/lapce/vger-rs?rev=ed10537c72a732a03f782225a39da80e6f9acbbe#ed10537c72a732a03f782225a39da80e6f9acbbe"
-dependencies = [
- "cosmic-text",
- "euclid",
- "fontdue",
- "rect_packer",
- "wgpu",
-]
-
-[[package]]
 name = "vte"
-version = "0.12.0"
+version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "401dc1020e10f74d38616c1f1ab92ccd85dc902705a29d0730e0fbea8534f91a"
+checksum = "40eb22ae96f050e0c0d6f7ce43feeae26c348fc4dea56928ca81537cfaa6188b"
 dependencies = [
- "bitflags 2.4.0",
+ "bitflags 2.5.0",
  "cursor-icon",
  "log",
  "serde",
@@ -5979,19 +5764,12 @@ dependencies = [
 ]
 
 [[package]]
-name = "waker-fn"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca"
-
-[[package]]
 name = "walkdir"
-version = "2.3.2"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56"
+checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
 dependencies = [
  "same-file",
- "winapi",
  "winapi-util",
 ]
 
@@ -6007,12 +5785,6 @@ dependencies = [
 
 [[package]]
 name = "wasi"
-version = "0.10.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
-
-[[package]]
-name = "wasi"
 version = "0.11.0+wasi-snapshot-preview1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
@@ -6031,9 +5803,9 @@ dependencies = [
  "cap-time-ext",
  "fs-set-times",
  "io-extras",
- "io-lifetimes 2.0.2",
+ "io-lifetimes",
  "once_cell",
- "rustix 0.38.20",
+ "rustix",
  "system-interface",
  "tracing 0.1.37",
  "wasi-common",
@@ -6047,12 +5819,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6efb2e9d72c6a070d62cf7b698acebab6faca9aacf26412bdecb9fabab79fd09"
 dependencies = [
  "anyhow",
- "bitflags 2.4.0",
+ "bitflags 2.5.0",
  "cap-rand",
  "cap-std",
  "io-extras",
  "log",
- "rustix 0.38.20",
+ "rustix",
  "thiserror",
  "tracing 0.1.37",
  "wasmtime",
@@ -6081,9 +5853,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.87"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
+checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8"
 dependencies = [
  "cfg-if",
  "wasm-bindgen-macro",
@@ -6091,24 +5863,24 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.87"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
+checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da"
 dependencies = [
  "bumpalo",
  "log",
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.57",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-futures"
-version = "0.4.34"
+version = "0.4.42"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454"
+checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0"
 dependencies = [
  "cfg-if",
  "js-sys",
@@ -6118,9 +5890,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.87"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
+checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -6128,22 +5900,22 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.87"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
+checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.57",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.87"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
+checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96"
 
 [[package]]
 name = "wasm-encoder"
@@ -6160,7 +5932,7 @@ version = "0.115.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e06c0641a4add879ba71ccb3a1e4278fd546f76f1eafb21d8f7b07733b547cd5"
 dependencies = [
- "indexmap 2.0.2",
+ "indexmap",
  "semver",
 ]
 
@@ -6187,7 +5959,7 @@ dependencies = [
  "cfg-if",
  "encoding_rs",
  "fxprof-processed-profile",
- "indexmap 2.0.2",
+ "indexmap",
  "libc",
  "log",
  "object",
@@ -6230,15 +6002,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6c16f85353656b301a4472ad649e9b17cc47400cee50a94bd9b24e7886a8130f"
 dependencies = [
  "anyhow",
- "base64",
+ "base64 0.21.7",
  "bincode",
  "directories-next",
  "log",
- "rustix 0.38.20",
+ "rustix",
  "serde",
  "serde_derive",
  "sha2",
- "toml 0.5.9",
+ "toml",
  "windows-sys 0.48.0",
  "zstd",
 ]
@@ -6252,7 +6024,7 @@ dependencies = [
  "anyhow",
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.57",
  "wasmtime-component-util",
  "wasmtime-wit-bindgen",
  "wit-parser",
@@ -6314,7 +6086,7 @@ dependencies = [
  "anyhow",
  "cranelift-entity",
  "gimli",
- "indexmap 2.0.2",
+ "indexmap",
  "log",
  "object",
  "serde",
@@ -6336,7 +6108,7 @@ checksum = "8702d1efdf73df040a586e239fffc6883d88edf60ac6f593b41392cc1f97c754"
 dependencies = [
  "cc",
  "cfg-if",
- "rustix 0.38.20",
+ "rustix",
  "wasmtime-asm-macros",
  "wasmtime-versioned-export-macros",
  "windows-sys 0.48.0",
@@ -6358,7 +6130,7 @@ dependencies = [
  "log",
  "object",
  "rustc-demangle",
- "rustix 0.38.20",
+ "rustix",
  "serde",
  "serde_derive",
  "target-lexicon",
@@ -6377,7 +6149,7 @@ checksum = "0fa128cdc680b5982087ea64eb73b63e96570b338fd6438b704b313eb854fd94"
 dependencies = [
  "object",
  "once_cell",
- "rustix 0.38.20",
+ "rustix",
  "wasmtime-versioned-export-macros",
 ]
 
@@ -6402,7 +6174,7 @@ dependencies = [
  "cc",
  "cfg-if",
  "encoding_rs",
- "indexmap 2.0.2",
+ "indexmap",
  "libc",
  "log",
  "mach",
@@ -6410,7 +6182,7 @@ dependencies = [
  "memoffset 0.9.0",
  "paste",
  "rand",
- "rustix 0.38.20",
+ "rustix",
  "sptr",
  "wasm-encoder",
  "wasmtime-asm-macros",
@@ -6443,7 +6215,7 @@ checksum = "73190422af3b408daa3c791f97f50c62509746c09de934d69dae602c65809663"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.57",
 ]
 
 [[package]]
@@ -6454,7 +6226,7 @@ checksum = "1022616613f6279243392b00990ac81135f0c46018eba620538392342fc93df9"
 dependencies = [
  "anyhow",
  "async-trait",
- "bitflags 2.4.0",
+ "bitflags 2.5.0",
  "bytes",
  "cap-fs-ext",
  "cap-net-ext",
@@ -6464,11 +6236,11 @@ dependencies = [
  "fs-set-times",
  "futures",
  "io-extras",
- "io-lifetimes 2.0.2",
+ "io-lifetimes",
  "libc",
  "log",
  "once_cell",
- "rustix 0.38.20",
+ "rustix",
  "system-interface",
  "thiserror",
  "tokio",
@@ -6505,8 +6277,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f672060c021afd9a3ab72f4e319d1f7bb1f4e973d5e24130bb0bb11eba356f5e"
 dependencies = [
  "anyhow",
- "heck 0.4.0",
- "indexmap 2.0.2",
+ "heck",
+ "indexmap",
  "wit-parser",
 ]
 
@@ -6548,21 +6320,6 @@ dependencies = [
 
 [[package]]
 name = "wayland-backend"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41b48e27457e8da3b2260ac60d0a94512f5cba36448679f3747c0865b7893ed8"
-dependencies = [
- "cc",
- "downcast-rs",
- "io-lifetimes 1.0.11",
- "nix 0.26.4",
- "scoped-tls",
- "smallvec",
- "wayland-sys 0.30.1",
-]
-
-[[package]]
-name = "wayland-backend"
 version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "19152ddd73f45f024ed4534d9ca2594e0ef252c1847695255dae47f34df9fbe4"
@@ -6572,19 +6329,7 @@ dependencies = [
  "nix 0.26.4",
  "scoped-tls",
  "smallvec",
- "wayland-sys 0.31.1",
-]
-
-[[package]]
-name = "wayland-client"
-version = "0.30.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "489c9654770f674fc7e266b3c579f4053d7551df0ceb392f153adb1f9ed06ac8"
-dependencies = [
- "bitflags 1.3.2",
- "nix 0.26.4",
- "wayland-backend 0.1.2",
- "wayland-scanner 0.30.1",
+ "wayland-sys",
 ]
 
 [[package]]
@@ -6593,10 +6338,10 @@ version = "0.31.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1ca7d52347346f5473bf2f56705f360e8440873052e575e55890c4fa57843ed3"
 dependencies = [
- "bitflags 2.4.0",
+ "bitflags 2.5.0",
  "nix 0.26.4",
- "wayland-backend 0.3.2",
- "wayland-scanner 0.31.0",
+ "wayland-backend",
+ "wayland-scanner",
 ]
 
 [[package]]
@@ -6605,9 +6350,9 @@ version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e"
 dependencies = [
- "bitflags 2.4.0",
+ "bitflags 2.5.0",
  "cursor-icon",
- "wayland-backend 0.3.2",
+ "wayland-backend",
 ]
 
 [[package]]
@@ -6617,7 +6362,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a44aa20ae986659d6c77d64d808a046996a932aa763913864dc40c359ef7ad5b"
 dependencies = [
  "nix 0.26.4",
- "wayland-client 0.31.1",
+ "wayland-client",
  "xcursor",
 ]
 
@@ -6627,10 +6372,10 @@ version = "0.31.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e253d7107ba913923dc253967f35e8561a3c65f914543e46843c88ddd729e21c"
 dependencies = [
- "bitflags 2.4.0",
- "wayland-backend 0.3.2",
- "wayland-client 0.31.1",
- "wayland-scanner 0.31.0",
+ "bitflags 2.5.0",
+ "wayland-backend",
+ "wayland-client",
+ "wayland-scanner",
 ]
 
 [[package]]
@@ -6639,11 +6384,11 @@ version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "23803551115ff9ea9bce586860c5c5a971e360825a0309264102a9495a5ff479"
 dependencies = [
- "bitflags 2.4.0",
- "wayland-backend 0.3.2",
- "wayland-client 0.31.1",
+ "bitflags 2.5.0",
+ "wayland-backend",
+ "wayland-client",
  "wayland-protocols",
- "wayland-scanner 0.31.0",
+ "wayland-scanner",
 ]
 
 [[package]]
@@ -6652,49 +6397,26 @@ version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ad1f61b76b6c2d8742e10f9ba5c3737f6530b4c243132c2a2ccc8aa96fe25cd6"
 dependencies = [
- "bitflags 2.4.0",
- "wayland-backend 0.3.2",
- "wayland-client 0.31.1",
+ "bitflags 2.5.0",
+ "wayland-backend",
+ "wayland-client",
  "wayland-protocols",
- "wayland-scanner 0.31.0",
-]
-
-[[package]]
-name = "wayland-scanner"
-version = "0.30.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9b873b257fbc32ec909c0eb80dea312076a67014e65e245f5eb69a6b8ab330e"
-dependencies = [
- "proc-macro2",
- "quick-xml 0.28.2",
- "quote",
+ "wayland-scanner",
 ]
 
 [[package]]
 name = "wayland-scanner"
-version = "0.31.0"
+version = "0.31.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb8e28403665c9f9513202b7e1ed71ec56fde5c107816843fb14057910b2c09c"
+checksum = "63b3a62929287001986fb58c789dce9b67604a397c15c611ad9f747300b6c283"
 dependencies = [
  "proc-macro2",
- "quick-xml 0.30.0",
+ "quick-xml",
  "quote",
 ]
 
 [[package]]
 name = "wayland-sys"
-version = "0.30.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96b2a02ac608e07132978689a6f9bf4214949c85998c247abadd4f4129b1aa06"
-dependencies = [
- "dlib",
- "lazy_static",
- "log",
- "pkg-config",
-]
-
-[[package]]
-name = "wayland-sys"
 version = "0.31.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "15a0c8eaff5216d07f226cb7a549159267f3467b289d9a2e52fd3ef5aae2b7af"
@@ -6707,9 +6429,9 @@ dependencies = [
 
 [[package]]
 name = "web-sys"
-version = "0.3.64"
+version = "0.3.69"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b"
+checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef"
 dependencies = [
  "js-sys",
  "wasm-bindgen",
@@ -6739,25 +6461,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f390449c16e0679435fc97a6b49d24e67f09dd05fea1de54db1b60902896d273"
 dependencies = [
  "atomic-waker",
- "parking_lot 0.12.1",
+ "parking_lot",
  "triomphe",
 ]
 
 [[package]]
 name = "wgpu"
-version = "0.18.0"
+version = "0.19.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30e7d227c9f961f2061c26f4cb0fbd4df0ef37e056edd0931783599d6c94ef24"
+checksum = "a4b1213b52478a7631d6e387543ed8f642bc02c578ef4e3b49aca2a29a7df0cb"
 dependencies = [
  "arrayvec",
  "cfg-if",
- "flume",
+ "cfg_aliases 0.1.1",
  "js-sys",
  "log",
  "naga",
- "parking_lot 0.12.1",
+ "parking_lot",
  "profiling",
- "raw-window-handle 0.5.2",
+ "raw-window-handle 0.6.0",
  "smallvec",
  "static_assertions",
  "wasm-bindgen",
@@ -6770,19 +6492,22 @@ dependencies = [
 
 [[package]]
 name = "wgpu-core"
-version = "0.18.0"
+version = "0.19.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "837e02ddcdc6d4a9b56ba4598f7fd4202a7699ab03f6ef4dcdebfad2c966aea6"
+checksum = "f9f6b033c2f00ae0bc8ea872c5989777c60bc241aac4e58b24774faa8b391f78"
 dependencies = [
  "arrayvec",
  "bit-vec",
- "bitflags 2.4.0",
+ "bitflags 2.5.0",
+ "cfg_aliases 0.1.1",
  "codespan-reporting",
+ "indexmap",
  "log",
  "naga",
- "parking_lot 0.12.1",
+ "once_cell",
+ "parking_lot",
  "profiling",
- "raw-window-handle 0.5.2",
+ "raw-window-handle 0.6.0",
  "rustc-hash",
  "smallvec",
  "thiserror",
@@ -6793,16 +6518,17 @@ dependencies = [
 
 [[package]]
 name = "wgpu-hal"
-version = "0.18.0"
+version = "0.19.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e30b9a8155c83868e82a8c5d3ce899de6c3961d2ef595de8fc168a1677fc2d8"
+checksum = "49f972c280505ab52ffe17e94a7413d9d54b58af0114ab226b9fc4999a47082e"
 dependencies = [
  "android_system_properties",
  "arrayvec",
  "ash",
  "bit-set",
- "bitflags 2.4.0",
+ "bitflags 2.5.0",
  "block",
+ "cfg_aliases 0.1.1",
  "core-graphics-types",
  "d3d12",
  "glow",
@@ -6818,12 +6544,13 @@ dependencies = [
  "log",
  "metal",
  "naga",
+ "ndk-sys",
  "objc",
  "once_cell",
- "parking_lot 0.12.1",
+ "parking_lot",
  "profiling",
  "range-alloc",
- "raw-window-handle 0.5.2",
+ "raw-window-handle 0.6.0",
  "renderdoc-sys",
  "rustc-hash",
  "smallvec",
@@ -6836,11 +6563,11 @@ dependencies = [
 
 [[package]]
 name = "wgpu-types"
-version = "0.18.0"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d5ed5f0edf0de351fe311c53304986315ce866f394a2e6df0c4b3c70774bcdd"
+checksum = "b671ff9fb03f78b46ff176494ee1ebe7d603393f42664be55b64dc8d53969805"
 dependencies = [
- "bitflags 2.4.0",
+ "bitflags 2.5.0",
  "js-sys",
  "web-sys",
 ]
@@ -6859,7 +6586,7 @@ checksum = "334709283558d9ebb0206cd1842c4fa619ff467d68c71eff982376d9c999d636"
 dependencies = [
  "anyhow",
  "async-trait",
- "bitflags 2.4.0",
+ "bitflags 2.5.0",
  "thiserror",
  "tracing 0.1.37",
  "wasmtime",
@@ -6873,11 +6600,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4143cb3a8c65efceba6fc3bf49769b7b5d60090f1226e708365044c1136584ee"
 dependencies = [
  "anyhow",
- "heck 0.4.0",
+ "heck",
  "proc-macro2",
  "quote",
  "shellexpand",
- "syn 2.0.38",
+ "syn 2.0.57",
  "witx",
 ]
 
@@ -6889,7 +6616,7 @@ checksum = "56981968f26952a527f78cf3aeb5ac436db82d3be1682a217a1835754fa50f51"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.57",
  "wiggle-generate",
 ]
 
@@ -6919,15 +6646,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "winapi-wsapoll"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44c17110f57155602a80dca10be03852116403c9ff3cd25b079d666f2aa3df6e"
-dependencies = [
- "winapi",
-]
-
-[[package]]
 name = "winapi-x86_64-pc-windows-gnu"
 version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -7009,6 +6727,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets 0.52.0",
+]
+
+[[package]]
 name = "windows-targets"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -7039,6 +6766,21 @@ dependencies = [
 ]
 
 [[package]]
+name = "windows-targets"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
+dependencies = [
+ "windows_aarch64_gnullvm 0.52.0",
+ "windows_aarch64_msvc 0.52.0",
+ "windows_i686_gnu 0.52.0",
+ "windows_i686_msvc 0.52.0",
+ "windows_x86_64_gnu 0.52.0",
+ "windows_x86_64_gnullvm 0.52.0",
+ "windows_x86_64_msvc 0.52.0",
+]
+
+[[package]]
 name = "windows_aarch64_gnullvm"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -7051,6 +6793,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
 
 [[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
+
+[[package]]
 name = "windows_aarch64_msvc"
 version = "0.36.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -7069,6 +6817,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
 
 [[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
+
+[[package]]
 name = "windows_i686_gnu"
 version = "0.36.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -7087,6 +6841,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
 
 [[package]]
+name = "windows_i686_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
+
+[[package]]
 name = "windows_i686_msvc"
 version = "0.36.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -7105,6 +6865,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
 
 [[package]]
+name = "windows_i686_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
+
+[[package]]
 name = "windows_x86_64_gnu"
 version = "0.36.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -7123,6 +6889,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
 
 [[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
+
+[[package]]
 name = "windows_x86_64_gnullvm"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -7135,6 +6907,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
 
 [[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
+
+[[package]]
 name = "windows_x86_64_msvc"
 version = "0.36.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -7153,52 +6931,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
 
 [[package]]
-name = "winit"
-version = "0.29.4"
-source = "git+https://github.com/lapce/winit?rev=e8c26d691a20a96c4e9d841d31fc315dabd5a5a1#e8c26d691a20a96c4e9d841d31fc315dabd5a5a1"
-dependencies = [
- "ahash 0.8.3",
- "android-activity",
- "atomic-waker",
- "bitflags 2.4.0",
- "bytemuck",
- "calloop",
- "cfg_aliases",
- "core-foundation",
- "core-graphics",
- "cursor-icon",
- "icrate",
- "js-sys",
- "libc",
- "log",
- "memmap2 0.9.0",
- "ndk",
- "ndk-sys",
- "objc2",
- "once_cell",
- "orbclient",
- "percent-encoding",
- "raw-window-handle 0.5.2",
- "raw-window-handle 0.6.0",
- "redox_syscall 0.3.5",
- "rustix 0.38.20",
- "sctk-adwaita",
- "smithay-client-toolkit",
- "smol_str",
- "unicode-segmentation",
- "wasm-bindgen",
- "wasm-bindgen-futures",
- "wayland-backend 0.3.2",
- "wayland-client 0.31.1",
- "wayland-protocols",
- "wayland-protocols-plasma",
- "web-sys",
- "web-time",
- "windows-sys 0.48.0",
- "x11-dl",
- "x11rb",
- "xkbcommon-dl",
-]
+name = "windows_x86_64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
 
 [[package]]
 name = "winnow"
@@ -7225,7 +6961,7 @@ version = "0.36.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "357bb8e2932df531f83b052264b050b81ba0df90ee5a59b2d1d3949f344f81e5"
 dependencies = [
- "bitflags 2.4.0",
+ "bitflags 2.5.0",
  "windows-sys 0.48.0",
 ]
 
@@ -7237,7 +6973,7 @@ checksum = "f6ace9943d89bbf3dbbc71b966da0e7302057b311f36a4ac3d65ddfef17b52cf"
 dependencies = [
  "anyhow",
  "id-arena",
- "indexmap 2.0.2",
+ "indexmap",
  "log",
  "semver",
  "serde",
@@ -7260,10 +6996,11 @@ dependencies = [
 
 [[package]]
 name = "x11-clipboard"
-version = "0.8.1"
+version = "0.9.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b41aca1115b1f195f21c541c5efb423470848d48143127d0f07f8b90c27440df"
+checksum = "b98785a09322d7446e28a13203d2cae1059a0dd3dfb32cb06d0a225f023d8286"
 dependencies = [
+ "libc",
  "x11rb",
 ]
 
@@ -7280,37 +7017,34 @@ dependencies = [
 
 [[package]]
 name = "x11rb"
-version = "0.12.0"
+version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1641b26d4dec61337c35a1b1aaf9e3cba8f46f0b43636c609ab0291a648040a"
+checksum = "f8f25ead8c7e4cba123243a6367da5d3990e0d3affa708ea19dce96356bd9f1a"
 dependencies = [
  "as-raw-xcb-connection",
  "gethostname",
  "libc",
- "libloading 0.7.3",
- "nix 0.26.4",
+ "libloading 0.8.1",
  "once_cell",
- "winapi",
- "winapi-wsapoll",
+ "rustix",
  "x11rb-protocol",
 ]
 
 [[package]]
 name = "x11rb-protocol"
-version = "0.12.0"
+version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "82d6c3f9a0fb6701fab8f6cea9b0c0bd5d6876f1f89f7fada07e558077c344bc"
-dependencies = [
- "nix 0.26.4",
-]
+checksum = "e63e71c4b8bd9ffec2c963173a4dc4cbde9ee96961d4fcb4429db9929b606c34"
 
 [[package]]
 name = "xattr"
-version = "0.2.3"
+version = "1.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d1526bbe5aaeb5eb06885f4d987bcdfa5e23187055de9b83fe00156a821fabc"
+checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f"
 dependencies = [
  "libc",
+ "linux-raw-sys 0.4.13",
+ "rustix",
 ]
 
 [[package]]
@@ -7323,12 +7057,22 @@ dependencies = [
 ]
 
 [[package]]
+name = "xdg-home"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "21e5a325c3cb8398ad6cf859c1135b25dd29e186679cf2da7581d9679f63b38e"
+dependencies = [
+ "libc",
+ "winapi",
+]
+
+[[package]]
 name = "xkbcommon-dl"
 version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6924668544c48c0133152e7eec86d644a056ca3d09275eb8d5cdb9855f9d8699"
 dependencies = [
- "bitflags 2.4.0",
+ "bitflags 2.5.0",
  "dlib",
  "log",
  "once_cell",
@@ -7366,6 +7110,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9828b178da53440fa9c766a3d2f73f7cf5d0ac1fe3980c1e5018d899fd19e07b"
 
 [[package]]
+name = "yansi"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049"
+
+[[package]]
 name = "yazi"
 version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -7373,29 +7123,28 @@ checksum = "c94451ac9513335b5e23d7a8a2b61a7102398b8cca5160829d313e84c9d98be1"
 
 [[package]]
 name = "zbus"
-version = "3.3.0"
+version = "4.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41ce2de393c874ba871292e881bf3c13a0d5eb38170ebab2e50b4c410eaa222b"
+checksum = "7b8e3d6ae3342792a6cc2340e4394334c7402f3d793b390d2c5494a4032b3030"
 dependencies = [
  "async-broadcast",
- "async-channel",
  "async-executor",
+ "async-fs",
  "async-io",
- "async-lock",
+ "async-lock 3.3.0",
+ "async-process",
  "async-recursion",
  "async-task",
  "async-trait",
- "byteorder",
+ "blocking",
  "derivative",
- "dirs",
  "enumflags2",
- "event-listener",
+ "event-listener 5.2.0",
  "futures-core",
  "futures-sink",
  "futures-util",
  "hex",
- "nix 0.24.2",
- "once_cell",
+ "nix 0.27.1",
  "ordered-stream",
  "rand",
  "serde",
@@ -7404,7 +7153,8 @@ dependencies = [
  "static_assertions",
  "tracing 0.1.37",
  "uds_windows",
- "winapi",
+ "windows-sys 0.52.0",
+ "xdg-home",
  "zbus_macros",
  "zbus_names",
  "zvariant",
@@ -7412,22 +7162,23 @@ dependencies = [
 
 [[package]]
 name = "zbus_macros"
-version = "3.3.0"
+version = "4.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a13d08f5dc6cf725b693cb6ceacd43cd430ec0664a879188f29e7d7dcd98f96d"
+checksum = "b7a3e850ff1e7217a3b7a07eba90d37fe9bb9e89a310f718afcde5885ca9b6d7"
 dependencies = [
  "proc-macro-crate",
  "proc-macro2",
  "quote",
  "regex",
- "syn 1.0.101",
+ "syn 1.0.109",
+ "zvariant_utils",
 ]
 
 [[package]]
 name = "zbus_names"
-version = "2.2.0"
+version = "3.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41a408fd8a352695690f53906dc7fd036be924ec51ea5e05666ff42685ed0af5"
+checksum = "4b9b1fef7d021261cc16cba64c351d291b715febe0fa10dc3a443ac5a5022e6c"
 dependencies = [
  "serde",
  "static_assertions",
@@ -7441,6 +7192,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c110ba09c9b3a43edd4803d570df0da2414fed6e822e22b976a4e3ef50860701"
 
 [[package]]
+name = "zerocopy"
+version = "0.7.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be"
+dependencies = [
+ "zerocopy-derive",
+]
+
+[[package]]
+name = "zerocopy-derive"
+version = "0.7.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.57",
+]
+
+[[package]]
 name = "zip"
 version = "0.6.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -7482,23 +7253,28 @@ dependencies = [
 ]
 
 [[package]]
-name = "zune-inflate"
-version = "0.2.54"
+name = "zune-core"
+version = "0.4.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "73ab332fe2f6680068f3582b16a24f90ad7096d5d39b974d1c0aff0125116f02"
+checksum = "3f423a2c17029964870cfaabb1f13dfab7d092a62a29a89264f4d36990ca414a"
+
+[[package]]
+name = "zune-jpeg"
+version = "0.4.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec866b44a2a1fd6133d363f073ca1b179f438f99e7e5bfb1e33f7181facfe448"
 dependencies = [
- "simd-adler32",
+ "zune-core",
 ]
 
 [[package]]
 name = "zvariant"
-version = "3.7.1"
+version = "4.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b794fb7f59af4105697b0449ba31731ee5dbb3e773a17dbdf3d36206ea1b1644"
+checksum = "4e09e8be97d44eeab994d752f341e67b3b0d80512a8b315a0671d47232ef1b65"
 dependencies = [
- "byteorder",
+ "endi",
  "enumflags2",
- "libc",
  "serde",
  "static_assertions",
  "url",
@@ -7507,12 +7283,24 @@ dependencies = [
 
 [[package]]
 name = "zvariant_derive"
-version = "3.7.1"
+version = "4.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd58d4b6c8e26d3dd2149c8c40c6613ef6451b9885ff1296d1ac86c388351a54"
+checksum = "72a5857e2856435331636a9fbb415b09243df4521a267c5bedcd5289b4d5799e"
 dependencies = [
  "proc-macro-crate",
  "proc-macro2",
  "quote",
- "syn 1.0.101",
+ "syn 1.0.109",
+ "zvariant_utils",
+]
+
+[[package]]
+name = "zvariant_utils"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "00bedb16a193cc12451873fee2a1bc6550225acece0e36f333e68326c73c8172"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
 ]
diff --git a/pkgs/applications/editors/lapce/default.nix b/pkgs/applications/editors/lapce/default.nix
index 299c5e06cbd53..73cff823859a2 100644
--- a/pkgs/applications/editors/lapce/default.nix
+++ b/pkgs/applications/editors/lapce/default.nix
@@ -39,33 +39,29 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "lapce";
-  version = "0.3.1";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "lapce";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-R7z3E6Moyc6yMFGzfggiYgglLs/A+iOx8ZJKMPhbAz0=";
+    repo = "lapce";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-x/EObvrMZ3bkdHk5SbfQEarXA7jcQ9rEFZINQrHjcl4=";
   };
 
   cargoLock = {
     lockFile = ./Cargo.lock;
     outputHashes = {
-      "alacritty_config-0.1.2-dev" = "sha256-6FSi5RU7YOzNIB2kd/O1OKswn54ak6qrLvN/FbJD3g0=";
-      "cosmic-text-0.7.0" = "sha256-ATBeQeSlRCuBZIV4Fdam3p+eW5YH8uJadJearZuONrQ=";
-      "floem-0.1.0" = "sha256-UVmqF2vkX71o4JBrhIIhd2SkLNBaqibwl51FKLJUo4c=";
+      "floem-0.1.1" = "sha256-/RUsi0LUJ/LjDj8xjoiF+f4MeUjFASL0TDS0eDUEHio=";
       "human-sort-0.2.2" = "sha256-tebgIJGXOY7pwWRukboKAzXY47l4Cn//0xMKQTaGu8w=";
-      "peniko-0.1.0" = "sha256-FZu56HLN5rwSWOwIC00FvKShSv4QPCR44l9MURgC+iI=";
+      "lsp-types-0.95.1" = "sha256-+tWqDBM5x/gvQOG7V3m2tFBZB7smgnnZHikf9ja2FfE=";
       "psp-types-0.1.0" = "sha256-/oFt/AXxCqBp21hTSYrokWsbFYTIDCrHMUBuA2Nj5UU=";
-      "structdesc-0.1.0" = "sha256-4j6mJ1H5hxJXr7Sz0UsZxweyAm9sYuxjq8yg3ZlpksI=";
-      "tracing-0.2.0" = "sha256-Tc44Mg2Ue4HyB1z+9UBqpjdecJa60ekGXs+npqv22uA=";
+      "regalloc2-0.9.3" = "sha256-tzXFXs47LDoNBL1tSkLCqaiHDP5vZjvh250hz0pbEJs=";
+      "structdesc-0.1.0" = "sha256-gMTnRudc3Tp9JRa+Cob5Ke23aqajP8lSun5CnT13+eQ=";
+      "tracing-0.2.0" = "sha256-31jmSvspNstOAh6VaWie+aozmGu4RpY9Gx2kbBVD+CI=";
       "tree-sitter-bash-0.19.0" = "sha256-gTsA874qpCI/N5tmBI5eT8KDaM25gXM4VbcCbUU2EeI=";
-      "tree-sitter-json-0.20.0" = "sha256-pXa6WFJ4wliXHBiuHuqtAFWz+OscTOxbna5iymS547w=";
       "tree-sitter-md-0.1.2" = "sha256-gKbjAcY/x9sIxiG7edolAQp2JWrx78mEGeCpayxFOuE=";
       "tree-sitter-yaml-0.0.1" = "sha256-bQ/APnFpes4hQLv37lpoADyjXDBY7J4Zg+rLyUtbra4=";
-      "vger-0.2.7" = "sha256-evri/64mA0TQY7mFn+9bCl3c247V2QEYlwyMPpOcv5Y=";
       "wasi-experimental-http-wasmtime-0.10.0" = "sha256-FuF3Ms1bT9bBasbLK+yQ2xggObm/lFDRyOvH21AZnQI=";
-      "winit-0.29.4" = "sha256-Y71QsRiHo0ldUAoAhid3yRDtHyIdd3HJ3AA6YJG04as=";
     };
   };
 
@@ -125,8 +121,11 @@ rustPlatform.buildRustPackage rec {
   meta = with lib; {
     description = "Lightning-fast and Powerful Code Editor written in Rust";
     homepage = "https://github.com/lapce/lapce";
+    changelog = "https://github.com/lapce/lapce/releases/tag/v${version}";
     license = with licenses; [ asl20 ];
     maintainers = with maintainers; [ elliot ];
     mainProgram = "lapce";
+    # Undefined symbols for architecture x86_64: "_NSPasteboardTypeFileURL"
+    broken = stdenv.isDarwin && stdenv.isx86_64;
   };
 }
diff --git a/pkgs/applications/editors/pulsar/default.nix b/pkgs/applications/editors/pulsar/default.nix
index b1af335ec1d49..a2b572ae516b8 100644
--- a/pkgs/applications/editors/pulsar/default.nix
+++ b/pkgs/applications/editors/pulsar/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , git
+, git-lfs
 , fetchurl
 , wrapGAppsHook
 , alsa-lib
@@ -139,14 +140,34 @@ stdenv.mkDerivation rec {
     patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
       $opt/resources/app.asar.unpacked/node_modules/symbol-provider-ctags/vendor/ctags-linux
 
-  '' + lib.optionalString (stdenv.hostPlatform.system == "x86_64-linux") ''
     # Replace the bundled git with the one from nixpkgs
     dugite=$opt/resources/app.asar.unpacked/node_modules/dugite
     rm -f $dugite/git/bin/git
     ln -s ${git}/bin/git $dugite/git/bin/git
-    rm -f $dugite/git/libexec/git-core/git
-    ln -s ${git}/bin/git $dugite/git/libexec/git-core/git
 
+    # Not only do we need to replace the git binary itself, we also need to replace
+    # all the symlinks in dugite/git/libexec/git-core.
+    for file in "$dugite/git/libexec/git-core"/*; do
+      if [ -x "$file" ] && file "$file" | grep -q "ELF"; then
+          # Remove ELF executable
+          rm "$file"
+
+          # Get the corresponding filename in nixpkgs's git
+          filename=$(basename "$file")
+          git_executable="${git}/libexec/git-core/$filename"
+
+          # Create symlink to $git_executable
+          ln -s "$git_executable" "$file"
+
+          echo "Replaced $file with symlink to $git_executable"
+        fi
+    done
+
+    # Was symlinked in previous loop, but actually, nixpkgs has a separate package for git-lfs
+    # Unlink to avoid a "File exists" error and relink correctly
+    unlink $dugite/git/libexec/git-core/git-lfs
+    ln -s ${git-lfs}/bin/git-lfs $dugite/git/libexec/git-core/git-lfs
+  '' + lib.optionalString (stdenv.hostPlatform.system == "x86_64-linux") ''
     # We have to patch a prebuilt binary in the asar archive
     # But asar complains because the node_gyp unpacked dependency uses a prebuilt Python3 itself
 
@@ -208,7 +229,7 @@ stdenv.mkDerivation rec {
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.mit;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ colamaroro bryango ];
+    maintainers = with maintainers; [ bryango ];
     knownVulnerabilities = [
       "CVE-2023-5217"
       "CVE-2022-21718"
diff --git a/pkgs/applications/editors/quartus-prime/default.nix b/pkgs/applications/editors/quartus-prime/default.nix
index 51a1a2925e92d..2b3ee40951755 100644
--- a/pkgs/applications/editors/quartus-prime/default.nix
+++ b/pkgs/applications/editors/quartus-prime/default.nix
@@ -3,6 +3,7 @@
 , withQuesta ? true
 , supportedDevices ? [ "Arria II" "Cyclone V" "Cyclone IV" "Cyclone 10 LP" "MAX II/V" "MAX 10 FPGA" ]
 , unwrapped ? callPackage ./quartus.nix { inherit unstick supportedDevices withQuesta; }
+, extraProfile ? ""
 }:
 
 let
@@ -114,7 +115,7 @@ in buildFHSEnv rec {
     if [ "$NIXPKGS_IS_QUESTA_WRAPPER" != 1 ]; then
         export LD_PRELOAD=''${LD_PRELOAD:+$LD_PRELOAD:}/usr/lib/libudev.so.0
     fi
-  '';
+  '' + extraProfile;
 
   # Run the wrappers directly, instead of going via bash.
   runScript = "";
diff --git a/pkgs/applications/editors/standardnotes/default.nix b/pkgs/applications/editors/standardnotes/default.nix
index e61f57c76448c..bc44c8e9f6200 100644
--- a/pkgs/applications/editors/standardnotes/default.nix
+++ b/pkgs/applications/editors/standardnotes/default.nix
@@ -4,6 +4,9 @@
 , dpkg
 , makeWrapper
 , electron
+, libsecret
+, asar
+, glib
 , desktop-file-utils
 , callPackage
 }:
@@ -28,16 +31,28 @@ stdenv.mkDerivation rec {
 
   dontBuild = true;
 
-  nativeBuildInputs = [ makeWrapper dpkg desktop-file-utils ];
+  nativeBuildInputs = [ makeWrapper dpkg desktop-file-utils asar ];
 
   unpackPhase = "dpkg-deb --fsys-tarfile $src | tar -x --no-same-permissions --no-same-owner";
 
-  installPhase = ''
+  installPhase = let
+    libPath = lib.makeLibraryPath [
+      libsecret
+      glib
+      stdenv.cc.cc.lib
+    ];
+  in
+    ''
     runHook preInstall
 
     mkdir -p $out/bin $out/share/standardnotes
     cp -R usr/share/{applications,icons} $out/share
     cp -R opt/Standard\ Notes/resources/app.asar $out/share/standardnotes/
+    asar e $out/share/standardnotes/app.asar asar-unpacked
+    find asar-unpacked -name '*.node' -exec patchelf \
+      --add-rpath "${libPath}" \
+      {} \;
+    asar p asar-unpacked $out/share/standardnotes/app.asar
 
     makeWrapper ${electron}/bin/electron $out/bin/standardnotes \
       --add-flags $out/share/standardnotes/app.asar
diff --git a/pkgs/applications/editors/vim/common.nix b/pkgs/applications/editors/vim/common.nix
index d33891c37d26f..74afc2182dd52 100644
--- a/pkgs/applications/editors/vim/common.nix
+++ b/pkgs/applications/editors/vim/common.nix
@@ -36,7 +36,7 @@ rec {
     description = "The most popular clone of the VI editor";
     homepage    = "http://www.vim.org";
     license     = licenses.vim;
-    maintainers = with maintainers; [ das_j equirosa ];
+    maintainers = with maintainers; [ das_j equirosa philiptaron ];
     platforms   = platforms.unix;
     mainProgram = "vim";
     outputsToInstall = [ "out" "xxd" ];
diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix
index 99d6d4986c581..5eb772dccf052 100644
--- a/pkgs/applications/editors/vim/plugins/generated.nix
+++ b/pkgs/applications/editors/vim/plugins/generated.nix
@@ -4715,14 +4715,14 @@ final: prev:
 
   hydra-nvim = buildVimPlugin {
     pname = "hydra.nvim";
-    version = "2023-02-06";
+    version = "2024-03-15";
     src = fetchFromGitHub {
-      owner = "anuvyklack";
+      owner = "nvimtools";
       repo = "hydra.nvim";
-      rev = "3ced42c0b6a6c85583ff0f221635a7f4c1ab0dd0";
-      sha256 = "1dwhi2543drbncrqx80nsi5hw48d6my4wbsp71gx6m0clkp4469h";
+      rev = "8578056a2226ed49fc608167edc143a87f75d809";
+      sha256 = "sha256-Qxp2FigXlupAw/ZwZRVJ+hRKzVRtupV6L4a6jOslwI0=";
     };
-    meta.homepage = "https://github.com/anuvyklack/hydra.nvim/";
+    meta.homepage = "https://github.com/nvimtools/hydra.nvim/";
   };
 
   i3config-vim = buildVimPlugin {
@@ -7657,6 +7657,18 @@ final: prev:
     meta.homepage = "https://github.com/theHamsta/nvim-dap-virtual-text/";
   };
 
+  nvim-dbee = buildVimPlugin {
+    pname = "nvim-dbee";
+    version = "2024-01-13";
+    src = fetchFromGitHub {
+      owner = "kndndrj";
+      repo = "nvim-dbee";
+      rev = "513708655383f9253cb6d46523a2152a8d13e775";
+      hash = "sha256-HiceS+e8aQhrCUBqtLKwOZ2IRA7l0yHlHsF95rmMjhE=";
+    };
+    meta.homepage = "https://github.com/kndndrj/nvim-dbee/";
+  };
+
   nvim-docs-view = buildVimPlugin {
     pname = "nvim-docs-view";
     version = "2024-01-20";
diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix
index 58524a92d1a7a..ee4484a3cb628 100644
--- a/pkgs/applications/editors/vim/plugins/overrides.nix
+++ b/pkgs/applications/editors/vim/plugins/overrides.nix
@@ -19,6 +19,7 @@
 , dasht
 , deno
 , direnv
+, duckdb
 , fish
 , fzf
 , gawk
@@ -1027,8 +1028,30 @@
     passthru.python3Dependencies = [ python3.pkgs.mwclient ];
   };
 
+  nvim-dbee = super.nvim-dbee.overrideAttrs (oa: let
+        dbee-go = buildGoModule {
+          name = "nvim-dbee";
+          src = "${oa.src}/dbee";
+          vendorHash = "sha256-AItvgOehVskGLARJWDnJLtWM5YHKN/zn/FnZQ0evAtI=";
+          buildInputs = [ duckdb ];
+        };
+      in {
+    dependencies = [ self.nui-nvim ];
+
+    # nvim-dbee looks for the go binary in paths returned bu M.dir() and M.bin() defined in lua/dbee/install/init.lua
+    postPatch = ''
+      substituteInPlace lua/dbee/install/init.lua \
+        --replace-fail 'return vim.fn.stdpath("data") .. "/dbee/bin"' 'return "${dbee-go}/bin"'
+    '';
+
+    preFixup = ''
+      mkdir $target/bin
+      ln -s ${dbee-go}/bin/dbee $target/bin/dbee
+      '';
+  });
+
   nvim-navic = super.nvim-navic.overrideAttrs {
-    dependencies = with self; [ nvim-lspconfig ];
+    dependencies =  [ self.nvim-lspconfig ];
   };
 
   nvim-spectre = super.nvim-spectre.overrideAttrs (old:
diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names
index 8fa26fd32adcd..2776640fdf594 100644
--- a/pkgs/applications/editors/vim/plugins/vim-plugin-names
+++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names
@@ -394,7 +394,7 @@ https://github.com/smoka7/hop.nvim/,,
 https://github.com/rktjmp/hotpot.nvim/,,
 https://github.com/lewis6991/hover.nvim/,HEAD,
 https://github.com/othree/html5.vim/,HEAD,
-https://github.com/anuvyklack/hydra.nvim/,HEAD,
+https://github.com/nvimtools/hydra.nvim/,HEAD,
 https://github.com/mboughaba/i3config.vim/,,
 https://github.com/cocopon/iceberg.vim/,,
 https://github.com/idris-hackers/idris-vim/,,
@@ -644,6 +644,7 @@ https://github.com/leoluz/nvim-dap-go/,HEAD,
 https://github.com/mfussenegger/nvim-dap-python/,HEAD,
 https://github.com/rcarriga/nvim-dap-ui/,,
 https://github.com/theHamsta/nvim-dap-virtual-text/,,
+https://github.com/kndndrj/nvim-dbee/,HEAD,
 https://github.com/amrbashir/nvim-docs-view/,HEAD,
 https://github.com/allendang/nvim-expand-expr/,,
 https://github.com/vijaymarupudi/nvim-fzf/,,
@@ -936,6 +937,7 @@ https://github.com/xiyaowong/transparent.nvim/,HEAD,
 https://github.com/Wansmer/treesj/,main,
 https://github.com/tremor-rs/tremor-vim/,,
 https://github.com/cappyzawa/trim.nvim/,,
+https://github.com/simonclean/triptych.nvim/,HEAD,
 https://github.com/folke/trouble.nvim/,,
 https://github.com/Pocco81/true-zen.nvim/,,
 https://github.com/tesaguri/trust.vim/,HEAD,
diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix
index 07bcb8e01a0b3..409cb43eae35d 100644
--- a/pkgs/applications/editors/vscode/extensions/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/default.nix
@@ -948,35 +948,30 @@ let
             sources = {
               "x86_64-linux" = {
                 arch = "linux-x64";
-                sha256 = "1y5g8ay9sfz7r21fhwb2wr28yng7w3f2l265ljnfkz8yv8qzqpgk";
+                hash = "sha256-GQH+KKteWbCz18AlTWjLWrVpPRxumi+iDPS5n+5xy/0=";
               };
               "x86_64-darwin" = {
                 arch = "darwin-x64";
-                sha256 = "14v9p5k9c9s9hfb1ymmkp66kmm9pvnvvljzrrs9wmajss5mlglf5";
+                hash = "sha256-xBwuAtvRdOgYkfxP0JaxhAQZx5AJWymDVQ50piTx608=";
               };
               "aarch64-linux" = {
                 arch = "linux-arm64";
-                sha256 = "1mngfy42crp8xs14s06rkyzv16ci12bq8y39miyy7wa3a343b0ii";
+                hash = "sha256-oLLKnNZ+E06PbUrhj5Y0HOdHhUs/fXd+3lZXX/P2C10=";
               };
               "aarch64-darwin" = {
                 arch = "darwin-arm64";
-                sha256 = "1gd1kr91s52kc8ldzy78cbn6gix1b8cvd6jh4sfrhq7k8yyn7g1l";
+                hash = "sha256-nWuyqOIELp8MrjzCFH3yu4pWm5KsNxmx3eacgStWKG0=";
               };
             };
           in
           {
             name = "continue";
             publisher = "Continue";
-            version = "0.8.22";
+            version = "0.8.25";
           }
           // sources.${stdenv.system};
         nativeBuildInputs = [ autoPatchelfHook ];
         buildInputs = [ stdenv.cc.cc.lib ];
-        postInstall = ''
-          cd "$out/$installPrefix"
-          substituteInPlace "out/extension.js" \
-            --replace-fail 'await showTutorial();' '//await showTutorial();'
-        '';
         meta = {
           description = "Open-source autopilot for software development - bring the power of ChatGPT to your IDE";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=Continue.continue";
@@ -1268,6 +1263,23 @@ let
         };
       };
 
+      discloud.discloud = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          publisher = "discloud";
+          name = "discloud";
+          version = "2.21.2";
+          hash = "sha256-es1WjKchxC2hIWOkIRuf5MqMjTYu6qcBgo8abCqTjFc=";
+        };
+        meta = {
+          changelog = "https://marketplace.visualstudio.com/items/discloud.discloud/changelog";
+          description = "A Visual Studio Code extension for hosting and managing applications on Discloud";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=discloud.discloud";
+          homepage = "https://github.com/discloud/vscode-discloud";
+          license = lib.licenses.asl20;
+          maintainers = [ lib.maintainers.astindev ];
+        };
+      };
+
       disneystreaming.smithy = buildVscodeMarketplaceExtension {
         mktplcRef = {
           publisher = "disneystreaming";
@@ -1810,7 +1822,7 @@ let
         mktplcRef = {
           publisher = "github";
           name = "copilot-chat";
-          version = "0.14.2024032901";  # compatible with vscode 1.88.1
+          version = "0.14.2024032901"; # compatible with vscode 1.88.1
           hash = "sha256-+6N7IGO5j0wP5Zg8CwapHeKGWiZzc43VM4jCtqJDJIQ=";
         };
         meta = {
@@ -1899,7 +1911,7 @@ let
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=Gleam.gleam";
           homepage = "https://github.com/gleam-lang/vscode-gleam#readme";
           license = lib.licenses.asl20;
-          maintainers = [ lib.maintainers.msfjarvis ];
+          maintainers = [ ];
         };
       };
 
@@ -2841,6 +2853,22 @@ let
 
       ms-python.python = callPackage ./ms-python.python { };
 
+      ms-python.debugpy = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "debugpy";
+          publisher = "ms-python";
+          version = "2023.3.13121011";
+          hash = "sha256-owYUEyQl2FQytApfuI97N4y9p7/dL0lu6EBk/AzSMjw=";
+        };
+        meta = {
+          description = "Python debugger (debugpy) extension for VS Code";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=ms-python.debugpy";
+          homepage = "https://github.com/Microsoft/vscode-python-debugger";
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.carlthome ];
+        };
+      };
+
       ms-python.vscode-pylance = callPackage ./ms-python.vscode-pylance { };
 
       ms-toolsai.datawrangler = buildVscodeMarketplaceExtension {
diff --git a/pkgs/applications/editors/vscode/extensions/myriad-dreamin.tinymist/default.nix b/pkgs/applications/editors/vscode/extensions/myriad-dreamin.tinymist/default.nix
index 9dbf71b8b1016..3a6d84b24b8a6 100644
--- a/pkgs/applications/editors/vscode/extensions/myriad-dreamin.tinymist/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/myriad-dreamin.tinymist/default.nix
@@ -12,8 +12,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
     publisher = "myriad-dreamin";
     # Please update the corresponding binary (tinymist) when updating
     # this extension.
-    version = "0.11.5";
-    hash = "sha256-p97RREGKhTeXO5s4jP8qUsLtYxOj91ddQhsk6Q+50jc=";
+    version = "0.11.6";
+    hash = "sha256-qS+QY9RmJYXWRcohMcorF3SxoniBPE8SFcg0Ka1vvOE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/emulators/dolphin-emu/default.nix b/pkgs/applications/emulators/dolphin-emu/default.nix
index 3f77dcd105f91..568f43d3564cc 100644
--- a/pkgs/applications/emulators/dolphin-emu/default.nix
+++ b/pkgs/applications/emulators/dolphin-emu/default.nix
@@ -202,7 +202,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
     maintainers = with maintainers; [
-      MP2E
       ashkitten
       ivar
     ];
diff --git a/pkgs/applications/emulators/dolphin-emu/primehack.nix b/pkgs/applications/emulators/dolphin-emu/primehack.nix
index 7c409692d939d..b4698480a962d 100644
--- a/pkgs/applications/emulators/dolphin-emu/primehack.nix
+++ b/pkgs/applications/emulators/dolphin-emu/primehack.nix
@@ -143,7 +143,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/shiiion/dolphin";
     description = "Gamecube/Wii/Triforce emulator for x86_64 and ARMv8";
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ MP2E ashkitten Madouura ];
+    maintainers = with maintainers; [ ashkitten Madouura ];
     broken = stdenv.isDarwin;
     platforms = platforms.unix;
   };
diff --git a/pkgs/applications/emulators/mame/default.nix b/pkgs/applications/emulators/mame/default.nix
index c61b1662a6c4d..4ba40b417c8cb 100644
--- a/pkgs/applications/emulators/mame/default.nix
+++ b/pkgs/applications/emulators/mame/default.nix
@@ -38,14 +38,14 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "mame";
-  version = "0.264";
+  version = "0.265";
   srcVersion = builtins.replaceStrings [ "." ] [ "" ] version;
 
   src = fetchFromGitHub {
     owner = "mamedev";
     repo = "mame";
     rev = "mame${srcVersion}";
-    hash = "sha256-0UWMBKM//XWm8PFl60JvTLGaDBMVZFnVrbX4omy2F4I=";
+    hash = "sha256-jXGmABFeoT8g2UtVV159gUpdWcBvb9aX3uiFi2neVQI=";
   };
 
   outputs = [ "out" "tools" ];
diff --git a/pkgs/applications/emulators/retroarch/hashes.json b/pkgs/applications/emulators/retroarch/hashes.json
index 1be9814b5e179..d0fbc4f338361 100644
--- a/pkgs/applications/emulators/retroarch/hashes.json
+++ b/pkgs/applications/emulators/retroarch/hashes.json
@@ -55,20 +55,20 @@
         "src": {
             "owner": "libretro",
             "repo": "beetle-pce-libretro",
-            "rev": "20b86372b5f490394099ee0ad06e0eb3a4fd5c2e",
-            "hash": "sha256-jYV2eiBSLj9H2RIau8NwYLGV2SY7GqygEYTJ3YVoMNc="
+            "rev": "ebd9f3f003f1268142785e41943e51616c3802b0",
+            "hash": "sha256-ccPMRfCzbFF509Q683rTo23tazk1jdeEbZVWMPpC55U="
         },
-        "version": "unstable-2024-03-22"
+        "version": "unstable-2024-04-26"
     },
     "beetle-pce-fast": {
         "fetcher": "fetchFromGitHub",
         "src": {
             "owner": "libretro",
             "repo": "beetle-pce-fast-libretro",
-            "rev": "6210d0f8c262dcdaa5b76c28057cca6077f488fe",
-            "hash": "sha256-5qONcwTrawd6vMa7157lexFmuj9jdzSDVqt+KUvEm0I="
+            "rev": "be9db7587571893377974575b7c9768e00833bc2",
+            "hash": "sha256-vmqJvfYJDriWf8UL79DgX6EG3YFGQMvo7xosK/1FdrA="
         },
-        "version": "unstable-2024-03-22"
+        "version": "unstable-2024-04-26"
     },
     "beetle-pcfx": {
         "fetcher": "fetchFromGitHub",
@@ -85,10 +85,10 @@
         "src": {
             "owner": "libretro",
             "repo": "beetle-psx-libretro",
-            "rev": "ab39d37f868ba8ff3982ce52c4ec22c162888dd7",
-            "hash": "sha256-Ay3wI9WToSsJNjkNFnHXTt9JUQ6nt+S9jI378E/kK8U="
+            "rev": "866df6445c9863ba03395211cd814224a59f7511",
+            "hash": "sha256-D0Qv6EOAOfmoScv8EzqWbr8SLRl8lH5Rqj/BksQe70k="
         },
-        "version": "unstable-2024-04-19"
+        "version": "unstable-2024-04-26"
     },
     "beetle-saturn": {
         "fetcher": "fetchFromGitHub",
@@ -165,10 +165,10 @@
         "src": {
             "owner": "libretro",
             "repo": "bsnes-libretro",
-            "rev": "51b378454e34f7535f8b627de5b81d33b0fa4cb0",
-            "hash": "sha256-oriFvt0RCt9Bd5DjjLSxMuswfazd31isvt5OxwwNuks="
+            "rev": "8767988ec91357f4e66143525b74b5ddbdedda8d",
+            "hash": "sha256-psSCB0A0nB/Rs4V4Yo/cY/BWpXyiCRH3pd6+JKvu6UU="
         },
-        "version": "unstable-2024-03-22"
+        "version": "unstable-2024-04-26"
     },
     "bsnes-hd": {
         "fetcher": "fetchFromGitHub",
@@ -307,11 +307,11 @@
         "src": {
             "owner": "flyinghead",
             "repo": "flycast",
-            "rev": "3c38fc1f16cc6518db46a5ad350e8b3738eefb48",
-            "hash": "sha256-NfJJcu7noefSgFlCFCgovnrb6FSzIXu3MGQHu6TCJWo=",
+            "rev": "8e96590065fd23cd37a0d426d30f4aef6587d860",
+            "hash": "sha256-NUwqrQqrKthxrToGx70uWtSoU0dp2/KlCiinW/fDwnE=",
             "fetchSubmodules": true
         },
-        "version": "unstable-2024-04-19"
+        "version": "unstable-2024-04-26"
     },
     "fmsx": {
         "fetcher": "fetchFromGitHub",
@@ -358,10 +358,10 @@
         "src": {
             "owner": "libretro",
             "repo": "Genesis-Plus-GX",
-            "rev": "cbacea723690e88e0b11a4b1d0e5b88b1b7eb9d4",
-            "hash": "sha256-7qFBzATlhf89ILHsEoF+SWwD4Pwd5+08VnK5xU1EDuI="
+            "rev": "4e359c1f9c9a77db726c702c073d82905c24da7f",
+            "hash": "sha256-0DpIk+aV0NCkF5XDhO3FwMnV3J/ZERjCcSL7o1CvBuc="
         },
-        "version": "unstable-2024-04-20"
+        "version": "unstable-2024-04-26"
     },
     "gpsp": {
         "fetcher": "fetchFromGitHub",
@@ -408,10 +408,10 @@
         "src": {
             "owner": "libretro",
             "repo": "mame",
-            "rev": "170929e08e13fef6f5284efb0a5ec781a2af08ed",
-            "hash": "sha256-92p6fKN1/kl101qrNMzjOCQJJznTdbteqXpbas36S2c="
+            "rev": "90714f5cdefb2024dc34fdf3a62bd0d3815460ce",
+            "hash": "sha256-5Fd57fLIEKxr5KaHywGyHgA29midWpWEFotvudQKtjs="
         },
-        "version": "unstable-2024-04-10"
+        "version": "unstable-2024-04-26"
     },
     "mame2000": {
         "fetcher": "fetchFromGitHub",
@@ -438,10 +438,10 @@
         "src": {
             "owner": "libretro",
             "repo": "mame2003-plus-libretro",
-            "rev": "bb864ca20b40908b8fbc49a350939160d6af29f6",
-            "hash": "sha256-3AvjOpgBh/p0p9xq4rD8xSKqZWzulw7AKUGQ1o9B2Ck="
+            "rev": "d6732ad36aa3adf3198c565d89d763caa308e2e0",
+            "hash": "sha256-r95vwYMXzJec2GsienkPMbY4g305iEaST6kkzS7/hj0="
         },
-        "version": "unstable-2024-04-19"
+        "version": "unstable-2024-04-27"
     },
     "mame2010": {
         "fetcher": "fetchFromGitHub",
@@ -600,10 +600,10 @@
         "src": {
             "owner": "libretro",
             "repo": "opera-libretro",
-            "rev": "35e16483be900ea8aa20e87d2710b677437f73ce",
-            "hash": "sha256-ZNHSxI8l0KGJ6uAvOsEhNpB0IkBxtb9Imj3tA/LiOto="
+            "rev": "cacba231c3bd71833f06943e230fe03d8ebec0ab",
+            "hash": "sha256-pWLcolQw5ctWrL7YQUaUK04QPS4ReUeJhdig3O5T8BM="
         },
-        "version": "unstable-2024-01-13"
+        "version": "unstable-2024-04-24"
     },
     "parallel-n64": {
         "fetcher": "fetchFromGitHub",
@@ -630,10 +630,10 @@
         "src": {
             "owner": "libretro",
             "repo": "pcsx_rearmed",
-            "rev": "e5cb0939ab32d3c3b90b39e2d49a1652a7cf0db1",
-            "hash": "sha256-K96w3NGXpsnVAmORPdwwhwIJ6PcvaDOEUtLkF4ftX3s="
+            "rev": "87a0a6318564fc171d0b576da8ea7e629aa229e7",
+            "hash": "sha256-quIvyfigl/4itSldj73HpZezeHQwVGlz/jQvwmmsDik="
         },
-        "version": "unstable-2024-04-18"
+        "version": "unstable-2024-04-22"
     },
     "picodrive": {
         "fetcher": "fetchFromGitHub",
@@ -651,11 +651,11 @@
         "src": {
             "owner": "jpd002",
             "repo": "Play-",
-            "rev": "57f8a1389f7f2987ab2ad99fdc846663994603ad",
-            "hash": "sha256-MwqLSTDL6C823grCMRYZrwjhIhbVipAR+4vF5k8UhyE=",
+            "rev": "07c1898303a9af41f5e91172b6b73ddf2f97b984",
+            "hash": "sha256-lOeoIHSahWoLxmLje1XwFc9wOVbDDUwIuE7BuSU5QSU=",
             "fetchSubmodules": true
         },
-        "version": "unstable-2024-04-15"
+        "version": "unstable-2024-04-17"
     },
     "ppsspp": {
         "fetcher": "fetchFromGitHub",
@@ -753,10 +753,10 @@
         "src": {
             "owner": "snes9xgit",
             "repo": "snes9x",
-            "rev": "8077396d399424de89d0a6cc15134523965658e0",
-            "hash": "sha256-p6apk/8bRKSM3H3hGPr/fYGsDFgMv7syVmTHV0zgmOg="
+            "rev": "af4ec50b16f267245350ab099dde62a38aec66bd",
+            "hash": "sha256-B9F1mn2Hd23OO3bK21Fj5hQXX+fnnoeVJAkE0mO+9jI="
         },
-        "version": "unstable-2024-04-20"
+        "version": "unstable-2024-04-25"
     },
     "snes9x2002": {
         "fetcher": "fetchFromGitHub",
@@ -813,10 +813,10 @@
         "src": {
             "owner": "libretro",
             "repo": "swanstation",
-            "rev": "c7fefb5bfdec2569c2528f8daa6e75b7a3de0880",
-            "hash": "sha256-dE8F/NXGIEMrdmBWUTzanCSlT0ddkwG8RLZFmy1XvzQ="
+            "rev": "6ed491d6ba46ac8ba64a580b3004a163c0725bd2",
+            "hash": "sha256-JRo1+zFBBtO0Ws7x32bltcm5WoDSIZBgLdPl75lpKAo="
         },
-        "version": "unstable-2024-04-18"
+        "version": "unstable-2024-04-26"
     },
     "tgbdual": {
         "fetcher": "fetchFromGitHub",
diff --git a/pkgs/applications/emulators/retroarch/retroarch-assets.nix b/pkgs/applications/emulators/retroarch/retroarch-assets.nix
index eba4a71021969..b97d551a6c868 100644
--- a/pkgs/applications/emulators/retroarch/retroarch-assets.nix
+++ b/pkgs/applications/emulators/retroarch/retroarch-assets.nix
@@ -6,13 +6,13 @@
 
 stdenvNoCC.mkDerivation {
   pname = "retroarch-assets";
-  version = "unstable-2024-04-18";
+  version = "1.17.0-unstable-2024-04-24";
 
   src = fetchFromGitHub {
     owner = "libretro";
     repo = "retroarch-assets";
-    rev = "912f652740986549f41967d615d9da27c325c2b9";
-    hash = "sha256-HpmRnbj6CQp7+rmZY46MyT8Ga6832COm1it2z9rKUEU=";
+    rev = "9c0bd0d1015889592ad4362b800ac90ff4d019e1";
+    hash = "sha256-DB4i4iKx174822OJwJ5QIuMBLywufcR4+4Y+R01W+KQ=";
   };
 
   makeFlags = [
@@ -24,7 +24,9 @@ stdenvNoCC.mkDerivation {
 
   dontBuild = true;
 
-  passthru.updateScript = unstableGitUpdater { };
+  passthru.updateScript = unstableGitUpdater {
+    tagPrefix = "v";
+  };
 
   meta = with lib; {
     description = "Assets needed for RetroArch";
diff --git a/pkgs/applications/emulators/ripes/default.nix b/pkgs/applications/emulators/ripes/default.nix
index e6451f89c5c3d..d1ebaf34be25b 100644
--- a/pkgs/applications/emulators/ripes/default.nix
+++ b/pkgs/applications/emulators/ripes/default.nix
@@ -14,14 +14,14 @@
 stdenv.mkDerivation rec {
   pname = "ripes";
   # Pulling unstable version as latest stable does not build against gcc-13.
-  version = "2.2.6-unstable-2024-04-02";
+  version = "2.2.6-unstable-2024-04-04";
 
   src = fetchFromGitHub {
     owner = "mortbopet";
     repo = "Ripes";
-    rev = "027e678a44b7b9f3e81e5b6863b0d68af05fd69c";
+    rev = "878087332afa3558dc8ca657f80a16ecdcf82818";
     fetchSubmodules = true;
-    hash = "sha256-u6JxXCX1BMdbHTF7EBGEnXOV+eF6rgoZZcHqB/1nVjE=";
+    hash = "sha256-aNJTM/s4GNhWVXQxK1R/rIN/NmeKglibQZMh8ENjIzo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/file-managers/nnn/default.nix b/pkgs/applications/file-managers/nnn/default.nix
index 4e08dc0543e9f..5972139b25b50 100644
--- a/pkgs/applications/file-managers/nnn/default.nix
+++ b/pkgs/applications/file-managers/nnn/default.nix
@@ -79,7 +79,7 @@ stdenv.mkDerivation (finalAttrs: {
   meta = with lib; {
     description = "Small ncurses-based file browser forked from noice";
     homepage = "https://github.com/jarun/nnn";
-    changelog = "https://github.com/jarun/nnn/blob/v${version}/CHANGELOG";
+    changelog = "https://github.com/jarun/nnn/blob/v${finalAttrs.version}/CHANGELOG";
     license = licenses.bsd2;
     platforms = platforms.all;
     maintainers = with maintainers; [ Br1ght0ne ];
diff --git a/pkgs/applications/graphics/curtail/default.nix b/pkgs/applications/graphics/curtail/default.nix
index d12c3e6f22614..0ef67bdcc85fa 100644
--- a/pkgs/applications/graphics/curtail/default.nix
+++ b/pkgs/applications/graphics/curtail/default.nix
@@ -20,14 +20,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "curtail";
-  version = "1.8.0";
+  version = "1.9.1";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "Huluti";
     repo = "Curtail";
     rev = "refs/tags/${version}";
-    sha256 = "sha256-LLz4nZ9WFQMogQR2gCKn80gvHUG5hlpQpcNjpr4fs2s=";
+    sha256 = "sha256-9xTdT2mS3aWyimkxrNwCuWIzZ0dPE7w4xUwO53kKr30=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/darktable/default.nix b/pkgs/applications/graphics/darktable/default.nix
index fdc3770676ffe..324ba3cf8a9c0 100644
--- a/pkgs/applications/graphics/darktable/default.nix
+++ b/pkgs/applications/graphics/darktable/default.nix
@@ -64,6 +64,11 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-Fu3AoHApPi082k6hDkm9qb3pMuI/nmLi+i56x0rPev0=";
   };
 
+  patches = [
+    ./fix_darwin_x86_compile.patch
+  ];
+
+
   nativeBuildInputs = [ cmake ninja llvmPackages.llvm pkg-config intltool perl desktop-file-utils wrapGAppsHook ];
 
   buildInputs = [
diff --git a/pkgs/applications/graphics/darktable/fix_darwin_x86_compile.patch b/pkgs/applications/graphics/darktable/fix_darwin_x86_compile.patch
new file mode 100644
index 0000000000000..617b4b1bf02d4
--- /dev/null
+++ b/pkgs/applications/graphics/darktable/fix_darwin_x86_compile.patch
@@ -0,0 +1,22 @@
+From 1620befa933fbe525d8851a8f465db9926b7a588 Mon Sep 17 00:00:00 2001
+From: Mario Zimmermann <mail@zisoft.de>
+Date: Wed, 14 Feb 2024 22:18:42 +0100
+Subject: [PATCH] fix xcode compiler segfault
+
+---
+ src/common/darktable.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/common/darktable.h b/src/common/darktable.h
+index e5bd1a28902c..2c43b4878bcf 100644
+--- a/src/common/darktable.h
++++ b/src/common/darktable.h
+@@ -140,7 +140,7 @@ extern "C" {
+ /* Create cloned functions for various CPU SSE generations */
+ /* See for instructions https://hannes.hauswedell.net/post/2017/12/09/fmv/ */
+ /* TL;DR : use only on SIMD functions containing low-level paralellized/vectorized loops */
+-#if __has_attribute(target_clones) && !defined(_WIN32) && !defined(NATIVE_ARCH)
++#if __has_attribute(target_clones) && !defined(_WIN32) && !defined(NATIVE_ARCH) && !defined(__APPLE__)
+ # if defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__x86_64)
+ #define __DT_CLONE_TARGETS__ __attribute__((target_clones("default", "sse2", "sse3", "sse4.1", "sse4.2", "popcnt", "avx", "avx2", "avx512f", "fma4")))
+ # elif defined(__PPC64__)
diff --git a/pkgs/applications/graphics/drawio/default.nix b/pkgs/applications/graphics/drawio/default.nix
index b53879974d00d..330e88c50ef73 100644
--- a/pkgs/applications/graphics/drawio/default.nix
+++ b/pkgs/applications/graphics/drawio/default.nix
@@ -14,14 +14,14 @@
 
 stdenv.mkDerivation rec {
   pname = "drawio";
-  version = "24.1.0";
+  version = "24.2.5";
 
   src = fetchFromGitHub {
     owner = "jgraph";
     repo = "drawio-desktop";
     rev = "v${version}";
     fetchSubmodules = true;
-    hash = "sha256-vwytqlPv8LfOceuBs/MNPxzO1ZYv1hwjIRyBh/wuVEU=";
+    hash = "sha256-8Cs+uME6uXWIWeuS9cgKnlYJG/m13l2BIVNDG0bqEmc=";
   };
 
   # `@electron/fuses` tries to run `codesign` and fails. Disable and use autoSignDarwinBinariesHook instead
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
 
   offlineCache = fetchYarnDeps {
     yarnLock = src + "/yarn.lock";
-    hash = "sha256-mRnGsfxrdfzk6+z07174zZ7pcS68Zut6inuBPZkLtWQ=";
+    hash = "sha256-tQFcdZc+4N6TYY6MDAwUgpaIvqYkU681DbuYCQhvJ1c=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/mypaint/default.nix b/pkgs/applications/graphics/mypaint/default.nix
index 6381c399315f1..80067fa7c6c39 100644
--- a/pkgs/applications/graphics/mypaint/default.nix
+++ b/pkgs/applications/graphics/mypaint/default.nix
@@ -46,6 +46,29 @@ in buildPythonApplication rec {
       url = "https://github.com/mypaint/mypaint/commit/032a155b72f2b021f66a994050d83f07342d04af.patch";
       hash = "sha256-EI4WJbpZrCtFMKd6QdXlWpRpIHi37gJffDjclzTLaLc=";
     })
+    # Fix drag-n-drop file opening
+    (fetchpatch {
+      url = "https://github.com/mypaint/mypaint/commit/66b2ba98bd953afa73d0d6ac71040b14a4ea266b.patch";
+      hash = "sha256-4AWXD/JMpNA5otl2ad1ZLVPW49pycuOXGcgfzvj0XEE=";
+    })
+    # Fix crash with locked layer
+    (fetchpatch {
+      url = "https://github.com/mypaint/mypaint/commit/0b720f8867f18acccc8e6ec770a9cc494aa81dcf.patch";
+      hash = "sha256-ahYeERiMLA8yKIXQota6/ApAbOW0XwsHO2JkEEMm1Ow=";
+    })
+    # Refactoring for the following patch to apply.
+    (fetchpatch {
+      url = "https://github.com/mypaint/mypaint/commit/d7d2496401a112a178d5fa2e491f0cc7537d24cd.patch";
+      hash = "sha256-dIW6qWqY96+bsUDQQtGtjENvypnh//Ep3xW+wooCJ14=";
+      includes = [
+        "gui/colors/hcywheel.py"
+      ];
+    })
+    # Fix crash with hcy wheel masking
+    (fetchpatch {
+      url = "https://github.com/mypaint/mypaint/commit/5496b1cd1113fcd46230d87760b7e6b51cc747bc.patch";
+      hash = "sha256-h+sE1LW04xDU2rofH5KqXsY1M0jacfBNBC+Zb0i6y1w=";
+    })
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/oculante/default.nix b/pkgs/applications/graphics/oculante/default.nix
index d7e322f39588d..3c571a2adf768 100644
--- a/pkgs/applications/graphics/oculante/default.nix
+++ b/pkgs/applications/graphics/oculante/default.nix
@@ -22,16 +22,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "oculante";
-  version = "0.8.18";
+  version = "0.8.19";
 
   src = fetchFromGitHub {
     owner = "woelper";
     repo = "oculante";
     rev = version;
-    hash = "sha256-TLY6ydYeRuT93jjUeE7EaFNNllwla4h563UhXAxSyko=";
+    hash = "sha256-oCgnz1WMg7YypIT8Tjk2m+f/43Aj88rDVCxQ92aL3RY=";
   };
 
-  cargoHash = "sha256-RKJE09Z4XxRLWQ95Om3tru4rI2TD7XmxoHhPHFirREo=";
+  cargoHash = "sha256-vlU7egAht+kgA5Vx0HAwQOIax9qD4FLRo1ZUNx4RieY=";
 
   nativeBuildInputs = [
     cmake
diff --git a/pkgs/applications/graphics/pdfcpu/default.nix b/pkgs/applications/graphics/pdfcpu/default.nix
index 2613304b17c23..77458c3cc5af8 100644
--- a/pkgs/applications/graphics/pdfcpu/default.nix
+++ b/pkgs/applications/graphics/pdfcpu/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "pdfcpu";
-  version = "0.7.0";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "pdfcpu";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-FzlukSQSKeQY6H53UfWXwL8bXkOXRhaA92/Kgxh4oms=";
+    hash = "sha256-E1D2DvwwrtlY06kvCZkoAO5VcdtkBJYLcxuqGsulFUA=";
     # Apparently upstream requires that the compiled executable will know the
     # commit hash and the date of the commit. This information is also presented
     # in the output of `pdfcpu version` which we use as a sanity check in the
@@ -31,7 +31,7 @@ buildGoModule rec {
     '';
   };
 
-  vendorHash = "sha256-jVX/CFf9dd9qD3gyGVDjbfINtPLCsgdjWFix4BCpDZ0=";
+  vendorHash = "sha256-4k4aZnQ9SjcGr/ziCacfcVfVk7w4Qhli2rOeYE76Qs0=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/applications/graphics/processing/default.nix b/pkgs/applications/graphics/processing/default.nix
index 3df5013cc078f..5fa438ef975d8 100644
--- a/pkgs/applications/graphics/processing/default.nix
+++ b/pkgs/applications/graphics/processing/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, fetchurl, ant, unzip, makeWrapper, jdk, jogl, rsync, ffmpeg, batik, wrapGAppsHook, libGL }:
+{ lib, stdenv, fetchFromGitHub, fetchurl, ant, unzip, makeWrapper, jdk, jogl, rsync, ffmpeg, batik, stripJavaArchivesHook, wrapGAppsHook, libGL }:
 let
   buildNumber = "1293";
   vaqua = fetchurl {
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-SzQemZ6iZ9o89/doV8YMv7DmyPSDyckJl3oyxJyfrm0=";
   };
 
-  nativeBuildInputs = [ ant unzip makeWrapper wrapGAppsHook ];
+  nativeBuildInputs = [ ant unzip makeWrapper stripJavaArchivesHook wrapGAppsHook ];
   buildInputs = [ jdk jogl ant rsync ffmpeg batik ];
 
   dontWrapGApps = true;
diff --git a/pkgs/applications/graphics/pureref/default.nix b/pkgs/applications/graphics/pureref/default.nix
index 825ea4c51e190..552f56a6b5c42 100644
--- a/pkgs/applications/graphics/pureref/default.nix
+++ b/pkgs/applications/graphics/pureref/default.nix
@@ -12,10 +12,6 @@ appimageTools.wrapType1 rec {
     curl "https://www.pureref.com/files/build.php?build=LINUX64.Appimage&version=${version}&downloadKey=$key" --output $out
   '';
 
-  extraInstallCommands = ''
-    mv $out/bin/${pname}-${version} $out/bin/${pname}
-  '';
-
   meta = with lib; {
     description = "Reference Image Viewer";
     homepage = "https://www.pureref.com";
diff --git a/pkgs/applications/graphics/structorizer/default.nix b/pkgs/applications/graphics/structorizer/default.nix
index e639efa4e2a72..46332a12907aa 100644
--- a/pkgs/applications/graphics/structorizer/default.nix
+++ b/pkgs/applications/graphics/structorizer/default.nix
@@ -10,7 +10,7 @@
 
 stdenv.mkDerivation rec {
   pname = "structorizer";
-  version = "3.32-20";
+  version = "3.32-21";
 
   desktopItems = [
     (makeDesktopItem {
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
     owner = "fesch";
     repo = "Structorizer.Desktop";
     rev = version;
-    hash = "sha256-kFgypwSmXRkIyb0ZMcoTSgQdODfn9F81ABlFWATvh3M=";
+    hash = "sha256-pwakwIMmG7A0Rw8XYH/f2PkzzX9bIADL0+52Ucawn3Q=";
   };
 
   patches = [ ./makeStructorizer.patch ./makeBigJar.patch ];
diff --git a/pkgs/applications/graphics/tev/default.nix b/pkgs/applications/graphics/tev/default.nix
index ca70027eb2029..c1932c3e11c39 100644
--- a/pkgs/applications/graphics/tev/default.nix
+++ b/pkgs/applications/graphics/tev/default.nix
@@ -5,14 +5,14 @@
 
 stdenv.mkDerivation rec {
   pname = "tev";
-  version = "1.26";
+  version = "1.27";
 
   src = fetchFromGitHub {
     owner = "Tom94";
     repo = pname;
     rev = "v${version}";
     fetchSubmodules = true;
-    sha256 = "sha256-6acFt0fyL0yStUwreGggJ+7Zi+0Fqburj/ytmf+Oi4w=";
+    sha256 = "sha256-+qCRHP0AbYOQBAE4zK2cmWPHZGWjjxC3DZPNm8sgBzs=";
   };
 
   nativeBuildInputs = [ cmake wrapGAppsHook ];
diff --git a/pkgs/applications/graphics/upscayl/default.nix b/pkgs/applications/graphics/upscayl/default.nix
index 9675f4cf17dcc..f7e1d41b51352 100644
--- a/pkgs/applications/graphics/upscayl/default.nix
+++ b/pkgs/applications/graphics/upscayl/default.nix
@@ -4,11 +4,11 @@
   lib,
 }: let
   pname = "upscayl";
-  version = "2.10.0";
+  version = "2.11.0";
 
   src = fetchurl {
     url = "https://github.com/upscayl/upscayl/releases/download/v${version}/upscayl-${version}-linux.AppImage";
-    hash = "sha256-nRYNYNHIkbvvQZd1zRDCCsCadgRgV/yn9WfaKjt44O8=";
+    hash = "sha256-XhvOzARP8Ytlf23vNMYZ5x1UKvKOlM/69yhysasW3dA=";
   };
 
   appimageContents = appimageTools.extractType2 {
@@ -26,8 +26,6 @@ in
       cp ${appimageContents}/${pname}.desktop $out/share/applications/${pname}.desktop
       cp ${appimageContents}/${pname}.png $out/share/pixmaps/${pname}.png
 
-      mv $out/bin/${pname}-${version} $out/bin/${pname}
-
       substituteInPlace $out/share/applications/${pname}.desktop \
         --replace 'Exec=AppRun --no-sandbox %U' 'Exec=${pname}'
     '';
diff --git a/pkgs/applications/graphics/xournalpp/default.nix b/pkgs/applications/graphics/xournalpp/default.nix
index 7ff575acab669..54f7287513b1c 100644
--- a/pkgs/applications/graphics/xournalpp/default.nix
+++ b/pkgs/applications/graphics/xournalpp/default.nix
@@ -68,7 +68,7 @@ stdenv.mkDerivation rec {
     homepage    = "https://xournalpp.github.io/";
     changelog   = "https://github.com/xournalpp/xournalpp/blob/v${version}/CHANGELOG.md";
     license     = licenses.gpl2Plus;
-    maintainers = with maintainers; [ andrew-d sikmir ];
+    maintainers = with maintainers; [ sikmir ];
     platforms   = platforms.unix;
     mainProgram = "xournalpp";
   };
diff --git a/pkgs/applications/kde/filelight.nix b/pkgs/applications/kde/filelight.nix
index 017a5eb2f532f..4793da1562a7e 100644
--- a/pkgs/applications/kde/filelight.nix
+++ b/pkgs/applications/kde/filelight.nix
@@ -20,7 +20,7 @@ mkDerivation {
     mainProgram = "filelight";
     homepage = "https://apps.kde.org/filelight/";
     license = with lib.licenses; [ gpl2 ];
-    maintainers = with lib.maintainers; [ fridh vcunat ];
+    maintainers = with lib.maintainers; [ vcunat ];
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   propagatedBuildInputs = [
diff --git a/pkgs/applications/kde/kcalc.nix b/pkgs/applications/kde/kcalc.nix
index fdd8bb89f96ec..b17bda85fb724 100644
--- a/pkgs/applications/kde/kcalc.nix
+++ b/pkgs/applications/kde/kcalc.nix
@@ -12,7 +12,6 @@ mkDerivation {
     description = "Scientific calculator";
     mainProgram = "kcalc";
     license = with lib.licenses; [ gpl2 ];
-    maintainers = [ lib.maintainers.fridh ];
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
diff --git a/pkgs/applications/kde/kdeconnect-kde.nix b/pkgs/applications/kde/kdeconnect-kde.nix
index eec6615967f27..56ccd7f103c87 100644
--- a/pkgs/applications/kde/kdeconnect-kde.nix
+++ b/pkgs/applications/kde/kdeconnect-kde.nix
@@ -77,7 +77,6 @@ mkDerivation {
     description = "KDE Connect provides several features to integrate your phone and your computer";
     homepage = "https://community.kde.org/KDEConnect";
     license = with licenses; [ gpl2 ];
-    maintainers = with maintainers; [ fridh ];
     mainProgram = "kdeconnect-app";
   };
 }
diff --git a/pkgs/applications/kde/kolourpaint.nix b/pkgs/applications/kde/kolourpaint.nix
index 4af7cd12b8964..0844cbe0a23ea 100644
--- a/pkgs/applications/kde/kolourpaint.nix
+++ b/pkgs/applications/kde/kolourpaint.nix
@@ -20,7 +20,6 @@ mkDerivation {
     homepage = "https://apps.kde.org/kolourpaint/";
     description = "Paint program";
     mainProgram = "kolourpaint";
-    maintainers = [ lib.maintainers.fridh ];
     license = with lib.licenses; [ gpl2 ];
   };
 }
diff --git a/pkgs/applications/kde/kwalletmanager.nix b/pkgs/applications/kde/kwalletmanager.nix
index 63534d584d9f5..64d4d36806f2e 100644
--- a/pkgs/applications/kde/kwalletmanager.nix
+++ b/pkgs/applications/kde/kwalletmanager.nix
@@ -19,7 +19,6 @@ mkDerivation {
     description = "KDE wallet management tool";
     mainProgram = "kwalletmanager5";
     license = with lib.licenses; [ gpl2 ];
-    maintainers = with lib.maintainers; [ fridh ];
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
diff --git a/pkgs/applications/kde/yakuake.nix b/pkgs/applications/kde/yakuake.nix
index ce1cf3d161ff6..cf88cd280c2eb 100644
--- a/pkgs/applications/kde/yakuake.nix
+++ b/pkgs/applications/kde/yakuake.nix
@@ -29,7 +29,6 @@ mkDerivation {
     homepage = "https://yakuake.kde.org";
     description = "Quad-style terminal emulator for KDE";
     mainProgram = "yakuake";
-    maintainers = with lib.maintainers; [ fridh ];
     license = lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/applications/misc/1password-gui/default.nix b/pkgs/applications/misc/1password-gui/default.nix
index e977dffc444b6..c151bedd29e61 100644
--- a/pkgs/applications/misc/1password-gui/default.nix
+++ b/pkgs/applications/misc/1password-gui/default.nix
@@ -59,7 +59,7 @@ let
     homepage = "https://1password.com/";
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.unfree;
-    maintainers = with maintainers; [ timstott savannidgerinel amaxine sebtm ];
+    maintainers = with maintainers; [ timstott savannidgerinel sebtm ];
     platforms = builtins.attrNames sources.${channel};
     mainProgram = "1password";
   };
diff --git a/pkgs/applications/misc/1password/default.nix b/pkgs/applications/misc/1password/default.nix
index 7ef91e330cbd5..09bae86572cf9 100644
--- a/pkgs/applications/misc/1password/default.nix
+++ b/pkgs/applications/misc/1password/default.nix
@@ -73,7 +73,7 @@ stdenv.mkDerivation {
     description = "1Password command-line tool";
     homepage = "https://developer.1password.com/docs/cli/";
     downloadPage = "https://app-updates.agilebits.com/product_history/CLI2";
-    maintainers = with maintainers; [ joelburget marsam ];
+    maintainers = with maintainers; [ joelburget ];
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.unfree;
     inherit mainProgram platforms;
diff --git a/pkgs/applications/misc/ablog/default.nix b/pkgs/applications/misc/ablog/default.nix
index 932db21317c66..67b21e5199de5 100644
--- a/pkgs/applications/misc/ablog/default.nix
+++ b/pkgs/applications/misc/ablog/default.nix
@@ -5,12 +5,12 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "ablog";
-  version = "0.11.6";
+  version = "0.11.8";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-fV4W4AaiqyruIz3OQ7/lGkMPMKmyiFa+fdU2QeeQCvs=";
+    hash = "sha256-PpNBfa4g14l8gm9+PxOFc2NDey031D7Ohutx2OGUeak=";
   };
 
   nativeBuildInputs = with python3.pkgs; [
diff --git a/pkgs/applications/misc/authy/default.nix b/pkgs/applications/misc/authy/default.nix
deleted file mode 100644
index 95a439b675390..0000000000000
--- a/pkgs/applications/misc/authy/default.nix
+++ /dev/null
@@ -1,68 +0,0 @@
-{ autoPatchelfHook
-, electron
-, fetchurl
-, lib
-, makeWrapper
-, squashfsTools
-, stdenv
-}:
-
-stdenv.mkDerivation rec {
-  pname = "authy";
-  # curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/authy?channel=stable' | jq '.download_url,.version'
-  version = "2.4.1";
-  rev = "21";
-
-  src = fetchurl {
-    url = "https://api.snapcraft.io/api/v1/snaps/download/H8ZpNgIoPyvmkgxOWw5MSzsXK1wRZiHn_${rev}.snap";
-    hash = "sha256-a5z6Lwdgody88f7has/f2AMg9m9fGWsJSexZM6KUGOY=";
-  };
-
-  nativeBuildInputs = [ autoPatchelfHook makeWrapper squashfsTools ];
-
-  unpackPhase = ''
-    runHook preUnpack
-    unsquashfs "$src"
-    cd squashfs-root
-    if ! grep -q '${version}' meta/snap.yaml; then
-      echo "Package version differs from version found in snap metadata:"
-      grep 'version: ' meta/snap.yaml
-      echo "While the nix package specifies: ${version}."
-      echo "You probably chose the wrong revision or forgot to update the nix version."
-      exit 1
-    fi
-    runHook postUnpack
-  '';
-
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p $out/bin $out/share/applications $out/share/pixmaps/apps
-
-    # Copy only what is needed
-    cp -r resources* $out/
-    cp -r locales* $out/
-    cp meta/gui/authy.desktop $out/share/applications/
-    cp meta/gui/icon.png $out/share/pixmaps/authy.png
-
-    # Replace icon name in Desktop file
-    sed -i 's|''${SNAP}/meta/gui/icon.png|authy|g' "$out/share/applications/authy.desktop"
-
-    runHook postInstall
-  '';
-
-  postFixup = ''
-    makeWrapper ${electron}/bin/electron $out/bin/${pname} \
-      --add-flags $out/resources/app.asar
-  '';
-
-  meta = with lib; {
-    homepage = "https://www.authy.com";
-    description = "Twilio Authy two factor authentication desktop application";
-    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
-    license = licenses.unfree;
-    maintainers = with maintainers; [ iammrinal0 ];
-    platforms = [ "x86_64-linux" ];
-    mainProgram = "authy";
-  };
-}
diff --git a/pkgs/applications/misc/avalonia-ilspy/default.nix b/pkgs/applications/misc/avalonia-ilspy/default.nix
index 797a8ffe5c936..d8ae98e66acd6 100644
--- a/pkgs/applications/misc/avalonia-ilspy/default.nix
+++ b/pkgs/applications/misc/avalonia-ilspy/default.nix
@@ -15,7 +15,6 @@
 , makeDesktopItem
 , copyDesktopItems
 , icoutils
-, autoPatchelfHook
 , bintools
 , fixDarwinDylibNames
 , autoSignDarwinBinariesHook
@@ -40,8 +39,7 @@ buildDotnetModule rec {
   nativeBuildInputs = [
     copyDesktopItems
     icoutils
-  ] ++ lib.optionals stdenv.hostPlatform.isLinux [ autoPatchelfHook ]
-    ++ lib.optionals stdenv.hostPlatform.isDarwin [ bintools fixDarwinDylibNames ]
+  ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ bintools fixDarwinDylibNames ]
     ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ autoSignDarwinBinariesHook ];
 
   buildInputs = [
diff --git a/pkgs/applications/misc/bambu-studio/default.nix b/pkgs/applications/misc/bambu-studio/default.nix
index 64fa760ef9d24..43b6cb8769ef7 100644
--- a/pkgs/applications/misc/bambu-studio/default.nix
+++ b/pkgs/applications/misc/bambu-studio/default.nix
@@ -1,49 +1,50 @@
-{ stdenv
-, lib
-, openexr
-, jemalloc
-, c-blosc
-, binutils
-, fetchFromGitHub
-, cmake
-, pkg-config
-, wrapGAppsHook
-, boost179
-, cereal
-, cgal_5
-, curl
-, dbus
-, eigen
-, expat
-, gcc-unwrapped
-, glew
-, glfw
-, glib
-, glib-networking
-, gmp
-, gstreamer
-, gst-plugins-base
-, gst-plugins-bad
-, gst-plugins-good
-, gtest
-, gtk3
-, hicolor-icon-theme
-, ilmbase
-, libpng
-, mesa
-, mpfr
-, nlopt
-, opencascade-occt
-, openvdb
-, pcre
-, qhull
-, systemd
-, tbb_2021_11
-, webkitgtk
-, wxGTK31
-, xorg
-, fetchpatch
-, withSystemd ? stdenv.isLinux
+{
+  stdenv,
+  lib,
+  openexr,
+  jemalloc,
+  c-blosc,
+  binutils,
+  fetchFromGitHub,
+  cmake,
+  pkg-config,
+  wrapGAppsHook,
+  boost179,
+  cereal,
+  cgal_5,
+  curl,
+  dbus,
+  eigen,
+  expat,
+  gcc-unwrapped,
+  glew,
+  glfw,
+  glib,
+  glib-networking,
+  gmp,
+  gstreamer,
+  gst-plugins-base,
+  gst-plugins-bad,
+  gst-plugins-good,
+  gtest,
+  gtk3,
+  hicolor-icon-theme,
+  ilmbase,
+  libpng,
+  mesa,
+  mpfr,
+  nlopt,
+  opencascade-occt,
+  openvdb,
+  pcre,
+  qhull,
+  systemd,
+  tbb_2021_11,
+  webkitgtk,
+  wxGTK31,
+  xorg,
+  fetchpatch,
+  withSystemd ? stdenv.isLinux,
 }:
 let
   wxGTK31' = wxGTK31.overrideAttrs (old: {
@@ -53,7 +54,14 @@ let
     ];
   });
   openvdb_tbb_2021_8 = openvdb.overrideAttrs (old: rec {
-    buildInputs = [ openexr boost179 tbb_2021_11 jemalloc c-blosc ilmbase ];
+    buildInputs = [
+      openexr
+      boost179
+      tbb_2021_11
+      jemalloc
+      c-blosc
+      ilmbase
+    ];
   });
 in
 stdenv.mkDerivation rec {
@@ -106,9 +114,7 @@ stdenv.mkDerivation rec {
     webkitgtk
     wxGTK31'
     xorg.libX11
-  ] ++ lib.optionals withSystemd [
-    systemd
-  ] ++ checkInputs;
+  ] ++ lib.optionals withSystemd [ systemd ] ++ checkInputs;
 
   patches = [
     # Fix for webkitgtk linking
@@ -169,11 +175,8 @@ stdenv.mkDerivation rec {
   # needed to prevent collisions between the LICENSE.txt files of
   # bambu-studio and orca-slicer.
   postInstall = ''
-    mkdir -p $out/share/doc
-    mv $out/LICENSE.txt $out/share/doc/LICENSE.txt
-    if [ -f $out/README.md ]; then
-      mv $out/README.md $out/share/doc/README.md
-    fi
+    mv $out/LICENSE.txt $out/share/BambuStudio/LICENSE.txt
+    mv $out/README.md $out/share/BambuStudio/README.md
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/misc/bambu-studio/orca-slicer.nix b/pkgs/applications/misc/bambu-studio/orca-slicer.nix
index 5e10050078d6c..af89be65246d3 100644
--- a/pkgs/applications/misc/bambu-studio/orca-slicer.nix
+++ b/pkgs/applications/misc/bambu-studio/orca-slicer.nix
@@ -1,27 +1,41 @@
-{ lib, fetchFromGitHub, makeDesktopItem, bambu-studio }:
+{
+  lib,
+  fetchFromGitHub,
+  bambu-studio,
+}:
 
-bambu-studio.overrideAttrs (finalAttrs: previousAttrs: {
-  version = "2.0.0";
-  pname = "orca-slicer";
+bambu-studio.overrideAttrs (
+  finalAttrs: previousAttrs: {
+    version = "2.0.0";
+    pname = "orca-slicer";
 
-  # Don't inherit patches from bambu-studio
-  patches = [
-    ./0001-not-for-upstream-CMakeLists-Link-against-webkit2gtk-.patch
-  ];
+    # Don't inherit patches from bambu-studio
+    patches = [ ./0001-not-for-upstream-CMakeLists-Link-against-webkit2gtk-.patch ];
 
-  src = fetchFromGitHub {
-    owner = "SoftFever";
-    repo = "OrcaSlicer";
-    rev = "v${finalAttrs.version}";
-    hash = "sha256-YlLDUH3ODIfax5QwnsVJi1JjZ9WtxP3ssqRP1C4d4bw=";
-  };
+    src = fetchFromGitHub {
+      owner = "SoftFever";
+      repo = "OrcaSlicer";
+      rev = "v${finalAttrs.version}";
+      hash = "sha256-YlLDUH3ODIfax5QwnsVJi1JjZ9WtxP3ssqRP1C4d4bw=";
+    };
 
-  meta = with lib; {
-    description = "G-code generator for 3D printers (Bambu, Prusa, Voron, VzBot, RatRig, Creality, etc";
-    homepage = "https://github.com/SoftFever/OrcaSlicer";
-    license = licenses.agpl3Only;
-    maintainers = with maintainers; [ zhaofengli ovlach pinpox ];
-    mainProgram = "orca-slicer";
-    platforms = platforms.linux;
-  };
-})
+    # needed to prevent collisions between the LICENSE.txt files of
+    # bambu-studio and orca-slicer.
+    postInstall = ''
+      mv $out/LICENSE.txt $out/share/OrcaSlicer/LICENSE.txt
+    '';
+
+    meta = with lib; {
+      description = "G-code generator for 3D printers (Bambu, Prusa, Voron, VzBot, RatRig, Creality, etc";
+      homepage = "https://github.com/SoftFever/OrcaSlicer";
+      license = licenses.agpl3Only;
+      maintainers = with maintainers; [
+        zhaofengli
+        ovlach
+        pinpox
+      ];
+      mainProgram = "orca-slicer";
+      platforms = platforms.linux;
+    };
+  }
+)
diff --git a/pkgs/applications/misc/bazecor/default.nix b/pkgs/applications/misc/bazecor/default.nix
index 128c668eb0a51..7387bc212c649 100644
--- a/pkgs/applications/misc/bazecor/default.nix
+++ b/pkgs/applications/misc/bazecor/default.nix
@@ -37,8 +37,6 @@ appimageTools.wrapAppImage rec {
   # to allow non-root modifications to the keyboards.
 
   extraInstallCommands = ''
-    mv $out/bin/bazecor-* $out/bin/bazecor
-
     install -m 444 -D ${src}/Bazecor.desktop -t $out/share/applications
     substituteInPlace $out/share/applications/Bazecor.desktop \
       --replace 'Exec=Bazecor' 'Exec=bazecor'
diff --git a/pkgs/applications/misc/cobalt/default.nix b/pkgs/applications/misc/cobalt/default.nix
index e35939536a614..1fda517675416 100644
--- a/pkgs/applications/misc/cobalt/default.nix
+++ b/pkgs/applications/misc/cobalt/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cobalt";
-  version = "0.19.2";
+  version = "0.19.3";
 
   src = fetchFromGitHub {
     owner = "cobalt-org";
     repo = "cobalt.rs";
     rev = "v${version}";
-    sha256 = "sha256-W0XbNZDSeSK6oxOD1JeLNF+c6/6cy/WQrrmQbSKeqk4=";
+    sha256 = "sha256-aAhceExz5SENL+FhPHyx8HmaNOWjNsynv81Rj2cS5M8=";
   };
 
-  cargoHash = "sha256-IM2SKovb8FYwA/c4R3N7M+oVuGfuc5sK+r6FP9YMk+I=";
+  cargoHash = "sha256-vw7fGsTSEVO8s1LzilKJN5lGzOfQcms1h7rnTOyE4Kw=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
 
diff --git a/pkgs/applications/misc/cobang/default.nix b/pkgs/applications/misc/cobang/default.nix
index e36ece60d751c..336b4d7c1a507 100644
--- a/pkgs/applications/misc/cobang/default.nix
+++ b/pkgs/applications/misc/cobang/default.nix
@@ -24,14 +24,14 @@
 
 buildPythonApplication rec {
   pname = "cobang";
-  version = "0.10.5";
+  version = "0.10.9";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "hongquan";
     repo = "CoBang";
     rev = "refs/tags/v${version}";
-    hash = "sha256-CfT/farNOJiWIioFBPx2q7bAFAE4khcojdZ7AsYaU6o=";
+    hash = "sha256-xOP2XkmHOGMe50dn4StX/9veTdloLHq76ENWEUK4Keo=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/misc/cointop/default.nix b/pkgs/applications/misc/cointop/default.nix
index 16a59b2fdb710..ca96bd3d2eec8 100644
--- a/pkgs/applications/misc/cointop/default.nix
+++ b/pkgs/applications/misc/cointop/default.nix
@@ -25,7 +25,7 @@ buildGoModule rec {
       The interface is inspired by htop and shortcut keys are inspired by vim.
     '';
     homepage = "https://cointop.sh";
-    maintainers = [ maintainers.marsam ];
+    maintainers = with maintainers; [ sarcasticadmin ];
     license = licenses.asl20;
     mainProgram = "cointop";
   };
diff --git a/pkgs/applications/misc/confclerk/default.nix b/pkgs/applications/misc/confclerk/default.nix
index 7646cb9ae87be..0ace0e1e493b0 100644
--- a/pkgs/applications/misc/confclerk/default.nix
+++ b/pkgs/applications/misc/confclerk/default.nix
@@ -2,11 +2,11 @@
 
 mkDerivation rec {
   pname = "confclerk";
-  version = "0.7.1";
+  version = "0.7.2";
 
   src = fetchurl {
     url = "https://www.toastfreeware.priv.at/tarballs/confclerk/confclerk-${version}.tar.gz";
-    sha256 = "0l5i4d6lymh0k6gzihs41x4i8v1dz0mrwpga096af0vchpvlcarg";
+    sha256 = "sha256-GgWvPHcQnQrK9SOC8U9F2P8kuPCn8I2EhoWEEMtKBww=";
   };
 
   buildInputs = [ qtbase ];
diff --git a/pkgs/applications/misc/devdocs-desktop/default.nix b/pkgs/applications/misc/devdocs-desktop/default.nix
index 55fe2b9e2cf79..c6307cb3fa9a1 100644
--- a/pkgs/applications/misc/devdocs-desktop/default.nix
+++ b/pkgs/applications/misc/devdocs-desktop/default.nix
@@ -3,7 +3,6 @@
 let
   version = "0.7.2";
   pname = "devdocs-desktop";
-  name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://github.com/egoist/devdocs-desktop/releases/download/v${version}/DevDocs-${version}.AppImage";
@@ -11,14 +10,13 @@ let
   };
 
   appimageContents = appimageTools.extractType2 {
-    inherit name src;
+    inherit pname version src;
   };
 
 in appimageTools.wrapType2 rec {
-  inherit name src;
+  inherit pname version src;
 
   extraInstallCommands = ''
-    mv $out/bin/${name} $out/bin/${pname}
     install -m 444 -D ${appimageContents}/devdocs.desktop $out/share/applications/devdocs.desktop
     install -m 444 -D ${appimageContents}/devdocs.png $out/share/icons/hicolor/0x0/apps/devdocs.png
     substituteInPlace $out/share/applications/devdocs.desktop \
diff --git a/pkgs/applications/misc/firefly-desktop/default.nix b/pkgs/applications/misc/firefly-desktop/default.nix
index 9df2118b02fb7..41cd6c42a5b3f 100644
--- a/pkgs/applications/misc/firefly-desktop/default.nix
+++ b/pkgs/applications/misc/firefly-desktop/default.nix
@@ -16,7 +16,6 @@ in appimageTools.wrapType2 {
 
   extraInstallCommands = ''
     mkdir -p $out/share/applications $out/share/pixmaps
-    mv $out/bin/${pname}-${version} $out/bin/firefly-desktop
     cp ${appimageContents}/desktop.desktop $out/share/applications/firefly-desktop.desktop
     substituteInPlace $out/share/applications/firefly-desktop.desktop \
       --replace 'Exec=AppRun' 'Exec=firefly-desktop' \
diff --git a/pkgs/applications/misc/fspy/default.nix b/pkgs/applications/misc/fspy/default.nix
index 1a4504d5608c0..96178649efe7f 100644
--- a/pkgs/applications/misc/fspy/default.nix
+++ b/pkgs/applications/misc/fspy/default.nix
@@ -11,10 +11,6 @@ let
 in appimageTools.wrapType2 {
   inherit pname version src;
 
-  extraInstallCommands = ''
-    mv $out/bin/${pname}-${version} $out/bin/${pname}
-  '';
-
   meta = with lib; {
     description = "A cross platform app for quick and easy still image camera matching";
     license = licenses.gpl3;
diff --git a/pkgs/applications/misc/fuzzel/default.nix b/pkgs/applications/misc/fuzzel/default.nix
index e456fd595617a..afe2f188363e7 100644
--- a/pkgs/applications/misc/fuzzel/default.nix
+++ b/pkgs/applications/misc/fuzzel/default.nix
@@ -65,7 +65,7 @@ stdenv.mkDerivation (finalAttrs: {
   ];
 
   meta = with lib; {
-    changelog = "https://codeberg.org/dnkl/fuzzel/releases/tag/${version}";
+    changelog = "https://codeberg.org/dnkl/fuzzel/releases/tag/${finalAttrs.version}";
     description = "Wayland-native application launcher, similar to rofi’s drun mode";
     homepage = "https://codeberg.org/dnkl/fuzzel";
     license = with licenses; [ mit zlib ];
diff --git a/pkgs/applications/misc/gallery-dl/default.nix b/pkgs/applications/misc/gallery-dl/default.nix
index c4dd51951bd2b..f89fdbe71a043 100644
--- a/pkgs/applications/misc/gallery-dl/default.nix
+++ b/pkgs/applications/misc/gallery-dl/default.nix
@@ -47,6 +47,6 @@ buildPythonApplication rec {
     changelog = "https://github.com/mikf/gallery-dl/blob/v${version}/CHANGELOG.md";
     license = licenses.gpl2Only;
     mainProgram = "gallery-dl";
-    maintainers = with maintainers; [ dawidsowa marsam ];
+    maintainers = with maintainers; [ dawidsowa ];
   };
 }
diff --git a/pkgs/applications/misc/golden-cheetah-bin/default.nix b/pkgs/applications/misc/golden-cheetah-bin/default.nix
index ff46b57e1a3ce..308f43b7d4634 100644
--- a/pkgs/applications/misc/golden-cheetah-bin/default.nix
+++ b/pkgs/applications/misc/golden-cheetah-bin/default.nix
@@ -17,7 +17,7 @@ appimageTools.wrapType2 {
   extraPkgs = pkgs: with pkgs; [ R zlib libusb-compat-0_1 ];
 
   extraInstallCommands = ''
-    mv $out/bin/${pname}-${version} $out/bin/GoldenCheetah
+    mv $out/bin/${pname} $out/bin/GoldenCheetah
     mkdir -p $out/share/applications
     mkdir -p $out/share/pixmaps
     cp ${appimageContents}/GoldenCheetah.desktop $out/share/applications/
diff --git a/pkgs/applications/misc/gpsprune/default.nix b/pkgs/applications/misc/gpsprune/default.nix
index 293c3c5691ecf..44e96cb9085a9 100644
--- a/pkgs/applications/misc/gpsprune/default.nix
+++ b/pkgs/applications/misc/gpsprune/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gpsprune";
-  version = "23.2";
+  version = "24";
 
   src = fetchurl {
     url = "https://activityworkshop.net/software/gpsprune/gpsprune_${version}.jar";
-    sha256 = "sha256-r2iw1vINWgqxoW0Zc8Sloa+wN/GUbUQfJ0e2BSP9vxM=";
+    sha256 = "sha256-gMwTdwYjYJt1j5MpHw6UD1wqmF7q3ikzjVSOGakIP30=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/applications/misc/gpxsee/default.nix b/pkgs/applications/misc/gpxsee/default.nix
index b4e2acc645fbe..947c18050ea76 100644
--- a/pkgs/applications/misc/gpxsee/default.nix
+++ b/pkgs/applications/misc/gpxsee/default.nix
@@ -18,13 +18,13 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "gpxsee";
-  version = "13.18";
+  version = "13.19";
 
   src = fetchFromGitHub {
     owner = "tumic0";
     repo = "GPXSee";
     rev = finalAttrs.version;
-    hash = "sha256-FetXV1D1aW7eanhPQkNzcGwKMMwzXLhBZjrzg1LD980=";
+    hash = "sha256-Q/Na+uc6a+OSLvJK75MEIxgdJhg/At830SBrix38Qj8=";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/misc/gremlin-console/default.nix b/pkgs/applications/misc/gremlin-console/default.nix
index ee7d7d3a95b95..eccb7df29166b 100644
--- a/pkgs/applications/misc/gremlin-console/default.nix
+++ b/pkgs/applications/misc/gremlin-console/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "gremlin-console";
-  version = "3.7.1";
+  version = "3.7.2";
   src = fetchzip {
     url = "https://downloads.apache.org/tinkerpop/${version}/apache-tinkerpop-gremlin-console-${version}-bin.zip";
-    sha256 = "sha256-uiJy4kfcTFUymyE0DxP6GlMX7ONogLFrx6K9IcgwTSE=";
+    sha256 = "sha256-lIrqMvI/sYGu36X3jNptoIz7mPVomk8YCIR/6y8mpEc=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/misc/has/default.nix b/pkgs/applications/misc/has/default.nix
index a18a996f92aa8..6fa84195a2f06 100644
--- a/pkgs/applications/misc/has/default.nix
+++ b/pkgs/applications/misc/has/default.nix
@@ -2,13 +2,13 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: rec {
   pname = "has";
-  version = "1.4.0";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = "kdabir";
     repo = "has";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-3XsNSl4lQfJjEPNGoFj6ABXGkwOUsg9AFDAz8euZApE=";
+    hash = "sha256-TL8VwFx2tf+GkBwz0ILQg0pwcLJSTky57Wx9OW5+lS4=";
   };
 
   dontBuild = true;
diff --git a/pkgs/applications/misc/joplin-desktop/default.nix b/pkgs/applications/misc/joplin-desktop/default.nix
index a8245a2234669..55acb6ef0db2a 100644
--- a/pkgs/applications/misc/joplin-desktop/default.nix
+++ b/pkgs/applications/misc/joplin-desktop/default.nix
@@ -52,7 +52,6 @@ let
     multiArch = false; # no 32bit needed
     extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs;
     extraInstallCommands = ''
-      mv $out/bin/{${pname}-${version},${pname}}
       source "${makeWrapper}/nix-support/setup-hook"
       wrapProgram $out/bin/${pname} \
         --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform=wayland --enable-features=WaylandWindowDecorations}}"
diff --git a/pkgs/applications/misc/jotta-cli/default.nix b/pkgs/applications/misc/jotta-cli/default.nix
index 23da5323e21f2..b2239298d1a29 100644
--- a/pkgs/applications/misc/jotta-cli/default.nix
+++ b/pkgs/applications/misc/jotta-cli/default.nix
@@ -5,10 +5,10 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "jotta-cli";
-  version = "0.15.98319";
+  version = "0.15.107955";
   src = fetchzip {
       url = "https://repo.jotta.us/archives/linux/${arch}/jotta-cli-${version}_linux_${arch}.tar.gz";
-      sha256 = "sha256-0gc3uXBByBR2shKhtUElEiz2saCwmH9vxWFf/WZm6hw=";
+      sha256 = "sha256-qCG3yi0ACmqOnn+gaCN8GedciUobpOww50Kz5AdknqU=";
       stripRoot = false;
     };
 
diff --git a/pkgs/applications/misc/kile-wl/default.nix b/pkgs/applications/misc/kile-wl/default.nix
index 842499f845a68..c33ca9bd2a68e 100644
--- a/pkgs/applications/misc/kile-wl/default.nix
+++ b/pkgs/applications/misc/kile-wl/default.nix
@@ -2,7 +2,7 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "kile-wl";
-  version = "unstable-2023-07-23";
+  version = "2.1-unstable-2023-07-23";
 
   src = fetchFromGitLab {
     owner = "snakedye";
@@ -13,6 +13,7 @@ rustPlatform.buildRustPackage rec {
 
   passthru.updateScript = unstableGitUpdater {
     url = "https://gitlab.com/snakedye/kile.git";
+    tagPrefix = "v";
   };
 
   cargoLock = {
diff --git a/pkgs/applications/misc/logseq/default.nix b/pkgs/applications/misc/logseq/default.nix
index eacd64b06b557..5fe74bbe204a7 100644
--- a/pkgs/applications/misc/logseq/default.nix
+++ b/pkgs/applications/misc/logseq/default.nix
@@ -5,6 +5,7 @@
 , makeWrapper
 # graphs will not sync without matching upstream's major electron version
 , electron_27
+, autoPatchelfHook
 , git
 , nix-update-script
 }:
@@ -14,11 +15,11 @@ stdenv.mkDerivation (finalAttrs: let
 
 in {
   pname = "logseq";
-  version = "0.10.8";
+  version = "0.10.9";
 
   src = fetchurl {
     url = "https://github.com/logseq/logseq/releases/download/${version}/logseq-linux-x64-${version}.AppImage";
-    hash = "sha256-kVnQ33gozrL6BOWQxUfiMypiIZOffeT2cMVMHIfsaWg=";
+    hash = "sha256-XROuY2RlKnGvK1VNvzauHuLJiveXVKrIYPppoz8fCmc=";
     name = "${pname}-${version}.AppImage";
   };
 
@@ -30,7 +31,8 @@ in {
   dontConfigure = true;
   dontBuild = true;
 
-  nativeBuildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper autoPatchelfHook ];
+  buildInputs = [ stdenv.cc.cc.lib ];
 
   installPhase = ''
     runHook preInstall
diff --git a/pkgs/applications/misc/lunatask/default.nix b/pkgs/applications/misc/lunatask/default.nix
index 017eb17a40ad1..4bdb6cca92cae 100644
--- a/pkgs/applications/misc/lunatask/default.nix
+++ b/pkgs/applications/misc/lunatask/default.nix
@@ -18,8 +18,6 @@ appimageTools.wrapType2 rec {
   inherit pname version src;
 
   extraInstallCommands = ''
-    mv $out/bin/${pname}-${version} $out/bin/${pname}
-
     install -m 444 -D ${appimageContents}/${pname}.desktop $out/share/applications/${pname}.desktop
     install -m 444 -D ${appimageContents}/${pname}.png $out/share/icons/hicolor/512x512/apps/${pname}.png
     substituteInPlace $out/share/applications/${pname}.desktop \
diff --git a/pkgs/applications/misc/marktext/default.nix b/pkgs/applications/misc/marktext/default.nix
index bc9418d57838e..647e833e69604 100644
--- a/pkgs/applications/misc/marktext/default.nix
+++ b/pkgs/applications/misc/marktext/default.nix
@@ -27,9 +27,6 @@ appimageTools.wrapType2 rec {
   ];
 
   extraInstallCommands = ''
-    # Strip version from binary name.
-    mv $out/bin/${pname}-${version} $out/bin/${pname}
-
     install -m 444 -D ${appimageContents}/marktext.desktop $out/share/applications/marktext.desktop
     substituteInPlace $out/share/applications/marktext.desktop \
       --replace "Exec=AppRun" "Exec=${pname} --"
diff --git a/pkgs/applications/misc/neo4j-desktop/default.nix b/pkgs/applications/misc/neo4j-desktop/default.nix
index 42cd8067fe326..f01ef56e5d02c 100644
--- a/pkgs/applications/misc/neo4j-desktop/default.nix
+++ b/pkgs/applications/misc/neo4j-desktop/default.nix
@@ -2,21 +2,19 @@
 let
   pname = "neo4j-desktop";
   version = "1.5.8";
-  name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "https://s3-eu-west-1.amazonaws.com/dist.neo4j.org/${pname}/linux-offline/${name}-x86_64.AppImage";
+    url = "https://s3-eu-west-1.amazonaws.com/dist.neo4j.org/${pname}/linux-offline/${pname}-${version}-x86_64.AppImage";
     hash = "sha256-RqzR4TuvDasbkj/wKvOOS7r46sXDxvw3B5ydFGZeHX8=";
   };
 
-  appimageContents = appimageTools.extract { inherit name src; };
+  appimageContents = appimageTools.extract { inherit pname version src; };
 in appimageTools.wrapType2 {
-  inherit name src;
+  inherit pname version src;
 
   extraPkgs = pkgs: with pkgs; [ libsecret ];
 
   extraInstallCommands = ''
-    mv $out/bin/${name} $out/bin/${pname}
     install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications
     substituteInPlace $out/share/applications/${pname}.desktop \
       --replace 'Exec=AppRun' 'Exec=${pname}'
diff --git a/pkgs/applications/misc/notable/default.nix b/pkgs/applications/misc/notable/default.nix
index 4606ee9432787..45416035f7b34 100644
--- a/pkgs/applications/misc/notable/default.nix
+++ b/pkgs/applications/misc/notable/default.nix
@@ -5,15 +5,13 @@ let
   version = "1.8.4";
   sha256 = "0rvz8zwsi62kiq89pv8n2wh9h5yb030kvdr1vf65xwqkhqcrzrby";
 
-  name = "${pname}-${version}";
-
   src = fetchurl {
     url = "https://github.com/notable/notable/releases/download/v${version}/Notable-${version}.AppImage";
     inherit sha256;
   };
 
   appimageContents = appimageTools.extract {
-    inherit name src;
+    inherit pname version src;
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -29,7 +27,6 @@ appimageTools.wrapType2 rec {
   multiArch = false; # no 32bit needed
   extraPkgs = p: (appimageTools.defaultFhsEnvArgs.multiPkgs p) ++ [ p.at-spi2-atk p.at-spi2-core ];
   extraInstallCommands = ''
-    mv $out/bin/{${name},${pname}}
     install -m 444 -D ${appimageContents}/notable.desktop $out/share/applications/notable.desktop
     install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/1024x1024/apps/notable.png \
       $out/share/icons/hicolor/1024x1024/apps/notable.png
diff --git a/pkgs/applications/misc/notesnook/default.nix b/pkgs/applications/misc/notesnook/default.nix
index 62788b5a7f13f..48f3e6e9cce8f 100644
--- a/pkgs/applications/misc/notesnook/default.nix
+++ b/pkgs/applications/misc/notesnook/default.nix
@@ -51,7 +51,6 @@ let
     multiPkgs = null; # no 32bit needed
     extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs;
     extraInstallCommands = ''
-      mv $out/bin/{${pname}-${version},${pname}}
       install -Dm444 ${appimageContents}/notesnook.desktop -t $out/share/applications
       install -Dm444 ${appimageContents}/notesnook.png -t $out/share/pixmaps
       substituteInPlace $out/share/applications/notesnook.desktop \
diff --git a/pkgs/applications/misc/octoprint/default.nix b/pkgs/applications/misc/octoprint/default.nix
index 0a13013e5da2e..c537afbb98ed1 100644
--- a/pkgs/applications/misc/octoprint/default.nix
+++ b/pkgs/applications/misc/octoprint/default.nix
@@ -115,13 +115,13 @@ let
           self: super: {
             octoprint = self.buildPythonPackage rec {
               pname = "OctoPrint";
-              version = "1.9.3";
+              version = "1.10.0";
 
               src = fetchFromGitHub {
                 owner = "OctoPrint";
                 repo = "OctoPrint";
                 rev = version;
-                hash = "sha256-71uE8JvcS++xH8WSVWj5x0+9s3XIwf3A64c6YtxpSRc=";
+                hash = "sha256-gM989Wh4HYU5/afCcZ6iRJWb4bkFZfnnxBmyklSZep4=";
               };
 
               propagatedBuildInputs = with self; [
diff --git a/pkgs/applications/misc/pdfsam-basic/default.nix b/pkgs/applications/misc/pdfsam-basic/default.nix
index 0d1e5e5f737cc..c7d88edef8678 100644
--- a/pkgs/applications/misc/pdfsam-basic/default.nix
+++ b/pkgs/applications/misc/pdfsam-basic/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "pdfsam-basic";
-  version = "5.2.2";
+  version = "5.2.3";
 
   src = fetchurl {
     url = "https://github.com/torakiki/pdfsam/releases/download/v${version}/pdfsam_${version}-1_amd64.deb";
-    hash = "sha256-+Hc3f8rf0ymddIu52vLtdqNZO4ODW9JnPlyneSZt/OQ=";
+    hash = "sha256-ai1UHMeLvCba6WV6f6dGc53CxPP7bJaPgo8Tm7ddkOM=";
   };
 
   unpackPhase = ''
diff --git a/pkgs/applications/misc/perkeep/default.nix b/pkgs/applications/misc/perkeep/default.nix
index da67c39ab585d..11bee79962e39 100644
--- a/pkgs/applications/misc/perkeep/default.nix
+++ b/pkgs/applications/misc/perkeep/default.nix
@@ -55,6 +55,6 @@ buildGoModule rec {
     description = "A way of storing, syncing, sharing, modelling and backing up content (née Camlistore)";
     homepage = "https://perkeep.org";
     license = licenses.asl20;
-    maintainers = with maintainers; [ danderson kalbasit ];
+    maintainers = with maintainers; [ kalbasit ];
   };
 }
diff --git a/pkgs/applications/misc/projectlibre/default.nix b/pkgs/applications/misc/projectlibre/default.nix
index b0591cc0c12a6..fbb25f30d41be 100644
--- a/pkgs/applications/misc/projectlibre/default.nix
+++ b/pkgs/applications/misc/projectlibre/default.nix
@@ -1,23 +1,24 @@
-{ lib
-, stdenv
-, fetchgit
-, ant
-, jdk
-, stripJavaArchivesHook
-, makeWrapper
-, jre
-, coreutils
-, which
+{
+  lib,
+  stdenv,
+  fetchgit,
+  ant,
+  jdk,
+  stripJavaArchivesHook,
+  makeWrapper,
+  jre,
+  coreutils,
+  which,
 }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation (finalAttrs: {
   pname = "projectlibre";
-  version = "1.7.0";
+  version = "1.9.3";
 
   src = fetchgit {
     url = "https://git.code.sf.net/p/projectlibre/code";
-    rev = "0c939507cc63e9eaeb855437189cdec79e9386c2"; # version 1.7.0 was not tagged
-    hash = "sha256-eLUbsQkYuVQxt4px62hzfdUNg2zCL/VOSVEVctfbxW8=";
+    rev = "20814e88dc83694f9fc6780c2550ca5c8a87aa16"; # version 1.9.3 was not tagged
+    hash = "sha256-yXgYyy3jWxYMXKsNCRWdO78gYRmjKpO9U5WWU6PtwMU=";
   };
 
   nativeBuildInputs = [
@@ -27,9 +28,17 @@ stdenv.mkDerivation {
     makeWrapper
   ];
 
+  runtimeDeps = [
+    jre
+    coreutils
+    which
+  ];
+
+  env.JAVA_TOOL_OPTIONS = "-Dfile.encoding=UTF8";
+
   buildPhase = ''
     runHook preBuild
-    ant -f openproj_build/build.xml
+    ant -f projectlibre_build/build.xml
     runHook postBuild
   '';
 
@@ -38,7 +47,7 @@ stdenv.mkDerivation {
 
     mkdir -p $out/share/{projectlibre/samples,doc/projectlibre}
 
-    pushd openproj_build
+    pushd projectlibre_build
     cp -R dist/* $out/share/projectlibre
     cp -R license $out/share/doc/projectlibre
     cp -R resources/samples/* $out/share/projectlibre/samples
@@ -51,7 +60,7 @@ stdenv.mkDerivation {
         --replace-fail "/usr/share/projectlibre" "$out/share/projectlibre"
 
     wrapProgram $out/bin/projectlibre \
-        --prefix PATH : ${lib.makeBinPath [ jre coreutils which ]}
+        --prefix PATH : ${lib.makeBinPath finalAttrs.runtimeDeps}
 
     runHook postInstall
   '';
@@ -61,8 +70,10 @@ stdenv.mkDerivation {
     homepage = "https://www.projectlibre.com/";
     license = lib.licenses.cpal10;
     mainProgram = "projectlibre";
-    maintainers = with lib.maintainers; [ Mogria tomasajt ];
+    maintainers = with lib.maintainers; [
+      Mogria
+      tomasajt
+    ];
     platforms = jre.meta.platforms;
   };
-}
-
+})
diff --git a/pkgs/applications/misc/protonup-qt/default.nix b/pkgs/applications/misc/protonup-qt/default.nix
index 24cc1f5438ec5..8823744bf3a1f 100644
--- a/pkgs/applications/misc/protonup-qt/default.nix
+++ b/pkgs/applications/misc/protonup-qt/default.nix
@@ -1,10 +1,10 @@
 { appimageTools, fetchurl, lib }:
 let
   pname = "protonup-qt";
-  version = "2.9.1";
+  version = "2.9.2";
   src = fetchurl {
     url = "https://github.com/DavidoTek/ProtonUp-Qt/releases/download/v${version}/ProtonUp-Qt-${version}-x86_64.AppImage";
-    hash = "sha256-rT+vRYGE62SMBYhCsxYc9gnvKpOkqz0Qkr9QtKQx/Uc=";
+    hash = "sha256-d1UjyhU7BezOoQZBnmrk96gD0MbYST0XR+PWVYmvGFQ=";
   };
   appimageContents = appimageTools.extractType2 { inherit pname version src; };
 in
@@ -12,7 +12,6 @@ appimageTools.wrapType2 {
   inherit pname version src;
 
   extraInstallCommands = ''
-    mv $out/bin/{${pname}-${version},${pname}}
     mkdir -p $out/share/{applications,pixmaps}
     cp ${appimageContents}/net.davidotek.pupgui2.desktop $out/share/applications/${pname}.desktop
     cp ${appimageContents}/net.davidotek.pupgui2.png $out/share/pixmaps/${pname}.png
@@ -21,6 +20,8 @@ appimageTools.wrapType2 {
       --replace 'Icon=net.davidotek.pupgui2' 'Icon=${pname}'
   '';
 
+  extraPkgs = pkgs: with pkgs; [ zstd ];
+
   meta = with lib; {
     homepage = "https://davidotek.github.io/protonup-qt/";
     description = "Install and manage Proton-GE and Luxtorpeda for Steam and Wine-GE for Lutris with this graphical user interface.";
diff --git a/pkgs/applications/misc/pueue/default.nix b/pkgs/applications/misc/pueue/default.nix
index 69483be06db65..6a9c6e0e5febe 100644
--- a/pkgs/applications/misc/pueue/default.nix
+++ b/pkgs/applications/misc/pueue/default.nix
@@ -62,6 +62,6 @@ rustPlatform.buildRustPackage rec {
     '';
     changelog = "https://github.com/Nukesor/pueue/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ sarcasticadmin ];
   };
 }
diff --git a/pkgs/applications/misc/remnote/default.nix b/pkgs/applications/misc/remnote/default.nix
index 585f7443ec476..198922f1876c8 100644
--- a/pkgs/applications/misc/remnote/default.nix
+++ b/pkgs/applications/misc/remnote/default.nix
@@ -6,11 +6,11 @@ stdenv.mkDerivation (finalAttrs: let
 in
 {
   pname = "remnote";
-  version = "1.15.4";
+  version = "1.16.4";
 
   src = fetchurl {
     url = "https://download.remnote.io/remnote-desktop/RemNote-${version}.AppImage";
-    hash = "sha256-6WBdTOj/seinx1wJGb/4if3PzCPmtzHyNAFmQwmsrvE=";
+    hash = "sha256-dgbQ0cbPq7BSQ9VwwH6+GoAxb85HDxRixfjeDJBtOrg=";
   };
 
   appexec = appimageTools.wrapType2 {
@@ -40,7 +40,7 @@ in
   installPhase = ''
     runHook preInstall
 
-    install -Dm755 ${appexec}/bin/remnote-${version} $out/bin/remnote
+    install -Dm755 ${appexec}/bin/remnote $out/bin/remnote
     install -Dm444 "${desktopItem}/share/applications/"* -t $out/share/applications/
     install -Dm444 ${icon} $out/share/pixmaps/remnote.png
 
diff --git a/pkgs/applications/misc/rofi-rbw/default.nix b/pkgs/applications/misc/rofi-rbw/default.nix
index ede6912a2764a..9e3df3fc36675 100644
--- a/pkgs/applications/misc/rofi-rbw/default.nix
+++ b/pkgs/applications/misc/rofi-rbw/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonApplication rec {
   pname = "rofi-rbw";
-  version = "1.3.0";
+  version = "1.4.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "fdw";
     repo = "rofi-rbw";
     rev = "refs/tags/${version}";
-    hash = "sha256-aTMKwb4BLupY0UmvPC86RnElZ9DFep8sApaMrlGbJ0M=";
+    hash = "sha256-1xbdZlZa3YPz+33AMgvhiMO12vc/ej0RybypQUzEn+8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/sqls/default.nix b/pkgs/applications/misc/sqls/default.nix
index 5851ea49289e5..fe5735d0e553a 100644
--- a/pkgs/applications/misc/sqls/default.nix
+++ b/pkgs/applications/misc/sqls/default.nix
@@ -22,6 +22,6 @@ buildGoModule rec {
     description = "SQL language server written in Go";
     mainProgram = "sqls";
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = with maintainers; [ vinnymeller ];
   };
 }
diff --git a/pkgs/applications/misc/ssw/default.nix b/pkgs/applications/misc/ssw/default.nix
index 062f106369124..e94c84209fcde 100644
--- a/pkgs/applications/misc/ssw/default.nix
+++ b/pkgs/applications/misc/ssw/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ssw";
-  version = "0.8";
+  version = "0.10";
 
   src = fetchurl {
     url = "https://alpha.gnu.org/gnu/ssw/spread-sheet-widget-${version}.tar.gz";
-    sha256 = "sha256-hYnYKY/PO1hQ0JaLBIAaT0D68FVVRPbMnZVLAWLplUs=";
+    sha256 = "sha256-gGkuw1AnGZXhR9x1mSnN1507ZF5rXvqmtX9NLQXoR+U=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/applications/misc/sway-launcher-desktop/default.nix b/pkgs/applications/misc/sway-launcher-desktop/default.nix
index f377e493dfd9b..cd81fee9f1ec0 100644
--- a/pkgs/applications/misc/sway-launcher-desktop/default.nix
+++ b/pkgs/applications/misc/sway-launcher-desktop/default.nix
@@ -37,6 +37,6 @@ stdenv.mkDerivation rec {
     changelog = "https://github.com/Biont/sway-launcher-desktop/releases/tag/v${version}";
     license = licenses.gpl3;
     platforms = platforms.linux;
-    maintainers = [ maintainers.thehedgeh0g ];
+    maintainers = [ maintainers.pyrox0 ];
   };
 }
diff --git a/pkgs/applications/misc/swaynotificationcenter/default.nix b/pkgs/applications/misc/swaynotificationcenter/default.nix
index b22c483f61779..3f2310a8507f7 100644
--- a/pkgs/applications/misc/swaynotificationcenter/default.nix
+++ b/pkgs/applications/misc/swaynotificationcenter/default.nix
@@ -12,9 +12,11 @@
 , gobject-introspection
 , gtk-layer-shell
 , gtk3
+, gvfs
 , json-glib
 , libgee
 , libhandy
+, libnotify
 , libpulseaudio
 , librsvg
 , meson
@@ -65,9 +67,11 @@ stdenv.mkDerivation (finalAttrs: rec {
     glib
     gtk-layer-shell
     gtk3
+    gvfs
     json-glib
     libgee
     libhandy
+    libnotify
     libpulseaudio
     librsvg
     pantheon.granite
diff --git a/pkgs/applications/misc/sweethome3d/default.nix b/pkgs/applications/misc/sweethome3d/default.nix
index bc429817d55ae..4745a942304ad 100644
--- a/pkgs/applications/misc/sweethome3d/default.nix
+++ b/pkgs/applications/misc/sweethome3d/default.nix
@@ -6,6 +6,7 @@
 , makeDesktopItem
 , jdk
 , ant
+, stripJavaArchivesHook
 , gtk3
 , gsettings-desktop-schemas
 , p7zip
@@ -51,7 +52,7 @@ let
       find . -name '*.so' | xargs strings | { grep '/nix/store' || :; } >> ./.jar-paths
     '';
 
-    nativeBuildInputs = [ makeWrapper autoPatchelfHook ];
+    nativeBuildInputs = [ makeWrapper autoPatchelfHook stripJavaArchivesHook ];
     buildInputs = [ ant jdk p7zip gtk3 gsettings-desktop-schemas libXxf86vm ];
 
     # upstream targets Java 7 by default
diff --git a/pkgs/applications/misc/sweethome3d/editors.nix b/pkgs/applications/misc/sweethome3d/editors.nix
index f4fe14fb6751b..a426494b61f64 100644
--- a/pkgs/applications/misc/sweethome3d/editors.nix
+++ b/pkgs/applications/misc/sweethome3d/editors.nix
@@ -5,6 +5,7 @@
 , makeDesktopItem
 , jdk
 , ant
+, stripJavaArchivesHook
 , gtk3
 , gsettings-desktop-schemas
 , sweethome3dApp
@@ -33,7 +34,7 @@ let
       categories = [ "Graphics" "2DGraphics" "3DGraphics" ];
     };
 
-    nativeBuildInputs = [ makeWrapper ];
+    nativeBuildInputs = [ makeWrapper stripJavaArchivesHook ];
     buildInputs = [ ant jdk gtk3 gsettings-desktop-schemas ];
 
     # upstream targets Java 7 by default
diff --git a/pkgs/applications/misc/todoist-electron/default.nix b/pkgs/applications/misc/todoist-electron/default.nix
index 351df8c558ad2..c4fef60cff0c6 100644
--- a/pkgs/applications/misc/todoist-electron/default.nix
+++ b/pkgs/applications/misc/todoist-electron/default.nix
@@ -28,7 +28,6 @@ in appimageTools.wrapAppImage {
 
   extraInstallCommands = ''
     # Add desktop convencience stuff
-    mv $out/bin/{${pname}-*,${pname}}
     install -Dm444 ${appimageContents}/todoist.desktop -t $out/share/applications
     install -Dm444 ${appimageContents}/todoist.png -t $out/share/pixmaps
     substituteInPlace $out/share/applications/todoist.desktop \
diff --git a/pkgs/applications/misc/tui-journal/default.nix b/pkgs/applications/misc/tui-journal/default.nix
index 639c46b9bd374..555af71d37257 100644
--- a/pkgs/applications/misc/tui-journal/default.nix
+++ b/pkgs/applications/misc/tui-journal/default.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "tui-journal";
-  version = "0.8.2";
+  version = "0.8.3";
 
   src = fetchFromGitHub {
     owner = "AmmarAbouZor";
     repo = "tui-journal";
     rev = "v${version}";
-    hash = "sha256-qHNB+jRLQoiHPuTblpCHg2+6e5j8W6YPsuygRlTidtE=";
+    hash = "sha256-G8p1eaHebUH2lFNyC2njUzZacE6rayApCb7PBFcpKLk=";
   };
 
-  cargoHash = "sha256-T+fXSca1u9+c305yuKOF+soxnSZ1YbBs57wco5TLpQw=";
+  cargoHash = "sha256-iM5PsgCUxBbjeWGEIohZwMiCIdXqj/bhFoL0GtVKKq4=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/applications/misc/twitch-chat-downloader/default.nix b/pkgs/applications/misc/twitch-chat-downloader/default.nix
index a602c31008ded..459a47bfcab09 100644
--- a/pkgs/applications/misc/twitch-chat-downloader/default.nix
+++ b/pkgs/applications/misc/twitch-chat-downloader/default.nix
@@ -34,6 +34,6 @@ buildPythonApplication rec {
     mainProgram = "tcd";
     homepage = "https://github.com/TheDrHax/Twitch-Chat-Downloader";
     license = licenses.mit;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/applications/misc/valent/default.nix b/pkgs/applications/misc/valent/default.nix
index 4e07cf62821d2..b65d2b36e31f9 100644
--- a/pkgs/applications/misc/valent/default.nix
+++ b/pkgs/applications/misc/valent/default.nix
@@ -83,7 +83,7 @@ stdenv.mkDerivation rec {
     homepage = "https://valent.andyholmes.ca";
     changelog = "https://github.com/andyholmes/valent/blob/${src.rev}/CHANGELOG.md";
     license = with lib.licenses; [ gpl3Plus cc0 cc-by-sa-30 ];
-    maintainers = with lib.maintainers; [ aleksana federicoschonborn ];
+    maintainers = with lib.maintainers; [ aleksana ];
     platforms = lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/volnoti/default.nix b/pkgs/applications/misc/volnoti/default.nix
index b54df7e951689..bd61cd753f986 100644
--- a/pkgs/applications/misc/volnoti/default.nix
+++ b/pkgs/applications/misc/volnoti/default.nix
@@ -33,6 +33,6 @@ stdenv.mkDerivation {
     homepage = "https://github.com/davidbrazdil/volnoti";
     license = licenses.gpl3;
     platforms = platforms.linux;
-    maintainers = [ maintainers.gilligan ];
+    maintainers = [];
   };
 }
diff --git a/pkgs/applications/misc/xmrig/default.nix b/pkgs/applications/misc/xmrig/default.nix
index db7bdd4fc727b..ff9965c3403db 100644
--- a/pkgs/applications/misc/xmrig/default.nix
+++ b/pkgs/applications/misc/xmrig/default.nix
@@ -15,13 +15,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "xmrig";
-  version = "6.21.2";
+  version = "6.21.3";
 
   src = fetchFromGitHub {
     owner = "xmrig";
     repo = "xmrig";
     rev = "v${version}";
-    hash = "sha256-0ej2+g+B9K50JIs0wi1SfLBsaYTsk+0/cImLLZLNtmc=";
+    hash = "sha256-1lIrxJ1Y5YRoXbZn77Msah5lSVW71gDczYUlXQjf01s=";
   };
 
   patches = [
diff --git a/pkgs/applications/misc/zettlr/generic.nix b/pkgs/applications/misc/zettlr/generic.nix
index 0b26d57e7c4e9..da45da749e2c6 100644
--- a/pkgs/applications/misc/zettlr/generic.nix
+++ b/pkgs/applications/misc/zettlr/generic.nix
@@ -10,22 +10,20 @@
 
 # Based on https://gist.github.com/msteen/96cb7df66a359b827497c5269ccbbf94 and joplin-desktop nixpkgs.
 let
-  name = "${pname}-${version}";
   src = fetchurl {
     url = "https://github.com/Zettlr/Zettlr/releases/download/v${version}/Zettlr-${version}-x86_64.appimage";
     inherit hash;
   };
   appimageContents = appimageTools.extractType2 {
-    inherit name src;
+    inherit pname version src;
   };
 in
 appimageTools.wrapType2 rec {
-  inherit name src;
+  inherit pname version src;
 
   multiArch = false; # no 32bit needed
   extraPkgs = pkgs: (appimageTools.defaultFhsEnvArgs.multiPkgs pkgs) ++ [ texliveMedium pandoc ];
   extraInstallCommands = ''
-    mv $out/bin/{${name},${pname}}
     install -m 444 -D ${appimageContents}/Zettlr.desktop $out/share/applications/Zettlr.desktop
     install -m 444 -D ${appimageContents}/Zettlr.png $out/share/icons/hicolor/512x512/apps/Zettlr.png
     substituteInPlace $out/share/applications/Zettlr.desktop \
diff --git a/pkgs/applications/networking/Sylk/default.nix b/pkgs/applications/networking/Sylk/default.nix
index b7eca10fc7cfd..41ff2de95ceee 100644
--- a/pkgs/applications/networking/Sylk/default.nix
+++ b/pkgs/applications/networking/Sylk/default.nix
@@ -6,7 +6,7 @@ let
 in
 
 appimageTools.wrapType2 rec {
-  name = "${pname}-${version}";
+  inherit pname version;
 
   src = fetchurl {
     url = "http://download.ag-projects.com/Sylk/Sylk-${version}-x86_64.AppImage";
@@ -19,7 +19,6 @@ appimageTools.wrapType2 rec {
 
   multiArch = false; # no 32bit needed
   extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs;
-  extraInstallCommands = "mv $out/bin/{${name},${pname}}";
 
   meta = with lib; {
     description = "Sylk WebRTC client";
diff --git a/pkgs/applications/networking/browsers/brave/default.nix b/pkgs/applications/networking/browsers/brave/default.nix
index 3061d4ea37d52..7971a05b8c55c 100644
--- a/pkgs/applications/networking/browsers/brave/default.nix
+++ b/pkgs/applications/networking/browsers/brave/default.nix
@@ -6,17 +6,17 @@ callPackage ./make-brave.nix (removeAttrs args [ "callPackage" ])
     if stdenv.isAarch64 then
       {
         pname = "brave";
-        version = "1.65.114";
-        url = "https://github.com/brave/brave-browser/releases/download/v1.65.114/brave-browser_1.65.114_arm64.deb";
-        hash = "sha256-E5IqMmkgnwn1eyKcPQ3SZX4QpGor2W8JH+rmERuUonA=";
+        version = "1.65.122";
+        url = "https://github.com/brave/brave-browser/releases/download/v1.65.122/brave-browser_1.65.122_arm64.deb";
+        hash = "sha256-9xcXuK9Qdf8MwE3tcJLpTuJYMCjM3h27eFdgsT/yD38=";
         platform = "aarch64-linux";
       }
     else if stdenv.isx86_64 then
       {
         pname = "brave";
-        version = "1.65.114";
-        url = "https://github.com/brave/brave-browser/releases/download/v1.65.114/brave-browser_1.65.114_amd64.deb";
-        hash = "sha256-Dn6havSLcf6KCxI1hd8Ad4FsLIOYBH2KO2oCJJQHJm8=";
+        version = "1.65.122";
+        url = "https://github.com/brave/brave-browser/releases/download/v1.65.122/brave-browser_1.65.122_amd64.deb";
+        hash = "sha256-zhRH/EG+8Qx9B2Gm5n9DYVwheyfiqIBwyYygART5b6A=";
         platform = "x86_64-linux";
       }
     else
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.nix b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
index 76825427b8950..c3ef4848ee44e 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.nix
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
@@ -1,11 +1,11 @@
 {
   stable = {
     chromedriver = {
-      hash_darwin = "sha256-PmLV++FK6aCvdhNNhb2ZAmRLumr+VRFvN+7IByieEZk=";
+      hash_darwin = "sha256-RGOChK4JhrFUgVY/5YqgE0KFLRl6a7X2llw1ZfhiPXY=";
       hash_darwin_aarch64 =
-        "sha256-6Ys1EMSLmJNNaWdPeQiCT+bC0H7ABInVNzwXorGavn4=";
-      hash_linux = "sha256-iimq37dcEcY2suW73a6lhgHuNaoqtzbAZCHkQP9ro/Y=";
-      version = "123.0.6312.122";
+        "sha256-K1jFXmWtXrS43UJg2mQ39Kae6tv7E9Fxm6LUWg+uwLo=";
+      hash_linux = "sha256-xwaRNh7sllyNaq8+aLAZDQ3uDg06cu3KYqc02LWPSyw=";
+      version = "124.0.6367.91";
     };
     deps = {
       gn = {
@@ -15,9 +15,9 @@
         version = "2024-03-14";
       };
     };
-    hash = "sha256-apEniFKhIxPo4nhp9gCU+WpiV/EB40qif4RfE7Uniog=";
-    hash_deb_amd64 = "sha256-rSbigG5/xbL32d1ntOn6gnZyxSpgrg1h7lb/RD4YROI=";
-    version = "124.0.6367.60";
+    hash = "sha256-tajZtdiXgs5lRLTmDmgNTM2vD+N+LuWpBS0dYzxUsMA=";
+    hash_deb_amd64 = "sha256-CyCbZQ5ce8WLTt2JVSqbDkLDboE4BloiZ8pJff3dmSY=";
+    version = "124.0.6367.91";
   };
   ungoogled-chromium = {
     deps = {
@@ -28,12 +28,12 @@
         version = "2024-03-14";
       };
       ungoogled-patches = {
-        hash = "sha256-zgkt0stU/H5Mji429tigVbjOq27Op8UppHTjG6neoeA=";
-        rev = "124.0.6367.60-1";
+        hash = "sha256-1/J3BhUlef8CH/jZ5P5fWGXnWxTiuB0Ep+AWrMrv9cE=";
+        rev = "124.0.6367.91-1";
       };
     };
-    hash = "sha256-apEniFKhIxPo4nhp9gCU+WpiV/EB40qif4RfE7Uniog=";
-    hash_deb_amd64 = "sha256-rSbigG5/xbL32d1ntOn6gnZyxSpgrg1h7lb/RD4YROI=";
-    version = "124.0.6367.60";
+    hash = "sha256-tajZtdiXgs5lRLTmDmgNTM2vD+N+LuWpBS0dYzxUsMA=";
+    hash_deb_amd64 = "sha256-CyCbZQ5ce8WLTt2JVSqbDkLDboE4BloiZ8pJff3dmSY=";
+    version = "124.0.6367.91";
   };
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
index af824112def4a..b96632f6df6e2 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
@@ -1,1025 +1,1025 @@
 {
-  version = "125.0b9";
+  version = "126.0b5";
   sources = [
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/ach/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/ach/firefox-126.0b5.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha256 = "c344c4b54b62ac7f1f5d41f1aee666402b61999114a1d2c33d1f18d319836ae8";
+      sha256 = "7b882806b6cf50f3d1ca03600d75a99be305a029dbf23c98f4e78a9ae37971d2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/af/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/af/firefox-126.0b5.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "e69a6bbe83c8f1c2b9412d438de8daaa84b247ede40bf274bfce16c8d91d8e7e";
+      sha256 = "caa21874c4bf34a8130902f9fb3515cdadb5aba45d1de703c243e941759fd791";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/an/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/an/firefox-126.0b5.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha256 = "3f79e6acbb0f6500bdcc79cf35d94851afc89a58294c5f48e4fa6295389a4fc4";
+      sha256 = "627a705df2572943d4a0d79aa8c107a215d9f55c99d76ce395ed4e03d244deba";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/ar/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/ar/firefox-126.0b5.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "dd3832a6cb08bcae90f6cc5bf2196d3fee1ba62ba618e3a872782a60de32185d";
+      sha256 = "f1f62fe5f81cea3aca86b58436ece8f3074fd71a3198686b8449200867511c97";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/ast/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/ast/firefox-126.0b5.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "2e411ae04db3baa2b10c8fe4004f0023cd46dc50c3e28f1e3e73ba6be5a1e6be";
+      sha256 = "df6cfc21cc15f619c019c48108d228b37531c6e5eb6e21b2ded2d56fbab277e7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/az/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/az/firefox-126.0b5.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha256 = "d3b472f51de3c31db73c19e8d76f3b376c53f5f6122b4d6640ee9249dc1e22b8";
+      sha256 = "1a4addc76c8f5d4df74f4731571d680d3ce024530a94d91d9ce49abd899a7d26";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/be/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/be/firefox-126.0b5.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "b658e6e89cc8e82735f66c941fde9abdffed882fa530734ef200cb0e28bc8c48";
+      sha256 = "62c41d913c7cb3102baa8ad27df221cb889ea80240e038e0573bbb48ed5d69d5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/bg/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/bg/firefox-126.0b5.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "f0604e9440e4d78d34bce1ff06e125bb4411c8081345e5f74afcba5e337f2ed0";
+      sha256 = "a45e0c8dc7e3ea1a57a3f7e0dca7c2ab908d75ad81a312434e7b021defa5bd34";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/bn/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/bn/firefox-126.0b5.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha256 = "30c25ba6c3a496a12c7990a83348201b2dcd459b820ab814ecd97979c3034fff";
+      sha256 = "810908bbcb86f7af0f79ffcde6e8f7026143390c1b73fa8a81a94b3a1478b107";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/br/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/br/firefox-126.0b5.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "3544f5d274c05a2df5bc8e51b2e0ab886f166cc64720cce2ea1b1748c452c236";
+      sha256 = "e3031ab47d44f798f64399ad24ba58b49bf5bdc1a6fb6243d7c25f7064a751fe";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/bs/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/bs/firefox-126.0b5.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha256 = "a12f08d89f0b2077040a3f8917dda9a09193a613984297a7395b926b9fcce347";
+      sha256 = "af2ad1f920ea9aaf36b6c53a0988bb64d118ee4188e6d4eab19b3c850d469101";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/ca-valencia/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/ca-valencia/firefox-126.0b5.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-x86_64";
-      sha256 = "37608aaaf55fe2f93dabc29ac711b4a1e1d7be521e99ad5c20347a43cd1e88ef";
+      sha256 = "1147f887f5a55686120e576178bac7c1d1f942972ca71278b2f7f8f68ec82902";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/ca/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/ca/firefox-126.0b5.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "6bd24aee5a121bbe27e0a8649b9742e0c0c1512479586fb3059c2391d0bd3865";
+      sha256 = "70fbde5bd2c164c8dfc59d60ad2fe1cebd0bc004b77f6907fb85524dd43cc5f4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/cak/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/cak/firefox-126.0b5.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "e4aa2bb9a6e5e02327b31b150a549fb695e1f49f60a85f4b1bef5c5019fb1b8d";
+      sha256 = "7154ac05107c2a533835c41fdd2caa2725c794a1572269bb191d8c2bc0b70738";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/cs/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/cs/firefox-126.0b5.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "2e4730cc98751d9aa45f82605240953c9dad307e10846e1065c5adeeb2a54d0c";
+      sha256 = "6b78f1f546a2c98523fb0dd7215fad87ccd1a4e9dfa3e5695c46afcb74e003f2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/cy/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/cy/firefox-126.0b5.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "60179b3635afae11e0bb4f0523135183627b16d974d8aa93fb594723e386a887";
+      sha256 = "9b08898afb1134a2de2c1236774a02354795cd8bb8f7d41130b137cb4d14b1a1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/da/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/da/firefox-126.0b5.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "08b6d9ec3af57f9fc298baa2dde23ca3cd6ec1031c448735cc580d354cecbc63";
+      sha256 = "31571ea197dc8cd61b79c061ca32dfdc60d3b74f2dee43f2641d534ca83dca2f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/de/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/de/firefox-126.0b5.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "163e1daeca14555be4d01193fc6eae95d6e25062c8ebba4e0b8118ff377dcf62";
+      sha256 = "f89bee1b43c832b710776280a25119846bf2a5f7c5cfb179bd6b5008c39bfe20";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/dsb/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/dsb/firefox-126.0b5.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "f173c4c3d5b98efe37850ce66fcf91709211a0a2c1a401cdd96d5caa86684b0b";
+      sha256 = "881cc3a38e34d8083082de26b53d2e129273841dc6ab07f7cbb9af0222e0ca87";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/el/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/el/firefox-126.0b5.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "5af84ecc3f9f3a412c961d8686a81d7b23925cacb407e9c7c0684b078b1116a6";
+      sha256 = "797b56a42f2034ef81aca234ac19374069dac7ff911e2077f65a9e8c05f17820";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/en-CA/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/en-CA/firefox-126.0b5.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "670bbeb9d23086c025b2fdff3ff43d261e55120d2783ad43c3362ee0de84d27f";
+      sha256 = "592abdec04a68e1d9d33eeeae10b7abddbdd0f7e92bf4bc9db92e8aedbc6dda2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/en-GB/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/en-GB/firefox-126.0b5.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "c0ae89d0500bdb13df19920f8488516e83920b42d2b5b8b115afed86ade33c92";
+      sha256 = "8979a85a9f1b41ab5cb3f1ef3ea8252a4aca21930772f058964ad96ae685f92f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/en-US/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/en-US/firefox-126.0b5.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "ed5c38fdba8bcbc9cf1b1a87a5fbdefee45e9d2be5018a00b5b597cb33ff2c17";
+      sha256 = "8f96bbe7c30b3a8c43d05ec33e20f51353ad5ed207af93aa9eb886119f371b81";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/eo/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/eo/firefox-126.0b5.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha256 = "3ccfced1562a2a23144e851c4d115f1e1c97f197d10329fadc1064b749fa7a1b";
+      sha256 = "a42ffd0c0a474f33b3aa5a7619526cbafbd94c5e217dc3472edafee268ea01ec";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/es-AR/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/es-AR/firefox-126.0b5.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "84db5118492d597ab68438702252ccd45b1e569b347839dfef9be02b90ff9e6b";
+      sha256 = "6939b66072807cad29b5a56ea64c58f1ddc42e1dad730a045b21940f8c896879";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/es-CL/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/es-CL/firefox-126.0b5.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha256 = "8e45adc81628d26b6c117fd7b2e5a5a4621bef7fe64065d7c0cef2fd2e989605";
+      sha256 = "fd6c3249039600fe1a740015adbbd8c84658771291e2d9a4a6b6df1f710c5d5f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/es-ES/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/es-ES/firefox-126.0b5.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "615d10f77d0432a1b2bdbce98cb1df96e17735dbbf6aeb328e2ad0f332ae55d3";
+      sha256 = "23b69a886876a95eaee696132818e5cc3a7a104412b1ce3b53d844c239856d40";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/es-MX/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/es-MX/firefox-126.0b5.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha256 = "7b485bb17efe9b3ed1ffdd32f88be45905f6197b181d8b4ab4e5ab335284c456";
+      sha256 = "accf92b324c8bbc8cd5205a33bd837b3dce351f7fa431ebd434881cb597a665f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/et/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/et/firefox-126.0b5.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "d561379114bb49e08f3bacbeb67fbd07079aff5877055a49af53aa7507b8aadc";
+      sha256 = "0d244490fa6cde3d8299cf42328a062efaebd33aff5f4ab07b3d3e96401f5477";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/eu/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/eu/firefox-126.0b5.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "0b6874785fc39076a9d5a4da1aa0dcf1ce8586a1fb197d09610c1d8b6a595593";
+      sha256 = "48022a4dde833a1ae4572b08e6d863dccd18c8e775c361c71de7a4a4d89688b3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/fa/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/fa/firefox-126.0b5.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha256 = "c5d3dcf22df0d39bf7d14992dcff180f9d1b8b5121d473dd384b7e735665ef92";
+      sha256 = "f0791730cb92dc1945ea45ee5aaae6e736bd5817cb98b66d6fc60ff828ba1e57";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/ff/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/ff/firefox-126.0b5.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha256 = "7dfe6d710dd5c77754f4b18cd507ca6ed81a10c714d2e113fa10003e74d6e809";
+      sha256 = "4b824de7cb4d997e74a4f51c109d6a68d01478ea68c4b03a58a68d20b9ff97e4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/fi/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/fi/firefox-126.0b5.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "b90d9c99bed3ce22f1fada29aabf141b030c2f8a4ec29eaae566aa17482474c1";
+      sha256 = "fbd79f64bed89e6817dee05a0bb783518389947577f247e83b41021a4cfa4fe0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/fr/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/fr/firefox-126.0b5.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "06026a38b497501eedb0c7aed1f110a3b8bc958d7b002472070c60266afbb5f0";
+      sha256 = "de4d18a481b2d30f204884d3b1cb7d6a427f23cb4b97a8618e0eb77cfb829903";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/fur/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/fur/firefox-126.0b5.tar.bz2";
       locale = "fur";
       arch = "linux-x86_64";
-      sha256 = "e957395ce9b6153dfbd00537797a73cca0714e4d14df98f7be225ba5c4842804";
+      sha256 = "4d98682733fb1cd5825a30a6a2cd2808eaa7539612130e83f480bf17a1f862bd";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/fy-NL/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/fy-NL/firefox-126.0b5.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "5e18f6d538c0829a2911e2c8620ec851f1cf4afd6274009012e2e98901572e88";
+      sha256 = "67b89c68dbfead6a537e18a61281a2b12c411952279757de375380f3f38fb7c1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/ga-IE/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/ga-IE/firefox-126.0b5.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "64695bf6614a9f9932f851ef76a2696ebcec1f0f0c34bffe9c4bb0cb42b48da4";
+      sha256 = "909cddd2346ea631708c586f45dd58b60843e1a30511a6882239a88797a5e335";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/gd/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/gd/firefox-126.0b5.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "a24e0bd5314d6d63f9ef85b11be8f474db48e535d1e17c6eac45d51073724fc7";
+      sha256 = "e5ac8f176af8dde4d32d12e09a29676d47715cdf1a75890aeed560f3f6bfc0af";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/gl/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/gl/firefox-126.0b5.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "30ad8e7474dafc303d22f8390533c1e847a8ce14ccaeca097be185253357780e";
+      sha256 = "5767e287441bcf2ae9955c5cacb5ce4ee222c7fece242c192d117c9cb30cbaa1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/gn/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/gn/firefox-126.0b5.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha256 = "f7320d7c4a7735007f3e011a0491b8c6379b0f5cb222db5097ca35c950f490e1";
+      sha256 = "fa3b43ba4186f5707904eddfc968665e1865686a365e56d267271decea5d5bf7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/gu-IN/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/gu-IN/firefox-126.0b5.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha256 = "e195b45447e89d8809e3b944f0899d5a3ae06ccc1f5b3f884cc66ce8b05a10aa";
+      sha256 = "4c4b63c08739d8527346a2ab4b3f8c8fff696b66389bfd7073d093502744e3e2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/he/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/he/firefox-126.0b5.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "5f0d61c3ea28c1bffc241f7626fbd9cd14b2354bc8729cfeea32ddc0aa4e326f";
+      sha256 = "97e24f445558ee478b491761b6d374dece22899914e6196eaf24d17d4b06e675";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/hi-IN/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/hi-IN/firefox-126.0b5.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha256 = "d214c41e231a8fb716bbce931d96442b3abb4d713edca75eda7f4242495f720b";
+      sha256 = "e7bfc3309faa60007a20ca89d737ff6201a2af87f7190cef0de3df75dfe5a356";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/hr/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/hr/firefox-126.0b5.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "5372a8e58fb691e586066559640a44dc6c4ece391de3ead63b477554aac4fe5e";
+      sha256 = "d196b1f8239b471fbe1e22a9000e90879df086f19efad662df850e933089447e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/hsb/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/hsb/firefox-126.0b5.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "bcd62563ce8e66b1f5363b79afef151b3584576c0e064d0ed274b831cc205302";
+      sha256 = "0e5f22c52a587add26909e3a98797e05413e7af6c9cc6f55c724e3c7c2b945a8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/hu/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/hu/firefox-126.0b5.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "0d75b991b41ba370db28aeb35491b42ba41385cc3a17a1d8cef3b6e5c681a5ee";
+      sha256 = "b4b8d4e2f5016775a78b4e2607f65f3f44051a79d8a43d9299cb4bcabb5b43b6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/hy-AM/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/hy-AM/firefox-126.0b5.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "e25f813793f3ae14bf7d8152b034d9fd858ccc20bf7d04bd589122c7dfa6e55c";
+      sha256 = "dbd0a975300046bcbcd93349454984c72a99f45e0eb974bd1f82d88216ea6939";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/ia/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/ia/firefox-126.0b5.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha256 = "f9d1ea389b150b10c6f8875c3897af7a03e0ae9604851d392230d6714f43cf21";
+      sha256 = "61c295524f18e44e23ef905df305f047fd2b3b31c2c9aa08e69ebb19ea695a96";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/id/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/id/firefox-126.0b5.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "fa851b2e29890feddd9fc77856e263b2f009a37e34fb873d7c88287329ceeffd";
+      sha256 = "9dc418697f4fed0e16a4c2d88b4aaf5e62369a438f104980db44a21598330dda";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/is/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/is/firefox-126.0b5.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "58e95e71ff9e72a6dff5cc58b9dd90d34ad46fd3791e8c2475baeba98aa222eb";
+      sha256 = "84ce271d9b6a9af3b16e1adb5e71acba1483ec794cb25bf0197f5a521de98a4b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/it/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/it/firefox-126.0b5.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "1343be59b8aa78912587d3a53437b8c1ff54bd804d006e9d97beffb790525bfe";
+      sha256 = "caacae564d5cf9662a559cc0b11078c33882b70607e4298f41db18d790106863";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/ja/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/ja/firefox-126.0b5.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "3e2e8d99282a414a137ed5060b5d32389f66056e348e31170313ec38e7050ad9";
+      sha256 = "873e6213fbdb9e437d5e7abec993c0464db0692797be79f4249aae4a9eae6b93";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/ka/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/ka/firefox-126.0b5.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "ae5ab1acef2688a2528f729a52485d9bcbfc503d206d21b9348c3731388af5db";
+      sha256 = "f515d3859e404430d40728d6af708d95c0f73e4bd2fd23e4da5cc59a4a184f8a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/kab/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/kab/firefox-126.0b5.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "da9bd1b96dbcda3d71d167623a0b3c489efb7d96a6499283448f24f71ba0b16c";
+      sha256 = "de4334799536e6c191dc07f463f96f69773473f8bb1096011d0efce6facf6199";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/kk/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/kk/firefox-126.0b5.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "f0f2ab2fb418e1d1849c49b98f4cd3ff7aa454974aca32c089162eef31091839";
+      sha256 = "0887ed3d14a160fd908762468f485a9ad10d49db871a434d3adc48065d395003";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/km/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/km/firefox-126.0b5.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha256 = "401002d169a47d90dfbec657d87bc2885a668bb787dd2d3ac0db5e6a47645d23";
+      sha256 = "789081a881369cb3a775c702e57637ce06a895ef85e191764ce712783f32d4c8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/kn/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/kn/firefox-126.0b5.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha256 = "ed9a227b8e9cc65d8b12856626e57013bc00afc4fbae0458a5286e41a01b499b";
+      sha256 = "58c6c22c636cc3b6a25ef72d22f5dda2bba19d08c6988b7be671fe502de1ecd3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/ko/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/ko/firefox-126.0b5.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "1cb2dda0fb445e44e097c9c176f1410f2d01dbd6f87983d2aaf734d9bebf5802";
+      sha256 = "47cf06195afb1010674e4e0cb196ba621d5832c6f24dbb4147a7fd7fe3d7a5c8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/lij/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/lij/firefox-126.0b5.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha256 = "9d64f74749268fe6287e48225d2dbf62b7add07035f17d3d649bbda77b5ba562";
+      sha256 = "e3310f86e5bb92de78fda8be73d61eed3e7195fc1f3195a4e0891dfa244ea308";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/lt/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/lt/firefox-126.0b5.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "d170d89b3576f047d95accf8d6a09941f4dede8216529d54ff87183092e7a69c";
+      sha256 = "51dae70743bd22abc588fc868307ad80b8b12254a17d42a9a71b6dbd7c87dcaf";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/lv/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/lv/firefox-126.0b5.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha256 = "eb82b0c7d9bddaed90faab23cb89be202199a354d089ee46ae6e756cb9c44216";
+      sha256 = "814d16867bba81fa2a4694ba23e56d2fd7b6e303855b715ef386235b587612d6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/mk/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/mk/firefox-126.0b5.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha256 = "aeb01c14cdc4c14a23411979b01fc5f11cb1b11cd66b75031cc9bf2391b27e30";
+      sha256 = "02971f2e9e48dbdb6f30ce99100d9212bd49caa26d97b02f6cae80c4ab288923";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/mr/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/mr/firefox-126.0b5.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha256 = "02e86be51a8e6769bec058ce2254f2da3bfcff8061f44035871b9efd53b4d511";
+      sha256 = "73414133309979d604cd0b05fd21aae2bd4cfbdded58035606901b10e28c7d3f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/ms/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/ms/firefox-126.0b5.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "b0952b0a240e42828ab093517aba3f9212465c586ed1e524e0a80cedf04bcac2";
+      sha256 = "bcfe246fd61ba41e23d9860b88abbbd61e4da5ed9755d2d39c1d24785cb6ffc2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/my/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/my/firefox-126.0b5.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha256 = "104a9df768080d091bb4c5d5a389e7f2a761dcf82f1b755bf8a4c152f6ef462c";
+      sha256 = "4170ad2c245f34d0cddd54e7bcaccfe505b417fc1d453b82b79ec052bb887e89";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/nb-NO/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/nb-NO/firefox-126.0b5.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "72844860b05b99edaf933933747dab23c8d717a64d2990b8f0af5c3d27455610";
+      sha256 = "881a2a3f2304618ec949050808290f324860e25d80dd3172b443fc27ba938384";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/ne-NP/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/ne-NP/firefox-126.0b5.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha256 = "a85df3885d24109c1d156ae9449167ce70e91a06bf3f02820e65f3e381d6963b";
+      sha256 = "3c293cafc653bd77971bf8344e7b93c5df2699f02b76e8bd2671eb7853f418a7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/nl/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/nl/firefox-126.0b5.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "7f9c0a118663c5e32f6820384cda369461c4a59cef78957595c5f49af37b2cf8";
+      sha256 = "409eedae4cf7340a9111213e6c88fd91340ca1d85b5aedd74605f70cf20cad1b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/nn-NO/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/nn-NO/firefox-126.0b5.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "aba9eab27dd617622091acd9f4637d25f8c1b74f8b4ddbbc7cb64ee97e423be4";
+      sha256 = "d59cd6b50c11672670bccfc315d36c0496967dee986f03214185718c44189729";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/oc/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/oc/firefox-126.0b5.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha256 = "ac1560c5cf7680c535c0d3ba783083b4fe28516ba3a4f1eed9344ab25bb64aba";
+      sha256 = "c4e3d1eb11eac47343c8c9080e1e73b72185bb09bb52b25eed31d69fa21529c6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/pa-IN/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/pa-IN/firefox-126.0b5.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "894292de9a5bec6303e9865ff21d5f4d601fe5093bf816f079404d23bef63e7f";
+      sha256 = "39fcdf41135ec80db479cb38cb4b825620dde6563463886080a41b606890cec8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/pl/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/pl/firefox-126.0b5.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "4db19e52c3521457a97f5b90f134bf540cdf142c262f27997502c1c9b2a77440";
+      sha256 = "1bfe057079a573385fe74e2fd28314242568e0701f3380830cc9dd4bfee0d753";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/pt-BR/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/pt-BR/firefox-126.0b5.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "ed34def0ed1d8ce308c5fb5aaa31bc86c5b96aa09587696bed09f2f4e2517f21";
+      sha256 = "fef1097e86873f5f440cb8c2287ba1fb759a8a6cdfcdcb463a52bd422d683f28";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/pt-PT/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/pt-PT/firefox-126.0b5.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "aa5729deb776cb1d6ece711e1a29d852f6600fd81e6bcfcf73efec918f934aeb";
+      sha256 = "2c3d49059792fe94a58d617211bd0425e26ae826cd14acc9337b0bc10142d006";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/rm/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/rm/firefox-126.0b5.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "7d830af829163a49bc91b8c3bcd21f96f5aa877c16b6e19488d1b006214db744";
+      sha256 = "2d55c3f9b253d636d971c0ed075b8e05b5afceb419ebd5a04a73f8ff4a70550d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/ro/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/ro/firefox-126.0b5.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "86abeb933c8f4b5ee8bf065f1b17dc8a62cb9f0f995de2718b5a36965beff40f";
+      sha256 = "1fd413429bb9643903e01edce0954fb8e58aa381d4d5443c1f625599dc4e9072";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/ru/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/ru/firefox-126.0b5.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "6b3a15971b7b8086ae252ed7fd3a01fba45f373326f1b98253b526445383b436";
+      sha256 = "6d775551e9afd71352e3b9680d6b73a94763b650ff887577f387c8182d44a982";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/sat/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/sat/firefox-126.0b5.tar.bz2";
       locale = "sat";
       arch = "linux-x86_64";
-      sha256 = "27981b77a30d8492c5f219790dbbd15205cdede25d3320fedd11b06d27789293";
+      sha256 = "276e336274bc16684842d0f16960071d9c967372e9b2db6a9d922b93a974877f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/sc/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/sc/firefox-126.0b5.tar.bz2";
       locale = "sc";
       arch = "linux-x86_64";
-      sha256 = "4a9375aa8a13ea042a4980823d3c53338adec15dfed9a107856f0b791cd11ce5";
+      sha256 = "98fd54a97fded3e2529da8f38027579b0138d672f600c172cf480d99ba83a0e6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/sco/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/sco/firefox-126.0b5.tar.bz2";
       locale = "sco";
       arch = "linux-x86_64";
-      sha256 = "79c507e3fb3f76a4386f2564021e58392e678a496875ad836b3141abfc5c0978";
+      sha256 = "547a86fece1ce1194d4125ed0a692e6b58de3d91f987cdbd986b51545944e4a2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/si/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/si/firefox-126.0b5.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha256 = "652a062f663b0f9f9b88fa11beaee5bdd43c0ce0efbef09d3a4f7f8640febb2e";
+      sha256 = "b51da37e167c6c8007364f7dae2dab54b3bb8be7be77172fca509da47a44496a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/sk/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/sk/firefox-126.0b5.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "0097047998a727ba637ca3815baa3c9225d541530dc1f61dac3b5c3f47f07553";
+      sha256 = "d7cb0bb885280bf8d127c353c75eca0ff7d29c664a581777feb7ef8e2cdad224";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/sl/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/sl/firefox-126.0b5.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "dae503138aa312d14d4f9166edf6f7727dc32fa8aab89f038f28514d558c107f";
+      sha256 = "a3aed1ac28bc1cab53f102d9babf78f9ef911ca4bbc82df112849aef5b44a340";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/son/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/son/firefox-126.0b5.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha256 = "d222c4b8932d40ca3e369efc6640fc451eadf85774a5988cb9596cea2eb3b938";
+      sha256 = "76aab06c52a21bcd47e2b011d615c0a24d7948a4bc41795523acdc970f169edd";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/sq/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/sq/firefox-126.0b5.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "b4af76eae0bd8fc99b93cc2b84bf82b711a56aaf939bfbfa9b91dd12c64a6813";
+      sha256 = "a9e607be04fb14a780ae3f691460e251ef040bc5d63a161c4cb57eaea1d03e06";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/sr/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/sr/firefox-126.0b5.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "cf7fdd51186046d4361a29f04473cd963c8ed7ea0b6e5c87435013664f75f593";
+      sha256 = "7577abfc5615d03e905a8b3a6e6907f9ac3fc9f852ac4b74ea420aafa4027974";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/sv-SE/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/sv-SE/firefox-126.0b5.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "4ca01747d4d58e4068e30a0910adb30b7417e9f0099fda0643c2d6cb6a674dd5";
+      sha256 = "2a290055cb7452176a8cb36879611a8608b08439ea2c56c07d0f38ad7ed1d78d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/szl/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/szl/firefox-126.0b5.tar.bz2";
       locale = "szl";
       arch = "linux-x86_64";
-      sha256 = "093f2e5bebc9b56c263046adcbec0c70c388949c6303726d1c7145f082e56584";
+      sha256 = "9c9717adb2694e4c4a2d2e8743709be2fdafe1a39756527bca41e08bcbdae5ae";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/ta/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/ta/firefox-126.0b5.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha256 = "ab841373a4506f5fc75b432a27891451174a314159683d60588dc686706a18d0";
+      sha256 = "e15a375ed866faf40fc3721bfba4a7db657e06cbf4b95b7e98446d47be2944f5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/te/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/te/firefox-126.0b5.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha256 = "fb6f570fa87efc7c7b806a00b7d415382dec3b56033898d49308cca56a21a2f5";
+      sha256 = "73744888ccb61dfa0d7e00578a3562b7a52c3cb959c9fd42dc865d94cd2e0853";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/tg/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/tg/firefox-126.0b5.tar.bz2";
       locale = "tg";
       arch = "linux-x86_64";
-      sha256 = "740c51b2b8d923947c8172f3ca682a50a3ba4608d9986aa0276d9c74eff88159";
+      sha256 = "6bb78afe160c7f2aa81b6fefb8019fe15b43f6b3ae1520dd2f2e3a2cf095f684";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/th/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/th/firefox-126.0b5.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "e68545dc159e09bc6e5b9b71f2adff5fb3b1e04d9b3215655df90ed93096ce31";
+      sha256 = "68594ec62ac6f9e5d625b98808500da43894c6e620ce84294b19d69baf507057";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/tl/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/tl/firefox-126.0b5.tar.bz2";
       locale = "tl";
       arch = "linux-x86_64";
-      sha256 = "ad9e56e649d1abe0b121422cfde5bbea64eab4cd7a6abb958653ec14343a41bd";
+      sha256 = "e84ae356c9c5ade2c74c5efd31f8d0763ce08f2bfab47c9fd78803565ddbb8eb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/tr/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/tr/firefox-126.0b5.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "4751fbfdab41dc742489bb37cc3c306a8afa727447124c3c605abcda75c4394f";
+      sha256 = "3f69c024458eb206a833063aacecd4a70cf6992226b77a9ab95badab12ec9e2c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/trs/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/trs/firefox-126.0b5.tar.bz2";
       locale = "trs";
       arch = "linux-x86_64";
-      sha256 = "03e0ed538ea78cf0e794cf8e3b630c23fd9c9fb6f84e80903a55a72927cd5f0c";
+      sha256 = "466c44c5db785b3727a3240b955cbc9a70da512c94230663957f7d7207065149";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/uk/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/uk/firefox-126.0b5.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "fe1e2704f50e9ee187602d5ab2c48a6a9bed36f0484f58b35c089c26b1056c2b";
+      sha256 = "142d8c32e7670b0ede164d9b0d90f60990cd98794f94af00d4710f7669371129";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/ur/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/ur/firefox-126.0b5.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha256 = "213f70f78079921d26c1fff7aa67c429889cf78d4525df184e74050460c95dc3";
+      sha256 = "de606cffb9b8d5441bbcea0db6718a3c5ef5352385b966790c01b8e2703141b4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/uz/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/uz/firefox-126.0b5.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "a994f6bc2472957bee8cbd04e61d44ffccabde6cd6e1e6190810b8b8f617f749";
+      sha256 = "862a18e1be26effe08af12a805f4a9b33a43249c63fa22ecee7d0129d5321a6c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/vi/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/vi/firefox-126.0b5.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "53c7af3af45c0b48f29bc251403c6790a36ee8b18d2d411aa00fe17a21f8c005";
+      sha256 = "90567dd577f106ea84f87211ba0a1657c91f6b09063cad90ec99d26c2ec49f02";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/xh/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/xh/firefox-126.0b5.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha256 = "23d8e28070e02b6a57c3b73af9a963f644576acff5d596c6adb5c9a4fa916fc1";
+      sha256 = "65d18f15887e7b83e5d1026599bab3eb49b34c79cdc2c59db20d1ac94fa92312";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/zh-CN/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/zh-CN/firefox-126.0b5.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "20734b69aa6528d67c895b0c31299b11e832939870417a3060c0e91c63514259";
+      sha256 = "cbe68dab2ce96b73bc397bb0b925df0e2c10df9b3bafcb4b74c667aeb8950a03";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/zh-TW/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/zh-TW/firefox-126.0b5.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "775a1d2ae1bf13a1c071cdbe7f112adcaf4acd3f487a16109eff2f163669147b";
+      sha256 = "f8e8a1ec3d71f59d5ed74ad43c8988ea8ae535cc8a256c1b4c43470891fd920a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/ach/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/ach/firefox-126.0b5.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha256 = "56d52f45f887ab8ea2c453c451ce06ffa50207074ea13c88cb91f64a933766c3";
+      sha256 = "ceca411e0d96ff89b59b8073abbd228ac246e7c09c3465825f8ffa22c8534a25";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/af/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/af/firefox-126.0b5.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "c54935b5256e20534233f48e76f6db85a876086e0f0638482e2e2e334f36b55e";
+      sha256 = "6a68baed628ddcb9e271745dbcdffacd59ba071e3cd40602bfa17ad37d41e219";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/an/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/an/firefox-126.0b5.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha256 = "7d18571a839b581fc7a0d726387865799908b7effdf48de674de5a7324b5ec35";
+      sha256 = "6d399f5c9b0a5e3d2ba183956625276549c1bdffaca198d17a6b7e41d3504df2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/ar/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/ar/firefox-126.0b5.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "8d1c53c88118fe051c3a879bf8c2c4ef8753a2bdfe798f4589484b6c2e10d5a5";
+      sha256 = "36c8d6c2fb1a53effd23093de381b206199c49af71c457b584d77a54875cc85e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/ast/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/ast/firefox-126.0b5.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "2855d453a4c09affb10d1df1fa28509fdb83c2a661ddb52d7dcc47fc441582ba";
+      sha256 = "f082b51e0a8f001241b01dd68710185e30dc486bdbe72e88ebd4a5d8f81ad2f1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/az/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/az/firefox-126.0b5.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha256 = "37604b46b07eab4e8548d62dc46456f4316a6a6b6d90ad2e3225736bfb465d52";
+      sha256 = "414f65c8da90cac9dd9263b1676d87b6d45f6d70684b471c48ecc1c77ef3fc94";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/be/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/be/firefox-126.0b5.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "d5eb6679664e991c25103f9bd373d61d22f8e7a84d6e14372c6d809265253ad7";
+      sha256 = "c8422e7b05de0b06bbee7ccb00662950aba2fc39c4de3a3ccaab678b1eab67ff";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/bg/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/bg/firefox-126.0b5.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "8c552b4d5e99a65a585eff6b097aff7ece9a04e9a59c2e243406e9da752c9ccc";
+      sha256 = "af6eda65e459df5ba22750ed561299a0d3098321969f0d6c838e7c259872457a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/bn/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/bn/firefox-126.0b5.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha256 = "28fdd013daca582517d6db0198e52c3b23b4b88cd1a63acdd5b1c7301aad56b6";
+      sha256 = "46724ab53c981519d9992b87ada36b97953785a64ff73867ecb180decaefb0c6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/br/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/br/firefox-126.0b5.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "3cd74cc500442edd471b4e74683e852a818da10078afc9a2c7fae2116d083c21";
+      sha256 = "84eca14fec1998e46f13b4005f7342b7e7ef983e74c4f92429a67765d6772873";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/bs/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/bs/firefox-126.0b5.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha256 = "d74f1df7dfbfd915265e198f32d6335ca143b7920e7fb2b8a73d13d8d640a8ff";
+      sha256 = "690b5119417934a49bf7bab42f616f5cd02e066868914eef14dec467c26caf7d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/ca-valencia/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/ca-valencia/firefox-126.0b5.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-i686";
-      sha256 = "99f2bdd3c4f97cf497fc76936c93d4ec3e58683ecb2840989c3b308406045688";
+      sha256 = "0235b4daedb450be2d520cbdc2761668bc534fcef98bcab46cff4b5a1fc5a993";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/ca/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/ca/firefox-126.0b5.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "2aef3753c8656cc41d8d29e8a667596578ca72f88fb72f14e481513425e44098";
+      sha256 = "7004c1c5e76103084bfc33078cce427eb12e5165cb025c9b98437a2552e97ebd";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/cak/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/cak/firefox-126.0b5.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "6410e5de36e97b26b5f93b2b04ac97dcb97f8bc30738e4a96875ae4d373d0f1f";
+      sha256 = "12e2a6fc96f7cf7dc02d0d0cc62c07c22afa794b11a0c0a9ff78f7a58dfb82eb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/cs/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/cs/firefox-126.0b5.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "1f9669945955a2abce5c3c38803bd4c127ae9adf8949ebdf53cb3afd205b4fda";
+      sha256 = "9dc39fef30ce900c2590aa83e4d835497d0c8f0c92b12ced53b7fb69b575ff46";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/cy/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/cy/firefox-126.0b5.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "3d18ac42eb8a2224f1f267d4f398ec71def89e57568fcb66559cb7f5ab93f3a6";
+      sha256 = "b2717e2b66f40ab699d6b6ad7bde1dfbb9f05b25a9991338a2ce870309d50d33";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/da/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/da/firefox-126.0b5.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "ec72a711a47e1e7c5ff0942a908f35db1ccd73f652a988333ba43bc322e38a88";
+      sha256 = "5e65737aa2c58e85e2a5da501fb074774edbaf3c90ba35adbda5e228e989367c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/de/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/de/firefox-126.0b5.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "3f53ca69ee578d01cfe30fa5932f84eb51157abc28a6d9c96c0fffa235b4abab";
+      sha256 = "13ec999725bd3e29a75564abd8382b18d7a93fad5190f90f566896de1d4e4391";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/dsb/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/dsb/firefox-126.0b5.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "151ea9ef796fc707ca55cb4b682bbaae8363f5cc8572d4e439ce917c38930946";
+      sha256 = "735c6d3989a8477771eb90c0d3e002ecb1fd6ad86df2330c1e6934ee9306ecde";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/el/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/el/firefox-126.0b5.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "8f5c2be305f8ff83d5a05415747fcf751cb70e8d49da51f554ce628f3c7b94e9";
+      sha256 = "340384791251a7b150fa7b0971b8e0be096b810a739374af0e5196b94c486227";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/en-CA/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/en-CA/firefox-126.0b5.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "d9813f6c7f09b90f3eef95a53634ed7fb292bd4e4dd0d1d9eb03085c3cc864ce";
+      sha256 = "c9160a9b6d84a47d772a86839bd571e32e5e709cba968904d529d1e6037424f7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/en-GB/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/en-GB/firefox-126.0b5.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "eaa7a84d1c3895f5afa8d81194b936d0b2bcfd701bf94da5d06a95afcf548bf3";
+      sha256 = "009bc08956d4e277e7f755dc5d646af918c897bfc1c19e53b3798d5fc6c27552";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/en-US/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/en-US/firefox-126.0b5.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "1af2d8d41483939e7e8a611644983be405bf42afe386d5e794e96d18c5c40de2";
+      sha256 = "2ba786e17d399865c2804e2f482486c88b96147fda2940f91ebc5d6fb8c8c7cc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/eo/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/eo/firefox-126.0b5.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha256 = "89ae418ce031b101206438b4064754c2d71fd59edbda1eb61d80c4612d1fe5d0";
+      sha256 = "671d2040f839b2b04365cdb39a9843cc5b44d865cabc21c990a3c8bab8352298";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/es-AR/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/es-AR/firefox-126.0b5.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "279ba454c1ad9b7f62e94eee415ca2bcaa1cd4452307d2160c61d625247ce7a2";
+      sha256 = "6794493fba480b3edf6fdbbff5fddbe512df75d67a1e5776e0191adcac31bbf3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/es-CL/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/es-CL/firefox-126.0b5.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha256 = "ddf225b2c97201e375913004e3329cd278abffae0aec3e33963dbad2d581080e";
+      sha256 = "5bd489e8169dd4fd8b1e1176ad55eaef9db0f80608ff6b76aa87905f7e31947f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/es-ES/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/es-ES/firefox-126.0b5.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "0b26dd7323c3b533a0d76984d2a7e40302579d8db0f3907bb801d1ee1e5764a8";
+      sha256 = "ed36b3d79a6c104c8dc6c28c5f90cd874313facde07b8d8a147207e14d262f4a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/es-MX/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/es-MX/firefox-126.0b5.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha256 = "39ebd0d768bc4971a3d0bb14159e4df3fb2da29bc82b7e086542d8ff6431830f";
+      sha256 = "c63912d626371e8608a10e2fde4ab08dccd683b843266fe5a9751bd6f181cd18";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/et/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/et/firefox-126.0b5.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "3139b8fe4dd94e3d2e662069ede9cc7c2f3435e7d774891a485f2b28c8e2e33b";
+      sha256 = "aab284558624951a0b456b0aeec3dbe24f7db2b6d9200af844a4feecbcf2e5f5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/eu/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/eu/firefox-126.0b5.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "8aaf4ffa5d9c315f5e0b183decec2e67989e9febfbb32dbe1935e2f403c3e482";
+      sha256 = "12f2c0ff6b6aa9ee57123658a3c4780eb1715b348340832db593c00597f70ae7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/fa/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/fa/firefox-126.0b5.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha256 = "1312c8b7af60aa772d966dd668a0081db4a70229de05c362ae63e0d18e619f1f";
+      sha256 = "9152133624785ee9d890885daef561b8d40afe20dbbe8a322a607e68f53fa930";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/ff/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/ff/firefox-126.0b5.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha256 = "944fdbfa79b94e4fca811adf74d0ee4a3e48069a334e8d596c819363025e33ad";
+      sha256 = "54d96ce8f7aa91fc003d84aac88e4b64541d8dd637e73b28bcaeeab7174bc5bc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/fi/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/fi/firefox-126.0b5.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "7d82840552072b9ab100b17222d0f4ef0ff21136c3920e9a9e75bd5c7ab651bc";
+      sha256 = "0027ef0b7bcb74c71207b719fa11d4037f8fa094ec1ada6f2eb4a122546227e3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/fr/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/fr/firefox-126.0b5.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "83b74222a01946da395f32d464136600afa662d67b9f4f29ec0cb25af2a8df6b";
+      sha256 = "19d1b85044fb62490459f73a2950c7f838cafca1ad6faea453b1a0d863f9773a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/fur/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/fur/firefox-126.0b5.tar.bz2";
       locale = "fur";
       arch = "linux-i686";
-      sha256 = "4444ea9359f4b5cf6d27a623eb067044bd3e65b334017761ea42a4cd59651f93";
+      sha256 = "e828482839a6ab4ad5b07129f68aa20df4e87f5ad00549b6a935d78c104be608";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/fy-NL/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/fy-NL/firefox-126.0b5.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "156649d35ecceb71f2cdd0963035a408047660e938119183e7b4cae6f8378621";
+      sha256 = "ceed7138a03e781d886c4501237c0debe4ccc1c93bdb13a2a66c123e533ff984";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/ga-IE/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/ga-IE/firefox-126.0b5.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "097d64c713311f2fdae7abf39a1a0e9aefe1f15c3d1590212c856982893a2bd9";
+      sha256 = "07a926e35884398db3128a54f90699c61abb289f4fb56f5f1c538b27f7c990b1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/gd/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/gd/firefox-126.0b5.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "f973d001c697c3eaba250ace22bab505061cbede236e29886f7da0702d395da0";
+      sha256 = "a69ed32870bf43b616d09007c09697e4e7929cbfaf4c986a9f434c829a46451e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/gl/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/gl/firefox-126.0b5.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "7e79913ad4665d4cb092e1a2df60c973d5f1411a68e860e54b49365718f712b7";
+      sha256 = "39eca241d736369e09e327daaae521a01c2ee126baebee0559471e5377e559b7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/gn/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/gn/firefox-126.0b5.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha256 = "9a432f51acc845932474f8e34759c10c7846e14c2938e03ba439d75f8f2410f3";
+      sha256 = "17810d1a89e594d3513650bafcc631d500fa984e6790cf852e6e9d71365321c5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/gu-IN/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/gu-IN/firefox-126.0b5.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha256 = "5c93832a32b01be515ae199a09ccd2f3d3aa2a93541a90c639a444f4e91effdb";
+      sha256 = "357987ac6755e622fb3c744b5cfe530240f3192075c5f3f826a9daf7da420712";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/he/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/he/firefox-126.0b5.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "541f41dbc1aedb460a75f5f20f7020c803a30a2db500a737b7248c16ebd520f8";
+      sha256 = "a14429a035e34d2993dabc4492dc6ee57c5cee6173b453e19a07d268a89f01eb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/hi-IN/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/hi-IN/firefox-126.0b5.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha256 = "a6bacfd4871c8576e4bb9173d896af8d77bb6c7476df3eb602dc78a176401f47";
+      sha256 = "ac426d39cb3e064127a769c8a2bb45d165c7a72b9ad2cb8ebf05da192f0ce348";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/hr/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/hr/firefox-126.0b5.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "4f80ab934f8930dfa0bdb7937e61103cfb79d337d170ed6cd3bd308cab7f28b4";
+      sha256 = "ddf235e1f3f9228d7e8c88a8b0cea6c1d63f1cf63e46223e5e73b07b0d593245";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/hsb/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/hsb/firefox-126.0b5.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "bdd0b4a3d723e2c165f65d585848c2036f022236be4b108b3449144d64f085b5";
+      sha256 = "2620c4edcc178bd4827e46ee6bee9a51c06d95d0e4412fcd906fcab47a2f481e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/hu/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/hu/firefox-126.0b5.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "5fedc53cc3fd9587d725fbe40c13f63ca3b3b5818d560ec610945d0b35a87c2f";
+      sha256 = "9aded5f3993dc498c37f9f91fcf5b778a02f664f3ee25ec880691d2480fb8f03";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/hy-AM/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/hy-AM/firefox-126.0b5.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "6672a11e3eb3bf05070928abf9d9505fcb9cb54481c338d8f9bd81a8970a3de0";
+      sha256 = "fc35e1abdfc19be9424dde459c02114e1e8263d1a7526e1bdadeef3cba571903";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/ia/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/ia/firefox-126.0b5.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha256 = "215fc720b28cfed1030866e3a9e668587a5848414042ce5af290de472627e6a1";
+      sha256 = "8ec912f951202389d97105df641d4f30fdab1131acb9d426f7038e65fa0d494f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/id/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/id/firefox-126.0b5.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "73705440c0afc58584d6045d22a8a4ae3ba50d278b214eb86d3f3fa21400a201";
+      sha256 = "7b64a8997419df4f5474a80538ab970510598bce5a13cd57d45db67b95559609";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/is/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/is/firefox-126.0b5.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "689fc69fdbb6377dacf07c1905233747a8dde9588ede378d6e24e55ab2d0f956";
+      sha256 = "71613574a4b1e4a33d29b282d4e50b77865733a744eae17e15a62aa747855d66";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/it/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/it/firefox-126.0b5.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "4c02e1a4b814353c43bc9df9c817205ac95329eff0925b629c4aba54d4b1bbcf";
+      sha256 = "939fbabba1f341d1296df1140a94dcbc0180887df70134021a94f8d9b370f42e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/ja/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/ja/firefox-126.0b5.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "a67e094199ca42002b76f5f2657b6579ddc28dea22c85b6cd6734666f2507d74";
+      sha256 = "62f9ba084329183ed68295bc2f1dfc374ee665fd842ee0bf21b1e25a1b5416bb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/ka/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/ka/firefox-126.0b5.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "4090c415bd52544aba3bc03112d75c85d60f6648a621aef2b1fc98fd55d402ca";
+      sha256 = "d9af3d20399e9aa786cfec4c86a3c833a01bbd3a8987473668937557ee44e186";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/kab/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/kab/firefox-126.0b5.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "512f9e1c9e78e888d06682c0be5d92ed04c4205ffcb7e129f8ac186fdcdb922c";
+      sha256 = "2cd13c1e82bab687d17b1a517cefa10729b951dbbd021e4d98a1c26e791314e8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/kk/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/kk/firefox-126.0b5.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "9f047e003a30f6fbe69b025b6ec0eddcaf9f2ebe89920d81e2d9ec6ccac9db2b";
+      sha256 = "cb41f01e7d62c82da4c0d73868acf9580f9847e0c8ea9d9d255ba7e517d657a6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/km/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/km/firefox-126.0b5.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha256 = "528ef891ff6364b94f4a34d269cb9065b80911a779910180ae26a3ae3c55a4d0";
+      sha256 = "b6b18a47c9544880f2996092d11aaf61e9db093e55d75f5781bcb1ecb72b1008";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/kn/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/kn/firefox-126.0b5.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha256 = "44f7648828c93e5190401270fb2b40813376d4b63e09d60bd88d34002acd63ad";
+      sha256 = "91c94c7b774b01bdbd9bc779beed08a84f63461aa8026da13e77cc5732d04609";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/ko/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/ko/firefox-126.0b5.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "8bb3b5d2d47fb8fe4e1640ff7f190dbb3e8c2e5df3ce954d09242935d6142fd4";
+      sha256 = "ef58ac71e216ae522860a4aece4901120e53592ffa13c6a59cd06f78a8272dba";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/lij/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/lij/firefox-126.0b5.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha256 = "168ba4b30162d99d6627d72cd1be0c3ee52a68518c3133834676f7dfa8ca4b9c";
+      sha256 = "751281d726765270d445575a09bcf021269a0d0205a03b49fafa95b6a109ae85";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/lt/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/lt/firefox-126.0b5.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "ab5bb9302ec3335343d252195675396712e04174ce922642e88d61ae9e91aadf";
+      sha256 = "d70751a805a1b09cb7dd113c64b3ee2ae49c26c5c576e8be05f20a4074cafc1b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/lv/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/lv/firefox-126.0b5.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha256 = "d0448e7e053614e8fcafb29e8c374fdb733992770506e0a8fa97e5e93166b128";
+      sha256 = "d117fcc82eeeeaaa468ef3191a682c0605930c6dc9321ae31546d4a0805f6a1e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/mk/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/mk/firefox-126.0b5.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha256 = "8baa80bdb4a33e2fc22224b179b4b5e383c6106b82a3d7761aa47a8e50989dda";
+      sha256 = "ab07439555307e5174608c44ec3083051ebc98e712041cdd6a55c18854a5516f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/mr/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/mr/firefox-126.0b5.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha256 = "029725d79e5b070e53196036605c805030f52c7a9c9b11b39666da8950066df4";
+      sha256 = "e9f7cad42a6b23557ce6393228763eacf617d39c22d3a25e672b05303648a149";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/ms/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/ms/firefox-126.0b5.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "4c502415b50a299f93b3c3a4ff5f740b6cfcabe5dbfaa67db2025d025a03dc52";
+      sha256 = "8081bb08a4cd0df2cfb2af38233ce90d5ff279250de8b00fab1c6ea7a1070c74";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/my/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/my/firefox-126.0b5.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha256 = "25e9f31f91e7e3ee83b85d3b01e7793941a1cdf3e35f200f14d1dbdbe67b64a9";
+      sha256 = "fdde8f4f13f4ec204d6dd1f0cc538f26c7fc10d4820a3c300a68c89a4708ea43";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/nb-NO/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/nb-NO/firefox-126.0b5.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "d34db6f7582793fac80928b41008d3e55fad22605910ccadfbc9a5c429d0656b";
+      sha256 = "f03070ab64b573765e8afe8cfa1d1bd361e26ebb61c43665a1fe5ea5423ca6d7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/ne-NP/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/ne-NP/firefox-126.0b5.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha256 = "d697188584025b85f5af51d0f6bcde48f08b53946cd5c3480e634309b4361479";
+      sha256 = "841139b185d724fb24163c4e940257d73a1d10255d8cf85c0130320a92486fda";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/nl/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/nl/firefox-126.0b5.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "01386e3bafab95109939a485131083800c801914af4a86b197c4c4b79416d600";
+      sha256 = "5d399980953adf1612522ff9e1e24f556b7ae0889b66acd3b2e8a0755308cab6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/nn-NO/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/nn-NO/firefox-126.0b5.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "e8e0421331d93df112ecbe9a769bfb6466b772c7cfea616f9e7aabaf7a9db0d0";
+      sha256 = "eb37103d8f4ef619f6809f6dfb1d87b235f9bd357acb93a1c97c929bdf18c6a2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/oc/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/oc/firefox-126.0b5.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha256 = "5e461f5fc46895d3e962f08124085610434b9b980ba61c44ddd78b703362904a";
+      sha256 = "8a10238c0e8cc48234ff6acd073dc0cab6dc494b20b701b8f3b426242d64b08b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/pa-IN/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/pa-IN/firefox-126.0b5.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "57fd046620762ab4e114dde80d34d7e5954df44e76733ac705cb26020e65447f";
+      sha256 = "845ea79e53f8bd03a12d443d51122a769c0d3aa95cfdce9ac82fcff2fecf1882";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/pl/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/pl/firefox-126.0b5.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "8f9a90346f5e4908f090f965c6e579b0a85cdfa895a304874671349c302e4d2e";
+      sha256 = "e6787b2d190da966d48ce17189c442bfd7376f55d271b02afbc6555e50052060";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/pt-BR/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/pt-BR/firefox-126.0b5.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "80fac4d4cdd0d501dcbd72a710c499b656b6f80a12b1246d3c31ea3f8d601fa7";
+      sha256 = "61526013ebbbc38d753423acba412e6df40e8872a1a8890b2bcb010d0749f773";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/pt-PT/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/pt-PT/firefox-126.0b5.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "9fcee0a4e8a84bf307a94b91892741a3b5f1a7e1d8a0e230869aa6a5284fa624";
+      sha256 = "c6ac02f336e13313693cd50bd744a15ae9948d7f21bb65cd2b71ddf05bd84f68";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/rm/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/rm/firefox-126.0b5.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "f7e39bdb3d4ca6b69366a983a17fdc76049ee55878cc7561b813dda33b578c0d";
+      sha256 = "6b68fd8bfc7d7c923b9e85a5876789be4d2e293a06e2ce94f63b89314297d723";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/ro/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/ro/firefox-126.0b5.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "3363738bb741a890aef513571244389beca8fa46be1a89019e33ca4c7e0219ba";
+      sha256 = "96dcf7577671ab41572b84fa33c91b1f847a819a20f62b23fdf86f9047ed9ff6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/ru/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/ru/firefox-126.0b5.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "75377fa4fe3ab20d6f85a9bee69674419d119706dc62e8f9a43f1c7b8f92f303";
+      sha256 = "13838f4841acd30745acc6d8ac4e4fe9317408ff0334d24b857c44a589960076";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/sat/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/sat/firefox-126.0b5.tar.bz2";
       locale = "sat";
       arch = "linux-i686";
-      sha256 = "711caf4da6b05f767493923f6f5d9fa6cfc10ecdd8bc6f0b634a0b1e4ef0ee3e";
+      sha256 = "4e1aa1e417289c790f67061fdc7ca753ba5f0a6ac0cf2c7b319ff56e96059ea1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/sc/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/sc/firefox-126.0b5.tar.bz2";
       locale = "sc";
       arch = "linux-i686";
-      sha256 = "5ea83a4f67b5c5eb58d765998b9bfe9392886668effa1ef91d7a59be30f63a6e";
+      sha256 = "5370018102b2d99eb1095f579a2eb913f814fd6119f981b9091e3d2ab31ae6f5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/sco/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/sco/firefox-126.0b5.tar.bz2";
       locale = "sco";
       arch = "linux-i686";
-      sha256 = "ebcdc5d3bd4ae75a9b75b1f6e2a5c385becf317fc65d6e90af7648c7723cd1f9";
+      sha256 = "6b630539247d6a3bf04bd49bf88e017d6124cb122236ea78bd1411d4aaabf722";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/si/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/si/firefox-126.0b5.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha256 = "1180b1a4b66c33c6b4a4686832d7301ad38c51c91fe733989cd4512d9a363846";
+      sha256 = "24b6d7657d85e9fc6c4c2040d9265294e625523e74f41654b3d2cb3ab7f7cdce";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/sk/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/sk/firefox-126.0b5.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "d40196fb37852a6f7271f957b10fe7efee0399e16c15156165a75e6eb897e99c";
+      sha256 = "454c0fa1d2d0192fc3c292a65f343b626209858874af70b61ef23ab553960fd0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/sl/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/sl/firefox-126.0b5.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "3e453a5f1f2cd162c322e1783c821f3d0c6c1a3029fad9cb4137460ebb416180";
+      sha256 = "06404ae7588f88cca7298a8be3d642824fa4f36a81fcc2153986b008aa92d55a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/son/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/son/firefox-126.0b5.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha256 = "66f8d948dbfe9c4e9e3bb98f4158651749e79c30383d659962aca9637ae13a01";
+      sha256 = "b4314086740ecff614b996820b8510f21a945a0d6ffa47d335ed29f2905b0b68";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/sq/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/sq/firefox-126.0b5.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "685c3f88030bc4082d13fe3b496219a591554d7470301b52a3b650366e4965a7";
+      sha256 = "2d765c05e3760fb409f3b1150485f601a053d86ea04af1a2e50b9561811b22aa";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/sr/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/sr/firefox-126.0b5.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "47cb9c59f071dda48794ef0e5a121d711862ccb1f4c7fceb49b8a07df6a279e8";
+      sha256 = "8ff306adbd480e9cd2d970a53fef27d3c395e34fdec447f7336610647bd699d2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/sv-SE/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/sv-SE/firefox-126.0b5.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "5d513a96e613959689aef88b805d7ca72eeb02ba909122271381c9332f856647";
+      sha256 = "ba9c313ba259620e99e9a6081e441a09dc93f79c684986ff8f4d5cbc31d5a8c4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/szl/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/szl/firefox-126.0b5.tar.bz2";
       locale = "szl";
       arch = "linux-i686";
-      sha256 = "bb9c37c214cf988dafa50c100528168004783004e9c944c488fa69685fe53af3";
+      sha256 = "cddeccf3445bc9f109b828ec6c19ff4afc16977a92e44490db269851e502830c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/ta/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/ta/firefox-126.0b5.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha256 = "1a1911144b8877ef8d6c12bab468f29aec88a999ce8abca715a310fe2afaa175";
+      sha256 = "a658ad77c57548a19187b504c5684e6e94f41013dd2778579419e909bc709058";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/te/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/te/firefox-126.0b5.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha256 = "7189b85c076a2bed2414f8e2378ae23411e112d6d2ca4018e2c1e0e8dfa73b1c";
+      sha256 = "1cbb9543785690ff78e2cee8b02305b32ca7b5a5df190cbf9f00237357c05f41";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/tg/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/tg/firefox-126.0b5.tar.bz2";
       locale = "tg";
       arch = "linux-i686";
-      sha256 = "5ef586cf4d00f4c06510a2870e15971db40cb39bf28a7488979056f4ba67cb31";
+      sha256 = "bb93d2995e8d39bace1a7cc4641b56ac79631669a993a1f296e7fe016617df1f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/th/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/th/firefox-126.0b5.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "eb5c44af129c8f5610d3cd8f609775baaa99917f62276c589044fbb4706b9d6c";
+      sha256 = "955e20194a32a7c08ad96fab1ba6afd6850b0cb012c0e4de395c1c5cbfbd8dc4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/tl/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/tl/firefox-126.0b5.tar.bz2";
       locale = "tl";
       arch = "linux-i686";
-      sha256 = "6c4282f4a591dfb9fe6640bd54ddd9a226e0c81398e0fae3a870f183eb3bd1a2";
+      sha256 = "fa982788ef58d98081b9670932549e9d8220dddcf643069d1ac944253dc0e610";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/tr/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/tr/firefox-126.0b5.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "7dbc7bec063f87f3f819be6bd6fb86ea391ec1ffdb5e37a851da12ecee04ceb8";
+      sha256 = "3f12c1b742d4945b8fc7019a470b682ad409d89ca679900d6f0185b313640dde";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/trs/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/trs/firefox-126.0b5.tar.bz2";
       locale = "trs";
       arch = "linux-i686";
-      sha256 = "f07ac8d5971d46bbbbcb000e5171a90326dd43ddedfd380e5c16c445bd75a1e5";
+      sha256 = "b059aa4c12343e7940fdf7de08da40fcf9a5f230c5470ccd8ef3bd491c8ce2db";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/uk/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/uk/firefox-126.0b5.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "545bfc1e7747017e7f7455aa1cd0b49768f50b38c8d688e502970d153638d3f6";
+      sha256 = "f6349cd8a79e36f81d53b597b1068a5b853f34378dac2aaa59db213081764b76";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/ur/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/ur/firefox-126.0b5.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha256 = "06854c5ecee95ac99b5cfa60cd1613d46bd682e943faacdc73bc37ba6f525d2a";
+      sha256 = "94ec0fc0bc2d3d53d7acce4300cf09571a0cfbace00ba41a69ef75ef742c709e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/uz/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/uz/firefox-126.0b5.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "b90820febdf7ad047c20a7fe30e451e28db57a4e37801a897769d3327e5fa1c5";
+      sha256 = "e77772aabe8473943b5c062a1d7e6b887cd2e8205d5c0d87ac69819832c493f6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/vi/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/vi/firefox-126.0b5.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "0fc392639fab1c4355d81483901da48cc330f32c73219307459943369fbfcc4f";
+      sha256 = "c73802774f2f9dd73a62b9d07fa77d2e8da62f2ab519d4a1454b71d6a67cf9fe";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/xh/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/xh/firefox-126.0b5.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha256 = "c9a28f90105395816316f1e3dd530db01fa2816d28df72cdaf72ea948e6d09a6";
+      sha256 = "cea6198851ea912ac1d0e2e060fcec056054230dd532ba64996cb1e148fef6cd";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/zh-CN/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/zh-CN/firefox-126.0b5.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "30b8b1356f61011d7d55d30517f64fbe000830ad488d9e7e3aec3f691483b035";
+      sha256 = "0ece0aef6ee9112e92e72c570be6eca108b5331694de4247a2aaab2003a95770";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/zh-TW/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/zh-TW/firefox-126.0b5.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "d52898626df662970547ab0e9e407966dbed09e3c078f80d3a0a4552f4905b04";
+      sha256 = "b2cd12df0910ce19de2a1a4f09415ed318b25e9059b526c79cea473e72c60727";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/developer-edition_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/developer-edition_sources.nix
index 7a02d4c8704fa..fe964b95703ec 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/developer-edition_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/developer-edition_sources.nix
@@ -1,1025 +1,1025 @@
 {
-  version = "125.0b9";
+  version = "126.0b5";
   sources = [
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/ach/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/ach/firefox-126.0b5.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha256 = "5763a1d8083ed8eb427559dae674d2d28de8d89bbbd34b7019ac560b08dcccee";
+      sha256 = "aadea702b7fd435c9a6a90673c1b055e78e6c31bf5ea8b22b362c394b429cfc0";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/af/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/af/firefox-126.0b5.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "35843e4753345b554047212b8fbaa964c9f551bc17bc74b675630ed7ce975743";
+      sha256 = "9d0443133506dfbd6f20038aa8fc5449baffc2ec39290332145c2069f8bc9a14";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/an/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/an/firefox-126.0b5.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha256 = "0b41f5d40954495cb185e9f30784d6ce35202d1b28639c5a6dbcd63ef9d1e034";
+      sha256 = "687d8a868302fac2a46168d1e0c3b9b6d40eadd906a17cc67732c7c1d9abeaed";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/ar/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/ar/firefox-126.0b5.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "9dd02b44542ad9c672038b2c810cd4aa4650a0463ef3e4be803e64e44a78bb3f";
+      sha256 = "f69161d5163d3d36686a3ccb6a8d60a86846c2858e9c9bd1c471677f3bb9e6e3";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/ast/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/ast/firefox-126.0b5.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "bcbc69b092d2b82a8ab1ec31e7514789f5b86eecb164a1893855b206547c7a11";
+      sha256 = "652bbb9d51ace74d186ae3de36aeebbd7e71a5e72a354c604106da44e632931e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/az/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/az/firefox-126.0b5.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha256 = "a106c810bfe2225aef6b264e76d80938b4202c9bac411f50d8f1d0dfea8e8d35";
+      sha256 = "30e40363485d7bd0893c08f05dc97741e08cfceb04a7d2eb7d5ccf17c72bf944";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/be/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/be/firefox-126.0b5.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "3126353bb4bb59d248e7f48ddfabfa22c4cc28d855c76dc221989be1a91e8048";
+      sha256 = "fac31c7f86d82dd015f1227d4b39924e1e08cbc9d0b6a9dde5207f2e3529c76d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/bg/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/bg/firefox-126.0b5.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "62091a371df3c8c592608dbc6ce888ed543cdecf481e20a69063442cf11a23e2";
+      sha256 = "9a6fa24f51767f3b303d61d7dfc760ca55defa1296bfc9d037ecd1ed6afd9c09";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/bn/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/bn/firefox-126.0b5.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha256 = "4c16ce4aaa860641e99b91a67b41d0e0acc249fc079a0e086c483fef14d81fa9";
+      sha256 = "65b6bc95679547df0a6986fbd7156be0fb1e6848bcdba02b645c5779e54054a7";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/br/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/br/firefox-126.0b5.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "48245fcc1eea99682635271c2eaa9557772c90e4a64b0b05258919bc06d0adfb";
+      sha256 = "d555b830bbdc48e0b5a59d4a4f2f73a2294c099b5a91bdbbd32531f4a89b84ab";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/bs/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/bs/firefox-126.0b5.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha256 = "b42fe380f2e758695f2eca9743482d0d2218943a2318df6ec026588513507f07";
+      sha256 = "3cba8d16d5edc777353a8654b91e7cd1176cdc2acb8c7df5d2713951dc21bb2a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/ca-valencia/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/ca-valencia/firefox-126.0b5.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-x86_64";
-      sha256 = "d1e45ea220681430c3f797828c5dbfa49f6f13a5ad67d51494fee6ac2da42277";
+      sha256 = "040147cd8ecd354485d3df4691ca99036d8ec2ff0f25add7729e4a2751d9d178";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/ca/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/ca/firefox-126.0b5.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "b9fd921b7ba24bd7cf4fb39e79bbd2410d515742477303e602d2c9b7c851ac50";
+      sha256 = "0614be9b81fb8ec1156a6b226d82e02346a2c229b148ff170583a0f14a7b66f8";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/cak/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/cak/firefox-126.0b5.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "b963950aad364cc55e313bc0137ab64306e00d257a2aa04a9a005e28dad4fda5";
+      sha256 = "7ab6099b339aa64775562c0e388b604a571ba610ed2d22835b6ba3fea3f685ce";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/cs/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/cs/firefox-126.0b5.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "5a1bbf1995be530f85af2007bd78637e070220e49f4639f5591a6ee784b1accd";
+      sha256 = "b367e93b63e0eab7a7e1176b2cc877cc31e1b8bfbe23c64c4db2492f915ebd64";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/cy/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/cy/firefox-126.0b5.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "e60170253b00740f68dbb2bf89fef3ff4ae54728dc5663b4ff1ec2902861f977";
+      sha256 = "fc659db104968d92aebdbf60b0341132891ed6d14c0b444547a10a2a2d4be262";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/da/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/da/firefox-126.0b5.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "e9917414d63b04cd67b36ecf5e042107cdddeacfae82cc5df812478e073c8db7";
+      sha256 = "4ba74c927d83e8e84f4db5b8e20b9a593c2866640187deb15c9308242cd20994";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/de/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/de/firefox-126.0b5.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "b74db687258caf7ea7cf5a0a25a456dbb7ce06de7ec08cf7e84b641bf468fcaa";
+      sha256 = "e7bd1092bc9bef535a642ad0abc90bc855f83350f22bd2345f23f0924917b194";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/dsb/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/dsb/firefox-126.0b5.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "a63af3feb1795d1384754f739ed9c8264578cbd1245aa1df276b2bb1fccf0f8b";
+      sha256 = "8a27aec7aa633671f6e5ec385f2787216257b3a667f79246db496b239f6216d7";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/el/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/el/firefox-126.0b5.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "476d56afd9907e10b390ec24b9a32cffef32361ff2f53e82ca3dcb06d804e37a";
+      sha256 = "4a773f33acfe4f2f6e27d8b59dc5df448262f972985c1cfeeb86debd167eb536";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/en-CA/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/en-CA/firefox-126.0b5.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "f83776d4acede5b43b66a64361c5a0adc88118db0094d9f2e846baf93c17b180";
+      sha256 = "bb878750660b575da5519c88cf06200e5006ba8072b580c4aea1dd9b701ad4ba";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/en-GB/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/en-GB/firefox-126.0b5.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "f38a1f63adb9a83611741d070fb383a358ceb281d1531e7df1756ac45e685d6a";
+      sha256 = "ac6fbb711d9de6c3a307b0bffcfcf7e5a3d50b9b62a280b026bfd7695280c223";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/en-US/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/en-US/firefox-126.0b5.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "044ecea7ba76658458a4993bdde9f3ee11f728ee80f30814549a0650479918d5";
+      sha256 = "8698e5366a2f746208a52ac38ccf4087fb1c1ae4b2cc5596ab6ad289339a88cd";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/eo/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/eo/firefox-126.0b5.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha256 = "bd2c479b2713f6bf6a97a29a97af4c746c223cf8383b0b141562c641625b2aab";
+      sha256 = "e7f31b325611365b62223d816ce6f6a0d5b5d1b13d7683d37f6dbf1fe134cccd";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/es-AR/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/es-AR/firefox-126.0b5.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "ff04b00f2fbb4b141a457144c7004fb3603da8de4e91dbae8f8213b12c2bf62e";
+      sha256 = "e2e6cec00240ff005879786c3b2ac9eaa32bf52f1c9bb56119161f16121f7476";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/es-CL/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/es-CL/firefox-126.0b5.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha256 = "f9c123392943f120fc4da1db741ac37546c5f11f131acdc0ca3a78356cfd063a";
+      sha256 = "d31e59b6ab3bb8ff78c334edf03e4151e56449b5d4de5a1463e3e5e720488cbb";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/es-ES/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/es-ES/firefox-126.0b5.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "613ddac4090a69282b6dd71a4406d5b6a8bd0c80213727f405a907a03a959a06";
+      sha256 = "bac16e3d7bf01339fac50077514f0e8444290a6c0349839bb155a8539324679d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/es-MX/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/es-MX/firefox-126.0b5.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha256 = "e29803b3625237c89eae9fc822a9d0e1c4df787b05403c7608f50dd09b214e36";
+      sha256 = "e41b8afba817a5eb84117a1526cfe26ebf3f8467d6dc5abac057ffe0d2e0ea94";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/et/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/et/firefox-126.0b5.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "8ce5eb6067e6ebe543edc7300483168b37e8517d510f1043fc3268eb6a974dc7";
+      sha256 = "20ad510b43d37a58fd80c590340a947c1b6df95590b97bfff7cd4c62d07723b2";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/eu/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/eu/firefox-126.0b5.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "17cda4971616dd4b94e2fda1f14b04a6732d7d696c70220a85df84d60fbf4e70";
+      sha256 = "d1806f999e5b91deb3fa5e4c7858e35c8e141f347efc990fa461069bcc5f8175";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/fa/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/fa/firefox-126.0b5.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha256 = "137bbfcc720f9b816b12cdf8411bd2b2eea9f64ab55a097d4cbd183d3d4b30a2";
+      sha256 = "db81f9f32f2ffa07d99ffec55c19ab610a71ce33acdad63aed6a51482f73b3ad";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/ff/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/ff/firefox-126.0b5.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha256 = "c83bb94bb16d6bc70279c51c1e2b437747548013d019434629b526d371ed7301";
+      sha256 = "590d831346b3e052dc07ad2682ede64289c7d34698eaa5e367403553429f6b6f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/fi/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/fi/firefox-126.0b5.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "c4a6597b6c859a6aa8d34c7bf7223245efab431dd4d11bfc7211336b78a135d9";
+      sha256 = "a97ad5462016ca9bb909ed62989257a2a84f6474541fd4d110f85d5363e86323";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/fr/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/fr/firefox-126.0b5.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "a36791d4bb76ff3ab44f4ef255904e354657fe9293fcb94d276063d430dde71c";
+      sha256 = "f376c6778bc22ccc6fb08164e246d86a1410a767c76530c0e995bba633805c49";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/fur/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/fur/firefox-126.0b5.tar.bz2";
       locale = "fur";
       arch = "linux-x86_64";
-      sha256 = "a4380bfafbfe0e752d67f5797e592f3be615ca054b78cdd1afabab227d23bfcb";
+      sha256 = "bc5b436e9b1ef0a835ca79d522a802b105792bac55fc94c21f5e1cc8c2ae650c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/fy-NL/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/fy-NL/firefox-126.0b5.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "0071da3213e18c38cfda739d00a546772f1726461ce0c9d1ca268137af1db628";
+      sha256 = "e6e84437be056e031149e13ae3ad67327c1aa737cb1c4f4d2aadb20be453c057";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/ga-IE/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/ga-IE/firefox-126.0b5.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "e55e26f3f9c3a1326d299345177e4f44a088f4342b264bb039882495f2e66fb6";
+      sha256 = "147bfbeff3cef160c82f978c88f6fc2f2aaf1225213a96704343d5baffde7a24";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/gd/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/gd/firefox-126.0b5.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "92cfd3ae367a1dcd42cc8b6a206bc7429d3eabc26c4f98662894ffa904c27fe2";
+      sha256 = "e00839b12a3bf928ed25804ed34607bb2d5904a9aa16a1cb701d45105cc36301";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/gl/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/gl/firefox-126.0b5.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "99032185cb6591ea1330c3e83d5e5fd5acc6bfc735eb1d50758224301e96f745";
+      sha256 = "0689aa03acab6daec08748be34ce4dbb59419706dbb92e1ec5796ea574160d3e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/gn/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/gn/firefox-126.0b5.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha256 = "2dd02e5fe5e49e7ec5fa6d29c88ba1e33ff5181f086620ecf0782936a43f0c95";
+      sha256 = "4a4177a177e6fd1c9c2d284c968ddd1eabf95cc68a1521f6727787235b0f8cfb";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/gu-IN/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/gu-IN/firefox-126.0b5.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha256 = "5392cb825509e6398de432d3146e3a6739cef31db9455aec3ad9c80fdbf8f48c";
+      sha256 = "4df4c1632484eb1de64dff8cc3e564b85a1f0d3f3fd984caaea9cfa7ec330a67";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/he/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/he/firefox-126.0b5.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "43b5397f82010d596bd8d9601b2302b06b31d7e4fe458595ae28cbefdf6e47f0";
+      sha256 = "50f51a218cb85bfb291b35f19d320886c31c86f3bc62dadb4b8a67e61f09dbe2";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/hi-IN/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/hi-IN/firefox-126.0b5.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha256 = "6d5cd029f6ea5324121c8ac5625b7fae0dca18a40175372f826ec6c4734e8043";
+      sha256 = "78628f9f924247648ca6bfa5f9879d9d971e5cfd20c38d490d545f37544a5631";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/hr/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/hr/firefox-126.0b5.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "e654f0e7c19eb8aa7ef774f83106a2ea0c2f0fe5574299b1a3245424de68d213";
+      sha256 = "e423d5f514b7a81a6b0587e507ddf3ec34dea9c2355b3637fe928dc19a94680f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/hsb/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/hsb/firefox-126.0b5.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "3fdd5e833d0a781007d78ea4bb0c0f80cc51a36afbb22021e55f3136405a3ec7";
+      sha256 = "aa12cd9f3f5e40e4cb34835bde908d19fa49cd56fd5644ea7d10e7b246181e06";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/hu/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/hu/firefox-126.0b5.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "2619bb98fdd5a1fdb66ba05124abf2d74ffd70bcd46e20381cbcf27ca34b1d11";
+      sha256 = "84b3e5042cef460bc83703274f77dd0eeb8b4b0afca499b5ce9521beb994ca9e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/hy-AM/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/hy-AM/firefox-126.0b5.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "521687b599c57f3e689096fecf3366351f4eb4416324d72cebc2da7667c0b2be";
+      sha256 = "8871dce1aa612830bce519312efcbcfda4f117397cc5e87b2dc0456e6d71fbff";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/ia/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/ia/firefox-126.0b5.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha256 = "61c341f8a29984f504bc0b6a236d7aa3871d5c7b85d136526eb91c7e8c89abfa";
+      sha256 = "6b5464a8913c7a6cca023c5e19466e2ea217a71366d833b50dad61fb27f9a4ed";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/id/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/id/firefox-126.0b5.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "5c8b39401c0307fcc863fc9ac6df19347754bc0cbc95a1337fd6ffec8a0c6cb8";
+      sha256 = "bebdc7251b629e9aef7456180cc8ec38f624d50239d92ab4290e0ced3013c14b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/is/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/is/firefox-126.0b5.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "f3db46c7e8dd670fcfb3b4e03fff7c058c391366e1271aa0bce22dd92544dcb5";
+      sha256 = "489c56e584acade82eecc7873c3c4e68c8ba23c6441311cf1c166e633f233618";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/it/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/it/firefox-126.0b5.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "6d8648f7f86947640436b7f690860437b9aa23968f238c0de788943b50c18347";
+      sha256 = "7f0724aafaeb78001de81008e165bd8c7e76db4633b8f452d577a5f50a1eaa7d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/ja/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/ja/firefox-126.0b5.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "0b0e74e3a132883deca562684e5ad6002779e4103a8a222c9d73744a5198e230";
+      sha256 = "d6fbcb972566b90e4858b14ae864eaed088e4ef04e4a642b43656765e15be008";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/ka/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/ka/firefox-126.0b5.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "8113f606240b54623e6995d73c38375008b8510d586a86127a73d88f15c9d29c";
+      sha256 = "b5454dacd7c3b2af91f880980d6948fb864c99a92f5a6b7d1cf775a70bb1df22";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/kab/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/kab/firefox-126.0b5.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "c1364acc20e9930eba1571408c5554d7668b3ebef7d481d437eec5ecb4d34d6e";
+      sha256 = "326a5e1c452b869ecf119a3874330ccb341baf10f68a17716350e39dcc6621dd";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/kk/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/kk/firefox-126.0b5.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "a3d4d4cb5dc5374ea732fc69a350f1263e12529e09358329e926bcb4db13493f";
+      sha256 = "bdecf37f2f73eba68e3690dbf8c3a8c6174e4e54d6255f1e435bf106212f30ae";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/km/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/km/firefox-126.0b5.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha256 = "7c44d1566004a5bb60239842c344db63d458d58ddad6bd1aba1dcbc1c2d50b49";
+      sha256 = "f9f37b2e1b81d104295ae5c926ae201b2bf1e6620eda3c1d0a82e17153c3efb8";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/kn/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/kn/firefox-126.0b5.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha256 = "ebc55e0ec99fdbe237d159f8ca7dc2e8f12aefd6777f56e667d18684a77a0040";
+      sha256 = "9d3cba10d8ddaa85e7e1ade5484f3638f88c4b6d009cef4225ce53f2b5870096";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/ko/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/ko/firefox-126.0b5.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "0f01a3973f7c56de695bb59ae2d5086a8c968afb832a2064ee66db91400f80ee";
+      sha256 = "10884ab9adc0203b5352ac38e1a496b5accca5dbc364c2b383de351f16d6a420";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/lij/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/lij/firefox-126.0b5.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha256 = "9d87ba2f9481706aa171987b997db8d6f46bf06d4b169f69e5176b2f46361300";
+      sha256 = "954f466f7a1803b63aef624e02e3a8bb1bb449e5941695e61596962d56679821";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/lt/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/lt/firefox-126.0b5.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "0c591ab551bad318e76cde71442b31e131e9c1384aa857e88a8e091b16b7fdfb";
+      sha256 = "0995741098c46398493bc153ee797d540d63d77bec642143326d066e9a4349ee";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/lv/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/lv/firefox-126.0b5.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha256 = "83c4cb164524bdb06fec6663b47ec6ef8c4c875fe77234c3378e5a893617106b";
+      sha256 = "20063e09da70ce19d9abb0bc6c6f657c6d5661f4a20c281fa56c06354034dc10";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/mk/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/mk/firefox-126.0b5.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha256 = "a16ad06e6cfa4f3423398017da2b790da75a7fbc07c0ea69b8608368636229a6";
+      sha256 = "b27ce3d8dc0fa083afaab8844350cba8d0b356cc0dd8cc591458c993396f637a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/mr/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/mr/firefox-126.0b5.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha256 = "8b2bd7a5eb289c8bdd3d39cdd9191bcc52373e0d82948337b185176057350dac";
+      sha256 = "6fa92ad541934296b50c34105908feaf2124125350cf913bb1656bf7fac5784b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/ms/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/ms/firefox-126.0b5.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "5d417aedb9c82d764cb282b545af3a0861b450aa6c3b5a52eb1122b6eac5d0d3";
+      sha256 = "d0623362a8a8830f117870464de0c0e648e32cb66b960efdf49c43a3c6dd3530";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/my/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/my/firefox-126.0b5.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha256 = "036be95f31d2c807c314f8037f7eb4d29636d51e624d2e4f7bd969504debe089";
+      sha256 = "4a96f707867cc48b34c558da67b4b3ab2c561d4f9221635bb559a622d5ac5481";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/nb-NO/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/nb-NO/firefox-126.0b5.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "3d508277cbd1c7f0144f4ed84c55856debdf46ecd12850fed41863666e6e9335";
+      sha256 = "155a097e982c47636f7f9f9816669ad201dd11f2e4d034a4b5f27757234ac73d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/ne-NP/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/ne-NP/firefox-126.0b5.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha256 = "0b4a561c4a27e08686af8739a5156f4ee18f04844ba25797c1c04fdbfdf1570e";
+      sha256 = "7e9dd8d3cfd969b25c2e01d813f997df86e9c05016e98a8e991dbc72482c545f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/nl/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/nl/firefox-126.0b5.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "1ce7061b04a54c7c889bb5d01f6c142f14380859be09c98bff65ac5997ea9b27";
+      sha256 = "25fc631ec62ba8b488c923c06dc7d1846102069f6b9fec259017809bb964ace0";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/nn-NO/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/nn-NO/firefox-126.0b5.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "f9599b1bff9bde775ec288191f5bdfa3a1d9e0b2f8bd537d205f1678108156d1";
+      sha256 = "3d76232fe1126d94f64c7dfec0975acb6b8db9668275cc43fad5a62a2b9f9a04";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/oc/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/oc/firefox-126.0b5.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha256 = "63f2d7377795fa765465327e56fd40d2208d4d1248ce57ac148c2e9b394171a1";
+      sha256 = "0dfda755cc4f2b4db90bb1715fce8ea630f8458cb42aa32a6008ecb8f2d7535c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/pa-IN/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/pa-IN/firefox-126.0b5.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "fc3a2cfc86ab632f37a6b52f68c6b3f8fd88b27c7d396a62e926589e187a14f2";
+      sha256 = "10b14b2f8d54dda727c1ecd6dba83a5e9cad880f4228cc398e6ca7fc1b43227b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/pl/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/pl/firefox-126.0b5.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "5fce867b9c70330c0c73f24020adb2a822baf0781fde828e387b82c23edd31e2";
+      sha256 = "50ee99d11d384f079480bbb9c824519e7b4756b3d4c7fd908353b3d95d538b6c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/pt-BR/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/pt-BR/firefox-126.0b5.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "7854d304aef9c0b91e2c116580a622cb2e3b4c856e2bdd953243631c4ff098b0";
+      sha256 = "2e09ea51ac746045fd40fa6a7925e0683d7fc13eab785de294d7b1ed540d04b7";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/pt-PT/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/pt-PT/firefox-126.0b5.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "81ccd6d70fb796183871f57544de81b54a20a809a82376c24924c82b6e775242";
+      sha256 = "ab9bd6fa3dac37103ceaeee7665ed803c4934d4d8412b22fc6ce175c1b537b1f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/rm/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/rm/firefox-126.0b5.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "c4f015e71bc3e16f5a6d24c6e29b7338dd34ecf9ee2d40ccdb699fd688b4f7ef";
+      sha256 = "1b86c15f6bc1036dfd583ead5ffb1495850c1d6f513af0cb9ee6c7e0703d51c8";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/ro/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/ro/firefox-126.0b5.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "ea6f517ac3c7c30a0d07aa9bc6f43aa64d48165bcb5ff4a59ba460305c317666";
+      sha256 = "6611b9c1af4dab80244af1d6f90354d5ff55e7fc3a29ca7ac07a408c62aa527f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/ru/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/ru/firefox-126.0b5.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "75d7d6d46808d100e83490ce251297e813d182479a8160f9283f7dac22d9df3e";
+      sha256 = "8991c38c843101718b10b0d1e1380711593284cc270a7e0897201f3d667a39fc";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/sat/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/sat/firefox-126.0b5.tar.bz2";
       locale = "sat";
       arch = "linux-x86_64";
-      sha256 = "73172b38d03c036b5c96e7d4ae2cfd3d1e1ca27e6e9970c434722083065e3c37";
+      sha256 = "d61c74fca1b02ce76d2565219fdd29becb88ec31fa1d66395c9d31fad04cdeee";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/sc/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/sc/firefox-126.0b5.tar.bz2";
       locale = "sc";
       arch = "linux-x86_64";
-      sha256 = "1757e66e8287439ee4e792a332008c923accbca70aa091800d0107ed33b49fe2";
+      sha256 = "64c02479980bf2971bdcf570529375e934c809ecd476fc9b51d892b1a50ea662";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/sco/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/sco/firefox-126.0b5.tar.bz2";
       locale = "sco";
       arch = "linux-x86_64";
-      sha256 = "014438de65995412947e4e7f36a4c03632ea16666d3ce810d663534b307f3c82";
+      sha256 = "665a262095be81ba608fe959c31a1f90a6f46c20dc73b974fa82892a66559304";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/si/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/si/firefox-126.0b5.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha256 = "5f53868cf700ff746501302b820700542b5bfc2ad40f9db3baef08e0c4c1f0c4";
+      sha256 = "6f32d4c36a30e855f467095935fc2b9417046868602506d3b7b575ad8e3f373a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/sk/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/sk/firefox-126.0b5.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "c0aea479860022b95edde68a58bdc7e720a8274a53019d0ae926025cd0ec3fed";
+      sha256 = "d603440e7ee9b65e12327024ffbd240a63493feab83fd09d2b6ff5ee5c6565c8";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/sl/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/sl/firefox-126.0b5.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "74ea3e505f41a8fe1c527bdd7642aef0cfc39d7718a6eb277380dd3a952c9b24";
+      sha256 = "19fe649c94f9f5d6f583c2fc437d63c4998fd8954f14674e691d8c55329a865c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/son/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/son/firefox-126.0b5.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha256 = "feb11969767e697bec405c77e80c9267cca92c8d3d486e176730a68e3b34699f";
+      sha256 = "33ffee14974d1723f91fb456d2a2f7a61f4b9d8f8c205744b455b143cb22f32d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/sq/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/sq/firefox-126.0b5.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "f471f651aaea6db472408295c86b9d07c8d554a42e68662ee42fedd0d97465db";
+      sha256 = "b6a69416597c5b62863d5bcc9ee4ac63de03e13808b7875bbf75d531578e1db7";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/sr/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/sr/firefox-126.0b5.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "35d161eb1933458b1c0dff11e4cec387a1e190c2da6efe80441c7819a0eb005e";
+      sha256 = "7a354737335048a21a95c581a7db7b4186779f97e4900304a5bb93566af4952f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/sv-SE/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/sv-SE/firefox-126.0b5.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "725c451b118b76f4faa4bca2be8ccf2085bac6e1022421d5f7f8701b1a96addf";
+      sha256 = "58e676c649f9d6135cc347349660a7b364429fdf8f025570f8b0791868f5d0ab";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/szl/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/szl/firefox-126.0b5.tar.bz2";
       locale = "szl";
       arch = "linux-x86_64";
-      sha256 = "e7c62582be07fff7b98142564e248d05cf5b9c4e38ca6bb4910bcb3504ca95c1";
+      sha256 = "4dedbb590cc4ef2330aea3d99a6f782b3c8ac2bb3cdbf21ae4f96527ea75d1bb";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/ta/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/ta/firefox-126.0b5.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha256 = "3a4b492c5c9805d2fd39f7efce9a926200347c857a5c4b556fe9146a783af14e";
+      sha256 = "91d142a2c2a0d85cb468889d84ecd6411309083b7a7802e0ecaf0767a697e574";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/te/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/te/firefox-126.0b5.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha256 = "ab334857e420a93f95fb1273a1d54252992b185dcfdc339b0b4215f768520d7d";
+      sha256 = "a803b84500d8d456f27e48bec8e28b6dfe1b3a2138928edbba8a493f49752e84";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/tg/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/tg/firefox-126.0b5.tar.bz2";
       locale = "tg";
       arch = "linux-x86_64";
-      sha256 = "a12e6605636f8c70db0e14213a68087ac089c94fb1bb68829c029b59aed076a0";
+      sha256 = "3deececb0f338d687eb691efac5a4cb653ebbeff9e5cb8532c7c7f8a7566429b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/th/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/th/firefox-126.0b5.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "602669936f1bd0f9dd8d0dddb303bbe5910df5e7b43bf9de09daa06163fc3e65";
+      sha256 = "ef83982d27cff044938d0648bd4eaeae5ffa99e3d64f5abeee0b5008fa2ed93d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/tl/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/tl/firefox-126.0b5.tar.bz2";
       locale = "tl";
       arch = "linux-x86_64";
-      sha256 = "75008dda2d18caa901a50596b4551fb3ea667714c1ef1d3201a39c3f3a539804";
+      sha256 = "2b52f3b404d8f7d289300116f7069a19bfdcef4d28cbc31951137ee91b771f01";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/tr/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/tr/firefox-126.0b5.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "fb2010550552ab278008b45a59e78096b84fdf06efc739ce6f0a8b20ad3168c0";
+      sha256 = "abdd243d3de3fe4410da0d5c332538fd106a3bf7007d7bc410700bc83277b1a2";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/trs/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/trs/firefox-126.0b5.tar.bz2";
       locale = "trs";
       arch = "linux-x86_64";
-      sha256 = "69498b0e7f74dcb47ee0d7bf96cd94bbc647d2428ce9a328e2bbe7c3c33a7cb2";
+      sha256 = "bbfe1fba6424c743ff7e6e8ba692e7cf9a46491e29af4d9efba330d44d4625e8";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/uk/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/uk/firefox-126.0b5.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "6d176a9adc95a6bc825fb9efe393f22910814e1680549f8b75435e637626bb66";
+      sha256 = "85d2599c2161979f181df50a17c1b77cb74e71f1be94d2b753b8987ec9349eb7";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/ur/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/ur/firefox-126.0b5.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha256 = "6e21ac2eaa71cf1994f21ec9f7054db139503344b4702260a83e83471003734a";
+      sha256 = "9eba764802ef50860b4a1c85b3202a6464c3e1ef2bb5df70d6d052735cfac21b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/uz/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/uz/firefox-126.0b5.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "c0eff534fbc1ff7d1b09880498df980abddfd9540ad386b7b62d89552bd3a831";
+      sha256 = "82f8614c230a75f41e5c5639c60b658d4fac8fa9056615c64cf4a928ae1eb418";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/vi/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/vi/firefox-126.0b5.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "825f7eeb10a192cfd69481d1534de17814240d133f3ca90fc53f5719d4e87b00";
+      sha256 = "f595caa6bd9f77b151c9a5d74020870df9a8c7827360a491fa6174d85265a026";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/xh/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/xh/firefox-126.0b5.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha256 = "874a64ec14de047f2fe9b81b8742b6be39db1895b166bd2584cae6328ac45790";
+      sha256 = "27ff854d32c01c3a2bb9e7133b7a2ced467e47ef99f5144b8d24a3b7ca313ad6";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/zh-CN/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/zh-CN/firefox-126.0b5.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "21a8ac3fce56809cae9b8da6a98691561e1c929a44ca65025c4769c9944c811c";
+      sha256 = "67636bffcfb4e156be1fcb3f4d686ae892a78385f77d8d735f79b2c849740a6e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/zh-TW/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/zh-TW/firefox-126.0b5.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "71722eabea75d8200c881549f0e04c00592b8c995c62047c34b9a30e8061fea9";
+      sha256 = "62229e20c259a5d9f070477bce5c5082053b68f10017014eaef714a627056ec1";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/ach/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/ach/firefox-126.0b5.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha256 = "9d086981de24e8ae62b5e07c7bd49c9c64f86f388ad6fa5f53a8274400bc47e2";
+      sha256 = "e745ec55aee55bb8f68fbe076d0177eeffd730390633b31817575a0e644dcb03";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/af/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/af/firefox-126.0b5.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "1cd8db9ae142d8f043f9b4978dbbaa671b16b7e3a5d3e47d4cbdad60fbcbab7b";
+      sha256 = "e70f999ee5b532d1602e7cb43db58219ea09ba123ef571ce39374fb6afa15c07";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/an/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/an/firefox-126.0b5.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha256 = "1d85f09937844989db25c498c3c7c9937c5e7d69fe0ccaeb0b46503ee9909bfd";
+      sha256 = "4f50f835ceeed6552c71faa076b8d4828ca555224c21d57044fe895ee28175b6";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/ar/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/ar/firefox-126.0b5.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "165ae5280ec473aecea02ce552fd9feb38ef365a7b381f3b9f7909884ab54e0b";
+      sha256 = "ba0d02b76cfdb14da5be452c51c19825ae41a866248e7cb5f2b997f75a25c505";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/ast/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/ast/firefox-126.0b5.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "d2fff1131f320cf0a4f5dc279d1ffc2ece3ac239accec36a69f8c49b9a01593b";
+      sha256 = "83031e923adbcb3e2e97fd2e76e8babac19de9cd74e9645524181dc10a3b3e9f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/az/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/az/firefox-126.0b5.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha256 = "df109da3ce91ad390546228eae1a758e9c2b25319f56e07ecc00a79bdccc8a5b";
+      sha256 = "6a508a257fd60549dd860478cbeca325d253339ce6fab4689c06088b13ecb704";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/be/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/be/firefox-126.0b5.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "33fe571a5720680a10e36cc1ea6b82d988688ef585e836eb980686cf46260804";
+      sha256 = "21d59f6ad32aa479152d66f8175076635b1c73b4e207f1aa35e07157ea777316";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/bg/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/bg/firefox-126.0b5.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "4c44a6f19d68e8310c878e5b61ed65a55bb98f5301edb3f37bed5537d156cda1";
+      sha256 = "40024c75ff970c4aeac578bce18132da65f3cfd350ddf3ac40db3d77b89bdb1b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/bn/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/bn/firefox-126.0b5.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha256 = "439f37184480bb5ceb10683f5ec09a2c14c08415a5fcc900881358a8d857eebe";
+      sha256 = "63fdf24099be89b42f8de2f1cf6be1b88fbab53549db2f2aac32f6f104d2fb21";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/br/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/br/firefox-126.0b5.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "5387bbaba61a75f27cc2018b2b99c786e9b8b987db46e2d2258aa2763a7ba052";
+      sha256 = "76a417479be76f62776386d9f4d47b1cd82b14ff2822dbf291e157a947323178";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/bs/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/bs/firefox-126.0b5.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha256 = "ce92070eecc7beaeaddf33c9913ad4fb53c265bce57da65bb2425d4f0708f8bb";
+      sha256 = "fa82ff92eca43fa651f180dfcae0e138398f4960c2802b7b8023b50a17e0cff9";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/ca-valencia/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/ca-valencia/firefox-126.0b5.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-i686";
-      sha256 = "f96fb19cdf6480d2e2b76012035590fe19870e609e37af9a878e6f092be6bc84";
+      sha256 = "73ee09b6b91f8e38387084affb6d3533e7583056e4add60cf2d986223f870932";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/ca/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/ca/firefox-126.0b5.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "f27b3a855d13cb0b5804885bef0e4a4846b28bc894082411a2a1c8b7bdcb7f5a";
+      sha256 = "3de33a1ff17e433d4670d0f5824634014e3954aa3cf04707d117bb30c14c8325";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/cak/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/cak/firefox-126.0b5.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "ae73c70e989f72051315bc9d806fa123423670b961e865147ffaa1659b7b874d";
+      sha256 = "3380c26b6a7ef5e172000972b5f0c6552f42777f442893752fbf9eef90934f5b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/cs/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/cs/firefox-126.0b5.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "0f9b4cba23df58881a081f8d8744a851494c789100f999c2b3e5b033d9119d13";
+      sha256 = "f2b6c9af691b6801ca43658e4a84f29de5564826df6b28c46f16bd98b6cb098a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/cy/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/cy/firefox-126.0b5.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "0179610fea890c7ceed80a8574386ec13b68b1963f072dea2126a292e563ce02";
+      sha256 = "48352b9c604ab522a5fa0053b2c0bf3a0bff1efb1b084bbfd76fdbf84c08114a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/da/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/da/firefox-126.0b5.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "9368c56a199166d1f55fc49fdd9e4986bf7b73244e28cc106f73b89c1daf5b37";
+      sha256 = "3eaae894a7aa15604b70fe046209f1b59213c789160e6cab1d647f3541f339b1";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/de/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/de/firefox-126.0b5.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "5363cd0bac5d737d139efa90af240b6bf012479e3d03c74971da0f7022fb32e3";
+      sha256 = "bbbfe83e4dbc5b32d8cc619a662cefb79d41dd918be3def4af8f65f665e63486";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/dsb/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/dsb/firefox-126.0b5.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "ecbb204430887dc69fa251ed83d4a99a87e29b29ccc165d28eba3b76a55150ec";
+      sha256 = "d3cc51b4db1e54768515e40a2389c8103e683538a04bb74141379fa49e171875";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/el/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/el/firefox-126.0b5.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "0920af89c43bff2c2d942d2ac0fdc0344638ca4428a0c07a069644c8bbdc6960";
+      sha256 = "828f22975e4887cc159aeb5a9d3bbc52c9e7c725b67d360726416df200a419f0";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/en-CA/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/en-CA/firefox-126.0b5.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "9474400588876157f7a6011cf72fb6ed3bd55f1bbc1a005cb032c4d70874bcc2";
+      sha256 = "3884e77d81703ef9d6acbff25af5927865bdde7d4981e18655abb3166bbddb65";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/en-GB/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/en-GB/firefox-126.0b5.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "3518d026bf2650dc9b9cc72422c7d311c0185a7a0fcb816bc0a9a862d491da17";
+      sha256 = "7b9adb908e1c7d1c179029ff25aaa00a758e04bb8a5a607fb90b1b245b337022";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/en-US/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/en-US/firefox-126.0b5.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "1f668f71ff86c4df65594711c3953b187b41bffbb851a8b13893190e370f3363";
+      sha256 = "9942b9508e98fc122bba6c0e7d38fa8557095e70f42152ea3c4b20b889dd0fd1";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/eo/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/eo/firefox-126.0b5.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha256 = "79e0dce38ca7189af441f8458eea13526497a4d2faac25009d9a6cc63123b808";
+      sha256 = "1cc4a48d5a3ae5297d1ad31ea0ca57d92a3b2921886cfc589da5d09c696e13e5";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/es-AR/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/es-AR/firefox-126.0b5.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "18092882072d6e7624055647e31a5e8e4fedb6f0ed85d6e75053e3f27605e71d";
+      sha256 = "9111c3381205b7172dccc16fe7196dfa355c492d3dd00b3bb15c8e5facb36c3d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/es-CL/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/es-CL/firefox-126.0b5.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha256 = "7c8048460ea10d281e9bfd10398d00fb977fb49438731c82eaa0dfa66316dd7f";
+      sha256 = "2f77fc72d82b996ea5e0cc6334f1a90bc0c719a5db46cb04f83702725e578ad2";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/es-ES/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/es-ES/firefox-126.0b5.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "1d463765bd15758ba17f5e2e5aee5a9d9fd2e596e7a8503a9f33ed6ea5275446";
+      sha256 = "b4e354ef02a92683efb1b37641b70289b7f9125fc8bacd2eb56db73cb716411e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/es-MX/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/es-MX/firefox-126.0b5.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha256 = "3f86063846fc376145ff81e679a668e8fc982fb46f3fc79b96c36a90222dde3a";
+      sha256 = "52186331c8196014eb6cff4df3b5f8a05c5128d3adcf3e1753fe98052a5a12e4";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/et/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/et/firefox-126.0b5.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "ef540b8f5a4a30b69d5cf5045d7d6de6ed1bd99c4351099883c2983f0ee027c9";
+      sha256 = "6770e974febfa296032c0b0cfa502ed5e49d4f5abd6e5c955faff8521149750e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/eu/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/eu/firefox-126.0b5.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "99994d762d77b2c99b8a9b4f19a4f033f3d923abd65954859474c2d6ced2b12b";
+      sha256 = "b85b03cfaf1e267221870983c0758f0bb55cb56dafc8b2fa5bf2abd5ed21c995";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/fa/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/fa/firefox-126.0b5.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha256 = "a5a729c2df188fdd6255c84b3a31ced1409a691f3983d12a1eb4c344bed6761a";
+      sha256 = "bf5f61add2c256e3bbfa5c88226281a2db10ed03d00b402f86704b4da8b0afa4";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/ff/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/ff/firefox-126.0b5.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha256 = "21e197166a2794b01aace690c94b2f5769d952bfb406abffabffa8eed21fb1e9";
+      sha256 = "7f84fd845da18d148c5c63466a1750d0f424f644e7732b8d9e13d4deeabc0a2a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/fi/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/fi/firefox-126.0b5.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "da2b89ea1c67d810cf87ab8b6ce541a7f109f68f6fff326af1d7900fb925dc7f";
+      sha256 = "7dc05fc7c6c79576ef97efe8b09456686e04a2b5a4d315de26aa4a7de6c445d8";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/fr/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/fr/firefox-126.0b5.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "6d0ab61a0d2cae6fa8c62d9ec20a60d70167fe5d01bc3d32e80f957d1f4e0c6c";
+      sha256 = "e25887b699127aa34bd89a1e95a8a66ee3c755fe88425ef14f8b5ec74ca24f74";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/fur/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/fur/firefox-126.0b5.tar.bz2";
       locale = "fur";
       arch = "linux-i686";
-      sha256 = "f95e0b1cdb13ff8a31c255c767469b58a6696866a7061e7e96165e58625658c1";
+      sha256 = "6f42f68553ed54a7933fe22d35e72a0251bc4bf115a05005ad0e5136afacb8f4";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/fy-NL/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/fy-NL/firefox-126.0b5.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "6014c17f7e1c17cb457e45ce1d61838b472e7102f7b6e9abacb8ac690acc485b";
+      sha256 = "32552aad5837fd035f1b6c8609327b0fdecd21ed068bf1c087c37d5fa289ff2d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/ga-IE/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/ga-IE/firefox-126.0b5.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "f3e3e2e026fbc4fd161ed1239b1c41ca81f6b136ea70dea30811de4ccf679187";
+      sha256 = "ef3a8cc08ea7efaa89571f101502f41eb420ff93eee126bd135b58a34a2eb507";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/gd/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/gd/firefox-126.0b5.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "dbfb29292881a31ed56567d91d02f1d2bf784bd04abad86be40228e4079a3b94";
+      sha256 = "200ceeb1cc4ce76c7eeb138474d0e92a673dcaa7ce9c422144ffea12192258d7";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/gl/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/gl/firefox-126.0b5.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "9606813bb2e91aa38b525f21f6712f610a0373a81d98faadfdf6d29dd7c4263d";
+      sha256 = "23faa528dfa7650fd08eb563d1f35161b64df07f0e6c39fb973e731b259d2f6f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/gn/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/gn/firefox-126.0b5.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha256 = "cf0f0e715843ecfd2bfcdb0f191956bbe0db78bf670ca1de69db65f7d274bb5c";
+      sha256 = "298baa1de50fae2edc5de0f7dbc574a2234ae829875dba8fe23462f1dc34bcd9";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/gu-IN/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/gu-IN/firefox-126.0b5.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha256 = "66a54bb543e22cad798c60a8e77eb2886e0f43b6a921acbf4fe2fb25d7314d97";
+      sha256 = "0ef24de04d3e31ce6b6484c83e3daa5ccb2e756039ff5a60cfe27107ad6c5ad9";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/he/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/he/firefox-126.0b5.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "ecd31aedd802c02094fbb448d83bf2d1741d8b1621b01abd0622a5457631778f";
+      sha256 = "80da93cde19b28f04130f8fb0c2b53ecf13e0894ddd4568a5326e24ae688b30b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/hi-IN/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/hi-IN/firefox-126.0b5.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha256 = "dced5aaac70f3b8ec75352b3b9c3447cb83e807f10a362b20d710ba9df94476d";
+      sha256 = "b3cf03edf9b7ce6be6300f7f0d5da539bfaec1ee76258958c4eb2656296950cc";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/hr/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/hr/firefox-126.0b5.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "586f6b96dae0a673ed23361acc175b6e558594a17640fde90edf4c6bcdf7ad64";
+      sha256 = "3aabe5e9a05e995882ed37093450967f573b752c20fffec199e6fbc26dfbb963";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/hsb/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/hsb/firefox-126.0b5.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "19a20c3a835c74a41542bb4abb6349999e139d8416a39b4afb997ba4c9531cc0";
+      sha256 = "19591b3d2ab98eefa993e71558c00320a5bafde9dfef83ea62aa5d466150ca0e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/hu/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/hu/firefox-126.0b5.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "10664ffcc63716c480db7e7bc8d3be9a8c132bc991bddaa6b730d521705ca55c";
+      sha256 = "8a54355ee1ec9d0670b0d5a785ed5a19667159928687cac8769926adcf48fb68";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/hy-AM/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/hy-AM/firefox-126.0b5.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "21bda999dd6e60292b91768c49903a038b35f235b2f629e9172a2e54386d62be";
+      sha256 = "db30cafc71ccc29f1bd338ea78ad0ac046e2a29a7f20a5b58092398f5b0d11be";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/ia/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/ia/firefox-126.0b5.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha256 = "4b3fae49b34f75d24e577ec54dd2f674dc702926549cd4cb07b8ba5db96760e5";
+      sha256 = "49ba196e9942db242d421976456fa5178df9b41d270f5c1961d1b5d69b7515c0";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/id/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/id/firefox-126.0b5.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "768fc814f02b22ace4738c65b8a636e820b730e5fb25cc7b9d78247c1cd7625c";
+      sha256 = "bd2c2b87753d57172229943e8129523e37057a7118b7fc7597f9898df7e0b9f1";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/is/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/is/firefox-126.0b5.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "ffbe571ee03705e1a1308caf968b49f8d025060154024b569bee0eb30524331e";
+      sha256 = "cb185e548abfd9169e8db7367df3079779badb29b842a87492030e8402a690aa";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/it/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/it/firefox-126.0b5.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "258f7d9cd4db147f029accf0682d1240672dbe7d4793d2e6a4dc5309a46c478e";
+      sha256 = "6c06b0f3ab4ad2e5d81bfd3332f7554f3be85fb5a8ff55649d569d90a8cc89be";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/ja/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/ja/firefox-126.0b5.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "29ea07588bc6bd07945d404960c52847fec95a4f235f7464241055a057188277";
+      sha256 = "99549b3ae26f1c816c76a75909e1f80dc86d233a1b7fa508ee85eff681a635f8";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/ka/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/ka/firefox-126.0b5.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "64f421bf8cb23882a69fa18a80cd9015f2958ee71a9f0f824f6f82999afe1b27";
+      sha256 = "6d897e6c4e1f6c3ba73ecfa74f0892f24f8c75d09ac6ed81466b8a5775c4ea6d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/kab/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/kab/firefox-126.0b5.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "0f2d2d6479422f077d01421cdccf0a66dee75574c7b2997dbf592edf77e1670d";
+      sha256 = "6e0b66d33d9d589a1ff7999cf88f261b0a8fc6c1ec59c07df05c2fe102f358ee";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/kk/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/kk/firefox-126.0b5.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "4696c0f2d27836d29a6f7db319c17514d0a46ee45b0939ff0ca6dfe51077ce41";
+      sha256 = "45b86094d4491f8c60ccd8a0bf29f89859f6ffa5ed2c083fe73279dc05fecdc1";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/km/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/km/firefox-126.0b5.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha256 = "dbbf9a8b889a985f1be73dfdb51bd9e629e4c965329365b621dd4d1e831f69b8";
+      sha256 = "6ba5101ba76f482f98f1eee501e3541ca2aca9becbdb8e1c4643e90006eaa0da";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/kn/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/kn/firefox-126.0b5.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha256 = "640815528fdf13c0153dbb7cd848c02fbf87559569d230832d7d122c2f36be2f";
+      sha256 = "c07f3148396eee897f020ce04558fadcea9b3b6f138c6c39ed4b3aa57a79a5ad";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/ko/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/ko/firefox-126.0b5.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "1be5eb7b33f8768b92b4ac2cb6b7cee41b0dd3eb3c5678f2c2ea7f066fdfa4fc";
+      sha256 = "281f31ac39e10c6be379b6bcd4a857959aee8db44b0511c8ca9325d4fab7539c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/lij/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/lij/firefox-126.0b5.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha256 = "993bcdc81177071962797bd40737d459fca462b7e314e4a42fba67b6ad313fa2";
+      sha256 = "3c2af4d878658d1a323bef0abb12ae0a8425cd462198d08262718b20325528cd";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/lt/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/lt/firefox-126.0b5.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "f3da0e98af7ce7c8ad913734875f12d393b4f81797c7d35347f47f046b5492b2";
+      sha256 = "868423a70743ca1d2631d064a08061178dc3ce6443beb3a3707fb4112e0e43b1";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/lv/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/lv/firefox-126.0b5.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha256 = "731fdd044398ed0dc8998399b48c3c0b1d9aad775d6a9614000e317a1794e729";
+      sha256 = "625022c66c3d7a266b91098da78094c3185fd3b1143ea530df71a1c05e3b842f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/mk/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/mk/firefox-126.0b5.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha256 = "4d29864459d53b1050354cc94e8d327d36d904bd13ed88d5a416d70099e9476f";
+      sha256 = "6ec70a56d648fa616a3c6a8a284e9bced88e7ce2f50218718db5f04f58a09ec0";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/mr/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/mr/firefox-126.0b5.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha256 = "baf9f8c8fb85701c6261231713aa03bfb16e1454bb8d511315a05445ff94ea89";
+      sha256 = "ef4651dea53de6e7870289f1003f4d2f719c5fb5b360d6674355e2ce04cf95e6";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/ms/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/ms/firefox-126.0b5.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "b6701cfa68387b1841a6fc05361f96a323de8dafabe351f03bad449fe4ec443f";
+      sha256 = "5b24c603ead07e26421844f07d9809f6c19b89582cd09f6473cf6abc5db5aa73";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/my/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/my/firefox-126.0b5.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha256 = "b29837b49c9311944ee42e0b0ea599146dca9bf0c64b2ad1ef4e323e63ba1468";
+      sha256 = "3439db4e7ebde599e2a6baa262acd29a6c2b2087d9e6e1439d7644c49da645fe";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/nb-NO/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/nb-NO/firefox-126.0b5.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "98038cf55a21d97a1603a6a4ccbdc52051a7e6722434528e8b5c67df24d7bc67";
+      sha256 = "4033990ccaaf2937f05280962b7cc72f2b78ee39783bf279affde551a6c998f1";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/ne-NP/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/ne-NP/firefox-126.0b5.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha256 = "88a2ad4828f94b7cfc2e856748ee6f12fe476be1547342c6b8368ec51fa4dc37";
+      sha256 = "d4ea47c773d8ac97701f13705c0a1fc13d0f1de8f861584adbabbe00d6480ae3";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/nl/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/nl/firefox-126.0b5.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "e811b5e21885d2b9ca03e799330767dbef8545bcfd4da8f9ecaec3a96d050579";
+      sha256 = "e7b2ba4a793462905777a897fbd16377296151c4a11757abf678ad58632ffde0";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/nn-NO/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/nn-NO/firefox-126.0b5.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "b88b939f59b831a3029a04f4723f8f6cf533cba5d56595330aaa150630c873ce";
+      sha256 = "eafec75a25348745aa88acb24d6caaddf5e7bdbcb4f538e1e3e4c1167784768c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/oc/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/oc/firefox-126.0b5.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha256 = "2aa29118d9b689008b00f77b212ebb7f6bbb7b565d39d0b0385785c6c4400c54";
+      sha256 = "2c0b590f5506a46431a3270e6b12ce4824f7ae9e04e6c145a071ca524b309eec";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/pa-IN/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/pa-IN/firefox-126.0b5.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "d91de9a34cdf1cce105b29b441609d10478132d9969914b0dbea70781b166d40";
+      sha256 = "2af8102efcdd489a5cff669f4b37f1b98156a118260ab60d3d626d7c61ce9b86";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/pl/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/pl/firefox-126.0b5.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "6e079131a4608d605c5340456fc33b414772583adf13569cb278950ff13d2467";
+      sha256 = "aa55f3d1d6c1206717f0190607598bd8a878cf439e4cad104751e57cdeb85f90";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/pt-BR/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/pt-BR/firefox-126.0b5.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "c108aae8ca4199c63e690db1072b906ad2e0c9c89811d1770c2c56a855811274";
+      sha256 = "09284e4c296dad6cef7964d26ee32e8bdcc4fe92060dc555d8a532e491f81cf2";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/pt-PT/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/pt-PT/firefox-126.0b5.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "802236cb4fcbf54848f2a5ff4f0e2db6b7c9c63bb48b96ced27b9edec8d59943";
+      sha256 = "df14751d2697dd65d48eb9db603a3571c8b3190b6c55f489cefa6d3a3a8a157a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/rm/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/rm/firefox-126.0b5.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "0184e4cba031481939fd64afd8568c7b35046e512e3076a7e23f5644c72c3f0f";
+      sha256 = "d87f9d823aa7d558acf224ac38f593e3e5209e4266ed407ad2264947b7b6dfab";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/ro/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/ro/firefox-126.0b5.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "38e67909d80dd0d04b937aeb64ff3b736acf083e5c4993d5d5bc30608f1539ae";
+      sha256 = "7d3eb55686c8cd3f80adb635ffb7f8a2056839df92324014bc2efecf05332fc9";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/ru/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/ru/firefox-126.0b5.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "327d465354b3447939e17eb7df52ceef2fb35dbfa11cae26f23ce81ed9c9d762";
+      sha256 = "498150f664b618217a6860c44b0ea40a873fb54a99dbb8287e156bb18ad7493c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/sat/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/sat/firefox-126.0b5.tar.bz2";
       locale = "sat";
       arch = "linux-i686";
-      sha256 = "4f52884427d43586a9fe8892da694b6aaf05e507779dbe08dad625f7b3bd6077";
+      sha256 = "6e2b704f0a6d47bf49ee8bbc4704093792f16dd3e44b78fad658ee92ee680d38";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/sc/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/sc/firefox-126.0b5.tar.bz2";
       locale = "sc";
       arch = "linux-i686";
-      sha256 = "dff2e97188d7c5d3637c0923e09bc9cd3fc4a08bebdab78e4eac64d1d04f836a";
+      sha256 = "2e38cbd7c6304ab68cbf310d6e155a3923b5fdd0eab9e4501e191aaa1c792a75";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/sco/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/sco/firefox-126.0b5.tar.bz2";
       locale = "sco";
       arch = "linux-i686";
-      sha256 = "9221f215930e32fff0f37a9853e394eea6ee1175e8502a0959afe250f66cde02";
+      sha256 = "e1f7336f6fcee8d067c9e8ea3310c98e268b0c1325ca9ab3e2e3b985c0f13871";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/si/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/si/firefox-126.0b5.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha256 = "db518900cdcca6d4d682fb8a576b615cdd994a7814dba9fa1da408d25c2c6bc4";
+      sha256 = "2dbcd443b0a604ad8606910da3f3461e426277cf95889d356c46a3ef91b7c92a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/sk/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/sk/firefox-126.0b5.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "bab2bfd2c8c2c1c39061f3858c2f8ba73a0a6c77c719bcaf208c7b25badfb03d";
+      sha256 = "a749249d1ffde0dfa6e887dda6dec28cd331e68d1b9c536f8656cf4fc549ad63";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/sl/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/sl/firefox-126.0b5.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "2b2b9e20a735e14e0f71bbd7c3247abf3fe1a727cb15ed422ecc35dc9385c7ff";
+      sha256 = "0fba214a2ec166ed2d198ee67cbb70823fc2ab719501fa8721e347e5890033aa";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/son/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/son/firefox-126.0b5.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha256 = "eebd08c8e68bf3f14059c697b95db1f4848c981663bb5fda925a3ccc9b53c419";
+      sha256 = "b5c1b4da06025a762c3a7e0d825c8d217b99b9997d84cb63fa1b3331d04c3d5c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/sq/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/sq/firefox-126.0b5.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "b1d1fdd47ab17c3e3033baf2037f4bfbc3bcd79efaf05aa4ec2fc9ff354f97c5";
+      sha256 = "2e7cfb921900b72557b620b7cfde39d05a7632726db38c656a1625a589941583";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/sr/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/sr/firefox-126.0b5.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "c84e48d1e38d1a81c1489ea8bb005a73fb1414e4bbbf5a3d752e941c49c6ff08";
+      sha256 = "9e7d7fdddf0c05299448db0e6271ffb8bb297367400cf010af92d38a667c85f7";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/sv-SE/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/sv-SE/firefox-126.0b5.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "7d19cfa86db1491a60f0130e168e50a88ec58ab7f81a6cacc14bebbf6feb47ea";
+      sha256 = "37c2f75952cf9c5c138e890f4b5c4d18c5d6b166b9f361c0532fb2955363f61a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/szl/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/szl/firefox-126.0b5.tar.bz2";
       locale = "szl";
       arch = "linux-i686";
-      sha256 = "4852141d9e59065e75cb536aabf1ca90dc5f47651ce6e444170de107a5601a25";
+      sha256 = "b42a7bdd7cdef45d354f43eb3d8640dfd7f4213870d9a5ad5eb62ae497f1ea58";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/ta/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/ta/firefox-126.0b5.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha256 = "ecbfc5195d4f2244d70ce90bd24fdb655488a57fbde154011dd2fbf92025f226";
+      sha256 = "96e64f57a2390f994cc906b4035573b44bddf80578317ea73cf1c9a95c2662ca";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/te/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/te/firefox-126.0b5.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha256 = "5a9db29123d5942fa41bb8eb1e2f9b953398387b0ca81e8a3fe80ec127e0c53e";
+      sha256 = "bc8240e066017f3715ca683d77829cc4ed2ab12ea384d79afa759e87fd86aaa2";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/tg/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/tg/firefox-126.0b5.tar.bz2";
       locale = "tg";
       arch = "linux-i686";
-      sha256 = "f25ab1b7a77bc2a778bfb03236b5783e291d3183aa6cc4a8ab3b18dadd1ac69d";
+      sha256 = "ab31902edd38fcffb6fa025ee37861ed6b57ca8d08800d6e4f3349bfb7a2a0e7";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/th/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/th/firefox-126.0b5.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "a43149d3caafeaae374cb92f4afbe4092ccd25f2a3257d4a071544c466533efd";
+      sha256 = "6bde3a57c5a1f50686d6264327ff3d1b0884f94067b459b4b397e564674e3470";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/tl/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/tl/firefox-126.0b5.tar.bz2";
       locale = "tl";
       arch = "linux-i686";
-      sha256 = "04cbf4173f5db095edbf3684e94fdd4b8dd944fc2ce15996747a8598c8e17203";
+      sha256 = "f89803ec0fc5c5c41c057fb123895a433198abb2c92c3b86ea60edd10d436816";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/tr/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/tr/firefox-126.0b5.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "566aaa2c06453123da73849f48fcbf9c278758e575f0e4ce3bf176e0d0be1251";
+      sha256 = "edd57c9e0a205bcc2696d9fd7dec8ebd06966fa532cfe38dd947045ff14c9c12";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/trs/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/trs/firefox-126.0b5.tar.bz2";
       locale = "trs";
       arch = "linux-i686";
-      sha256 = "b4921ff0a777e7c429a3948a0ca68e8a18ed97654e12d4f1c0cde6f4c83b8ae0";
+      sha256 = "0290566d5979ed70e64eb69601bb63404b9f5877f510e86be14dbe7e51d352d0";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/uk/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/uk/firefox-126.0b5.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "882ddc7f09c6fb20f26d8cfe67e8b67a81ab27a880b91538fcd50971fb8982db";
+      sha256 = "d3268a194f9b0bf66afdcb3a412d0eab6cdac32b4dcff6330a701fe92614a2b6";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/ur/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/ur/firefox-126.0b5.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha256 = "e0f4aca4913c2e9a501b5e0df399cfd472b32844d14a942ab4642d44d75d78e2";
+      sha256 = "4ea0d1695d25ddb08c73ecba4458a7ade7794c0868de1cffc902ea8ed165f5e8";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/uz/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/uz/firefox-126.0b5.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "41b95fc670ad2e9045a46bc842f0c87e3964a2b69a8868ce058414eeda20888a";
+      sha256 = "d0d1529593d8f7a5b234fa298ec83f04611814aab584da2b390e8e7937fd40e4";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/vi/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/vi/firefox-126.0b5.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "09d7e0b83079b68450a742af29bdf3f6b83abb0ee0b6a4e59d1a0ddb3ca33d88";
+      sha256 = "afde0e30cf0235c1d104188066b8671b9495441fc03b46d4ca895848b1028e4c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/xh/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/xh/firefox-126.0b5.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha256 = "68d1d333bb9edea2e16486383c331d8b8bd82361881d70e4bcc8c0fb429577f4";
+      sha256 = "636989a36a31c8a3a81e41bbc03ec7461f05e942eda17d6c65c8876614d5169f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/zh-CN/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/zh-CN/firefox-126.0b5.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "3c3fa07aa61787b6ae5e4efdf07705c583c3054e8e6e9b395b7fc2f3e8b76c5a";
+      sha256 = "ae0ee3d69d5c14e36f643c8a7aa50d45e2033d21e657c8c5693acc0a8059c2a1";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/zh-TW/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/zh-TW/firefox-126.0b5.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "bf4b9336c83fe1e9e86d657f807e20af12f13ed91e223c79a88c521db74bc118";
+      sha256 = "1bdb0ca6b4cc73080c6baa43e8b70668068f722abfeb437a3daee71fe58d6771";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox/common.nix b/pkgs/applications/networking/browsers/firefox/common.nix
index 5166fdf85153a..4483cd31bd653 100644
--- a/pkgs/applications/networking/browsers/firefox/common.nix
+++ b/pkgs/applications/networking/browsers/firefox/common.nix
@@ -298,9 +298,6 @@ buildStdenv.mkDerivation {
   setOutputFlags = false; # `./mach configure` doesn't understand `--*dir=` flags.
 
   preConfigure = ''
-    # remove distributed configuration files
-    rm -f configure js/src/configure .mozconfig*
-
     # Runs autoconf through ./mach configure in configurePhase
     configureScript="$(realpath ./mach) configure"
 
@@ -308,8 +305,8 @@ buildStdenv.mkDerivation {
     export MOZ_BUILD_DATE=$(head -n1 sourcestamp.txt)
 
     # Set predictable directories for build and state
-    export MOZ_OBJDIR=$(pwd)/mozobj
-    export MOZBUILD_STATE_PATH=$(pwd)/mozbuild
+    export MOZ_OBJDIR=$(pwd)/objdir
+    export MOZBUILD_STATE_PATH=$TMPDIR/mozbuild
 
     # Don't try to send libnotify notifications during build
     export MOZ_NOSPAM=1
@@ -353,7 +350,7 @@ buildStdenv.mkDerivation {
       # since the profiling build has not been installed to $out
       ''
         OLD_LDFLAGS="$LDFLAGS"
-        LDFLAGS="-Wl,-rpath,$(pwd)/mozobj/dist/${binaryName}"
+        LDFLAGS="-Wl,-rpath,$(pwd)/objdir/dist/${binaryName}"
       ''}
     fi
   '' + lib.optionalString googleAPISupport ''
@@ -510,7 +507,7 @@ buildStdenv.mkDerivation {
   '';
 
   preBuild = ''
-    cd mozobj
+    cd objdir
   '';
 
   postBuild = ''
@@ -535,9 +532,9 @@ buildStdenv.mkDerivation {
   preInstall = lib.optionalString crashreporterSupport ''
     ./mach buildsymbols
     mkdir -p $symbols/
-    cp mozobj/dist/*.crashreporter-symbols.zip $symbols/
+    cp objdir/dist/*.crashreporter-symbols.zip $symbols/
   '' + ''
-    cd mozobj
+    cd objdir
   '';
 
   postInstall = ''
diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix
index bf342444c99b3..76a5074a8c8bf 100644
--- a/pkgs/applications/networking/browsers/firefox/packages.nix
+++ b/pkgs/applications/networking/browsers/firefox/packages.nix
@@ -33,11 +33,11 @@
 
   firefox-beta = buildMozillaMach rec {
     pname = "firefox-beta";
-    version = "125.0b9";
+    version = "126.0b5";
     applicationName = "Mozilla Firefox Beta";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
-      sha512 = "66d1b27355c105714b926b5424badc01582e5ad7e979104d05fa50748ea961c7f1e081b88978fb94aee54ed281931b8d0f0bb0e16670cf89e7f10703711e7f4e";
+      sha512 = "5a079e4f01c95baf5b26a5d61521eea493fa4c3cdf91985fbbee313ddc50af1d941915abd6d0ffa97927d80f2016cbdcd3c80c11cfc3068cf83a62f3b45026ad";
     };
 
     meta = {
@@ -62,13 +62,13 @@
 
   firefox-devedition = buildMozillaMach rec {
     pname = "firefox-devedition";
-    version = "125.0b9";
+    version = "126.0b5";
     applicationName = "Mozilla Firefox Developer Edition";
     requireSigning = false;
     branding = "browser/branding/aurora";
     src = fetchurl {
       url = "mirror://mozilla/devedition/releases/${version}/source/firefox-${version}.source.tar.xz";
-      sha512 = "a000d1ad29a6a83af6bb424d9b5099667b93907041ebcf8f18b22a2045f4d0f0292db3b331c33b30d142ee6feb58386cedcae356c79d2c5e31fc7a571af2b63c";
+      sha512 = "cb36cdf70035ed96cb877d41e499d7df03fc6a939f4a5395fef110a44f7d810ad4e8fa393c784f3e7d286ffde0c4f3ad0fd38e81236a301a24d4e74eece702b1";
     };
 
     meta = {
diff --git a/pkgs/applications/networking/browsers/floorp/default.nix b/pkgs/applications/networking/browsers/floorp/default.nix
index 0bf2fd36c0fbe..aa67b61cf7e45 100644
--- a/pkgs/applications/networking/browsers/floorp/default.nix
+++ b/pkgs/applications/networking/browsers/floorp/default.nix
@@ -7,7 +7,7 @@
 
 ((buildMozillaMach rec {
   pname = "floorp";
-  packageVersion = "11.12.0";
+  packageVersion = "11.12.2";
   applicationName = "Floorp";
   binaryName = "floorp";
   branding = "browser/branding/official";
@@ -22,7 +22,7 @@
     repo = "Floorp";
     fetchSubmodules = true;
     rev = "v${packageVersion}";
-    hash = "sha256-9mJW8VFYClQ3D8/nPtlCVaVULvEICS+RQhz1dLujn6Q=";
+    hash = "sha256-KWUoR/0XOz4mCWBkTgDfvvrWukZMa3tQzQ+k5+BfzzY=";
   };
 
   extraConfigureFlags = [
diff --git a/pkgs/applications/networking/browsers/librewolf/src.json b/pkgs/applications/networking/browsers/librewolf/src.json
index 593f70afe4218..b012094e91136 100644
--- a/pkgs/applications/networking/browsers/librewolf/src.json
+++ b/pkgs/applications/networking/browsers/librewolf/src.json
@@ -1,15 +1,15 @@
 {
-  "packageVersion": "125.0.1-1",
+  "packageVersion": "125.0.2-1",
   "source": {
-    "rev": "125.0.1-1",
-    "sha256": "1h2x08gdpw3bldmfkws5qafp73r4w11a7ad3xc6flyg96b8a6h4f"
+    "rev": "125.0.2-1",
+    "sha256": "17i36s2ny1pv3cz44w0gz48fy4vjfw6vp9jk21j62f5d3dl726x8"
   },
   "settings": {
     "rev": "6b2b6a89fc15a705388955e4d1375f453d8cdc89",
     "sha256": "0yginhc8pn00k1gh8h7bzvrl4vi2wimbmrrgnmvvblv28bxhwnh0"
   },
   "firefox": {
-    "version": "125.0.1",
-    "sha512": "6f2f336de8b0ec9cb19ba20c909407b7b88c0319ee3b2f1f3429133516b0c45b4c7846f287985a0cdb9f34acc7d5378ed14fb48e26bef113c8ac360501a30c4d"
+    "version": "125.0.2",
+    "sha512": "f6d5fff7c5c532d2e41a246d0403bdd746981cfcb7c43f9d3d8ec85a7acc3310a52043d1e18848475cef1b63c24769e81b2b06d68ae007b68016ee51436032f1"
   }
 }
diff --git a/pkgs/applications/networking/browsers/microsoft-edge/default.nix b/pkgs/applications/networking/browsers/microsoft-edge/default.nix
index fbffb1a9e61ba..f07e5e9388565 100644
--- a/pkgs/applications/networking/browsers/microsoft-edge/default.nix
+++ b/pkgs/applications/networking/browsers/microsoft-edge/default.nix
@@ -1,20 +1,20 @@
 {
   beta = import ./browser.nix {
     channel = "beta";
-    version = "124.0.2478.51";
+    version = "124.0.2478.67";
     revision = "1";
-    hash = "sha256-qQTRPkQBLRZhOqBT8U0PGcmmR2zNRxJiFl3N2UPwoSo=";
+    hash = "sha256-EywgM3G0Yph3dofullSVZpXSvT2MHc4uPyGAoaXCgN8=";
   };
   dev = import ./browser.nix {
     channel = "dev";
-    version = "125.0.2518.0";
+    version = "125.0.2535.6";
     revision = "1";
-    hash = "sha256-q4TVpO0SxSSLMv/NtmJIOzClT2WqUss2qfE5vgj4O7E=";
+    hash = "sha256-iD/e7AuPG0uNZY20wFQRbvAaKmaUw2RKeRJADU1MFRI=";
   };
   stable = import ./browser.nix {
     channel = "stable";
-    version = "124.0.2478.51";
+    version = "124.0.2478.67";
     revision = "1";
-    hash = "sha256-dAiTS+KvKVwL6tNp4YsQfH4wdNIJoBJngcLBXgHArjE=";
+    hash = "sha256-PRL2aiebCoK0eGJWlvI+Gsk14FltV+GaQdojLuDFimU=";
   };
 }
diff --git a/pkgs/applications/networking/browsers/palemoon/bin.nix b/pkgs/applications/networking/browsers/palemoon/bin.nix
index 5143b1746ca38..9b3ea171b4f5e 100644
--- a/pkgs/applications/networking/browsers/palemoon/bin.nix
+++ b/pkgs/applications/networking/browsers/palemoon/bin.nix
@@ -20,7 +20,7 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "palemoon-bin";
-  version = "33.0.2";
+  version = "33.1.0";
 
   src = finalAttrs.passthru.sources."gtk${if withGTK3 then "3" else "2"}";
 
@@ -158,11 +158,11 @@ stdenv.mkDerivation (finalAttrs: {
     in {
       gtk3 = fetchzip {
         urls = urlRegionVariants "gtk3";
-        hash = "sha256-Kahnwlj9PIWB24lvH6h9cZK459NW2Vo2g6ckuv0Ax48=";
+        hash = "sha256-qjztSvNL7KNFG3sszgk5qH77do0HFQ8YTrgjFi2ZM00=";
       };
       gtk2 = fetchzip {
         urls = urlRegionVariants "gtk2";
-        hash = "sha256-XOiLGmU8O96clUpnp/OkzXmWR1PJ2AdzbVFj6adbcvY=";
+        hash = "sha256-q4zAmnCN9SHGb8PthjAx7d5FKq/oAQ8c0R+U1SWqjAA=";
       };
     };
 
@@ -206,7 +206,7 @@ stdenv.mkDerivation (finalAttrs: {
       experience, while offering full customization and a growing collection of
       extensions and themes to make the browser truly your own.
     '';
-    changelog = "https://repo.palemoon.org/MoonchildProductions/Pale-Moon/releases/tag/${version}_Release";
+    changelog = "https://repo.palemoon.org/MoonchildProductions/Pale-Moon/releases/tag/${finalAttrs.version}_Release";
     license = [
       licenses.mpl20
       {
diff --git a/pkgs/applications/networking/browsers/polypane/default.nix b/pkgs/applications/networking/browsers/polypane/default.nix
index d0a1e359f9567..ee28dcbabafc2 100644
--- a/pkgs/applications/networking/browsers/polypane/default.nix
+++ b/pkgs/applications/networking/browsers/polypane/default.nix
@@ -20,7 +20,6 @@ in appimageTools.wrapType2 {
   extraPkgs = pkgs: appimageTools.defaultFhsEnvArgs.multiPkgs pkgs ++ [ pkgs.bash ];
 
   extraInstallCommands = ''
-    ln -s $out/bin/${pname}-${version} $out/bin/${pname}
     install -m 444 -D ${appimageContents}/${pname}.desktop $out/share/applications/${pname}.desktop
     install -m 444 -D ${appimageContents}/${pname}.png \
       $out/share/icons/hicolor/512x512/apps/${pname}.png
diff --git a/pkgs/applications/networking/cloudflared/default.nix b/pkgs/applications/networking/cloudflared/default.nix
index 26760429dfd48..f61bb393bac7c 100644
--- a/pkgs/applications/networking/cloudflared/default.nix
+++ b/pkgs/applications/networking/cloudflared/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "cloudflared";
-  version = "2024.3.0";
+  version = "2024.4.0";
 
   src = fetchFromGitHub {
     owner = "cloudflare";
     repo = "cloudflared";
     rev = "refs/tags/${version}";
-    hash = "sha256-Fzi5g8bHBC5xao0iZ4I/SXLpEVaoUB+7UuQZhbfHw60=";
+    hash = "sha256-1/3uj0h9n53j8PnZSHWEyMARsWYxFIqSkGlxS2JXqsM=";
   };
 
   vendorHash = null;
diff --git a/pkgs/applications/networking/cluster/acorn/default.nix b/pkgs/applications/networking/cluster/acorn/default.nix
deleted file mode 100644
index f26ebfc4c02f4..0000000000000
--- a/pkgs/applications/networking/cluster/acorn/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ lib, buildGoModule, fetchFromGitHub }:
-
-buildGoModule rec {
-  pname = "acorn";
-  version = "0.10.1";
-
-  src = fetchFromGitHub {
-    owner = "acorn-io";
-    repo = pname;
-    rev = "v${version}";
-    hash = "sha256-Zw/OqN4d5iukh9oUXjczMvNKYkcGSUoDEwfti7uzZXQ=";
-  };
-
-  vendorHash = "sha256-d/1Rqh00THUwcMBWloevfKbScaWhVG5r/32Q4zYUaJg=";
-
-  ldflags = [
-    "-s"
-    "-w"
-    "-X github.com/acorn-io/acorn/pkg/version.Tag=v${version}"
-  ];
-
-  # integration tests require network and kubernetes master
-  doCheck = false;
-
-  meta = with lib; {
-    homepage = "https://docs.acorn.io";
-    changelog = "https://github.com/acorn-io/${pname}/releases/tag/v${version}";
-    description = "A simple application deployment framework for Kubernetes";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ urandom ];
-  };
-}
diff --git a/pkgs/applications/networking/cluster/argo/default.nix b/pkgs/applications/networking/cluster/argo/default.nix
index 8a6e3ac65f748..52012a3617090 100644
--- a/pkgs/applications/networking/cluster/argo/default.nix
+++ b/pkgs/applications/networking/cluster/argo/default.nix
@@ -34,16 +34,16 @@ let
 in
 buildGoModule rec {
   pname = "argo";
-  version = "3.5.5";
+  version = "3.5.6";
 
   src = fetchFromGitHub {
     owner = "argoproj";
     repo = "argo";
     rev = "refs/tags/v${version}";
-    hash = "sha256-SONi7GmFgBEA+5l8ftjFP3+hk55eZmhkLLuu5FfyVFo=";
+    hash = "sha256-CcPY9eEpvDTIxilxHI+VBVVRxZy/82fi6uayBrGR/Dc=";
   };
 
-  vendorHash = "sha256-XjwtgJdBk9YIro1WlunYmKkuZSrSJTN/BLXn7i3+9xY=";
+  vendorHash = "sha256-ttpDGeANQyrTfRyNGFkmJFpE+nnjz8PZN+0HScBJ1yg=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/networking/cluster/argocd/default.nix b/pkgs/applications/networking/cluster/argocd/default.nix
index 7f3265cbd8bf4..761e7f0d1d7b1 100644
--- a/pkgs/applications/networking/cluster/argocd/default.nix
+++ b/pkgs/applications/networking/cluster/argocd/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "argocd";
-  version = "2.10.7";
+  version = "2.10.8";
 
   src = fetchFromGitHub {
     owner = "argoproj";
     repo = "argo-cd";
     rev = "v${version}";
-    hash = "sha256-0C8lVQrFxrk9ym4aCz0PhUS2iByx9rj5Id0xFIq4Efc=";
+    hash = "sha256-VzEgZshzIHXI0J172W1zI1E8dU8iYJq0lO01LpI8Y+U=";
   };
 
   proxyVendor = true; # darwin/linux hash mismatch
diff --git a/pkgs/applications/networking/cluster/arkade/default.nix b/pkgs/applications/networking/cluster/arkade/default.nix
index 39c14e95c60d4..2ad7f717252b5 100644
--- a/pkgs/applications/networking/cluster/arkade/default.nix
+++ b/pkgs/applications/networking/cluster/arkade/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "arkade";
-  version = "0.11.9";
+  version = "0.11.10";
 
   src = fetchFromGitHub {
     owner = "alexellis";
     repo = "arkade";
     rev = version;
-    hash = "sha256-TJja4FL440ZG5VsCfJsKUYeM2YPlMSl2+ejjlgyP5IY=";
+    hash = "sha256-Uw+/pVhbGYjFTcrh90Gstu5KddlkXKuzL2lbQ7CFLGs=";
   };
 
   CGO_ENABLED = 0;
diff --git a/pkgs/applications/networking/cluster/atmos/default.nix b/pkgs/applications/networking/cluster/atmos/default.nix
index 0c371bfac2cd1..9e4d04befbc85 100644
--- a/pkgs/applications/networking/cluster/atmos/default.nix
+++ b/pkgs/applications/networking/cluster/atmos/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "atmos";
-  version = "1.69.0";
+  version = "1.70.0";
 
   src = fetchFromGitHub {
     owner = "cloudposse";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-H2RyxUeOgIiGpR50sDP6bjZ6BKRB47oLUpdtawSRnmo=";
+    sha256 = "sha256-NmgInrjCcMoSjSCotGU38URP7FNMaFs3N2g49Y/fXSw=";
   };
 
   vendorHash = "sha256-dJJPq2HcGZ+MqtJ848gsrvzD1rMVrwJQKwq+UpZsFB0=";
diff --git a/pkgs/applications/networking/cluster/cilium/default.nix b/pkgs/applications/networking/cluster/cilium/default.nix
index 5502c5c582f16..34a83ed1c8b3d 100644
--- a/pkgs/applications/networking/cluster/cilium/default.nix
+++ b/pkgs/applications/networking/cluster/cilium/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "cilium-cli";
-  version = "0.16.4";
+  version = "0.16.5";
 
   src = fetchFromGitHub {
     owner = "cilium";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-fhTjYhRCtJu18AGYF6hiTdRMEdlNO+DmDwh2hZBXzPk=";
+    hash = "sha256-XsdvjdhrTin5RWwDjBBpdBM/+1S/p+MMd/2gigOiz2E=";
   };
 
   vendorHash = null;
diff --git a/pkgs/applications/networking/cluster/clusterctl/default.nix b/pkgs/applications/networking/cluster/clusterctl/default.nix
index 34add12a81352..2bfa0662dba8c 100644
--- a/pkgs/applications/networking/cluster/clusterctl/default.nix
+++ b/pkgs/applications/networking/cluster/clusterctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "clusterctl";
-  version = "1.6.3";
+  version = "1.7.1";
 
   src = fetchFromGitHub {
     owner = "kubernetes-sigs";
     repo = "cluster-api";
     rev = "v${version}";
-    hash = "sha256-gyZxEzktbYtQSm1gm4wWJriMo/MjDdgaAxjA7J3jeQ0=";
+    hash = "sha256-e+Ut6xoNUY9cJjjJ43P0siEa+G1igllcb8veirk1UX0=";
   };
 
-  vendorHash = "sha256-bMM4d1ji03bICsd6uBqu+0n4rB/SiKjtevQzV0DYHiE=";
+  vendorHash = "sha256-ALRnccGjPGuAITtuz79Cao95NhvSczAzspSMXytlw+A=";
 
   subPackages = [ "cmd/clusterctl" ];
 
@@ -29,6 +29,7 @@ buildGoModule rec {
 
     installShellCompletion --cmd clusterctl \
       --bash <($out/bin/clusterctl completion bash) \
+      --fish <($out/bin/clusterctl completion fish) \
       --zsh <($out/bin/clusterctl completion zsh)
   '';
 
@@ -38,12 +39,12 @@ buildGoModule rec {
     version = "v${version}";
   };
 
-  meta = with lib; {
+  meta = {
     changelog = "https://github.com/kubernetes-sigs/cluster-api/releases/tag/${src.rev}";
     description = "Kubernetes cluster API tool";
     mainProgram = "clusterctl";
     homepage = "https://cluster-api.sigs.k8s.io/";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ qjoly ];
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ qjoly ];
   };
 }
diff --git a/pkgs/applications/networking/cluster/cmctl/default.nix b/pkgs/applications/networking/cluster/cmctl/default.nix
index feb1b03d26fe8..14c92f1b773e7 100644
--- a/pkgs/applications/networking/cluster/cmctl/default.nix
+++ b/pkgs/applications/networking/cluster/cmctl/default.nix
@@ -8,18 +8,18 @@
 
 buildGoModule rec {
   pname = "cmctl";
-  version = "1.14.4";
+  version = "1.14.5";
 
   src = fetchFromGitHub {
     owner = "cert-manager";
     repo = "cert-manager";
     rev = "v${version}";
-    hash = "sha256-iUXN+8ueCxGsFnwhC2WjrQQSXV7TGUR80xaKqjxcC6o=";
+    hash = "sha256-WitYq3/veaARZQHoseJnT5h0AGmXVlLzRe8KCOJuY0w=";
   };
 
   sourceRoot = "${src.name}/cmd/ctl";
 
-  vendorHash = "sha256-ViKsqqM6l/tQSGgj8Yt2L57x+eE1Pd3xCVPuWpIjWOQ=";
+  vendorHash = "sha256-27XvT33S/vgGo5MQDpHzTN+K1nNPR6OOFggzLhatygI=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/applications/networking/cluster/fn-cli/default.nix b/pkgs/applications/networking/cluster/fn-cli/default.nix
index c6b1c0edb2a44..94cdd457aff88 100644
--- a/pkgs/applications/networking/cluster/fn-cli/default.nix
+++ b/pkgs/applications/networking/cluster/fn-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "fn";
-  version = "0.6.31";
+  version = "0.6.32";
 
   src = fetchFromGitHub {
     owner = "fnproject";
     repo = "cli";
     rev = version;
-    hash = "sha256-tL5mygomRdxHdWUAp6umMOhyKq/ZFcjn+5wZcqD2mVA=";
+    hash = "sha256-mXHDxmjQdfO6uZ1ROcxwtDaPvbv2kFV+qLbejn3Kycs=";
   };
 
   vendorHash = null;
diff --git a/pkgs/applications/networking/cluster/helm/chart-testing/default.nix b/pkgs/applications/networking/cluster/helm/chart-testing/default.nix
index 97d5ef2d02e95..3da904ac5fbc9 100644
--- a/pkgs/applications/networking/cluster/helm/chart-testing/default.nix
+++ b/pkgs/applications/networking/cluster/helm/chart-testing/default.nix
@@ -13,16 +13,16 @@
 
 buildGoModule rec {
   pname = "chart-testing";
-  version = "3.10.1";
+  version = "3.11.0";
 
   src = fetchFromGitHub {
     owner = "helm";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-btrnfL9U8k7jwo6ltVfbiSJFCX52zjfgf4E+IsWTYi4=";
+    hash = "sha256-eiU8omDEGDJVmumHwZkNix7qMVkoR6Irg0x9dTBzadA=";
   };
 
-  vendorHash = "sha256-E+7ndvXWzsU896/eWyupbvqkLed2ly91osptZKT79fk=";
+  vendorHash = "sha256-o9oZnQPztrK6HvclPt33Y05GQFWDsnUYti5x8R7aWS8=";
 
   postPatch = ''
     substituteInPlace pkg/config/config.go \
diff --git a/pkgs/applications/networking/cluster/helm/plugins/helm-git.nix b/pkgs/applications/networking/cluster/helm/plugins/helm-git.nix
index 196be4a1524a2..032ccfe8f96a5 100644
--- a/pkgs/applications/networking/cluster/helm/plugins/helm-git.nix
+++ b/pkgs/applications/networking/cluster/helm/plugins/helm-git.nix
@@ -3,7 +3,7 @@
 , fetchFromGitHub
 , coreutils
 , findutils
-, git
+, gitMinimal
 , gnugrep
 , gnused
 , makeWrapper
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "helm-git";
-  version = "0.15.1";
+  version = "0.16.0";
 
   src = fetchFromGitHub {
     owner = "aslafy-z";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-k8kPuB5GIBjOISL4AM/I4PPrYbrdgYIwVgosMpunZpQ=";
+    sha256 = "sha256-/kUKi2BI6LMMUiy6AaYhpPIXU428Or352xYoDYdym8A=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
 
     patchShebangs $out/helm-git/helm-git{,-plugin.sh}
     wrapProgram $out/helm-git/helm-git \
-        --prefix PATH : ${lib.makeBinPath [ coreutils findutils git gnugrep gnused ]}
+        --prefix PATH : ${lib.makeBinPath [ coreutils findutils gitMinimal gnugrep gnused ]}
 
     runHook postInstall
   '';
diff --git a/pkgs/applications/networking/cluster/helm/plugins/helm-unittest.nix b/pkgs/applications/networking/cluster/helm/plugins/helm-unittest.nix
index 78ff59860bb82..f768404e08fa2 100644
--- a/pkgs/applications/networking/cluster/helm/plugins/helm-unittest.nix
+++ b/pkgs/applications/networking/cluster/helm/plugins/helm-unittest.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "helm-unittest";
-  version = "0.4.4";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-C1aHnKNXgzlPT1qMngRcPZ6hYUOenU1xpeYLnhrvtnc=";
+    hash = "sha256-DGmvF4U+yqXWm/L96ph+/OrLZ7q+JG4PQQFxC7pH710=";
   };
 
-  vendorHash = "sha256-nm1LFy2yqfQs+HmrAR1EsBjpm9w0u4einLbVFW1UitI=";
+  vendorHash = "sha256-BRFKrrJ9PhwMrfr3ON4/sm+BQ1ufeyP5PtfJQRksrj0=";
 
   # NOTE: Remove the install and upgrade hooks.
   postPatch = ''
diff --git a/pkgs/applications/networking/cluster/k3s/update-script.sh b/pkgs/applications/networking/cluster/k3s/update-script.sh
index 19b0a6d9309e0..9f534f4d179a7 100755
--- a/pkgs/applications/networking/cluster/k3s/update-script.sh
+++ b/pkgs/applications/networking/cluster/k3s/update-script.sh
@@ -19,7 +19,9 @@ LATEST_TAG_RAWFILE=${WORKDIR}/latest_tag.json
 curl --silent -f ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} \
     https://api.github.com/repos/k3s-io/k3s/releases > ${LATEST_TAG_RAWFILE}
 
-LATEST_TAG_NAME=$(jq 'map(.tag_name)' ${LATEST_TAG_RAWFILE} | \
+LATEST_TAG_NAME=$(cat ${LATEST_TAG_RAWFILE} | \
+    jq -r 'map(select(.prerelease == false))' | \
+    jq 'map(.tag_name)' | \
     grep -v -e rc -e engine | tail -n +2 | head -n -1 | sed 's|[", ]||g' | sort -rV | grep -E "^v1\.${MINOR_VERSION}\." | head -n1)
 
 K3S_VERSION=$(echo ${LATEST_TAG_NAME} | sed 's/^v//')
diff --git a/pkgs/applications/networking/cluster/krane/Gemfile.lock b/pkgs/applications/networking/cluster/krane/Gemfile.lock
index a4266094c4e92..f458355768a0c 100644
--- a/pkgs/applications/networking/cluster/krane/Gemfile.lock
+++ b/pkgs/applications/networking/cluster/krane/Gemfile.lock
@@ -54,7 +54,7 @@ GEM
       multi_json
     jwt (2.8.1)
       base64
-    krane (3.5.1)
+    krane (3.5.2)
       activesupport (>= 5.0)
       colorize (~> 0.8)
       concurrent-ruby (~> 1.1)
@@ -84,7 +84,7 @@ GEM
     netrc (0.11.0)
     os (1.1.4)
     public_suffix (5.0.5)
-    rake (13.2.0)
+    rake (13.2.1)
     recursive-open-struct (1.1.3)
     rest-client (2.1.0)
       http-accept (>= 1.7.0, < 2.0)
@@ -109,4 +109,4 @@ DEPENDENCIES
   krane
 
 BUNDLED WITH
-   2.5.6
+   2.5.7
diff --git a/pkgs/applications/networking/cluster/krane/gemset.nix b/pkgs/applications/networking/cluster/krane/gemset.nix
index 501c449dd5eff..3fc00e049ce4b 100644
--- a/pkgs/applications/networking/cluster/krane/gemset.nix
+++ b/pkgs/applications/networking/cluster/krane/gemset.nix
@@ -247,10 +247,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1wnx86ars7csb2sxn69rb654p5xpz6xlygkx4mbyw1abgzyr2ap0";
+      sha256 = "1s2xc5igk3yg3jpl3abakvrsf4xl6hljhgyddjsrp2g05sksa9x6";
       type = "gem";
     };
-    version = "3.5.1";
+    version = "3.5.2";
   };
   kubeclient = {
     dependencies = ["http" "jsonpath" "recursive-open-struct" "rest-client"];
@@ -371,10 +371,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0lwv4rniry7k9dvz1n462d7j0dq9mrl6a95y6cvs6139h0ksxhgn";
+      sha256 = "17850wcwkgi30p7yqh60960ypn7yibacjjha0av78zaxwvd3ijs6";
       type = "gem";
     };
-    version = "13.2.0";
+    version = "13.2.1";
   };
   recursive-open-struct = {
     groups = ["default"];
diff --git a/pkgs/applications/networking/cluster/kubectl-cnpg/default.nix b/pkgs/applications/networking/cluster/kubectl-cnpg/default.nix
index db05ee6b363ab..7aa35405f01c8 100644
--- a/pkgs/applications/networking/cluster/kubectl-cnpg/default.nix
+++ b/pkgs/applications/networking/cluster/kubectl-cnpg/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "kubectl-cnpg";
-  version = "1.22.2";
+  version = "1.23.0";
 
   src = fetchFromGitHub {
     owner = "cloudnative-pg";
     repo = "cloudnative-pg";
     rev = "v${version}";
-    hash = "sha256-xR61PYUqiVtPTghEEeSWXs/Apx7VVWDgi6Pgx/EBQzQ=";
+    hash = "sha256-pNyXi3IjEMwAUdNzDw8WttQzmtHja2YfTHntowLrQOo=";
   };
 
-  vendorHash = "sha256-u5ou9rY/JBrV0EF/nJX8u/Fqde/WZe21EcsNLwvtqB0=";
+  vendorHash = "sha256-3yh6b0dB2JC0t2EwykWiLk6glyKUhTpqmqvfFZ4RekE=";
 
   subPackages = [ "cmd/kubectl-cnpg" ];
 
diff --git a/pkgs/applications/networking/cluster/kubectl-explore/default.nix b/pkgs/applications/networking/cluster/kubectl-explore/default.nix
index 0ff402b39f089..84d1dfdd6dcd3 100644
--- a/pkgs/applications/networking/cluster/kubectl-explore/default.nix
+++ b/pkgs/applications/networking/cluster/kubectl-explore/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kubectl-explore";
-  version = "0.7.2";
+  version = "0.8.1";
 
   src = fetchFromGitHub {
     owner = "keisku";
     repo = "kubectl-explore";
     rev = "v${version}";
-    hash = "sha256-OVPct3EvtchH9pmMulIddsiR9VFoCegx9+O7lkecoJc=";
+    hash = "sha256-3Gb8lgfes3QIIAdJnC/NlCC3mfzIInQb1rG+mJNXAUk=";
   };
 
-  vendorHash = "sha256-l6SANWkDQSuLbyixbO/Xr2oRG8HR/qquTT9b/IM+JVg=";
+  vendorHash = "sha256-xNB+qC36DcD7oUWk242QcIKNfTmjuK5xbyJEztdhcJM=";
   doCheck = false;
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/cluster/kubedb-cli/default.nix b/pkgs/applications/networking/cluster/kubedb-cli/default.nix
index ce2e92356db4c..14c1a25b13e66 100644
--- a/pkgs/applications/networking/cluster/kubedb-cli/default.nix
+++ b/pkgs/applications/networking/cluster/kubedb-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "kubedb-cli";
-  version = "0.44.0";
+  version = "0.45.0";
 
   src = fetchFromGitHub {
     owner = "kubedb";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-ppsGSzgJvAHRGs6PGPNgE7nDbK8SPYBPNbAlGwocAZs=";
+    sha256 = "sha256-4kmXz8dTxCaGbuAo3zK27BhUrecInwJCu9XOuiQY48A=";
   };
 
   vendorHash = null;
diff --git a/pkgs/applications/networking/cluster/kubefirst/default.nix b/pkgs/applications/networking/cluster/kubefirst/default.nix
index e4d704d6ff27d..2e654d15d0b0c 100644
--- a/pkgs/applications/networking/cluster/kubefirst/default.nix
+++ b/pkgs/applications/networking/cluster/kubefirst/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "kubefirst";
-  version = "2.4.5";
+  version = "2.4.6";
 
   src = fetchFromGitHub {
     owner = "kubefirst";
     repo = "kubefirst";
     rev = "refs/tags/v${version}";
-    hash = "sha256-CkssgMr/4VGNQHyvaPnXBOf6HdExnhB7MjpJ3yQ9kfI=";
+    hash = "sha256-PjqTtu9n9AqHaYnc/2yVQeIWLiQrQcFNdumDSigY7dY=";
   };
 
   vendorHash = "sha256-ZcZl4knlyKAwTsiyZvlkN5e2ox30B5aNzutI/2UEE9U=";
diff --git a/pkgs/applications/networking/cluster/kubelogin/default.nix b/pkgs/applications/networking/cluster/kubelogin/default.nix
index b52a4887824cb..43fd319201106 100644
--- a/pkgs/applications/networking/cluster/kubelogin/default.nix
+++ b/pkgs/applications/networking/cluster/kubelogin/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kubelogin";
-  version = "0.1.2";
+  version = "0.1.3";
 
   src = fetchFromGitHub {
     owner = "Azure";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-mQSQrcLzEZqNpXNuZFCVk3FRcfkrtvN19VhwqyrmwIU=";
+    sha256 = "sha256-5Y+xu84iNVFkrBc1qoTg8vMswvlflF9SobMy/Aw4mCA=";
   };
 
-  vendorHash = "sha256-Xh4htBknBW59xdJVYw7A7BT2GB5WW8SnV05is7dWAS8=";
+  vendorHash = "sha256-sVySHSj8vJEarQlhAR3vLdgysJNbmA2IAZ3ET2zRyAM=";
 
   ldflags = [
     "-X main.version=${version}"
diff --git a/pkgs/applications/networking/cluster/kubeshark/default.nix b/pkgs/applications/networking/cluster/kubeshark/default.nix
index 66ecc4274fdd8..32714e7d0ba40 100644
--- a/pkgs/applications/networking/cluster/kubeshark/default.nix
+++ b/pkgs/applications/networking/cluster/kubeshark/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "kubeshark";
-  version = "52.2.1";
+  version = "52.2.39";
 
   src = fetchFromGitHub {
     owner = "kubeshark";
     repo = "kubeshark";
     rev = "v${version}";
-    hash = "sha256-MmKkM4nc9FkZkQIURPz63ryl0yhvxBwOvxkjrsaa67U=";
+    hash = "sha256-ji/WOCqZOIaUc+mS2zaMNjWxSgv68DGjtWxgtJCH2C4=";
   };
 
   vendorHash = "sha256-SmvO9DYOXxnmN2dmHPPOguVwEbWSH/xNLBB+idpzopo=";
diff --git a/pkgs/applications/networking/cluster/kubevela/default.nix b/pkgs/applications/networking/cluster/kubevela/default.nix
index 18a8f0b1fd1d7..4e6f0a53f288f 100644
--- a/pkgs/applications/networking/cluster/kubevela/default.nix
+++ b/pkgs/applications/networking/cluster/kubevela/default.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "kubevela";
-  version = "1.9.10";
+  version = "1.9.11";
 
   src = fetchFromGitHub {
     owner = "kubevela";
     repo = "kubevela";
     rev = "v${version}";
-    hash = "sha256-DWmkPzMg6AbyOKoO2vev48f/cKO9XQpyR85Jg0T20aI=";
+    hash = "sha256-u9UGV1UwZoj4eSqqMLf8BvsfTFIYagoslN5pflDKm8c=";
   };
 
-  vendorHash = "sha256-vRSlSEnqD/a6KBvCWnNTzIBKE9BYzMtFWUhAF+m3R54=";
+  vendorHash = "sha256-NnUZnlvVb2VmNx4HM8lkbTNcQA3/pctkg1UVpOY8Acs=";
 
   ldflags = [
     "-s" "-w"
diff --git a/pkgs/applications/networking/cluster/kuma/default.nix b/pkgs/applications/networking/cluster/kuma/default.nix
index 2ae43e1efd360..9a1acd4809fb7 100644
--- a/pkgs/applications/networking/cluster/kuma/default.nix
+++ b/pkgs/applications/networking/cluster/kuma/default.nix
@@ -15,17 +15,17 @@
 
 buildGoModule rec {
   inherit pname;
-  version = "2.6.5";
+  version = "2.7.1";
   tags = lib.optionals enableGateway [ "gateway" ];
 
   src = fetchFromGitHub {
     owner = "kumahq";
     repo = "kuma";
     rev = version;
-    hash = "sha256-gZxlbapEYrp02YSvEYBtlbRT/F0ijoF76CfZFzBbsAI=";
+    hash = "sha256-jTKGJe498eEI0re6gEAKW81IjAJ4VmqjetoKp8A7Cz0=";
   };
 
-  vendorHash = "sha256-kqC6CUezPt3Uj9zuHnQYbbEP564Ki4UYmqfZedUBO38=";
+  vendorHash = "sha256-ne62twZXac5GfQ8JcWElIMqc+Vpvn0Y9XSNgAtF62q0=";
 
   # no test files
   doCheck = false;
diff --git a/pkgs/applications/networking/cluster/kuttl/default.nix b/pkgs/applications/networking/cluster/kuttl/default.nix
index cae6540e39fe4..0171ed2c0be15 100644
--- a/pkgs/applications/networking/cluster/kuttl/default.nix
+++ b/pkgs/applications/networking/cluster/kuttl/default.nix
@@ -2,17 +2,17 @@
 
 buildGoModule rec {
   pname = "kuttl";
-  version = "0.15.0";
+  version = "0.16.0";
   cli = "kubectl-kuttl";
 
   src = fetchFromGitHub {
     owner = "kudobuilder";
     repo = "kuttl";
     rev = "v${version}";
-    sha256 = "sha256-u+j1ulM6B238qXvLMJZwLqglr9CGk81MsnBYiNiZVJQ=";
+    sha256 = "sha256-Kz8+RsLpKwXk4f3k/kBqSFGB9AvA/D6kYBtPEl6aSH8=";
   };
 
-  vendorHash = "sha256-taJAQPa0EA0Ph9OpCs7jzLqBV61kVstZrWyNEYc/GBk=";
+  vendorHash = "sha256-IgfPXT4BhfZZVOa7eO1wKUKiDVMcN8vmH11qdWfvFww=";
 
   subPackages = [ "cmd/kubectl-kuttl" ];
 
diff --git a/pkgs/applications/networking/cluster/kyverno/default.nix b/pkgs/applications/networking/cluster/kyverno/default.nix
index 208867bec2c07..4d9894d47c122 100644
--- a/pkgs/applications/networking/cluster/kyverno/default.nix
+++ b/pkgs/applications/networking/cluster/kyverno/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "kyverno";
-  version = "1.11.4";
+  version = "1.12.0";
 
   src = fetchFromGitHub {
     owner = "kyverno";
     repo = "kyverno";
     rev = "v${version}";
-    sha256 = "sha256-6Qrd7/h9G8KvzUxPNXUV/RnWImFrxm1FILeik8bWLnA=";
+    hash = "sha256-hFRqhw1iV9S13NQ7Y9SPeHHWZ/ls9fiiqlP3vuPeRlY=";
   };
 
   ldflags = [
@@ -18,7 +18,7 @@ buildGoModule rec {
     "-X github.com/kyverno/kyverno/pkg/version.BuildTime=1970-01-01_00:00:00"
   ];
 
-  vendorHash = "sha256-Vw8f2+b5UNc7DqCmu2cN2De1mrONe0M6F68H9SPrD3w=";
+  vendorHash = "sha256-5tBHmHfBHTsAVDk3i0z2R2amTfOvWHJutTNW2ofGZuQ=";
 
   subPackages = [ "cmd/cli/kubectl-kyverno" ];
 
diff --git a/pkgs/applications/networking/cluster/minikube/default.nix b/pkgs/applications/networking/cluster/minikube/default.nix
index 69e73e6d47a32..17ceb2e49288e 100644
--- a/pkgs/applications/networking/cluster/minikube/default.nix
+++ b/pkgs/applications/networking/cluster/minikube/default.nix
@@ -15,9 +15,9 @@
 
 buildGoModule rec {
   pname = "minikube";
-  version = "1.32.0";
+  version = "1.33.0";
 
-  vendorHash = "sha256-MzB+my1NwvZx9qfojuOlTHmuY6CyLFlrgr4UEuC5FBk=";
+  vendorHash = "sha256-eFIo9C9AEZksQolMlWKPJR2WWpU7Yu4eJb1OBwdqGhI=";
 
   doCheck = false;
 
@@ -25,7 +25,7 @@ buildGoModule rec {
     owner = "kubernetes";
     repo = "minikube";
     rev = "v${version}";
-    sha256 = "sha256-2EWaMpcr4F1wRzIP1rPg1a/Sjd1x+oo2ee90k4Ie8cU=";
+    sha256 = "sha256-4OSChPgUD1oYnChAi7r2jgZpplR9ZaHpHPiTS6jSpME=";
   };
   postPatch =
     (
diff --git a/pkgs/applications/networking/cluster/nomad-pack/default.nix b/pkgs/applications/networking/cluster/nomad-pack/default.nix
index 92c98c44fde60..a7a0ddf71391d 100644
--- a/pkgs/applications/networking/cluster/nomad-pack/default.nix
+++ b/pkgs/applications/networking/cluster/nomad-pack/default.nix
@@ -5,17 +5,16 @@
 
 buildGoModule rec {
   pname = "nomad-pack";
-  version = "0.0.1-techpreview.3";
-  rev   = "3b4163b3b826c8408ae824238daaa45307d03380";
+  version = "0.1.1";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = pname;
-    inherit rev;
-    sha256 = "sha256-Br+BJRAo9qSJQjg2awQTnsYz76WReVWsTUw6XoUb1YY=";
+    rev = "v${version}";
+    sha256 = "sha256-b7M2I+R39txtTdk/FOYvKfZxXbGEtDrzgpB64594Gqc=";
   };
 
-  vendorHash = "sha256-dUPDwKdkBXBfyfbFxrpgHwZ0Q5jB7aamClNmv+tLCGA=";
+  vendorHash = "sha256-bhWySn5p1aPbYSCY7GqFteYmm22Jeq/Rf/a2ZTjyZQ4=";
 
   # skip running go tests as they require network access
   doCheck = false;
diff --git a/pkgs/applications/networking/cluster/nomad/default.nix b/pkgs/applications/networking/cluster/nomad/default.nix
index 89891fd04046a..679ec253bdf07 100644
--- a/pkgs/applications/networking/cluster/nomad/default.nix
+++ b/pkgs/applications/networking/cluster/nomad/default.nix
@@ -41,7 +41,7 @@ let
         description = "A Distributed, Highly Available, Datacenter-Aware Scheduler";
         mainProgram = "nomad";
         inherit license;
-        maintainers = with maintainers; [ rushmorem pradeepchhetri endocrimes amaxine techknowlogick cottand ];
+        maintainers = with maintainers; [ rushmorem pradeepchhetri techknowlogick cottand ];
       };
     } // attrs');
 in
diff --git a/pkgs/applications/networking/cluster/openlens/default.nix b/pkgs/applications/networking/cluster/openlens/default.nix
index cc6bc6dc0a193..ef6dfea2d6675 100644
--- a/pkgs/applications/networking/cluster/openlens/default.nix
+++ b/pkgs/applications/networking/cluster/openlens/default.nix
@@ -19,8 +19,6 @@ appimageTools.wrapType2 {
   unshareIpc = false;
 
   extraInstallCommands = ''
-    mv $out/bin/${pname}-${version} $out/bin/${pname}
-
     install -m 444 -D ${appimageContents}/open-lens.desktop $out/share/applications/${pname}.desktop
     install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/512x512/apps/open-lens.png \
        $out/share/icons/hicolor/512x512/apps/${pname}.png
diff --git a/pkgs/applications/networking/cluster/talosctl/default.nix b/pkgs/applications/networking/cluster/talosctl/default.nix
index 3651d4652fc70..5a46b80749b08 100644
--- a/pkgs/applications/networking/cluster/talosctl/default.nix
+++ b/pkgs/applications/networking/cluster/talosctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "talosctl";
-  version = "1.6.5";
+  version = "1.7.0";
 
   src = fetchFromGitHub {
     owner = "siderolabs";
     repo = "talos";
     rev = "v${version}";
-    hash = "sha256-TEQnbQux+rN2WdlIbxh836Lx/ipqTDkoUsjQP8Ubl6s=";
+    hash = "sha256-E5pu37R2y0hQezM/p6LJXZv2L6QnV89Ir2HoKaqcOqI=";
   };
 
-  vendorHash = "sha256-xdcHd/LvIm4rawwXtsGMF8Es9pMGMaJJaZ6UQwc24ZU=";
+  vendorHash = "sha256-5vWAZsLQxPZGpTiT/OowCLNPdE5e+HrAGXpFRw6jgbU=";
 
   ldflags = [ "-s" "-w" ];
 
diff --git a/pkgs/applications/networking/cluster/temporal/default.nix b/pkgs/applications/networking/cluster/temporal/default.nix
index f9cfb3b3cba14..b077379bee79e 100644
--- a/pkgs/applications/networking/cluster/temporal/default.nix
+++ b/pkgs/applications/networking/cluster/temporal/default.nix
@@ -45,7 +45,7 @@ buildGoModule rec {
     homepage = "https://temporal.io";
     changelog = "https://github.com/temporalio/temporal/releases/tag/v${version}";
     license = licenses.mit;
-    maintainers = with maintainers; [ titanous ];
+    maintainers = with maintainers; [ ];
     mainProgram = "temporal-server";
   };
 }
diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix
index f9e1dff0a8f7b..efaef0fa65b15 100644
--- a/pkgs/applications/networking/cluster/terraform/default.nix
+++ b/pkgs/applications/networking/cluster/terraform/default.nix
@@ -58,7 +58,6 @@ let
           Chili-Man
           babariviere
           kalbasit
-          amaxine
           timstott
           zimbatm
           zowoq
@@ -167,9 +166,9 @@ rec {
   mkTerraform = attrs: pluggable (generic attrs);
 
   terraform_1 = mkTerraform {
-    version = "1.8.1";
-    hash = "sha256-q/r1KK0svdK/5Za4bqU6bGgTcWmG+YZFJUFRKqPAWSw=";
-    vendorHash = "sha256-xpgGceAA+kvwUp4T0m9rnbPoZ3uJHU2KIRsrcGr8dRo=";
+    version = "1.8.2";
+    hash = "sha256-c9RzdmaTXMOi4oP++asoysDpt/BSvBK/GmEDDGViSl0=";
+    vendorHash = "sha256-2+ctm1lJjCHITWV7BqoqgBlXKjNT4lueAt4F3UtoL9Q=";
     patches = [ ./provider-path-0_15.patch ];
     passthru = {
       inherit plugins;
diff --git a/pkgs/applications/networking/cluster/timoni/default.nix b/pkgs/applications/networking/cluster/timoni/default.nix
index a756212d3d67a..40511cc74ebc3 100644
--- a/pkgs/applications/networking/cluster/timoni/default.nix
+++ b/pkgs/applications/networking/cluster/timoni/default.nix
@@ -6,16 +6,16 @@
 
 buildGo122Module rec {
   pname = "timoni";
-  version = "0.20.0";
+  version = "0.21.0";
 
   src = fetchFromGitHub {
     owner = "stefanprodan";
     repo = "timoni";
     rev = "v${version}";
-    hash = "sha256-zQawfzwQNQvtta7lIOtePGI67Y4iXzEBGqd5YiOKAVY=";
+    hash = "sha256-LN2VxXKjEaUgLSVc0G+OlhmaZ4anBmyXbOBOrGIeYG0=";
   };
 
-  vendorHash = "sha256-xQgSABaWY5FWHh2kcBB36fm3povFNpU18PjD4J6M4QM=";
+  vendorHash = "sha256-Vj7P0o0UM35WTv9s1BAcW6MuzjIinADOFsuCK1bpKP0=";
 
   subPackages = [ "cmd/timoni" ];
   nativeBuildInputs = [ installShellFiles ];
diff --git a/pkgs/applications/networking/cluster/waypoint/default.nix b/pkgs/applications/networking/cluster/waypoint/default.nix
deleted file mode 100644
index 7e16417fe2b9d..0000000000000
--- a/pkgs/applications/networking/cluster/waypoint/default.nix
+++ /dev/null
@@ -1,82 +0,0 @@
-{ lib, buildGoModule, fetchFromGitHub, go-bindata, installShellFiles }:
-
-buildGoModule rec {
-  pname = "waypoint";
-  version = "0.11.4";
-
-  src = fetchFromGitHub {
-    owner = "hashicorp";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-Zn11mVQV8lN62BVYfhXauKets7/mIqA0r+mG2TkRyPk=";
-  };
-
-  vendorHash = "sha256-z0qe8zSQ9PopGeyvMDhRpU+3jUgHoh+8jTsYGLPk3i4=";
-
-  nativeBuildInputs = [ go-bindata installShellFiles ];
-
-  # GIT_{COMMIT,DIRTY} filled in blank to prevent trying to run git and ending up blank anyway
-  buildPhase = ''
-    runHook preBuild
-    make bin GIT_DESCRIBE="v${version}" GIT_COMMIT="" GIT_DIRTY=""
-    runHook postBuild
-  '';
-
-  doCheck = false;
-
-  installPhase = ''
-    runHook preInstall
-
-    local INSTALL="$out/bin/waypoint"
-    install -D waypoint $out/bin/waypoint
-
-    # waypoint's completion install command alters your <something>rc files
-    # below is the equivalent of what it injects
-
-    # Write to a file as it doesn't like EOF within <()
-    cat > waypoint.fish <<EOF
-    function __complete_waypoint
-      set -lx COMP_LINE (commandline -cp)
-      test -z (commandline -ct)
-      and set COMP_LINE "$COMP_LINE "
-      $INSTALL
-    end
-    complete -f -c waypoint -a "(__complete_waypoint)"
-    EOF
-    installShellCompletion --cmd waypoint \
-      --bash <(echo "complete -C $INSTALL waypoint") \
-      --fish <(cat waypoint.fish) \
-      --zsh <(echo "complete -o nospace -C $INSTALL waypoint")
-
-    runHook postInstall
-  '';
-
-  doInstallCheck = true;
-  installCheckPhase = ''
-    runHook preInstallCheck
-    # `version` tries to write to ~/.config/waypoint
-    export HOME="$TMPDIR"
-
-    $out/bin/waypoint --help
-    $out/bin/waypoint version | grep "CLI: v${version}"
-    runHook postInstallCheck
-  '';
-
-  # Binary is static
-  dontPatchELF = true;
-  dontPatchShebangs = true;
-
-  meta = with lib; {
-    homepage = "https://waypointproject.io";
-    changelog = "https://github.com/hashicorp/waypoint/blob/v${version}/CHANGELOG.md";
-    description = "A tool to build, deploy, and release any application on any platform";
-    mainProgram = "waypoint";
-    longDescription = ''
-      Waypoint allows developers to define their application build, deploy, and
-      release lifecycle as code, reducing the time to deliver deployments
-      through a consistent and repeatable workflow.
-    '';
-    license = licenses.mpl20;
-    maintainers = with maintainers; [ winpat jk techknowlogick ];
-  };
-}
diff --git a/pkgs/applications/networking/cluster/werf/default.nix b/pkgs/applications/networking/cluster/werf/default.nix
index 0a33c8f689a57..5f06e15b1e50a 100644
--- a/pkgs/applications/networking/cluster/werf/default.nix
+++ b/pkgs/applications/networking/cluster/werf/default.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "werf";
-  version = "1.2.307";
+  version = "2.0.3";
 
   src = fetchFromGitHub {
     owner = "werf";
     repo = "werf";
     rev = "v${version}";
-    hash = "sha256-jT0QZIMHFhhMIhBj2kliRP0/B8BLYGZdojZ7THXnUmg=";
+    hash = "sha256-CUz2LBba5elWWqMab6I/n1eGKRi8q9im/jEwZI3k7WU=";
   };
 
-  vendorHash = "sha256-2ZRyRgW42W/z6G5DfSMqbdXnW5TNcMdz385Dt7PWj6k=";
+  vendorHash = "sha256-WMmL0jjzzaDtNmx+kvHFONqwhz7mjFCM4rT6YoL+XkA=";
 
   proxyVendor = true;
 
@@ -35,7 +35,7 @@ buildGoModule rec {
   ldflags = [
     "-s"
     "-w"
-    "-X github.com/werf/werf/pkg/werf.Version=${src.rev}"
+    "-X github.com/werf/werf/v2/pkg/werf.Version=${src.rev}"
   ] ++ lib.optionals (CGO_ENABLED == 1) [
     "-extldflags=-static"
     "-linkmode external"
@@ -48,6 +48,7 @@ buildGoModule rec {
     "dfrunsecurity"
     "dfssh"
   ] ++ lib.optionals (CGO_ENABLED == 1) [
+    "cni"
     "exclude_graphdriver_devicemapper"
     "netgo"
     "no_devmapper"
diff --git a/pkgs/applications/networking/cluster/yor/default.nix b/pkgs/applications/networking/cluster/yor/default.nix
index 8008de2d977fd..107b698335979 100644
--- a/pkgs/applications/networking/cluster/yor/default.nix
+++ b/pkgs/applications/networking/cluster/yor/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "yor";
-  version = "0.1.191";
+  version = "0.1.192";
 
   src = fetchFromGitHub {
     owner = "bridgecrewio";
     repo = pname;
     rev = version;
-    hash = "sha256-gqtvaAt2iIkKXHO7X2hiTqAdao7t6fZhl11089D2wdM=";
+    hash = "sha256-J3hygbjpJ+etYcOHRKkuPPF2oquLWgWnps8chcU3uUU=";
   };
 
   vendorHash = "sha256-uT/jGD4hDVes4h+mlSIT2p+C9TjxnUWsmKv9haPjjLc=";
diff --git a/pkgs/applications/networking/cluster/zarf/default.nix b/pkgs/applications/networking/cluster/zarf/default.nix
index b8436f611c355..3608bad410bce 100644
--- a/pkgs/applications/networking/cluster/zarf/default.nix
+++ b/pkgs/applications/networking/cluster/zarf/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "zarf";
-  version = "0.33.0";
+  version = "0.33.1";
 
   src = fetchFromGitHub {
     owner = "defenseunicorns";
     repo = "zarf";
     rev = "v${version}";
-    hash = "sha256-r/PRLOqzXANYWAq3hdLKWxw1WXJzgVjIenHky2+WXj4=";
+    hash = "sha256-JmUJUZn4mnTKdAVzYaCGZXDJmIeGfyn8Z+OfLfXp/S0=";
   };
 
-  vendorHash = "sha256-6DGkDHBoUj5Zk0KI3HVb+trkzWzB4+8nOh1ijE9PrEk=";
+  vendorHash = "sha256-fpseCFQjLhUbhisjOYmLfznKGea5+E8CzjtbE7CEsk8=";
   proxyVendor = true;
 
   preBuild = ''
diff --git a/pkgs/applications/networking/cozy-drive/default.nix b/pkgs/applications/networking/cozy-drive/default.nix
index 53d401f01e18e..526b7666db0eb 100644
--- a/pkgs/applications/networking/cozy-drive/default.nix
+++ b/pkgs/applications/networking/cozy-drive/default.nix
@@ -6,19 +6,17 @@
 let
   pname = "cozydrive";
   version = "3.38.0";
-  name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://github.com/cozy-labs/cozy-desktop/releases/download/v${version}/Cozy-Drive-${version}-x86_64.AppImage";
     sha256 = "3liOzZVOjtV1cGrKlOKiFRRqnt8KHPr5Ye5HU0e/BYo=";
   };
-  appimageContents = appimageTools.extract { inherit name src; };
+  appimageContents = appimageTools.extract { inherit pname version src; };
 
 in
 appimageTools.wrapType2 {
-  inherit name src;
+  inherit pname version src;
   extraInstallCommands = ''
-    mv $out/bin/${name} $out/bin/${pname}
     install -m 444 -D ${appimageContents}/cozydrive.desktop -t $out/share/applications
     substituteInPlace $out/share/applications/cozydrive.desktop \
       --replace 'Exec=AppRun' 'Exec=${pname}'
diff --git a/pkgs/applications/networking/discordo/default.nix b/pkgs/applications/networking/discordo/default.nix
index a9540226d0024..cd3f502156908 100644
--- a/pkgs/applications/networking/discordo/default.nix
+++ b/pkgs/applications/networking/discordo/default.nix
@@ -3,16 +3,16 @@
 
 buildGoModule rec {
   pname = "discordo";
-  version = "unstable-2024-03-12";
+  version = "0-unstable-2024-04-27";
 
   src = fetchFromGitHub {
     owner = "ayn2op";
     repo = pname;
-    rev = "5805f6605efe63fc887e850bcc5d107070eb2c1a";
-    hash = "sha256-IzVDxylrR0X8HLWTelSBq2+uu2h2Jd6iaNUXh9zQ9Yk=";
+    rev = "d76a7db668900a7fc41ead7db194e20f126071ac";
+    hash = "sha256-uEMz7n0IFTGK1fZC1/vuwJpyySGdTUIMUjunCmycnzM=";
   };
 
-  vendorHash = "sha256-6pCQHr/O2pfR1v8YI+htwGZ8RFStEEUctIEpgblXvjY=";
+  vendorHash = "sha256-hSrGN3NHPpp5601l4KcmNHVYOGWfLjFeWWr9g11nM3I=";
 
   CGO_ENABLED = 0;
 
diff --git a/pkgs/applications/networking/dsvpn/default.nix b/pkgs/applications/networking/dsvpn/default.nix
index 53aa9fb894087..94000d6f8f973 100644
--- a/pkgs/applications/networking/dsvpn/default.nix
+++ b/pkgs/applications/networking/dsvpn/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     description = "A Dead Simple VPN";
     homepage = "https://github.com/jedisct1/dsvpn";
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     platforms = platforms.unix;
     mainProgram = "dsvpn";
   };
diff --git a/pkgs/applications/networking/feedreaders/fluent-reader/default.nix b/pkgs/applications/networking/feedreaders/fluent-reader/default.nix
index 362771511cf5f..7be8375cecc7c 100644
--- a/pkgs/applications/networking/feedreaders/fluent-reader/default.nix
+++ b/pkgs/applications/networking/feedreaders/fluent-reader/default.nix
@@ -14,8 +14,6 @@ in appimageTools.wrapType2 {
   inherit pname version src;
 
   extraInstallCommands = ''
-    mv $out/bin/${pname}-${version} $out/bin/${pname}
-
     mkdir -p $out/share/${pname}
     cp -a ${appimageContents}/{locales,resources} $out/share/${pname}
     install -Dm 444 ${appimageContents}/${pname}.desktop -t $out/share/applications
diff --git a/pkgs/applications/networking/firewalld/default.nix b/pkgs/applications/networking/firewalld/default.nix
index 1b4e1f0a42481..0743e7541d35b 100644
--- a/pkgs/applications/networking/firewalld/default.nix
+++ b/pkgs/applications/networking/firewalld/default.nix
@@ -31,13 +31,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "firewalld";
-  version = "2.1.1";
+  version = "2.1.2";
 
   src = fetchFromGitHub {
     owner = "firewalld";
     repo = "firewalld";
     rev = "v${version}";
-    sha256 = "sha256-+EDJrHryO1pXkuKnQdh8hGyi8/TOkb3ZLulQkiaOOqs=";
+    sha256 = "sha256-bCLMTWtgEay3fLKOFWUoWpOL1iGDHRR5hu+v06bLxLs=";
   };
 
   patches = [
diff --git a/pkgs/applications/networking/flexget/default.nix b/pkgs/applications/networking/flexget/default.nix
index e17fd5d6916eb..66947266d2026 100644
--- a/pkgs/applications/networking/flexget/default.nix
+++ b/pkgs/applications/networking/flexget/default.nix
@@ -6,7 +6,7 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "flexget";
-  version = "3.11.27";
+  version = "3.11.30";
   pyproject = true;
 
   # Fetch from GitHub in order to use `requirements.in`
@@ -14,7 +14,7 @@ python3.pkgs.buildPythonApplication rec {
     owner = "Flexget";
     repo = "Flexget";
     rev = "refs/tags/v${version}";
-    hash = "sha256-0ENBUOH+/pe4OsVQ6cu1xLTPPHtUMNARQGVyxOk60X0=";
+    hash = "sha256-msvNZ3kE48dNnhtUWLGxulb2iZ78hhyg7fVL2OSOdyY=";
   };
 
   postPatch = ''
@@ -85,6 +85,6 @@ python3.pkgs.buildPythonApplication rec {
     changelog = "https://github.com/Flexget/Flexget/releases/tag/v${version}";
     description = "Multipurpose automation tool for all of your media";
     license = licenses.mit;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/applications/networking/google-drive-ocamlfuse/default.nix b/pkgs/applications/networking/google-drive-ocamlfuse/default.nix
index 7f313514e1c07..406c6e547aaaa 100644
--- a/pkgs/applications/networking/google-drive-ocamlfuse/default.nix
+++ b/pkgs/applications/networking/google-drive-ocamlfuse/default.nix
@@ -6,13 +6,13 @@
 
 buildDunePackage rec {
   pname = "google-drive-ocamlfuse";
-  version = "0.7.31";
+  version = "0.7.32";
 
   src = fetchFromGitHub {
     owner = "astrada";
     repo = "google-drive-ocamlfuse";
     rev = "v${version}";
-    hash = "sha256-4Fs4e4rXSeumaMDXRqGLpPuFs6DC8dmkywGaBqR5sFA=";
+    hash = "sha256-AWr1tcium70rXFKMTv6xcWxndOJua3UXG8Q04TN1Siw=";
   };
 
   doCheck = lib.versionOlder ocaml.version "5.0";
diff --git a/pkgs/applications/networking/ids/zeek/default.nix b/pkgs/applications/networking/ids/zeek/default.nix
index 09bf661f54b14..da70f6e6ede4f 100644
--- a/pkgs/applications/networking/ids/zeek/default.nix
+++ b/pkgs/applications/networking/ids/zeek/default.nix
@@ -105,7 +105,7 @@ stdenv.mkDerivation rec {
     homepage = "https://www.zeek.org";
     changelog = "https://github.com/zeek/zeek/blob/v${version}/CHANGES";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ pSub marsam tobim ];
+    maintainers = with maintainers; [ pSub tobim ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/beeper/default.nix b/pkgs/applications/networking/instant-messengers/beeper/default.nix
index 63d6720aaf0db..06e2a17d564ef 100644
--- a/pkgs/applications/networking/instant-messengers/beeper/default.nix
+++ b/pkgs/applications/networking/instant-messengers/beeper/default.nix
@@ -35,8 +35,6 @@ stdenvNoCC.mkDerivation rec {
   installPhase = ''
     runHook preInstall
 
-    mv bin/${name} bin/${pname}
-
     mkdir -p $out/
     cp -r bin $out/bin
 
diff --git a/pkgs/applications/networking/instant-messengers/caprine-bin/build-from-appimage.nix b/pkgs/applications/networking/instant-messengers/caprine-bin/build-from-appimage.nix
index 104f39f4460b0..cceea293adbd3 100644
--- a/pkgs/applications/networking/instant-messengers/caprine-bin/build-from-appimage.nix
+++ b/pkgs/applications/networking/instant-messengers/caprine-bin/build-from-appimage.nix
@@ -30,8 +30,6 @@ in
   extraPkgs = pkgs: appimageTools.defaultFhsEnvArgs.multiPkgs pkgs;
 
   extraInstallCommands = ''
-    mv $out/bin/{${pname}-${version},caprine}
-
     mkdir -p $out/share
     "${xorg.lndir}/bin/lndir" -silent "${extracted}/usr/share" "$out/share"
     ln -s ${extracted}/caprine.png $out/share/icons/caprine.png
diff --git a/pkgs/applications/networking/instant-messengers/chatterino2/default.nix b/pkgs/applications/networking/instant-messengers/chatterino2/default.nix
index 5e61fc78091e6..5b1f1f5740080 100644
--- a/pkgs/applications/networking/instant-messengers/chatterino2/default.nix
+++ b/pkgs/applications/networking/instant-messengers/chatterino2/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "chatterino2";
-  version = "2.4.6";
+  version = "2.5.1";
   src = fetchFromGitHub {
     owner = "Chatterino";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-CQviw5Fw6v5EwjCldAQoJfAIZMWKBfBzUIQZEgW34k0=";
+    sha256 = "sha256-c3Vhzes54xLjKV0Of7D1eFpQvIWJwcUBXvLT2p6VwBE=";
     fetchSubmodules = true;
   };
   nativeBuildInputs = [ cmake pkg-config qt6.wrapQtAppsHook ];
diff --git a/pkgs/applications/networking/instant-messengers/chatty/default.nix b/pkgs/applications/networking/instant-messengers/chatty/default.nix
index adacea2d019a8..ea43f470e8bb6 100644
--- a/pkgs/applications/networking/instant-messengers/chatty/default.nix
+++ b/pkgs/applications/networking/instant-messengers/chatty/default.nix
@@ -84,7 +84,7 @@ stdenv.mkDerivation rec {
     homepage = "https://gitlab.gnome.org/World/Chatty";
     changelog = "https://gitlab.gnome.org/World/Chatty/-/blob/${src.rev}/NEWS";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ dotlambda tomfitzhenry ];
+    maintainers = with maintainers; [ dotlambda ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/discord/default.nix b/pkgs/applications/networking/instant-messengers/discord/default.nix
index 7211d540896b4..b4e0aca9cc58a 100644
--- a/pkgs/applications/networking/instant-messengers/discord/default.nix
+++ b/pkgs/applications/networking/instant-messengers/discord/default.nix
@@ -2,14 +2,14 @@
 let
   versions =
     if stdenv.isLinux then {
-      stable = "0.0.50";
-      ptb = "0.0.80";
-      canary = "0.0.357";
+      stable = "0.0.51";
+      ptb = "0.0.81";
+      canary = "0.0.369";
       development = "0.0.17";
     } else {
-      stable = "0.0.301";
-      ptb = "0.0.109";
-      canary = "0.0.477";
+      stable = "0.0.302";
+      ptb = "0.0.110";
+      canary = "0.0.486";
       development = "0.0.39";
     };
   version = versions.${branch};
@@ -17,15 +17,15 @@ let
     x86_64-linux = {
       stable = fetchurl {
         url = "https://dl.discordapp.net/apps/linux/${version}/discord-${version}.tar.gz";
-        hash = "sha256-6VXdVLk7Z8NGQMiSdgBRd8NIueUktkId6BXYKNABb+4=";
+        hash = "sha256-w8zLeaqJXdbI67X/UDxSLQxZei5eraa/BkMZa+GDpYk=";
       };
       ptb = fetchurl {
         url = "https://dl-ptb.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz";
-        hash = "sha256-y/ntnHIYcY35Jszh0PrFy395eJ5dBWwLNpzHMoSZuNA=";
+        hash = "sha256-/kM23y4Hx/0HwIOQvd+4Y429s/6Q+coa27hgI2U3EcU=";
       };
       canary = fetchurl {
         url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
-        hash = "sha256-sDwC5kPzAfvQmsrq6M/GPFtUaT9pNAEB4uGI5Mn3oXs=";
+        hash = "sha256-Ohfp5ypvdmjr5rYR1usdVoEuVwOALRozysIjT/v75Qs=";
       };
       development = fetchurl {
         url = "https://dl-development.discordapp.net/apps/linux/${version}/discord-development-${version}.tar.gz";
@@ -35,15 +35,15 @@ let
     x86_64-darwin = {
       stable = fetchurl {
         url = "https://dl.discordapp.net/apps/osx/${version}/Discord.dmg";
-        hash = "sha256-h7C1wCKtUGcMFUhoKVdD7Vq9TGUaXfmjlVhwmRdhqYw=";
+        hash = "sha256-Xt0ef+ogGlPA4ebxuAsGQKeMVDoTB58jCRcyM1fHjYE=";
       };
       ptb = fetchurl {
         url = "https://dl-ptb.discordapp.net/apps/osx/${version}/DiscordPTB.dmg";
-        hash = "sha256-xxLnzELuI0X2r/weP1K2Bb51uRh1JjR72p7cXzy12Kc=";
+        hash = "sha256-hkRO/4YD1j4gsp+r3+md3ND/xtNmdutJiXlY3UIecIY=";
       };
       canary = fetchurl {
         url = "https://dl-canary.discordapp.net/apps/osx/${version}/DiscordCanary.dmg";
-        hash = "sha256-xEDtEtZNhOTtz+zRLLQBSeLbntlVAVQsocAGyAaVePM=";
+        hash = "sha256-c7KNWsV+pultD+HqRNonSOW9PCGx1AajCfnc94Dokwc=";
       };
       development = fetchurl {
         url = "https://dl-development.discordapp.net/apps/osx/${version}/DiscordDevelopment.dmg";
@@ -60,7 +60,7 @@ let
     downloadPage = "https://discordapp.com/download";
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.unfree;
-    maintainers = with maintainers; [ MP2E Scrumplex artturin infinidoge jopejoe1 ];
+    maintainers = with maintainers; [ Scrumplex artturin infinidoge jopejoe1 ];
     platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ];
     mainProgram = "discord";
   };
diff --git a/pkgs/applications/networking/instant-messengers/element/pin.nix b/pkgs/applications/networking/instant-messengers/element/pin.nix
index b7c9de0cc7323..516c1182e22f5 100644
--- a/pkgs/applications/networking/instant-messengers/element/pin.nix
+++ b/pkgs/applications/networking/instant-messengers/element/pin.nix
@@ -1,9 +1,9 @@
 {
-  "version" = "1.11.64";
+  "version" = "1.11.65";
   "hashes" = {
-    "desktopSrcHash" = "sha256-U6vVuc7claPZI4idZmTXpm1GHm+VrmoaJNVgJU0GHMU=";
-    "desktopYarnHash" = "079jg178cq2m91fhzrdab8x33wrm5a97ga19g0268q118vbnv98l";
-    "webSrcHash" = "sha256-jphxYlSxHjck6XA3JXofC6AbVb+aVOjsbxLUqo1hRhY=";
-    "webYarnHash" = "0q91llgx8cy6zxinfqbnrcfkmclqx7czlp08f1ls43x0w2vd8447";
+    "desktopSrcHash" = "sha256-aRlTM8j+lMB97QsmRlcvSZqLJ/2vmQIz1viTIoycmYA=";
+    "desktopYarnHash" = "08scs091k0i6lwfpw0id4jxmmdix0jxvnm9fyjwzrsrzh6q6899y";
+    "webSrcHash" = "sha256-aE7pmqLOa9aCaSaSOpX2NqcY0OKBjL5mZbKModbKxZg=";
+    "webYarnHash" = "1b9q8v5jz6w2vvfkgq8nzajzs798ja2ff3wjv6d5m7sri8il7f0s";
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/franz/generic.nix b/pkgs/applications/networking/instant-messengers/franz/generic.nix
index 39c892b335123..533c5c7310b38 100644
--- a/pkgs/applications/networking/instant-messengers/franz/generic.nix
+++ b/pkgs/applications/networking/instant-messengers/franz/generic.nix
@@ -87,10 +87,11 @@ in stdenv.mkDerivation (rec {
   dontWrapGApps = true;
 
   postFixup = ''
-    # make xdg-open overrideable at runtime
-    wrapProgram $out/opt/${name}/${pname} \
+    # make xdg-open overridable at runtime
+    wrapProgramShell $out/opt/${name}/${pname} \
       --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath runtimeDependencies}" \
       --suffix PATH : ${xdg-utils}/bin \
+      --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \
       "''${gappsWrapperArgs[@]}"
   '';
 } // cleanedArgs)
diff --git a/pkgs/applications/networking/instant-messengers/keet/default.nix b/pkgs/applications/networking/instant-messengers/keet/default.nix
index 557078cd8b508..c49442e38370e 100644
--- a/pkgs/applications/networking/instant-messengers/keet/default.nix
+++ b/pkgs/applications/networking/instant-messengers/keet/default.nix
@@ -14,8 +14,6 @@ in appimageTools.wrapType2 {
   inherit src pname version;
 
   extraInstallCommands = ''
-    mv $out/bin/${pname}-${version} $out/bin/${pname}
-
     install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications
     substituteInPlace $out/share/applications/${pname}.desktop \
       --replace 'Exec=AppRun' 'Exec=${pname}'
diff --git a/pkgs/applications/networking/instant-messengers/profanity/default.nix b/pkgs/applications/networking/instant-messengers/profanity/default.nix
index cca91da3abda1..e38d45a001763 100644
--- a/pkgs/applications/networking/instant-messengers/profanity/default.nix
+++ b/pkgs/applications/networking/instant-messengers/profanity/default.nix
@@ -20,7 +20,7 @@
 , sqlite
 , autoAwaySupport ? true,       libXScrnSaver, libX11
 , notifySupport ? true,         libnotify, gdk-pixbuf
-, omemoSupport ? true,          libsignal-protocol-c, libgcrypt
+, omemoSupport ? true,          libsignal-protocol-c, libgcrypt, qrencode
 , pgpSupport ? true,            gpgme
 , pythonPluginSupport ? true,   python3
 , traySupport ? true,           gtk3
@@ -66,7 +66,7 @@ stdenv.mkDerivation rec {
     sqlite
   ] ++ lib.optionals autoAwaySupport     [ libXScrnSaver libX11 ]
     ++ lib.optionals notifySupport       [ libnotify gdk-pixbuf ]
-    ++ lib.optionals omemoSupport        [ libsignal-protocol-c libgcrypt ]
+    ++ lib.optionals omemoSupport        [ libsignal-protocol-c libgcrypt qrencode ]
     ++ lib.optionals pgpSupport          [ gpgme ]
     ++ lib.optionals pythonPluginSupport [ python3 ]
     ++ lib.optionals traySupport         [ gtk3 ];
diff --git a/pkgs/applications/networking/instant-messengers/psi-plus/default.nix b/pkgs/applications/networking/instant-messengers/psi-plus/default.nix
index 295f92b9ef9a9..519c2a0b66eca 100644
--- a/pkgs/applications/networking/instant-messengers/psi-plus/default.nix
+++ b/pkgs/applications/networking/instant-messengers/psi-plus/default.nix
@@ -100,7 +100,7 @@ mkDerivation rec {
     homepage = "https://psi-plus.com";
     description = "XMPP (Jabber) client based on Qt5";
     mainProgram = "psi-plus";
-    maintainers = with maintainers; [ orivej misuzu unclechu ];
+    maintainers = with maintainers; [ orivej unclechu ];
     license = licenses.gpl2Only;
     platforms = platforms.linux;
   };
diff --git a/pkgs/applications/networking/instant-messengers/qq/default.nix b/pkgs/applications/networking/instant-messengers/qq/default.nix
index d0a7bbf2a1a99..eea656250b93f 100644
--- a/pkgs/applications/networking/instant-messengers/qq/default.nix
+++ b/pkgs/applications/networking/instant-messengers/qq/default.nix
@@ -28,11 +28,11 @@ let
   sources = import ./sources.nix;
   srcs = {
     x86_64-linux = fetchurl {
-      url = "https://dldir1.qq.com/qqfile/qq/QQNT/${sources.urlhash}/linuxqq_${sources.version}_amd64.deb";
+      url = sources.amd64_url;
       hash = sources.amd64_hash;
     };
     aarch64-linux = fetchurl {
-      url = "https://dldir1.qq.com/qqfile/qq/QQNT/${sources.urlhash}/linuxqq_${sources.version}_arm64.deb";
+      url = sources.arm64_url;
       hash = sources.arm64_hash;
     };
   };
diff --git a/pkgs/applications/networking/instant-messengers/qq/sources.nix b/pkgs/applications/networking/instant-messengers/qq/sources.nix
index 0353fcc19fe27..590dbb3605e0e 100644
--- a/pkgs/applications/networking/instant-messengers/qq/sources.nix
+++ b/pkgs/applications/networking/instant-messengers/qq/sources.nix
@@ -1,8 +1,9 @@
 # Generated by ./update.sh - do not update manually!
-# Last updated: 2024-02-16
+# Last updated: 2024-04-27
 {
-  version = "3.2.5-21453";
-  urlhash = "852276c1";
-  arm64_hash = "sha256-g0J1FWG07bkabDHp2nuS48MNut2+N7gk0k5zWcmuQVw=";
-  amd64_hash = "sha256-6Qe4bP3q9RLEIJn9EfqqYaVTF8FRBNcjtVPl+zY7v5c=";
+  version = "3.2.7";
+  amd64_url = "https://dldir1.qq.com/qqfile/qq/QQNT/Linux/QQ_3.2.7_240422_amd64_01.deb";
+  arm64_url = "https://dldir1.qq.com/qqfile/qq/QQNT/Linux/QQ_3.2.7_240422_arm64_01.deb";
+  arm64_hash = "sha256-MrLkPHri3ifVy3+WNNs/CKK4Myztw8ZjWFEZDr27mpM=";
+  amd64_hash = "sha256-eZMzMaqCF514Wij8BZ0sLoyzjKNArLSFe92tN9WAiu0=";
 }
diff --git a/pkgs/applications/networking/instant-messengers/qq/update.sh b/pkgs/applications/networking/instant-messengers/qq/update.sh
index 8b9121299bbec..777ea2a90103a 100755
--- a/pkgs/applications/networking/instant-messengers/qq/update.sh
+++ b/pkgs/applications/networking/instant-messengers/qq/update.sh
@@ -9,8 +9,7 @@ payload=$(curl https://im.qq.com/rainbow/linuxQQDownload | grep -oP "var params=
 amd64_url=$(jq -r .x64DownloadUrl.deb <<< "$payload")
 arm64_url=$(jq -r .armDownloadUrl.deb <<< "$payload")
 
-urlhash=$(grep -oP "(?<=QQNT/)[a-f0-9]+(?=/linuxqq)" <<< "$amd64_url")
-version=$(grep -oP "(?<=/linuxqq_).*(?=_amd64.deb)" <<< "$amd64_url")
+version=$(grep -oP "(?<=/QQ_).*(?=_[0-9]{6})" <<< "$amd64_url")
 
 amd64_hash=$(nix-prefetch-url $amd64_url)
 arm64_hash=$(nix-prefetch-url $arm64_url)
@@ -24,7 +23,8 @@ cat >sources.nix <<EOF
 # Last updated: $(date +%F)
 {
   version = "$version";
-  urlhash = "$urlhash";
+  amd64_url = "$amd64_url";
+  arm64_url = "$arm64_url";
   arm64_hash = "$arm64_hash";
   amd64_hash = "$amd64_hash";
 }
diff --git a/pkgs/applications/networking/instant-messengers/rambox/default.nix b/pkgs/applications/networking/instant-messengers/rambox/default.nix
index 53762baf82fff..af5f6ca321c03 100644
--- a/pkgs/applications/networking/instant-messengers/rambox/default.nix
+++ b/pkgs/applications/networking/instant-messengers/rambox/default.nix
@@ -17,7 +17,7 @@ let
     categories = [ "Network" ];
   });
 
-  appimageContents = appimageTools.extractType2 {
+  appimageContents = appimageTools.extract {
     inherit pname version src;
   };
 in
@@ -26,7 +26,6 @@ appimageTools.wrapType2 {
 
   extraInstallCommands = ''
     mkdir -p $out/share/applications $out/share/icons/hicolor/256x256/apps
-    ln -sf rambox-${version} $out/bin/${pname}
     install -Dm644 ${appimageContents}/usr/share/icons/hicolor/256x256/apps/rambox*.png $out/share/icons/hicolor/256x256/apps/${pname}.png
     install -Dm644 ${desktopItem}/share/applications/* $out/share/applications
   '';
diff --git a/pkgs/applications/networking/instant-messengers/session-desktop/default.nix b/pkgs/applications/networking/instant-messengers/session-desktop/default.nix
index bc0afb8b68832..4e8ed9bd0c6c1 100644
--- a/pkgs/applications/networking/instant-messengers/session-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/session-desktop/default.nix
@@ -44,8 +44,6 @@ stdenvNoCC.mkDerivation {
   installPhase = ''
     runHook preInstall
 
-    mv bin/session-desktop-${version} bin/session-desktop
-
     mkdir -p $out/
     cp -r bin $out/bin
 
diff --git a/pkgs/applications/networking/instant-messengers/signal-cli/default.nix b/pkgs/applications/networking/instant-messengers/signal-cli/default.nix
index 792b51ef47158..a6855b2539dd6 100644
--- a/pkgs/applications/networking/instant-messengers/signal-cli/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-cli/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "signal-cli";
-  version = "0.13.2";
+  version = "0.13.3";
 
   # Building from source would be preferred, but is much more involved.
   src = fetchurl {
     url = "https://github.com/AsamK/signal-cli/releases/download/v${version}/signal-cli-${version}.tar.gz";
-    hash = "sha256-5+pIkRdcFWTNmsSN2tHSy6XMQfUpGSddGsdw5guWzjA=";
+    hash = "sha256-JNDl/esJdY+L+CGCAauPSeUID5eAaKChHqMf+jl4HuQ=";
   };
 
   buildInputs = lib.optionals stdenv.isLinux [ libmatthew_java dbus dbus_java ];
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/generic.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/generic.nix
index c1ca934437a7a..e8518c310a7c1 100644
--- a/pkgs/applications/networking/instant-messengers/signal-desktop/generic.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-desktop/generic.nix
@@ -130,10 +130,6 @@ in stdenv.mkDerivation rec {
 
   dontBuild = true;
   dontConfigure = true;
-  dontPatchELF = true;
-  # We need to run autoPatchelf manually with the "no-recurse" option, see
-  # https://github.com/NixOS/nixpkgs/pull/78413 for the reasons.
-  dontAutoPatchelf = true;
 
   installPhase = ''
     runHook preInstall
@@ -143,11 +139,6 @@ in stdenv.mkDerivation rec {
     mv usr/share $out/share
     mv "opt/${dir}" "$out/lib/${dir}"
 
-    # Note: The following path contains bundled libraries:
-    # $out/lib/${dir}/resources/app.asar.unpacked/node_modules/sharp/vendor/lib/
-    # We run autoPatchelf with the "no-recurse" option to avoid picking those
-    # up, but resources/app.asar still requires them.
-
     # Symlink to bin
     mkdir -p $out/bin
     ln -s "$out/lib/${dir}/${pname}" $out/bin/${pname}
@@ -169,7 +160,8 @@ in stdenv.mkDerivation rec {
       --replace "/opt/${dir}/${pname}" $out/bin/${pname} \
       ${if pname == "signal-desktop" then "--replace \"bin/signal-desktop\" \"bin/signal-desktop --use-tray-icon\"" else ""}
 
-    autoPatchelf --no-recurse -- "$out/lib/${dir}/"
+    # Note: The following path contains bundled libraries:
+    # $out/lib/${dir}/resources/app.asar.unpacked/node_modules/
     patchelf --add-needed ${libpulseaudio}/lib/libpulse.so "$out/lib/${dir}/resources/app.asar.unpacked/node_modules/@signalapp/ringrtc/build/linux/libringrtc-${ARCH}.node"
   '';
 
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop-aarch64.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop-aarch64.nix
index dffcdc6172f28..cccaa12cc2b03 100644
--- a/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop-aarch64.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop-aarch64.nix
@@ -2,7 +2,7 @@
 callPackage ./generic.nix { } rec {
   pname = "signal-desktop";
   dir = "Signal";
-  version = "7.3.0";
+  version = "7.5.1";
   url = "https://github.com/0mniteck/Signal-Desktop-Mobian/raw/${version}/builds/release/signal-desktop_${version}_arm64.deb";
-  hash = "sha256-RIOMIAXdBMr1Bi1TDFr4VD0w8JfBKzwEjpYS/DfV5kc=";
+  hash = "sha256-X7B7eQQXTZ+ADLrrLI9XUsl7rHO9akMeW2zAgduXfLY=";
 }
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop.nix
index 130508f95e30b..0b1f3b034cced 100644
--- a/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop.nix
@@ -2,7 +2,7 @@
 callPackage ./generic.nix { } rec {
   pname = "signal-desktop";
   dir = "Signal";
-  version = "7.5.1";
+  version = "7.6.0";
   url = "https://updates.signal.org/desktop/apt/pool/s/signal-desktop/signal-desktop_${version}_amd64.deb";
-  hash = "sha256-afKR+P2YPkv4OMIr8LzWeAMZWr0zaJ1R0BQD87gQuSk=";
+  hash = "sha256-sGOWsFZTO9VQDkCqhsOkW5aY+sh0fLH7kPPe/bAzGvg=";
 }
diff --git a/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix b/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
index eda54f85a0cac..d25f4698f8642 100644
--- a/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "signalbackup-tools";
-  version = "20240415-2";
+  version = "20240425-1";
 
   src = fetchFromGitHub {
     owner = "bepaald";
     repo = pname;
     rev = version;
-    hash = "sha256-fMt5F+ykMxaP/6gEVN7TabENTSKbO4Gpms5yD+MBzPc=";
+    hash = "sha256-CulgcWcAX/42jB3kCmxLAFioyNtMJV80dW3ofp7Yw6o=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/networking/instant-messengers/slack/default.nix b/pkgs/applications/networking/instant-messengers/slack/default.nix
index e0ce9027551c2..82494a442f933 100644
--- a/pkgs/applications/networking/instant-messengers/slack/default.nix
+++ b/pkgs/applications/networking/instant-messengers/slack/default.nix
@@ -84,7 +84,7 @@ let
     changelog = "https://slack.com/release-notes";
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.unfree;
-    maintainers = with maintainers; [ mmahut amaxine ];
+    maintainers = with maintainers; [ mmahut ];
     platforms = [ "x86_64-darwin" "x86_64-linux" "aarch64-darwin" ];
     mainProgram = "slack";
   };
diff --git a/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/tg_owt.nix b/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/tg_owt.nix
index b9059e17bc264..8bc0f6f93b442 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/tg_owt.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/tg_owt.nix
@@ -9,7 +9,7 @@
 
 stdenv.mkDerivation {
   pname = "tg_owt";
-  version = "unstable-2023-12-21";
+  version = "0-unstable-2023-12-21";
 
   src = fetchFromGitHub {
     owner = "desktop-app";
diff --git a/pkgs/applications/networking/instant-messengers/threema-desktop/default.nix b/pkgs/applications/networking/instant-messengers/threema-desktop/default.nix
index fc796ac7a3490..34bf49304cb65 100644
--- a/pkgs/applications/networking/instant-messengers/threema-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/threema-desktop/default.nix
@@ -1,55 +1,127 @@
-{ lib, stdenv, fetchurl, dpkg, autoPatchelfHook, makeWrapper, electron
-, alsa-lib, glibc, gtk3, libxshmfence, mesa, nss }:
+{ lib
+, buildNpmPackage
+, fetchFromGitHub
+, makeDesktopItem
+, copyDesktopItems
+, makeWrapper
+, electron
+, python3
+}:
 
-stdenv.mkDerivation rec {
-  pname = "threema-desktop";
-  version = "1.2.31";
+let
+  version = "1.2.41";
+  electronSrc = fetchFromGitHub {
+    owner = "threema-ch";
+    repo = "threema-web-electron";
+    rev = "refs/tags/${version}";
+    hash = "sha256-gV64rNBwQxPpREi0NFzfCA7lSO65/h0CVRw2EcbFedM=";
+  };
+
+  threema-web = buildNpmPackage rec {
+    pname = "threema-web";
+    version = "2.5.3";
+
+    src = fetchFromGitHub {
+      owner = "threema-ch";
+      repo = "threema-web";
+      rev = "refs/tags/v${version}";
+      hash = "sha256-RIYyDoEck+a0kPUzTpdNLdyd4+ZYGjjkAlkCp9/S7FY=";
+    };
+
+    npmDepsHash = "sha256-OqiPpjIdLwBfxEmbI+YFmYGt3beMqXyGZc9FCwbng4U=";
+    npmBuildScript = "dist";
+
+    nativeBuildInputs = [
+      python3 # Used by gyp
+    ];
 
-  src = fetchurl {
-    # As Threema only offers a Latest Release url, the plan is to upload each
-    # new release url to web.archive.org until their Github releases page gets populated.
-    url = "https://web.archive.org/web/20230731230034if_/https://releases.threema.ch/web-electron/v1/release/Threema-Latest.deb";
-    hash = "sha256-eZ/bjcSnrnzub1G4sbwPn3GCTwhDfFuYv9Plf5SJL90=";
+    patches = [
+      "${electronSrc}/tools/patches/patch-user-agent.patch"
+      "${electronSrc}/tools/patches/patch-looks.patch"
+    ];
+
+    postInstall = ''
+      # Content of ${electronSrc}/tools/patches/post-patch-threema-web.sh
+      export threema_web_version=threema-web-${version}
+      sed -i.bak -E "s/IN_MEMORY_SESSION_PASSWORD:(true|false|0|1|\!0|\!1)/IN_MEMORY_SESSION_PASSWORD:true/g" -- release/$threema_web_version/*.bundle.js
+      cp -r . "$out"
+    '';
   };
 
-  nativeBuildInputs = [
-    dpkg
-    autoPatchelfHook
-    makeWrapper
-  ];
+  consumer = buildNpmPackage rec {
+    pname = "threema-desktop-consumer";
+    inherit version;
+    src = electronSrc;
+    sourceRoot = "${src.name}/app";
+    npmDepsHash = "sha256-AaUxnvrVCgKWCtMzeXexVBxs/NuVwWH67x4eBGAcsxk=";
+    env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
+    dontNpmBuild = true;
+    prePatch = ''
+      rm -r dependencies/threema-web
+      cp -r ${threema-web} dependencies/threema-web
+      chmod +w dependencies/threema-web
+    '';
+    postInstall = ''
+      cp -r . "$out"
+    '';
+  };
+
+in
+buildNpmPackage rec {
+  pname = "threema-desktop";
+  inherit version;
+  src = electronSrc;
 
-  buildInputs = [ alsa-lib glibc gtk3 libxshmfence mesa nss ];
+  npmDepsHash = "sha256-f/Oy9cHBc9k54MDSeilPcTJe0txOS2sqNt2UCUf5+M8=";
 
-  dontBuild = true;
-  dontConfigure = true;
+  env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
 
-  unpackPhase = ''
-    # Can't unpack with the common dpkg-deb -x method
-    dpkg --fsys-tarfile $src | tar --extract
+  postPatch = ''
+    rm -r app
+    cp -r ${consumer} app
+    chmod +w app
   '';
 
-  installPhase = ''
-    runHook preInstall
+  npmBuildScript = "app:build:electron:main";
 
-    # This will cause confusion, not needed
-    rm -r usr/bin
-    mv usr $out
+  # We need to install the consumer
+  dontNpmInstall = true;
 
-    runHook postInstall
-  '';
+  nativeBuildInputs = [
+    copyDesktopItems
+    makeWrapper
+  ];
+
+  desktopItems = [
+    (makeDesktopItem {
+      name = "threema-desktop";
+      exec = meta.mainProgram;
+      icon = "threema";
+      desktopName = "Threema Desktop";
+      comment = meta.description;
+    })
+  ];
+
+  postInstall = ''
+    mkdir -p $out/opt
+    cp -r app $out/opt/threema
+
+    for dir in assets dependencies; do
+      ln -s $out/opt/threema/$dir $out/opt/threema/dist/src/$dir
+    done
+
+    mkdir -p $out/share/pixmaps
+    cp $out/opt/threema/assets/icons/svg/consumer.svg $out/share/pixmaps/threema.svg
 
-  postFixup = ''
-    mv $out/share/applications/threema.desktop $out/share/applications/threema-desktop.desktop
     makeWrapper ${electron}/bin/electron $out/bin/threema \
-      --add-flags $out/lib/threema/resources/app.asar
+      --add-flags $out/opt/threema/dist/src/main.js
   '';
 
   meta = with lib; {
     description = "Desktop client for Threema, a privacy-focused end-to-end encrypted mobile messenger";
-    mainProgram = "threema";
     homepage = "https://threema.ch";
-    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.agpl3Only;
+    mainProgram = "threema";
     maintainers = with maintainers; [ wolfangaukang ];
     platforms = [ "x86_64-linux" ];
   };
diff --git a/pkgs/applications/networking/instant-messengers/twitch-tui/default.nix b/pkgs/applications/networking/instant-messengers/twitch-tui/default.nix
index 4b4ce6f1f9b30..39589402b5334 100644
--- a/pkgs/applications/networking/instant-messengers/twitch-tui/default.nix
+++ b/pkgs/applications/networking/instant-messengers/twitch-tui/default.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "twitch-tui";
-  version = "2.6.6";
+  version = "2.6.7";
 
   src = fetchFromGitHub {
     owner = "Xithrius";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-71VpLTPOqSEosLt3noiWhsFPpIp7n3S3BHhIzWYGwkI=";
+    hash = "sha256-sokOdM4Z2U/B23XEGONNHr2g9iuNz+Hm+on+7xMYD0E=";
   };
 
-  cargoHash = "sha256-2SWYKqZfIN+Ghryuoh77eDiM7cqJcLihdWpEhOGpLZg=";
+  cargoHash = "sha256-ngivv/2NDmY8c6eInzfdS4GjZQHWU3iJEFI3S+tf34M=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/applications/networking/instant-messengers/wavebox/default.nix b/pkgs/applications/networking/instant-messengers/wavebox/default.nix
index 9578b11fdfa67..d1df9c108143e 100644
--- a/pkgs/applications/networking/instant-messengers/wavebox/default.nix
+++ b/pkgs/applications/networking/instant-messengers/wavebox/default.nix
@@ -20,11 +20,11 @@
 
 stdenv.mkDerivation rec {
   pname = "wavebox";
-  version = "10.120.10-2";
+  version = "10.124.17-2";
 
   src = fetchurl {
     url = "https://download.wavebox.app/stable/linux/tar/Wavebox_${version}.tar.gz";
-    sha256 = "sha256-9kA3nJUNlNHbWYkIy0iEnWCrmIYTjULdMAGGnO4JCkg=";
+    sha256 = "sha256-RS1/zs/rFWsj29BrT8Mb2IXgy9brBsQypxfvnd7pKl0=";
   };
 
   # don't remove runtime deps
diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
index cdf8f4f886d60..c6de2bc44cee1 100644
--- a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
+++ b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
@@ -48,23 +48,23 @@ let
   # and often with different versions.  We write them on three lines
   # like this (rather than using {}) so that the updater script can
   # find where to edit them.
-  versions.aarch64-darwin = "5.17.11.31580";
-  versions.x86_64-darwin = "5.17.11.31580";
-  versions.x86_64-linux = "5.17.11.3835";
+  versions.aarch64-darwin = "6.0.2.33403";
+  versions.x86_64-darwin = "6.0.2.33403";
+  versions.x86_64-linux = "6.0.2.4680";
 
   srcs = {
     aarch64-darwin = fetchurl {
       url = "https://zoom.us/client/${versions.aarch64-darwin}/zoomusInstallerFull.pkg?archType=arm64";
       name = "zoomusInstallerFull.pkg";
-      hash = "sha256-oCCZksH5sgfPVxh6I7ZpIMvkMX0+HnL1R9voNRjTUP4=";
+      hash = "sha256-2JQf+gvMUUBsPuiP0VKkX9UR6IqL0NK0gtG4TdugJQ4=";
     };
     x86_64-darwin = fetchurl {
       url = "https://zoom.us/client/${versions.x86_64-darwin}/zoomusInstallerFull.pkg";
-      hash = "sha256-6bIUfS6bZWh7fEq2xY++nIbnmE5DJxte6sjyoSKUMzU=";
+      hash = "sha256-M6JsABqbzvj6rlHI2QyqRH6R+hQkf0yx10t4lDVppso=";
     };
     x86_64-linux = fetchurl {
       url = "https://zoom.us/client/${versions.x86_64-linux}/zoom_x86_64.pkg.tar.xz";
-      hash = "sha256-eIa8ESoYi0gPbJbqahqKKvnM7rGPT+WeMIYCyFEWHGE=";
+      hash = "sha256-027oAblhH8EJWRXKIEs9upNvjsSFkA0wxK1t8m8nwj8=";
     };
   };
 
@@ -151,7 +151,9 @@ stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
-  postFixup = lib.optionalString stdenv.isLinux ''
+  postFixup =  lib.optionalString stdenv.isDarwin ''
+    makeWrapper $out/Applications/zoom.us.app/Contents/MacOS/zoom.us $out/bin/zoom
+  '' + lib.optionalString stdenv.isLinux ''
     # Desktop File
     substituteInPlace $out/share/applications/Zoom.desktop \
         --replace "Exec=/usr/bin/zoom" "Exec=$out/bin/zoom"
diff --git a/pkgs/applications/networking/instant-messengers/zulip/default.nix b/pkgs/applications/networking/instant-messengers/zulip/default.nix
index 81c6a39e27d18..f7bb1ea099cab 100644
--- a/pkgs/applications/networking/instant-messengers/zulip/default.nix
+++ b/pkgs/applications/networking/instant-messengers/zulip/default.nix
@@ -23,7 +23,6 @@ in appimageTools.wrapType2 {
   runScript = "appimage-exec.sh -w ${appimageContents} -- \${NIXOS_OZONE_WL:+\${WAYLAND_DISPLAY:+--ozone-platform-hint=auto}}";
 
   extraInstallCommands = ''
-    mv "$out/bin/${pname}-${version}" "$out/bin/${pname}"
     install -m 444 -D ${appimageContents}/zulip.desktop $out/share/applications/zulip.desktop
     install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/512x512/apps/zulip.png \
       $out/share/icons/hicolor/512x512/apps/zulip.png
diff --git a/pkgs/applications/networking/irc/glowing-bear/default.nix b/pkgs/applications/networking/irc/glowing-bear/default.nix
index 9e1e14dcfbe3a..d8d65f724e2a3 100644
--- a/pkgs/applications/networking/irc/glowing-bear/default.nix
+++ b/pkgs/applications/networking/irc/glowing-bear/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     description = "A web client for Weechat";
     homepage = "https://github.com/glowing-bear/glowing-bear";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ delroth ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/networking/irc/irccloud/default.nix b/pkgs/applications/networking/irc/irccloud/default.nix
index 9f1ff10081779..47cd45bfdd5b1 100644
--- a/pkgs/applications/networking/irc/irccloud/default.nix
+++ b/pkgs/applications/networking/irc/irccloud/default.nix
@@ -3,7 +3,6 @@
 let
   pname = "irccloud";
   version = "0.16.0";
-  name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://github.com/irccloud/irccloud-desktop/releases/download/v${version}/IRCCloud-${version}-linux-x86_64.AppImage";
@@ -11,16 +10,15 @@ let
   };
 
   appimageContents = appimageTools.extractType2 {
-    inherit name src;
+    inherit pname version src;
   };
 
 in appimageTools.wrapType2 {
-  inherit name src;
+  inherit pname version src;
 
   extraPkgs = pkgs: with pkgs; [ at-spi2-core ];
 
   extraInstallCommands = ''
-    mv $out/bin/${name} $out/bin/${pname}
     install -m 444 -D ${appimageContents}/irccloud.desktop $out/share/applications/irccloud.desktop
     install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/512x512/apps/irccloud.png \
       $out/share/icons/hicolor/512x512/apps/irccloud.png
diff --git a/pkgs/applications/networking/maestral-qt/default.nix b/pkgs/applications/networking/maestral-qt/default.nix
index 195fdc8556420..1394bff2c1c08 100644
--- a/pkgs/applications/networking/maestral-qt/default.nix
+++ b/pkgs/applications/networking/maestral-qt/default.nix
@@ -10,14 +10,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "maestral-qt";
-  version = "1.9.2";
+  version = "1.9.3";
   disabled = python3.pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "SamSchott";
     repo = "maestral-qt";
     rev = "refs/tags/v${version}";
-    hash = "sha256-dgiVSwCTNDncbPJ+f0grjtq822TvtG0PhC9gDOKhwRI=";
+    hash = "sha256-7Lt0Neobtofd1JDoz8BhGn+nFKaMLbM/6z0QQmtEKpA=";
   };
 
   format = "pyproject";
diff --git a/pkgs/applications/networking/mailreaders/electron-mail/default.nix b/pkgs/applications/networking/mailreaders/electron-mail/default.nix
index da26d45b2b41d..acb7ebfbe61e4 100644
--- a/pkgs/applications/networking/mailreaders/electron-mail/default.nix
+++ b/pkgs/applications/networking/mailreaders/electron-mail/default.nix
@@ -3,19 +3,17 @@
 let
   pname = "electron-mail";
   version = "5.1.8";
-  name = "ElectronMail-${version}";
 
   src = fetchurl {
     url = "https://github.com/vladimiry/ElectronMail/releases/download/v${version}/electron-mail-${version}-linux-x86_64.AppImage";
     sha256 = "sha256-btqlxFrQUyb728i99IE65A9jwEFNvJ5b6zji0kwwATU=";
   };
 
-  appimageContents = appimageTools.extract { inherit name src; };
+  appimageContents = appimageTools.extract { inherit pname version src; };
 in appimageTools.wrapType2 {
-  inherit name src;
+  inherit pname version src;
 
   extraInstallCommands = ''
-    mv $out/bin/${name} $out/bin/${pname}
     install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications
     substituteInPlace $out/share/applications/${pname}.desktop \
       --replace 'Exec=AppRun' 'Exec=${pname}'
diff --git a/pkgs/applications/networking/mailreaders/mblaze/default.nix b/pkgs/applications/networking/mailreaders/mblaze/default.nix
index fb852f76045d1..c648587ffe268 100644
--- a/pkgs/applications/networking/mailreaders/mblaze/default.nix
+++ b/pkgs/applications/networking/mailreaders/mblaze/default.nix
@@ -1,4 +1,4 @@
-{ coreutils, fetchFromGitHub, file, gawk, gnugrep, gnused
+{ coreutils, fetchFromGitHub, fetchpatch, file, gawk, gnugrep, gnused
 , installShellFiles, lib, libiconv, makeWrapper, stdenv, ruby
 }:
 
@@ -16,6 +16,14 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-LCyw3xGsYjsbExueRHVRqoJYluji9MmZq5zGclvSSDk=";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "LFS64.patch";
+      url = "https://github.com/leahneukirchen/mblaze/commit/1babebc12c3ea8d3395f00c9607e863866c190fc.patch";
+      hash = "sha256-0zTMM9Ay4mo7ATqCQRJPiR7Z53MsMLeup7Fa7lsdWo8=";
+    })
+  ];
+
   makeFlags = [ "PREFIX=$(out)" ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
index e4809db566e86..3bed100179b17 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
@@ -1,665 +1,665 @@
 {
-  version = "115.7.0";
+  version = "115.10.1";
   sources = [
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/af/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/af/thunderbird-115.10.1.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "43041825f2fe7a42b7e8be09714cfe5506660a90ab09307a21810ec9debde878";
+      sha256 = "9023faca327f2ef67090cd06635030acde12caf4b028f293d06463cc6303f2c7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/ar/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/ar/thunderbird-115.10.1.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "f307adc4e42c4e28672874882f2f72ac15bc9049474c5ebed701e0f83b81afac";
+      sha256 = "3d312b1a651a836e725ef79236ff4b0a8e73d7ebe3ee065da7d87ff329ec3596";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/ast/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/ast/thunderbird-115.10.1.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "fe9d8a9d397f8476d0c59ad4a91faa8eb4b38a9cf03b324c95a5fc806ebd4c48";
+      sha256 = "8d645ce0694a5f9e464243f85e46c96e08c69aec7d4e7ef6b7028f457cf11a8a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/be/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/be/thunderbird-115.10.1.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "b194ae99c1d495452673120ce3655620bf067dc1b82962f809c923adf26ff36c";
+      sha256 = "c5564e5235f990caccae034b77ea835f5b9a3741e2bdcbc5ed750e1b3161af4e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/bg/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/bg/thunderbird-115.10.1.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "c92da8ab1290f5329a12fa7012a0d1b0326bfa43b536b01f686dc97f751b3723";
+      sha256 = "061d15ae7805143fd74d8b16a2c2fcbfed471297d815692c55415c92ffe8bb41";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/br/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/br/thunderbird-115.10.1.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "8ff05ea4ebbd715cdce40c5efff1ce81694831bbe0b41d0095155e4c867adc9b";
+      sha256 = "33e802d7485b46bab1626dc1290db69df39c19434af8ad8dbdaecdb05cd5b2c0";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/ca/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/ca/thunderbird-115.10.1.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "9b210ff3c48526bb4fe0d436d6afbe16c2d0d629670ce5ffb0bef066621f4a1e";
+      sha256 = "6bdd0eb8fe98dca531796228ef3fbc51bca6d2a220111272464192ef9744fa78";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/cak/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/cak/thunderbird-115.10.1.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "9e3c55b3c49219f77b3c081875180a4b47d962912066a1c4450db5753228922f";
+      sha256 = "9430aa1c2e5af6e461cfe7947c00421d32e5d91f69215981f470db14355d53c7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/cs/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/cs/thunderbird-115.10.1.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "d1bbe0569cb2f3a7562b17d150bf2dfca48805a634e57567c7e11bb750c49208";
+      sha256 = "f40ccf3947b4f98306697ffb984ac93ea1777019cb778fd1dd97d5f39c8718e8";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/cy/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/cy/thunderbird-115.10.1.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "b3e86253d181567ea88065a73093e59dbc6462c47d0ce103295588f801655785";
+      sha256 = "694d0e4a7ca2585afb3c8fa8a41e318c5de7fbcbe91627c3acf692974c75685f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/da/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/da/thunderbird-115.10.1.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "9a16ab856922682f56034f155b5363a745ad48e18a01cdc4590bdb486a359575";
+      sha256 = "8b8f5c9895b40ee6dc5d2ef0877325ec0af21ab638abb47c5d952334fcde29aa";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/de/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/de/thunderbird-115.10.1.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "d38742d49daa3a6d3c0a613647be48feb3a7ea51a7905fc7c81438c3fdf8b7b7";
+      sha256 = "f6f498a1e0756248fa06b4b94b52be11026a28cadd1aaab81b49aca3a311f3c1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/dsb/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/dsb/thunderbird-115.10.1.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "59e86ae65167858aafb1e9a364c6e926b26bcb48b7fc4bbe8d054db6624f2a4f";
+      sha256 = "2415f1a021c2005c8646bfa8b75df2115fd6d86c5eabf6bbc23aa499d3a1d045";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/el/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/el/thunderbird-115.10.1.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "176fbbee70d2aca0e1d6183541e299c26fcff4d875093a5191a071c5cafa39bf";
+      sha256 = "57b4f990a15d0a2a9361bf9ec241fbe7b1fa33f7d3da871bec68e32d1b89ee3c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/en-CA/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/en-CA/thunderbird-115.10.1.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "367c79a033ee595af8fb8e50600ac5fcb9d8c364563f8b3cc167d5b1a8fa3a77";
+      sha256 = "3ad955c9557f0a692d7ce8b42cd764e3f9cb9dcba2b5bbb396a9debb40b8c1a4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/en-GB/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/en-GB/thunderbird-115.10.1.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "a53c8bae8328a422e23a3ac3346ef82fb9c211ffb8ce1e41f96e6c9426a79e31";
+      sha256 = "c52eff0e765472a4e6f9db49210e1aad20fcfa422749d7962c7fbc7d92ef86a9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/en-US/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/en-US/thunderbird-115.10.1.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "2bc751e6fe6e8b63d53edb1a0596235cc06ad89d1bdd0e2de16d5d5948c3c95a";
+      sha256 = "66afb5c126670e37b7a127d33c8d93da0eabbf360ee2ece42270535069f2186d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/es-AR/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/es-AR/thunderbird-115.10.1.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "c7ed62c544f0ca1c405cdf6fc69c5833b0d94896301c332b36c5901f1236af94";
+      sha256 = "ab2ba1379c80e1e52971656dcea195d06c0c19d4ccef107a55e92dc8dfc24d0a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/es-ES/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/es-ES/thunderbird-115.10.1.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "8d81ab2fa14116873fbad2e99e2508842abef4730b91d690f51d71737f2e3bc0";
+      sha256 = "4d55e1ac9aca0f85a890e6a014407eeafcd75710157a6c869d03c5d9bb3f010e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/es-MX/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/es-MX/thunderbird-115.10.1.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha256 = "5eda939b29972016c6696e5e7fa43a2b5c4183ea5bd0bd1f4f2dd99119cb5c54";
+      sha256 = "6ab228494d21fe9846aa9370942ef619422b3a65106ad943e5870322f011d2d8";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/et/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/et/thunderbird-115.10.1.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "c58f75ddd48e14ab407f73aff0377e6212b6464494e5f31db69d4d55caee2c83";
+      sha256 = "46b9ed9a8a4244b0660b04acc357b27dbd516bef5b0c82001021a46f72087305";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/eu/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/eu/thunderbird-115.10.1.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "22a4b27fa459545359a2d5c27d145d24906188cb7a0284105e1ad11b0f73dc00";
+      sha256 = "322ef300f4a92bc5263e3fc5aef5a6ce5ff13bcda841af06546c2d580e104b89";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/fi/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/fi/thunderbird-115.10.1.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "d72131bda9fadad25a2cbb4d7b6b61b8f1dabe217b313f13f779a6d5f9bb8b71";
+      sha256 = "f84c400cf83c8676b25669fe9208da4da56e3a88161fea806b39fb61b39ad79d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/fr/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/fr/thunderbird-115.10.1.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "9d18a047151a4238fdd289b7a5bd53ff9ff0a93c630f951fc4e7003e755c0d42";
+      sha256 = "ed2aeb8f849e433771f79bedc8b05ab83cc7a22a0b7c7b4fc333ded3ec0a18d1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/fy-NL/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/fy-NL/thunderbird-115.10.1.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "fb80cd419de4629e89dcbaba9c985896136a333ad058cf191f7f44ba0c83006a";
+      sha256 = "99210d27c75e591355fb641664f8e477b412b79ed545b87f9fc10b7ea7956c5c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/ga-IE/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/ga-IE/thunderbird-115.10.1.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "5a7f3564eaa756bcb62d007942d24e9608d0e0141622a8c8377a5c7b445f8d73";
+      sha256 = "7cb91bef278037efd512f8e5384cb8011ffee3025c0209c9d575d0693523891e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/gd/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/gd/thunderbird-115.10.1.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "69edffe9345a6af183eb4a74dcf9c95a4befc2b16a9742fa3fde18f8b7b9c87f";
+      sha256 = "116149801edfb6166d651eed7752cae466a7998700e2d85e0fa0e89dcb8ed12b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/gl/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/gl/thunderbird-115.10.1.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "421043a75717e547138a2005972245797c96cf88fdaabef364ca4d9b0bf5a1e2";
+      sha256 = "47789526c5de43000f58bcdbb0a88e7fdd67deb5f4fd836236347cf62194b9ea";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/he/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/he/thunderbird-115.10.1.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "2acc9bd99978163980f7e158ae2a313179fbda07835c18089963ceba35bb4781";
+      sha256 = "9f3968f4919398b33bd16c645d86aac5e58d8b713204ea5ac8db06f37f3c8fbe";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/hr/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/hr/thunderbird-115.10.1.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "74754c9cc085c82dd9d37f65879ba9b88ca6af52057d0d30c98a84195b86c505";
+      sha256 = "b5e436bf3c02a0a9085b0a35fac71646dec1f0e83970e7532fcf35dcda8cd1b7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/hsb/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/hsb/thunderbird-115.10.1.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "b7ae135e68fd21af6a4d6970ab5122d5c7ce2de0688e427f6480cab203d27585";
+      sha256 = "6e42557492e0db90f0a42c2c239f8bf052b9c4c43a55d615fa1ec4da5a5c678b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/hu/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/hu/thunderbird-115.10.1.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "2d761be46744974c1a1b929a89d73b27294e2a482904b1add7a9556152c15786";
+      sha256 = "e11733b4f2fd13071fb0d1e25f3f21c0c022016e634f630a98cd5053d0850889";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/hy-AM/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/hy-AM/thunderbird-115.10.1.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "3b0d3f0d40b917624c31d35095cd485d053f12b8312e4053fe47802e82023005";
+      sha256 = "0a13c41658426d99de46f3b7e6a5d2faba81040ac71368d910d1222b9d47b8ff";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/id/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/id/thunderbird-115.10.1.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "7a4569879f566393054e16b010bae3d2f2d5b828695a5dfe6a6774bc537977ad";
+      sha256 = "d9194d612852c4e7cf7ee466e95318716c83a2f7badcba280a31eef10d8296d9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/is/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/is/thunderbird-115.10.1.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "9247aec277ecf41e5cdd77ab8d736761fdd7bb949b8ee1c0fdcfccd74dc8773c";
+      sha256 = "143d425cce754af88da296fd1dd3e40b0a2e125f6d45ca066940efdeeaa92d11";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/it/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/it/thunderbird-115.10.1.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "d1652cfca8c5f080a307c34007c9c78d838cb1acfdc0fc9cd72f36453b018629";
+      sha256 = "130e92f13ad92e110378eee9f2caead36a4280d6380d45390ab6e6d4b7e2bf86";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/ja/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/ja/thunderbird-115.10.1.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "68064850c1e25bc73f22a3ae0fe282f57c8a9f80f40c1e92ef509ba765c65730";
+      sha256 = "9561fc79e72fe60c36313f0e07b14f04cae28a47108832cb3853d5da610c6652";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/ka/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/ka/thunderbird-115.10.1.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "2ea682113f30fadb5e566aba99bfd9d46af001fe96fd0d4621bebbd7d67b963f";
+      sha256 = "f37f5eb50af136c712726c3ed180e564a243ac9b0d87166ec0acf058f6be7bf7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/kab/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/kab/thunderbird-115.10.1.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "033ff18a47270f17cc20e57cca82fecf0568fda0b27389010c3a2f205ccaf016";
+      sha256 = "2923b3671f38b72890e0d8be963ecccfb682ce0e09ff2286d05fc0d86413da45";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/kk/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/kk/thunderbird-115.10.1.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "70c28b0ceec23b1d45810a18c12b4f45f6f8678cd2b1a38909d78862449284f3";
+      sha256 = "c3414484527fb499b4fa1a19010e97b452d1c6a48d0731ec3f8bb7041bc2d400";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/ko/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/ko/thunderbird-115.10.1.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "a5a3117e73878f651526028df9d34c559d8216b44efcf0ca3bd915e987f091d5";
+      sha256 = "4caf7796c7af7e9421d1f20f8b238abd6ef369131e1beb614fcba6d8e15c397a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/lt/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/lt/thunderbird-115.10.1.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "7db1090e0c0927cc4f08ec521b61ad963bef88a78ddc82a02470be4eecf1843d";
+      sha256 = "8c9c7de04c3537013e002dd2833ba9bd0a647e4e01f2d94e9eebef88a67dcae6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/lv/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/lv/thunderbird-115.10.1.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha256 = "e03d64a0b3f577f7711d67e596bb5d5d6cb068cbfbecdc7c54777d36c045e831";
+      sha256 = "63fa8509fbb99621226378d79ad75b0cf7f474dd7403bb8963361c81c9d01c61";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/ms/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/ms/thunderbird-115.10.1.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "abc09d8b1121a4d6ef749df9fef98c0a265b21b2dc2a049f4567b0d97febffd5";
+      sha256 = "9de01e0ede9d4d6196c7b72e08f7abb438681a303b679abbc1f8294448211ab3";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/nb-NO/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/nb-NO/thunderbird-115.10.1.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "5211b558c184d656ab0ca9eeba50537183b97c83ac73e62107e24aed2aafec8a";
+      sha256 = "8eb261abc0f68e42bd048315957acc47665b275bce848372e1b0953e2ab99c26";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/nl/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/nl/thunderbird-115.10.1.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "3f784ee5b0520455ad2aad31c51049cad0050fa6cb0e828522a7bb7d73addbf0";
+      sha256 = "c4aae2a0489d919c4665285b402d113a8efec53d15279eff056d9a576888287b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/nn-NO/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/nn-NO/thunderbird-115.10.1.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "d27a47d442e550b060e39e1a3e91a0b1e8e11ead0f45e5c6f8395e020f4b2901";
+      sha256 = "4495660e73f937a07c2745c6d48fa43a8a159b1d84d8e6859e1a42579f1157e5";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/pa-IN/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/pa-IN/thunderbird-115.10.1.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "622e2923c1c83e510101c2ee75119d7b082f57b8baa4a221c40763a7a112540a";
+      sha256 = "874ae66c39b199981cc02363bed7a2a74c133a80b591785c8c862e7499b17c89";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/pl/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/pl/thunderbird-115.10.1.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "ad244cf40a4b444e9f70d367b97aa41b25380d2b3a74e6ddbee11cd5b96e328f";
+      sha256 = "ae7c458b41e7eecc2581be2801571bac54933372797d291f03acee7311ba784e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/pt-BR/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/pt-BR/thunderbird-115.10.1.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "3f425ff63743d4967f388c10e5f633d0422ba35bda16000198f6aeb4c4638e3f";
+      sha256 = "30912ac7a19d1bbdad39e537f78d512951124a44407eddfc4382c1175cae76de";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/pt-PT/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/pt-PT/thunderbird-115.10.1.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "af59fbcf575bc7bdf056c2c4959461dff3409fab2fa094679b9a49425f355436";
+      sha256 = "2cb2225df1364a1f67911a0cbbe034d62df6fd51b567e5fa8b036273790c3fad";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/rm/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/rm/thunderbird-115.10.1.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "cfe5722c04ca1ea80f92050149a0603399c4a2bfac4ecce636b6de9fd9efb920";
+      sha256 = "09d6d3cdf00a280eb2b1149154150b1ce23e2761d379b1b4eb362422e0ce7584";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/ro/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/ro/thunderbird-115.10.1.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "735c2dc1cf68f4dea40bde5338de3f03daaac48c72d926f1222fcb38ef3a5cc3";
+      sha256 = "fdffa6a81e15bc84f4cb1d48ebc1109413ec10f40ba7ab4a78e8c980fd447683";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/ru/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/ru/thunderbird-115.10.1.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "8d7e34d8c0dffede30632faab6c88df4384053b20484c887e00a70767f528a27";
+      sha256 = "0cea8488bf4537d205b3fab1f98239f7cff85fff6c2f7eab247a3191e089c14e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/sk/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/sk/thunderbird-115.10.1.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "0ad76482313a3ef3263d74031bc5f4c4d09fed95ddfdce16799f6a158db4fb24";
+      sha256 = "eff9c4d36259590e8397cff0ee8ba407e5f116b541f730e5845a2bce70f7a68b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/sl/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/sl/thunderbird-115.10.1.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "7e480b7030e6d50871cbeefcd45be12e3d3afe2035c8e8f34391e87f0632d13b";
+      sha256 = "97db4b1c97a85cc65c16e72e166a1739bbfa20e07be767e5695c10fbdcb86231";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/sq/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/sq/thunderbird-115.10.1.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "70ce1cee01b2c229cd66612316c47da202cf40f7f16724eb3bff81b50b9f64de";
+      sha256 = "f6d3b3a90cc9ec5c794b803675c141c9cc6acbdc6d25093369ecd0c937206f85";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/sr/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/sr/thunderbird-115.10.1.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "6a95ccc4d59a83ac4f9fb05a09b300bd2ba7c9ff519a93230b86cda5afe5b2fa";
+      sha256 = "3f6f0f5222f4481406087b11bca95b122705e60d3050040e31f901960d729aaf";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/sv-SE/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/sv-SE/thunderbird-115.10.1.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "86249dba9674e5f35cc23a69bec3f4c55f9f40259c6c53c24b8d5b9c931b0828";
+      sha256 = "a168edd15476aa8150718de09fdb0d94bee32b9f20dc9cfb4ef942684a96e857";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/th/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/th/thunderbird-115.10.1.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "aa4717d3cf5be13d38a8c9662409cdccb3f0e75e4e0b88a6e1609466b222ed3e";
+      sha256 = "65992ba363ce0378a271cc0d073e64176873be8dfd5a4c6f3378b5e819aeed0a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/tr/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/tr/thunderbird-115.10.1.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "f160d523fdc0263a596748aabf430141ad00845f76c251811ed0e1d5e4ac8804";
+      sha256 = "d1a2c48e4c12977151361ab1264d26b0027fc74a256b7a2ccdd3e38050a14049";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/uk/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/uk/thunderbird-115.10.1.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "2b28cec1ddbb65812a2c2ed8c239f10ec28c89358587450d0a263c738033f7ad";
+      sha256 = "ac72a9b613ea56178c2f5a16ec59a5f4d481b85aed1932689ea1cae328d8e81b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/uz/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/uz/thunderbird-115.10.1.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "391998b0aa13f56f2527ce25f91a78bd68a5740e752e624355bea1a494582db8";
+      sha256 = "0db8b885543185f06d0f5ae4ee18b95046cf00172774ccbd6c79f825e94a0a67";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/vi/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/vi/thunderbird-115.10.1.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "cff0aa2ae9e0103a8a53ab31afcc415f351a8adc2034aaadde9d7a3f0ac92f8e";
+      sha256 = "ce91ae20b5feaa7f0d9a20de5661bfece4b84da32063bcd647309ad0c7a3a342";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/zh-CN/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/zh-CN/thunderbird-115.10.1.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "3c8ea8438c8a98e79636685061efac38ab26707087fe47cb784f4852e74fec6f";
+      sha256 = "ab89a35b926209221fb672bcd9c3a83c636e3c7b95b507926ca6317e5f977b51";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/zh-TW/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/zh-TW/thunderbird-115.10.1.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "925ab3461b2315db94466464cf91a59ec1a81bb736fb488d2270241d37492149";
+      sha256 = "407062f4b5de3e40e44888713a39337b6e223487a76fff0bdb7219154700cfdf";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/af/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/af/thunderbird-115.10.1.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "4c50b55bec1742e702a888ffb02ff1f30362cc271a5175d3063fcc378d3f6633";
+      sha256 = "19b5940f6fba18e0246d1173d2a5fcb8c93d7265ffe8c9028647f9ff0afbc486";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/ar/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/ar/thunderbird-115.10.1.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "4d959f8020872645c2737a4fec6dfb07f542145c90d453cebd933d4742c89a68";
+      sha256 = "9dc9deb45751da0d2d09d0331eaaa89c318f2457d575a2c03bef207f169e8de7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/ast/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/ast/thunderbird-115.10.1.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "a9a137e284afefd0ff8620ce67853b5a51736e9af9e32ac18d5568e49539b77c";
+      sha256 = "5710e364f670e388d9bf6dbc8b1fb7fcded75806a4be249b7ddacc2c24d6da06";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/be/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/be/thunderbird-115.10.1.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "b1c99d634c1410d467e10a3b6a2bd3210327dde6c809434cee6000da7e57c4f7";
+      sha256 = "f7e20df373381cc63c4d52c50c4e9305bd9378c2e2f1d21a4d2f0db36d831156";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/bg/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/bg/thunderbird-115.10.1.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "94c027ce4fd411d7f5c6969ce70b83a1b1713e75dd5ef79261c89ea0c5f08472";
+      sha256 = "8c7332cbbcc3df7be3b6ab2d7e929031c4e349de0aa548b775c6b7af3e63cca3";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/br/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/br/thunderbird-115.10.1.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "33c00ef61021816de04389b14fe7ab97f185d35e162824d166d8f2dea4faa957";
+      sha256 = "4b5621ab96b9a937851698e18347259155803a3cc7d7ac9b7227a3fa203178a7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/ca/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/ca/thunderbird-115.10.1.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "548e53b0186bb328b45fdb741a3181f1e8ba7ecfdf8ef969aeb24d8af5676020";
+      sha256 = "965a5374467b248e52f9508154fecf9d6bb9cb58eb3fd6be240d74a7208650fb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/cak/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/cak/thunderbird-115.10.1.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "145c24539255010e00a7899f980ba5f6c8cc13c6f3925c9c17bbd1f2b125883a";
+      sha256 = "f17a469e28cfc5aa9b2b795c1d7517e076146f87cf534b9fd4a4ecc905858a4a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/cs/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/cs/thunderbird-115.10.1.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "a98f117f5f188f66c120699350778e8ad44c5fd989bfb38055ec1bc8501213c0";
+      sha256 = "802fa9a0d857a973592ae87a94fc9ba3b18c8fc86a3352d90d152c0a7ece0db5";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/cy/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/cy/thunderbird-115.10.1.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "b6be218c10a41afee4094f2ce4077f7fe49c51c8ba6259a81f6127b897654212";
+      sha256 = "c9cba2912211963ca4acccb1bbf9c904e9a79f1c3781a69df76c003bbd1f5c1a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/da/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/da/thunderbird-115.10.1.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "1cfaf7590ff7659e0583a7610290014db437b374d148855a049d2a06006d9020";
+      sha256 = "5c54d287396d2c172f463010bb5be1520a5c7636a6f79435430420943036a364";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/de/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/de/thunderbird-115.10.1.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "0e7319ee0268b364602ee7eee3246b1cda62e573100e7091d5410d9d195bf9f8";
+      sha256 = "c6558305d0207a706fb8f5af595dbfc2515652a732fb7e95646a334335a01a61";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/dsb/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/dsb/thunderbird-115.10.1.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "e7b51ab3de11f681740fccc887731cc816f3efa27a3ece879020e2375d4aeb6e";
+      sha256 = "9eb4d57f121df4714d91ac0a5075face494fb6efea301625ede1b4420c398ff8";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/el/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/el/thunderbird-115.10.1.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "659251286ed9463604dbf1bb753789dadbd1e3b59c029c568bf5865384c07eb4";
+      sha256 = "a96136d8392cdf21af28efe2b512efd45190e97ad420a293cba6d621ca7f2106";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/en-CA/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/en-CA/thunderbird-115.10.1.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "0437ccb4e1d6c5b1fa8f91c3eb32176abc11d757242afab013ded4562b080b04";
+      sha256 = "30d9f5125940c08c77d2c6f2aa2de794fd9abfbdf88640dd56c0ed4e87f33ead";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/en-GB/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/en-GB/thunderbird-115.10.1.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "08c923762d609967decba41884601a5fa7385986220f222f0061e70eba401ae1";
+      sha256 = "9e78d591b35f8aad5811a5cdceaf9ab5d394fd3ad1dade692d21a3ccbec4b14e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/en-US/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/en-US/thunderbird-115.10.1.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "8b5d6e9f13c7686a3945bae5a26f083849d610fbddfb7d9a8467f4402f0186c8";
+      sha256 = "1f459cd30a477a654f91565963ba6ef077c087a8fea98ac36186c41ed78db627";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/es-AR/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/es-AR/thunderbird-115.10.1.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "66c8d5a311caa8dcd7ba497fe8c7dd0eddbe9405f72fe06ed134a8233f544710";
+      sha256 = "17cbdbfc9df3e0f8447f73d8205ff4e126cce613ff596c64dcc99992e6c2bddc";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/es-ES/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/es-ES/thunderbird-115.10.1.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "e00d5af4ba228a9aab68a3a813dd4cc03dbe9dd28dc262b993788bd8ce0d7cb2";
+      sha256 = "a5622a156340409aa1ea7af7b0531741e3024a1fdacd9bc5307a17d596dfe720";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/es-MX/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/es-MX/thunderbird-115.10.1.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha256 = "fefd4a6ebb4888c1d2514299c99ac0dcd910f583be6621064bb8e35bb81e927e";
+      sha256 = "cb69980eafc5209b37606cdd2b6657943d2d4f827450fa0f9bbf64ae31bf8a05";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/et/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/et/thunderbird-115.10.1.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "b1260be6c4e3803b8219fd8b948be6c33db0e03ba79c0b5452ddd95749973992";
+      sha256 = "b8ad3424ba8f4aa2affd9cf03133d64e0c68513983f733c4805962ca0535bd40";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/eu/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/eu/thunderbird-115.10.1.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "831c248aeb1af3a405a280c59533967a26347be767757d494b2fb835519cddc6";
+      sha256 = "800c8f9ae9486d8109bc0e62636b511662042b6115313e4be5e50cb8851b0d8b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/fi/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/fi/thunderbird-115.10.1.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "e2867848f23e12c9e326b575bf5fc5c0f847deebfd8758ef7adaa6ddfcb5fc22";
+      sha256 = "b4e47065f2f91cbd84c16f23f25682dd1928ab966c497d0584cc19eaaf5436a0";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/fr/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/fr/thunderbird-115.10.1.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "2f723caaff319c5a63e92f20c14652fb86e9b5b6b1e47f08ebbb4d5b9e5a5d39";
+      sha256 = "fd47e4c10a7c1c70c34635a899aa03c139666b3b5c9752dcfd7f5d6aaea750d5";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/fy-NL/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/fy-NL/thunderbird-115.10.1.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "6f6f3e9113b61da74599132cc793b12e908fdfe6dbec6e082891e39c7a2d7651";
+      sha256 = "1d690a540600918e3bc8ee664b29cb9855b10c961d2d09bf434d3473ceb98933";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/ga-IE/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/ga-IE/thunderbird-115.10.1.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "802d402c45748b480de1b27d151624ed9c96a2bc93978262e654c561a939db5a";
+      sha256 = "b62a866a69ef782a51e5a0e3ad314e944a0cb63968454d049c5c2112adaff143";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/gd/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/gd/thunderbird-115.10.1.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "8ddd2009c6849bb8ae2e5d14202f87831e2613366eaba5da1dfc65b831a46ffe";
+      sha256 = "35eafe0440625d32249d7cc721f2fde9dc7331f9d4b542682f23f3c3281f584d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/gl/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/gl/thunderbird-115.10.1.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "a726f1269893be461f42f9277d5b6c7f65e2ccfd618735048fa18265390ff633";
+      sha256 = "1a6badeae7defbb158615639fd129a59e0b24db557f5106fe20b85d0b5e0b46e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/he/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/he/thunderbird-115.10.1.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "cb0b69268c2abd876965c70f060d7c67a4682af815500fbbc35869cb8dffd500";
+      sha256 = "12cb6baa362cc0c4147cc75d80bf94d0a5be18dc895aabcc1359df1bd483e096";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/hr/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/hr/thunderbird-115.10.1.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "bf7930a372eb970c4cd16196eedbd471d61f1db3cc142d51a8067e2462419af3";
+      sha256 = "a130fee072cc32f1203da09507e5935aa1669b018a44f7d6ca097119f835e184";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/hsb/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/hsb/thunderbird-115.10.1.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "e83cdd093bdd55b696f42192cd585afb996ea6aa4a58f9ae977a9cb2b2511c9d";
+      sha256 = "5e564ff266867829b963e058a2cecc5da29258acb1a852329e7d57c746e5ad61";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/hu/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/hu/thunderbird-115.10.1.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "a4b5f3b5675b54e12667ab0937a50a8d96869fcd832e9d8d87fd103e5938c6be";
+      sha256 = "c050c63e38cdd80d57b1d06abad5f3810454523ce1f9c2bb4c25ed656d1f3102";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/hy-AM/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/hy-AM/thunderbird-115.10.1.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "9edefe8788e0497edc6e4000a16043f485ce521d5df4baede0645fb16e52311a";
+      sha256 = "56536454c673a14a5166533f695d31168a6a64d14b69a5a344270b8e1a9b9754";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/id/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/id/thunderbird-115.10.1.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "6e30f98b85df9b828e8867b4e58db6b7fd185562fc2195c76ddbe196be23a15a";
+      sha256 = "f6731b88513533b355b73293fac108f77c2a0a4c47e2e5ac4ab560a91c90cc4c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/is/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/is/thunderbird-115.10.1.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "5a9295d0342affda3f2b1aa19ffd65414d7999cc6830e559f3daa74757a514fb";
+      sha256 = "c9ba2344d981c83bf78e38f2d694db8ce34877dbd62cf4fe2657c31e4ddb8420";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/it/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/it/thunderbird-115.10.1.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "bba64e37a0133bb691a4a6686ce5306609a80f445fc8b56e65baa16d7d8055a2";
+      sha256 = "c4e4c6956aff5ccc290a3fec4354c7cfff3bc9370917820208e270211730d3a1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/ja/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/ja/thunderbird-115.10.1.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "1edd799ab0ec6277921783724c4bdcaa34b7e6ff812be387c346db4d0808a649";
+      sha256 = "a998c41e9afc12fb0f79146271a88f45153ec640ccd5c62132f2081cf404f355";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/ka/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/ka/thunderbird-115.10.1.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "84aebac8730987c95f3f5b339b8e20abb107d72c61359bf9c4721c8a2a95805b";
+      sha256 = "20d8145d782954c0647e416a062dff881370bbed4370d122a74f8d0854cc542f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/kab/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/kab/thunderbird-115.10.1.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "1cfddc33c172f410ef42986f7b3cf699924b68f687d962fa72712a167cc0809b";
+      sha256 = "065579cf33edb1ecceb56b5f3fa3a4b1f4f2da93dcf666aef859206fd30f515a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/kk/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/kk/thunderbird-115.10.1.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "729f782298fca07ca2d85546dfab3c76cb65d93ffa667ebbdb9d37ade60bdfe0";
+      sha256 = "691b931acec550b087ec3950bb74f17b040bc0b8f9f9cf475603906a9fcaf5be";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/ko/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/ko/thunderbird-115.10.1.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "1ff325f445014c8de6e20f3751f8e860a7d5926b49db22e6b11da30982d923dd";
+      sha256 = "c91281e38d08a5c738ae3cf1be458566c998c0d65e588b0a463202a6bd19020b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/lt/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/lt/thunderbird-115.10.1.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "f68c2036565210abaa1600edf452f56f0ee2a4ff5abe559c5a5ae91b69eb077f";
+      sha256 = "6b9309f8f3c1191addb96770e4569fadb81de8f807790d9d00ad303d0d47a2e9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/lv/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/lv/thunderbird-115.10.1.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha256 = "2aad0b4d05ae097f9868d44e14d24708b913aee3acb20ff917b31e83aa6b0580";
+      sha256 = "d91fef64dde27d7b756327afa8b115e07c58906fc1bccb98ca893755e34a36bd";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/ms/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/ms/thunderbird-115.10.1.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "0b01eb8435a9d1a517892d510076c1ed6774820fe9194f00565b6febc3f296ed";
+      sha256 = "9f2b25e37d18a39542d60257813d72a7075dca6dee2fe70e437de430cbeb2ee2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/nb-NO/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/nb-NO/thunderbird-115.10.1.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "19c4d4f33c13733e8ac803ac4b31c6dfdce690096a0069e3a5ce98880439089c";
+      sha256 = "44fd3298de7c95033c47831484549fbd8121b463f2e904d51b43c9502e712c09";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/nl/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/nl/thunderbird-115.10.1.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "c2c3cac2d43649bff80c1deadfa277f47436a9ca81c774513f032059a29aa634";
+      sha256 = "067f544982f4174eee55d621a495e9c286f70a70d0ca072668a087e434906a2b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/nn-NO/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/nn-NO/thunderbird-115.10.1.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "aaed36153be0f65e1af44bc25540f88e03500580390f8624a388f0667389e0f8";
+      sha256 = "a60ca5cce0a272b2213312fc86930134c2d513fb8d7d8eea9c77de68f2fdbf0c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/pa-IN/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/pa-IN/thunderbird-115.10.1.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "4035e2465ea039f20982a0e91fd216a39c7ddd0095cfd6ae60e394a48102c392";
+      sha256 = "d5c43a67d0cb9146ef6d9b076ab04c37c22e26ee24e16867f2af497e752a8aab";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/pl/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/pl/thunderbird-115.10.1.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "3e9a503f0fc39064c3d994160bbc3b52a9ab5b1c023a48dca8034407dc505250";
+      sha256 = "0c9df1326d8b72f3492f690c34841fa4558452fd2a386b2724e8433470effda7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/pt-BR/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/pt-BR/thunderbird-115.10.1.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "642caf0a4792c2d101057cd0d7f90e9537571b9e3a8f0b396a4aa5e0564168ab";
+      sha256 = "69fff4ee82f72116bcfabd82fc44fa9878e2d1b378120ab22958784e257b32d4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/pt-PT/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/pt-PT/thunderbird-115.10.1.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "af59efb2183b11a73c019897eda156c55b95ce2d257b1a3124a984ada97120e9";
+      sha256 = "ce4a6b8a0b81e7a481a08222671daf80c9ee1f0f6a41c1e10e9b060d1b64db23";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/rm/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/rm/thunderbird-115.10.1.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "fea0f8a58ba8cd743dc625b9ec788574144cda664040936359a5b3b2c9ef480c";
+      sha256 = "a45d5e83cbaf53a7c7d87e3c573719b03017f6fddfff7badce77b8a29012c404";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/ro/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/ro/thunderbird-115.10.1.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "fe82637776187b797e9472ab3a78fed34fe032b23d0a46c96dfa67da2a0a74c4";
+      sha256 = "8e59f5a9da26c90e2841931c3a54f0416b425b9d084a97370d3794605fe9f815";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/ru/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/ru/thunderbird-115.10.1.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "3fab0c82c60d92bedef1a9e25d2aa9575adb946810f8f3abda7717f89e488ed2";
+      sha256 = "fbdd472bc1d768fb7bc5491772326ffdda0fb48c2754e6dd6352dba20d2d221b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/sk/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/sk/thunderbird-115.10.1.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "d505b5831f7f22a90668913e7993b2219dad771db35bceedc2643828f0c7d783";
+      sha256 = "ffb92d870c91aeb8385d3a5a1aedd86198567861e8a8e9fe249671c42b9f0e8a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/sl/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/sl/thunderbird-115.10.1.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "36cb47d404234d732d103039ab1f313658188b8042eaea0e1a8f5e49d24ff8d1";
+      sha256 = "e291960c5edbaf370afb39593e79e50d896942358fe1b19a0267c5cb68e09bbb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/sq/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/sq/thunderbird-115.10.1.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "3ba43c6e088e6fdca88ee78ca02cafd4b748a68c20ac0ed8cad8e8ba9b636220";
+      sha256 = "613aec7a4f08bf323f75a8517deb27fe4957e7119c45e8c91628dadf51f9ec64";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/sr/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/sr/thunderbird-115.10.1.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "b808b77217c2ff2b9f6e1deb9ba6255356d57885ab1eff1c315f2391b5b8ddb5";
+      sha256 = "55b488eaf7dcc4fd0e1a8ca4720d82960a5a93a32e729f5b0b3b95e535971776";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/sv-SE/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/sv-SE/thunderbird-115.10.1.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "7d6eb148002d3514c38d8f42d43263a631b1c5e47e4134e643dac542f283a6f5";
+      sha256 = "e3ace007963edaa894c97701bf80acf2cdbd1609e2d0d23aeee56ec53aa4fc79";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/th/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/th/thunderbird-115.10.1.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "14b851b5383cf3d55de003ed10d17ef36c3b30559ba88cc9132e525578e4af66";
+      sha256 = "17a3032090164feaa68196709e19d8a255beed609e3b178ff08009efceb39c2c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/tr/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/tr/thunderbird-115.10.1.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "73193cffd5587d744715d649fb6cd5ed5d030b0ba86084d21f82bb9f591d5e35";
+      sha256 = "5eea9db6abfa816f30b0bfb0e6da6a5b9777edaea1fc451cce6ed3a5a44f7df4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/uk/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/uk/thunderbird-115.10.1.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "e52afbc0d3883e2984e5e37e911dec0e04fa583db3b0981833c3f29a2764fbba";
+      sha256 = "300d12c8eb0f735996bcd443adba9252d5ec4267cf9348ecff8f4a9f22ad3afe";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/uz/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/uz/thunderbird-115.10.1.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "160db3d3c7ea9c10337397a81fd9360c160aa0c5195d1be70d3ef3f714e85745";
+      sha256 = "bc6707522482d5b01e2d908040f878322e79bee9e2121c041b340cf12634058f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/vi/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/vi/thunderbird-115.10.1.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "3ea81e0cb98da53b7b640d52454cf2cdebe2cffadbcad2b683a8e8da13659abf";
+      sha256 = "b4cd7d36debe223a05a1539e33c951564aea27d392cd0d1f081f14b3cade6d7e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/zh-CN/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/zh-CN/thunderbird-115.10.1.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "f54999ae86a4eea357e246abe4bfa6baa52f418c1d3ec882c48bcb7dfc4c8e11";
+      sha256 = "956851f3eabd6345ebeb6719dc3e80dd30b66bf42c1078e02996dc5b0ea66e67";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/zh-TW/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/zh-TW/thunderbird-115.10.1.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "8057a54b11112fc67661ffd3fb7f8ac4d532fee4c4c4029f10a21b7f5a9cf10e";
+      sha256 = "93561ed61edb07a8a4882e0687db51238d31f7d6c04919b39b3e88156d3be132";
     }
     ];
 }
diff --git a/pkgs/applications/networking/mailreaders/tutanota-desktop/default.nix b/pkgs/applications/networking/mailreaders/tutanota-desktop/default.nix
index 7e0430c1cd82c..29a892942018d 100644
--- a/pkgs/applications/networking/mailreaders/tutanota-desktop/default.nix
+++ b/pkgs/applications/networking/mailreaders/tutanota-desktop/default.nix
@@ -17,8 +17,6 @@ appimageTools.wrapType2 rec {
   extraInstallCommands =
     let appimageContents = appimageTools.extract { inherit pname version src; };
     in ''
-      mv $out/bin/${pname}-${version} $out/bin/${pname}
-
       install -Dm 444 ${appimageContents}/tutanota-desktop.desktop -t $out/share/applications
       install -Dm 444 ${appimageContents}/tutanota-desktop.png -t $out/share/pixmaps
 
diff --git a/pkgs/applications/networking/n8n/default.nix b/pkgs/applications/networking/n8n/default.nix
index 20775c4ed4afe..7677abfb0ccf3 100644
--- a/pkgs/applications/networking/n8n/default.nix
+++ b/pkgs/applications/networking/n8n/default.nix
@@ -10,6 +10,7 @@ nodePackages.n8n.override {
   nativeBuildInputs = [
     pkgs.nodePackages.node-pre-gyp
     pkgs.which
+    pkgs.xcbuild
   ];
 
   buildInputs = [
@@ -30,6 +31,9 @@ nodePackages.n8n.override {
   # makes libmongocrypt bindings not look for static libraries in completely wrong places
   BUILD_TYPE = "dynamic";
 
+  # Disable NAPI_EXPERIMENTAL to allow to build with Node.js≥18.20.0.
+  NIX_CFLAGS_COMPILE = "-DNODE_API_EXPERIMENTAL_NOGC_ENV_OPT_OUT";
+
   dontNpmInstall = true;
 
   passthru = {
diff --git a/pkgs/applications/networking/netmaker/default.nix b/pkgs/applications/networking/netmaker/default.nix
index 6a3de1308753d..2ec3c24b69fec 100644
--- a/pkgs/applications/networking/netmaker/default.nix
+++ b/pkgs/applications/networking/netmaker/default.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "netmaker";
-  version = "0.23.0";
+  version = "0.24.0";
 
   src = fetchFromGitHub {
     owner = "gravitl";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-M2DY+C0g8G+DjicMeT3Ojn4GzG7vaE1OHKSy7O6T1Kk=";
+    hash = "sha256-eY0L8dgFTZmkwSXYKCOOnNbFgxTydNoVHEoZBS3oMwM=";
   };
 
-  vendorHash = "sha256-SUu0OvHCmlssH9HbAaMbiG0gF/ezxgf1n0HBiB/2PTs=";
+  vendorHash = "sha256-RRSkdDo6N8742YjzORGOTCzqH7WcSraJger8XOryqio=";
 
   inherit subPackages;
 
diff --git a/pkgs/applications/networking/newsreaders/raven-reader/default.nix b/pkgs/applications/networking/newsreaders/raven-reader/default.nix
index 46970cbef1187..811a0d747fa76 100644
--- a/pkgs/applications/networking/newsreaders/raven-reader/default.nix
+++ b/pkgs/applications/networking/newsreaders/raven-reader/default.nix
@@ -14,8 +14,6 @@ appimageTools.wrapType2 {
   inherit pname version src;
 
   extraInstallCommands = ''
-    mv $out/bin/${pname}-${version} $out/bin/${pname}
-
     mkdir -p $out/share/${pname}
     cp -a ${appimageContents}/locales $out/share/${pname}
     cp -a ${appimageContents}/resources $out/share/${pname}
diff --git a/pkgs/applications/networking/nextcloud-client/0001-Explicitly-copy-dbus-files-into-the-store-dir.patch b/pkgs/applications/networking/nextcloud-client/0001-Explicitly-copy-dbus-files-into-the-store-dir.patch
index 260a7dd4ddd7e..56cc005733a77 100644
--- a/pkgs/applications/networking/nextcloud-client/0001-Explicitly-copy-dbus-files-into-the-store-dir.patch
+++ b/pkgs/applications/networking/nextcloud-client/0001-Explicitly-copy-dbus-files-into-the-store-dir.patch
@@ -8,12 +8,13 @@ Subject: [PATCH] Explicitly copy dbus files into the store dir
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/shell_integration/libcloudproviders/CMakeLists.txt b/shell_integration/libcloudproviders/CMakeLists.txt
-index 2e7349ef7..512d4b188 100644
+index b4434d0..b57e033 100644
 --- a/shell_integration/libcloudproviders/CMakeLists.txt
 +++ b/shell_integration/libcloudproviders/CMakeLists.txt
-@@ -1,5 +1,6 @@
- macro(dbus_add_activation_service _sources)
+@@ -4,6 +4,7 @@ if(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.28.0")
+ else()
      pkg_get_variable(_install_dir dbus-1 session_bus_services_dir)
+ endif()
 +    set(_install_dir "${CMAKE_INSTALL_DATADIR}/dbus-1/service")
      foreach (_i ${_sources})
          get_filename_component(_service_file ${_i} ABSOLUTE)
diff --git a/pkgs/applications/networking/nextcloud-client/default.nix b/pkgs/applications/networking/nextcloud-client/default.nix
index a6d88fc686b0f..7e78fb5e65878 100644
--- a/pkgs/applications/networking/nextcloud-client/default.nix
+++ b/pkgs/applications/networking/nextcloud-client/default.nix
@@ -26,7 +26,7 @@
 
 stdenv.mkDerivation rec {
   pname = "nextcloud-client";
-  version = "3.12.3";
+  version = "3.13.0";
 
   outputs = [ "out" "dev" ];
 
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
     owner = "nextcloud";
     repo = "desktop";
     rev = "v${version}";
-    hash = "sha256-ScWkEOx2tHoCQbFwBvJQgk2YoYOTPi3PrVsaDNJBEUI=";
+    hash = "sha256-i4vQGH9NSxIrLaPdCEh+WN6i6NQilH6uO4dSk/mhLi8=";
   };
 
   patches = [
diff --git a/pkgs/applications/networking/nextdns/default.nix b/pkgs/applications/networking/nextdns/default.nix
index 678e9f68ee214..7699d5d399c81 100644
--- a/pkgs/applications/networking/nextdns/default.nix
+++ b/pkgs/applications/networking/nextdns/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "nextdns";
-  version = "1.42.0";
+  version = "1.43.0";
 
   src = fetchFromGitHub {
     owner = "nextdns";
     repo = "nextdns";
     rev = "v${version}";
-    sha256 = "sha256-aQUz6FK04h3nzieK9fX7odVVt/zcdhXlX3T1Z1rN/ak=";
+    sha256 = "sha256-5aznAAO53EFeq/fap10ARGerKzQAvLx0zOeG6OWkymw=";
   };
 
-  vendorHash = "sha256-DATSGSFRMrX972CWCiSIlOhDuAG3zcVyuILZ3IpVirM=";
+  vendorHash = "sha256-U5LJF1RX0ZS0PhjQTZKXrJo89WPfSZaVbgskWcYNlJY=";
 
   ldflags = [ "-s" "-w" "-X main.version=${version}" ];
 
diff --git a/pkgs/applications/networking/p2p/flood/default.nix b/pkgs/applications/networking/p2p/flood/default.nix
index 8ee94f17e50cd..f31c214b190c1 100644
--- a/pkgs/applications/networking/p2p/flood/default.nix
+++ b/pkgs/applications/networking/p2p/flood/default.nix
@@ -5,16 +5,16 @@
 
 buildNpmPackage rec {
   pname = "flood";
-  version = "unstable-2023-06-03";
+  version = "4.8.0";
 
   src = fetchFromGitHub {
     owner = "jesec";
     repo = pname;
-    rev = "2b652f8148dab7134eeeb201b9d81dd6b8bda074";
-    hash = "sha256-wI6URPGUZUbydSgNaHN2C5IA2x/HHjBWIRT6H6iZU/0=";
+    rev = "v${version}";
+    hash = "sha256-hth8tk2DHuBGNAXdjknbdQinuwWJ//QF0e23neeTExw=";
   };
 
-  npmDepsHash = "sha256-XmDnvq+ni5TOf3UQFc4JvGI3LiGpjbrLAocRvrW8qgk=";
+  npmDepsHash = "sha256-WlQ/u7yIbuFETsmbW7ddAOO7OVrNPOXR3ja3N0aFWRE=";
 
   meta = with lib; {
     description = "Modern web UI for various torrent clients with a Node.js backend and React frontend";
diff --git a/pkgs/applications/networking/p2p/libutp/3.4.nix b/pkgs/applications/networking/p2p/libutp/3.4.nix
index 6f543789fd610..35a3b0a8f6591 100644
--- a/pkgs/applications/networking/p2p/libutp/3.4.nix
+++ b/pkgs/applications/networking/p2p/libutp/3.4.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libutp";
-  version = "unstable-2023-11-14";
+  version = "0-unstable-2023-11-14";
 
   src = fetchFromGitHub {
     # Use transmission fork from post-3.4-transmission branch
diff --git a/pkgs/applications/networking/p2p/storrent/default.nix b/pkgs/applications/networking/p2p/storrent/default.nix
index 469eae7987c85..a4dc0b459cfd8 100644
--- a/pkgs/applications/networking/p2p/storrent/default.nix
+++ b/pkgs/applications/networking/p2p/storrent/default.nix
@@ -21,6 +21,6 @@ buildGoModule rec {
     mainProgram = "storrent";
     license = licenses.mit;
     platforms = platforms.linux;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/applications/networking/p2p/transgui/default.nix b/pkgs/applications/networking/p2p/transgui/default.nix
index 707ff45b34981..70259e087bb83 100644
--- a/pkgs/applications/networking/p2p/transgui/default.nix
+++ b/pkgs/applications/networking/p2p/transgui/default.nix
@@ -4,7 +4,7 @@
 
 stdenv.mkDerivation rec {
   pname = "transgui";
-  version = "unstable-2024-02-26";
+  version = "5.18.0-unstable-2024-02-26";
 
   src = fetchFromGitHub {
     owner = "transmission-remote-gui";
@@ -60,7 +60,9 @@ stdenv.mkDerivation rec {
     cp -r "./lang" "$out/share/transgui"
   '';
 
-  passthru.updateScript = unstableGitUpdater { };
+  passthru.updateScript = unstableGitUpdater {
+    tagPrefix = "v";
+  };
 
   meta = {
     description = "A cross platform front-end for the Transmission BitTorrent client";
diff --git a/pkgs/applications/networking/p2p/xd/default.nix b/pkgs/applications/networking/p2p/xd/default.nix
index 8283a2ec4beee..b6bd6af3e017b 100644
--- a/pkgs/applications/networking/p2p/xd/default.nix
+++ b/pkgs/applications/networking/p2p/xd/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "XD";
-  version = "0.4.4";
+  version = "0.4.5";
 
   src = fetchFromGitHub {
     owner = "majestrate";
     repo = "XD";
     rev = "v${version}";
-    sha256 = "sha256-YUstYGIED6ivt+p+aHIK76dLCj+xjytWnZrra49cCi8=";
+    sha256 = "sha256-u8cUcxNW2jAWxVn1hDHS2cpIpcyv4lwx1zytlzPPdv4=";
   };
 
-  vendorHash = "sha256-wO+IICtGVHhrPa1JUwlx+PuNS32FJNKYmboLd3lFl4w=";
+  vendorHash = "sha256-ZD7PZJcY7qWHEQOk5I9IlMup0vbYYaRvVau5Go7ocno=";
 
   nativeCheckInputs = [ perl ];
 
diff --git a/pkgs/applications/networking/remote/anydesk/default.nix b/pkgs/applications/networking/remote/anydesk/default.nix
index 08e428b18b07a..5053de0ecb352 100644
--- a/pkgs/applications/networking/remote/anydesk/default.nix
+++ b/pkgs/applications/networking/remote/anydesk/default.nix
@@ -7,14 +7,14 @@ let
   description = "Desktop sharing application, providing remote support and online meetings";
 in stdenv.mkDerivation rec {
   pname = "anydesk";
-  version = "6.3.1";
+  version = "6.3.2";
 
   src = fetchurl {
     urls = [
       "https://download.anydesk.com/linux/anydesk-${version}-amd64.tar.gz"
       "https://download.anydesk.com/linux/generic-linux/anydesk-${version}-amd64.tar.gz"
     ];
-    hash = "sha256-qVksva6+EfAQiOexP8NlDSCR5Ab2WGsuCG4BD87rlag=";
+    hash = "sha256-nSY4qHRsEvQk4M3JDHalAk3C6Y21WlfDQ2Gpp6/jjMs=";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/networking/remote/rustdesk/default.nix b/pkgs/applications/networking/remote/rustdesk/default.nix
index ed3027afe84be..d220b87f2a22d 100644
--- a/pkgs/applications/networking/remote/rustdesk/default.nix
+++ b/pkgs/applications/networking/remote/rustdesk/default.nix
@@ -31,6 +31,7 @@
 , darwin
 , alsa-lib
 , makeDesktopItem
+, copyDesktopItems
 }:
 
 rustPlatform.buildRustPackage rec {
@@ -83,6 +84,7 @@ rustPlatform.buildRustPackage rec {
   ];
 
   nativeBuildInputs = [
+    copyDesktopItems
     pkg-config
     rustPlatform.bindgenHook
     wrapGAppsHook
diff --git a/pkgs/applications/networking/remote/vmware-horizon-client/default.nix b/pkgs/applications/networking/remote/vmware-horizon-client/default.nix
index da92226507eeb..6b1630594be0f 100644
--- a/pkgs/applications/networking/remote/vmware-horizon-client/default.nix
+++ b/pkgs/applications/networking/remote/vmware-horizon-client/default.nix
@@ -148,6 +148,6 @@ stdenv.mkDerivation {
     homepage = "https://www.vmware.com/go/viewclients";
     license = licenses.unfree;
     platforms = [ "x86_64-linux" ];
-    maintainers = with maintainers; [ buckley310 ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/applications/networking/seaweedfs/default.nix b/pkgs/applications/networking/seaweedfs/default.nix
index b41e535b0535e..91461f9abc4a3 100644
--- a/pkgs/applications/networking/seaweedfs/default.nix
+++ b/pkgs/applications/networking/seaweedfs/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "seaweedfs";
-  version = "3.62";
+  version = "3.65";
 
   src = fetchFromGitHub {
     owner = "seaweedfs";
     repo = "seaweedfs";
     rev = version;
-    hash = "sha256-z4RyrrM27krm54iVWKDbMB14MiiydLj4Z/RdjYMZxh0=";
+    hash = "sha256-+HSdOP0ls8OKIFlI6qIsyhDY+4+//cbcEFL9w8rJ5i0=";
   };
 
-  vendorHash = "sha256-WAGuaL8kDtMUDkHetWagCGZS91Y3Tg2DV2StKgRpuIg=";
+  vendorHash = "sha256-53HX4WvAQkrEa2v0PzaRwy6tMVqTB5UEWDHhDwCQk18=";
 
   subPackages = [ "weed" ];
 
diff --git a/pkgs/applications/networking/shellhub-agent/default.nix b/pkgs/applications/networking/shellhub-agent/default.nix
index 66662b7f058f4..071425dedc005 100644
--- a/pkgs/applications/networking/shellhub-agent/default.nix
+++ b/pkgs/applications/networking/shellhub-agent/default.nix
@@ -11,18 +11,18 @@
 
 buildGoModule rec {
   pname = "shellhub-agent";
-  version = "0.14.3";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "shellhub-io";
     repo = "shellhub";
     rev = "v${version}";
-    hash = "sha256-XnkU/I41x6JqrH5D6JGw1fgdiNfiMOBy9DUUXzKwkGg=";
+    hash = "sha256-533GGzSlpF9Rz8SrV0x6Hea/H8WxujuPF3cwmL5vdCw=";
   };
 
   modRoot = "./agent";
 
-  vendorHash = "sha256-nuFgJc1xQU4X86ojdFzs+9Gp3HDLsw3tkMcprlXCrko=";
+  vendorHash = "sha256-F3di9oTuE7qWzvAbHMkrSG+hkEs7FpEo4tLX6dCdklY=";
 
   ldflags = [ "-s" "-w" "-X main.AgentVersion=v${version}" ];
 
diff --git a/pkgs/applications/networking/station/default.nix b/pkgs/applications/networking/station/default.nix
index 43392ae28e483..9712de8fbe4a3 100644
--- a/pkgs/applications/networking/station/default.nix
+++ b/pkgs/applications/networking/station/default.nix
@@ -3,7 +3,6 @@
 let
   pname = "station";
   version = "1.52.2";
-  name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://github.com/getstation/desktop-app-releases/releases/download/${version}/Station-${version}-x86_64.AppImage";
@@ -11,10 +10,10 @@ let
   };
 
   appimageContents = appimageTools.extractType2 {
-    inherit name src;
+    inherit pname version src;
   };
 in appimageTools.wrapType2 rec {
-  inherit name src;
+  inherit pname version src;
 
   profile = ''
     export LC_ALL=C.UTF-8
@@ -23,7 +22,6 @@ in appimageTools.wrapType2 rec {
   multiArch = false;
   extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs;
   extraInstallCommands = ''
-    mv $out/bin/{${name},${pname}}
     install -m 444 -D ${appimageContents}/browserx.desktop $out/share/applications/browserx.desktop
     install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/512x512/apps/browserx.png \
       $out/share/icons/hicolor/512x512/apps/browserx.png
diff --git a/pkgs/applications/networking/sync/rclone/default.nix b/pkgs/applications/networking/sync/rclone/default.nix
index 3b9727e2914ab..0ffd47435ff2f 100644
--- a/pkgs/applications/networking/sync/rclone/default.nix
+++ b/pkgs/applications/networking/sync/rclone/default.nix
@@ -64,6 +64,6 @@ buildGoModule rec {
     changelog = "https://github.com/rclone/rclone/blob/v${version}/docs/content/changelog.md";
     license = licenses.mit;
     mainProgram = "rclone";
-    maintainers = with maintainers; [ marsam SuperSandro2000 ];
+    maintainers = with maintainers; [ SuperSandro2000 tomfitzhenry ];
   };
 }
diff --git a/pkgs/applications/networking/sync/wdt/default.nix b/pkgs/applications/networking/sync/wdt/default.nix
index 521453e5ecb89..34eef64b9f796 100644
--- a/pkgs/applications/networking/sync/wdt/default.nix
+++ b/pkgs/applications/networking/sync/wdt/default.nix
@@ -14,7 +14,7 @@
 
 stdenv.mkDerivation {
   pname = "wdt";
-  version = "unstable-2024-02-05";
+  version = "1.27.1612021-unstable-2024-02-05";
 
   src = fetchFromGitHub {
     owner = "facebook";
@@ -37,7 +37,9 @@ stdenv.mkDerivation {
   ];
 
   passthru = {
-    updateScript = unstableGitUpdater { };
+    updateScript = unstableGitUpdater {
+      tagPrefix = "v";
+    };
   };
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix
index 70c395066107d..99d2f65bf14c2 100644
--- a/pkgs/applications/networking/syncthing/default.nix
+++ b/pkgs/applications/networking/syncthing/default.nix
@@ -66,7 +66,7 @@ let
         description = "Open Source Continuous File Synchronization";
         changelog = "https://github.com/syncthing/syncthing/releases/tag/v${version}";
         license = licenses.mpl20;
-        maintainers = with maintainers; [ joko peterhoeg andrew-d ];
+        maintainers = with maintainers; [ joko peterhoeg ];
         mainProgram = target;
         platforms = platforms.unix;
       };
diff --git a/pkgs/applications/networking/taler/default.nix b/pkgs/applications/networking/taler/default.nix
deleted file mode 100644
index babdff54f1856..0000000000000
--- a/pkgs/applications/networking/taler/default.nix
+++ /dev/null
@@ -1,147 +0,0 @@
-{ lib, stdenv, fetchgit, curl, gnunet, jansson, libgcrypt, libmicrohttpd
-, qrencode, libsodium, libtool, libunistring, pkg-config, postgresql
-, autoreconfHook, python3, recutils, wget, jq, gettext, texinfo
-}:
-
-let
-  version = "0.10.1";
-
-  taler-wallet-core = fetchgit {
-    url = "https://git.taler.net/wallet-core.git";
-    rev = "v${version}";
-    hash = "sha256-sgiJd1snN9JDqS7IUeORKL60Gcm7XwL/JCX3sNRDTdY=";
-  };
-
-  taler-exchange = stdenv.mkDerivation {
-    pname = "taler-exchange";
-    inherit version;
-
-    src = fetchgit {
-      url = "https://git.taler.net/exchange.git";
-      rev = "v${version}";
-      fetchSubmodules = true;
-      hash = "sha256-SKnMep8bMQaJt4r3u0SrzwYSuFbzv4RnflbutSqwtPg=";
-
-      # When fetching submodules without the .git folder we get the following error:
-      # "Server does not allow request for unadvertised object"
-      leaveDotGit = true;
-      postFetch = ''
-        rm -rf $out/.git
-      '';
-    };
-
-    nativeBuildInputs = [
-      autoreconfHook
-      pkg-config
-    ];
-    buildInputs = [
-      libgcrypt
-      libmicrohttpd
-      jansson
-      libsodium
-      postgresql
-      curl
-      recutils
-      gettext
-      texinfo # Fix 'makeinfo' is missing on your system.
-      libunistring
-      python3.pkgs.jinja2
-      # jq is necessary for some tests and is checked by configure script
-      jq
-    ];
-    propagatedBuildInputs = [ gnunet ];
-
-    # From ./bootstrap
-    preAutoreconf = ''
-      ./contrib/gana-generate.sh
-      pushd contrib
-      find wallet-core/aml-backoffice/ -type f -printf '  %p \\\n' | sort > Makefile.am.ext
-      truncate -s -2 Makefile.am.ext
-      cat Makefile.am.in Makefile.am.ext >> Makefile.am
-      popd
-    '';
-
-    enableParallelBuilding = true;
-
-    nativeCheckInputs = [ wget curl ];
-    doInstallCheck = true;
-    checkTarget = "check";
-
-    meta = with lib; {
-      description = ''
-        Taler is an electronic payment system providing the ability to pay
-        anonymously using digital cash.  Taler consists of a network protocol
-        definition (using a RESTful API over HTTP), a Exchange (which creates
-        digital coins), a Wallet (which allows customers to manage, store and
-        spend digital coins), and a Merchant website which allows customers to
-        spend their digital coins.  Naturally, each Merchant is different, but
-        Taler includes code examples to help Merchants integrate Taler as a
-        payment system.
-      '';
-      homepage = "https://taler.net/";
-      license = licenses.agpl3Plus;
-      maintainers = with maintainers; [ astro ];
-      platforms = platforms.linux;
-    };
-  };
-
-  taler-merchant = stdenv.mkDerivation {
-    pname = "taler-merchant";
-    inherit version;
-
-    src = fetchgit {
-      url = "https://git.taler.net/merchant.git";
-      rev = "v${version}";
-      fetchSubmodules = true;
-      hash = "sha256-8VpoyloLpd/HckSIRU6IclWUXQyEHqlcNdoJI9U3t0Y=";
-    };
-    postUnpack = ''
-      ln -s ${taler-wallet-core}/spa.html $sourceRoot/contrib/
-    '';
-
-    nativeBuildInputs = [ pkg-config autoreconfHook ];
-    buildInputs = taler-exchange.buildInputs ++ [
-      qrencode
-      taler-exchange
-      # for ltdl.h
-      libtool
-    ];
-    propagatedBuildInputs = [ gnunet ];
-
-    # From ./bootstrap
-    preAutoreconf = ''
-      pushd contrib
-      find wallet-core/backoffice/ -type f -printf '  %p \\\n' | sort > Makefile.am.ext
-      truncate -s -2 Makefile.am.ext
-      cat Makefile.am.in Makefile.am.ext >> Makefile.am
-      popd
-    '';
-    configureFlags = [
-      "--with-gnunet=${gnunet}"
-      "--with-exchange=${taler-exchange}"
-    ];
-
-    enableParallelBuilding = true;
-
-    nativeCheckInputs = [ jq ];
-    doInstallCheck = true;
-    checkTarget = "check";
-
-    meta = with lib; {
-      description = ''
-        This is the GNU Taler merchant backend. It provides the logic that should run
-        at every GNU Taler merchant.  The GNU Taler merchant is a RESTful backend that
-        can be used to setup orders and process payments.  This component allows
-        merchants to receive payments without invading the customers' privacy. Of
-        course, this applies mostly for digital goods, as the merchant does not need
-        to know the customer's physical address.
-      '';
-      homepage = "https://taler.net/";
-      license = licenses.agpl3Plus;
-      maintainers = with maintainers; [ astro ];
-      platforms = platforms.linux;
-    };
-  };
-in {
-  inherit taler-exchange taler-merchant;
-}
diff --git a/pkgs/applications/networking/trayscale/default.nix b/pkgs/applications/networking/trayscale/default.nix
index 33c7666fcf4e4..e5ab2e2a1a85d 100644
--- a/pkgs/applications/networking/trayscale/default.nix
+++ b/pkgs/applications/networking/trayscale/default.nix
@@ -50,7 +50,7 @@ buildGoModule rec {
     description = "An unofficial GUI wrapper around the Tailscale CLI client";
     homepage = "https://github.com/DeedleFake/trayscale";
     license = licenses.mit;
-    maintainers = with maintainers; [ patka ];
+    maintainers = [ ];
     mainProgram = "trayscale";
   };
 }
diff --git a/pkgs/applications/networking/xpipe/default.nix b/pkgs/applications/networking/xpipe/default.nix
index 9798ca2283305..c986b4a62455c 100644
--- a/pkgs/applications/networking/xpipe/default.nix
+++ b/pkgs/applications/networking/xpipe/default.nix
@@ -33,14 +33,14 @@ let
   }.${system} or throwSystem;
 
   hash = {
-    x86_64-linux = "sha256-s/1XyEXOyvAQNf32ckKotQ4jYdlo/Y+O9PY3wIUs80A=";
+    x86_64-linux = "sha256-3KMmMDoaYYMKuuqLof/LfdCs1d4I70L2TDxmzvx4Vq0=";
   }.${system} or throwSystem;
 
   displayname = "XPipe";
 
 in stdenvNoCC.mkDerivation rec {
   pname = "xpipe";
-  version = "8.6";
+  version = "9.0";
 
   src = fetchzip {
     url = "https://github.com/xpipe-io/xpipe/releases/download/${version}/xpipe-portable-linux-${arch}.tar.gz";
diff --git a/pkgs/applications/office/appflowy/default.nix b/pkgs/applications/office/appflowy/default.nix
index ec0cd9534b149..33783ed01b4ba 100644
--- a/pkgs/applications/office/appflowy/default.nix
+++ b/pkgs/applications/office/appflowy/default.nix
@@ -13,11 +13,11 @@
 
 stdenv.mkDerivation rec {
   pname = "appflowy";
-  version = "0.5.4";
+  version = "0.5.5";
 
   src = fetchzip {
     url = "https://github.com/AppFlowy-IO/appflowy/releases/download/${version}/AppFlowy-${version}-linux-x86_64.tar.gz";
-    hash = "sha256-gIM4CQvPkQIWvHXYPwr4yiDY1mUuOmubdqkOmHNssVo=";
+    hash = "sha256-sDA//ARuzU0q2V3jhFXGhaQaeF0jsDRbtdHCBTgIL8U=";
     stripRoot = false;
   };
 
diff --git a/pkgs/applications/office/espanso/default.nix b/pkgs/applications/office/espanso/default.nix
index 1b02f3be80eca..daa0114b018ca 100644
--- a/pkgs/applications/office/espanso/default.nix
+++ b/pkgs/applications/office/espanso/default.nix
@@ -148,7 +148,7 @@ rustPlatform.buildRustPackage rec {
     mainProgram = "espanso";
     homepage = "https://espanso.org";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ kimat thehedgeh0g ];
+    maintainers = with maintainers; [ kimat pyrox0 ];
     platforms = platforms.unix;
 
     longDescription = ''
diff --git a/pkgs/applications/office/mendeley/default.nix b/pkgs/applications/office/mendeley/default.nix
index 03eee188ac565..c8ea46d0978e6 100644
--- a/pkgs/applications/office/mendeley/default.nix
+++ b/pkgs/applications/office/mendeley/default.nix
@@ -23,7 +23,7 @@ in appimageTools.wrapType2 {
   inherit pname version src;
 
   extraInstallCommands = ''
-    mv $out/bin/$name $out/bin/${executableName}
+    mv $out/bin/$pname $out/bin/${executableName}
     install -m 444 -D ${appimageContents}/${executableName}.desktop $out/share/applications/${executableName}.desktop
     ${imagemagick}/bin/convert ${appimageContents}/${executableName}.png -resize 512x512 ${pname}_512.png
     install -m 444 -D ${pname}_512.png $out/share/icons/hicolor/512x512/apps/${executableName}.png
diff --git a/pkgs/applications/office/notion-app-enhanced/default.nix b/pkgs/applications/office/notion-app-enhanced/default.nix
index e9206f9e51532..61dd21920ae1d 100644
--- a/pkgs/applications/office/notion-app-enhanced/default.nix
+++ b/pkgs/applications/office/notion-app-enhanced/default.nix
@@ -2,20 +2,17 @@
 let
   pname = "notion-app-enhanced";
   version = "2.0.18-1";
-  name = "${pname}-v${version}";
 
   src = fetchurl {
     url = "https://github.com/notion-enhancer/notion-repackaged/releases/download/v${version}/Notion-Enhanced-${version}.AppImage";
     sha256 = "sha256-SqeMnoMzxxaViJ3NPccj3kyMc1xvXWULM6hQIDZySWY=";
   };
 
-  appimageContents = appimageTools.extract { inherit name src; };
+  appimageContents = appimageTools.extract { inherit pname version src; };
 in appimageTools.wrapType2 {
-  inherit name src;
+  inherit pname version src;
 
   extraInstallCommands = ''
-    mv $out/bin/${name} $out/bin/${pname}
-
     install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications
     substituteInPlace $out/share/applications/${pname}.desktop \
       --replace 'Exec=AppRun' 'Exec=${pname}'
diff --git a/pkgs/applications/office/p3x-onenote/default.nix b/pkgs/applications/office/p3x-onenote/default.nix
index c70f3aa52c407..730a9d81b2f55 100644
--- a/pkgs/applications/office/p3x-onenote/default.nix
+++ b/pkgs/applications/office/p3x-onenote/default.nix
@@ -1,8 +1,8 @@
 { lib, stdenv, appimageTools, desktop-file-utils, fetchurl }:
 
 let
+  pname = "p3x-onenote";
   version = "2023.4.117";
-  name = "p3x-onenote-${version}";
 
   plat = {
     aarch64-linux = "-arm64";
@@ -22,18 +22,17 @@ let
   };
 
   appimageContents = appimageTools.extractType2 {
-    inherit name src;
+    inherit pname version src;
   };
 in
 appimageTools.wrapType2 rec {
-  inherit name src;
+  inherit pname version src;
 
   extraInstallCommands = ''
     mkdir -p $out/share/pixmaps $out/share/licenses/p3x-onenote
     cp ${appimageContents}/p3x-onenote.png $out/share/pixmaps/
     cp ${appimageContents}/p3x-onenote.desktop $out
     cp ${appimageContents}/LICENSE.electron.txt $out/share/licenses/p3x-onenote/LICENSE
-    mv $out/bin/${name} $out/bin/p3x-onenote
 
     ${desktop-file-utils}/bin/desktop-file-install --dir $out/share/applications \
       --set-key Exec --set-value $out/bin/p3x-onenote \
diff --git a/pkgs/applications/office/paperwork/paperwork-backend.nix b/pkgs/applications/office/paperwork/paperwork-backend.nix
index 4460e50ab6246..b5620d3f40df0 100644
--- a/pkgs/applications/office/paperwork/paperwork-backend.nix
+++ b/pkgs/applications/office/paperwork/paperwork-backend.nix
@@ -1,6 +1,7 @@
 { buildPythonPackage
 , lib
 , fetchFromGitLab
+, fetchpatch
 , pyenchant
 , scikit-learn
 , pypillowfight
@@ -33,6 +34,13 @@ buildPythonPackage rec {
   sourceRoot = "${src.name}/paperwork-backend";
 
   patches = [
+    # fixes building with recent scipy
+    # remove on next release
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/World/OpenPaperwork/paperwork/-/commit/abcebfe9714644d4e259e53b10e0e9417b5b864f.patch";
+      hash = "sha256-YjVpphThW5Livs+PZJZDSgJvhLSXhZ1bnlWMwfY4HTg=";
+    })
+
     # disables a flaky test https://gitlab.gnome.org/World/OpenPaperwork/paperwork/-/issues/1035#note_1493700
     ./flaky_test.patch
   ];
diff --git a/pkgs/applications/office/qownnotes/default.nix b/pkgs/applications/office/qownnotes/default.nix
index 2009c6f9a0bcb..0ff43b584bea9 100644
--- a/pkgs/applications/office/qownnotes/default.nix
+++ b/pkgs/applications/office/qownnotes/default.nix
@@ -21,14 +21,14 @@
 let
   pname = "qownnotes";
   appname = "QOwnNotes";
-  version = "24.4.2";
+  version = "24.4.4";
 in
 stdenv.mkDerivation {
   inherit pname version;
 
   src = fetchurl {
     url = "https://github.com/pbek/QOwnNotes/releases/download/v${version}/qownnotes-${version}.tar.xz";
-    hash = "sha256-HnWxIcOy7Te6Q5YfZYhvITpfsgeQw8Tt/Nr++wcpxEU=";
+    hash = "sha256-nTRCW76UogaTOyxQ5HfWUln6Lip/LpoyPG+m+mMCb1I=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/office/timeular/default.nix b/pkgs/applications/office/timeular/default.nix
index ef6c931bcc6a6..59af6868b7dfe 100644
--- a/pkgs/applications/office/timeular/default.nix
+++ b/pkgs/applications/office/timeular/default.nix
@@ -24,7 +24,6 @@ in appimageTools.wrapType2 rec {
   ];
 
   extraInstallCommands = ''
-    mv $out/bin/{${pname}-${version},${pname}}
     install -m 444 -D ${appimageContents}/timeular.desktop $out/share/applications/timeular.desktop
     install -m 444 -D ${appimageContents}/timeular.png $out/share/icons/hicolor/512x512/apps/timeular.png
     substituteInPlace $out/share/applications/timeular.desktop \
diff --git a/pkgs/applications/office/tusk/default.nix b/pkgs/applications/office/tusk/default.nix
index 98f00f2ed54c9..73b896ff0cc52 100644
--- a/pkgs/applications/office/tusk/default.nix
+++ b/pkgs/applications/office/tusk/default.nix
@@ -34,7 +34,6 @@ in appimageTools.wrapType2 rec {
   multiArch = false; # no 32bit needed
   extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs;
   extraInstallCommands = ''
-    mv $out/bin/{${pname}-${version},${pname}}
     mkdir "$out/share"
     ln -s "${desktopItem}/share/applications" "$out/share/"
   '';
diff --git a/pkgs/applications/printing/pappl/default.nix b/pkgs/applications/printing/pappl/default.nix
index 821944387eff8..b49cc1b43231d 100644
--- a/pkgs/applications/printing/pappl/default.nix
+++ b/pkgs/applications/printing/pappl/default.nix
@@ -59,6 +59,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/michaelrsweet/pappl";
     license = licenses.asl20;
     platforms = platforms.linux; # should also work for darwin, but requires additional work
-    maintainers = with maintainers; [ jonringer ChlorideCull ];
+    maintainers = with maintainers; [ jonringer ];
   };
 }
diff --git a/pkgs/applications/radio/chirp/default.nix b/pkgs/applications/radio/chirp/default.nix
index 066c93361899b..0bb054e3d52ed 100644
--- a/pkgs/applications/radio/chirp/default.nix
+++ b/pkgs/applications/radio/chirp/default.nix
@@ -1,5 +1,6 @@
 { lib
 , fetchFromGitHub
+, writeShellScript
 , glib
 , gsettings-desktop-schemas
 , python3
@@ -9,7 +10,7 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "chirp";
-  version = "unstable-2024-02-08";
+  version = "0.4.0-unstable-2024-02-08";
 
   src = fetchFromGitHub {
     owner = "kk7ds";
@@ -37,7 +38,9 @@ python3.pkgs.buildPythonApplication rec {
   doCheck = false;
 
   passthru.updateScript = unstableGitUpdater {
-    branch = "py3";
+    tagConverter = writeShellScript "chirp-tag-converter.sh" ''
+      sed -e 's/^release_//g' -e 's/_/./g'
+    '';
   };
 
   meta = with lib; {
diff --git a/pkgs/applications/radio/dsd/default.nix b/pkgs/applications/radio/dsd/default.nix
index 72b6f305d3c61..620923377add3 100644
--- a/pkgs/applications/radio/dsd/default.nix
+++ b/pkgs/applications/radio/dsd/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/szechyjs/dsd";
     license = licenses.gpl2;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ andrew-d ];
+    maintainers = with maintainers; [ ];
     mainProgram = "dsd";
   };
 }
diff --git a/pkgs/applications/radio/gnuradio/default.nix b/pkgs/applications/radio/gnuradio/default.nix
index 5d3d1d3d18b40..c03a3decb65c5 100644
--- a/pkgs/applications/radio/gnuradio/default.nix
+++ b/pkgs/applications/radio/gnuradio/default.nix
@@ -45,11 +45,11 @@
 # If one wishes to use a different src or name for a very custom build
 , overrideSrc ? {}
 , pname ? "gnuradio"
-, version ? "3.10.9.2"
+, version ? "3.10.10.0"
 }:
 
 let
-  sourceSha256 = "sha256-SMalZwIvATZ3rqAAqeSmf8/RJ1d9pp7NvoWO/YP0BMc=";
+  sourceSha256 = "sha256-pEVWhXDjOevrduDbZQbiDbODZY8PpsGY4O8yxrwlCcs=";
   featuresInfo = {
     # Needed always
     basic = {
diff --git a/pkgs/applications/radio/quisk/default.nix b/pkgs/applications/radio/quisk/default.nix
index c5034bd33efcd..8fa180e705c66 100644
--- a/pkgs/applications/radio/quisk/default.nix
+++ b/pkgs/applications/radio/quisk/default.nix
@@ -8,11 +8,11 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "quisk";
-  version = "4.2.31";
+  version = "4.2.32";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-WzB/KAkjJ6zPPfOe35kbT3HbbCNQjm44GL0hInk3TH8=";
+    sha256 = "sha256-zzcygf7oVICO2/wfgyej1GD78fQB1xNRGHq19w6K4uY=";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/science/astronomy/gildas/aarch64.patch b/pkgs/applications/science/astronomy/gildas/aarch64.patch
deleted file mode 100644
index 40696a03dec71..0000000000000
--- a/pkgs/applications/science/astronomy/gildas/aarch64.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ruN gildas-src-jul18a/admin/define-system.sh gildas-src-jul18a.aarch64/admin/define-system.sh
---- gildas-src-jul18a/admin/define-system.sh	2018-06-12 15:22:32.000000000 +0200
-+++ gildas-src-jul18a.aarch64/admin/define-system.sh	2018-07-21 13:05:52.000000000 +0200
-@@ -174,7 +174,7 @@
-     DEFAULT_CONFIG=          # Default config is empty
-     case `uname` in
-         Linux)
--            if [ `uname -m | grep -c "x86_64"` -ne 0 ]; then
-+            if [ `uname -m | grep -c "64"` -ne 0 ]; then
-         	GAG_MACHINE=x86_64
-             else
-         	GAG_MACHINE=pc
diff --git a/pkgs/applications/science/astronomy/gildas/clang.patch b/pkgs/applications/science/astronomy/gildas/clang.patch
index 4d6654a99aee1..aee010835248e 100644
--- a/pkgs/applications/science/astronomy/gildas/clang.patch
+++ b/pkgs/applications/science/astronomy/gildas/clang.patch
@@ -1,22 +1,77 @@
-diff -ruN gildas-src-jun18a/admin/define-system.sh gildas-src-jun18a.clang/admin/define-system.sh
---- gildas-src-jun18a/admin/define-system.sh	2018-03-12 11:07:57.000000000 +0100
-+++ gildas-src-jun18a.clang/admin/define-system.sh	2018-06-12 14:56:14.000000000 +0200
-@@ -218,13 +218,13 @@
+diff --git a/admin/Makefile.def b/admin/Makefile.def
+index 932d18f102..309114e339 100644
+--- a/admin/Makefile.def
++++ b/admin/Makefile.def
+@@ -310,7 +310,7 @@ endif
+ 
+ # Apple CLANG flags (identical to GCC)
+ ifeq ($(GAG_COMPILER_CKIND),clang)
+-  GLOBAL_CFLAGS += -pipe -fPIC
++  GLOBAL_CFLAGS += -fPIC
+   ifeq ($(RELEASE_MODE),no)
+     OPTION_CFLAGS += -Wall
+   endif
+@@ -360,7 +360,7 @@ endif
+ 
+ # GFORTRAN flags
+ ifeq ($(GAG_COMPILER_FKIND),gfortran)
+-  GLOBAL_FFLAGS += -J$(moddir) -pipe -fno-backslash -fno-range-check
++  GLOBAL_FFLAGS += -J$(moddir) -fno-backslash -fno-range-check
+   ifeq ($(GAG_USE_SANITIZE),yes)
+     GLOBAL_FFLAGS += -fsanitize=address -fsanitize=null
+     # Can not be used with our memory(ip):
+diff --git a/admin/define-system.sh b/admin/define-system.sh
+index b6eda9fdfd..704050a9ac 100644
+--- a/admin/define-system.sh
++++ b/admin/define-system.sh
+@@ -272,34 +272,23 @@ EOF
          	else
          	    GAG_MACHINE=pc
          	fi
 -                if which gcc > /dev/null 2>&1; then
 -                    DEFAULT_CCOMPILER=gcc
-+                if which clang > /dev/null 2>&1; then
-+                    DEFAULT_CCOMPILER=clang
-                 fi
+-                fi
 -                if which g++ > /dev/null 2>&1; then
 -                    DEFAULT_CXXCOMPILER=g++
 -                elif which clang++ > /dev/null 2>&1; then
-+                if which clang++ > /dev/null 2>&1; then
-                     DEFAULT_CXXCOMPILER=clang++
-+                elif which g++ > /dev/null 2>&1; then
-+                    DEFAULT_CXXCOMPILER=g++
-                 fi
-         	if which ifort > /dev/null 2>&1; then
-         	    DEFAULT_FCOMPILER=ifort
+-                    DEFAULT_CXXCOMPILER=clang++
+-                fi
+-        	if which ifort > /dev/null 2>&1; then
+-        	    DEFAULT_FCOMPILER=ifort
+-        	elif which gfortran > /dev/null 2>&1; then
+-        	    DEFAULT_FCOMPILER=gfortran
+-        	fi
+-            elif [ `uname -p` = "arm" ]; then
++	    elif [ `uname -p` = "arm" ]; then
+                 GAG_MACHINE=arm64
+-                if which gcc > /dev/null 2>&1; then
+-                    DEFAULT_CCOMPILER=gcc
+-                fi
+-                if which clang++ > /dev/null 2>&1; then
+-                    DEFAULT_CXXCOMPILER=clang++
+-                elif which g++ > /dev/null 2>&1; then
+-                    DEFAULT_CXXCOMPILER=g++
+-                fi
+-                if which ifort > /dev/null 2>&1; then
+-                    DEFAULT_FCOMPILER=ifort
+-                elif which gfortran > /dev/null 2>&1; then
+-                    DEFAULT_FCOMPILER=gfortran
+-                fi
++	    fi
++            if which clang > /dev/null 2>&1; then
++                DEFAULT_CCOMPILER=clang
++            elif which gcc > /dev/null 2>&1; then
++                DEFAULT_CCOMPILER=gcc
++	    fi
++	    if which clang++ > /dev/null 2>&1; then
++                DEFAULT_CXXCOMPILER=clang++
++            elif which g++ > /dev/null 2>&1; then
++                DEFAULT_CXXCOMPILER=g++
++            fi
++            if which ifort > /dev/null 2>&1; then
++        	DEFAULT_FCOMPILER=ifort
++            elif which gfortran > /dev/null 2>&1; then
++        	DEFAULT_FCOMPILER=gfortran
+             fi ;;
+         CYGWIN*)
+             if [ `uname -m | grep -c "x86_64"` -ne 0 ]; then
diff --git a/pkgs/applications/science/astronomy/gildas/cpp-darwin.patch b/pkgs/applications/science/astronomy/gildas/cpp-darwin.patch
new file mode 100644
index 0000000000000..09085c29bf944
--- /dev/null
+++ b/pkgs/applications/science/astronomy/gildas/cpp-darwin.patch
@@ -0,0 +1,17 @@
+diff --git a/admin/Makefile.def b/admin/Makefile.def
+index 0395d9d4f0..932d18f102 100644
+--- a/admin/Makefile.def
++++ b/admin/Makefile.def
+@@ -228,7 +228,11 @@ GLOBAL_DIRTY = $(builddir) *~ TAGS ChangeLog* Makefile.bak
+ # Fortran preprocessing
+ 
+ # Preprocessor command
+-CPP = cpp
++ifdef GAG_CPP
++   CPP = $(GAG_CPP)
++else
++   CPP = cpp
++endif
+ 
+ # Preprocessor generic flags
+ GLOBAL_CPPFLAGS += -P -traditional -C
diff --git a/pkgs/applications/science/astronomy/gildas/default.nix b/pkgs/applications/science/astronomy/gildas/default.nix
index b5b92bd8fe4f8..5767efab733cb 100644
--- a/pkgs/applications/science/astronomy/gildas/default.nix
+++ b/pkgs/applications/science/astronomy/gildas/default.nix
@@ -7,8 +7,8 @@ let
 in
 
 stdenv.mkDerivation rec {
-  srcVersion = "aug23a";
-  version = "20230801_a";
+  srcVersion = "apr24a";
+  version = "20240401_a";
   pname = "gildas";
 
   src = fetchurl {
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     # source code of the previous release to a different directory
     urls = [ "http://www.iram.fr/~gildas/dist/gildas-src-${srcVersion}.tar.xz"
       "http://www.iram.fr/~gildas/dist/archive/gildas/gildas-src-${srcVersion}.tar.xz" ];
-    sha256 = "sha256-jlyv2K1V+510C4uLek4oofm13d40nGJ46wqjW+tjfq4=";
+    sha256 = "sha256-Eq6S5S8xrhkCo6O2wUaHnoMDVG9WeiSurGvOc+2JKbM=";
   };
 
   nativeBuildInputs = [ pkg-config groff perl getopt gfortran which ];
@@ -24,10 +24,14 @@ stdenv.mkDerivation rec {
   buildInputs = [ gtk2-x11 lesstif cfitsio python3Env ncurses ]
     ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ CoreFoundation ]);
 
-  patches = [ ./wrapper.patch ./clang.patch ./aarch64.patch ];
+  patches = [ ./wrapper.patch ]
+    ++ lib.optionals stdenv.isDarwin ([ ./clang.patch ./cpp-darwin.patch ]);
 
   env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-unused-command-line-argument";
 
+  # Workaround for https://github.com/NixOS/nixpkgs/issues/304528
+  env.GAG_CPP = lib.optionalString stdenv.isDarwin "${gfortran.outPath}/bin/cpp";
+
   NIX_LDFLAGS = lib.optionalString stdenv.isDarwin (with darwin.apple_sdk.frameworks; "-F${CoreFoundation}/Library/Frameworks");
 
   configurePhase=''
@@ -66,7 +70,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.free;
     maintainers = [ lib.maintainers.bzizou lib.maintainers.smaret ];
     platforms = lib.platforms.all;
-    broken = stdenv.isDarwin && stdenv.isAarch64;
   };
 
 }
diff --git a/pkgs/applications/science/biology/jbrowse/default.nix b/pkgs/applications/science/biology/jbrowse/default.nix
index 15694ae3e6385..c4c8966aa50d5 100644
--- a/pkgs/applications/science/biology/jbrowse/default.nix
+++ b/pkgs/applications/science/biology/jbrowse/default.nix
@@ -19,9 +19,7 @@ appimageTools.wrapType2 {
   unshareIpc = false;
 
   extraInstallCommands = ''
-    mkdir -p $out/bin
-    mv $out/bin/jbrowse-${version} $out/bin/jbrowse-desktop
-
+    mv $out/bin/jbrowse $out/bin/jbrowse-desktop
     install -m 444 -D ${appimageContents}/jbrowse-desktop.desktop $out/share/applications/jbrowse-desktop.desktop
     install -m 444 -D ${appimageContents}/jbrowse-desktop.png \
        $out/share/icons/hicolor/512x512/apps/jbrowse-desktop.png
diff --git a/pkgs/applications/science/biology/mafft/default.nix b/pkgs/applications/science/biology/mafft/default.nix
index f2e3ead2e913c..ca1f89388a442 100644
--- a/pkgs/applications/science/biology/mafft/default.nix
+++ b/pkgs/applications/science/biology/mafft/default.nix
@@ -1,14 +1,20 @@
-{ lib, stdenv, fetchFromGitLab }:
+{
+  lib,
+  stdenv,
+  fetchFromGitLab,
+  runCommand,
+  mafft,
+}:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "mafft";
-  version = "7.525";
+  version = "7.526";
 
   src = fetchFromGitLab {
     owner = "sysimm";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-ckBmvFssYAmYcBHAEftjQqBV0MB0theGfemaPx3XUws=";
+    repo = "mafft";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-VNe00r12qEkLEbpZdJCe5xZ73JA3uAmuAeG+eSeRDI0=";
   };
 
   preBuild = ''
@@ -16,14 +22,34 @@ stdenv.mkDerivation rec {
     make clean
   '';
 
-  makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" "PREFIX=$(out)" ];
+  makeFlags = [
+    "CC=${stdenv.cc.targetPrefix}cc"
+    "PREFIX=$(out)"
+  ];
 
-  meta = with lib;
-    {
-      description = "Multiple alignment program for amino acid or nucleotide sequences";
-      homepage = "https://mafft.cbrc.jp/alignment/software/";
-      license = licenses.bsd3;
-      maintainers = with maintainers; [ natsukium ];
-      platforms = platforms.unix;
-    };
-}
+  passthru.tests = {
+    simple = runCommand "${finalAttrs.pname}-test" { } ''
+      mkdir $out
+      cd ${finalAttrs.src}/test
+      ${lib.getExe mafft} sample > $out/test.fftns2
+      ${lib.getExe mafft} --maxiterate 100  sample > $out/test.fftnsi
+      ${lib.getExe mafft} --globalpair sample > $out/test.gins1
+      ${lib.getExe mafft} --globalpair --maxiterate 100  sample > $out/test.ginsi
+      ${lib.getExe mafft} --localpair sample > $out/test.lins1
+      ${lib.getExe mafft} --localpair --maxiterate 100  sample > $out/test.linsi
+      diff $out/test.fftns2 sample.fftns2
+      diff $out/test.fftnsi sample.fftnsi
+      diff $out/test.gins1 sample.gins1
+      diff $out/test.ginsi sample.ginsi
+      diff $out/test.lins1 sample.lins1
+    '';
+  };
+
+  meta = with lib; {
+    description = "Multiple alignment program for amino acid or nucleotide sequences";
+    homepage = "https://mafft.cbrc.jp/alignment/software/";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ natsukium ];
+    platforms = platforms.unix;
+  };
+})
diff --git a/pkgs/applications/science/biology/seqtk/default.nix b/pkgs/applications/science/biology/seqtk/default.nix
index 417bec9c062fb..856248de917db 100644
--- a/pkgs/applications/science/biology/seqtk/default.nix
+++ b/pkgs/applications/science/biology/seqtk/default.nix
@@ -19,14 +19,13 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ zlib libdeflate isa-l ];
 
-  makeFlags = [ "CC=cc" ];
+  makeFlags = [
+    "CC:=$(CC)"
+    "BINDIR=$(out)/bin"
+  ];
 
-  installPhase = ''
-    runHook preInstall
-
-    install -Dm755 -t $out/bin seqtk
-
-    runHook postInstall
+  preInstall = ''
+    mkdir -p "$out/bin"
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/science/biology/sortmerna/default.nix b/pkgs/applications/science/biology/sortmerna/default.nix
index d47aae9ce6658..c19556318843b 100644
--- a/pkgs/applications/science/biology/sortmerna/default.nix
+++ b/pkgs/applications/science/biology/sortmerna/default.nix
@@ -1,5 +1,16 @@
-{ lib, stdenv, cmake, rocksdb, rapidjson, pkg-config, fetchFromGitHub, zlib }:
-
+{ lib
+, stdenv
+, cmake
+, rocksdb_8_3
+, rapidjson
+, pkg-config
+, fetchFromGitHub
+, zlib
+}:
+
+let
+  rocksdb = rocksdb_8_3;
+in
 stdenv.mkDerivation rec {
   pname = "sortmerna";
   version = "4.2.0";
diff --git a/pkgs/applications/science/chemistry/pymol/default.nix b/pkgs/applications/science/chemistry/pymol/default.nix
index 0e4728dd65d6f..1733ba2f236c9 100644
--- a/pkgs/applications/science/chemistry/pymol/default.nix
+++ b/pkgs/applications/science/chemistry/pymol/default.nix
@@ -38,33 +38,75 @@ let
 in
 python3Packages.buildPythonApplication rec {
   inherit pname;
-  version = "2.5.0";
+  version = "3.0.0";
+  pyproject = true;
+
   src = fetchFromGitHub {
     owner = "schrodinger";
     repo = "pymol-open-source";
     rev = "v${version}";
-    sha256 = "sha256-JdsgcVF1w1xFPZxVcyS+GcWg4a1Bd4SvxFOuSdlz9SM=";
+    hash = "sha256-GhTHxacjGN7XklZ6gileBMRZAGq4Pp4JknNL+qGqrVE=";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace-fail "self.install_libbase" '"${placeholder "out"}/${python3.sitePackages}"'
+  '';
+
+  build-system = [
+    python3Packages.setuptools
+  ];
+
   nativeBuildInputs = [ qt5.wrapQtAppsHook ];
   buildInputs = [ python3Packages.numpy python3Packages.pyqt5 glew glm libpng libxml2 freetype msgpack netcdf ];
   env.NIX_CFLAGS_COMPILE = "-I ${libxml2.dev}/include/libxml2";
-  hardeningDisable = [ "format" ];
-
-  installPhase = ''
-    python setup.py install --home="$out"
-    runHook postInstall
-  '';
 
   postInstall = with python3Packages; ''
     wrapProgram $out/bin/pymol \
       --prefix PYTHONPATH : ${lib.makeSearchPathOutput "lib" python3.sitePackages [ pyqt5 pyqt5.pyqt5-sip ]}
 
     mkdir -p "$out/share/icons/"
-    ln -s ../../lib/python/pymol/pymol_path/data/pymol/icons/icon2.svg "$out/share/icons/pymol.svg"
+    ln -s $out/${python3.sitePackages}/pymol/pymol_path/data/pymol/icons/icon2.svg "$out/share/icons/pymol.svg"
+  '' + lib.optionalString stdenv.hostPlatform.isLinux ''
     cp -r "${desktopItem}/share/applications/" "$out/share/"
   '';
 
+  pythonImportsCheck = [
+    "pymol"
+  ];
+
+  nativeCheckInputs = with python3Packages; [
+    python3Packages.msgpack
+    pillow
+    pytestCheckHook
+  ];
+
+  # some tests hang for some reason
+  doCheck = !(stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64);
+
+  disabledTestPaths = [
+    # require biopython which is broken as of 2024-04-20
+    "tests/api/seqalign.py"
+  ];
+
+  disabledTests = [
+    # the output image does not exactly match
+    "test_commands"
+    # touch the network
+    "testFetch"
+    # requires collada2gltf which is not included in nixpkgs
+    "testglTF"
+    # require mmtf-cpp which does not support darwin
+    "testMMTF"
+    "testSave_symmetry__mmtf"
+  ];
+
+  preCheck = ''
+    cd testing
+  '';
+
+  __darwinAllowLocalNetworking = true;
+
   preFixup = ''
     wrapQtApp "$out/bin/pymol"
   '';
@@ -74,6 +116,6 @@ python3Packages.buildPythonApplication rec {
     mainProgram = "pymol";
     homepage = "https://www.pymol.org/";
     license = licenses.mit;
-    maintainers = with maintainers; [ samlich ];
+    maintainers = with maintainers; [ natsukium samlich ];
   };
 }
diff --git a/pkgs/applications/science/electronics/kicad/versions.nix b/pkgs/applications/science/electronics/kicad/versions.nix
index 36114fff73a35..4c55703edccf4 100644
--- a/pkgs/applications/science/electronics/kicad/versions.nix
+++ b/pkgs/applications/science/electronics/kicad/versions.nix
@@ -3,23 +3,23 @@
 {
   "kicad" = {
     kicadVersion = {
-      version =			"8.0.1";
+      version =			"8.0.2";
       src = {
-        rev =			"20421d65e5a7ede894345d337ab47b469f5ba154";
-        sha256 =		"096kvmm96ccxir1rspgzzjkp6y2j80l3w2vphg9iv3drxmjp7qjv";
+        rev =			"55a4d4f5e2f54be6ccf74a8919d04684c9df4c50";
+        sha256 =		"069ycii9zvdxwxd73afd6bp975r1555yvifi9zdb77qyvn0d9nr9";
       };
     };
     libVersion = {
-      version =			"8.0.1";
+      version =			"8.0.2";
       libSources = {
-        symbols.rev =		"d6aff3948edfca2bacf36900ff080f6b3f65fe4c";
-        symbols.sha256 =	"00xnvikmqd1zkg9p1f89kvryvkybl5f20baij6babqyc29nbzkwy";
-        templates.rev =		"0a6c4f798a68a5c639d54b4d3093460ab9267816";
-        templates.sha256 =	"0m9bggz3cm27kqpjjwxy19mqzk0c69bywcjkqcni7kafr21c6k4z";
-        footprints.rev =	"226b4f3d5c10a4126d88b895188bdab629fe60b0";
-        footprints.sha256 =	"1bb3mb2a7vkridgmqqm9ib3hv2m4zx1i14mglb11sribypy0ma5p";
-        packages3d.rev =	"49c1cd4017499b8a7f6dedbe7ede834d1713eb28";
-        packages3d.sha256 =	"0b5jwr5bbd0kzb75nj3028knjrv0872dk54sbsnxaz669q8zaxap";
+        symbols.rev =		"099ac0c8ac402a685fde00b1369e34a116e29661";
+        symbols.sha256 =	"0w333f89yw2m0zlpkg0k6hfwlj10snm8laihdjnsb22asyz4pbhn";
+        templates.rev =		"2e2da58e02707d327d59d4101c401a82dc9a26f6";
+        templates.sha256 =	"073a6cyvzzy0vmkj3ip4ziq7b7pcizs70nm5acw838dxghjfyv3v";
+        footprints.rev =	"e8c30550cde4945cbe1bf30cccf0b3c1e2bda6c6";
+        footprints.sha256 =	"10j8qjljc1fv8k4zp3zn0da33g57hn6pgrgmbgp18dsa539xvxcz";
+        packages3d.rev =	"249f7947587529026e1676cd70c8d7493a8d8162";
+        packages3d.sha256 =	"04gvfb54jhnww2qwrxc27wpyrvmjasdc4xhr0ridl7dglh4qcp35";
       };
     };
   };
diff --git a/pkgs/applications/science/electronics/simulide/default.nix b/pkgs/applications/science/electronics/simulide/default.nix
index 613ec21dbd961..9053bcfe58e50 100644
--- a/pkgs/applications/science/electronics/simulide/default.nix
+++ b/pkgs/applications/science/electronics/simulide/default.nix
@@ -1,36 +1,33 @@
-{ lib
-, fetchbzr
-, mkDerivation
-, qmake
-, qtserialport
-, qtmultimedia
-, qttools
-, qtscript
+{
+  lib,
+  fetchbzr,
+  mkDerivation,
+  qmake,
+  qtserialport,
+  qtmultimedia,
+  qttools,
+  qtscript,
 }:
 
 let
   generic =
-    { version
-    , release
-    , branch
-    , rev
-    , sha256
-    , extraPostPatch ? ""
-    , extraBuildInputs ? [ ]
-    , iconPath ? "resources/icons/simulide.png"
-    , installFiles ? ''
+    {
+      version,
+      release,
+      rev,
+      src,
+      extraPostPatch ? "",
+      extraBuildInputs ? [ ],
+      iconPath ? "resources/icons/simulide.png",
+      installFiles ? ''
         cp -r data examples $out/share/simulide
         cp simulide $out/bin/simulide
-      ''
+      '',
     }:
     mkDerivation {
       pname = "simulide";
       version = "${version}-${release}";
-
-      src = fetchbzr {
-        url = "https://code.launchpad.net/~arcachofo/simulide/${branch}";
-        inherit rev sha256;
-      };
+      inherit src;
 
       postPatch = ''
         sed -i resources/simulide.desktop \
@@ -51,9 +48,7 @@ let
         cd build_XX
       '';
 
-      nativeBuildInputs = [
-        qmake
-      ];
+      nativeBuildInputs = [ qmake ];
 
       buildInputs = [
         qtserialport
@@ -85,18 +80,25 @@ let
         homepage = "https://simulide.com/";
         license = lib.licenses.gpl3Only;
         mainProgram = "simulide";
-        maintainers = with lib.maintainers; [ carloscraveiro tomasajt ];
+        maintainers = with lib.maintainers; [
+          carloscraveiro
+          tomasajt
+        ];
         platforms = [ "x86_64-linux" ];
       };
     };
 in
 {
-  simulide_0_4_15 = generic {
+  simulide_0_4_15 = generic rec {
     version = "0.4.15";
     release = "SR10";
-    branch = "simulide_0.4.14"; # the branch name does not mach the version for some reason
     rev = "291";
-    sha256 = "sha256-BBoZr/S2pif0Jft5wrem8y00dXl08jq3kFiIUtOr3LM=";
+    src = fetchbzr {
+      # the branch name does not mach the version for some reason
+      url = "https://code.launchpad.net/~arcachofo/simulide/simulide_0.4.14";
+      sha256 = "sha256-BBoZr/S2pif0Jft5wrem8y00dXl08jq3kFiIUtOr3LM=";
+      inherit rev;
+    };
     extraPostPatch = ''
       # GCC 13 needs the <cstdint> header explicitly included
       sed -i src/gpsim/value.h -e '1i #include <cstdint>'
@@ -110,20 +112,26 @@ in
     '';
   };
 
-  simulide_1_0_0 = generic {
+  simulide_1_0_0 = generic rec {
     version = "1.0.0";
     release = "SR2";
-    branch = "1.0.0";
     rev = "1449";
-    sha256 = "sha256-rJWZvnjVzaKXU2ktbde1w8LSNvu0jWkDIk4dq2l7t5g=";
+    src = fetchbzr {
+      url = "https://code.launchpad.net/~arcachofo/simulide/1.0.0";
+      sha256 = "sha256-rJWZvnjVzaKXU2ktbde1w8LSNvu0jWkDIk4dq2l7t5g=";
+      inherit rev;
+    };
     extraBuildInputs = [ qtscript ];
   };
 
-  simulide_1_1_0 = generic {
+  simulide_1_1_0 = generic rec {
     version = "1.1.0";
     release = "SR0";
-    branch = "1.1.0";
     rev = "1917";
-    sha256 = "sha256-qNBaGWl89Le9uC1VFK+xYhrLzIvOIWjkQbutnrAmZ2M=";
+    src = fetchbzr {
+      url = "https://code.launchpad.net/~arcachofo/simulide/1.1.0";
+      sha256 = "sha256-qNBaGWl89Le9uC1VFK+xYhrLzIvOIWjkQbutnrAmZ2M=";
+      inherit rev;
+    };
   };
 }
diff --git a/pkgs/applications/science/logic/cedille/default.nix b/pkgs/applications/science/logic/cedille/default.nix
index 4d026a2d9c7a3..fe12d5995a6f9 100644
--- a/pkgs/applications/science/logic/cedille/default.nix
+++ b/pkgs/applications/science/logic/cedille/default.nix
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
     description = "An interactive theorem-prover and dependently typed programming language, based on extrinsic (aka Curry-style) type theory";
     homepage = "https://cedille.github.io/";
     license = licenses.mit;
-    maintainers = with maintainers; [ marsam mpickering ];
+    maintainers = with maintainers; [ mpickering ];
     platforms = platforms.unix;
 
     # Broken due to Agda update.  See
diff --git a/pkgs/applications/science/logic/lean4/default.nix b/pkgs/applications/science/logic/lean4/default.nix
index 479b8a21744ce..ac41b03643dc7 100644
--- a/pkgs/applications/science/logic/lean4/default.nix
+++ b/pkgs/applications/science/logic/lean4/default.nix
@@ -62,7 +62,7 @@ stdenv.mkDerivation (finalAttrs: {
     changelog = "https://github.com/leanprover/lean4/blob/${finalAttrs.src.rev}/RELEASES.md";
     license = licenses.asl20;
     platforms = platforms.all;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
     mainProgram = "lean";
   };
 })
diff --git a/pkgs/applications/science/logic/why3/default.nix b/pkgs/applications/science/logic/why3/default.nix
index 1676ca4c2a4f1..74659a58f13ee 100644
--- a/pkgs/applications/science/logic/why3/default.nix
+++ b/pkgs/applications/science/logic/why3/default.nix
@@ -1,6 +1,6 @@
 { callPackage, fetchurl, lib, stdenv
 , ocamlPackages, coqPackages, rubber, hevea, emacs
-, version ? "1.7.1"
+, version ? "1.7.2"
 , ideSupport ? true
 , wrapGAppsHook
 }:
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   src = fetchurl {
     url = "https://why3.gitlabpages.inria.fr/releases/${pname}-${version}.tar.gz";
     hash = {
-      "1.7.1" = "sha256-rG1hcxFhQ2PlE9RTz9ELliDjCuSzLnJ1togRY637cU4=";
+      "1.7.2" = "sha256-VaSG/FiO2MDdSSFXGJJrIylQx0LPwtT8AF7TpPVZhCQ=";
       "1.6.0" = "sha256-hFvM6kHScaCtcHCc6Vezl9CR7BFbiKPoTEh7kj0ZJxw=";
     }."${version}";
   };
diff --git a/pkgs/applications/science/math/eigenmath/default.nix b/pkgs/applications/science/math/eigenmath/default.nix
index 7437707582516..feddf92821c63 100644
--- a/pkgs/applications/science/math/eigenmath/default.nix
+++ b/pkgs/applications/science/math/eigenmath/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "eigenmath";
-  version = "unstable-2024-04-19";
+  version = "0-unstable-2024-04-26";
 
   src = fetchFromGitHub {
     owner = "georgeweigt";
     repo = pname;
-    rev = "5d5a538e7c378e9e2d9fabdf88fa2c6dd6d13e2c";
-    hash = "sha256-vPj3YKNJAZgdhw/VVrJIo2P7IyHrt7hVpnUQCUCZmR8=";
+    rev = "14a55ff60d078b752033b4ae29d332b04b6e8912";
+    hash = "sha256-p7wcLmssTqs3LCkZWB9rhCXEc4IVgZJNBvRhS51oH5E=";
   };
 
   checkPhase = let emulator = stdenv.hostPlatform.emulator buildPackages; in ''
diff --git a/pkgs/applications/science/misc/gplates/default.nix b/pkgs/applications/science/misc/gplates/default.nix
index 74dd61a2228c5..5c2c4cabc9f12 100644
--- a/pkgs/applications/science/misc/gplates/default.nix
+++ b/pkgs/applications/science/misc/gplates/default.nix
@@ -33,13 +33,13 @@ let
   };
 in stdenv.mkDerivation (finalAttrs: {
   pname = "gplates";
-  version = "2.4";
+  version = "2.5";
 
   src = fetchFromGitHub {
     owner = "GPlates";
     repo = "GPlates";
     rev = "GPlates-${finalAttrs.version}";
-    hash = "sha256-BRvrqczGguE2z44ZboxeJxgWEA+t02XkzvU+yF4ki6s=";
+    hash = "sha256-3fEwm5EKK9RcRbnyUejgwfjdsXaujjZjoMbq/BbVMeM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/science/misc/snakemake/default.nix b/pkgs/applications/science/misc/snakemake/default.nix
index e543c10d4bcbf..fa670b85621c0 100644
--- a/pkgs/applications/science/misc/snakemake/default.nix
+++ b/pkgs/applications/science/misc/snakemake/default.nix
@@ -6,14 +6,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "snakemake";
-  version = "8.10.7";
+  version = "8.11.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "snakemake";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-tRjyv7pTTTDj3LrcIP3OWOX+9FldHV6rtbPdOYr70E4=";
+    hash = "sha256-bAzhQMGI4t/ftcZnz6h/PmlDlGgMU8vFVHb9QXED/Hw=";
     # https://github.com/python-versioneer/python-versioneer/issues/217
     postFetch = ''
       sed -i "$out"/snakemake/_version.py -e 's#git_refnames = ".*"#git_refnames = " (tag: v${version})"#'
diff --git a/pkgs/applications/science/physics/xnec2c/default.nix b/pkgs/applications/science/physics/xnec2c/default.nix
index 26ec1518fed5f..60afa09ecc8cd 100644
--- a/pkgs/applications/science/physics/xnec2c/default.nix
+++ b/pkgs/applications/science/physics/xnec2c/default.nix
@@ -14,11 +14,11 @@ assert (!blas.isILP64) && (!lapack.isILP64);
 
 stdenv.mkDerivation rec {
   pname = "xnec2c";
-  version = "4.4.12";
+  version = "4.4.16";
 
   src = fetchurl {
     url = "https://www.xnec2c.org/releases/${pname}-v${version}.tar.gz";
-    hash = "sha256-6Yrx6LkJjfnMA/kJUDWLhGzGopZeecARSrcR++UScsU=";
+    hash = "sha256-XiZi8pfmfHjGpePkRy/pF1TA+5RdxX4AGuKzG5Wqrmk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/science/robotics/betaflight-configurator/default.nix b/pkgs/applications/science/robotics/betaflight-configurator/default.nix
index 252eadc1c39c9..0792d3375d0a4 100644
--- a/pkgs/applications/science/robotics/betaflight-configurator/default.nix
+++ b/pkgs/applications/science/robotics/betaflight-configurator/default.nix
@@ -13,10 +13,10 @@ let
 in
 stdenv.mkDerivation rec {
   inherit pname;
-  version = "10.9.0";
+  version = "10.10.0";
   src = fetchurl {
     url = "https://github.com/betaflight/${pname}/releases/download/${version}/${pname}_${version}_linux64-portable.zip";
-    sha256 = "sha256-9FzMyBIR2u1zXHtTWJABM6RF1+OyjYdEPlRwtig9blI=";
+    sha256 = "sha256-UB5Vr5wyCUZbOaQNckJQ1tAXwh8VSLNI1IgTiJzxV08=";
   };
 
   # remove large unneeded files
diff --git a/pkgs/applications/terminal-emulators/x3270/default.nix b/pkgs/applications/terminal-emulators/x3270/default.nix
index 8890d57b32034..010345aa03dfc 100644
--- a/pkgs/applications/terminal-emulators/x3270/default.nix
+++ b/pkgs/applications/terminal-emulators/x3270/default.nix
@@ -1,39 +1,72 @@
-{ lib, stdenv, fetchurl, m4, expat
-, libX11, libXt, libXaw, libXmu, bdftopcf, mkfontdir
-, fontadobe100dpi, fontadobeutopia100dpi, fontbh100dpi
-, fontbhlucidatypewriter100dpi, fontbitstream100dpi
+{ stdenv
+, darwin
+, lib
+, libiconv
+, fetchurl
+, m4
+, expat
+, libX11
+, libXt
+, libXaw
+, libXmu
+, bdftopcf
+, mkfontdir
+, fontadobe100dpi
+, fontadobeutopia100dpi
+, fontbh100dpi
+, fontbhlucidatypewriter100dpi
+, fontbitstream100dpi
 , tcl
-, ncurses }:
-
+, ncurses
+}:
 let
   majorVersion = "4";
-  minorVersion = "0";
-  versionSuffix = "ga9";
-in stdenv.mkDerivation rec {
+  minorVersion = "3";
+  versionSuffix = "ga8";
+in
+stdenv.mkDerivation rec {
   pname = "x3270";
   version = "${majorVersion}.${minorVersion}${versionSuffix}";
 
   src = fetchurl {
-    url = "http://x3270.bgp.nu/download/0${majorVersion}.0${minorVersion}/suite3270-${version}-src.tgz";
-    sha256 = "0km24rgll0s4ji6iz8lvy5ra76ds162s95y33w5px6697cwqkp9j";
+    url =
+      "http://x3270.bgp.nu/download/0${majorVersion}.0${minorVersion}/suite3270-${version}-src.tgz";
+    sha256 = "sha256-gcC6REfZentIPEDhGznUSYu8mvVfpPeMz/Bks+N43Fk=";
   };
 
-  buildFlags = [ "unix" ];
+  buildFlags = lib.optional stdenv.isLinux "unix";
+
+  configureFlags = lib.optionals stdenv.isDarwin [
+    "--enable-c3270"
+    "--enable-pr3270"
+    "--enable-s3270"
+    "--enable-tcl3270"
+  ];
 
-  postConfigure = ''
-    pushd c3270 ; ./configure ; popd
+  postBuild = ''
+    make install.man
   '';
 
+  pathsToLink = [ "/share/man" ];
+
   nativeBuildInputs = [ m4 ];
   buildInputs = [
     expat
-    libX11 libXt libXaw libXmu bdftopcf mkfontdir
-    fontadobe100dpi fontadobeutopia100dpi fontbh100dpi
-    fontbhlucidatypewriter100dpi fontbitstream100dpi
+    libX11
+    libXt
+    libXaw
+    libXmu
+    bdftopcf
+    mkfontdir
+    fontadobe100dpi
+    fontadobeutopia100dpi
+    fontbh100dpi
+    fontbhlucidatypewriter100dpi
+    fontbitstream100dpi
     tcl
     ncurses
     expat
-  ];
+  ] ++ lib.optionals stdenv.isDarwin [ libiconv darwin.apple_sdk.frameworks.Security ];
 
   meta = with lib; {
     description = "IBM 3270 terminal emulator for the X Window System";
diff --git a/pkgs/applications/version-management/commitizen/default.nix b/pkgs/applications/version-management/commitizen/default.nix
index 7b573717c003d..ba3c5695fd943 100644
--- a/pkgs/applications/version-management/commitizen/default.nix
+++ b/pkgs/applications/version-management/commitizen/default.nix
@@ -11,7 +11,7 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "commitizen";
-  version = "3.22.0";
+  version = "3.24.0";
   format = "pyproject";
 
   disabled = python3.pythonOlder "3.8";
@@ -20,7 +20,7 @@ python3.pkgs.buildPythonApplication rec {
     owner = "commitizen-tools";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-wDxhhPYElNPimVa+wX6AnTZrZOhWjuMzNJ6urn0wruk=";
+    hash = "sha256-kGrXy2V5yFv7MQUKjmE89tRnG+3b73GPVHqGZ3XO0nY=";
   };
 
   pythonRelaxDeps = [
diff --git a/pkgs/applications/version-management/datalad/default.nix b/pkgs/applications/version-management/datalad/default.nix
index 71b5affb59932..2b7d9eb032f96 100644
--- a/pkgs/applications/version-management/datalad/default.nix
+++ b/pkgs/applications/version-management/datalad/default.nix
@@ -2,13 +2,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "datalad";
-  version = "0.19.6";
+  version = "1.0.2";
 
   src = fetchFromGitHub {
     owner = "datalad";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-kCCh1NNbmDjICTjBflxExVus8llADvlRxppOfiwYhN8=";
+    hash = "sha256-oq+DdlWcwjJSQdnqHlYCa9I7iSOKf+hI35Lcv/GM24c=";
   };
 
   nativeBuildInputs = [ installShellFiles git ];
diff --git a/pkgs/applications/version-management/delta/default.nix b/pkgs/applications/version-management/delta/default.nix
index b343e473e3c8b..c669eb0be1f2c 100644
--- a/pkgs/applications/version-management/delta/default.nix
+++ b/pkgs/applications/version-management/delta/default.nix
@@ -58,7 +58,7 @@ rustPlatform.buildRustPackage rec {
     description = "A syntax-highlighting pager for git";
     changelog = "https://github.com/dandavison/delta/releases/tag/${version}";
     license = licenses.mit;
-    maintainers = with maintainers; [ marsam zowoq SuperSandro2000 figsoda ];
+    maintainers = with maintainers; [ zowoq SuperSandro2000 figsoda ];
     mainProgram = "delta";
   };
 }
diff --git a/pkgs/applications/version-management/gfold/default.nix b/pkgs/applications/version-management/gfold/default.nix
index 1459e2f18e803..b60c38fa1d301 100644
--- a/pkgs/applications/version-management/gfold/default.nix
+++ b/pkgs/applications/version-management/gfold/default.nix
@@ -1,13 +1,12 @@
-{ fetchFromGitHub
-, gitMinimal
-, gfold
-, lib
-, libiconv
-, makeWrapper
-, rustPlatform
-, Security
-, stdenv
-, testers
+{
+  fetchFromGitHub,
+  gfold,
+  lib,
+  libiconv,
+  rustPlatform,
+  Security,
+  stdenv,
+  testers,
 }:
 
 let
@@ -26,7 +25,10 @@ rustPlatform.buildRustPackage {
 
   cargoHash = "sha256-wDUOYK9e0i600UnJ0w0FPI2GhTa/QTq/2+ICiDWrmEU=";
 
-  buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ];
+  buildInputs = lib.optionals stdenv.isDarwin [
+    libiconv
+    Security
+  ];
 
   passthru.tests.version = testers.testVersion {
     package = gfold;
@@ -35,11 +37,10 @@ rustPlatform.buildRustPackage {
   };
 
   meta = with lib; {
-    description =
-      "CLI tool to help keep track of your Git repositories, written in Rust";
+    description = "CLI tool to help keep track of your Git repositories, written in Rust";
     homepage = "https://github.com/nickgerace/gfold";
     license = licenses.asl20;
-    maintainers = [];
+    maintainers = [ maintainers.sigmanificient ];
     platforms = platforms.unix;
     mainProgram = "gfold";
   };
diff --git a/pkgs/applications/version-management/gg/default.nix b/pkgs/applications/version-management/gg/default.nix
index 279e6d0075e7b..89fd45e45f0dc 100644
--- a/pkgs/applications/version-management/gg/default.nix
+++ b/pkgs/applications/version-management/gg/default.nix
@@ -59,6 +59,5 @@ in buildGoModule {
     homepage = "https://gg-scm.io/";
     changelog = "https://github.com/gg-scm/gg/blob/v${version}/CHANGELOG.md";
     license = licenses.asl20;
-    maintainers = with maintainers; [ zombiezen ];
   };
 }
diff --git a/pkgs/applications/version-management/ghorg/default.nix b/pkgs/applications/version-management/ghorg/default.nix
index e7d075bf800ac..0d8b4e27e6a80 100644
--- a/pkgs/applications/version-management/ghorg/default.nix
+++ b/pkgs/applications/version-management/ghorg/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "ghorg";
-  version = "1.9.10";
+  version = "1.9.11";
 
   src = fetchFromGitHub {
     owner = "gabrie30";
     repo = "ghorg";
     rev = "v${version}";
-    sha256 = "sha256-UU8iOpfM5RMwlDceDXofs3Nzyy93zcsUOuTGw/kzVe8=";
+    sha256 = "sha256-22/HM/DYkNh8V1v09fca6/3TLwzYudpH/VNbh+3+iyE=";
   };
 
   doCheck = false;
diff --git a/pkgs/applications/version-management/git-absorb/default.nix b/pkgs/applications/version-management/git-absorb/default.nix
index a3f8c5430d3ed..8446d4dec1556 100644
--- a/pkgs/applications/version-management/git-absorb/default.nix
+++ b/pkgs/applications/version-management/git-absorb/default.nix
@@ -29,7 +29,7 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/tummychow/git-absorb";
     description = "git commit --fixup, but automatic";
     license = [ licenses.bsd3 ];
-    maintainers = [ maintainers.marsam ];
+    maintainers = with maintainers; [ tomfitzhenry ];
     mainProgram = "git-absorb";
   };
 }
diff --git a/pkgs/applications/version-management/git-backup/default.nix b/pkgs/applications/version-management/git-backup/default.nix
index 7f181fa006f81..5f582ca64c30d 100644
--- a/pkgs/applications/version-management/git-backup/default.nix
+++ b/pkgs/applications/version-management/git-backup/default.nix
@@ -28,7 +28,7 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/jsdw/git-backup";
     description = "A tool to help you backup your git repositories from services like GitHub";
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = with maintainers; [ cafkafk ];
     mainProgram = "git-backup";
   };
 }
diff --git a/pkgs/applications/version-management/git-branchless/default.nix b/pkgs/applications/version-management/git-branchless/default.nix
index d214f7b90608a..fd6213269729f 100644
--- a/pkgs/applications/version-management/git-branchless/default.nix
+++ b/pkgs/applications/version-management/git-branchless/default.nix
@@ -71,6 +71,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/arxanas/git-branchless";
     license = licenses.gpl2Only;
     mainProgram = "git-branchless";
-    maintainers = with maintainers; [ msfjarvis nh2 hmenke ];
+    maintainers = with maintainers; [ nh2 hmenke ];
   };
 }
diff --git a/pkgs/applications/version-management/git-codereview/default.nix b/pkgs/applications/version-management/git-codereview/default.nix
index 2bbcc10202af1..a337443e87ead 100644
--- a/pkgs/applications/version-management/git-codereview/default.nix
+++ b/pkgs/applications/version-management/git-codereview/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "git-codereview";
-  version = "1.10.0";
+  version = "1.11.0";
 
   src = fetchFromGitHub {
     owner = "golang";
     repo = "review";
     rev = "v${version}";
-    hash = "sha256-aLvx9lYQJYUw2XBj+2P+yEJMboUjmHKzxP5QA3N93JA=";
+    hash = "sha256-fIvNaMfgwnMBUNo6kr37zhKiBgKNzT2E0dLLtqaVBvI=";
   };
 
   vendorHash = null;
diff --git a/pkgs/applications/version-management/git-credential-oauth/default.nix b/pkgs/applications/version-management/git-credential-oauth/default.nix
index c818874392af4..5672fb95e4997 100644
--- a/pkgs/applications/version-management/git-credential-oauth/default.nix
+++ b/pkgs/applications/version-management/git-credential-oauth/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "git-credential-oauth";
-  version = "0.11.1";
+  version = "0.11.2";
 
   src = fetchFromGitHub {
     owner = "hickford";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-bqyoAAqli0L6Kf+W1sTh2vmmfaIj2OdpQyvQZnYOWWA=";
+    hash = "sha256-dGn1I47/S6DYXva5zjvcQnB+I4Ex354xMmZ/3OkpjMw=";
   };
 
   nativeBuildInputs = [ installShellFiles ];
@@ -19,7 +19,7 @@ buildGoModule rec {
     "-X main.version=${version}"
   ];
 
-  vendorHash = "sha256-cCqbEv4kBnF6FWvfaXCOxadPVXR/AxXS3nXHf6WmsSs=";
+  vendorHash = "sha256-nbwrVihcH+ARLHylsjogsv3LVP+0+YtQ+7cozB7pAWo=";
 
   postInstall = ''
     installManPage $src/git-credential-oauth.1
diff --git a/pkgs/applications/version-management/git-extras/default.nix b/pkgs/applications/version-management/git-extras/default.nix
index a193444ddcf1c..adb36257188cd 100644
--- a/pkgs/applications/version-management/git-extras/default.nix
+++ b/pkgs/applications/version-management/git-extras/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "git-extras";
-  version = "7.1.0";
+  version = "7.2.0";
 
   src = fetchFromGitHub {
     owner = "tj";
     repo = "git-extras";
     rev = version;
-    sha256 = "sha256-e1UUAHXTRNgNWrYZuLGdrQIAD8WADmA2B9bVnDNidf8=";
+    sha256 = "sha256-Zzk133ZJv91zbFz0U9tiv8pb0pAIBt9Y/8PYIaABMGc=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/version-management/git-gone/default.nix b/pkgs/applications/version-management/git-gone/default.nix
index 133bc35f64fa2..884eeb893ac41 100644
--- a/pkgs/applications/version-management/git-gone/default.nix
+++ b/pkgs/applications/version-management/git-gone/default.nix
@@ -32,7 +32,7 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/swsnr/git-gone";
     changelog = "https://github.com/swsnr/git-gone/raw/v${version}/CHANGELOG.md";
     license = licenses.asl20;
-    maintainers = [ maintainers.marsam ];
+    maintainers = with maintainers; [ cafkafk ];
     mainProgram = "git-gone";
   };
 }
diff --git a/pkgs/applications/version-management/git-lfs/default.nix b/pkgs/applications/version-management/git-lfs/default.nix
index 430d0fe1f7596..f53586e757050 100644
--- a/pkgs/applications/version-management/git-lfs/default.nix
+++ b/pkgs/applications/version-management/git-lfs/default.nix
@@ -54,7 +54,7 @@ buildGoModule rec {
     homepage = "https://git-lfs.github.com/";
     changelog = "https://github.com/git-lfs/git-lfs/raw/v${version}/CHANGELOG.md";
     license = licenses.mit;
-    maintainers = with maintainers; [ twey marsam ];
+    maintainers = with maintainers; [ twey ];
     mainProgram = "git-lfs";
   };
 }
diff --git a/pkgs/applications/version-management/git-mit/default.nix b/pkgs/applications/version-management/git-mit/default.nix
index bdef9fe1ea7d9..508f416515ad8 100644
--- a/pkgs/applications/version-management/git-mit/default.nix
+++ b/pkgs/applications/version-management/git-mit/default.nix
@@ -10,7 +10,7 @@
 }:
 
 let
-  version = "5.12.197";
+  version = "5.12.198";
 in
 rustPlatform.buildRustPackage {
   pname = "git-mit";
@@ -20,10 +20,10 @@ rustPlatform.buildRustPackage {
     owner = "PurpleBooth";
     repo = "git-mit";
     rev = "v${version}";
-    hash = "sha256-Z03FDdlg1IBXHpurKr6RwmtZkaptyeQe+0lgKn/GTTQ=";
+    hash = "sha256-4tWgIwDmGZhMFTVT5VzmGj69zV8FGTV0yBHUy5Iu1Xw=";
   };
 
-  cargoHash = "sha256-V8TV8RM3T7DYqwNV/r5PkkJVtyAQLdY3BR3sz26phdY=";
+  cargoHash = "sha256-vKiCKcyB1Q2CNA4HpE8dc5gh+nlrz0VERIMaTGlDH5Y=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/applications/version-management/git-quick-stats/default.nix b/pkgs/applications/version-management/git-quick-stats/default.nix
index b354933eb6e98..e8292e84af45c 100644
--- a/pkgs/applications/version-management/git-quick-stats/default.nix
+++ b/pkgs/applications/version-management/git-quick-stats/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "git-quick-stats";
-  version = "2.5.4";
+  version = "2.5.5";
 
   src = fetchFromGitHub {
     repo = "git-quick-stats";
     owner = "arzzen";
     rev = version;
-    sha256 = "sha256-dbi48rq3ijPa45xtTi6kAly/IwkX4aK1P9hmcPNQEqM=";
+    sha256 = "sha256-7riA3yYw2D8+x/wzzbv0RF+zHCtqVC1ZpVANZp9x2AQ=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/version-management/git-quickfix/default.nix b/pkgs/applications/version-management/git-quickfix/default.nix
index a85bbbc54f5d7..cfed9952f79ec 100644
--- a/pkgs/applications/version-management/git-quickfix/default.nix
+++ b/pkgs/applications/version-management/git-quickfix/default.nix
@@ -35,7 +35,7 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/siedentop/git-quickfix";
     license = licenses.gpl3;
     platforms = platforms.all;
-    maintainers = with maintainers; [ msfjarvis ];
+    maintainers = with maintainers; [ cafkafk ];
     mainProgram = "git-quickfix";
   };
 }
diff --git a/pkgs/applications/version-management/git-reparent/default.nix b/pkgs/applications/version-management/git-reparent/default.nix
index df42e3b18779d..38a66d6db1db6 100644
--- a/pkgs/applications/version-management/git-reparent/default.nix
+++ b/pkgs/applications/version-management/git-reparent/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     inherit (src.meta) homepage;
     description = "Git command to recommit HEAD with a new set of parents";
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     license = licenses.gpl2;
     platforms = platforms.unix;
     mainProgram = "git-reparent";
diff --git a/pkgs/applications/version-management/git-standup/default.nix b/pkgs/applications/version-management/git-standup/default.nix
index 0fcdd265a0c39..2c4cdc02564bf 100644
--- a/pkgs/applications/version-management/git-standup/default.nix
+++ b/pkgs/applications/version-management/git-standup/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     description = "Recall what you did on the last working day";
     homepage = "https://github.com/kamranahmedse/git-standup";
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     platforms = platforms.all;
     mainProgram = "git-standup";
   };
diff --git a/pkgs/applications/version-management/git-subtrac/default.nix b/pkgs/applications/version-management/git-subtrac/default.nix
index 547adee7d6a3a..43fb89661735f 100644
--- a/pkgs/applications/version-management/git-subtrac/default.nix
+++ b/pkgs/applications/version-management/git-subtrac/default.nix
@@ -19,7 +19,7 @@ buildGoModule rec {
     description = "Keep the content for your git submodules all in one place: the parent repo";
     homepage = "https://github.com/apenwarr/git-subtrac";
     license = licenses.asl20;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     mainProgram = "git-subtrac";
   };
 }
diff --git a/pkgs/applications/version-management/git-test/default.nix b/pkgs/applications/version-management/git-test/default.nix
index 2f56091e2ad6d..fb8619249b55f 100644
--- a/pkgs/applications/version-management/git-test/default.nix
+++ b/pkgs/applications/version-management/git-test/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     description = "Test your commits";
     homepage = "https://github.com/spotify/git-test";
     license = licenses.asl20;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     platforms = platforms.all;
     mainProgram = "git-test";
   };
diff --git a/pkgs/applications/version-management/git-town/default.nix b/pkgs/applications/version-management/git-town/default.nix
index 1efcf23600be1..c47604d711c86 100644
--- a/pkgs/applications/version-management/git-town/default.nix
+++ b/pkgs/applications/version-management/git-town/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "git-town";
-  version = "14.1.0";
+  version = "14.2.0";
 
   src = fetchFromGitHub {
     owner = "git-town";
     repo = "git-town";
     rev = "v${version}";
-    hash = "sha256-BhtKl052P3PGxGXb5lSOIsncJLiNlevzBMEF2kCuFpM=";
+    hash = "sha256-+OJ8aUA/VFOAzdCRcOCQKm6/RjRe13TITP1DAWqoAQI=";
   };
 
   vendorHash = null;
diff --git a/pkgs/applications/version-management/git-trim/default.nix b/pkgs/applications/version-management/git-trim/default.nix
index cbc96ed1e78c3..a387ec706718d 100644
--- a/pkgs/applications/version-management/git-trim/default.nix
+++ b/pkgs/applications/version-management/git-trim/default.nix
@@ -50,7 +50,7 @@ rustPlatform.buildRustPackage rec {
     description = "Automatically trims your branches whose tracking remote refs are merged or gone";
     homepage = "https://github.com/foriequal0/git-trim";
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = with maintainers; [ cafkafk ];
     mainProgram = "git-trim";
   };
 }
diff --git a/pkgs/applications/version-management/gitlab/data.json b/pkgs/applications/version-management/gitlab/data.json
index 09ef9a290d7ba..ff2bbcf877c05 100644
--- a/pkgs/applications/version-management/gitlab/data.json
+++ b/pkgs/applications/version-management/gitlab/data.json
@@ -1,15 +1,15 @@
 {
-  "version": "16.10.3",
-  "repo_hash": "sha256-JeZHnoNMk7NYBeUy25YK+f6K7WOeTQnYV/pG08bmiwA=",
+  "version": "16.10.4",
+  "repo_hash": "sha256-ieS2MO5jBNBK0hmuWLfaDjRNhn98927hlTFrDbV0zCQ=",
   "yarn_hash": "0yzywfg4lqxjwm5cqsm4bn97zcrfvpnrs8rjrv9wv3xqvi9h9skd",
   "owner": "gitlab-org",
   "repo": "gitlab",
-  "rev": "v16.10.3-ee",
+  "rev": "v16.10.4-ee",
   "passthru": {
-    "GITALY_SERVER_VERSION": "16.10.3",
-    "GITLAB_PAGES_VERSION": "16.10.3",
+    "GITALY_SERVER_VERSION": "16.10.4",
+    "GITLAB_PAGES_VERSION": "16.10.4",
     "GITLAB_SHELL_VERSION": "14.34.0",
     "GITLAB_ELASTICSEARCH_INDEXER_VERSION": "4.8.0",
-    "GITLAB_WORKHORSE_VERSION": "16.10.3"
+    "GITLAB_WORKHORSE_VERSION": "16.10.4"
   }
 }
diff --git a/pkgs/applications/version-management/gitlab/gitaly/default.nix b/pkgs/applications/version-management/gitlab/gitaly/default.nix
index b0adadb93efc8..ac63b4296b7aa 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitaly/default.nix
@@ -6,7 +6,7 @@
 }:
 
 let
-  version = "16.10.3";
+  version = "16.10.4";
   package_version = "v${lib.versions.major version}";
   gitaly_package = "gitlab.com/gitlab-org/gitaly/${package_version}";
 
@@ -18,10 +18,10 @@ let
       owner = "gitlab-org";
       repo = "gitaly";
       rev = "v${version}";
-      hash = "sha256-WdEYZL3g/aYh2Iy1ZgJhIHgQ4967FOxhiuQEokk1S2A=";
+      hash = "sha256-dzHGnZwXomCUrlup9VD/0l084Swp9CVi4nJi6MtOwi8=";
     };
 
-    vendorHash = "sha256-zaldiRg7fk/HncpfR7k+dDprsOp1ziQHgX8B4l7bwe0=";
+    vendorHash = "sha256-mPoz+y1LWpGr+zYqAhxzznMyKIPehsDW+WFxklYSC10=";
 
     ldflags = [ "-X ${gitaly_package}/internal/version.version=${version}" "-X ${gitaly_package}/internal/version.moduleVersion=${version}" ];
 
diff --git a/pkgs/applications/version-management/gitlab/gitlab-container-registry/default.nix b/pkgs/applications/version-management/gitlab/gitlab-container-registry/default.nix
index c7f241aa0f426..c92cc3e0ddeb0 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-container-registry/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-container-registry/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "gitlab-container-registry";
-  version = "3.92.0";
+  version = "3.93.0";
   rev = "v${version}-gitlab";
 
   # nixpkgs-update: no auto update
@@ -10,7 +10,7 @@ buildGoModule rec {
     owner = "gitlab-org";
     repo = "container-registry";
     inherit rev;
-    hash = "sha256-NHpqfqv3RCbWZilhXLGnQTN+ytzifAix6mcLk5Bw124=";
+    hash = "sha256-4jsnfkHXs9FSnyQ6JP/zmW51x8fHyQ0n+B8EPOoTSAA=";
   };
 
   vendorHash = "sha256-KZWdM8Q8ipsgm7OoLyOuHo+4Vg2Nve+yZtTSUDgjOW4=";
diff --git a/pkgs/applications/version-management/gitlab/gitlab-pages/default.nix b/pkgs/applications/version-management/gitlab/gitlab-pages/default.nix
index 3d920be8966d6..5ca4a1e561f1f 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-pages/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-pages/default.nix
@@ -2,14 +2,14 @@
 
 buildGoModule rec {
   pname = "gitlab-pages";
-  version = "16.10.3";
+  version = "16.10.4";
 
   # nixpkgs-update: no auto update
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-pages";
     rev = "v${version}";
-    hash = "sha256-mQNDnxdrM679ejjXZuqSV8SwLXFcKKKGOQt3DJWOZOo=";
+    hash = "sha256-Jdg1cxHra4lHvf8+cojaE9OXR40w24OiwMhDYvmUBkI=";
   };
 
   vendorHash = "sha256-WrR4eZRAuYkhr7ZqP7OXqJ6uwvxzn+t+3OdBNcNaq0M=";
diff --git a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
index aa80f354b9854..98404f4a4f6d9 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
@@ -5,7 +5,7 @@ in
 buildGoModule rec {
   pname = "gitlab-workhorse";
 
-  version = "16.10.3";
+  version = "16.10.4";
 
   # nixpkgs-update: no auto update
   src = fetchFromGitLab {
diff --git a/pkgs/applications/version-management/gitprompt-rs/default.nix b/pkgs/applications/version-management/gitprompt-rs/default.nix
index 6d0013f5ad513..4df54080513cd 100644
--- a/pkgs/applications/version-management/gitprompt-rs/default.nix
+++ b/pkgs/applications/version-management/gitprompt-rs/default.nix
@@ -1,5 +1,9 @@
-{ lib, fetchFromGitHub, rustPlatform, git }:
-
+{
+  lib,
+  fetchFromGitHub,
+  rustPlatform,
+  git,
+}:
 rustPlatform.buildRustPackage rec {
   pname = "gitprompt-rs";
   version = "0.3.0";
@@ -8,21 +12,21 @@ rustPlatform.buildRustPackage rec {
     owner = "9ary";
     repo = pname;
     rev = version;
-    sha256 = "00xxz7awk01981daabp8m3kwq127y733ynijiwqgs8xvn4nkg8h6";
+    hash = "sha256-BqI3LbG7I/0wjzJaP8bxRwTM56joLqVaQCmAydX5vQM=";
   };
 
-  cargoSha256 = "0avs833vb6q1avjbfygm55s83iy942xgqsx6qdzksry44n35s418";
+  cargoHash = "sha256-KBBdhiXEZz1/w6Zr/LogyceBdCn1ebfkVgGbtcdAeis=";
 
   postPatch = ''
-     substituteInPlace src/main.rs \
-       --replace 'Command::new("git")' 'Command::new("${git}/bin/git")'
+    substituteInPlace src/main.rs \
+      --replace 'Command::new("git")' 'Command::new("${git}/bin/git")'
   '';
 
   meta = with lib; {
     description = "Simple Git prompt";
     homepage = "https://github.com/9ary/gitprompt-rs";
     license = with licenses; [ mpl20 ];
-    maintainers = with maintainers; [ novenary ];
+    maintainers = with maintainers; [ isabelroses cafkafk ];
     mainProgram = "gitprompt-rs";
   };
 }
diff --git a/pkgs/applications/version-management/lab/default.nix b/pkgs/applications/version-management/lab/default.nix
index d75a1cba61426..0a4637d533fb7 100644
--- a/pkgs/applications/version-management/lab/default.nix
+++ b/pkgs/applications/version-management/lab/default.nix
@@ -36,7 +36,7 @@ buildGoModule rec {
     description = "Lab wraps Git or Hub, making it simple to clone, fork, and interact with repositories on GitLab";
     homepage = "https://zaquestion.github.io/lab";
     license = licenses.cc0;
-    maintainers = with maintainers; [ marsam dtzWill ];
+    maintainers = with maintainers; [ dtzWill ];
     mainProgram = "lab";
   };
 }
diff --git a/pkgs/applications/version-management/radicle-upstream/default.nix b/pkgs/applications/version-management/radicle-upstream/default.nix
index 69c960ed78e86..ff12f008f4b27 100644
--- a/pkgs/applications/version-management/radicle-upstream/default.nix
+++ b/pkgs/applications/version-management/radicle-upstream/default.nix
@@ -1,9 +1,8 @@
-{ lib, stdenv, appimageTools, autoPatchelfHook, zlib, fetchurl, undmg }:
+{ lib, stdenv, appimageTools, autoPatchelfHook, zlib, fetchurl, undmg, libgcc }:
 
 let
   pname = "radicle-upstream";
   version = "0.3.0";
-  name = "${pname}-${version}";
 
   srcs = {
     x86_64-linux = fetchurl {
@@ -17,7 +16,7 @@ let
   };
   src = srcs.${stdenv.hostPlatform.system} or (throw "unsupported system ${stdenv.hostPlatform.system}");
 
-  contents = appimageTools.extract { inherit name src; };
+  contents = appimageTools.extract { inherit pname version src; };
 
   git-remote-rad = stdenv.mkDerivation rec {
     pname = "git-remote-rad";
@@ -25,11 +24,11 @@ let
     src = contents;
 
     nativeBuildInputs = [ autoPatchelfHook ];
-    buildInputs = [ zlib ];
+    buildInputs = [ libgcc zlib ];
 
     installPhase = ''
       mkdir -p $out/bin/
-      cp ${contents}/resources/git-remote-rad $out/bin/git-remote-rad
+      install -Dm755 ${contents}/resources/git-remote-rad $out/bin/git-remote-rad
     '';
   };
 
@@ -37,11 +36,9 @@ let
   # v0.1.0) uses unstable rust features, making a from source build impossible at
   # this time. See this PR for discussion: https://github.com/NixOS/nixpkgs/pull/105674
   linux = appimageTools.wrapType2 {
-    inherit name src meta;
+    inherit pname version src meta;
 
     extraInstallCommands = ''
-      mv $out/bin/${name} $out/bin/${pname}
-
       # this automatically adds the git-remote-rad binary to the users `PATH` so
       # they don't need to mess around with shell profiles...
       ln -s ${git-remote-rad}/bin/git-remote-rad $out/bin/git-remote-rad
diff --git a/pkgs/applications/video/ccextractor/default.nix b/pkgs/applications/video/ccextractor/default.nix
index 3814f921fa240..399287c93f7ff 100644
--- a/pkgs/applications/video/ccextractor/default.nix
+++ b/pkgs/applications/video/ccextractor/default.nix
@@ -65,7 +65,7 @@ stdenv.mkDerivation rec {
     # during Linking C executable ccextractor
     broken = stdenv.isAarch64;
     license = licenses.gpl2Only;
-    maintainers = with maintainers; [ titanous ];
+    maintainers = with maintainers; [ ];
     mainProgram = "ccextractor";
   };
 }
diff --git a/pkgs/applications/video/clapper/default.nix b/pkgs/applications/video/clapper/default.nix
index 954ea58b4554d..b638bc3afd7df 100644
--- a/pkgs/applications/video/clapper/default.nix
+++ b/pkgs/applications/video/clapper/default.nix
@@ -2,54 +2,49 @@
 , lib
 , stdenv
 , fetchFromGitHub
-, glib
 , gobject-introspection
-, python3
 , pkg-config
 , ninja
-, wayland
-, wayland-protocols
 , desktop-file-utils
 , makeWrapper
 , shared-mime-info
 , wrapGAppsHook4
 , meson
-, gjs
 , gtk4
 , gst_all_1
 , libGL
 , libadwaita
-, appstream-glib
-, libsoup
+, libsoup_3
+, vala
+, cmake
+, libmicrodns
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "clapper";
-  version = "0.5.2";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner  = "Rafostar";
-    repo   = pname;
-    rev    = version;
-    sha256 = "sha256-s+qdTq3/pHHstwr1W3Hs2Zje++iJFHM6hQTFoZD43bY=";
+    repo   = "clapper";
+    rev    = finalAttrs.version;
+    hash = "sha256-5fD1OnVcY3ZC+QfoFqe2jV43/J36r85SpLUYF2ti7dY=";
   };
 
   nativeBuildInputs = [
-    appstream-glib
-    desktop-file-utils # for update-desktop-database
-    glib
     gobject-introspection
     meson
+    cmake
     ninja
     makeWrapper
     pkg-config
-    python3
-    shared-mime-info # for update-mime-database
     wrapGAppsHook4 # for gsettings
+    desktop-file-utils # for update-desktop-database
+    shared-mime-info # for update-mime-database
+    vala
   ];
 
   buildInputs = [
-    gjs
     gst_all_1.gstreamer
     gst_all_1.gst-plugins-base
     gst_all_1.gst-plugins-good
@@ -58,29 +53,30 @@ stdenv.mkDerivation rec {
     gtk4
     libGL
     libadwaita
-    libsoup
-    wayland
-    wayland-protocols
+    libsoup_3
+    libmicrodns
   ];
 
   postPatch = ''
-    patchShebangs build-aux/meson/postinstall.py
+    patchShebangs --build build-aux/meson/postinstall.py
   '';
 
-  postInstall = ''
-    cp ${src}/data/icons/*.svg $out/share/icons/hicolor/scalable/apps/
-    cp ${src}/data/icons/*.svg $out/share/icons/hicolor/symbolic/apps/
+  # The package uses "clappersink" provided by itself
+  preFixup = ''
+    gappsWrapperArgs+=(
+      --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : $out/lib/gstreamer-1.0
+    )
   '';
 
   meta = with lib; {
-    description = "A GNOME media player built using GJS with GTK4 toolkit and powered by GStreamer with OpenGL rendering. ";
+    description = "A GNOME media player built using GTK4 toolkit and powered by GStreamer with OpenGL rendering";
     longDescription = ''
-      Clapper is a GNOME media player build using GJS with GTK4 toolkit.
-      The media player is using GStreamer as a media backend and renders everything via OpenGL.
+      Clapper is a GNOME media player built using the GTK4 toolkit.
+      The media player is using GStreamer as a media backend.
     '';
     homepage = "https://github.com/Rafostar/clapper";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ tomfitzhenry ];
+    maintainers = with maintainers; [ aleksana ];
     platforms = platforms.linux;
   };
-}
+})
diff --git a/pkgs/applications/video/davinci-resolve/default.nix b/pkgs/applications/video/davinci-resolve/default.nix
index 7caf12ee76d81..bb631909872cf 100644
--- a/pkgs/applications/video/davinci-resolve/default.nix
+++ b/pkgs/applications/video/davinci-resolve/default.nix
@@ -181,7 +181,6 @@ let
 in
 buildFHSEnv {
   inherit (davinci) pname version;
-  name = null;
 
   targetPkgs = pkgs: with pkgs; [
     alsa-lib
diff --git a/pkgs/applications/video/electronplayer/electronplayer.nix b/pkgs/applications/video/electronplayer/electronplayer.nix
index 270d5543c9939..cc26adc24780a 100644
--- a/pkgs/applications/video/electronplayer/electronplayer.nix
+++ b/pkgs/applications/video/electronplayer/electronplayer.nix
@@ -2,21 +2,18 @@
 let
   pname = "electronplayer";
   version = "2.0.8";
-  name = "${pname}-${version}";
 
   #TODO: remove the -rc4 from the tag in the url when possible
   src = fetchurl {
-    url = "https://github.com/oscartbeaumont/ElectronPlayer/releases/download/v${version}-rc4/${name}.AppImage";
+    url = "https://github.com/oscartbeaumont/ElectronPlayer/releases/download/v${version}-rc4/${pname}-${version}.AppImage";
     sha256 = "wAsmSFdbRPnYnDyWQSbtyj+GLJLN7ibksUE7cegfkhI=";
   };
 
-  appimageContents = appimageTools.extractType2 { inherit name src; };
+  appimageContents = appimageTools.extractType2 { inherit pname version src; };
 in appimageTools.wrapType2 {
-  inherit name src;
+  inherit pname version src;
 
   extraInstallCommands = ''
-    mv $out/bin/${name} $out/bin/${pname}
-
     install -m 444 -D ${appimageContents}/${pname}.desktop $out/share/applications/${pname}.desktop
     substituteInPlace $out/share/applications/${pname}.desktop \
       --replace 'Exec=AppRun' 'Exec=ElectronPlayer'
diff --git a/pkgs/applications/video/flowblade/default.nix b/pkgs/applications/video/flowblade/default.nix
index 4e558d335e03f..937f5865d4043 100644
--- a/pkgs/applications/video/flowblade/default.nix
+++ b/pkgs/applications/video/flowblade/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "flowblade";
-  version = "2.14.0.1";
+  version = "2.14.0.2";
 
   src = fetchFromGitHub {
     owner = "jliljebl";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-kyW/vYKGy/tgHmev8LgJbGugfKkzKFwLZStQQfWYPuQ=";
+    sha256 = "sha256-M+M6qkgYD5zM8IOFwQsuQlK7qQsvmSjR+CXVpTW+O8k=";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/video/go-chromecast/default.nix b/pkgs/applications/video/go-chromecast/default.nix
index d554fd56847cb..44495386d4cf3 100644
--- a/pkgs/applications/video/go-chromecast/default.nix
+++ b/pkgs/applications/video/go-chromecast/default.nix
@@ -19,7 +19,7 @@ buildGoModule rec {
     homepage = "https://github.com/vishen/go-chromecast";
     description = "CLI for Google Chromecast, Home devices and Cast Groups";
     license = licenses.asl20;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
     mainProgram = "go-chromecast";
   };
 }
diff --git a/pkgs/applications/video/haruna/default.nix b/pkgs/applications/video/haruna/default.nix
index 14b0ca9497bc5..273b26808af58 100644
--- a/pkgs/applications/video/haruna/default.nix
+++ b/pkgs/applications/video/haruna/default.nix
@@ -1,6 +1,6 @@
 { lib
+, stdenv
 , fetchFromGitLab
-, mkKdeDerivation
 , breeze-icons
 , breeze
 , cmake
@@ -15,7 +15,7 @@
 , kirigami
 , kxmlgui
 , kdoctools
-, mpv
+, mpvqt
 , pkg-config
 , wrapQtAppsHook
 , qqc2-desktop-style
@@ -23,7 +23,7 @@
 , yt-dlp
 }:
 
-mkKdeDerivation rec {
+stdenv.mkDerivation rec {
   pname = "haruna";
   version = "1.0.2";
 
@@ -56,7 +56,7 @@ mkKdeDerivation rec {
     kirigami
     kxmlgui
     kdoctools
-    mpv
+    mpvqt
     qtbase
   ];
 
diff --git a/pkgs/applications/video/kodi/addons/keymap/default.nix b/pkgs/applications/video/kodi/addons/keymap/default.nix
index 154bbd6b3c1e5..e98e5ca2cb419 100644
--- a/pkgs/applications/video/kodi/addons/keymap/default.nix
+++ b/pkgs/applications/video/kodi/addons/keymap/default.nix
@@ -3,11 +3,11 @@
 buildKodiAddon rec {
   pname = "keymap";
   namespace = "script.keymap";
-  version = "1.1.5";
+  version = "1.2.1";
 
   src = fetchzip {
     url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip";
-    sha256 = "sha256-wSztipTEGIqw1icsz+ziNxYuRZOFt3C66T1Ifap/ta0=";
+    sha256 = "sha256-AtIufZbOi3MW7aSOAlON8csJheJqAbuBtKIX0sX6zIw=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/applications/video/kodi/addons/youtube/default.nix b/pkgs/applications/video/kodi/addons/youtube/default.nix
index d98acd70ac5c4..f2f340b257dbe 100644
--- a/pkgs/applications/video/kodi/addons/youtube/default.nix
+++ b/pkgs/applications/video/kodi/addons/youtube/default.nix
@@ -3,13 +3,13 @@
 buildKodiAddon rec {
   pname = "youtube";
   namespace = "plugin.video.youtube";
-  version = "7.0.5";
+  version = "7.0.6";
 
   src = fetchFromGitHub {
     owner = "anxdpanic";
     repo = "plugin.video.youtube";
     rev = "v${version}";
-    hash = "sha256-oM1n0Rye2QagxXoAZ/6mXKeGqKjEdewgS79lhp+yCQI=";
+    hash = "sha256-pxW45D/tppUTTgeR5wVteOP2f4TZ4wl/9A5IBhOZhTM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/applications/video/lbry/default.nix b/pkgs/applications/video/lbry/default.nix
index b7c03850c951c..c3eb942fed929 100644
--- a/pkgs/applications/video/lbry/default.nix
+++ b/pkgs/applications/video/lbry/default.nix
@@ -1,14 +1,12 @@
 { lib, fetchurl, appimageTools}:
 
-let
+appimageTools.wrapAppImage rec {
   pname = "lbry-desktop";
   version = "0.53.9";
-in appimageTools.wrapAppImage rec {
-  name = "${pname}-${version}";
 
   # Fetch from GitHub Releases and extract
   src = appimageTools.extract {
-    inherit name;
+    inherit pname version;
     src = fetchurl {
       url = "https://github.com/lbryio/lbry-desktop/releases/download/v${version}/LBRY_${version}.AppImage";
       # Gotten from latest-linux.yml
@@ -24,7 +22,7 @@ in appimageTools.wrapAppImage rec {
   # General fixup
   extraInstallCommands = ''
     # Firstly, rename the executable to lbry for convinence
-    mv $out/bin/${name} $out/bin/lbry
+    mv $out/bin/${pname} $out/bin/lbry
 
     # Now, install assets such as the desktop file and icons
     install -m 444 -D ${src}/lbry.desktop -t $out/share/applications
diff --git a/pkgs/applications/video/losslesscut-bin/build-from-appimage.nix b/pkgs/applications/video/losslesscut-bin/build-from-appimage.nix
index d75adb88f359c..1317536f3cf55 100644
--- a/pkgs/applications/video/losslesscut-bin/build-from-appimage.nix
+++ b/pkgs/applications/video/losslesscut-bin/build-from-appimage.nix
@@ -22,7 +22,7 @@ let
     inherit pname version src;
   };
 in
-(appimageTools.wrapType2 {
+appimageTools.wrapType2 {
   inherit pname version src;
 
   profile = ''
@@ -32,7 +32,6 @@ in
   extraPkgs = ps: appimageTools.defaultFhsEnvArgs.multiPkgs ps;
 
   extraInstallCommands = ''
-    mv $out/bin/{${pname}-${version},losslesscut}
     (
       mkdir -p $out/share
       cd ${extracted}/usr
@@ -53,6 +52,4 @@ in
     platforms = [ "x86_64-linux" ];
     mainProgram = "losslesscut";
   };
-}) // {
-  inherit pname version;
 }
diff --git a/pkgs/applications/video/makemkv/default.nix b/pkgs/applications/video/makemkv/default.nix
index dc016fda0a991..261e8008f6bc0 100644
--- a/pkgs/applications/video/makemkv/default.nix
+++ b/pkgs/applications/video/makemkv/default.nix
@@ -1,16 +1,17 @@
-{ lib
-, mkDerivation
-, fetchurl
-, autoPatchelfHook
-, pkg-config
-, curl
-, ffmpeg
-, openssl
-, qtbase
-, zlib
-
-, withJava ? true
-, jre_headless
+{
+  lib,
+  mkDerivation,
+  fetchurl,
+  autoPatchelfHook,
+  pkg-config,
+  curl,
+  ffmpeg,
+  openssl,
+  qtbase,
+  zlib,
+
+  withJava ? true,
+  jre_headless,
 }:
 
 let
@@ -30,12 +31,15 @@ let
     ];
     sha256 = "2dtNdyv0+QYWQrfrIu5RQKSN4scSWKuLFNlJZXpxDUM=";
   };
-
-in mkDerivation {
+in
+mkDerivation {
   pname = "makemkv";
   inherit version;
 
-  srcs = [ src_bin src_oss ];
+  srcs = [
+    src_bin
+    src_oss
+  ];
 
   sourceRoot = "makemkv-oss-${version}";
 
@@ -43,18 +47,25 @@ in mkDerivation {
 
   enableParallelBuilding = true;
 
-  nativeBuildInputs = [ autoPatchelfHook pkg-config ];
+  nativeBuildInputs = [
+    autoPatchelfHook
+    pkg-config
+  ];
 
-  buildInputs = [ ffmpeg openssl qtbase zlib ];
+  buildInputs = [
+    ffmpeg
+    openssl
+    qtbase
+    zlib
+  ];
 
   runtimeDependencies = [ (lib.getLib curl) ];
 
   qtWrapperArgs =
     let
       binPath = lib.makeBinPath [ jre_headless ];
-    in lib.optionals withJava [
-      "--prefix PATH : ${binPath}"
-    ];
+    in
+    lib.optionals withJava [ "--prefix PATH : ${binPath}" ];
 
   installPhase = ''
     runHook preInstall
@@ -84,9 +95,12 @@ in mkDerivation {
       expiration date.
     '';
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
-    license = [ licenses.unfree licenses.lgpl21 ];
+    license = [
+      licenses.unfree
+      licenses.lgpl21
+    ];
     homepage = "http://makemkv.com";
     platforms = [ "x86_64-linux" ];
-    maintainers = with maintainers; [ titanous ];
+    maintainers = with maintainers; [ jchw ];
   };
 }
diff --git a/pkgs/applications/video/manim/default.nix b/pkgs/applications/video/manim/default.nix
index 57186eec19f8c..b341a7ffee89a 100644
--- a/pkgs/applications/video/manim/default.nix
+++ b/pkgs/applications/video/manim/default.nix
@@ -47,14 +47,14 @@ let
 in python.pkgs.buildPythonApplication rec {
   pname = "manim";
   pyproject = true;
-  version = "0.18.0.post0";
-  disabled = python3.pythonOlder "3.8";
+  version = "0.18.1";
+  disabled = python3.pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner  = "ManimCommunity";
     repo = "manim";
     rev = "refs/tags/v${version}";
-    hash = "sha256-4HwQ74oHloK+1KOD6SzXCzGIDD+Dc0jDabw6/+cqmos=";
+    hash = "sha256-o+Wl3NMK6yopcsRVFtZuUE9c1GABa5d8rbQNHDJ4OiQ=";
   };
 
   nativeBuildInputs = with python.pkgs; [
diff --git a/pkgs/applications/video/molotov/default.nix b/pkgs/applications/video/molotov/default.nix
index 1930f06ffdb60..58e66c8f77ae8 100644
--- a/pkgs/applications/video/molotov/default.nix
+++ b/pkgs/applications/video/molotov/default.nix
@@ -12,7 +12,6 @@ in
 appimageTools.wrapType2 {
   inherit pname version src;
   extraInstallCommands = ''
-    mv $out/bin/${pname}-${version} $out/bin/${pname}
     install -m 444 -D \
       ${appimageContents}/@molotovdesktop-wrapper.desktop \
       $out/share/applications/${pname}.desktop
diff --git a/pkgs/applications/video/mpv/scripts/buildLua.nix b/pkgs/applications/video/mpv/scripts/buildLua.nix
index e0afa7d932c67..8db7d4b1aa3c9 100644
--- a/pkgs/applications/video/mpv/scripts/buildLua.nix
+++ b/pkgs/applications/video/mpv/scripts/buildLua.nix
@@ -2,7 +2,10 @@
 , stdenvNoCC }:
 
 let
-  escapedList = with lib; concatMapStringsSep " " (s: "'${escape [ "'" ] s}'");
+  # Escape strings for embedding in shell scripts
+  escaped = s: "'${lib.escape [ "'" ] s}'";
+  escapedList = lib.concatMapStringsSep " " escaped;
+
   fileName = pathStr: lib.last (lib.splitString "/" pathStr);
   scriptsDir = "$out/share/mpv/scripts";
 
@@ -50,14 +53,14 @@ lib.makeOverridable (args: stdenvNoCC.mkDerivation (extendedBy
         }
         [ ${with builtins; toString (length extraScripts)} -eq 0 ] || {
           echo "mpvScripts.buildLua does not support 'extraScripts'" \
-               "when 'scriptPath' is a directory"
+               "when 'scriptPath' is a directory" >&2
           exit 1
         }
         mkdir -p "${scriptsDir}"
         cp -a "${scriptPath}" "${scriptsDir}/${scriptName}"
       else
-        install -m644 -Dt "${scriptsDir}" \
-          ${escapedList ([ scriptPath ] ++ extraScripts)}
+        install -m644 -Dt "${scriptsDir}" ${escaped scriptPath}
+        ${lib.optionalString (extraScripts != []) ''cp -at "${scriptsDir}/" ${escapedList extraScripts}''}
       fi
 
       runHook postInstall
diff --git a/pkgs/applications/video/mpv/scripts/cutter.nix b/pkgs/applications/video/mpv/scripts/cutter.nix
index 69eba782cc1d7..36bc69bebaf81 100644
--- a/pkgs/applications/video/mpv/scripts/cutter.nix
+++ b/pkgs/applications/video/mpv/scripts/cutter.nix
@@ -29,7 +29,6 @@ buildLua {
   extraScripts = [ "c_concat.sh" ];
 
   postInstall = ''
-    chmod 0755 $out/share/mpv/scripts/c_concat.sh
     wrapProgram $out/share/mpv/scripts/c_concat.sh \
       --run "mkdir -p ~/.config/mpv/cutter/"
   '';
diff --git a/pkgs/applications/video/mpv/scripts/default.nix b/pkgs/applications/video/mpv/scripts/default.nix
index fac7c910d57ad..c20ac69ab068c 100644
--- a/pkgs/applications/video/mpv/scripts/default.nix
+++ b/pkgs/applications/video/mpv/scripts/default.nix
@@ -69,6 +69,7 @@ let
     cutter = callPackage ./cutter.nix { };
     dynamic-crop = callPackage ./dynamic-crop.nix { };
     inhibit-gnome = callPackage ./inhibit-gnome.nix { };
+    memo = callPackage ./memo.nix { };
     modernx = callPackage ./modernx.nix { };
     modernx-zydezu = callPackage ./modernx-zydezu.nix { };
     mpris = callPackage ./mpris.nix { };
diff --git a/pkgs/applications/video/mpv/scripts/memo.nix b/pkgs/applications/video/mpv/scripts/memo.nix
new file mode 100644
index 0000000000000..5361b796268e1
--- /dev/null
+++ b/pkgs/applications/video/mpv/scripts/memo.nix
@@ -0,0 +1,26 @@
+{ fetchFromGitHub
+, buildLua
+, lib
+, unstableGitUpdater
+}:
+
+buildLua {
+  pname = "memo";
+  version = "0-unstable-2023-10-31";
+
+  src = fetchFromGitHub {
+    owner = "po5";
+    repo = "memo";
+    rev = "6f2b036ef860e130ea584657389e0a7ceb4d954f";
+    hash = "sha256-m8ikXuw7PM4Btg8w7ufLneKA4fnYjMyfVJYueZILMw8=";
+  };
+
+  passthru.updateScript = unstableGitUpdater {};
+
+  meta = with lib; {
+    description = "A recent files menu for mpv";
+    homepage = "https://github.com/po5/memo";
+    license = licenses.gpl3Only;
+    maintainers = with lib.maintainers; [ purrpurrn ];
+  };
+}
diff --git a/pkgs/applications/video/mpv/scripts/mpv-webm.nix b/pkgs/applications/video/mpv/scripts/mpv-webm.nix
index 5645d6a65f6bf..e2411264c7b5d 100644
--- a/pkgs/applications/video/mpv/scripts/mpv-webm.nix
+++ b/pkgs/applications/video/mpv/scripts/mpv-webm.nix
@@ -7,13 +7,13 @@
 
 buildLua {
   pname = "mpv-webm";
-  version = "unstable-2023-11-18";
+  version = "unstable-2024-04-22";
 
   src = fetchFromGitHub {
     owner = "ekisu";
     repo = "mpv-webm";
-    rev = "6b5863f68275b3dc91c2507284c039ec8a4cbd97";
-    hash = "sha256-rJamBm6FyxWcJO7VXXOUTO9piWCkPfEVdqGKGeJ/h0c=";
+    rev = "225e8e53842f7da6f77034309c1e54293dc629a4";
+    hash = "sha256-82xWiuOChxfzX6e0+cGFxTqyuiPefyVwpvLM5ka7nPk=";
   };
   passthru.updateScript = unstableGitUpdater {};
 
diff --git a/pkgs/applications/video/mpv/scripts/mpvacious.nix b/pkgs/applications/video/mpv/scripts/mpvacious.nix
index ec4e25b88fb7b..adac4d1d60692 100644
--- a/pkgs/applications/video/mpv/scripts/mpvacious.nix
+++ b/pkgs/applications/video/mpv/scripts/mpvacious.nix
@@ -9,13 +9,13 @@
 
 buildLua rec {
   pname = "mpvacious";
-  version = "0.27";
+  version = "0.33";
 
   src = fetchFromGitHub {
     owner = "Ajatt-Tools";
     repo = "mpvacious";
     rev = "v${version}";
-    sha256 = "sha256-pn6hNEhOzKiU+zQJKj/rF0GLXaEe+XBpHp0RlzsNIio=";
+    sha256 = "sha256-VHMXW2AzgX88EDnNshxo9Gh8mpXzRoTAq+58HKasUdo=";
   };
   passthru.updateScript = gitUpdater {
     rev-prefix = "v";
diff --git a/pkgs/applications/video/mpv/scripts/sponsorblock.nix b/pkgs/applications/video/mpv/scripts/sponsorblock.nix
index 077b8f0590b28..56ac2575ecdea 100644
--- a/pkgs/applications/video/mpv/scripts/sponsorblock.nix
+++ b/pkgs/applications/video/mpv/scripts/sponsorblock.nix
@@ -32,7 +32,7 @@ buildLua {
       --replace 'mp.find_config_file("scripts")' "\"$out/share/mpv/scripts\""
   '';
 
-  postInstall = "cp -a sponsorblock_shared $out/share/mpv/scripts/";
+  extraScripts = [ "sponsorblock_shared" ];
 
   passthru.updateScript = nix-update-script {
     extraArgs = [ "--version=branch" ];
diff --git a/pkgs/applications/video/mythtv/default.nix b/pkgs/applications/video/mythtv/default.nix
index fba7eb16839ef..07e8be2bea719 100644
--- a/pkgs/applications/video/mythtv/default.nix
+++ b/pkgs/applications/video/mythtv/default.nix
@@ -42,6 +42,6 @@ mkDerivation rec {
     description = "Open Source DVR";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
-    maintainers = [ maintainers.titanous ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/applications/video/obs-studio/default.nix b/pkgs/applications/video/obs-studio/default.nix
index 3df52d08684d5..f278d832958ed 100644
--- a/pkgs/applications/video/obs-studio/default.nix
+++ b/pkgs/applications/video/obs-studio/default.nix
@@ -198,7 +198,7 @@ stdenv.mkDerivation (finalAttrs: {
       video content, efficiently
     '';
     homepage = "https://obsproject.com";
-    maintainers = with maintainers; [ eclairevoyant jb55 MP2E materus fpletz ];
+    maintainers = with maintainers; [ eclairevoyant jb55 materus fpletz ];
     license = with licenses; [ gpl2Plus ] ++ optional withFdk fraunhofer-fdk;
     platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" ];
     mainProgram = "obs";
diff --git a/pkgs/applications/video/obs-studio/plugins/input-overlay.nix b/pkgs/applications/video/obs-studio/plugins/input-overlay.nix
index 8926b7e1764b8..9f13de2847402 100644
--- a/pkgs/applications/video/obs-studio/plugins/input-overlay.nix
+++ b/pkgs/applications/video/obs-studio/plugins/input-overlay.nix
@@ -13,12 +13,12 @@
 
 stdenv.mkDerivation rec {
   pname = "obs-input-overlay";
-  version = "5.0.4";
+  version = "5.0.5";
   src = fetchFromGitHub {
     owner = "univrsal";
     repo = "input-overlay";
     rev = "v${version}";
-    sha256 = "sha256-MON68yjHUOF/bggWqhw8D0+23HpKQN3jWs+5lLAacaQ=";
+    sha256 = "sha256-9HqEz+KnTt8MyhwqFWjalbl3H/DCzumckXMctCGhs3o=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/video/obs-studio/plugins/obs-backgroundremoval/default.nix b/pkgs/applications/video/obs-studio/plugins/obs-backgroundremoval/default.nix
index 766fca414cd8d..638d0785f4c80 100644
--- a/pkgs/applications/video/obs-studio/plugins/obs-backgroundremoval/default.nix
+++ b/pkgs/applications/video/obs-studio/plugins/obs-backgroundremoval/default.nix
@@ -2,37 +2,45 @@
 , stdenv
 , fetchFromGitHub
 , cmake
+, ninja
 , obs-studio
 , onnxruntime
 , opencv
+, qt6
+, curl
 }:
 
 stdenv.mkDerivation rec {
   pname = "obs-backgroundremoval";
-  version = "0.5.16";
+  version = "1.1.13";
 
   src = fetchFromGitHub {
-    owner = "royshil";
+    owner = "occ-ai";
     repo = "obs-backgroundremoval";
-    rev = "v${version}";
-    hash = "sha256-E+pm/Ma6dZTYlX3DpB49ynTETsRS2TBqgHSCijl/Txc=";
+    rev = version;
+    hash = "sha256-QoC9/HkwOXMoFNvcOxQkGCLLAJmsja801LKCNT9O9T0=";
   };
 
-  nativeBuildInputs = [ cmake ];
-  buildInputs = [ obs-studio onnxruntime opencv ];
+  nativeBuildInputs = [ cmake ninja ];
+  buildInputs = [ obs-studio onnxruntime opencv qt6.qtbase curl ];
 
   dontWrapQtApps = true;
 
   cmakeFlags = [
+    "--preset linux-x86_64"
+    "-DCMAKE_MODULE_PATH:PATH=${src}/cmake"
     "-DUSE_SYSTEM_ONNXRUNTIME=ON"
     "-DUSE_SYSTEM_OPENCV=ON"
+    "-DDISABLE_ONNXRUNTIME_GPU=ON"
   ];
 
-  postInstall = ''
-    mkdir $out/lib $out/share
-    mv $out/obs-plugins/64bit $out/lib/obs-plugins
-    rm -rf $out/obs-plugins
-    mv $out/data $out/share/obs
+  buildPhase = ''
+     cd ..
+     cmake --build build_x86_64 --parallel
+  '';
+
+  installPhase = ''
+    cmake --install build_x86_64 --prefix "$out"
   '';
 
   meta = with lib; {
@@ -40,6 +48,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/royshil/obs-backgroundremoval";
     maintainers = with maintainers; [ zahrun ];
     license = licenses.mit;
-    platforms = [ "x86_64-linux" "i686-linux" ];
+    platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/video/obs-studio/plugins/obs-command-source.nix b/pkgs/applications/video/obs-studio/plugins/obs-command-source.nix
index f38d53a14101e..df4ec89316b33 100644
--- a/pkgs/applications/video/obs-studio/plugins/obs-command-source.nix
+++ b/pkgs/applications/video/obs-studio/plugins/obs-command-source.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "obs-command-source";
-  version = "0.4.0";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "norihiro";
     repo = "obs-command-source";
     rev = version;
-    sha256 = "sha256-rBGMQb7iGtxF54bBOK5lHI6VFYCSEyeSq2Arz0T0DPo=";
+    sha256 = "sha256-yrzY4pHSupkkdRlx725oSVtQTH1Ci9zFolHN3i2Vm28=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/video/obs-studio/plugins/obs-shaderfilter.nix b/pkgs/applications/video/obs-studio/plugins/obs-shaderfilter.nix
index deebf1af7b848..f400fced2ac08 100644
--- a/pkgs/applications/video/obs-studio/plugins/obs-shaderfilter.nix
+++ b/pkgs/applications/video/obs-studio/plugins/obs-shaderfilter.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "obs-shaderfilter";
-  version = "2.3.1";
+  version = "2.3.2";
 
   src = fetchFromGitHub {
     owner = "exeldro";
     repo = "obs-shaderfilter";
     rev = version;
-    sha256 = "sha256-J7tCEIB9zQ0zZFl1eSuEARd+KqpNClHfYx3wcLawFeM=";
+    sha256 = "sha256-INxz8W4AMKxRcfpZkhqqsWWWQQVEc2G9iFQBit1YA2E=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/video/obs-studio/plugins/obs-vertical-canvas.nix b/pkgs/applications/video/obs-studio/plugins/obs-vertical-canvas.nix
index c6e9f450b9907..82767da10d998 100644
--- a/pkgs/applications/video/obs-studio/plugins/obs-vertical-canvas.nix
+++ b/pkgs/applications/video/obs-studio/plugins/obs-vertical-canvas.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "obs-vertical-canvas";
-  version = "1.4.1";
+  version = "1.4.2";
 
   src = fetchFromGitHub {
     owner = "Aitum";
     repo = "obs-vertical-canvas";
     rev = version;
-    sha256 = "sha256-baEF8vcAmac4bwpzJnGE2WczTa6vojjRQ/oEKgYeXgk=";
+    sha256 = "sha256-3lFM7bOzsKex6JUdbcw8MNS4PRzaN/E/vngdukgfV0s=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/video/openshot-qt/default.nix b/pkgs/applications/video/openshot-qt/default.nix
index 089b60a3b27c5..fdd96d1aa3ded 100644
--- a/pkgs/applications/video/openshot-qt/default.nix
+++ b/pkgs/applications/video/openshot-qt/default.nix
@@ -8,6 +8,9 @@
 , python3
 , qtbase
 , qtsvg
+, qtwayland
+, wayland
+, waylandSupport ? stdenv.isLinux
 , wrapGAppsHook
 }:
 
@@ -33,6 +36,9 @@ mkDerivationWith python3.pkgs.buildPythonApplication {
 
   buildInputs = [
     gtk3
+  ] ++ lib.optionals waylandSupport [
+    qtwayland
+    wayland
   ];
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/applications/video/shotcut/default.nix b/pkgs/applications/video/shotcut/default.nix
index 8678c456b07f7..87732ad75b8cc 100644
--- a/pkgs/applications/video/shotcut/default.nix
+++ b/pkgs/applications/video/shotcut/default.nix
@@ -21,13 +21,13 @@
 }:
 stdenv.mkDerivation (finalAttrs: {
   pname = "shotcut";
-  version = "24.02.29";
+  version = "24.04.28";
 
   src = fetchFromGitHub {
     owner = "mltframework";
     repo = "shotcut";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-PHpVquqC0MT7WNoWcdB9WTz4ZiSK4/f4oD5PH1gWBnw=";
+    hash = "sha256-iMg2XrTrLFZXXvnJ7lMdkxf/LTaL9bh9Nc2jsPOS0eo=";
   };
 
   nativeBuildInputs = [ pkg-config cmake wrapQtAppsHook ];
diff --git a/pkgs/applications/video/vcs/default.nix b/pkgs/applications/video/vcs/default.nix
index e21e3a98f1f7f..63a9989134735 100644
--- a/pkgs/applications/video/vcs/default.nix
+++ b/pkgs/applications/video/vcs/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation {
   meta = {
     description = "Generates contact sheets from video files";
     homepage = "http://p.outlyer.net/vcs";
-    license = licenses.cc-by-nc-sa-30;
+    license = licenses.lgpl21Plus;
     maintainers = with maintainers; [ elitak ];
     platforms = with platforms; unix;
     mainProgram = "vcs";
diff --git a/pkgs/applications/video/vdr/default.nix b/pkgs/applications/video/vdr/default.nix
index c5159fdd61f0f..5713aeb954af3 100644
--- a/pkgs/applications/video/vdr/default.nix
+++ b/pkgs/applications/video/vdr/default.nix
@@ -5,12 +5,12 @@
 }: stdenv.mkDerivation rec {
 
   pname = "vdr";
-  version = "2.6.6";
+  version = "2.6.7";
 
   src = fetchgit {
     url = "git://git.tvdr.de/vdr.git";
     rev = version;
-    hash = "sha256-3om/Q67PHtX/aIG4zMCaJTyD9bZNEcyE5LQTeb+zB+M=";
+    hash = "sha256-6i3EQgARwMLNejgB0NevmLmd9OrNBvjqW+qLrAdqUxE=";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/video/wf-recorder/default.nix b/pkgs/applications/video/wf-recorder/default.nix
index 56a85517eb0a1..f4e2c8ee714fd 100644
--- a/pkgs/applications/video/wf-recorder/default.nix
+++ b/pkgs/applications/video/wf-recorder/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     inherit (src.meta) homepage;
     changelog = "https://github.com/ammen99/wf-recorder/releases/tag/v${version}";
     license = licenses.mit;
-    maintainers = with maintainers; [ yuka ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.linux;
     mainProgram = "wf-recorder";
   };
diff --git a/pkgs/applications/virtualization/cloud-hypervisor/Cargo.lock b/pkgs/applications/virtualization/cloud-hypervisor/Cargo.lock
index 533a473d036ea..18d10d781df63 100644
--- a/pkgs/applications/virtualization/cloud-hypervisor/Cargo.lock
+++ b/pkgs/applications/virtualization/cloud-hypervisor/Cargo.lock
@@ -5,16 +5,16 @@ version = 3
 [[package]]
 name = "acpi_tables"
 version = "0.1.0"
-source = "git+https://github.com/rust-vmm/acpi_tables?branch=main#76e8552f57f76ca918e19c0a7b7480d2fa2c7241"
+source = "git+https://github.com/rust-vmm/acpi_tables?branch=main#925e3f8aff3551df67ec4472fc221564e30c8847"
 dependencies = [
  "zerocopy",
 ]
 
 [[package]]
 name = "addr2line"
-version = "0.19.0"
+version = "0.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97"
+checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb"
 dependencies = [
  "gimli",
 ]
@@ -27,18 +27,18 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
 
 [[package]]
 name = "aho-corasick"
-version = "1.0.2"
+version = "1.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41"
+checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
 dependencies = [
  "memchr",
 ]
 
 [[package]]
 name = "anstream"
-version = "0.6.4"
+version = "0.6.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44"
+checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb"
 dependencies = [
  "anstyle",
  "anstyle-parse",
@@ -56,9 +56,9 @@ checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc"
 
 [[package]]
 name = "anstyle-parse"
-version = "0.2.1"
+version = "0.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333"
+checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c"
 dependencies = [
  "utf8parse",
 ]
@@ -84,9 +84,9 @@ dependencies = [
 
 [[package]]
 name = "anyhow"
-version = "1.0.79"
+version = "1.0.81"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca"
+checksum = "0952808a6c2afd1aa8947271f3a60f1a6763c7b912d210184c5149b5cf147247"
 
 [[package]]
 name = "api_client"
@@ -97,9 +97,9 @@ dependencies = [
 
 [[package]]
 name = "arc-swap"
-version = "1.6.0"
+version = "1.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6"
+checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457"
 
 [[package]]
 name = "arch"
@@ -115,8 +115,6 @@ dependencies = [
  "serde",
  "thiserror",
  "uuid",
- "versionize",
- "versionize_derive",
  "vm-fdt",
  "vm-memory",
  "vm-migration",
@@ -135,28 +133,27 @@ dependencies = [
 
 [[package]]
 name = "async-channel"
-version = "2.1.1"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ca33f4bc4ed1babef42cad36cc1f51fa88be00420404e5b1e80ab1b18f7678c"
+checksum = "f28243a43d821d11341ab73c80bed182dc015c514b951616cf79bd4af39af0c3"
 dependencies = [
  "concurrent-queue",
- "event-listener 4.0.0",
- "event-listener-strategy",
+ "event-listener 5.3.0",
+ "event-listener-strategy 0.5.1",
  "futures-core",
  "pin-project-lite",
 ]
 
 [[package]]
 name = "async-executor"
-version = "1.8.0"
+version = "1.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17ae5ebefcc48e7452b4987947920dac9450be1110cadf34d1b8c116bdbaf97c"
+checksum = "b10202063978b3351199d68f8b22c4e47e4b1b822f8d43fd862d5ea8c006b29a"
 dependencies = [
- "async-lock 3.2.0",
  "async-task",
  "concurrent-queue",
- "fastrand 2.0.0",
- "futures-lite 2.1.0",
+ "fastrand 2.0.2",
+ "futures-lite 2.3.0",
  "slab",
 ]
 
@@ -166,7 +163,7 @@ version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "279cf904654eeebfa37ac9bb1598880884924aab82e290aa65c9e77a0e142e06"
 dependencies = [
- "async-lock 2.7.0",
+ "async-lock 2.8.0",
  "autocfg",
  "blocking",
  "futures-lite 1.13.0",
@@ -178,14 +175,14 @@ version = "1.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af"
 dependencies = [
- "async-lock 2.7.0",
+ "async-lock 2.8.0",
  "autocfg",
  "cfg-if",
  "concurrent-queue",
  "futures-lite 1.13.0",
  "log",
  "parking",
- "polling",
+ "polling 2.8.0",
  "rustix 0.37.27",
  "slab",
  "socket2",
@@ -193,67 +190,85 @@ dependencies = [
 ]
 
 [[package]]
+name = "async-io"
+version = "2.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dcccb0f599cfa2f8ace422d3555572f47424da5648a4382a9dd0310ff8210884"
+dependencies = [
+ "async-lock 3.3.0",
+ "cfg-if",
+ "concurrent-queue",
+ "futures-io",
+ "futures-lite 2.3.0",
+ "parking",
+ "polling 3.6.0",
+ "rustix 0.38.32",
+ "slab",
+ "tracing",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
 name = "async-lock"
-version = "2.7.0"
+version = "2.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa24f727524730b077666307f2734b4a1a1c57acb79193127dcc8914d5242dd7"
+checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b"
 dependencies = [
  "event-listener 2.5.3",
 ]
 
 [[package]]
 name = "async-lock"
-version = "3.2.0"
+version = "3.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7125e42787d53db9dd54261812ef17e937c95a51e4d291373b670342fa44310c"
+checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b"
 dependencies = [
- "event-listener 4.0.0",
- "event-listener-strategy",
+ "event-listener 4.0.3",
+ "event-listener-strategy 0.4.0",
  "pin-project-lite",
 ]
 
 [[package]]
 name = "async-process"
-version = "1.8.0"
+version = "1.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf012553ce51eb7aa6dc2143804cc8252bd1cb681a1c5cb7fa94ca88682dee1d"
+checksum = "ea6438ba0a08d81529c69b36700fa2f95837bfe3e776ab39cde9c14d9149da88"
 dependencies = [
- "async-io",
- "async-lock 2.7.0",
+ "async-io 1.13.0",
+ "async-lock 2.8.0",
  "async-signal",
  "blocking",
  "cfg-if",
- "event-listener 3.0.0",
+ "event-listener 3.1.0",
  "futures-lite 1.13.0",
- "rustix 0.38.25",
+ "rustix 0.38.32",
  "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "async-recursion"
-version = "1.0.5"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0"
+checksum = "30c5ef0ede93efbf733c1a727f3b6b5a1060bbedd5600183e66f6e4be4af0ec5"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
 name = "async-signal"
-version = "0.2.2"
+version = "0.2.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c99f3cb3f9ff89f7d718fbb942c9eb91bedff12e396adf09a622dfe7ffec2bc2"
+checksum = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5"
 dependencies = [
- "async-io",
- "async-lock 2.7.0",
+ "async-io 2.3.2",
+ "async-lock 2.8.0",
  "atomic-waker",
  "cfg-if",
- "concurrent-queue",
  "futures-core",
  "futures-io",
- "libc",
+ "rustix 0.38.32",
  "signal-hook-registry",
  "slab",
  "windows-sys 0.48.0",
@@ -261,19 +276,19 @@ dependencies = [
 
 [[package]]
 name = "async-task"
-version = "4.5.0"
+version = "4.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4eb2cdb97421e01129ccb49169d8279ed21e829929144f4a22a6e54ac549ca1"
+checksum = "fbb36e985947064623dbd357f727af08ffd077f93d696782f3c56365fa2e2799"
 
 [[package]]
 name = "async-trait"
-version = "0.1.76"
+version = "0.1.80"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "531b97fb4cd3dfdce92c35dedbfdc1f0b9d8091c8ca943d6dae340ef5012d514"
+checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
@@ -284,15 +299,15 @@ checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
 
 [[package]]
 name = "autocfg"
-version = "1.1.0"
+version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80"
 
 [[package]]
 name = "backtrace"
-version = "0.3.67"
+version = "0.3.71"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca"
+checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d"
 dependencies = [
  "addr2line",
  "cc",
@@ -304,15 +319,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "bincode"
-version = "1.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad"
-dependencies = [
- "serde",
-]
-
-[[package]]
 name = "bitfield-struct"
 version = "0.5.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -320,7 +326,7 @@ checksum = "a26b8cea8bb6a81b75a84603b9e096f05fa86db057904ef29be1deee900532bd"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
@@ -331,9 +337,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
 name = "bitflags"
-version = "2.4.1"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
+checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1"
 
 [[package]]
 name = "block"
@@ -345,11 +351,10 @@ dependencies = [
  "libc",
  "log",
  "remain",
+ "serde",
  "smallvec",
  "thiserror",
  "uuid",
- "versionize",
- "versionize_derive",
  "virtio-bindings",
  "virtio-queue",
  "vm-memory",
@@ -373,35 +378,32 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118"
 dependencies = [
  "async-channel",
- "async-lock 3.2.0",
+ "async-lock 3.3.0",
  "async-task",
- "fastrand 2.0.0",
+ "fastrand 2.0.2",
  "futures-io",
- "futures-lite 2.1.0",
+ "futures-lite 2.3.0",
  "piper",
  "tracing",
 ]
 
 [[package]]
 name = "bumpalo"
-version = "3.13.0"
+version = "3.15.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1"
+checksum = "7ff69b9dd49fd426c69a0db9fc04dd934cdb6645ff000864d98f7e2af8830eaa"
 
 [[package]]
 name = "byteorder"
-version = "1.4.3"
+version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
+checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
 
 [[package]]
 name = "cc"
-version = "1.0.83"
+version = "1.0.95"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
-dependencies = [
- "libc",
-]
+checksum = "d32a725bc159af97c3e629873bb9f88fb8cf8a4867175f76dc987815ea07c83b"
 
 [[package]]
 name = "cfg-if"
@@ -411,35 +413,35 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 
 [[package]]
 name = "clap"
-version = "4.4.7"
+version = "4.5.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac495e00dcec98c83465d5ad66c5c4fabd652fd6686e7c6269b117e729a6f17b"
+checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0"
 dependencies = [
  "clap_builder",
 ]
 
 [[package]]
 name = "clap_builder"
-version = "4.4.7"
+version = "4.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c77ed9a32a62e6ca27175d00d29d05ca32e396ea1eb5fb01d8256b669cec7663"
+checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4"
 dependencies = [
  "anstream",
  "anstyle",
  "clap_lex",
- "strsim",
+ "strsim 0.11.1",
  "terminal_size",
 ]
 
 [[package]]
 name = "clap_lex"
-version = "0.6.0"
+version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1"
+checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce"
 
 [[package]]
 name = "cloud-hypervisor"
-version = "38.0.0"
+version = "39.0.0"
 dependencies = [
  "anyhow",
  "api_client",
@@ -485,9 +487,9 @@ dependencies = [
 
 [[package]]
 name = "cpufeatures"
-version = "0.2.9"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1"
+checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504"
 dependencies = [
  "libc",
 ]
@@ -503,20 +505,14 @@ dependencies = [
 
 [[package]]
 name = "crc32fast"
-version = "1.3.2"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
+checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa"
 dependencies = [
  "cfg-if",
 ]
 
 [[package]]
-name = "crc64"
-version = "2.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2707e3afba5e19b75d582d88bc79237418f2a2a2d673d01cf9b03633b46e98f3"
-
-[[package]]
 name = "crossbeam-utils"
 version = "0.8.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -534,9 +530,9 @@ dependencies = [
 
 [[package]]
 name = "darling"
-version = "0.20.6"
+version = "0.20.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c376d08ea6aa96aafe61237c7200d1241cb177b7d3a542d791f2d118e9cbb955"
+checksum = "54e36fcd13ed84ffdfda6f5be89b31287cbb80c439841fe69e04841435464391"
 dependencies = [
  "darling_core",
  "darling_macro",
@@ -544,27 +540,27 @@ dependencies = [
 
 [[package]]
 name = "darling_core"
-version = "0.20.6"
+version = "0.20.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "33043dcd19068b8192064c704b3f83eb464f91f1ff527b44a4e2b08d9cdb8855"
+checksum = "9c2cf1c23a687a1feeb728783b993c4e1ad83d99f351801977dd809b48d0a70f"
 dependencies = [
  "fnv",
  "ident_case",
  "proc-macro2",
  "quote",
- "strsim",
- "syn 2.0.48",
+ "strsim 0.10.0",
+ "syn 2.0.58",
 ]
 
 [[package]]
 name = "darling_macro"
-version = "0.20.6"
+version = "0.20.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5a91391accf613803c2a9bf9abccdbaa07c54b4244a5b64883f9c3c137c86be"
+checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f"
 dependencies = [
  "darling_core",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
@@ -591,17 +587,16 @@ dependencies = [
  "acpi_tables",
  "anyhow",
  "arch",
- "bitflags 2.4.1",
+ "bitflags 2.5.0",
  "byteorder",
  "event_monitor",
  "hypervisor",
  "libc",
  "log",
  "pci",
+ "serde",
  "thiserror",
  "tpm",
- "versionize",
- "versionize_derive",
  "vm-allocator",
  "vm-device",
  "vm-memory",
@@ -658,9 +653,9 @@ dependencies = [
 
 [[package]]
 name = "enumflags2"
-version = "0.7.8"
+version = "0.7.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5998b4f30320c9d93aed72f63af821bfdac50465b75428fce77b48ec482c3939"
+checksum = "3278c9d5fb675e0a51dabcf4c0d355f692b064171535ba72361be1528a9d8e8d"
 dependencies = [
  "enumflags2_derive",
  "serde",
@@ -668,26 +663,36 @@ dependencies = [
 
 [[package]]
 name = "enumflags2_derive"
-version = "0.7.8"
+version = "0.7.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f95e2801cd355d4a1a3e3953ce6ee5ae9603a5c833455343a8bfe3f44d418246"
+checksum = "5c785274071b1b420972453b306eeca06acf4633829db4223b58a2a8c5953bc4"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
+]
+
+[[package]]
+name = "env_filter"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a009aa4810eb158359dda09d0c87378e4bbb89b5a801f016885a4707ba24f7ea"
+dependencies = [
+ "log",
+ "regex",
 ]
 
 [[package]]
 name = "env_logger"
-version = "0.10.1"
+version = "0.11.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95b3f3e67048839cb0d0781f445682a35113da7121f7c949db0e2be96a4fbece"
+checksum = "38b35839ba51819680ba087cd351788c9a3c476841207e0b8cee0b04722343b9"
 dependencies = [
+ "anstream",
+ "anstyle",
+ "env_filter",
  "humantime",
- "is-terminal",
  "log",
- "regex",
- "termcolor",
 ]
 
 [[package]]
@@ -696,7 +701,7 @@ version = "4.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "74351c3392ea1ff6cd2628e0042d268ac2371cb613252ff383b6dfa50d22fa79"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.5.0",
  "libc",
 ]
 
@@ -708,12 +713,12 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
 
 [[package]]
 name = "errno"
-version = "0.3.5"
+version = "0.3.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860"
+checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
 dependencies = [
  "libc",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -724,9 +729,20 @@ checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
 
 [[package]]
 name = "event-listener"
-version = "3.0.0"
+version = "3.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d93877bcde0eb80ca09131a08d23f0a5c18a620b01db137dba666d18cd9b30c2"
+dependencies = [
+ "concurrent-queue",
+ "parking",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "event-listener"
+version = "4.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "29e56284f00d94c1bc7fd3c77027b4623c88c1f53d8d2394c6199f2921dea325"
+checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e"
 dependencies = [
  "concurrent-queue",
  "parking",
@@ -735,9 +751,9 @@ dependencies = [
 
 [[package]]
 name = "event-listener"
-version = "4.0.0"
+version = "5.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "770d968249b5d99410d61f5bf89057f3199a077a04d087092f58e7d10692baae"
+checksum = "6d9944b8ca13534cdfb2800775f8dd4902ff3fc75a50101466decadfdf322a24"
 dependencies = [
  "concurrent-queue",
  "parking",
@@ -750,7 +766,17 @@ version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3"
 dependencies = [
- "event-listener 4.0.0",
+ "event-listener 4.0.3",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "event-listener-strategy"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "332f51cb23d20b0de8458b86580878211da09bcd4503cb579c225b3d124cabb3"
+dependencies = [
+ "event-listener 5.3.0",
  "pin-project-lite",
 ]
 
@@ -776,9 +802,9 @@ dependencies = [
 
 [[package]]
 name = "fastrand"
-version = "2.0.0"
+version = "2.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764"
+checksum = "658bd65b1cf4c852a3cc96f18a8ce7b5640f6b703f905c7d74532294c2a63984"
 
 [[package]]
 name = "fdt"
@@ -788,14 +814,13 @@ checksum = "784a4df722dc6267a04af36895398f59d21d07dce47232adf31ec0ff2fa45e67"
 
 [[package]]
 name = "flume"
-version = "0.10.14"
+version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1657b4441c3403d9f7b3409e47575237dac27b1b5726df654a6ecbf92f0f7577"
+checksum = "55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181"
 dependencies = [
  "futures-core",
  "futures-sink",
  "nanorand",
- "pin-project",
  "spin",
 ]
 
@@ -870,11 +895,11 @@ dependencies = [
 
 [[package]]
 name = "futures-lite"
-version = "2.1.0"
+version = "2.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aeee267a1883f7ebef3700f262d2d54de95dfaf38189015a74fdc4e0c7ad8143"
+checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5"
 dependencies = [
- "fastrand 2.0.0",
+ "fastrand 2.0.2",
  "futures-core",
  "futures-io",
  "parking",
@@ -889,7 +914,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
@@ -928,7 +953,7 @@ version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6341b3480afbb34eaefc7f92713bc92f2d83e338aaa1c44192f9c2956f4a4903"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.5.0",
  "cfg-if",
  "log",
  "managed",
@@ -958,9 +983,9 @@ dependencies = [
 
 [[package]]
 name = "getrandom"
-version = "0.2.11"
+version = "0.2.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f"
+checksum = "a06fddc2749e0528d2813f95e050e87e52c8cbbae56223b9babf73b3e53b0cc6"
 dependencies = [
  "cfg-if",
  "js-sys",
@@ -971,9 +996,9 @@ dependencies = [
 
 [[package]]
 name = "gimli"
-version = "0.27.3"
+version = "0.28.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e"
+checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
 
 [[package]]
 name = "glob"
@@ -983,15 +1008,15 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
 
 [[package]]
 name = "hashbrown"
-version = "0.14.2"
+version = "0.14.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156"
+checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
 
 [[package]]
 name = "hermit-abi"
-version = "0.3.3"
+version = "0.3.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
+checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
 
 [[package]]
 name = "hex"
@@ -1031,9 +1056,9 @@ dependencies = [
 
 [[package]]
 name = "iced-x86"
-version = "1.20.0"
+version = "1.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cdd366a53278429c028367e0ba22a46cab6d565a57afb959f06e92c7a69e7828"
+checksum = "7c447cff8c7f384a7d4f741cfcff32f75f3ad02b406432e8d6c878d56b1edf6b"
 dependencies = [
  "lazy_static",
 ]
@@ -1046,8 +1071,8 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
 
 [[package]]
 name = "igvm"
-version = "0.1.0"
-source = "git+https://github.com/microsoft/igvm?branch=main#c1b0201d8286cb23b9f30cb16ba435484666cfa3"
+version = "0.1.9"
+source = "git+https://github.com/microsoft/igvm?branch=main#494aac2318df4111a2737d360ea46f74f5350223"
 dependencies = [
  "bitfield-struct",
  "crc32fast",
@@ -1062,8 +1087,8 @@ dependencies = [
 
 [[package]]
 name = "igvm_defs"
-version = "0.1.0"
-source = "git+https://github.com/microsoft/igvm?branch=main#c1b0201d8286cb23b9f30cb16ba435484666cfa3"
+version = "0.1.9"
+source = "git+https://github.com/microsoft/igvm?branch=main#494aac2318df4111a2737d360ea46f74f5350223"
 dependencies = [
  "bitfield-struct",
  "open-enum",
@@ -1073,9 +1098,9 @@ dependencies = [
 
 [[package]]
 name = "indexmap"
-version = "2.1.0"
+version = "2.2.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f"
+checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26"
 dependencies = [
  "equivalent",
  "hashbrown",
@@ -1103,9 +1128,9 @@ dependencies = [
 
 [[package]]
 name = "io-uring"
-version = "0.6.2"
+version = "0.6.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "460648e47a07a43110fbfa2e0b14afb2be920093c31e5dccc50e49568e099762"
+checksum = "a9febecd4aebbe9c7c23c8e536e966805fdf09944c8a915e7991ee51acb67087"
 dependencies = [
  "bitflags 1.3.2",
  "libc",
@@ -1121,48 +1146,38 @@ dependencies = [
 ]
 
 [[package]]
-name = "is-terminal"
-version = "0.4.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
-dependencies = [
- "hermit-abi",
- "rustix 0.38.25",
- "windows-sys 0.48.0",
-]
-
-[[package]]
 name = "itoa"
-version = "1.0.9"
+version = "1.0.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
+checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
 
 [[package]]
 name = "js-sys"
-version = "0.3.64"
+version = "0.3.69"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"
+checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d"
 dependencies = [
  "wasm-bindgen",
 ]
 
 [[package]]
 name = "kvm-bindings"
-version = "0.7.0"
-source = "git+https://github.com/cloud-hypervisor/kvm-bindings?branch=ch-v0.7.0#2dcf85d4f8aa55befcaa996b699ddb18ec9ed059"
+version = "0.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a82e7e8725a39a0015e511a46cc1f7d90cecc180db1610c4d0d4339a9e48bd21"
 dependencies = [
  "serde",
- "serde_derive",
  "vmm-sys-util",
+ "zerocopy",
 ]
 
 [[package]]
 name = "kvm-ioctls"
-version = "0.16.0"
+version = "0.17.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9002dff009755414f22b962ec6ae6980b07d6d8b06e5297b1062019d72bd6a8c"
+checksum = "bedae2ca4a531bebe311abaf9691f5cc14eaa21475243caa2e39c43bb872947d"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.5.0",
  "kvm-bindings",
  "libc",
  "vmm-sys-util",
@@ -1181,6 +1196,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
 
 [[package]]
+name = "libredox"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d"
+dependencies = [
+ "bitflags 2.5.0",
+ "libc",
+]
+
+[[package]]
 name = "libssh2-sys"
 version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1196,9 +1221,9 @@ dependencies = [
 
 [[package]]
 name = "libz-sys"
-version = "1.1.12"
+version = "1.1.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d97137b25e321a73eef1418d1d5d2eda4d77e12813f8e6dead84bc52c5870a7b"
+checksum = "5e143b5e666b2695d28f6bca6497720813f699c9602dd7f5cac91008b8ada7f9"
 dependencies = [
  "cc",
  "libc",
@@ -1229,9 +1254,9 @@ checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
 
 [[package]]
 name = "lock_api"
-version = "0.4.10"
+version = "0.4.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16"
+checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
 dependencies = [
  "autocfg",
  "scopeguard",
@@ -1239,9 +1264,9 @@ dependencies = [
 
 [[package]]
 name = "log"
-version = "0.4.20"
+version = "0.4.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
+checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
 
 [[package]]
 name = "managed"
@@ -1251,9 +1276,9 @@ checksum = "0ca88d725a0a943b096803bd34e73a4437208b6077654cc4ecb2947a5f91618d"
 
 [[package]]
 name = "memchr"
-version = "2.5.0"
+version = "2.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d"
 
 [[package]]
 name = "memoffset"
@@ -1265,9 +1290,18 @@ dependencies = [
 ]
 
 [[package]]
+name = "memoffset"
+version = "0.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
 name = "micro_http"
 version = "0.1.0"
-source = "git+https://github.com/firecracker-microvm/micro-http?branch=main#e75dfa1eeea23b69caa7407bc2c3a76d7b7262fb"
+source = "git+https://github.com/firecracker-microvm/micro-http?branch=main#ef43cef7162a55a6790d528a5e76b4fe2da22de0"
 dependencies = [
  "libc",
  "vmm-sys-util",
@@ -1275,29 +1309,26 @@ dependencies = [
 
 [[package]]
 name = "miniz_oxide"
-version = "0.6.2"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa"
+checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7"
 dependencies = [
  "adler",
 ]
 
 [[package]]
 name = "mintex"
-version = "0.1.2"
+version = "0.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd7c5ba1c3b5a23418d7bbf98c71c3d4946a0125002129231da8d6b723d559cb"
-dependencies = [
- "once_cell",
- "sys-info",
-]
+checksum = "9bec4598fddb13cc7b528819e697852653252b760f1228b7642679bf2ff2cd07"
 
 [[package]]
 name = "mshv-bindings"
 version = "0.1.1"
-source = "git+https://github.com/rust-vmm/mshv?branch=main#9d0c11fe9fedfbcf56a5d62fbf4bad80cdf91340"
+source = "git+https://github.com/rust-vmm/mshv?branch=main#fed467ffa4e910d37fc5cd0012f6d59f4a8009d8"
 dependencies = [
  "libc",
+ "num_enum",
  "serde",
  "serde_derive",
  "vmm-sys-util",
@@ -1307,10 +1338,11 @@ dependencies = [
 [[package]]
 name = "mshv-ioctls"
 version = "0.1.1"
-source = "git+https://github.com/rust-vmm/mshv?branch=main#9d0c11fe9fedfbcf56a5d62fbf4bad80cdf91340"
+source = "git+https://github.com/rust-vmm/mshv?branch=main#fed467ffa4e910d37fc5cd0012f6d59f4a8009d8"
 dependencies = [
  "libc",
  "mshv-bindings",
+ "thiserror",
  "vmm-sys-util",
 ]
 
@@ -1346,8 +1378,6 @@ dependencies = [
  "serde",
  "serde_json",
  "thiserror",
- "versionize",
- "versionize_derive",
  "virtio-bindings",
  "virtio-queue",
  "vm-memory",
@@ -1364,7 +1394,7 @@ dependencies = [
  "bitflags 1.3.2",
  "cfg-if",
  "libc",
- "memoffset",
+ "memoffset 0.7.1",
 ]
 
 [[package]]
@@ -1375,18 +1405,38 @@ checksum = "43794a0ace135be66a25d3ae77d41b91615fb68ae937f904090203e81f755b65"
 
 [[package]]
 name = "num-traits"
-version = "0.2.17"
+version = "0.2.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c"
+checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a"
 dependencies = [
  "autocfg",
 ]
 
 [[package]]
+name = "num_enum"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845"
+dependencies = [
+ "num_enum_derive",
+]
+
+[[package]]
+name = "num_enum_derive"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.58",
+]
+
+[[package]]
 name = "object"
-version = "0.30.4"
+version = "0.32.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03b4680b86d9cfafba8fc491dc9b6df26b68cf40e9e6cd73909194759a63c385"
+checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441"
 dependencies = [
  "memchr",
 ]
@@ -1399,18 +1449,18 @@ checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
 
 [[package]]
 name = "open-enum"
-version = "0.3.0"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9807f1199cf84ec7cc801a79e5ee9aa5178e4762c6b9c7066c30b3cabdcd911e"
+checksum = "ba485b94b3e73fa752d98cfcab74647a4a537269682cc1ee5256aa020432506d"
 dependencies = [
  "open-enum-derive",
 ]
 
 [[package]]
 name = "open-enum-derive"
-version = "0.3.0"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "894ae443e59fecf7173ab3b963473f44193fa71b3c8953c61a5bd5f30880bb88"
+checksum = "fed1c261430059cab8b2b51eec42a3c15750439ec6c013cd8fe41d4a450de776"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1419,18 +1469,18 @@ dependencies = [
 
 [[package]]
 name = "openssl-src"
-version = "300.1.5+3.1.3"
+version = "300.2.3+3.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "559068e4c12950d7dcaa1857a61725c0d38d4fc03ff8e070ab31a75d6e316491"
+checksum = "5cff92b6f71555b61bb9315f7c64da3ca43d87531622120fea0195fc761b4843"
 dependencies = [
  "cc",
 ]
 
 [[package]]
 name = "openssl-sys"
-version = "0.9.99"
+version = "0.9.102"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "22e1bf214306098e4832460f797824c05d25aacdf896f64a985fb0fd992454ae"
+checksum = "c597637d56fbc83893a35eb0dd04b2b8e7a50c91e64e9493e398b5df4fb45fa2"
 dependencies = [
  "cc",
  "libc",
@@ -1483,7 +1533,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
 dependencies = [
  "lock_api",
- "parking_lot_core 0.9.7",
+ "parking_lot_core 0.9.9",
 ]
 
 [[package]]
@@ -1502,15 +1552,15 @@ dependencies = [
 
 [[package]]
 name = "parking_lot_core"
-version = "0.9.7"
+version = "0.9.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521"
+checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
 dependencies = [
  "cfg-if",
  "libc",
- "redox_syscall 0.2.16",
+ "redox_syscall 0.4.1",
  "smallvec",
- "windows-sys 0.45.0",
+ "windows-targets 0.48.5",
 ]
 
 [[package]]
@@ -1530,8 +1580,6 @@ dependencies = [
  "log",
  "serde",
  "thiserror",
- "versionize",
- "versionize_derive",
  "vfio-bindings",
  "vfio-ioctls",
  "vfio_user",
@@ -1556,30 +1604,10 @@ dependencies = [
 ]
 
 [[package]]
-name = "pin-project"
-version = "1.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0302c4a0442c456bd56f841aee5c3bfd17967563f6fadc9ceb9f9c23cf3807e0"
-dependencies = [
- "pin-project-internal",
-]
-
-[[package]]
-name = "pin-project-internal"
-version = "1.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "266c042b60c9c76b8d53061e52b2e0d1116abc57cefc8c5cd671619a56ac3690"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.48",
-]
-
-[[package]]
 name = "pin-project-lite"
-version = "0.2.12"
+version = "0.2.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12cc1b0bf1727a77a54b6654e7b5f1af8604923edc8b81885f8ec92f9e3f0a05"
+checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02"
 
 [[package]]
 name = "pin-utils"
@@ -1594,15 +1622,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4"
 dependencies = [
  "atomic-waker",
- "fastrand 2.0.0",
+ "fastrand 2.0.2",
  "futures-io",
 ]
 
 [[package]]
 name = "pkg-config"
-version = "0.3.27"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
+checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec"
 
 [[package]]
 name = "pnet"
@@ -1649,7 +1677,7 @@ dependencies = [
  "proc-macro2",
  "quote",
  "regex",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
@@ -1712,6 +1740,21 @@ dependencies = [
 ]
 
 [[package]]
+name = "polling"
+version = "3.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e0c976a60b2d7e99d6f229e414670a9b85d13ac305cc6d1e9c134de58c5aaaf6"
+dependencies = [
+ "cfg-if",
+ "concurrent-queue",
+ "hermit-abi",
+ "pin-project-lite",
+ "rustix 0.38.32",
+ "tracing",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
 name = "ppv-lite86"
 version = "0.2.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1729,9 +1772,9 @@ dependencies = [
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.78"
+version = "1.0.79"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
+checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e"
 dependencies = [
  "unicode-ident",
 ]
@@ -1803,29 +1846,29 @@ dependencies = [
 
 [[package]]
 name = "redox_syscall"
-version = "0.3.5"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
+checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
 dependencies = [
  "bitflags 1.3.2",
 ]
 
 [[package]]
 name = "redox_users"
-version = "0.4.3"
+version = "0.4.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
+checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891"
 dependencies = [
  "getrandom",
- "redox_syscall 0.2.16",
+ "libredox",
  "thiserror",
 ]
 
 [[package]]
 name = "regex"
-version = "1.9.4"
+version = "1.10.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12de2eff854e5fa4b1295edd650e227e9d8fb0c9e90b12e7f36d6a6811791a29"
+checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -1835,9 +1878,9 @@ dependencies = [
 
 [[package]]
 name = "regex-automata"
-version = "0.3.7"
+version = "0.4.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49530408a136e16e5b486e883fbb6ba058e8e4e8ae6621a77b048b314336e629"
+checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -1846,19 +1889,19 @@ dependencies = [
 
 [[package]]
 name = "regex-syntax"
-version = "0.7.5"
+version = "0.8.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da"
+checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56"
 
 [[package]]
 name = "remain"
-version = "0.2.11"
+version = "0.2.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bce3a7139d2ee67d07538ee5dba997364fbc243e7e7143e96eb830c74bfaa082"
+checksum = "ad9f2390298a947ee0aa6073d440e221c0726188cfbcdf9604addb6ee393eb4a"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
@@ -1889,22 +1932,22 @@ dependencies = [
 
 [[package]]
 name = "rustix"
-version = "0.38.25"
+version = "0.38.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc99bc2d4f1fed22595588a013687477aedf3cdcfb26558c559edb67b4d9b22e"
+checksum = "65e04861e65f21776e67888bfbea442b3642beaa0138fdb1dd7a84a52dffdb89"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.5.0",
  "errno",
  "libc",
  "linux-raw-sys 0.4.13",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "ryu"
-version = "1.0.15"
+version = "1.0.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
+checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1"
 
 [[package]]
 name = "scopeguard"
@@ -1923,29 +1966,29 @@ dependencies = [
 
 [[package]]
 name = "serde"
-version = "1.0.196"
+version = "1.0.197"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32"
+checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.196"
+version = "1.0.197"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67"
+checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.109"
+version = "1.0.115"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb0652c533506ad7a2e353cce269330d6afd8bdfb6d75e0ace5b35aacbd7b9e9"
+checksum = "12dc5c46daa8e9fdf4f5e71b6cf9a53f2487da0e86e55808e2d35539666497dd"
 dependencies = [
  "itoa",
  "ryu",
@@ -1954,35 +1997,36 @@ dependencies = [
 
 [[package]]
 name = "serde_repr"
-version = "0.1.17"
+version = "0.1.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3081f5ffbb02284dda55132aa26daecedd7372a42417bbbab6f14ab7d6bb9145"
+checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
 name = "serde_with"
-version = "3.4.0"
+version = "3.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64cd236ccc1b7a29e7e2739f27c0b2dd199804abc4290e32f59f3b68d6405c23"
+checksum = "ee80b0e361bbf88fd2f6e242ccd19cfda072cb0faa6ae694ecee08199938569a"
 dependencies = [
  "serde",
+ "serde_derive",
  "serde_with_macros",
 ]
 
 [[package]]
 name = "serde_with_macros"
-version = "3.4.0"
+version = "3.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93634eb5f75a2323b16de4748022ac4297f9e76b6dced2be287a099f41b5e788"
+checksum = "6561dc161a9224638a31d876ccdfefbc1df91d3f3a8342eddb35f055d48c7655"
 dependencies = [
  "darling",
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
@@ -2021,24 +2065,24 @@ dependencies = [
 
 [[package]]
 name = "slab"
-version = "0.4.8"
+version = "0.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d"
+checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
 dependencies = [
  "autocfg",
 ]
 
 [[package]]
 name = "smallvec"
-version = "1.13.1"
+version = "1.13.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
+checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
 
 [[package]]
 name = "socket2"
-version = "0.4.9"
+version = "0.4.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662"
+checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d"
 dependencies = [
  "libc",
  "winapi",
@@ -2078,6 +2122,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
 
 [[package]]
+name = "strsim"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
+
+[[package]]
 name = "syn"
 version = "1.0.109"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2090,9 +2140,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.48"
+version = "2.0.58"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f"
+checksum = "44cfb93f38070beee36b3fef7d4f5a16f27751d94b187b666a5cc5e9b0d30687"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -2100,35 +2150,15 @@ dependencies = [
 ]
 
 [[package]]
-name = "sys-info"
-version = "0.9.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b3a0d0aba8bf96a0e1ddfdc352fc53b3df7f39318c71854910c3c4b024ae52c"
-dependencies = [
- "cc",
- "libc",
-]
-
-[[package]]
 name = "tempfile"
-version = "3.8.0"
+version = "3.10.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef"
+checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1"
 dependencies = [
  "cfg-if",
- "fastrand 2.0.0",
- "redox_syscall 0.3.5",
- "rustix 0.38.25",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "termcolor"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6"
-dependencies = [
- "winapi-util",
+ "fastrand 2.0.2",
+ "rustix 0.38.32",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -2137,7 +2167,7 @@ version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7"
 dependencies = [
- "rustix 0.38.25",
+ "rustix 0.38.32",
  "windows-sys 0.48.0",
 ]
 
@@ -2158,22 +2188,22 @@ dependencies = [
 
 [[package]]
 name = "thiserror"
-version = "1.0.52"
+version = "1.0.58"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "83a48fd946b02c0a526b2e9481c8e2a17755e47039164a86c4070446e3a4614d"
+checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.52"
+version = "1.0.58"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7fbe9b594d6568a6a1443250a7e67d80b74e1e96f6d1715e1e21cc1888291d3"
+checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
@@ -2242,7 +2272,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
@@ -2262,10 +2292,11 @@ checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
 
 [[package]]
 name = "uds_windows"
-version = "1.0.2"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce65604324d3cce9b966701489fbd0cf318cb1f7bd9dd07ac9a4ee6fb791930d"
+checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9"
 dependencies = [
+ "memoffset 0.9.1",
  "tempfile",
  "winapi",
 ]
@@ -2284,9 +2315,9 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
 
 [[package]]
 name = "uuid"
-version = "1.3.4"
+version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fa2982af2eec27de306107c027578ff7f423d65f7250e40ce0fea8f45248b81"
+checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0"
 dependencies = [
  "getrandom",
 ]
@@ -2304,36 +2335,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
 
 [[package]]
-name = "versionize"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62929d59c7f6730b7298fcb363760550f4db6e353fbac4076d447d0e82799d6d"
-dependencies = [
- "bincode",
- "crc64",
- "proc-macro2",
- "quote",
- "serde",
- "serde_derive",
- "syn 1.0.109",
- "versionize_derive",
- "vmm-sys-util",
-]
-
-[[package]]
-name = "versionize_derive"
-version = "0.1.6"
-source = "git+https://github.com/cloud-hypervisor/versionize_derive?branch=ch-0.1.6#7906da996152e2d0ab08f5526440683bf3ca7834"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 1.0.109",
-]
-
-[[package]]
 name = "vfio-bindings"
 version = "0.4.0"
-source = "git+https://github.com/rust-vmm/vfio?branch=main#0daff4d4c159e842cf18b8b90457a45032b2df5a"
+source = "git+https://github.com/rust-vmm/vfio?branch=main#da8c5b67095fb70f5ef237ca63d316219888f015"
 dependencies = [
  "vmm-sys-util",
 ]
@@ -2341,7 +2345,7 @@ dependencies = [
 [[package]]
 name = "vfio-ioctls"
 version = "0.2.0"
-source = "git+https://github.com/rust-vmm/vfio?branch=main#0daff4d4c159e842cf18b8b90457a45032b2df5a"
+source = "git+https://github.com/rust-vmm/vfio?branch=main#da8c5b67095fb70f5ef237ca63d316219888f015"
 dependencies = [
  "byteorder",
  "kvm-bindings",
@@ -2379,7 +2383,7 @@ version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2b64e816d0d49769fbfaa1494eb77cc2a3ddc526ead05c7f922cb7d64106286f"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.5.0",
  "libc",
  "vm-memory",
  "vmm-sys-util",
@@ -2462,10 +2466,9 @@ dependencies = [
  "seccompiler",
  "serde",
  "serde_json",
+ "serde_with",
  "serial_buffer",
  "thiserror",
- "versionize",
- "versionize_derive",
  "vhost",
  "virtio-bindings",
  "virtio-queue",
@@ -2513,14 +2516,14 @@ dependencies = [
 
 [[package]]
 name = "vm-fdt"
-version = "0.2.0"
-source = "git+https://github.com/rust-vmm/vm-fdt?branch=main#77212bd0d62913e445c89376bcbbecd595afc5b1"
+version = "0.3.0"
+source = "git+https://github.com/rust-vmm/vm-fdt?branch=main#ef5bd734f5f66fb07722d766981adbc915f0d941"
 
 [[package]]
 name = "vm-memory"
-version = "0.14.0"
+version = "0.14.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "74ffc42216c32c35f858fa4bfdcd9b61017dfd691e0240268fdc85dbf59e5459"
+checksum = "3c3aba5064cc5f6f7740cddc8dae34d2d9a311cac69b60d942af7f3ab8fc49f4"
 dependencies = [
  "arc-swap",
  "libc",
@@ -2536,8 +2539,6 @@ dependencies = [
  "serde",
  "serde_json",
  "thiserror",
- "versionize",
- "versionize_derive",
  "vm-memory",
 ]
 
@@ -2558,7 +2559,7 @@ dependencies = [
  "anyhow",
  "arc-swap",
  "arch",
- "bitflags 2.4.1",
+ "bitflags 2.5.0",
  "block",
  "blocking",
  "cfg-if",
@@ -2593,8 +2594,6 @@ dependencies = [
  "thiserror",
  "tracer",
  "uuid",
- "versionize",
- "versionize_derive",
  "vfio-ioctls",
  "vfio_user",
  "virtio-devices",
@@ -2644,9 +2643,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.87"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
+checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8"
 dependencies = [
  "cfg-if",
  "wasm-bindgen-macro",
@@ -2654,24 +2653,24 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.87"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
+checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da"
 dependencies = [
  "bumpalo",
  "log",
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.87"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
+checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -2679,22 +2678,22 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.87"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
+checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.87"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
+checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96"
 
 [[package]]
 name = "winapi"
@@ -2713,15 +2712,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
 
 [[package]]
-name = "winapi-util"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
-dependencies = [
- "winapi",
-]
-
-[[package]]
 name = "winapi-x86_64-pc-windows-gnu"
 version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2729,20 +2719,11 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
 
 [[package]]
 name = "windows-sys"
-version = "0.45.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
-dependencies = [
- "windows-targets 0.42.2",
-]
-
-[[package]]
-name = "windows-sys"
 version = "0.48.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
 dependencies = [
- "windows-targets 0.48.0",
+ "windows-targets 0.48.5",
 ]
 
 [[package]]
@@ -2751,210 +2732,153 @@ version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
 dependencies = [
- "windows-targets 0.52.0",
-]
-
-[[package]]
-name = "windows-targets"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
-dependencies = [
- "windows_aarch64_gnullvm 0.42.2",
- "windows_aarch64_msvc 0.42.2",
- "windows_i686_gnu 0.42.2",
- "windows_i686_msvc 0.42.2",
- "windows_x86_64_gnu 0.42.2",
- "windows_x86_64_gnullvm 0.42.2",
- "windows_x86_64_msvc 0.42.2",
+ "windows-targets 0.52.4",
 ]
 
 [[package]]
 name = "windows-targets"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5"
+checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
 dependencies = [
- "windows_aarch64_gnullvm 0.48.0",
- "windows_aarch64_msvc 0.48.0",
- "windows_i686_gnu 0.48.0",
- "windows_i686_msvc 0.48.0",
- "windows_x86_64_gnu 0.48.0",
- "windows_x86_64_gnullvm 0.48.0",
- "windows_x86_64_msvc 0.48.0",
+ "windows_aarch64_gnullvm 0.48.5",
+ "windows_aarch64_msvc 0.48.5",
+ "windows_i686_gnu 0.48.5",
+ "windows_i686_msvc 0.48.5",
+ "windows_x86_64_gnu 0.48.5",
+ "windows_x86_64_gnullvm 0.48.5",
+ "windows_x86_64_msvc 0.48.5",
 ]
 
 [[package]]
 name = "windows-targets"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
+checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b"
 dependencies = [
- "windows_aarch64_gnullvm 0.52.0",
- "windows_aarch64_msvc 0.52.0",
- "windows_i686_gnu 0.52.0",
- "windows_i686_msvc 0.52.0",
- "windows_x86_64_gnu 0.52.0",
- "windows_x86_64_gnullvm 0.52.0",
- "windows_x86_64_msvc 0.52.0",
+ "windows_aarch64_gnullvm 0.52.4",
+ "windows_aarch64_msvc 0.52.4",
+ "windows_i686_gnu 0.52.4",
+ "windows_i686_msvc 0.52.4",
+ "windows_x86_64_gnu 0.52.4",
+ "windows_x86_64_gnullvm 0.52.4",
+ "windows_x86_64_msvc 0.52.4",
 ]
 
 [[package]]
 name = "windows_aarch64_gnullvm"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
-
-[[package]]
-name = "windows_aarch64_gnullvm"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
+checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
 
 [[package]]
 name = "windows_aarch64_gnullvm"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
+checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9"
 
 [[package]]
 name = "windows_aarch64_msvc"
-version = "0.42.2"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
 
 [[package]]
 name = "windows_aarch64_msvc"
-version = "0.48.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
-
-[[package]]
-name = "windows_aarch64_msvc"
-version = "0.52.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
+checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675"
 
 [[package]]
 name = "windows_i686_gnu"
-version = "0.42.2"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
+checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
 
 [[package]]
 name = "windows_i686_gnu"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
-
-[[package]]
-name = "windows_i686_gnu"
-version = "0.52.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
-
-[[package]]
-name = "windows_i686_msvc"
-version = "0.42.2"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
+checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3"
 
 [[package]]
 name = "windows_i686_msvc"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
+checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
 
 [[package]]
 name = "windows_i686_msvc"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
+checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02"
 
 [[package]]
 name = "windows_x86_64_gnu"
-version = "0.42.2"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
+checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
 
 [[package]]
 name = "windows_x86_64_gnu"
-version = "0.48.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
-
-[[package]]
-name = "windows_x86_64_gnu"
-version = "0.52.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
+checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
-version = "0.42.2"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
+checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
-version = "0.48.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
-
-[[package]]
-name = "windows_x86_64_gnullvm"
-version = "0.52.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
+checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177"
 
 [[package]]
 name = "windows_x86_64_msvc"
-version = "0.42.2"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
+checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
 
 [[package]]
 name = "windows_x86_64_msvc"
-version = "0.48.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
-
-[[package]]
-name = "windows_x86_64_msvc"
-version = "0.52.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
+checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8"
 
 [[package]]
 name = "winnow"
-version = "0.5.39"
+version = "0.5.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5389a154b01683d28c77f8f68f49dea75f0a4da32557a58f68ee51ebba472d29"
+checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876"
 dependencies = [
  "memchr",
 ]
 
 [[package]]
 name = "xdg-home"
-version = "1.0.0"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2769203cd13a0c6015d515be729c526d041e9cf2c0cc478d57faee85f40c6dcd"
+checksum = "21e5a325c3cb8398ad6cf859c1135b25dd29e186679cf2da7581d9679f63b38e"
 dependencies = [
- "nix",
+ "libc",
  "winapi",
 ]
 
 [[package]]
 name = "zbus"
-version = "3.14.1"
+version = "3.15.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31de390a2d872e4cd04edd71b425e29853f786dc99317ed72d73d6fcf5ebb948"
+checksum = "675d170b632a6ad49804c8cf2105d7c31eddd3312555cffd4b740e08e97c25e6"
 dependencies = [
  "async-broadcast",
  "async-executor",
  "async-fs",
- "async-io",
- "async-lock 2.7.0",
+ "async-io 1.13.0",
+ "async-lock 2.8.0",
  "async-process",
  "async-recursion",
  "async-task",
@@ -2987,9 +2911,9 @@ dependencies = [
 
 [[package]]
 name = "zbus_macros"
-version = "3.14.1"
+version = "3.15.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41d1794a946878c0e807f55a397187c11fc7a038ba5d868e7db4f3bd7760bc9d"
+checksum = "7131497b0f887e8061b430c530240063d33bf9455fa34438f388a245da69e0a5"
 dependencies = [
  "proc-macro-crate",
  "proc-macro2",
@@ -3001,9 +2925,9 @@ dependencies = [
 
 [[package]]
 name = "zbus_names"
-version = "2.6.0"
+version = "2.6.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb80bb776dbda6e23d705cf0123c3b95df99c4ebeaec6c2599d4a5419902b4a9"
+checksum = "437d738d3750bed6ca9b8d423ccc7a8eb284f6b1d6d4e225a0e4e6258d864c8d"
 dependencies = [
  "serde",
  "static_assertions",
@@ -3028,14 +2952,14 @@ checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
 name = "zvariant"
-version = "3.15.0"
+version = "3.15.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44b291bee0d960c53170780af148dca5fa260a63cdd24f1962fa82e03e53338c"
+checksum = "4eef2be88ba09b358d3b58aca6e41cd853631d44787f319a1383ca83424fb2db"
 dependencies = [
  "byteorder",
  "enumflags2",
@@ -3047,9 +2971,9 @@ dependencies = [
 
 [[package]]
 name = "zvariant_derive"
-version = "3.15.0"
+version = "3.15.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "934d7a7dfc310d6ee06c87ffe88ef4eca7d3e37bb251dece2ef93da8f17d8ecd"
+checksum = "37c24dc0bed72f5f90d1f8bb5b07228cbf63b3c6e9f82d82559d4bae666e7ed9"
 dependencies = [
  "proc-macro-crate",
  "proc-macro2",
diff --git a/pkgs/applications/virtualization/cloud-hypervisor/default.nix b/pkgs/applications/virtualization/cloud-hypervisor/default.nix
index 44bbdcd66313c..f48b5436f5c6b 100644
--- a/pkgs/applications/virtualization/cloud-hypervisor/default.nix
+++ b/pkgs/applications/virtualization/cloud-hypervisor/default.nix
@@ -2,27 +2,25 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cloud-hypervisor";
-  version = "38.0";
+  version = "39.0";
 
   src = fetchFromGitHub {
     owner = "cloud-hypervisor";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-Lhug7DCa+QutlvksL6EFQa04UK/sWebDIkqQmwPUpX4=";
+    hash = "sha256-sMnfeICo/PhpljstTIj4CiE4QBuyVKYD9oWvWf0Ouew=";
   };
 
   cargoLock = {
     lockFile = ./Cargo.lock;
     outputHashes = {
-      "acpi_tables-0.1.0" = "sha256-syDq+db1hTne6QoP0vMGUv4tB0J9arQG2Ea2hHW1k3M=";
-      "igvm-0.1.0" = "sha256-l+Qyhdy3b8h8hPLHg5M0os8aSkjM55hAP5nqi0AGmjo=";
-      "kvm-bindings-0.7.0" = "sha256-hXv5N3TTwGQaVxdQ/DTzLt+uwLxFnstJwNhxRD2K8TM=";
-      "micro_http-0.1.0" = "sha256-gyeOop6AMXEIbLXhJMN/oYGGU8Un8Y0nFZc9ucCa0y4=";
-      "mshv-bindings-0.1.1" = "sha256-yWvkpOcW3lV47s+rWnN4Bki8tt8CkiPVZ0I36nrWMi4=";
-      "versionize_derive-0.1.6" = "sha256-eI9fM8WnEBZvskPhU67IWeN6QAPg2u5EBT+AOxfb/fY=";
-      "vfio-bindings-0.4.0" = "sha256-Dk4T2dMzPZ+Aoq1YSXX2z1Nky8zvyDl7b+A8NH57Hkc=";
+      "acpi_tables-0.1.0" = "sha256-a6ojB2XVeH+YzzXRle0agg+ljn0Jsgyaf6TJZAGt8sQ=";
+      "igvm-0.1.9" = "sha256-OztgRiv+//27MS9SqSBJPbrVlXihK2m9UkG4REZ9Vn0=";
+      "micro_http-0.1.0" = "sha256-yIgcoEfc7eeS1+bijzkifaBxVNHa71Y+Vn79owMaKvM=";
+      "mshv-bindings-0.1.1" = "sha256-US/AzS7iRUQijkGs1EG04Hk4Q7dPz65BeTMsI8rtMqw=";
+      "vfio-bindings-0.4.0" = "sha256-k8Hf5y8MiTnd3k2iEgnnX/o8VdVS7prKlnssyEerVRM=";
       "vfio_user-0.1.0" = "sha256-LJ84k9pMkSAaWkuaUd+2LnPXnNgrP5LdbPOc1Yjz5xA=";
-      "vm-fdt-0.2.0" = "sha256-lKW4ZUraHomSDyxgNlD5qTaBTZqM0Fwhhh/08yhrjyE=";
+      "vm-fdt-0.3.0" = "sha256-9PywgSnSL+8gT6lcl9t6w7X4fEINa+db+H1vWS+gDOI=";
     };
   };
 
diff --git a/pkgs/applications/virtualization/containerd/default.nix b/pkgs/applications/virtualization/containerd/default.nix
index c89c0596536ec..b9d1397e7ea49 100644
--- a/pkgs/applications/virtualization/containerd/default.nix
+++ b/pkgs/applications/virtualization/containerd/default.nix
@@ -11,13 +11,13 @@
 
 buildGoModule rec {
   pname = "containerd";
-  version = "1.7.15";
+  version = "1.7.16";
 
   src = fetchFromGitHub {
     owner = "containerd";
     repo = "containerd";
     rev = "v${version}";
-    hash = "sha256-qLrPLGxsUmgEscrhyl+1rJ0k7c9ibKnpMpsJPD4xDZU=";
+    hash = "sha256-OApJaH11iTvjW4gZaANSCVcxw/VHG7a/6OnYcUcHFME=";
   };
 
   vendorHash = null;
@@ -50,7 +50,7 @@ buildGoModule rec {
     homepage = "https://containerd.io/";
     description = "A daemon to control runC";
     license = licenses.asl20;
-    maintainers = with maintainers; [ offline vdemeester endocrimes ];
+    maintainers = with maintainers; [ offline vdemeester ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/virtualization/ddev/default.nix b/pkgs/applications/virtualization/ddev/default.nix
index fdfafda6acff2..e733fe42127a1 100644
--- a/pkgs/applications/virtualization/ddev/default.nix
+++ b/pkgs/applications/virtualization/ddev/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "ddev";
-  version = "1.22.7";
+  version = "1.23.0";
 
   src = fetchFromGitHub {
     owner = "ddev";
     repo = "ddev";
     rev = "v${version}";
-    hash = "sha256-bFQW12VzH+/OXTRBavEdfxnGowJt5TKM3r0UD64ALVs=";
+    hash = "sha256-+CyihuSo/ssX8tX2rYi3c41eAwdG58aagAsYiBBjQ48=";
   };
 
   vendorHash = null;
diff --git a/pkgs/applications/virtualization/docker-slim/default.nix b/pkgs/applications/virtualization/docker-slim/default.nix
index 03a76e4f00968..13c8e4f4ce364 100644
--- a/pkgs/applications/virtualization/docker-slim/default.nix
+++ b/pkgs/applications/virtualization/docker-slim/default.nix
@@ -39,6 +39,6 @@ buildGoModule rec {
     homepage = "https://slimtoolkit.org/";
     changelog = "https://github.com/slimtoolkit/slim/raw/${version}/CHANGELOG.md";
     license = licenses.asl20;
-    maintainers = with maintainers; [ Br1ght0ne marsam mbrgm ];
+    maintainers = with maintainers; [ Br1ght0ne mbrgm ];
   };
 }
diff --git a/pkgs/applications/virtualization/docker/buildx.nix b/pkgs/applications/virtualization/docker/buildx.nix
index de13fcf5ea1e3..f1e91408a0b35 100644
--- a/pkgs/applications/virtualization/docker/buildx.nix
+++ b/pkgs/applications/virtualization/docker/buildx.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "docker-buildx";
-  version = "0.13.1";
+  version = "0.14.0";
 
   src = fetchFromGitHub {
     owner = "docker";
     repo = "buildx";
     rev = "v${version}";
-    hash = "sha256-mesFwYgDCZ44/EJ31mzx9yLeMyV2bXpxaNSx6L3BQG0=";
+    hash = "sha256-pfDGKxIy9ZXueYv0u1zPWWYCAeSRBaOGDfIt1Hsubkk=";
   };
 
   doCheck = false;
diff --git a/pkgs/applications/virtualization/dumb-init/default.nix b/pkgs/applications/virtualization/dumb-init/default.nix
index 6c22a5ec12982..5907aacc99d47 100644
--- a/pkgs/applications/virtualization/dumb-init/default.nix
+++ b/pkgs/applications/virtualization/dumb-init/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     description = "A minimal init system for Linux containers";
     homepage = "https://github.com/Yelp/dumb-init";
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     platforms = platforms.linux;
     mainProgram = "dumb-init";
   };
diff --git a/pkgs/applications/virtualization/firecracker/default.nix b/pkgs/applications/virtualization/firecracker/default.nix
index eeabb94536e12..fca5227177d46 100644
--- a/pkgs/applications/virtualization/firecracker/default.nix
+++ b/pkgs/applications/virtualization/firecracker/default.nix
@@ -54,6 +54,6 @@ stdenv.mkDerivation {
     mainProgram = "firecracker";
     license = licenses.asl20;
     platforms = [ "x86_64-linux" "aarch64-linux" ];
-    maintainers = with maintainers; [ thoughtpolice endocrimes qjoly ];
+    maintainers = with maintainers; [ thoughtpolice qjoly ];
   };
 }
diff --git a/pkgs/applications/virtualization/kraft/default.nix b/pkgs/applications/virtualization/kraft/default.nix
index 4d52565bcdb21..43222fa6b19b3 100644
--- a/pkgs/applications/virtualization/kraft/default.nix
+++ b/pkgs/applications/virtualization/kraft/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "kraftkit";
-  version = "0.8.3";
+  version = "0.8.5";
 
   src = fetchFromGitHub {
     owner = "unikraft";
     repo = "kraftkit";
     rev = "v${version}";
-    hash = "sha256-or1UstxYbj3QvgnoQPT2vyQTVZDIKPMDMxRGtN0n0lk=";
+    hash = "sha256-31cgihmtBIB8U60ic5wKNyqB4a5sXZmIXxAjQI/43ro=";
   };
 
-  vendorHash = "sha256-UyDaEwXTMbyAUghvHS/LcT2Yzz7CJ2xGelF19kgRNec=";
+  vendorHash = "sha256-X2E0Sy4rJhrDgPSSOTqUeMEdgq5H3DF5xjh84qlH1Ug=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/applications/virtualization/podman/default.nix b/pkgs/applications/virtualization/podman/default.nix
index 92935ed129d8a..0a8bbcc1853cc 100644
--- a/pkgs/applications/virtualization/podman/default.nix
+++ b/pkgs/applications/virtualization/podman/default.nix
@@ -161,7 +161,7 @@ buildGoModule rec {
     '';
     changelog = "https://github.com/containers/podman/blob/v${version}/RELEASE_NOTES.md";
     license = licenses.asl20;
-    maintainers = with maintainers; [ marsam ] ++ teams.podman.members;
+    maintainers = with maintainers; [ ] ++ teams.podman.members;
     mainProgram = "podman";
   };
 }
diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix
index e7da99d561f6b..3b1eb3b9908cb 100644
--- a/pkgs/applications/virtualization/qemu/default.nix
+++ b/pkgs/applications/virtualization/qemu/default.nix
@@ -55,11 +55,11 @@ stdenv.mkDerivation (finalAttrs: {
     + lib.optionalString hostCpuOnly "-host-cpu-only"
     + lib.optionalString nixosTestRunner "-for-vm-tests"
     + lib.optionalString toolsOnly "-utils";
-  version = "8.2.2";
+  version = "8.2.3";
 
   src = fetchurl {
     url = "https://download.qemu.org/qemu-${finalAttrs.version}.tar.xz";
-    hash = "sha256-hHNGwbgsGlSyw49u29hVSe3rF0MLfU09oSYg4pYrxPM=";
+    hash = "sha256-d1sRjKpjZiCnr0saFWRFoaKA9a1Ss7y7F/jilkhB21g=";
   };
 
   depsBuildBuild = [ buildPackages.stdenv.cc ]
diff --git a/pkgs/applications/virtualization/singularity/generic.nix b/pkgs/applications/virtualization/singularity/generic.nix
index d16b88adece31..da7c8accf873a 100644
--- a/pkgs/applications/virtualization/singularity/generic.nix
+++ b/pkgs/applications/virtualization/singularity/generic.nix
@@ -1,107 +1,111 @@
 # Configurations that should only be overrided by
 # overrideAttrs
-{ pname
-, version
-, src
-, projectName # "apptainer" or "singularity"
-, vendorHash ? null
-, deleteVendor ? false
-, proxyVendor ? false
-, extraConfigureFlags ? [ ]
-, extraDescription ? ""
-, extraMeta ? { }
+{
+  pname,
+  version,
+  src,
+  projectName, # "apptainer" or "singularity"
+  vendorHash ? null,
+  deleteVendor ? false,
+  proxyVendor ? false,
+  extraConfigureFlags ? [ ],
+  extraDescription ? "",
+  extraMeta ? { },
 }:
 
 let
   # Workaround for vendor-related attributes not overridable (#86349)
   # should be removed when the issue is resolved
   _defaultGoVendorArgs = {
-    inherit
-      vendorHash
-      deleteVendor
-      proxyVendor
-      ;
+    inherit vendorHash deleteVendor proxyVendor;
   };
 in
-{ lib
-, buildGoModule
-, runCommandLocal
+{
+  lib,
+  buildGoModule,
+  runCommandLocal,
+  substituteAll,
   # Native build inputs
-, addDriverRunpath
-, makeWrapper
-, pkg-config
-, util-linux
-, which
+  addDriverRunpath,
+  makeWrapper,
+  pkg-config,
+  util-linux,
+  which,
   # Build inputs
-, bash
-, callPackage
-, conmon
-, coreutils
-, cryptsetup
-, e2fsprogs
-, fakeroot
-, fuse2fs ? e2fsprogs.fuse2fs
-, go
-, gpgme
-, libseccomp
-, libuuid
+  bash,
+  callPackage,
+  conmon,
+  coreutils,
+  cryptsetup,
+  e2fsprogs,
+  fakeroot,
+  fuse2fs ? e2fsprogs.fuse2fs,
+  go,
+  gpgme,
+  libseccomp,
+  libuuid,
   # This is for nvidia-container-cli
-, nvidia-docker
-, openssl
-, squashfsTools
-, squashfuse
+  nvidia-docker,
+  openssl,
+  squashfsTools,
+  squashfuse,
   # Test dependencies
-, singularity-tools
-, cowsay
-, hello
+  singularity-tools,
+  cowsay,
+  hello,
   # Overridable configurations
-, enableNvidiaContainerCli ? true
+  enableNvidiaContainerCli ? true,
   # --nvccli currently requires extra privileges:
   # https://github.com/apptainer/apptainer/issues/1893#issuecomment-1881240800
-, forceNvcCli ? false
+  forceNvcCli ? false,
   # Compile with seccomp support
   # SingularityCE 3.10.0 and above requires explicit --without-seccomp when libseccomp is not available.
-, enableSeccomp ? true
+  enableSeccomp ? true,
   # Whether the configure script treat SUID support as default
   # When equal to enableSuid, it supress the --with-suid / --without-suid build flag
   # It can be set to `null` to always pass either --with-suid or --without-suided
   # Type: null or boolean
-, defaultToSuid ? true
+  defaultToSuid ? true,
   # Whether to compile with SUID support
-, enableSuid ? false
-, starterSuidPath ? null
-, substituteAll
+  enableSuid ? false,
+  starterSuidPath ? null,
   # newuidmapPath and newgidmapPath are to support --fakeroot
   # where those SUID-ed executables are unavailable from the FHS system PATH.
   # Path to SUID-ed newuidmap executable
-, newuidmapPath ? null
+  newuidmapPath ? null,
   # Path to SUID-ed newgidmap executable
-, newgidmapPath ? null
+  newgidmapPath ? null,
   # External LOCALSTATEDIR
-, externalLocalStateDir ? null
+  externalLocalStateDir ? null,
   # Remove the symlinks to `singularity*` when projectName != "singularity"
-, removeCompat ? false
+  removeCompat ? false,
   # Workaround #86349
   # should be removed when the issue is resolved
-, vendorHash ? _defaultGoVendorArgs.vendorHash
-, deleteVendor ? _defaultGoVendorArgs.deleteVendor
-, proxyVendor ? _defaultGoVendorArgs.proxyVendor
+  vendorHash ? _defaultGoVendorArgs.vendorHash,
+  deleteVendor ? _defaultGoVendorArgs.deleteVendor,
+  proxyVendor ? _defaultGoVendorArgs.proxyVendor,
 }:
 
 let
   defaultPathOriginal = "/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin";
-  privileged-un-utils = if ((newuidmapPath == null) && (newgidmapPath == null)) then null else
-  (runCommandLocal "privileged-un-utils" { } ''
-    mkdir -p "$out/bin"
-    ln -s ${lib.escapeShellArg newuidmapPath} "$out/bin/newuidmap"
-    ln -s ${lib.escapeShellArg newgidmapPath} "$out/bin/newgidmap"
-  '');
+  privileged-un-utils =
+    if ((newuidmapPath == null) && (newgidmapPath == null)) then
+      null
+    else
+      (runCommandLocal "privileged-un-utils" { } ''
+        mkdir -p "$out/bin"
+        ln -s ${lib.escapeShellArg newuidmapPath} "$out/bin/newuidmap"
+        ln -s ${lib.escapeShellArg newgidmapPath} "$out/bin/newgidmap"
+      '');
 in
 (buildGoModule {
   inherit pname version src;
 
   patches = lib.optionals (projectName == "apptainer") [
-    (substituteAll { src = ./apptainer/0001-ldCache-patch-for-driverLink.patch; inherit (addDriverRunpath) driverLink; })
+    (substituteAll {
+      src = ./apptainer/0001-ldCache-patch-for-driverLink.patch;
+      inherit (addDriverRunpath) driverLink;
+    })
   ];
 
   # Override vendorHash with the output got from
@@ -138,29 +142,36 @@ in
   # apptainer/apptainer: https://github.com/apptainer/apptainer/blob/main/dist/debian/control
   # sylabs/singularity: https://github.com/sylabs/singularity/blob/main/debian/control
 
-  buildInputs = [
-    bash # To patch /bin/sh shebangs.
-    conmon
-    cryptsetup
-    gpgme
-    libuuid
-    openssl
-    squashfsTools # Required at build time by SingularityCE
-  ]
-  ++ lib.optional enableNvidiaContainerCli nvidia-docker
-  ++ lib.optional enableSeccomp libseccomp
-  ;
+  buildInputs =
+    [
+      bash # To patch /bin/sh shebangs.
+      conmon
+      cryptsetup
+      gpgme
+      libuuid
+      openssl
+      squashfsTools # Required at build time by SingularityCE
+    ]
+    # Optional dependencies.
+    # Formatting: Optional dependencies are likely to increase.
+    # Don't squash them into the same line.
+    ++ lib.optional enableNvidiaContainerCli nvidia-docker
+    ++ lib.optional enableSeccomp libseccomp;
 
   configureScript = "./mconfig";
 
-  configureFlags = [
-    "--localstatedir=${if externalLocalStateDir != null then externalLocalStateDir else "${placeholder "out"}/var/lib"}"
-    "--runstatedir=/var/run"
-  ]
-  ++ lib.optional (!enableSeccomp) "--without-seccomp"
-  ++ lib.optional (enableSuid != defaultToSuid) (if enableSuid then "--with-suid" else "--without-suid")
-  ++ extraConfigureFlags
-  ;
+  configureFlags =
+    [
+      "--localstatedir=${
+        if externalLocalStateDir != null then externalLocalStateDir else "${placeholder "out"}/var/lib"
+      }"
+      "--runstatedir=/var/run"
+    ]
+    ++ lib.optional (!enableSeccomp) "--without-seccomp"
+    ++ lib.optional (enableSuid != defaultToSuid) (
+      if enableSuid then "--with-suid" else "--without-suid"
+    )
+    ++ extraConfigureFlags;
 
   # causes redefinition of _FORTIFY_SOURCE
   hardeningDisable = [ "fortify3" ];
@@ -177,9 +188,7 @@ in
     privileged-un-utils
     squashfsTools # mksquashfs unsquashfs # Make / unpack squashfs image
     squashfuse # squashfuse_ll squashfuse # Mount (without unpacking) a squashfs image without privileges
-  ]
-  ++ lib.optional enableNvidiaContainerCli nvidia-docker
-  ;
+  ] ++ lib.optional enableNvidiaContainerCli nvidia-docker;
 
   postPatch = ''
     if [[ ! -e .git || ! -e VERSION ]]; then
@@ -249,70 +258,86 @@ in
         rm "$file"
       done
     ''}
-    ${lib.optionalString enableSuid (lib.warnIf (starterSuidPath == null) "${projectName}: Null starterSuidPath when enableSuid produces non-SUID-ed starter-suid and run-time permission denial." ''
-      chmod +x $out/libexec/${projectName}/bin/starter-suid
-    '')}
+    ${lib.optionalString enableSuid (
+      lib.warnIf (starterSuidPath == null)
+        "${projectName}: Null starterSuidPath when enableSuid produces non-SUID-ed starter-suid and run-time permission denial."
+        ''
+          chmod +x $out/libexec/${projectName}/bin/starter-suid
+        ''
+    )}
     ${lib.optionalString (enableSuid && (starterSuidPath != null)) ''
       mv "$out"/libexec/${projectName}/bin/starter-suid{,.orig}
       ln -s ${lib.escapeShellArg starterSuidPath} "$out/libexec/${projectName}/bin/starter-suid"
     ''}
   '';
 
-  meta = with lib; {
-    description = "Application containers for linux" + extraDescription;
-    longDescription = ''
-      Singularity (the upstream) renamed themselves to Apptainer
-      to distinguish themselves from a fork made by Sylabs Inc.. See
+  meta =
+    with lib;
+    {
+      description = "Application containers for linux" + extraDescription;
+      longDescription = ''
+        Singularity (the upstream) renamed themselves to Apptainer
+        to distinguish themselves from a fork made by Sylabs Inc.. See
 
-      https://sylabs.io/2021/05/singularity-community-edition
-      https://apptainer.org/news/community-announcement-20211130
-    '';
-    license = licenses.bsd3;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ jbedo ShamrockLee ];
-    mainProgram = projectName;
-  } // extraMeta;
-}).overrideAttrs (finalAttrs: prevAttrs: {
-  passthru = prevAttrs.passthru or { } // {
-    tests = {
-      image-hello-cowsay = singularity-tools.buildImage {
-        name = "hello-cowsay";
-        contents = [ hello cowsay ];
-        singularity = finalAttrs.finalPackage;
-      };
-    };
-    gpuChecks = lib.optionalAttrs (projectName == "apptainer") {
-      # Should be in tests, but Ofborg would skip image-hello-cowsay because
-      # saxpy is unfree.
-      image-saxpy = callPackage
-        ({ singularity-tools, cudaPackages }:
-          singularity-tools.buildImage {
-            name = "saxpy";
-            contents = [ cudaPackages.saxpy ];
-            memSize = 2048;
-            diskSize = 2048;
+        https://sylabs.io/2021/05/singularity-community-edition
+        https://apptainer.org/news/community-announcement-20211130
+      '';
+      license = licenses.bsd3;
+      platforms = platforms.linux;
+      maintainers = with maintainers; [
+        jbedo
+        ShamrockLee
+      ];
+      mainProgram = projectName;
+    }
+    // extraMeta;
+}).overrideAttrs
+  (
+    finalAttrs: prevAttrs: {
+      passthru = prevAttrs.passthru or { } // {
+        tests = {
+          image-hello-cowsay = singularity-tools.buildImage {
+            name = "hello-cowsay";
+            contents = [
+              hello
+              cowsay
+            ];
             singularity = finalAttrs.finalPackage;
-          })
-        { };
-      saxpy =
-        callPackage
-          ({ runCommand, writeShellScriptBin }:
+          };
+        };
+        gpuChecks = lib.optionalAttrs (projectName == "apptainer") {
+          # Should be in tests, but Ofborg would skip image-hello-cowsay because
+          # saxpy is unfree.
+          image-saxpy = callPackage (
+            { singularity-tools, cudaPackages }:
+            singularity-tools.buildImage {
+              name = "saxpy";
+              contents = [ cudaPackages.saxpy ];
+              memSize = 2048;
+              diskSize = 2048;
+              singularity = finalAttrs.finalPackage;
+            }
+          ) { };
+          saxpy = callPackage (
+            { runCommand, writeShellScriptBin }:
             let
-              unwrapped = writeShellScriptBin "apptainer-cuda-saxpy"
-                ''
-                  ${lib.getExe finalAttrs.finalPackage} exec --nv $@ ${finalAttrs.passthru.gpuChecks.image-saxpy} saxpy
-                '';
+              unwrapped = writeShellScriptBin "apptainer-cuda-saxpy" ''
+                ${lib.getExe finalAttrs.finalPackage} exec --nv $@ ${finalAttrs.passthru.gpuChecks.image-saxpy} saxpy
+              '';
             in
             runCommand "run-apptainer-cuda-saxpy"
               {
                 requiredSystemFeatures = [ "cuda" ];
                 nativeBuildInputs = [ unwrapped ];
-                passthru = { inherit unwrapped; };
+                passthru = {
+                  inherit unwrapped;
+                };
               }
               ''
                 apptainer-cuda-saxpy
-              '')
-          { };
-    };
-  };
-})
+              ''
+          ) { };
+        };
+      };
+    }
+  )
diff --git a/pkgs/applications/virtualization/singularity/packages.nix b/pkgs/applications/virtualization/singularity/packages.nix
index efa77b4209f3d..bd7deb298d47b 100644
--- a/pkgs/applications/virtualization/singularity/packages.nix
+++ b/pkgs/applications/virtualization/singularity/packages.nix
@@ -1,89 +1,98 @@
-{ callPackage
-, fetchFromGitHub
-, nixos
-, conmon
+{
+  callPackage,
+  fetchFromGitHub,
+  nixos,
+  conmon,
 }:
 let
-  apptainer = callPackage
-    (import ./generic.nix rec {
-      pname = "apptainer";
-      version = "1.3.0";
-      projectName = "apptainer";
+  apptainer =
+    callPackage
+      (import ./generic.nix rec {
+        pname = "apptainer";
+        version = "1.3.1";
+        projectName = "apptainer";
 
-      src = fetchFromGitHub {
-        owner = "apptainer";
-        repo = "apptainer";
-        rev = "refs/tags/v${version}";
-        hash = "sha256-YqPPTs7cIiMbOc8jOwr8KgUBVu2pTPlSL0Vvw/1n4co=";
-      };
+        src = fetchFromGitHub {
+          owner = "apptainer";
+          repo = "apptainer";
+          rev = "refs/tags/v${version}";
+          hash = "sha256-XhJecINx8jC6pRzIoM4nC6Aunj40xL8EmYIA4UizfAY=";
+        };
 
-      # Update by running
-      # nix-prefetch -E "{ sha256 }: ((import ./. { }).apptainer.override { vendorHash = sha256; }).goModules"
-      # at the root directory of the Nixpkgs repository
-      vendorHash = "sha256-lWo6ic3Tdv1UInA5MtEaAgiheCin2JSh4nmheUooENY=";
+        # Update by running
+        # nix-prefetch -E "{ sha256 }: ((import ./. { }).apptainer.override { vendorHash = sha256; }).goModules"
+        # at the root directory of the Nixpkgs repository
+        vendorHash = "sha256-MXW1U13uDRAx4tqZvqsuJvoD22nEL2gcxiGaa/6zwU0=";
 
-      extraDescription = " (previously known as Singularity)";
-      extraMeta.homepage = "https://apptainer.org";
-    })
-    {
-      # Apptainer doesn't depend on conmon
-      conmon = null;
+        extraDescription = " (previously known as Singularity)";
+        extraMeta.homepage = "https://apptainer.org";
+      })
+      {
+        # Apptainer doesn't depend on conmon
+        conmon = null;
 
-      # Apptainer builders require explicit --with-suid / --without-suid flag
-      # when building on a system with disabled unprivileged namespace.
-      # See https://github.com/NixOS/nixpkgs/pull/215690#issuecomment-1426954601
-      defaultToSuid = null;
-    };
+        # Apptainer builders require explicit --with-suid / --without-suid flag
+        # when building on a system with disabled unprivileged namespace.
+        # See https://github.com/NixOS/nixpkgs/pull/215690#issuecomment-1426954601
+        defaultToSuid = null;
+      };
 
-  singularity = callPackage
-    (import ./generic.nix rec {
-      pname = "singularity-ce";
-      version = "4.1.2";
-      projectName = "singularity";
+  singularity =
+    callPackage
+      (import ./generic.nix rec {
+        pname = "singularity-ce";
+        version = "4.1.2";
+        projectName = "singularity";
 
-      src = fetchFromGitHub {
-        owner = "sylabs";
-        repo = "singularity";
-        rev = "refs/tags/v${version}";
-        hash = "sha256-/KTDdkCMkZ5hO+VYHzw9vB8FDWxg7PS1yb2waRJQngY=";
-      };
+        src = fetchFromGitHub {
+          owner = "sylabs";
+          repo = "singularity";
+          rev = "refs/tags/v${version}";
+          hash = "sha256-/KTDdkCMkZ5hO+VYHzw9vB8FDWxg7PS1yb2waRJQngY=";
+        };
 
-      # Update by running
-      # nix-prefetch -E "{ sha256 }: ((import ./. { }).singularity.override { vendorHash = sha256; }).goModules"
-      # at the root directory of the Nixpkgs repository
-      vendorHash = "sha256-4Nxj2PzZmFdvouWKyXLFDk8iuRhFuvyPW/+VRTw75Zw=";
+        # Update by running
+        # nix-prefetch -E "{ sha256 }: ((import ./. { }).singularity.override { vendorHash = sha256; }).goModules"
+        # at the root directory of the Nixpkgs repository
+        vendorHash = "sha256-4Nxj2PzZmFdvouWKyXLFDk8iuRhFuvyPW/+VRTw75Zw=";
 
-      # Do not build conmon and squashfuse from the Git submodule sources,
-      # Use Nixpkgs provided version
-      extraConfigureFlags = [
-        "--without-conmon"
-        "--without-squashfuse"
-      ];
+        # Do not build conmon and squashfuse from the Git submodule sources,
+        # Use Nixpkgs provided version
+        extraConfigureFlags = [
+          "--without-conmon"
+          "--without-squashfuse"
+        ];
 
-      extraDescription = " (Sylabs Inc's fork of Singularity, a.k.a. SingularityCE)";
-      extraMeta.homepage = "https://sylabs.io/";
-    })
-    {
-      defaultToSuid = true;
-    };
+        extraDescription = " (Sylabs Inc's fork of Singularity, a.k.a. SingularityCE)";
+        extraMeta.homepage = "https://sylabs.io/";
+      })
+      {
+        # Sylabs SingularityCE builders defaults to set the SUID flag
+        # on UNIX-like platforms,
+        # and only have --without-suid but not --with-suid.
+        defaultToSuid = true;
+      };
 
-  genOverridenNixos = package: packageName: (nixos {
-    programs.singularity = {
-      enable = true;
-      inherit package;
-    };
-  }).config.programs.singularity.packageOverriden.overrideAttrs (oldAttrs: {
-    meta = oldAttrs.meta // {
-      description = "";
-      longDescription = ''
-        This package produces identical store derivations to `pkgs.${packageName}`
-        overriden and installed by the NixOS module `programs.singularity`
-        with default configuration.
+  genOverridenNixos =
+    package: packageName:
+    (nixos {
+      programs.singularity = {
+        enable = true;
+        inherit package;
+      };
+    }).config.programs.singularity.packageOverriden.overrideAttrs
+      (oldAttrs: {
+        meta = oldAttrs.meta // {
+          description = "";
+          longDescription = ''
+            This package produces identical store derivations to `pkgs.${packageName}`
+            overriden and installed by the NixOS module `programs.singularity`
+            with default configuration.
 
-        This is for binary substitutes only. Use pkgs.${packageName} instead.
-      '';
-    };
-  });
+            This is for binary substitutes only. Use pkgs.${packageName} instead.
+          '';
+        };
+      });
 in
 {
   inherit apptainer singularity;
diff --git a/pkgs/applications/window-managers/hackedbox/default.nix b/pkgs/applications/window-managers/hackedbox/default.nix
index f38d0d6beb9b1..45f17c0c912ed 100644
--- a/pkgs/applications/window-managers/hackedbox/default.nix
+++ b/pkgs/applications/window-managers/hackedbox/default.nix
@@ -32,6 +32,8 @@ stdenv.mkDerivation (finalAttrs: {
     pkg-config
   ];
 
+  CXXFLAGS = "-std=c++98";
+
   buildInputs = [
     freetype
     fribidi
diff --git a/pkgs/applications/window-managers/hyprwm/hyprland/default.nix b/pkgs/applications/window-managers/hyprwm/hyprland/default.nix
index e8da21dba912b..a170ac7608988 100644
--- a/pkgs/applications/window-managers/hyprwm/hyprland/default.nix
+++ b/pkgs/applications/window-managers/hyprwm/hyprland/default.nix
@@ -49,13 +49,12 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "hyprland" + lib.optionalString debug "-debug";
-  version = "0.38.1";
-
+  version = "0.39.1";
   src = fetchFromGitHub {
     owner = "hyprwm";
     repo = finalAttrs.pname;
     rev = "v${finalAttrs.version}";
-    hash = "sha256-6y422rx8ScSkjR1dNYGYUxBmFewRYlCz9XZZ+XrVZng=";
+    hash = "sha256-Urb/njWiHYUudXpmK8EKl9Z58esTIG0PxXw5LuM2r5g=";
   };
 
   patches = [
@@ -73,7 +72,7 @@ stdenv.mkDerivation (finalAttrs: {
       --replace "@HASH@" '${finalAttrs.src.rev}' \
       --replace "@BRANCH@" "" \
       --replace "@MESSAGE@" "" \
-      --replace "@DATE@" "2024-04-06" \
+      --replace "@DATE@" "2024-04-16" \
       --replace "@TAG@" "" \
       --replace "@DIRTY@" ""
   '';
@@ -94,7 +93,7 @@ stdenv.mkDerivation (finalAttrs: {
   ];
 
   buildInputs =
-    [
+    wlr.buildInputs ++ [
       cairo
       git
       hyprcursor
diff --git a/pkgs/applications/window-managers/hyprwm/hyprland/plugins.nix b/pkgs/applications/window-managers/hyprwm/hyprland/plugins.nix
index 53113b3e8bffd..76754dd5f0d8a 100644
--- a/pkgs/applications/window-managers/hyprwm/hyprland/plugins.nix
+++ b/pkgs/applications/window-managers/hyprwm/hyprland/plugins.nix
@@ -24,13 +24,13 @@ let
     hy3 = { fetchFromGitHub, cmake, hyprland }:
       mkHyprlandPlugin hyprland {
         pluginName = "hy3";
-        version = "0.38.0";
+        version = "0.39.1";
 
         src = fetchFromGitHub {
           owner = "outfoxxed";
           repo = "hy3";
-          rev = "hl0.38.0";
-          hash = "sha256-ZVwX5yM97R6MLk64dQG5KqYOR4L4HxEEV+xzQi+NGrk=";
+          rev = "hl0.39.1";
+          hash = "sha256-PqVld+oFziSt7VZTNBomPyboaMEAIkerPQFwNJL/Wjw=";
         };
 
         nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/window-managers/hyprwm/hyprland/wlroots.nix b/pkgs/applications/window-managers/hyprwm/hyprland/wlroots.nix
index d5be9f276cf25..b2f4a52126dcf 100644
--- a/pkgs/applications/window-managers/hyprwm/hyprland/wlroots.nix
+++ b/pkgs/applications/window-managers/hyprwm/hyprland/wlroots.nix
@@ -1,4 +1,4 @@
-{ fetchFromGitLab
+{ fetchFromGitHub
 , wlroots
 , enableXWayland ? true
 }:
@@ -7,12 +7,11 @@ wlroots.overrideAttrs
     inherit enableXWayland;
     version = "0.18.0-dev";
 
-    src = fetchFromGitLab {
-      domain = "gitlab.freedesktop.org";
-      owner = "wlroots";
-      repo = "wlroots";
-      rev = "50eae512d9cecbf0b3b1898bb1f0b40fa05fe19b";
-      hash = "sha256-wXWIJLd4F2JZeMaihWVDW/yYXCLEC8OpeNJZg9a9ly8=";
+    src = fetchFromGitHub {
+      owner = "hyprwm";
+      repo = "wlroots-hyprland";
+      rev = "611a4f24cd2384378f6e500253983107c6656c64";
+      hash = "sha256-vPeZCY+sdiGsz4fl3AVVujfyZyQBz6+vZdkUE4hQ+HI=";
     };
 
     patches = [ ]; # don't inherit old.patches
diff --git a/pkgs/applications/window-managers/miriway/default.nix b/pkgs/applications/window-managers/miriway/default.nix
index 7e59995126fad..8575c10a6ad64 100644
--- a/pkgs/applications/window-managers/miriway/default.nix
+++ b/pkgs/applications/window-managers/miriway/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "miriway";
-  version = "unstable-2024-04-16";
+  version = "0-unstable-2024-04-25";
 
   src = fetchFromGitHub {
     owner = "Miriway";
     repo = "Miriway";
-    rev = "d7f43ac201e6f1aa7aeee668f5d16683f48917f1";
-    hash = "sha256-hUTK7kd7gTvms4HMF7BgYWomRYZyRkqUfjhVtEF+YRE=";
+    rev = "a3f074be78e77bab378f064452420923b6f9c331";
+    hash = "sha256-D+ClEJL/iCLARaTXe5QpI/uHE61Lajzz5A5EphgHCl8=";
   };
 
   strictDeps = true;
diff --git a/pkgs/applications/window-managers/weston/default.nix b/pkgs/applications/window-managers/weston/default.nix
index b4472425324ee..a4e36c18368e6 100644
--- a/pkgs/applications/window-managers/weston/default.nix
+++ b/pkgs/applications/window-managers/weston/default.nix
@@ -19,11 +19,11 @@
 
 stdenv.mkDerivation rec {
   pname = "weston";
-  version = "13.0.0";
+  version = "13.0.1";
 
   src = fetchurl {
     url = "https://gitlab.freedesktop.org/wayland/weston/-/releases/${version}/downloads/weston-${version}.tar.xz";
-    hash = "sha256-Uv8dSqI5Si5BbIWjOLYnzpf6cdQ+t2L9Sq8UXTb8eVo=";
+    hash = "sha256-6hVmq09f/Ofp/U96H8pbMMquTVACO/RZITmUCU4Cspo=";
   };
 
   postPatch = ''
diff --git a/pkgs/build-support/appimage/default.nix b/pkgs/build-support/appimage/default.nix
index b59a3e2c11576..95dc7ffd1cd66 100644
--- a/pkgs/build-support/appimage/default.nix
+++ b/pkgs/build-support/appimage/default.nix
@@ -39,15 +39,12 @@ rec {
   wrapType1 = wrapType2;
 
   wrapAppImage = args@{
-    name ? "${args.pname}-${args.version}",
     src,
     extraPkgs,
     meta ? {},
     ...
   }: buildFHSEnv
     (defaultFhsEnvArgs // {
-      inherit name;
-
       targetPkgs = pkgs: [ appimage-exec ]
         ++ defaultFhsEnvArgs.targetPkgs pkgs ++ extraPkgs pkgs;
 
@@ -56,12 +53,12 @@ rec {
       meta = {
         sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
       } // meta;
-    } // (removeAttrs args ([ "pname" "version" ] ++ (builtins.attrNames (builtins.functionArgs wrapAppImage)))));
+    } // (removeAttrs args (builtins.attrNames (builtins.functionArgs wrapAppImage))));
 
-  wrapType2 = args@{ name ? "${args.pname}-${args.version}", src, extraPkgs ? pkgs: [ ], ... }: wrapAppImage
+  wrapType2 = args@{ src, extraPkgs ? pkgs: [ ], ... }: wrapAppImage
     (args // {
-      inherit name extraPkgs;
-      src = extract { inherit name src; };
+      inherit extraPkgs;
+      src = extract (lib.filterAttrs (key: value: builtins.elem key [ "name" "pname" "version" "src" ]) args);
 
       # passthru src to make nix-update work
       # hack to keep the origin position (unsafeGetAttrPos)
@@ -73,8 +70,6 @@ rec {
     });
 
   defaultFhsEnvArgs = {
-    name = "appimage-env";
-
     # Most of the packages were taken from the Steam chroot
     targetPkgs = pkgs: with pkgs; [
       gtk3
diff --git a/pkgs/build-support/build-fhsenv-bubblewrap/buildFHSEnv.nix b/pkgs/build-support/build-fhsenv-bubblewrap/buildFHSEnv.nix
index 2ab7847926e29..1e34ad1e5e448 100644
--- a/pkgs/build-support/build-fhsenv-bubblewrap/buildFHSEnv.nix
+++ b/pkgs/build-support/build-fhsenv-bubblewrap/buildFHSEnv.nix
@@ -8,14 +8,14 @@
 , pkgsi686Linux
 }:
 
-{ name ? null
-, profile ? ""
+{ profile ? ""
 , targetPkgs ? pkgs: []
 , multiPkgs ? pkgs: []
 , multiArch ? false # Whether to include 32bit packages
 , extraBuildCommands ? ""
 , extraBuildCommandsMulti ? ""
 , extraOutputsToInstall ? []
+, ... # for name, or pname+version
 } @ args:
 
 # HOWTO:
@@ -36,6 +36,10 @@
 let
   inherit (stdenv) is64bit;
 
+  name = if (args ? pname && args ? version)
+    then "${args.pname}-${args.version}"
+    else args.name;
+
   # "use of glibc_multi is only supported on x86_64-linux"
   isMultiBuild = multiArch && stdenv.system == "x86_64-linux";
   isTargetBuild = !isMultiBuild;
diff --git a/pkgs/build-support/build-fhsenv-bubblewrap/default.nix b/pkgs/build-support/build-fhsenv-bubblewrap/default.nix
index c30a4dfb7ea37..12f3e7d585521 100644
--- a/pkgs/build-support/build-fhsenv-bubblewrap/default.nix
+++ b/pkgs/build-support/build-fhsenv-bubblewrap/default.nix
@@ -9,10 +9,7 @@
 , bubblewrap
 }:
 
-{ name ? null
-, pname ? null
-, version ? null
-, runScript ? "bash"
+{ runScript ? "bash"
 , extraInstallCommands ? ""
 , meta ? {}
 , passthru ? {}
@@ -29,7 +26,7 @@
 , ...
 } @ args:
 
-assert (pname != null || version != null) -> (name == null && pname != null); # You must declare either a name or pname + version (preferred).
+assert (!args ? pname || !args ? version) -> (args ? name); # You must provide name if pname or version (preferred) is missing.
 
 let
   inherit (lib)
@@ -43,16 +40,16 @@ let
 
   inherit (lib.attrsets) removeAttrs;
 
-  pname = if args ? name && args.name != null then args.name else args.pname;
-  versionStr = optionalString (version != null) ("-" + version);
-  name = pname + versionStr;
+  name = args.name or "${args.pname}-${args.version}";
+  executableName = args.pname or args.name;
+  # we don't know which have been supplied, and want to avoid defaulting missing attrs to null. Passed into runCommandLocal
+  nameAttrs = lib.filterAttrs (key: value: builtins.elem key [ "name" "pname" "version" ]) args;
 
   buildFHSEnv = callPackage ./buildFHSEnv.nix { };
 
-  fhsenv = buildFHSEnv (removeAttrs (args // { inherit name; }) [
+  fhsenv = buildFHSEnv (removeAttrs args [
     "runScript" "extraInstallCommands" "meta" "passthru" "extraPreBwrapCmds" "extraBwrapArgs" "dieWithParent"
     "unshareUser" "unshareCgroup" "unshareUts" "unshareNet" "unsharePid" "unshareIpc" "privateTmp"
-    "pname" "version"
   ]);
 
   etcBindEntries = let
@@ -270,8 +267,7 @@ let
   '';
 
   bin = writeShellScript "${name}-bwrap" (bwrapCmd { initArgs = ''"$@"''; });
-in runCommandLocal name {
-  inherit pname version;
+in runCommandLocal name (nameAttrs // {
   inherit meta;
 
   passthru = passthru // {
@@ -285,9 +281,9 @@ in runCommandLocal name {
     '';
     inherit args fhsenv;
   };
-} ''
+}) ''
   mkdir -p $out/bin
-  ln -s ${bin} $out/bin/${pname}
+  ln -s ${bin} $out/bin/${executableName}
 
   ${extraInstallCommands}
 ''
diff --git a/pkgs/by-name/4d/4d-minesweeper/package.nix b/pkgs/by-name/_4/_4d-minesweeper/package.nix
index 006480efc058a..006480efc058a 100644
--- a/pkgs/by-name/4d/4d-minesweeper/package.nix
+++ b/pkgs/by-name/_4/_4d-minesweeper/package.nix
diff --git a/pkgs/by-name/ab/ab-av1/package.nix b/pkgs/by-name/ab/ab-av1/package.nix
index a92e021f67e3a..51780029d143c 100644
--- a/pkgs/by-name/ab/ab-av1/package.nix
+++ b/pkgs/by-name/ab/ab-av1/package.nix
@@ -27,7 +27,7 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/alexheretic/ab-av1";
     changelog = "https://github.com/alexheretic/ab-av1/blob/${src.rev}/CHANGELOG.md";
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     mainProgram = "ab-av1";
   };
 }
diff --git a/pkgs/by-name/ai/airlift/package.nix b/pkgs/by-name/ai/airlift/package.nix
index 5c1027d8537f9..a5bbbb7614d95 100644
--- a/pkgs/by-name/ai/airlift/package.nix
+++ b/pkgs/by-name/ai/airlift/package.nix
@@ -10,11 +10,11 @@ python3.pkgs.buildPythonApplication rec {
 
   pname = "airlift";
   pyproject = true;
-  version = "0.3.1";
+  version = "0.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-EAt3xxr9jtMaOugAV+ySjhorO8SrhBn00PZ84ZG80oI=";
+    hash = "sha256-JcW2FXl+SrdveRmG5bD1ttf6F3LwvGZQF4ZCTpDpPa8=";
   };
 
   postPatch = ''
diff --git a/pkgs/by-name/al/alephone-durandal/package.nix b/pkgs/by-name/al/alephone-durandal/package.nix
index cd7927d69a141..d8376457f6441 100644
--- a/pkgs/by-name/al/alephone-durandal/package.nix
+++ b/pkgs/by-name/al/alephone-durandal/package.nix
@@ -3,13 +3,13 @@
 alephone.makeWrapper rec {
   pname = "durandal";
   desktopName = "Marathon-Durandal";
-  version = "20230119";
+  version = "20240119";
   icon = alephone.icons + "/marathon2.png";
 
   zip = fetchurl {
     url =
       "https://github.com/Aleph-One-Marathon/alephone/releases/download/release-${version}/Marathon2-${version}-Data.zip";
-    sha256 = "sha256-Vbfk5wLgvNEZW2BohMY5mPXaRbNlHxJdWLYTsE8CSwI=";
+    sha256 = "sha256-Tp9EWMIY0moK6RLIpxB7rMzLOQ7zPfV58oeAyQsTbnM=";
   };
 
   meta = {
diff --git a/pkgs/by-name/al/alephone-infinity/package.nix b/pkgs/by-name/al/alephone-infinity/package.nix
index c49f9a8d2ac72..466f3bb7d4b65 100644
--- a/pkgs/by-name/al/alephone-infinity/package.nix
+++ b/pkgs/by-name/al/alephone-infinity/package.nix
@@ -3,13 +3,13 @@
 alephone.makeWrapper rec {
   pname = "marathon-infinity";
   desktopName = "Marathon-Infinity";
-  version = "20230119";
+  version = "20240119";
   icon = alephone.icons + "/marathon-infinity.png";
 
   zip = fetchurl {
     url =
       "https://github.com/Aleph-One-Marathon/alephone/releases/download/release-${version}/MarathonInfinity-${version}-Data.zip";
-    sha256 = "sha256-0+xokhzWdXM+L4DBjWnfNVXZve4n1X/Aq6rxNGAFb3Q=";
+    sha256 = "sha256-KfFu+cboaZMfjnu3W84/Qbcrc9kbkIZ2Y0GM1fXeXh8=";
   };
 
   meta = {
diff --git a/pkgs/by-name/al/alephone-marathon/package.nix b/pkgs/by-name/al/alephone-marathon/package.nix
index ea295b7dcdce7..38018ec021b05 100644
--- a/pkgs/by-name/al/alephone-marathon/package.nix
+++ b/pkgs/by-name/al/alephone-marathon/package.nix
@@ -3,13 +3,13 @@
 alephone.makeWrapper rec {
   pname = "marathon";
   desktopName = "Marathon";
-  version = "20230119";
+  version = "20240119";
   icon = alephone.icons + "/marathon.png";
 
   zip = fetchurl {
     url =
       "https://github.com/Aleph-One-Marathon/alephone/releases/download/release-${version}/Marathon-${version}-Data.zip";
-    sha256 = "sha256-uz/1ZW9epd1HP/pzTNN3d2EEbOzjj0qpdMkrVoxb8Aw=";
+    sha256 = "sha256-60+dvXyzHe5PDepyKHcEIdWoRiGMvx5zYehubWKqaB0=";
   };
 
   meta = {
diff --git a/pkgs/by-name/al/alephone/package.nix b/pkgs/by-name/al/alephone/package.nix
index 5ee1ef50a76bf..0e4979d4393e8 100644
--- a/pkgs/by-name/al/alephone/package.nix
+++ b/pkgs/by-name/al/alephone/package.nix
@@ -32,13 +32,13 @@
 stdenv.mkDerivation (finalAttrs: {
   outputs = [ "out" "icons" ];
   pname = "alephone";
-  version = "1.7";
+  version = "1.7.1";
 
   src = fetchurl {
     url =
-      let date = "20231125";
+      let date = "20240119";
       in "https://github.com/Aleph-One-Marathon/alephone/releases/download/release-${date}/AlephOne-${date}.tar.bz2";
-    sha256 = "sha256-qRHmtkzPi6PKeAzoMPdSbboiilG+L2fCXvXXu3vIchs=";
+    sha256 = "sha256-esqjhOSrqtapnS9xF/EThgn2c/vW4hTpMpecXW6BzAQ=";
   };
 
   nativeBuildInputs = [ pkg-config icoutils ];
diff --git a/pkgs/by-name/al/altdns/package.nix b/pkgs/by-name/al/altdns/package.nix
new file mode 100644
index 0000000000000..839173efa64d6
--- /dev/null
+++ b/pkgs/by-name/al/altdns/package.nix
@@ -0,0 +1,53 @@
+{ lib
+, python3
+, fetchFromGitHub
+}:
+
+python3.pkgs.buildPythonApplication {
+  pname = "altdns";
+  version = "1.0.2-unstable-2021-09-09";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "infosec-au";
+    repo = "altdns";
+    rev = "8c1de0fa8365153832bb58d74475caa15d2d077a";
+    hash = "sha256-ElY6AZ7IBnOh7sRWNSQNmq7AYGlnjvYRn8/U+29BwWA=";
+  };
+
+  prePatch = ''
+    substituteInPlace requirements.txt \
+      --replace-fail "argparse" ""
+    substituteInPlace setup.py \
+      --replace-fail "argparse" ""
+  '';
+
+  build-system = with python3.pkgs; [
+    setuptools
+  ];
+
+  dependencies = with python3.pkgs; [
+    dnspython
+    termcolor
+    tldextract
+  ];
+
+  postInstall = ''
+    cp $src/words.txt $out/
+  '';
+
+  # Project has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "altdns"
+  ];
+
+  meta = with lib; {
+    description = "Generates permutations, alterations and mutations of subdomains and then resolves them";
+    homepage = "https://github.com/infosec-au/altdns";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ octodi ];
+    mainProgram = "altdns";
+  };
+}
diff --git a/pkgs/by-name/al/alvr/package.nix b/pkgs/by-name/al/alvr/package.nix
index 803f352ae4e6f..31a96a5d84220 100644
--- a/pkgs/by-name/al/alvr/package.nix
+++ b/pkgs/by-name/al/alvr/package.nix
@@ -16,8 +16,6 @@ appimageTools.wrapType2 {
   inherit pname version src;
 
   extraInstallCommands = ''
-    mv $out/bin/alvr-${version} $out/bin/alvr
-
     install -Dm444 ${appimageContents}/alvr.desktop -t $out/share/applications
     substituteInPlace $out/share/applications/alvr.desktop \
       --replace 'Exec=alvr_dashboard' 'Exec=alvr'
diff --git a/pkgs/by-name/am/am2rlauncher/package.nix b/pkgs/by-name/am/am2rlauncher/package.nix
index d0dbf909500fd..d3893eefb3952 100644
--- a/pkgs/by-name/am/am2rlauncher/package.nix
+++ b/pkgs/by-name/am/am2rlauncher/package.nix
@@ -17,6 +17,8 @@
 , fetchFromGitHub
 , buildFHSEnv
 , glib-networking
+, wrapGAppsHook
+, gsettings-desktop-schemas
 }:
 let
   am2r-run = buildFHSEnv {
@@ -69,7 +71,9 @@ buildDotnetModule {
     openssl
   ];
 
-  buildInputs = [ gtk3 ];
+  nativeBuildInputs = [ wrapGAppsHook ];
+
+  buildInputs = [ gtk3 gsettings-desktop-schemas glib-networking ];
 
   patches = [ ./am2r-run-binary.patch ];
 
@@ -78,7 +82,6 @@ buildDotnetModule {
   postFixup = ''
     wrapProgram $out/bin/AM2RLauncher.Gtk \
       --prefix PATH : ${lib.makeBinPath [ am2r-run xdelta file openjdk patchelf ]} \
-      --prefix GIO_EXTRA_MODULES : ${glib-networking}/lib/gio/modules
 
     mkdir -p $out/share/icons
     install -Dm644 $src/AM2RLauncher/distribution/linux/AM2RLauncher.png $out/share/icons/AM2RLauncher.png
diff --git a/pkgs/by-name/an/antares/package.nix b/pkgs/by-name/an/antares/package.nix
index ff2dff5dc4d56..7e2537d211bbd 100644
--- a/pkgs/by-name/an/antares/package.nix
+++ b/pkgs/by-name/an/antares/package.nix
@@ -7,16 +7,16 @@
 
 buildNpmPackage rec {
   pname = "antares";
-  version = "0.7.22";
+  version = "0.7.23";
 
   src = fetchFromGitHub {
     owner = "antares-sql";
     repo = "antares";
     rev = "v${version}";
-    hash = "sha256-SYnhrwxoyVw+bwfN1PGMsoul+mTfi8UkiP0fNOvVTBc=";
+    hash = "sha256-7bj0f7JrUgHr2g489ABjNLfRERQFx0foDP0YqBTNkzI=";
   };
 
-  npmDepsHash = "sha256-5khFw8Igu2d5SYLh7OiCpUDMOVH5gAje+VnvoESQboo=";
+  npmDepsHash = "sha256-pRrg7fY5P2awds1ncsnD/lDvKmiOKhzjNcKXKy70bcs=";
 
   buildInputs = [ nodejs ];
 
diff --git a/pkgs/by-name/an/anytype/package.nix b/pkgs/by-name/an/anytype/package.nix
index 85f9135f2c205..5d526ea0725d5 100644
--- a/pkgs/by-name/an/anytype/package.nix
+++ b/pkgs/by-name/an/anytype/package.nix
@@ -2,12 +2,12 @@
 
 let
   pname = "anytype";
-  version = "0.39.0";
+  version = "0.40.2";
   name = "Anytype-${version}";
   src = fetchurl {
     url = "https://github.com/anyproto/anytype-ts/releases/download/v${version}/${name}.AppImage";
     name = "Anytype-${version}.AppImage";
-    hash = "sha256-Sgrgwp8yZGMLq25tHuoQquNjHTEbRPmFqzpMHnjq7oI=";
+    hash = "sha256-RO8rYH0wHPxwey1ICAVK1jURs7b+oxLXRlychgi6c1c=";
   };
   appimageContents = appimageTools.extractType2 { inherit name src; };
 in appimageTools.wrapType2 {
diff --git a/pkgs/by-name/ap/api-linter/package.nix b/pkgs/by-name/ap/api-linter/package.nix
index c3501889915d7..ca82f079395ed 100644
--- a/pkgs/by-name/ap/api-linter/package.nix
+++ b/pkgs/by-name/ap/api-linter/package.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "api-linter";
-  version = "1.65.1";
+  version = "1.65.2";
 
   src = fetchFromGitHub {
     owner = "googleapis";
     repo = "api-linter";
     rev = "v${version}";
-    hash = "sha256-YGawN0mAJHfWkre+0tunPM/psd9aBWtSVsJoar0WVwY=";
+    hash = "sha256-UBGFY6MamoQyzPmjmz6TmeiF8DTXV/Lpl5HFbxMUPE8=";
   };
 
-  vendorHash = "sha256-CsOnHHq3UjNWjfMy1TjXy20B0Bni6Fr3ZMJGvU7QDFA=";
+  vendorHash = "sha256-VPCTyJI02KL6Gn+gdTy36uEbDI71ORrSZnXuWqP0KrM=";
 
   subPackages = [ "cmd/api-linter" ];
 
diff --git a/pkgs/by-name/ar/arc-browser/package.nix b/pkgs/by-name/ar/arc-browser/package.nix
index 4d24e46c05fed..a54c6b85ecb23 100644
--- a/pkgs/by-name/ar/arc-browser/package.nix
+++ b/pkgs/by-name/ar/arc-browser/package.nix
@@ -9,11 +9,11 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "arc-browser";
-  version = "1.38.0-48670";
+  version = "1.40.0-49176";
 
   src = fetchurl {
     url = "https://releases.arc.net/release/Arc-${finalAttrs.version}.dmg";
-    hash = "sha256-6LJEIkr1NA8HHxbLWtd/OTlPPErh05UTjVhjuZVcmTg=";
+    hash = "sha256-SjdlMEhmO00ADWTFR4u9fHKWbbQRAC/UstXIoshgYuA=";
   };
 
   nativeBuildInputs = [ undmg ];
diff --git a/pkgs/by-name/ar/arduino-ide/package.nix b/pkgs/by-name/ar/arduino-ide/package.nix
index 284f3de28a495..68e873fc28652 100644
--- a/pkgs/by-name/ar/arduino-ide/package.nix
+++ b/pkgs/by-name/ar/arduino-ide/package.nix
@@ -18,8 +18,6 @@ appimageTools.wrapType2 {
   inherit pname version src;
 
   extraInstallCommands = ''
-    mv $out/bin/{${pname}-${version},${pname}}
-
     install -Dm444 ${appimageContents}/${pname}.desktop -t $out/share/applications/
     install -Dm444 ${appimageContents}/${pname}.png -t $out/share/pixmaps/
   '';
diff --git a/pkgs/by-name/ar/arrow-cpp/package.nix b/pkgs/by-name/ar/arrow-cpp/package.nix
index 23a2432c824ee..723acbc2531f8 100644
--- a/pkgs/by-name/ar/arrow-cpp/package.nix
+++ b/pkgs/by-name/ar/arrow-cpp/package.nix
@@ -64,26 +64,26 @@ let
     name = "arrow-testing";
     owner = "apache";
     repo = "arrow-testing";
-    rev = "ad82a736c170e97b7c8c035ebd8a801c17eec170";
-    hash = "sha256-wN0dam0ZXOAJ+D8bGDMhsdaV3llI9LsiCXwqW9mR3gQ=";
+    rev = "25d16511e8d42c2744a1d94d90169e3a36e92631";
+    hash = "sha256-fXeWM/8jBfJY7KL6PVfRbzB8i4sp6PHsnMSHCX5kzfI=";
   };
 
   parquet-testing = fetchFromGitHub {
     name = "parquet-testing";
     owner = "apache";
     repo = "parquet-testing";
-    rev = "d69d979223e883faef9dc6fe3cf573087243c28a";
-    hash = "sha256-CUckfNjfDW05crWigzMP5b9UynviXKGZUlIr754OoGU=";
+    rev = "74278bc4a1122d74945969e6dec405abd1533ec3";
+    hash = "sha256-WbpndtAviph6+I/F2bevuMI9DkfSv4SMPgMaP98k6Qo=";
   };
 
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "arrow-cpp";
-  version = "15.0.0";
+  version = "16.0.0";
 
   src = fetchurl {
     url = "mirror://apache/arrow/arrow-${finalAttrs.version}/apache-arrow-${finalAttrs.version}.tar.gz";
-    hash = "sha256-Ad0/cOhdm1uTPsksDbik71BKUQX3jS2GIuhCeftFwl0=";
+    hash = "sha256-n0BRrpRzyXmR2a+AHi+UrjRVBncZyn+QuBN/nppwC40=";
   };
 
   sourceRoot = "apache-arrow-${finalAttrs.version}/cpp";
@@ -116,8 +116,8 @@ stdenv.mkDerivation (finalAttrs: {
   ARROW_SUBSTRAIT_URL = fetchFromGitHub {
     owner = "substrait-io";
     repo = "substrait";
-    rev = "v0.27.0";
-    hash = "sha256-wptEAXembah04pzqAz6UHeUxp+jMf6Lh/IdyuIhy/a8=";
+    rev = "v0.44.0";
+    hash = "sha256-V739IFTGPtbGPlxcOi8sAaYSDhNUEpITvN9IqdPReug=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/as/ast-grep/package.nix b/pkgs/by-name/as/ast-grep/package.nix
index 51cca7486247c..153c144629630 100644
--- a/pkgs/by-name/as/ast-grep/package.nix
+++ b/pkgs/by-name/as/ast-grep/package.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "ast-grep";
-  version = "0.20.5";
+  version = "0.21.1";
 
   src = fetchFromGitHub {
     owner = "ast-grep";
     repo = "ast-grep";
     rev = version;
-    hash = "sha256-pAFxgmoyx8fOKzlf//uv39fEValtOBq66iAPjOCxqjA=";
+    hash = "sha256-hR6DPkApHDlg91O040s+3FL2mEM3FH61pnyCBwwE6tw=";
   };
 
-  cargoHash = "sha256-dh6jFnWzIexvQY8lFbDfUeHfDe/kR9UXbZBepNUCap4=";
+  cargoHash = "sha256-Iqq7F8PCrNhFGvrfbYQn3mdOwiokCmTKCaXjOHvD8V0=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/by-name/at/atac/package.nix b/pkgs/by-name/at/atac/package.nix
index f236413f33841..69ac822d84ee6 100644
--- a/pkgs/by-name/at/atac/package.nix
+++ b/pkgs/by-name/at/atac/package.nix
@@ -9,16 +9,16 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "atac";
-  version = "0.12.0";
+  version = "0.14.0";
 
   src = fetchFromGitHub {
     owner = "Julien-cpsn";
     repo = "ATAC";
     rev = "v${version}";
-    hash = "sha256-yR+w6zrX7XHrK6XGWM7J74XPxGEmy8Gf6guOH/Du6rc=";
+    hash = "sha256-d5qUleQrwWWTIEDj3VvJKpINHpc0rko18if4pv5GonU=";
   };
 
-  cargoHash = "sha256-Ez8d1tb0Xi91e3+U1/LDmj5u/oORQzelEQPFAC96yEI=";
+  cargoHash = "sha256-vlrllbcf5Y9DFwdekAHE5xtGlloKxTExXkp1LySEUK0=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/by-name/au/audiness/package.nix b/pkgs/by-name/au/audiness/package.nix
index 06d3e4c49a947..40dafa76288b8 100644
--- a/pkgs/by-name/au/audiness/package.nix
+++ b/pkgs/by-name/au/audiness/package.nix
@@ -6,17 +6,20 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "audiness";
-  version = "0.3.2";
+  version = "0.4.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "audiusGmbH";
     repo = "audiness";
     rev = "refs/tags/${version}";
-    hash = "sha256-vc2k3oEMTgzm/C6z6BieRrT3cSP0IkY+D3RXkNGaZTE=";
+    hash = "sha256-UJe4ZawjAuUoSKEdIgjh8zZu/amYLZ8rpUDahSHokKA=";
   };
 
-  pythonRelaxDeps = [ "validators" ];
+  pythonRelaxDeps = [
+    "typer"
+    "validators"
+  ];
 
   build-system = with python3.pkgs; [ poetry-core ];
 
diff --git a/pkgs/by-name/ay/ayatana-indicator-datetime/package.nix b/pkgs/by-name/ay/ayatana-indicator-datetime/package.nix
index 9b8419df89053..7888fc3b9ffe4 100644
--- a/pkgs/by-name/ay/ayatana-indicator-datetime/package.nix
+++ b/pkgs/by-name/ay/ayatana-indicator-datetime/package.nix
@@ -1,7 +1,6 @@
 { stdenv
 , lib
 , fetchFromGitHub
-, fetchpatch
 , gitUpdater
 , nixosTests
 , ayatana-indicator-messages
@@ -32,38 +31,20 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "ayatana-indicator-datetime";
-  version = "23.10.1";
+  version = "24.2.0";
 
   src = fetchFromGitHub {
     owner = "AyatanaIndicators";
     repo = "ayatana-indicator-datetime";
     rev = finalAttrs.version;
-    hash = "sha256-cm1zhG9TODGe79n/fGuyVnWL/sjxUc3ZCu9FhqA1NLE=";
+    hash = "sha256-J3Yp7Dx4UvvdlM8Cp1sPe4Ftm/aAmNzpo4re/jF7pRo=";
   };
 
-  patches = [
-    # Fix test-menus building & running
-    # Remove when version > 23.10.1
-    (fetchpatch {
-      name = "0001-ayatana-indicator-datetime-Fix-test-menus-tests.patch";
-      url = "https://github.com/AyatanaIndicators/ayatana-indicator-datetime/commit/ddabb4a61a496da14603573b700c5961a3e5b834.patch";
-      hash = "sha256-vf8aVXonCoTWMuAQZG6FuklWR2IaGY4hecFtoyNCGg8=";
-    })
-
-    # Fix EDS-related tests
-    # Remove when version > 23.10.1
-    (fetchpatch {
-      name = "0002-ayatana-indicator-datetime-Fix-EDS-colour-tests.patch";
-      url = "https://github.com/AyatanaIndicators/ayatana-indicator-datetime/commit/6d67f7b458911833e72e0b4a162b1d823609d6f8.patch";
-      hash = "sha256-VUdMJuma6rmsjUOeyO0W8UNKADODiM+wDVfj6aDhqgw=";
-    })
-  ];
-
   postPatch = ''
-    # Queries systemd user unit dir via pkg_get_variable, can't override prefix
+    # Override systemd prefix
     substituteInPlace data/CMakeLists.txt \
-      --replace-fail 'pkg_get_variable(SYSTEMD_USER_DIR systemd systemduserunitdir)' 'set(SYSTEMD_USER_DIR ''${CMAKE_INSTALL_PREFIX}/lib/systemd/user)' \
-      --replace-fail '/etc' "\''${CMAKE_INSTALL_FULL_SYSCONFDIR}"
+      --replace-fail 'pkg_get_variable(SYSTEMD_USER_DIR systemd systemduserunitdir)' 'pkg_get_variable(SYSTEMD_USER_DIR systemd systemduserunitdir DEFINE_VARIABLES prefix=''${CMAKE_INSTALL_PREFIX})' \
+      --replace-fail 'XDG_AUTOSTART_DIR "/etc' 'XDG_AUTOSTART_DIR "''${CMAKE_INSTALL_FULL_SYSCONFDIR}'
 
     # Looking for Lomiri schemas for code generation
     substituteInPlace src/CMakeLists.txt \
@@ -136,8 +117,8 @@ stdenv.mkDerivation (finalAttrs: {
     ]}
   '';
 
+  # schema is already added automatically by wrapper, EDS needs to be added explicitly
   preFixup = ''
-    # schema is already added automatically by wrapper, EDS needs to be added explicitly
     gappsWrapperArgs+=(
       --prefix XDG_DATA_DIRS : "${edsDataDir}"
     )
diff --git a/pkgs/by-name/be/bee/package.nix b/pkgs/by-name/be/bee/package.nix
index a1f9e469b1efa..1241b0c5a0094 100644
--- a/pkgs/by-name/be/bee/package.nix
+++ b/pkgs/by-name/be/bee/package.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "bee";
-  version = "2.0.0";
+  version = "2.0.1";
 
   src = fetchFromGitHub {
     owner = "ethersphere";
     repo = "bee";
     rev = "v${version}";
-    sha256 = "sha256-gZDmFufk/zBftQe7Ju4rDpZqw0hm2nf9YQg1Oa8540s=";
+    sha256 = "sha256-4Pg8zKhXQwYK7eGH886sErzkdJRD4iCoQ+mLoS7GlZg=";
   };
 
-  vendorHash = "sha256-GpazHMQ8xZ6P7mADvsG3bXxDxEWnCJRIsBwDnL/McZA=";
+  vendorHash = "sha256-YhlUnmJuVejzy1I4+YkNnOPM+AUURr/j3dGdT3J6bVQ=";
 
   subPackages = [ "cmd/bee" ];
 
diff --git a/pkgs/by-name/be/beekeeper-studio/package.nix b/pkgs/by-name/be/beekeeper-studio/package.nix
index ed40f58697cbb..f1ce5135c2aeb 100644
--- a/pkgs/by-name/be/beekeeper-studio/package.nix
+++ b/pkgs/by-name/be/beekeeper-studio/package.nix
@@ -30,7 +30,6 @@ appimageTools.wrapType2 {
   inherit pname version src;
 
   extraInstallCommands = ''
-    mv $out/bin/{${pname}-${version},${pname}}
     source "${makeWrapper}/nix-support/setup-hook"
     wrapProgram $out/bin/${pname} \
       --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
diff --git a/pkgs/by-name/bi/biglybt/package.nix b/pkgs/by-name/bi/biglybt/package.nix
index ad365c14377a3..a4b2d2f1a346e 100644
--- a/pkgs/by-name/bi/biglybt/package.nix
+++ b/pkgs/by-name/bi/biglybt/package.nix
@@ -9,11 +9,11 @@
 
 stdenv.mkDerivation rec {
   pname = "biglybt";
-  version = "3.5.0.0";
+  version = "3.6.0.0";
 
   src = fetchurl {
     url = "https://github.com/BiglySoftware/BiglyBT/releases/download/v${version}/GitHub_BiglyBT_unix.tar.gz";
-    hash = "sha256-ToTCIjunj/ABi3wVSmeddLGBdQlv+CfK2jGRjixJd0w=";
+    hash = "sha256-a7g9sB3orO2m0X7qNwQ1dDygYPhs/b6kX0RDSG8Wq2U=";
   };
 
   nativeBuildInputs = [ wrapGAppsHook ];
diff --git a/pkgs/applications/video/bilibili/default.nix b/pkgs/by-name/bi/bilibili/package.nix
index e460a9037da45..e460a9037da45 100644
--- a/pkgs/applications/video/bilibili/default.nix
+++ b/pkgs/by-name/bi/bilibili/package.nix
diff --git a/pkgs/by-name/bi/bite/Cargo.lock b/pkgs/by-name/bi/bite/Cargo.lock
new file mode 100644
index 0000000000000..a6a1e33f62b95
--- /dev/null
+++ b/pkgs/by-name/bi/bite/Cargo.lock
@@ -0,0 +1,4322 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "ab_glyph"
+version = "0.2.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "80179d7dd5d7e8c285d67c4a1e652972a92de7475beddfb92028c76463b13225"
+dependencies = [
+ "ab_glyph_rasterizer",
+ "owned_ttf_parser",
+]
+
+[[package]]
+name = "ab_glyph_rasterizer"
+version = "0.1.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046"
+
+[[package]]
+name = "accesskit"
+version = "0.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "74a4b14f3d99c1255dcba8f45621ab1a2e7540a0009652d33989005a4d0bfc6b"
+dependencies = [
+ "enumn",
+ "serde",
+]
+
+[[package]]
+name = "adler"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
+
+[[package]]
+name = "ahash"
+version = "0.8.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01"
+dependencies = [
+ "cfg-if",
+ "getrandom",
+ "once_cell",
+ "serde",
+ "version_check",
+ "zerocopy",
+]
+
+[[package]]
+name = "aho-corasick"
+version = "1.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "allocator-api2"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5"
+
+[[package]]
+name = "android-activity"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "39b801912a977c3fd52d80511fe1c0c8480c6f957f21ae2ce1b92ffe970cf4b9"
+dependencies = [
+ "android-properties",
+ "bitflags 2.4.2",
+ "cc",
+ "cesu8",
+ "jni",
+ "jni-sys",
+ "libc 0.2.153",
+ "log 0.4.20",
+ "ndk",
+ "ndk-context",
+ "ndk-sys",
+ "num_enum",
+ "thiserror",
+]
+
+[[package]]
+name = "android-properties"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04"
+
+[[package]]
+name = "android_system_properties"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
+dependencies = [
+ "libc 0.2.153",
+]
+
+[[package]]
+name = "arm"
+version = "0.0.0"
+dependencies = [
+ "bitvec",
+ "debugvault",
+ "decoder",
+ "tokenizing",
+]
+
+[[package]]
+name = "arrayref"
+version = "0.3.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545"
+
+[[package]]
+name = "arrayvec"
+version = "0.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711"
+
+[[package]]
+name = "as-raw-xcb-connection"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b"
+
+[[package]]
+name = "ash"
+version = "0.37.3+1.3.251"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "39e9c3835d686b0a6084ab4234fcd1b07dbf6e4767dce60874b12356a25ecd4a"
+dependencies = [
+ "libloading 0.7.4",
+]
+
+[[package]]
+name = "ashpd"
+version = "0.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dd884d7c72877a94102c3715f3b1cd09ff4fac28221add3e57cfbe25c236d093"
+dependencies = [
+ "async-fs",
+ "async-net",
+ "enumflags2",
+ "futures-channel",
+ "futures-util",
+ "rand",
+ "serde",
+ "serde_repr",
+ "url",
+ "zbus",
+]
+
+[[package]]
+name = "async-broadcast"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "258b52a1aa741b9f09783b2d86cf0aeeb617bbf847f6933340a39644227acbdb"
+dependencies = [
+ "event-listener 5.3.0",
+ "event-listener-strategy 0.5.1",
+ "futures-core",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "async-channel"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f28243a43d821d11341ab73c80bed182dc015c514b951616cf79bd4af39af0c3"
+dependencies = [
+ "concurrent-queue",
+ "event-listener 5.3.0",
+ "event-listener-strategy 0.5.1",
+ "futures-core",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "async-executor"
+version = "1.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "10b3e585719c2358d2660232671ca8ca4ddb4be4ce8a1842d6c2dc8685303316"
+dependencies = [
+ "async-lock 3.3.0",
+ "async-task",
+ "concurrent-queue",
+ "fastrand",
+ "futures-lite",
+ "slab",
+]
+
+[[package]]
+name = "async-fs"
+version = "2.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bc19683171f287921f2405677dd2ed2549c3b3bda697a563ebc3a121ace2aba1"
+dependencies = [
+ "async-lock 3.3.0",
+ "blocking",
+ "futures-lite",
+]
+
+[[package]]
+name = "async-io"
+version = "2.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dcccb0f599cfa2f8ace422d3555572f47424da5648a4382a9dd0310ff8210884"
+dependencies = [
+ "async-lock 3.3.0",
+ "cfg-if",
+ "concurrent-queue",
+ "futures-io",
+ "futures-lite",
+ "parking",
+ "polling",
+ "rustix",
+ "slab",
+ "tracing",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "async-lock"
+version = "2.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b"
+dependencies = [
+ "event-listener 2.5.3",
+]
+
+[[package]]
+name = "async-lock"
+version = "3.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b"
+dependencies = [
+ "event-listener 4.0.3",
+ "event-listener-strategy 0.4.0",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "async-net"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b948000fad4873c1c9339d60f2623323a0cfd3816e5181033c6a5cb68b2accf7"
+dependencies = [
+ "async-io",
+ "blocking",
+ "futures-lite",
+]
+
+[[package]]
+name = "async-process"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d999d925640d51b662b7b4e404224dd81de70f4aa4a199383c2c5e5b86885fa3"
+dependencies = [
+ "async-channel",
+ "async-io",
+ "async-lock 3.3.0",
+ "async-signal",
+ "async-task",
+ "blocking",
+ "cfg-if",
+ "event-listener 5.3.0",
+ "futures-lite",
+ "rustix",
+ "tracing",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "async-recursion"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "30c5ef0ede93efbf733c1a727f3b6b5a1060bbedd5600183e66f6e4be4af0ec5"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "async-signal"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5"
+dependencies = [
+ "async-io",
+ "async-lock 2.8.0",
+ "atomic-waker",
+ "cfg-if",
+ "futures-core",
+ "futures-io",
+ "rustix",
+ "signal-hook-registry",
+ "slab",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "async-task"
+version = "4.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fbb36e985947064623dbd357f727af08ffd077f93d696782f3c56365fa2e2799"
+
+[[package]]
+name = "async-trait"
+version = "0.1.79"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a507401cad91ec6a857ed5513a2073c82a9b9048762b885bb98655b306964681"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "atk"
+version = "0.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b4af014b17dd80e8af9fa689b2d4a211ddba6eb583c1622f35d0cb543f6b17e4"
+dependencies = [
+ "atk-sys",
+ "glib",
+ "libc 0.2.153",
+]
+
+[[package]]
+name = "atk-sys"
+version = "0.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "251e0b7d90e33e0ba930891a505a9a35ece37b2dd37a14f3ffc306c13b980009"
+dependencies = [
+ "glib-sys",
+ "gobject-sys",
+ "libc 0.2.153",
+ "system-deps",
+]
+
+[[package]]
+name = "atomic-waker"
+version = "1.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
+
+[[package]]
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "binformat"
+version = "0.0.0"
+dependencies = [
+ "log 0.0.0",
+ "object",
+ "processor_shared",
+]
+
+[[package]]
+name = "bit-set"
+version = "0.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1"
+dependencies = [
+ "bit-vec",
+]
+
+[[package]]
+name = "bit-vec"
+version = "0.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb"
+
+[[package]]
+name = "bite"
+version = "0.2.1"
+dependencies = [
+ "commands",
+ "debugvault",
+ "gui",
+ "log 0.0.0",
+ "nix 0.26.1",
+ "object",
+ "winres",
+]
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "bitflags"
+version = "2.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "bitvec"
+version = "0.19.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "55f93d0ef3363c364d5976646a38f04cf67cfe1d4c8d160cdea02cab2c116b33"
+dependencies = [
+ "funty",
+ "radium",
+ "tap",
+ "wyz",
+]
+
+[[package]]
+name = "block"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a"
+
+[[package]]
+name = "block-buffer"
+version = "0.10.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
+dependencies = [
+ "generic-array",
+]
+
+[[package]]
+name = "block-sys"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ae85a0696e7ea3b835a453750bf002770776609115e6d25c6d2ff28a8200f7e7"
+dependencies = [
+ "objc-sys",
+]
+
+[[package]]
+name = "block2"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "15b55663a85f33501257357e6421bb33e769d5c9ffb5ba0921c975a123e35e68"
+dependencies = [
+ "block-sys",
+ "objc2",
+]
+
+[[package]]
+name = "blocking"
+version = "1.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118"
+dependencies = [
+ "async-channel",
+ "async-lock 3.3.0",
+ "async-task",
+ "fastrand",
+ "futures-io",
+ "futures-lite",
+ "piper",
+ "tracing",
+]
+
+[[package]]
+name = "bumpalo"
+version = "3.15.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d32a994c2b3ca201d9b263612a374263f05e7adde37c4707f693dcd375076d1f"
+
+[[package]]
+name = "bytemuck"
+version = "1.14.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed2490600f404f2b94c167e31d3ed1d5f3c225a0f3b80230053b3e0b7b962bd9"
+dependencies = [
+ "bytemuck_derive",
+]
+
+[[package]]
+name = "bytemuck_derive"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "965ab7eb5f8f97d2a083c799f3a1b994fc397b2fe2da5d1da1626ce15a39f2b1"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "byteorder"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
+
+[[package]]
+name = "bytes"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
+
+[[package]]
+name = "cairo-rs"
+version = "0.18.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ca26ef0159422fb77631dc9d17b102f253b876fe1586b03b803e63a309b4ee2"
+dependencies = [
+ "bitflags 2.4.2",
+ "cairo-sys-rs",
+ "glib",
+ "libc 0.2.153",
+ "once_cell",
+ "thiserror",
+]
+
+[[package]]
+name = "cairo-sys-rs"
+version = "0.18.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "685c9fa8e590b8b3d678873528d83411db17242a73fccaed827770ea0fedda51"
+dependencies = [
+ "glib-sys",
+ "libc 0.2.153",
+ "system-deps",
+]
+
+[[package]]
+name = "calloop"
+version = "0.12.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fba7adb4dd5aa98e5553510223000e7148f621165ec5f9acd7113f6ca4995298"
+dependencies = [
+ "bitflags 2.4.2",
+ "log 0.4.20",
+ "polling",
+ "rustix",
+ "slab",
+ "thiserror",
+]
+
+[[package]]
+name = "calloop-wayland-source"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0f0ea9b9476c7fad82841a8dbb380e2eae480c21910feba80725b46931ed8f02"
+dependencies = [
+ "calloop",
+ "rustix",
+ "wayland-backend",
+ "wayland-client",
+]
+
+[[package]]
+name = "cc"
+version = "1.0.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
+dependencies = [
+ "jobserver",
+ "libc 0.2.153",
+]
+
+[[package]]
+name = "cesu8"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c"
+
+[[package]]
+name = "cfg-expr"
+version = "0.15.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02"
+dependencies = [
+ "smallvec",
+ "target-lexicon",
+]
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "cfg_aliases"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e"
+
+[[package]]
+name = "clipboard-win"
+version = "3.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9fdf5e01086b6be750428ba4a40619f847eb2e95756eee84b18e06e5f0b50342"
+dependencies = [
+ "lazy-bytes-cast",
+ "winapi",
+]
+
+[[package]]
+name = "cocoa"
+version = "0.25.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f6140449f97a6e97f9511815c5632d84c8aacf8ac271ad77c559218161a1373c"
+dependencies = [
+ "bitflags 1.3.2",
+ "block",
+ "cocoa-foundation",
+ "core-foundation",
+ "core-graphics",
+ "foreign-types",
+ "libc 0.2.153",
+ "objc",
+]
+
+[[package]]
+name = "cocoa-foundation"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8c6234cbb2e4c785b456c0644748b1ac416dd045799740356f8363dfe00c93f7"
+dependencies = [
+ "bitflags 1.3.2",
+ "block",
+ "core-foundation",
+ "core-graphics-types",
+ "libc 0.2.153",
+ "objc",
+]
+
+[[package]]
+name = "codespan-reporting"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e"
+dependencies = [
+ "termcolor",
+ "unicode-width",
+]
+
+[[package]]
+name = "com"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7e17887fd17353b65b1b2ef1c526c83e26cd72e74f598a8dc1bee13a48f3d9f6"
+dependencies = [
+ "com_macros",
+]
+
+[[package]]
+name = "com_macros"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d375883580a668c7481ea6631fc1a8863e33cc335bf56bfad8d7e6d4b04b13a5"
+dependencies = [
+ "com_macros_support",
+ "proc-macro2",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "com_macros_support"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ad899a1087a9296d5644792d7cb72b8e34c1bec8e7d4fbc002230169a6e8710c"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "combine"
+version = "4.6.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4"
+dependencies = [
+ "bytes",
+ "memchr",
+]
+
+[[package]]
+name = "commands"
+version = "0.0.0"
+dependencies = [
+ "debugvault",
+ "dirs",
+ "egui",
+ "log 0.0.0",
+ "once_cell",
+ "serde",
+ "serde_yaml",
+ "triple_accel",
+]
+
+[[package]]
+name = "concurrent-queue"
+version = "2.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363"
+dependencies = [
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "copypasta"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d35364349bf9e9e1c3a035ddcb00d188d23a3c40c50244c03c27a99fc6a65ae"
+dependencies = [
+ "clipboard-win",
+ "objc",
+ "objc-foundation",
+ "objc_id",
+ "smithay-clipboard",
+ "x11-clipboard",
+]
+
+[[package]]
+name = "core-foundation"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f"
+dependencies = [
+ "core-foundation-sys",
+ "libc 0.2.153",
+]
+
+[[package]]
+name = "core-foundation-sys"
+version = "0.8.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
+
+[[package]]
+name = "core-graphics"
+version = "0.23.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "970a29baf4110c26fedbc7f82107d42c23f7e88e404c4577ed73fe99ff85a212"
+dependencies = [
+ "bitflags 1.3.2",
+ "core-foundation",
+ "core-graphics-types",
+ "foreign-types",
+ "libc 0.2.153",
+]
+
+[[package]]
+name = "core-graphics-types"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf"
+dependencies = [
+ "bitflags 1.3.2",
+ "core-foundation",
+ "libc 0.2.153",
+]
+
+[[package]]
+name = "cpufeatures"
+version = "0.2.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504"
+dependencies = [
+ "libc 0.2.153",
+]
+
+[[package]]
+name = "crc"
+version = "3.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "86ec7a15cbe22e59248fc7eadb1907dab5ba09372595da4d73dd805ed4417dfe"
+dependencies = [
+ "crc-catalog",
+]
+
+[[package]]
+name = "crc-catalog"
+version = "2.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5"
+
+[[package]]
+name = "crc32fast"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "crossbeam-channel"
+version = "0.5.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ab3db02a9c5b5121e1e42fbdb1aeb65f5e02624cc58c43f2884c6ccac0b82f95"
+dependencies = [
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-queue"
+version = "0.3.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35"
+dependencies = [
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-utils"
+version = "0.8.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345"
+
+[[package]]
+name = "crypto-common"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
+dependencies = [
+ "generic-array",
+ "typenum",
+]
+
+[[package]]
+name = "cursor-icon"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991"
+
+[[package]]
+name = "d3d12"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3e3d747f100290a1ca24b752186f61f6637e1deffe3bf6320de6fcb29510a307"
+dependencies = [
+ "bitflags 2.4.2",
+ "libloading 0.8.1",
+ "winapi",
+]
+
+[[package]]
+name = "dashmap"
+version = "5.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856"
+dependencies = [
+ "cfg-if",
+ "hashbrown",
+ "lock_api",
+ "once_cell",
+ "parking_lot_core",
+]
+
+[[package]]
+name = "debugvault"
+version = "0.0.0"
+dependencies = [
+ "binformat",
+ "bitflags 2.4.2",
+ "crossbeam-queue",
+ "dashmap",
+ "gimli",
+ "log 0.0.0",
+ "memmap2",
+ "object",
+ "pdb",
+ "processor_shared",
+ "radix_trie",
+ "rustc-hash",
+ "tokenizing",
+ "typed-arena",
+]
+
+[[package]]
+name = "decoder"
+version = "0.0.0"
+dependencies = [
+ "debugvault",
+ "tokenizing",
+]
+
+[[package]]
+name = "derivative"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "derive_more"
+version = "0.99.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "digest"
+version = "0.10.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
+dependencies = [
+ "block-buffer",
+ "crypto-common",
+]
+
+[[package]]
+name = "dirs"
+version = "5.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225"
+dependencies = [
+ "dirs-sys",
+]
+
+[[package]]
+name = "dirs-sys"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c"
+dependencies = [
+ "libc 0.2.153",
+ "option-ext",
+ "redox_users",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "dispatch"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b"
+
+[[package]]
+name = "dlib"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412"
+dependencies = [
+ "libloading 0.8.1",
+]
+
+[[package]]
+name = "downcast-rs"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650"
+
+[[package]]
+name = "dpi"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f25c0e292a7ca6d6498557ff1df68f32c99850012b6ea401cf8daf771f22ff53"
+
+[[package]]
+name = "ecolor"
+version = "0.27.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "20930a432bbd57a6d55e07976089708d4893f3d556cf42a0d79e9e321fa73b10"
+dependencies = [
+ "bytemuck",
+ "serde",
+]
+
+[[package]]
+name = "egui"
+version = "0.27.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "584c5d1bf9a67b25778a3323af222dbe1a1feb532190e103901187f92c7fe29a"
+dependencies = [
+ "accesskit",
+ "ahash",
+ "epaint",
+ "nohash-hasher",
+ "serde",
+]
+
+[[package]]
+name = "egui_tiles"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0e2c0ff99daddcbdc54b141dbb7be3b014463da48a03ebc801bf63e500b23d75"
+dependencies = [
+ "ahash",
+ "egui",
+ "itertools",
+ "log 0.4.20",
+ "serde",
+]
+
+[[package]]
+name = "either"
+version = "1.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2"
+
+[[package]]
+name = "emath"
+version = "0.27.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e4c3a552cfca14630702449d35f41c84a0d15963273771c6059175a803620f3f"
+dependencies = [
+ "bytemuck",
+ "serde",
+]
+
+[[package]]
+name = "endi"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a3d8a32ae18130a3c84dd492d4215c3d913c3b07c6b63c2eb3eb7ff1101ab7bf"
+
+[[package]]
+name = "endian-type"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d"
+
+[[package]]
+name = "enumflags2"
+version = "0.7.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3278c9d5fb675e0a51dabcf4c0d355f692b064171535ba72361be1528a9d8e8d"
+dependencies = [
+ "enumflags2_derive",
+ "serde",
+]
+
+[[package]]
+name = "enumflags2_derive"
+version = "0.7.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c785274071b1b420972453b306eeca06acf4633829db4223b58a2a8c5953bc4"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "enumn"
+version = "0.1.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6fd000fd6988e73bbe993ea3db9b1aa64906ab88766d654973924340c8cddb42"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "epaint"
+version = "0.27.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b381f8b149657a4acf837095351839f32cd5c4aec1817fc4df84e18d76334176"
+dependencies = [
+ "ab_glyph",
+ "ahash",
+ "bytemuck",
+ "ecolor",
+ "emath",
+ "nohash-hasher",
+ "parking_lot",
+ "serde",
+]
+
+[[package]]
+name = "equivalent"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
+
+[[package]]
+name = "errno"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
+dependencies = [
+ "libc 0.2.153",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "event-listener"
+version = "2.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
+
+[[package]]
+name = "event-listener"
+version = "4.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e"
+dependencies = [
+ "concurrent-queue",
+ "parking",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "event-listener"
+version = "5.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d9944b8ca13534cdfb2800775f8dd4902ff3fc75a50101466decadfdf322a24"
+dependencies = [
+ "concurrent-queue",
+ "parking",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "event-listener-strategy"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3"
+dependencies = [
+ "event-listener 4.0.3",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "event-listener-strategy"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "332f51cb23d20b0de8458b86580878211da09bcd4503cb579c225b3d124cabb3"
+dependencies = [
+ "event-listener 5.3.0",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "fallible-iterator"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7"
+
+[[package]]
+name = "fallible-iterator"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649"
+
+[[package]]
+name = "fastrand"
+version = "2.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "658bd65b1cf4c852a3cc96f18a8ce7b5640f6b703f905c7d74532294c2a63984"
+
+[[package]]
+name = "fdeflate"
+version = "0.3.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4f9bfee30e4dedf0ab8b422f03af778d9612b63f502710fc500a334ebe2de645"
+dependencies = [
+ "simd-adler32",
+]
+
+[[package]]
+name = "field-offset"
+version = "0.3.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f"
+dependencies = [
+ "memoffset 0.9.1",
+ "rustc_version",
+]
+
+[[package]]
+name = "flate2"
+version = "1.0.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e"
+dependencies = [
+ "crc32fast",
+ "miniz_oxide",
+]
+
+[[package]]
+name = "foreign-types"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965"
+dependencies = [
+ "foreign-types-macros",
+ "foreign-types-shared",
+]
+
+[[package]]
+name = "foreign-types-macros"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "foreign-types-shared"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b"
+
+[[package]]
+name = "form_urlencoded"
+version = "1.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
+dependencies = [
+ "percent-encoding",
+]
+
+[[package]]
+name = "funty"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7"
+
+[[package]]
+name = "futures-channel"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78"
+dependencies = [
+ "futures-core",
+]
+
+[[package]]
+name = "futures-core"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d"
+
+[[package]]
+name = "futures-executor"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d"
+dependencies = [
+ "futures-core",
+ "futures-task",
+ "futures-util",
+]
+
+[[package]]
+name = "futures-io"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1"
+
+[[package]]
+name = "futures-lite"
+version = "2.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5"
+dependencies = [
+ "fastrand",
+ "futures-core",
+ "futures-io",
+ "parking",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "futures-macro"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "futures-sink"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5"
+
+[[package]]
+name = "futures-task"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004"
+
+[[package]]
+name = "futures-util"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48"
+dependencies = [
+ "futures-core",
+ "futures-io",
+ "futures-macro",
+ "futures-sink",
+ "futures-task",
+ "memchr",
+ "pin-project-lite",
+ "pin-utils",
+ "slab",
+]
+
+[[package]]
+name = "gdk"
+version = "0.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f5ba081bdef3b75ebcdbfc953699ed2d7417d6bd853347a42a37d76406a33646"
+dependencies = [
+ "cairo-rs",
+ "gdk-pixbuf",
+ "gdk-sys",
+ "gio",
+ "glib",
+ "libc 0.2.153",
+ "pango",
+]
+
+[[package]]
+name = "gdk-pixbuf"
+version = "0.18.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "50e1f5f1b0bfb830d6ccc8066d18db35c487b1b2b1e8589b5dfe9f07e8defaec"
+dependencies = [
+ "gdk-pixbuf-sys",
+ "gio",
+ "glib",
+ "libc 0.2.153",
+ "once_cell",
+]
+
+[[package]]
+name = "gdk-pixbuf-sys"
+version = "0.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f9839ea644ed9c97a34d129ad56d38a25e6756f99f3a88e15cd39c20629caf7"
+dependencies = [
+ "gio-sys",
+ "glib-sys",
+ "gobject-sys",
+ "libc 0.2.153",
+ "system-deps",
+]
+
+[[package]]
+name = "gdk-sys"
+version = "0.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "31ff856cb3386dae1703a920f803abafcc580e9b5f711ca62ed1620c25b51ff2"
+dependencies = [
+ "cairo-sys-rs",
+ "gdk-pixbuf-sys",
+ "gio-sys",
+ "glib-sys",
+ "gobject-sys",
+ "libc 0.2.153",
+ "pango-sys",
+ "pkg-config",
+ "system-deps",
+]
+
+[[package]]
+name = "generic-array"
+version = "0.14.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
+dependencies = [
+ "typenum",
+ "version_check",
+]
+
+[[package]]
+name = "gethostname"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bb65d4ba3173c56a500b555b532f72c42e8d1fe64962b518897f8959fae2c177"
+dependencies = [
+ "libc 0.2.153",
+ "winapi",
+]
+
+[[package]]
+name = "gethostname"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818"
+dependencies = [
+ "libc 0.2.153",
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "getrandom"
+version = "0.2.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
+dependencies = [
+ "cfg-if",
+ "libc 0.2.153",
+ "wasi",
+]
+
+[[package]]
+name = "gimli"
+version = "0.28.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
+dependencies = [
+ "fallible-iterator 0.3.0",
+ "indexmap",
+ "stable_deref_trait",
+]
+
+[[package]]
+name = "gio"
+version = "0.18.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d4fc8f532f87b79cbc51a79748f16a6828fb784be93145a322fa14d06d354c73"
+dependencies = [
+ "futures-channel",
+ "futures-core",
+ "futures-io",
+ "futures-util",
+ "gio-sys",
+ "glib",
+ "libc 0.2.153",
+ "once_cell",
+ "pin-project-lite",
+ "smallvec",
+ "thiserror",
+]
+
+[[package]]
+name = "gio-sys"
+version = "0.18.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "37566df850baf5e4cb0dfb78af2e4b9898d817ed9263d1090a2df958c64737d2"
+dependencies = [
+ "glib-sys",
+ "gobject-sys",
+ "libc 0.2.153",
+ "system-deps",
+ "winapi",
+]
+
+[[package]]
+name = "gl_generator"
+version = "0.14.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a95dfc23a2b4a9a2f5ab41d194f8bfda3cabec42af4e39f08c339eb2a0c124d"
+dependencies = [
+ "khronos_api",
+ "log 0.4.20",
+ "xml-rs",
+]
+
+[[package]]
+name = "glib"
+version = "0.18.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "233daaf6e83ae6a12a52055f568f9d7cf4671dabb78ff9560ab6da230ce00ee5"
+dependencies = [
+ "bitflags 2.4.2",
+ "futures-channel",
+ "futures-core",
+ "futures-executor",
+ "futures-task",
+ "futures-util",
+ "gio-sys",
+ "glib-macros",
+ "glib-sys",
+ "gobject-sys",
+ "libc 0.2.153",
+ "memchr",
+ "once_cell",
+ "smallvec",
+ "thiserror",
+]
+
+[[package]]
+name = "glib-macros"
+version = "0.18.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0bb0228f477c0900c880fd78c8759b95c7636dbd7842707f49e132378aa2acdc"
+dependencies = [
+ "heck 0.4.1",
+ "proc-macro-crate 2.0.0",
+ "proc-macro-error",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "glib-sys"
+version = "0.18.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "063ce2eb6a8d0ea93d2bf8ba1957e78dbab6be1c2220dd3daca57d5a9d869898"
+dependencies = [
+ "libc 0.2.153",
+ "system-deps",
+]
+
+[[package]]
+name = "glow"
+version = "0.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bd348e04c43b32574f2de31c8bb397d96c9fcfa1371bd4ca6d8bdc464ab121b1"
+dependencies = [
+ "js-sys",
+ "slotmap",
+ "wasm-bindgen",
+ "web-sys",
+]
+
+[[package]]
+name = "glutin_wgl_sys"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c8098adac955faa2d31079b65dc48841251f69efd3ac25477903fc424362ead"
+dependencies = [
+ "gl_generator",
+]
+
+[[package]]
+name = "gobject-sys"
+version = "0.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0850127b514d1c4a4654ead6dedadb18198999985908e6ffe4436f53c785ce44"
+dependencies = [
+ "glib-sys",
+ "libc 0.2.153",
+ "system-deps",
+]
+
+[[package]]
+name = "gpu-alloc"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171"
+dependencies = [
+ "bitflags 2.4.2",
+ "gpu-alloc-types",
+]
+
+[[package]]
+name = "gpu-alloc-types"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4"
+dependencies = [
+ "bitflags 2.4.2",
+]
+
+[[package]]
+name = "gpu-allocator"
+version = "0.25.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6f56f6318968d03c18e1bcf4857ff88c61157e9da8e47c5f29055d60e1228884"
+dependencies = [
+ "log 0.4.20",
+ "presser",
+ "thiserror",
+ "winapi",
+ "windows",
+]
+
+[[package]]
+name = "gpu-descriptor"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cc11df1ace8e7e564511f53af41f3e42ddc95b56fd07b3f4445d2a6048bc682c"
+dependencies = [
+ "bitflags 2.4.2",
+ "gpu-descriptor-types",
+ "hashbrown",
+]
+
+[[package]]
+name = "gpu-descriptor-types"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6bf0b36e6f090b7e1d8a4b49c0cb81c1f8376f72198c65dd3ad9ff3556b8b78c"
+dependencies = [
+ "bitflags 2.4.2",
+]
+
+[[package]]
+name = "gtk"
+version = "0.18.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "93c4f5e0e20b60e10631a5f06da7fe3dda744b05ad0ea71fee2f47adf865890c"
+dependencies = [
+ "atk",
+ "cairo-rs",
+ "field-offset",
+ "futures-channel",
+ "gdk",
+ "gdk-pixbuf",
+ "gio",
+ "glib",
+ "gtk-sys",
+ "gtk3-macros",
+ "libc 0.2.153",
+ "pango",
+ "pkg-config",
+]
+
+[[package]]
+name = "gtk-sys"
+version = "0.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "771437bf1de2c1c0b496c11505bdf748e26066bbe942dfc8f614c9460f6d7722"
+dependencies = [
+ "atk-sys",
+ "cairo-sys-rs",
+ "gdk-pixbuf-sys",
+ "gdk-sys",
+ "gio-sys",
+ "glib-sys",
+ "gobject-sys",
+ "libc 0.2.153",
+ "pango-sys",
+ "system-deps",
+]
+
+[[package]]
+name = "gtk3-macros"
+version = "0.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c6063efb63db582968fb7df72e1ae68aa6360dcfb0a75143f34fc7d616bad75e"
+dependencies = [
+ "proc-macro-crate 1.3.1",
+ "proc-macro-error",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "gui"
+version = "0.0.0"
+dependencies = [
+ "bytemuck",
+ "cc",
+ "commands",
+ "copypasta",
+ "crossbeam-queue",
+ "debugvault",
+ "dirs",
+ "egui",
+ "egui_tiles",
+ "infinite_scroll",
+ "log 0.0.0",
+ "muda",
+ "once_cell",
+ "png",
+ "pollster",
+ "processor",
+ "processor_shared",
+ "rfd",
+ "tokenizing",
+ "tree-sitter",
+ "tree-sitter-c",
+ "tree-sitter-cpp",
+ "tree-sitter-highlight",
+ "tree-sitter-rust",
+ "wgpu",
+ "winit",
+]
+
+[[package]]
+name = "hashbrown"
+version = "0.14.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
+dependencies = [
+ "ahash",
+ "allocator-api2",
+]
+
+[[package]]
+name = "hassle-rs"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "af2a7e73e1f34c48da31fb668a907f250794837e08faa144fd24f0b8b741e890"
+dependencies = [
+ "bitflags 2.4.2",
+ "com",
+ "libc 0.2.153",
+ "libloading 0.8.1",
+ "thiserror",
+ "widestring",
+ "winapi",
+]
+
+[[package]]
+name = "heck"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
+
+[[package]]
+name = "heck"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
+
+[[package]]
+name = "hex"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
+
+[[package]]
+name = "hexf-parse"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df"
+
+[[package]]
+name = "icrate"
+version = "0.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "99d3aaff8a54577104bafdf686ff18565c3b6903ca5782a2026ef06e2c7aa319"
+dependencies = [
+ "block2",
+ "dispatch",
+ "objc2",
+]
+
+[[package]]
+name = "idna"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
+dependencies = [
+ "unicode-bidi",
+ "unicode-normalization",
+]
+
+[[package]]
+name = "indexmap"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "433de089bd45971eecf4668ee0ee8f4cec17db4f8bd8f7bc3197a6ce37aa7d9b"
+dependencies = [
+ "equivalent",
+ "hashbrown",
+]
+
+[[package]]
+name = "infinite_scroll"
+version = "0.0.0"
+dependencies = [
+ "egui",
+]
+
+[[package]]
+name = "itertools"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"
+dependencies = [
+ "either",
+]
+
+[[package]]
+name = "itoa"
+version = "1.0.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
+
+[[package]]
+name = "jni"
+version = "0.21.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97"
+dependencies = [
+ "cesu8",
+ "cfg-if",
+ "combine",
+ "jni-sys",
+ "log 0.4.20",
+ "thiserror",
+ "walkdir",
+ "windows-sys 0.45.0",
+]
+
+[[package]]
+name = "jni-sys"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130"
+
+[[package]]
+name = "jobserver"
+version = "0.1.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d"
+dependencies = [
+ "libc 0.2.153",
+]
+
+[[package]]
+name = "js-sys"
+version = "0.3.67"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a1d36f1235bc969acba30b7f5990b864423a6068a10f7c90ae8f0112e3a59d1"
+dependencies = [
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "keyboard-types"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b750dcadc39a09dbadd74e118f6dd6598df77fa01df0cfcdc52c28dece74528a"
+dependencies = [
+ "bitflags 2.4.2",
+ "serde",
+ "unicode-segmentation",
+]
+
+[[package]]
+name = "khronos-egl"
+version = "6.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6aae1df220ece3c0ada96b8153459b67eebe9ae9212258bb0134ae60416fdf76"
+dependencies = [
+ "libc 0.2.153",
+ "libloading 0.8.1",
+ "pkg-config",
+]
+
+[[package]]
+name = "khronos_api"
+version = "3.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc"
+
+[[package]]
+name = "lazy-bytes-cast"
+version = "5.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "10257499f089cd156ad82d0a9cd57d9501fa2c989068992a97eb3c27836f206b"
+
+[[package]]
+name = "libc"
+version = "0.2.140"
+source = "git+https://github.com/rust-lang/libc?rev=60bf6d7fa9d561820ea562751ee455ccf67d3015#60bf6d7fa9d561820ea562751ee455ccf67d3015"
+
+[[package]]
+name = "libc"
+version = "0.2.153"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
+
+[[package]]
+name = "libloading"
+version = "0.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f"
+dependencies = [
+ "cfg-if",
+ "winapi",
+]
+
+[[package]]
+name = "libloading"
+version = "0.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161"
+dependencies = [
+ "cfg-if",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "libredox"
+version = "0.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8"
+dependencies = [
+ "bitflags 2.4.2",
+ "libc 0.2.153",
+ "redox_syscall 0.4.1",
+]
+
+[[package]]
+name = "libredox"
+version = "0.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3af92c55d7d839293953fcd0fda5ecfe93297cfde6ffbdec13b41d99c0ba6607"
+dependencies = [
+ "bitflags 2.4.2",
+ "libc 0.2.153",
+ "redox_syscall 0.4.1",
+]
+
+[[package]]
+name = "libxdo"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "00333b8756a3d28e78def82067a377de7fa61b24909000aeaa2b446a948d14db"
+dependencies = [
+ "libxdo-sys",
+]
+
+[[package]]
+name = "libxdo-sys"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "db23b9e7e2b7831bbd8aac0bbeeeb7b68cbebc162b227e7052e8e55829a09212"
+dependencies = [
+ "libc 0.2.153",
+ "x11",
+]
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.4.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
+
+[[package]]
+name = "lock_api"
+version = "0.4.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
+dependencies = [
+ "autocfg",
+ "scopeguard",
+]
+
+[[package]]
+name = "log"
+version = "0.0.0"
+dependencies = [
+ "egui",
+ "rfd",
+]
+
+[[package]]
+name = "log"
+version = "0.4.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
+
+[[package]]
+name = "malloc_buf"
+version = "0.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb"
+dependencies = [
+ "libc 0.2.153",
+]
+
+[[package]]
+name = "memchr"
+version = "2.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
+
+[[package]]
+name = "memmap2"
+version = "0.9.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "45fd3a57831bf88bc63f8cebc0cf956116276e97fef3966103e96416209f7c92"
+dependencies = [
+ "libc 0.2.153",
+]
+
+[[package]]
+name = "memoffset"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "memoffset"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "memoffset"
+version = "0.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "metal"
+version = "0.27.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c43f73953f8cbe511f021b58f18c3ce1c3d1ae13fe953293e13345bf83217f25"
+dependencies = [
+ "bitflags 2.4.2",
+ "block",
+ "core-graphics-types",
+ "foreign-types",
+ "log 0.4.20",
+ "objc",
+ "paste",
+]
+
+[[package]]
+name = "miniz_oxide"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
+dependencies = [
+ "adler",
+ "simd-adler32",
+]
+
+[[package]]
+name = "mips"
+version = "0.0.0"
+dependencies = [
+ "debugvault",
+ "decoder",
+ "tokenizing",
+]
+
+[[package]]
+name = "muda"
+version = "0.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f428b4e9db3d17e2f809dfb1ff9ddfbbf16c71790d1656d10aee320877e1392f"
+dependencies = [
+ "cocoa",
+ "crossbeam-channel",
+ "dpi",
+ "gtk",
+ "keyboard-types",
+ "libxdo",
+ "objc",
+ "once_cell",
+ "png",
+ "thiserror",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "naga"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8878eb410fc90853da3908aebfe61d73d26d4437ef850b70050461f939509899"
+dependencies = [
+ "bit-set",
+ "bitflags 2.4.2",
+ "codespan-reporting",
+ "hexf-parse",
+ "indexmap",
+ "log 0.4.20",
+ "num-traits",
+ "rustc-hash",
+ "spirv",
+ "termcolor",
+ "thiserror",
+ "unicode-xid",
+]
+
+[[package]]
+name = "ndk"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2076a31b7010b17a38c01907c45b945e8f11495ee4dd588309718901b1f7a5b7"
+dependencies = [
+ "bitflags 2.4.2",
+ "jni-sys",
+ "log 0.4.20",
+ "ndk-sys",
+ "num_enum",
+ "raw-window-handle",
+ "thiserror",
+]
+
+[[package]]
+name = "ndk-context"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b"
+
+[[package]]
+name = "ndk-sys"
+version = "0.5.0+25.2.9519653"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8c196769dd60fd4f363e11d948139556a344e79d451aeb2fa2fd040738ef7691"
+dependencies = [
+ "jni-sys",
+]
+
+[[package]]
+name = "nibble_vec"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77a5d83df9f36fe23f0c3648c6bbb8b0298bb5f1939c8f2704431371f4b84d43"
+dependencies = [
+ "smallvec",
+]
+
+[[package]]
+name = "nix"
+version = "0.26.1"
+source = "git+https://github.com/mbyzhang/nix#ac97b9fcd53b4713d0c9da34ee4dcba16fd1c457"
+dependencies = [
+ "bitflags 1.3.2",
+ "cfg-if",
+ "libc 0.2.140",
+ "memoffset 0.8.0",
+ "pin-utils",
+ "static_assertions",
+]
+
+[[package]]
+name = "nix"
+version = "0.26.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b"
+dependencies = [
+ "bitflags 1.3.2",
+ "cfg-if",
+ "libc 0.2.153",
+ "memoffset 0.7.1",
+]
+
+[[package]]
+name = "nix"
+version = "0.28.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4"
+dependencies = [
+ "bitflags 2.4.2",
+ "cfg-if",
+ "cfg_aliases",
+ "libc 0.2.153",
+ "memoffset 0.9.1",
+]
+
+[[package]]
+name = "nohash-hasher"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451"
+
+[[package]]
+name = "num-traits"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "num_enum"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845"
+dependencies = [
+ "num_enum_derive",
+]
+
+[[package]]
+name = "num_enum_derive"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b"
+dependencies = [
+ "proc-macro-crate 3.1.0",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "objc"
+version = "0.2.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1"
+dependencies = [
+ "malloc_buf",
+ "objc_exception",
+]
+
+[[package]]
+name = "objc-foundation"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9"
+dependencies = [
+ "block",
+ "objc",
+ "objc_id",
+]
+
+[[package]]
+name = "objc-sys"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c7c71324e4180d0899963fc83d9d241ac39e699609fc1025a850aadac8257459"
+
+[[package]]
+name = "objc2"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "559c5a40fdd30eb5e344fbceacf7595a81e242529fb4e21cf5f43fb4f11ff98d"
+dependencies = [
+ "objc-sys",
+ "objc2-encode",
+]
+
+[[package]]
+name = "objc2-encode"
+version = "3.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d079845b37af429bfe5dfa76e6d087d788031045b25cfc6fd898486fd9847666"
+
+[[package]]
+name = "objc_exception"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ad970fb455818ad6cba4c122ad012fae53ae8b4795f86378bce65e4f6bab2ca4"
+dependencies = [
+ "cc",
+]
+
+[[package]]
+name = "objc_id"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b"
+dependencies = [
+ "objc",
+]
+
+[[package]]
+name = "object"
+version = "0.32.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441"
+dependencies = [
+ "flate2",
+ "memchr",
+ "ruzstd",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
+
+[[package]]
+name = "option-ext"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
+
+[[package]]
+name = "orbclient"
+version = "0.3.47"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "52f0d54bde9774d3a51dcf281a5def240c71996bc6ca05d2c847ec8b2b216166"
+dependencies = [
+ "libredox 0.0.2",
+]
+
+[[package]]
+name = "ordered-stream"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9aa2b01e1d916879f73a53d01d1d6cee68adbb31d6d9177a8cfce093cced1d50"
+dependencies = [
+ "futures-core",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "owned_ttf_parser"
+version = "0.20.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d4586edfe4c648c71797a74c84bacb32b52b212eff5dfe2bb9f2c599844023e7"
+dependencies = [
+ "ttf-parser",
+]
+
+[[package]]
+name = "pango"
+version = "0.18.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7ca27ec1eb0457ab26f3036ea52229edbdb74dee1edd29063f5b9b010e7ebee4"
+dependencies = [
+ "gio",
+ "glib",
+ "libc 0.2.153",
+ "once_cell",
+ "pango-sys",
+]
+
+[[package]]
+name = "pango-sys"
+version = "0.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "436737e391a843e5933d6d9aa102cb126d501e815b83601365a948a518555dc5"
+dependencies = [
+ "glib-sys",
+ "gobject-sys",
+ "libc 0.2.153",
+ "system-deps",
+]
+
+[[package]]
+name = "parking"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae"
+
+[[package]]
+name = "parking_lot"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
+dependencies = [
+ "lock_api",
+ "parking_lot_core",
+]
+
+[[package]]
+name = "parking_lot_core"
+version = "0.9.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
+dependencies = [
+ "cfg-if",
+ "libc 0.2.153",
+ "redox_syscall 0.4.1",
+ "smallvec",
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "paste"
+version = "1.0.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
+
+[[package]]
+name = "pdb"
+version = "0.8.0"
+source = "git+https://github.com/WINSDK/pdb-rs#c51a01dc6b8d41afcbb6ed3df5ee2ec4ddec401e"
+dependencies = [
+ "fallible-iterator 0.2.0",
+ "scroll",
+ "uuid",
+]
+
+[[package]]
+name = "percent-encoding"
+version = "2.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
+
+[[package]]
+name = "pin-project-lite"
+version = "0.2.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
+
+[[package]]
+name = "pin-utils"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
+
+[[package]]
+name = "piper"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4"
+dependencies = [
+ "atomic-waker",
+ "fastrand",
+ "futures-io",
+]
+
+[[package]]
+name = "pkg-config"
+version = "0.3.29"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2900ede94e305130c13ddd391e0ab7cbaeb783945ae07a279c268cb05109c6cb"
+
+[[package]]
+name = "png"
+version = "0.17.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1f6c3c3e617595665b8ea2ff95a86066be38fb121ff920a9c0eb282abcd1da5a"
+dependencies = [
+ "bitflags 1.3.2",
+ "crc32fast",
+ "fdeflate",
+ "flate2",
+ "miniz_oxide",
+]
+
+[[package]]
+name = "polling"
+version = "3.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "545c980a3880efd47b2e262f6a4bb6daad6555cf3367aa9c4e52895f69537a41"
+dependencies = [
+ "cfg-if",
+ "concurrent-queue",
+ "pin-project-lite",
+ "rustix",
+ "tracing",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "pollster"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "22686f4785f02a4fcc856d3b3bb19bf6c8160d103f7a99cc258bddd0251dc7f2"
+
+[[package]]
+name = "ppv-lite86"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+
+[[package]]
+name = "presser"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e8cf8e6a8aa66ce33f63993ffc4ea4271eb5b0530a9002db8455ea6050c77bfa"
+
+[[package]]
+name = "proc-macro-crate"
+version = "1.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919"
+dependencies = [
+ "once_cell",
+ "toml_edit 0.19.15",
+]
+
+[[package]]
+name = "proc-macro-crate"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7e8366a6159044a37876a2b9817124296703c586a5c92e2c53751fa06d8d43e8"
+dependencies = [
+ "toml_edit 0.20.7",
+]
+
+[[package]]
+name = "proc-macro-crate"
+version = "3.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284"
+dependencies = [
+ "toml_edit 0.21.0",
+]
+
+[[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 1.0.109",
+ "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.78"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "processor"
+version = "0.0.0"
+dependencies = [
+ "arm",
+ "binformat",
+ "commands",
+ "debugvault",
+ "decoder",
+ "log 0.0.0",
+ "memmap2",
+ "mips",
+ "object",
+ "processor_shared",
+ "riscv",
+ "tokenizing",
+ "x86_64",
+]
+
+[[package]]
+name = "processor_shared"
+version = "0.0.0"
+dependencies = [
+ "object",
+]
+
+[[package]]
+name = "profiling"
+version = "1.0.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d135ede8821cf6376eb7a64148901e1690b788c11ae94dc297ae917dbc91dc0e"
+
+[[package]]
+name = "quick-xml"
+version = "0.30.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eff6510e86862b57b210fd8cbe8ed3f0d7d600b9c2863cd4549a2e033c66e956"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.35"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "radium"
+version = "0.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "941ba9d78d8e2f7ce474c015eea4d9c6d25b6a3327f9832ee29a4de27f91bbb8"
+
+[[package]]
+name = "radix_trie"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c069c179fcdc6a2fe24d8d18305cf085fdbd4f922c041943e203685d6a1c58fd"
+dependencies = [
+ "endian-type",
+ "nibble_vec",
+]
+
+[[package]]
+name = "rand"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
+dependencies = [
+ "libc 0.2.153",
+ "rand_chacha",
+ "rand_core",
+]
+
+[[package]]
+name = "rand_chacha"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
+dependencies = [
+ "ppv-lite86",
+ "rand_core",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
+dependencies = [
+ "getrandom",
+]
+
+[[package]]
+name = "range-alloc"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c8a99fddc9f0ba0a85884b8d14e3592853e787d581ca1816c91349b10e4eeab"
+
+[[package]]
+name = "raw-window-handle"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "42a9830a0e1b9fb145ebb365b8bc4ccd75f290f98c0247deafbbe2c75cefb544"
+
+[[package]]
+name = "redox_syscall"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
+dependencies = [
+ "bitflags 1.3.2",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
+dependencies = [
+ "bitflags 1.3.2",
+]
+
+[[package]]
+name = "redox_users"
+version = "0.4.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4"
+dependencies = [
+ "getrandom",
+ "libredox 0.0.1",
+ "thiserror",
+]
+
+[[package]]
+name = "regex"
+version = "1.10.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-automata",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.4.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3b7fa1134405e2ec9353fd416b17f8dacd46c473d7d3fd1cf202706a14eb792a"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
+
+[[package]]
+name = "renderdoc-sys"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "216080ab382b992234dda86873c18d4c48358f5cfcb70fd693d7f6f2131b628b"
+
+[[package]]
+name = "rfd"
+version = "0.14.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "25a73a7337fc24366edfca76ec521f51877b114e42dab584008209cca6719251"
+dependencies = [
+ "ashpd",
+ "block",
+ "dispatch",
+ "js-sys",
+ "log 0.4.20",
+ "objc",
+ "objc-foundation",
+ "objc_id",
+ "pollster",
+ "raw-window-handle",
+ "urlencoding",
+ "wasm-bindgen",
+ "wasm-bindgen-futures",
+ "web-sys",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "riscv"
+version = "0.0.0"
+dependencies = [
+ "crc",
+ "debugvault",
+ "decoder",
+ "object",
+ "once_cell",
+ "tokenizing",
+]
+
+[[package]]
+name = "rustc-hash"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
+
+[[package]]
+name = "rustc_version"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
+dependencies = [
+ "semver",
+]
+
+[[package]]
+name = "rustix"
+version = "0.38.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "322394588aaf33c24007e8bb3238ee3e4c5c09c084ab32bc73890b99ff326bca"
+dependencies = [
+ "bitflags 2.4.2",
+ "errno",
+ "libc 0.2.153",
+ "linux-raw-sys",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "ruzstd"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "58c4eb8a81997cf040a091d1f7e1938aeab6749d3a0dfa73af43cdc32393483d"
+dependencies = [
+ "byteorder",
+ "derive_more",
+ "twox-hash",
+]
+
+[[package]]
+name = "ryu"
+version = "1.0.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c"
+
+[[package]]
+name = "same-file"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
+dependencies = [
+ "winapi-util",
+]
+
+[[package]]
+name = "scoped-tls"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294"
+
+[[package]]
+name = "scopeguard"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
+
+[[package]]
+name = "scroll"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "04c565b551bafbef4157586fa379538366e4385d42082f255bfd96e4fe8519da"
+
+[[package]]
+name = "sctk-adwaita"
+version = "0.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "82b2eaf3a5b264a521b988b2e73042e742df700c4f962cde845d1541adb46550"
+dependencies = [
+ "ab_glyph",
+ "log 0.4.20",
+ "memmap2",
+ "smithay-client-toolkit",
+ "tiny-skia",
+]
+
+[[package]]
+name = "semver"
+version = "1.0.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca"
+
+[[package]]
+name = "serde"
+version = "1.0.195"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "63261df402c67811e9ac6def069e4786148c4563f4b50fd4bf30aa370d626b02"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.195"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "46fe8f8603d81ba86327b23a2e9cdf49e1255fb94a4c5f297f6ee0547178ea2c"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "serde_repr"
+version = "0.1.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b2e6b945e9d3df726b65d6ee24060aff8e3533d431f677a9695db04eff9dfdb"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "serde_spanned"
+version = "0.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "serde_yaml"
+version = "0.9.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1bf28c79a99f70ee1f1d83d10c875d2e70618417fda01ad1785e027579d9d38"
+dependencies = [
+ "indexmap",
+ "itoa",
+ "ryu",
+ "serde",
+ "unsafe-libyaml",
+]
+
+[[package]]
+name = "sha1"
+version = "0.10.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba"
+dependencies = [
+ "cfg-if",
+ "cpufeatures",
+ "digest",
+]
+
+[[package]]
+name = "signal-hook-registry"
+version = "1.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1"
+dependencies = [
+ "libc 0.2.153",
+]
+
+[[package]]
+name = "simd-adler32"
+version = "0.3.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe"
+
+[[package]]
+name = "slab"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "slotmap"
+version = "1.0.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a"
+dependencies = [
+ "version_check",
+]
+
+[[package]]
+name = "smallvec"
+version = "1.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
+
+[[package]]
+name = "smithay-client-toolkit"
+version = "0.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "60e3d9941fa3bacf7c2bf4b065304faa14164151254cd16ce1b1bc8fc381600f"
+dependencies = [
+ "bitflags 2.4.2",
+ "calloop",
+ "calloop-wayland-source",
+ "cursor-icon",
+ "libc 0.2.153",
+ "log 0.4.20",
+ "memmap2",
+ "rustix",
+ "thiserror",
+ "wayland-backend",
+ "wayland-client",
+ "wayland-csd-frame",
+ "wayland-cursor",
+ "wayland-protocols",
+ "wayland-protocols-wlr",
+ "wayland-scanner",
+ "xkeysym",
+]
+
+[[package]]
+name = "smithay-clipboard"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0bb62b280ce5a5cba847669933a0948d00904cf83845c944eae96a4738cea1a6"
+dependencies = [
+ "libc 0.2.153",
+ "smithay-client-toolkit",
+ "wayland-backend",
+]
+
+[[package]]
+name = "smol_str"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6845563ada680337a52d43bb0b29f396f2d911616f6573012645b9e3d048a49"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "spirv"
+version = "0.3.0+sdk-1.3.268.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eda41003dc44290527a59b13432d4a0379379fa074b70174882adfbdfd917844"
+dependencies = [
+ "bitflags 2.4.2",
+]
+
+[[package]]
+name = "stable_deref_trait"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
+
+[[package]]
+name = "static_assertions"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
+
+[[package]]
+name = "strict-num"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731"
+
+[[package]]
+name = "syn"
+version = "1.0.109"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "syn"
+version = "2.0.48"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "system-deps"
+version = "6.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a3e535eb8dded36d55ec13eddacd30dec501792ff23a0b1682c38601b8cf2349"
+dependencies = [
+ "cfg-expr",
+ "heck 0.5.0",
+ "pkg-config",
+ "toml 0.8.12",
+ "version-compare",
+]
+
+[[package]]
+name = "tap"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
+
+[[package]]
+name = "target-lexicon"
+version = "0.12.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f"
+
+[[package]]
+name = "tempfile"
+version = "3.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa"
+dependencies = [
+ "cfg-if",
+ "fastrand",
+ "redox_syscall 0.4.1",
+ "rustix",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "termcolor"
+version = "1.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
+dependencies = [
+ "winapi-util",
+]
+
+[[package]]
+name = "thiserror"
+version = "1.0.56"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.56"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "tiny-skia"
+version = "0.11.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b6a067b809476893fce6a254cf285850ff69c847e6cfbade6a20b655b6c7e80d"
+dependencies = [
+ "arrayref",
+ "arrayvec",
+ "bytemuck",
+ "cfg-if",
+ "log 0.4.20",
+ "tiny-skia-path",
+]
+
+[[package]]
+name = "tiny-skia-path"
+version = "0.11.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5de35e8a90052baaaf61f171680ac2f8e925a1e43ea9d2e3a00514772250e541"
+dependencies = [
+ "arrayref",
+ "bytemuck",
+ "strict-num",
+]
+
+[[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.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
+
+[[package]]
+name = "tokenizing"
+version = "0.0.0"
+dependencies = [
+ "egui",
+]
+
+[[package]]
+name = "toml"
+version = "0.5.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "toml"
+version = "0.8.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e9dd1545e8208b4a5af1aa9bbd0b4cf7e9ea08fabc5d0a5c67fcaafa17433aa3"
+dependencies = [
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "toml_edit 0.22.9",
+]
+
+[[package]]
+name = "toml_datetime"
+version = "0.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "toml_edit"
+version = "0.19.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
+dependencies = [
+ "indexmap",
+ "toml_datetime",
+ "winnow 0.5.34",
+]
+
+[[package]]
+name = "toml_edit"
+version = "0.20.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81"
+dependencies = [
+ "indexmap",
+ "toml_datetime",
+ "winnow 0.5.34",
+]
+
+[[package]]
+name = "toml_edit"
+version = "0.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03"
+dependencies = [
+ "indexmap",
+ "toml_datetime",
+ "winnow 0.5.34",
+]
+
+[[package]]
+name = "toml_edit"
+version = "0.22.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e40bb779c5187258fd7aad0eb68cb8706a0a81fa712fbea808ab43c4b8374c4"
+dependencies = [
+ "indexmap",
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "winnow 0.6.6",
+]
+
+[[package]]
+name = "tracing"
+version = "0.1.40"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
+dependencies = [
+ "pin-project-lite",
+ "tracing-attributes",
+ "tracing-core",
+]
+
+[[package]]
+name = "tracing-attributes"
+version = "0.1.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "tracing-core"
+version = "0.1.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
+dependencies = [
+ "once_cell",
+]
+
+[[package]]
+name = "tree-sitter"
+version = "0.20.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e747b1f9b7b931ed39a548c1fae149101497de3c1fc8d9e18c62c1a66c683d3d"
+dependencies = [
+ "cc",
+ "regex",
+]
+
+[[package]]
+name = "tree-sitter-c"
+version = "0.21.0"
+source = "git+https://github.com/WINSDK/tree-sitter-c#32b7cab7dfbfe7c7877c6ec4bda40557e170399c"
+dependencies = [
+ "cc",
+ "tree-sitter",
+]
+
+[[package]]
+name = "tree-sitter-cpp"
+version = "0.21.0"
+source = "git+https://github.com/WINSDK/tree-sitter-cpp#ef9677b8aca6a5dbdf39437406add13b86ccc70e"
+dependencies = [
+ "cc",
+ "tree-sitter",
+]
+
+[[package]]
+name = "tree-sitter-highlight"
+version = "0.20.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "042342584c5a7a0b833d9fc4e2bdab3f9868ddc6c4b339a1e01451c6720868bc"
+dependencies = [
+ "regex",
+ "thiserror",
+ "tree-sitter",
+]
+
+[[package]]
+name = "tree-sitter-rust"
+version = "0.21.0"
+source = "git+https://github.com/WINSDK/tree-sitter-rust#ce8a251e40c696a0d95784720c2cc6a85873645d"
+dependencies = [
+ "cc",
+ "tree-sitter",
+]
+
+[[package]]
+name = "triple_accel"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "22048bc95dfb2ffd05b1ff9a756290a009224b60b2f0e7525faeee7603851e63"
+
+[[package]]
+name = "ttf-parser"
+version = "0.20.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "17f77d76d837a7830fe1d4f12b7b4ba4192c1888001c7164257e4bc6d21d96b4"
+
+[[package]]
+name = "twox-hash"
+version = "1.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675"
+dependencies = [
+ "cfg-if",
+ "static_assertions",
+]
+
+[[package]]
+name = "typed-arena"
+version = "2.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a"
+
+[[package]]
+name = "typenum"
+version = "1.17.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
+
+[[package]]
+name = "uds_windows"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9"
+dependencies = [
+ "memoffset 0.9.1",
+ "tempfile",
+ "winapi",
+]
+
+[[package]]
+name = "unicode-bidi"
+version = "0.3.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75"
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
+
+[[package]]
+name = "unicode-normalization"
+version = "0.1.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5"
+dependencies = [
+ "tinyvec",
+]
+
+[[package]]
+name = "unicode-segmentation"
+version = "1.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
+
+[[package]]
+name = "unicode-width"
+version = "0.1.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"
+
+[[package]]
+name = "unicode-xid"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
+
+[[package]]
+name = "unsafe-libyaml"
+version = "0.2.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ab4c90930b95a82d00dc9e9ac071b4991924390d46cbd0dfe566148667605e4b"
+
+[[package]]
+name = "url"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
+dependencies = [
+ "form_urlencoded",
+ "idna",
+ "percent-encoding",
+ "serde",
+]
+
+[[package]]
+name = "urlencoding"
+version = "2.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da"
+
+[[package]]
+name = "uuid"
+version = "1.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f00cc9702ca12d3c81455259621e676d0f7251cec66a21e98fe2e9a37db93b2a"
+
+[[package]]
+name = "version-compare"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "852e951cb7832cb45cb1169900d19760cfa39b82bc0ea9c0e5a14ae88411c98b"
+
+[[package]]
+name = "version_check"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
+
+[[package]]
+name = "walkdir"
+version = "2.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee"
+dependencies = [
+ "same-file",
+ "winapi-util",
+]
+
+[[package]]
+name = "wasi"
+version = "0.11.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+
+[[package]]
+name = "wasm-bindgen"
+version = "0.2.90"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1223296a201415c7fad14792dbefaace9bd52b62d33453ade1c5b5f07555406"
+dependencies = [
+ "cfg-if",
+ "wasm-bindgen-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.90"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fcdc935b63408d58a32f8cc9738a0bffd8f05cc7c002086c6ef20b7312ad9dcd"
+dependencies = [
+ "bumpalo",
+ "log 0.4.20",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-futures"
+version = "0.4.40"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bde2032aeb86bdfaecc8b261eef3cba735cc426c1f3a3416d1e0791be95fc461"
+dependencies = [
+ "cfg-if",
+ "js-sys",
+ "wasm-bindgen",
+ "web-sys",
+]
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.90"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3e4c238561b2d428924c49815533a8b9121c664599558a5d9ec51f8a1740a999"
+dependencies = [
+ "quote",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.90"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bae1abb6806dc1ad9e560ed242107c0f6c84335f1749dd4e8ddb012ebd5e25a7"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.90"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4d91413b1c31d7539ba5ef2451af3f0b833a005eb27a631cec32bc0635a8602b"
+
+[[package]]
+name = "wayland-backend"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "19152ddd73f45f024ed4534d9ca2594e0ef252c1847695255dae47f34df9fbe4"
+dependencies = [
+ "cc",
+ "downcast-rs",
+ "nix 0.26.4",
+ "scoped-tls",
+ "smallvec",
+ "wayland-sys",
+]
+
+[[package]]
+name = "wayland-client"
+version = "0.31.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1ca7d52347346f5473bf2f56705f360e8440873052e575e55890c4fa57843ed3"
+dependencies = [
+ "bitflags 2.4.2",
+ "nix 0.26.4",
+ "wayland-backend",
+ "wayland-scanner",
+]
+
+[[package]]
+name = "wayland-csd-frame"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e"
+dependencies = [
+ "bitflags 2.4.2",
+ "cursor-icon",
+ "wayland-backend",
+]
+
+[[package]]
+name = "wayland-cursor"
+version = "0.31.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a44aa20ae986659d6c77d64d808a046996a932aa763913864dc40c359ef7ad5b"
+dependencies = [
+ "nix 0.26.4",
+ "wayland-client",
+ "xcursor",
+]
+
+[[package]]
+name = "wayland-protocols"
+version = "0.31.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e253d7107ba913923dc253967f35e8561a3c65f914543e46843c88ddd729e21c"
+dependencies = [
+ "bitflags 2.4.2",
+ "wayland-backend",
+ "wayland-client",
+ "wayland-scanner",
+]
+
+[[package]]
+name = "wayland-protocols-plasma"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "23803551115ff9ea9bce586860c5c5a971e360825a0309264102a9495a5ff479"
+dependencies = [
+ "bitflags 2.4.2",
+ "wayland-backend",
+ "wayland-client",
+ "wayland-protocols",
+ "wayland-scanner",
+]
+
+[[package]]
+name = "wayland-protocols-wlr"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ad1f61b76b6c2d8742e10f9ba5c3737f6530b4c243132c2a2ccc8aa96fe25cd6"
+dependencies = [
+ "bitflags 2.4.2",
+ "wayland-backend",
+ "wayland-client",
+ "wayland-protocols",
+ "wayland-scanner",
+]
+
+[[package]]
+name = "wayland-scanner"
+version = "0.31.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fb8e28403665c9f9513202b7e1ed71ec56fde5c107816843fb14057910b2c09c"
+dependencies = [
+ "proc-macro2",
+ "quick-xml",
+ "quote",
+]
+
+[[package]]
+name = "wayland-sys"
+version = "0.31.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "15a0c8eaff5216d07f226cb7a549159267f3467b289d9a2e52fd3ef5aae2b7af"
+dependencies = [
+ "dlib",
+ "log 0.4.20",
+ "once_cell",
+ "pkg-config",
+]
+
+[[package]]
+name = "web-sys"
+version = "0.3.67"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "58cd2333b6e0be7a39605f0e255892fd7418a682d8da8fe042fe25128794d2ed"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "web-time"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aa30049b1c872b72c89866d458eae9f20380ab280ffd1b1e18df2d3e2d98cfe0"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "wgpu"
+version = "0.19.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0bfe9a310dcf2e6b85f00c46059aaeaf4184caa8e29a1ecd4b7a704c3482332d"
+dependencies = [
+ "arrayvec",
+ "cfg-if",
+ "cfg_aliases",
+ "js-sys",
+ "log 0.4.20",
+ "naga",
+ "parking_lot",
+ "profiling",
+ "raw-window-handle",
+ "smallvec",
+ "static_assertions",
+ "wasm-bindgen",
+ "wasm-bindgen-futures",
+ "web-sys",
+ "wgpu-core",
+ "wgpu-hal",
+ "wgpu-types",
+]
+
+[[package]]
+name = "wgpu-core"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6b15e451d4060ada0d99a64df44e4d590213496da7c4f245572d51071e8e30ed"
+dependencies = [
+ "arrayvec",
+ "bit-vec",
+ "bitflags 2.4.2",
+ "cfg_aliases",
+ "codespan-reporting",
+ "indexmap",
+ "log 0.4.20",
+ "naga",
+ "once_cell",
+ "parking_lot",
+ "profiling",
+ "raw-window-handle",
+ "rustc-hash",
+ "smallvec",
+ "thiserror",
+ "web-sys",
+ "wgpu-hal",
+ "wgpu-types",
+]
+
+[[package]]
+name = "wgpu-hal"
+version = "0.19.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3bb47856236bfafc0bc591a925eb036ac19cd987624a447ff353e7a7e7e6f72"
+dependencies = [
+ "android_system_properties",
+ "arrayvec",
+ "ash",
+ "bit-set",
+ "bitflags 2.4.2",
+ "block",
+ "cfg_aliases",
+ "core-graphics-types",
+ "d3d12",
+ "glow",
+ "glutin_wgl_sys",
+ "gpu-alloc",
+ "gpu-allocator",
+ "gpu-descriptor",
+ "hassle-rs",
+ "js-sys",
+ "khronos-egl",
+ "libc 0.2.153",
+ "libloading 0.8.1",
+ "log 0.4.20",
+ "metal",
+ "naga",
+ "objc",
+ "once_cell",
+ "parking_lot",
+ "profiling",
+ "range-alloc",
+ "raw-window-handle",
+ "renderdoc-sys",
+ "rustc-hash",
+ "smallvec",
+ "thiserror",
+ "wasm-bindgen",
+ "web-sys",
+ "wgpu-types",
+ "winapi",
+]
+
+[[package]]
+name = "wgpu-types"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "895fcbeb772bfb049eb80b2d6e47f6c9af235284e9703c96fc0218a42ffd5af2"
+dependencies = [
+ "bitflags 2.4.2",
+ "js-sys",
+ "web-sys",
+]
+
+[[package]]
+name = "widestring"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "653f141f39ec16bba3c5abe400a0c60da7468261cc2cbf36805022876bc721a8"
+
+[[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.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
+name = "winapi-wsapoll"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44c17110f57155602a80dca10be03852116403c9ff3cd25b079d666f2aa3df6e"
+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"
+
+[[package]]
+name = "windows"
+version = "0.51.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca229916c5ee38c2f2bc1e9d8f04df975b4bd93f9955dc69fabb5d91270045c9"
+dependencies = [
+ "windows-core",
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "windows-core"
+version = "0.51.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64"
+dependencies = [
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.45.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
+dependencies = [
+ "windows-targets 0.42.2",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
+dependencies = [
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets 0.52.0",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
+dependencies = [
+ "windows_aarch64_gnullvm 0.42.2",
+ "windows_aarch64_msvc 0.42.2",
+ "windows_i686_gnu 0.42.2",
+ "windows_i686_msvc 0.42.2",
+ "windows_x86_64_gnu 0.42.2",
+ "windows_x86_64_gnullvm 0.42.2",
+ "windows_x86_64_msvc 0.42.2",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
+dependencies = [
+ "windows_aarch64_gnullvm 0.48.5",
+ "windows_aarch64_msvc 0.48.5",
+ "windows_i686_gnu 0.48.5",
+ "windows_i686_msvc 0.48.5",
+ "windows_x86_64_gnu 0.48.5",
+ "windows_x86_64_gnullvm 0.48.5",
+ "windows_x86_64_msvc 0.48.5",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
+dependencies = [
+ "windows_aarch64_gnullvm 0.52.0",
+ "windows_aarch64_msvc 0.52.0",
+ "windows_i686_gnu 0.52.0",
+ "windows_i686_msvc 0.52.0",
+ "windows_x86_64_gnu 0.52.0",
+ "windows_x86_64_gnullvm 0.52.0",
+ "windows_x86_64_msvc 0.52.0",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
+
+[[package]]
+name = "winit"
+version = "0.29.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c824f11941eeae66ec71111cc2674373c772f482b58939bb4066b642aa2ffcf"
+dependencies = [
+ "ahash",
+ "android-activity",
+ "atomic-waker",
+ "bitflags 2.4.2",
+ "bytemuck",
+ "calloop",
+ "cfg_aliases",
+ "core-foundation",
+ "core-graphics",
+ "cursor-icon",
+ "icrate",
+ "js-sys",
+ "libc 0.2.153",
+ "log 0.4.20",
+ "memmap2",
+ "ndk",
+ "ndk-sys",
+ "objc2",
+ "once_cell",
+ "orbclient",
+ "percent-encoding",
+ "raw-window-handle",
+ "redox_syscall 0.3.5",
+ "rustix",
+ "sctk-adwaita",
+ "smithay-client-toolkit",
+ "smol_str",
+ "unicode-segmentation",
+ "wasm-bindgen",
+ "wasm-bindgen-futures",
+ "wayland-backend",
+ "wayland-client",
+ "wayland-protocols",
+ "wayland-protocols-plasma",
+ "web-sys",
+ "web-time",
+ "windows-sys 0.48.0",
+ "x11-dl",
+ "x11rb 0.13.0",
+ "xkbcommon-dl",
+]
+
+[[package]]
+name = "winnow"
+version = "0.5.34"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b7cf47b659b318dccbd69cc4797a39ae128f533dce7902a1096044d1967b9c16"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "winnow"
+version = "0.6.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f0c976aaaa0e1f90dbb21e9587cdaf1d9679a1cde8875c0d6bd83ab96a208352"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "winres"
+version = "0.1.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b68db261ef59e9e52806f688020631e987592bd83619edccda9c47d42cde4f6c"
+dependencies = [
+ "toml 0.5.11",
+]
+
+[[package]]
+name = "wyz"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85e60b0d1b5f99db2556934e21937020776a5d31520bf169e851ac44e6420214"
+
+[[package]]
+name = "x11"
+version = "2.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "502da5464ccd04011667b11c435cb992822c2c0dbde1770c988480d312a0db2e"
+dependencies = [
+ "libc 0.2.153",
+ "pkg-config",
+]
+
+[[package]]
+name = "x11-clipboard"
+version = "0.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b41aca1115b1f195f21c541c5efb423470848d48143127d0f07f8b90c27440df"
+dependencies = [
+ "x11rb 0.12.0",
+]
+
+[[package]]
+name = "x11-dl"
+version = "2.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f"
+dependencies = [
+ "libc 0.2.153",
+ "once_cell",
+ "pkg-config",
+]
+
+[[package]]
+name = "x11rb"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1641b26d4dec61337c35a1b1aaf9e3cba8f46f0b43636c609ab0291a648040a"
+dependencies = [
+ "gethostname 0.3.0",
+ "nix 0.26.4",
+ "winapi",
+ "winapi-wsapoll",
+ "x11rb-protocol 0.12.0",
+]
+
+[[package]]
+name = "x11rb"
+version = "0.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f8f25ead8c7e4cba123243a6367da5d3990e0d3affa708ea19dce96356bd9f1a"
+dependencies = [
+ "as-raw-xcb-connection",
+ "gethostname 0.4.3",
+ "libc 0.2.153",
+ "libloading 0.8.1",
+ "once_cell",
+ "rustix",
+ "x11rb-protocol 0.13.0",
+]
+
+[[package]]
+name = "x11rb-protocol"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "82d6c3f9a0fb6701fab8f6cea9b0c0bd5d6876f1f89f7fada07e558077c344bc"
+dependencies = [
+ "nix 0.26.4",
+]
+
+[[package]]
+name = "x11rb-protocol"
+version = "0.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e63e71c4b8bd9ffec2c963173a4dc4cbde9ee96961d4fcb4429db9929b606c34"
+
+[[package]]
+name = "x86_64"
+version = "0.0.0"
+dependencies = [
+ "debugvault",
+ "decoder",
+ "tokenizing",
+]
+
+[[package]]
+name = "xcursor"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a0ccd7b4a5345edfcd0c3535718a4e9ff7798ffc536bb5b5a0e26ff84732911"
+
+[[package]]
+name = "xdg-home"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "21e5a325c3cb8398ad6cf859c1135b25dd29e186679cf2da7581d9679f63b38e"
+dependencies = [
+ "libc 0.2.153",
+ "winapi",
+]
+
+[[package]]
+name = "xkbcommon-dl"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6924668544c48c0133152e7eec86d644a056ca3d09275eb8d5cdb9855f9d8699"
+dependencies = [
+ "bitflags 2.4.2",
+ "dlib",
+ "log 0.4.20",
+ "once_cell",
+ "xkeysym",
+]
+
+[[package]]
+name = "xkeysym"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "054a8e68b76250b253f671d1268cb7f1ae089ec35e195b2efb2a4e9a836d0621"
+
+[[package]]
+name = "xml-rs"
+version = "0.8.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0fcb9cbac069e033553e8bb871be2fbdffcab578eb25bd0f7c508cedc6dcd75a"
+
+[[package]]
+name = "zbus"
+version = "4.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c9ff46f2a25abd690ed072054733e0bc3157e3d4c45f41bd183dce09c2ff8ab9"
+dependencies = [
+ "async-broadcast",
+ "async-executor",
+ "async-fs",
+ "async-io",
+ "async-lock 3.3.0",
+ "async-process",
+ "async-recursion",
+ "async-task",
+ "async-trait",
+ "blocking",
+ "derivative",
+ "enumflags2",
+ "event-listener 5.3.0",
+ "futures-core",
+ "futures-sink",
+ "futures-util",
+ "hex",
+ "nix 0.28.0",
+ "ordered-stream",
+ "rand",
+ "serde",
+ "serde_repr",
+ "sha1",
+ "static_assertions",
+ "tracing",
+ "uds_windows",
+ "windows-sys 0.52.0",
+ "xdg-home",
+ "zbus_macros",
+ "zbus_names",
+ "zvariant",
+]
+
+[[package]]
+name = "zbus_macros"
+version = "4.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4e0e3852c93dcdb49c9462afe67a2a468f7bd464150d866e861eaf06208633e0"
+dependencies = [
+ "proc-macro-crate 3.1.0",
+ "proc-macro2",
+ "quote",
+ "regex",
+ "syn 1.0.109",
+ "zvariant_utils",
+]
+
+[[package]]
+name = "zbus_names"
+version = "3.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4b9b1fef7d021261cc16cba64c351d291b715febe0fa10dc3a443ac5a5022e6c"
+dependencies = [
+ "serde",
+ "static_assertions",
+ "zvariant",
+]
+
+[[package]]
+name = "zerocopy"
+version = "0.7.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be"
+dependencies = [
+ "zerocopy-derive",
+]
+
+[[package]]
+name = "zerocopy-derive"
+version = "0.7.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "zvariant"
+version = "4.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2c1b3ca6db667bfada0f1ebfc94b2b1759ba25472ee5373d4551bb892616389a"
+dependencies = [
+ "endi",
+ "enumflags2",
+ "serde",
+ "static_assertions",
+ "url",
+ "zvariant_derive",
+]
+
+[[package]]
+name = "zvariant_derive"
+version = "4.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b7a4b236063316163b69039f77ce3117accb41a09567fd24c168e43491e521bc"
+dependencies = [
+ "proc-macro-crate 3.1.0",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+ "zvariant_utils",
+]
+
+[[package]]
+name = "zvariant_utils"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "00bedb16a193cc12451873fee2a1bc6550225acece0e36f333e68326c73c8172"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
diff --git a/pkgs/by-name/bi/bite/package.nix b/pkgs/by-name/bi/bite/package.nix
new file mode 100644
index 0000000000000..de072e33d4702
--- /dev/null
+++ b/pkgs/by-name/bi/bite/package.nix
@@ -0,0 +1,110 @@
+{
+  lib,
+  rustPlatform,
+  fetchFromGitHub,
+  pkg-config,
+  makeBinaryWrapper,
+  copyDesktopItems,
+  makeDesktopItem,
+  imagemagick,
+  atk,
+  cairo,
+  gdk-pixbuf,
+  glib,
+  gtk3,
+  libxkbcommon,
+  pango,
+  vulkan-loader,
+  stdenv,
+  darwin,
+  wayland,
+}:
+rustPlatform.buildRustPackage rec {
+  pname = "bite";
+  version = "0.2.1";
+
+  src = fetchFromGitHub {
+    owner = "WINSDK";
+    repo = "bite";
+    rev = "V${version}";
+    hash = "sha256-A5NII5pLnM4BBy2L+ylXU0anqw4DpKgXmc29fcTq2z8=";
+  };
+
+  cargoLock = {
+    lockFile = ./Cargo.lock;
+    outputHashes = {
+      "libc-0.2.140" = "sha256-5cP25BDfkrybiZjmwmzeqd0nzdItFdNSZ4te7FdLpnk=";
+      "nix-0.26.1" = "sha256-AsOX8sLGHJNJhq0P9WDxWsNiRXgZJl15paTcGdPMQXA=";
+      "pdb-0.8.0" = "sha256-CEglHzBpS3rN7+05tS09FbBcOM0jjyvR+DWrEbvRYwE=";
+      "tree-sitter-c-0.21.0" = "sha256-7L3Ua6LBeX2492RTikKYeCNIG5e5XSrCu4UyXX1eQiI=";
+      "tree-sitter-cpp-0.21.0" = "sha256-WZy3S8+bRkpzUFpnLVp18rY5DxN70fdEPYIYx0UqJhs=";
+      "tree-sitter-rust-0.21.0" = "sha256-kZT4Hil7u4GFWImuQCt9nQJ+HL3B5yHD5wjalpDLlSE=";
+    };
+  };
+
+  nativeBuildInputs = [
+    pkg-config
+    makeBinaryWrapper
+    copyDesktopItems
+    imagemagick
+  ];
+
+  buildInputs =
+    [
+      atk
+      cairo
+      gdk-pixbuf
+      glib
+      gtk3
+      libxkbcommon
+      pango
+      vulkan-loader
+    ]
+    ++ lib.optionals stdenv.isDarwin [
+      darwin.apple_sdk.frameworks.AppKit
+      darwin.apple_sdk.frameworks.CoreGraphics
+      darwin.apple_sdk.frameworks.Foundation
+      darwin.apple_sdk.frameworks.Metal
+      darwin.apple_sdk.frameworks.QuartzCore
+    ]
+    ++ lib.optionals stdenv.isLinux [
+      wayland
+    ];
+
+  runtimeDependencies =
+    [
+      libxkbcommon
+      vulkan-loader
+    ]
+    ++ lib.optionals stdenv.isLinux [
+      wayland
+    ];
+
+  postInstall = ''
+    wrapProgram $out/bin/bite \
+      --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath runtimeDependencies}"
+
+    mkdir -p $out/share/icons/hicolor/64x64/apps
+    convert $src/assets/iconx64.png -background black -alpha remove -alpha off $out/share/icons/hicolor/64x64/apps/bite.png
+  '';
+
+  desktopItems = [
+    (makeDesktopItem {
+      name = "BiTE";
+      exec = meta.mainProgram;
+      icon = "bite";
+      desktopName = "BiTE";
+      comment = meta.description;
+      categories = ["Development" "Utility"];
+    })
+  ];
+
+  meta = with lib; {
+    description = "Disassembler focused on comprehensive rust support";
+    homepage = "https://github.com/WINSDK/bite";
+    license = licenses.mit;
+    maintainers = with maintainers; [vinnymeller];
+    mainProgram = "bite";
+    broken = stdenv.isDarwin && stdenv.isx86_64;
+  };
+}
diff --git a/pkgs/by-name/bl/bluetuith/package.nix b/pkgs/by-name/bl/bluetuith/package.nix
index 42d32dc7893e5..43445a88d0a51 100644
--- a/pkgs/by-name/bl/bluetuith/package.nix
+++ b/pkgs/by-name/bl/bluetuith/package.nix
@@ -41,6 +41,6 @@ buildGoModule rec {
     license = licenses.mit;
     platforms = platforms.linux;
     mainProgram = "bluetuith";
-    maintainers = with maintainers; [ thehedgeh0g katexochen ];
+    maintainers = with maintainers; [ pyrox0 katexochen ];
   };
 }
diff --git a/pkgs/by-name/bn/bngblaster/package.nix b/pkgs/by-name/bn/bngblaster/package.nix
index 6bf7ecea4d08b..ae8b4c19d6df7 100644
--- a/pkgs/by-name/bn/bngblaster/package.nix
+++ b/pkgs/by-name/bn/bngblaster/package.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "bngblaster";
-  version = "0.8.47";
+  version = "0.8.49";
 
   src = fetchFromGitHub {
     owner = "rtbrick";
     repo = "bngblaster";
     rev = finalAttrs.version;
-    hash = "sha256-ad2vVBXN5hUCaFnq4WYc7UTKvyLg4HY+l+PGlc5ylmw=";
+    hash = "sha256-ZxFC8ZGcheYWmbqaZJYkqQkxn8F3RGjCsCNeQWnLKv0=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/by-name/bp/bpftop/package.nix b/pkgs/by-name/bp/bpftop/package.nix
index fed58a24f649e..9dc4f4df19711 100644
--- a/pkgs/by-name/bp/bpftop/package.nix
+++ b/pkgs/by-name/bp/bpftop/package.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "bpftop";
-  version = "0.4.1";
+  version = "0.4.2";
 
   src = fetchFromGitHub {
     owner = "Netflix";
     repo = "bpftop";
     rev = "v${version}";
-    hash = "sha256-OLPebPzb2FKiV1Gc8HTK3sXU2UDMyhFA/XLix/lWxgU=";
+    hash = "sha256-zYCv3L+xDFAJ4Wo9xwfHJrqPQUv5KiFDbhCdC1Z6qNo=";
   };
 
-  cargoHash = "sha256-UYCbNECsos71cwwE5avtaijPaPGhLEU7J9i84wPkObI=";
+  cargoHash = "sha256-6uPfMxjSrSGrAgJcvzTY/i1ckoW/wIi7D5noOafCvZE=";
 
   buildInputs = [
     elfutils
diff --git a/pkgs/by-name/br/bruno/package.nix b/pkgs/by-name/br/bruno/package.nix
index ea91392eeacc3..9f9d962743d75 100644
--- a/pkgs/by-name/br/bruno/package.nix
+++ b/pkgs/by-name/br/bruno/package.nix
@@ -27,20 +27,20 @@ let
 in
 buildNpmPackage' rec {
   pname = "bruno";
-  version = "1.14.0";
+  version = "1.16.0";
 
   src = fetchFromGitHub {
     owner = "usebruno";
     repo = "bruno";
     rev = "v${version}";
-    hash = "sha256-kUvDtqv3Tdnntr4Ny5pM406KA5++AHsCoAiPg4x4Rsw=";
+    hash = "sha256-nhs44W7cOREdULdXFNZpFGeeZeVTGUffKOBhtL4zAaw=";
 
     postFetch = ''
       ${lib.getExe npm-lockfile-fix} $out/package-lock.json
     '';
   };
 
-  npmDepsHash = "sha256-VvUpAdF4ouy695om3qpsyrmiMf69OFgfpQyeZArQEDs=";
+  npmDepsHash = "sha256-p4rBEOK9zKGO1q3SCKpfdX3EPMkYHRvn9UnGBhsksSE=";
   npmFlags = [ "--legacy-peer-deps" ];
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/misc/btrfs-assistant/default.nix b/pkgs/by-name/bt/btrfs-assistant/package.nix
index d3bdc74980228..d3bdc74980228 100644
--- a/pkgs/tools/misc/btrfs-assistant/default.nix
+++ b/pkgs/by-name/bt/btrfs-assistant/package.nix
diff --git a/pkgs/by-name/bu/butt/package.nix b/pkgs/by-name/bu/butt/package.nix
index 6f2e7729797c7..86ca8145d12da 100644
--- a/pkgs/by-name/bu/butt/package.nix
+++ b/pkgs/by-name/bu/butt/package.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, fetchurl, pkg-config, fltk13, portaudio, lame, libvorbis, libogg
-, flac, libopus, libsamplerate, fdk_aac, dbus, openssl, curl }:
+, flac, libopus, libsamplerate, fdk_aac, dbus, openssl, curl, portmidi }:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "butt";
-  version = "0.1.40";
+  version = "0.1.41";
 
   src = fetchurl {
     url = "https://danielnoethen.de/butt/release/${finalAttrs.version}/butt-${finalAttrs.version}.tar.gz";
-    hash = "sha256-wag177UIQ6YpBkJ5XQlxYtTdBFFNO5q+BLD/CiUkGoA=";
+    hash = "sha256-wTypjqd2PpmDSA8vScMLkAL44xE/WAccm747PS9ClVA=";
   };
 
   postPatch = ''
@@ -31,6 +31,7 @@ stdenv.mkDerivation (finalAttrs: {
     dbus
     openssl
     curl
+    portmidi
   ];
 
   postInstall = ''
@@ -45,5 +46,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = lib.licenses.gpl2;
     maintainers = with lib.maintainers; [ ehmry ];
     mainProgram = "butt";
+    platforms = lib.platforms.linux;
   };
 })
diff --git a/pkgs/by-name/ca/caido/package.nix b/pkgs/by-name/ca/caido/package.nix
index 9c930f0afc6cb..13dacc99a4135 100644
--- a/pkgs/by-name/ca/caido/package.nix
+++ b/pkgs/by-name/ca/caido/package.nix
@@ -19,7 +19,6 @@ in appimageTools.wrapType2 {
   extraPkgs = pkgs: (appimageTools.defaultFhsEnvArgs.multiPkgs pkgs) ++ [ pkgs.libthai ];
 
   extraInstallCommands = ''
-    mv $out/bin/${pname}-${version} $out/bin/${pname}
     install -m 444 -D ${appimageContents}/caido.desktop -t $out/share/applications
     install -m 444 -D ${appimageContents}/caido.png \
       $out/share/icons/hicolor/512x512/apps/caido.png
diff --git a/pkgs/by-name/ca/cargo-autoinherit/package.nix b/pkgs/by-name/ca/cargo-autoinherit/package.nix
index 71beb30ee32fc..0e3fc9e7c72b6 100644
--- a/pkgs/by-name/ca/cargo-autoinherit/package.nix
+++ b/pkgs/by-name/ca/cargo-autoinherit/package.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-autoinherit";
-  version = "0.1.4";
+  version = "0.1.5";
 
   src = fetchFromGitHub {
     owner = "mainmatter";
     repo = "cargo-autoinherit";
     rev = "v${version}";
-    hash = "sha256-BuZDCd4SwSYg5eKV61L3RpPVmq5NZDAOc9zOz5QiSNI=";
+    hash = "sha256-ai2BqBfZlCOA1DIlzZerH71sbUMi6C65FRv5VDU0DPU=";
   };
 
-  cargoHash = "sha256-9hhrVkC1xB2E/vatkiM4PIJyXq+0GDoqlgXZXc8WehU=";
+  cargoHash = "sha256-bPbwUqw2IFwZTi7qFm1BQgGYBAb6OG8QSU8xTdx/1zM=";
 
   meta = with lib; {
     description = "Automatically DRY up your Rust dependencies";
diff --git a/pkgs/by-name/ca/cargo-bloat/package.nix b/pkgs/by-name/ca/cargo-bloat/package.nix
index 59085534d0632..b0026988c9a16 100644
--- a/pkgs/by-name/ca/cargo-bloat/package.nix
+++ b/pkgs/by-name/ca/cargo-bloat/package.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-bloat";
-  version = "0.11.1";
+  version = "0.12.0";
 
   src = fetchFromGitHub {
     owner = "RazrFalcon";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-lCA7C1G2xu65jn3/wzj6prWSrjQz3EqqJyMlPR/HRFs=";
+    hash = "sha256-vPk6ERl0VM1TjK/JRMcXqCvKqSTuw78MsmQ0xImQyd4=";
   };
 
-  cargoHash = "sha256-fOenXn5gagFss9DRDXXsGxQlDqVXZ5LZcdM4WsXAyUU=";
+  cargoHash = "sha256-6fMFGLH16Z1O+ETlr0685TXHup1vJetfzPdNC2Lw9uM=";
 
   meta = with lib; {
     description = "A tool and Cargo subcommand that helps you find out what takes most of the space in your executable";
diff --git a/pkgs/data/themes/catppuccin-sddm-corners/default.nix b/pkgs/by-name/ca/catppuccin-sddm-corners/package.nix
index 952399f7bf868..952399f7bf868 100644
--- a/pkgs/data/themes/catppuccin-sddm-corners/default.nix
+++ b/pkgs/by-name/ca/catppuccin-sddm-corners/package.nix
diff --git a/pkgs/data/themes/catppuccin/default.nix b/pkgs/by-name/ca/catppuccin/package.nix
index 2463b1fde6db3..2463b1fde6db3 100644
--- a/pkgs/data/themes/catppuccin/default.nix
+++ b/pkgs/by-name/ca/catppuccin/package.nix
diff --git a/pkgs/by-name/ce/cert-viewer/package.nix b/pkgs/by-name/ce/cert-viewer/package.nix
index df9032dfbec74..6cd594e13d6c9 100644
--- a/pkgs/by-name/ce/cert-viewer/package.nix
+++ b/pkgs/by-name/ce/cert-viewer/package.nix
@@ -1,6 +1,9 @@
 { buildGoModule
+, buildPackages
 , fetchFromGitHub
 , lib
+, installShellFiles
+, stdenv
 }:
 
 buildGoModule rec {
@@ -16,6 +19,22 @@ buildGoModule rec {
 
   vendorHash = "sha256-jNT04bYH5L/Zcfvel673zr2UJLayCO443tvBGZjrBZk=";
 
+  nativeBuildInputs = [
+    installShellFiles
+  ];
+
+  postInstall =
+    let
+      prog =
+        if stdenv.buildPlatform.canExecute stdenv.hostPlatform
+        then "$out/bin/cert-viewer"
+        else lib.getExe buildPackages.cert-viewer;
+    in
+      ''
+        ${prog} --help-man > cert-viewer.1
+        installManPage cert-viewer.1
+      '';
+
   meta = {
     description = "Admin tool to view and inspect multiple x509 Certificates";
     homepage = "https://github.com/mgit-at/cert-viewer";
diff --git a/pkgs/by-name/ch/chezmoi/package.nix b/pkgs/by-name/ch/chezmoi/package.nix
new file mode 100644
index 0000000000000..b808e09206437
--- /dev/null
+++ b/pkgs/by-name/ch/chezmoi/package.nix
@@ -0,0 +1,53 @@
+{
+  lib,
+  buildGoModule,
+  fetchFromGitHub,
+  installShellFiles,
+}:
+
+let
+  argset = {
+    pname = "chezmoi";
+    version = "2.48.0";
+
+    src = fetchFromGitHub {
+      owner = "twpayne";
+      repo = "chezmoi";
+      rev = "v${argset.version}";
+      hash = "sha256-TclY4O5mA14cI7+qvGwt5jSHftxhGaa3ICVn8qdrKqs=";
+    };
+
+    vendorHash = "sha256-qoXfneNEAsvUgaEFHPF1bf/S8feFX+8HtwQy7nzy8Bo=";
+
+    nativeBuildInputs = [
+      installShellFiles
+    ];
+
+    ldflags = [
+      "-s"
+      "-w"
+      "-X main.version=${argset.version}"
+      "-X main.builtBy=nixpkgs"
+    ];
+
+    doCheck = false;
+
+    postInstall = ''
+      installShellCompletion --bash --name chezmoi.bash completions/chezmoi-completion.bash
+      installShellCompletion --fish completions/chezmoi.fish
+      installShellCompletion --zsh completions/chezmoi.zsh
+    '';
+
+    subPackages = [ "." ];
+
+    meta = {
+      homepage = "https://www.chezmoi.io/";
+      description = "Manage your dotfiles across multiple machines, securely";
+      changelog = "https://github.com/twpayne/chezmoi/releases/tag/${argset.src.rev}";
+      license = lib.licenses.mit;
+      mainProgram = "chezmoi";
+      maintainers = with lib.maintainers; [ AndersonTorres ];
+    };
+  };
+in
+buildGoModule argset
diff --git a/pkgs/by-name/ch/chrysalis/package.nix b/pkgs/by-name/ch/chrysalis/package.nix
index ab4b5b5f3f8f1..dcd469b49681f 100644
--- a/pkgs/by-name/ch/chrysalis/package.nix
+++ b/pkgs/by-name/ch/chrysalis/package.nix
@@ -22,8 +22,6 @@ in appimageTools.wrapType2 rec {
   # to allow non-root modifications to the keyboards.
 
   extraInstallCommands = ''
-    mv $out/bin/{${name},${pname}}
-
     install -m 444 \
       -D ${appimageContents}/usr/lib/chrysalis/resources/static/udev/60-kaleidoscope.rules \
       -t $out/lib/udev/rules.d
diff --git a/pkgs/by-name/ci/circom/package.nix b/pkgs/by-name/ci/circom/package.nix
index f142a7fc234a4..895f3a6ba3ded 100644
--- a/pkgs/by-name/ci/circom/package.nix
+++ b/pkgs/by-name/ci/circom/package.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "circom";
-  version = "2.1.8";
+  version = "2.1.9";
 
   src = fetchFromGitHub {
     owner = "iden3";
     repo = "circom";
     rev = "v${version}";
-    hash = "sha256-S+POXACM2XswpIaUze/wfVj2QYjRKJ2JGP1L88dfHA8=";
+    hash = "sha256-l8204koaKTluYEvk6j9+MokdOqFCq2oExT5P2aW3kzc=";
   };
 
-  cargoHash = "sha256-gf9wWkeibj61Fh9Q+JqKVUVh2WpVBdM1Ei/Dg1/c+5E=";
+  cargoHash = "sha256-M4FR/dPLIq1Ps0j1B69khmSl4uRE5wxN4dh3iuO/9A4=";
   doCheck = false;
 
   meta = with lib; {
diff --git a/pkgs/by-name/cl/clash-verge-rev/package.nix b/pkgs/by-name/cl/clash-verge-rev/package.nix
index 95415d03cfec7..b262d0f7547e5 100644
--- a/pkgs/by-name/cl/clash-verge-rev/package.nix
+++ b/pkgs/by-name/cl/clash-verge-rev/package.nix
@@ -5,11 +5,11 @@
 
 clash-verge.overrideAttrs (old: rec {
   pname = "clash-verge-rev";
-  version = "1.5.11";
+  version = "1.6.0";
 
   src = fetchurl {
     url = "https://github.com/clash-verge-rev/clash-verge-rev/releases/download/v${version}/clash-verge_${version}_amd64.deb";
-    hash = "sha256-FoNWCH4SE7DnKoDMwdUiTnWoFwHSUCAIDQhvgZdgyeU=";
+    hash = "sha256-wSpWTQ+AuDG3zKocDVatRqVW5yhrOtcbNI+jfMOaXvg=";
   };
 
   meta = old.meta // (with lib; {
diff --git a/pkgs/by-name/co/cockpit/package.nix b/pkgs/by-name/co/cockpit/package.nix
index f9a18b8a36fc5..aba4e7d2895e0 100644
--- a/pkgs/by-name/co/cockpit/package.nix
+++ b/pkgs/by-name/co/cockpit/package.nix
@@ -44,13 +44,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "cockpit";
-  version = "315";
+  version = "316";
 
   src = fetchFromGitHub {
     owner = "cockpit-project";
     repo = "cockpit";
     rev = "refs/tags/${version}";
-    hash = "sha256-N6MDqhYQky80r9wSiDIPusg6iOpDh4S52pf337nojyY=";
+    hash = "sha256-AoRdeAA+K6VhRxgAF7t2COJtovk8U9B9j8MaBwMjJgw=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/editors/codux/default.nix b/pkgs/by-name/co/codux/package.nix
index 6e663e1e317b2..e364aa5c7b01d 100644
--- a/pkgs/applications/editors/codux/default.nix
+++ b/pkgs/by-name/co/codux/package.nix
@@ -5,11 +5,11 @@
 
 let
   pname = "codux";
-  version = "15.23.1";
+  version = "15.25.0";
 
   src = fetchurl {
     url = "https://github.com/wixplosives/codux-versions/releases/download/${version}/Codux-${version}.x86_64.AppImage";
-    sha256 = "sha256-9ZzWsLEPEG+PDrDf9lU4ODGOD6/fvMbGBSo9BEQrkn4=";
+    sha256 = "sha256-9hO0n+ARAqwYWCbDAKpna1zS3pjHykB3+c6wunWrc6o=";
   };
 
   appimageContents = appimageTools.extractType2 { inherit pname version src; };
@@ -19,7 +19,6 @@ appimageTools.wrapType2 rec {
   inherit pname version src;
 
   extraInstallCommands = ''
-    mv $out/bin/${pname}-${version} $out/bin/${pname}
     install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications
     cp -r ${appimageContents}/usr/share/icons $out/share
     substituteInPlace $out/share/applications/${pname}.desktop  --replace 'Exec=AppRun' 'Exec=${pname}'
diff --git a/pkgs/by-name/co/converseen/package.nix b/pkgs/by-name/co/converseen/package.nix
index 59d8988903782..8250d0edb5919 100644
--- a/pkgs/by-name/co/converseen/package.nix
+++ b/pkgs/by-name/co/converseen/package.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "converseen";
-  version = "0.12.2.2";
+  version = "0.12.2.3";
 
   src = fetchFromGitHub {
     owner = "Faster3ck";
     repo = "Converseen";
     rev = "refs/tags/v${finalAttrs.version}";
-    hash = "sha256-nAX5o+rqQCwBTizqwLPewmhlYQbxlPj158U+v3Z08fQ=";
+    hash = "sha256-ISXEEJHE7C1gqEmhIAPuu8ibrh0Cvh7EyRKsFeDuLDE=";
   };
 
   strictDeps = true;
diff --git a/pkgs/by-name/co/cowsql/package.nix b/pkgs/by-name/co/cowsql/package.nix
index 8089fc95a3578..0c790fd5057b4 100644
--- a/pkgs/by-name/co/cowsql/package.nix
+++ b/pkgs/by-name/co/cowsql/package.nix
@@ -49,7 +49,7 @@ stdenv.mkDerivation (finalAttrs: {
   };
 
   meta = with lib; {
-    changelog = "https://github.com/cowsql/cowsql/releases/tag/${version}";
+    changelog = "https://github.com/cowsql/cowsql/releases/tag/${finalAttrs.version}";
     description = "Embeddable, replicated and fault tolerant SQL engine";
     homepage = "https://github.com/cowsql/cowsql";
     license = licenses.lgpl3Only;
diff --git a/pkgs/by-name/cr/crunchy-cli/Cargo.lock b/pkgs/by-name/cr/crunchy-cli/Cargo.lock
index 3e16a615852a1..61832fee845ba 100644
--- a/pkgs/by-name/cr/crunchy-cli/Cargo.lock
+++ b/pkgs/by-name/cr/crunchy-cli/Cargo.lock
@@ -199,9 +199,9 @@ checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9"
 
 [[package]]
 name = "cc"
-version = "1.0.94"
+version = "1.0.95"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17f6e324229dc011159fcc089755d1e2e216a90d43a7dea6853ca740b84f35e7"
+checksum = "d32a725bc159af97c3e629873bb9f88fb8cf8a4867175f76dc987815ea07c83b"
 
 [[package]]
 name = "cfg-if"
@@ -354,7 +354,7 @@ checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
 
 [[package]]
 name = "crunchy-cli"
-version = "3.5.0"
+version = "3.5.2"
 dependencies = [
  "chrono",
  "clap",
@@ -367,7 +367,7 @@ dependencies = [
 
 [[package]]
 name = "crunchy-cli-core"
-version = "3.5.0"
+version = "3.5.2"
 dependencies = [
  "anyhow",
  "async-speed-limit",
@@ -404,9 +404,9 @@ dependencies = [
 
 [[package]]
 name = "crunchyroll-rs"
-version = "0.10.8"
+version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ccd0a624f3f8ec3fb7af8d83b907142aaee1858579ab697f24f05d00736e5bb2"
+checksum = "e63a541bdcf0170a29eab4015943e8a6a09281334b4beacd70ac5cfc1c19496b"
 dependencies = [
  "async-trait",
  "chrono",
@@ -430,9 +430,9 @@ dependencies = [
 
 [[package]]
 name = "crunchyroll-rs-internal"
-version = "0.10.8"
+version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85c3614a871ec25ab17425405b08aea3c5869597e2348302b922c2a077aa9c3a"
+checksum = "3a9e0e09162451565645fdd4dadc6b38e09f3aafcfb477153584bedd8d62a358"
 dependencies = [
  "darling",
  "quote",
@@ -1563,9 +1563,9 @@ dependencies = [
 
 [[package]]
 name = "rustix"
-version = "0.38.32"
+version = "0.38.34"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "65e04861e65f21776e67888bfbea442b3642beaa0138fdb1dd7a84a52dffdb89"
+checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f"
 dependencies = [
  "bitflags 2.5.0",
  "errno",
@@ -1613,15 +1613,15 @@ dependencies = [
 
 [[package]]
 name = "rustls-pki-types"
-version = "1.4.1"
+version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ecd36cc4259e3e4514335c4a138c6b43171a8d61d8f5c9348f9fc7529416f247"
+checksum = "beb461507cee2c2ff151784c52762cf4d9ff6a61f3e80968600ed24fa837fa54"
 
 [[package]]
 name = "rustls-webpki"
-version = "0.102.2"
+version = "0.102.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "faaa0a62740bedb9b2ef5afa303da42764c012f743917351dc9a237ea1663610"
+checksum = "f3bce581c0dd41bce533ce695a1437fa16a7ab5ac3ccfa99fe1a620a7885eabf"
 dependencies = [
  "ring",
  "rustls-pki-types",
@@ -1730,11 +1730,11 @@ dependencies = [
 
 [[package]]
 name = "serde_with"
-version = "3.7.0"
+version = "3.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee80b0e361bbf88fd2f6e242ccd19cfda072cb0faa6ae694ecee08199938569a"
+checksum = "2c85f8e96d1d6857f13768fcbd895fcb06225510022a2774ed8b5150581847b0"
 dependencies = [
- "base64 0.21.7",
+ "base64 0.22.0",
  "chrono",
  "hex",
  "indexmap 1.9.3",
@@ -1748,9 +1748,9 @@ dependencies = [
 
 [[package]]
 name = "serde_with_macros"
-version = "3.7.0"
+version = "3.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6561dc161a9224638a31d876ccdfefbc1df91d3f3a8342eddb35f055d48c7655"
+checksum = "c8b3a576c4eb2924262d5951a3b737ccaf16c931e39a2810c36f9a7e25575557"
 dependencies = [
  "darling",
  "proc-macro2",
@@ -1897,18 +1897,18 @@ dependencies = [
 
 [[package]]
 name = "thiserror"
-version = "1.0.58"
+version = "1.0.59"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297"
+checksum = "f0126ad08bff79f29fc3ae6a55cc72352056dfff61e3ff8bb7129476d44b23aa"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.58"
+version = "1.0.59"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7"
+checksum = "d1cd413b5d558b4c5bf3680e324a6fa5014e7b7c067a51e69dbdf47eb7148b66"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -2498,9 +2498,9 @@ dependencies = [
 
 [[package]]
 name = "zeroize"
-version = "1.7.0"
+version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d"
+checksum = "63381fa6624bf92130a6b87c0d07380116f80b565c42cf0d754136f0238359ef"
 
 [[package]]
 name = "zune-core"
diff --git a/pkgs/by-name/cr/crunchy-cli/package.nix b/pkgs/by-name/cr/crunchy-cli/package.nix
index 1573090d58d69..1fc5711ef3508 100644
--- a/pkgs/by-name/cr/crunchy-cli/package.nix
+++ b/pkgs/by-name/cr/crunchy-cli/package.nix
@@ -10,13 +10,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "crunchy-cli";
-  version = "3.5.0";
+  version = "3.5.2";
 
   src = fetchFromGitHub {
     owner = "crunchy-labs";
     repo = "crunchy-cli";
     rev = "v${version}";
-    hash = "sha256-ykE4TqsBv6VEOgwKixo8IvgJt8CwCSTl5DcKfNGycdI=";
+    hash = "sha256-20jsBIjl6WOs0X4ancWHUuAe2Qiv8s4w+EpEVE5Psvw=";
   };
 
   cargoLock = {
diff --git a/pkgs/by-name/cs/csvlens/package.nix b/pkgs/by-name/cs/csvlens/package.nix
index 7995881c2eaf5..7840dba022d2d 100644
--- a/pkgs/by-name/cs/csvlens/package.nix
+++ b/pkgs/by-name/cs/csvlens/package.nix
@@ -7,20 +7,20 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "csvlens";
-  version = "0.8.1";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "YS-L";
     repo = "csvlens";
     rev = "refs/tags/v${version}";
-    hash = "sha256-4lKiqojBF8mqAp56eTDfJcK276IzEDLA3pORKIZpC94=";
+    hash = "sha256-Qpda9qADnj3eGz+nvD6VgxUOwTXrFI1rMam6+sfK6MQ=";
   };
 
   buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [
     darwin.apple_sdk.frameworks.AppKit
   ];
 
-  cargoHash = "sha256-EzM7qGor/B17N4KDTsQzgiV4pgXE2D47RZcrmKVkPu8=";
+  cargoHash = "sha256-PDOuAz+ov1S7i7TpRp4YaeoQQJ4paal6FI0VU25d4zU=";
 
   meta = with lib; {
     description = "Command line csv viewer";
diff --git a/pkgs/by-name/cu/cue/package.nix b/pkgs/by-name/cu/cue/package.nix
index f8185f7c347f8..97ad585ddcb55 100644
--- a/pkgs/by-name/cu/cue/package.nix
+++ b/pkgs/by-name/cu/cue/package.nix
@@ -9,13 +9,13 @@
 
 buildGoModule rec {
   pname = "cue";
-  version = "0.8.1";
+  version = "0.8.2";
 
   src = fetchFromGitHub {
     owner = "cue-lang";
     repo = "cue";
     rev = "v${version}";
-    hash = "sha256-0HNE7NzTdq1bXj9tBZvBQ3m6Q5iuyAMKMOz0kyOJi7w=";
+    hash = "sha256-GU1PG5ciUqbRlAveq2ouqnBYIBEdMSSM0H/1eHL+zlo=";
   };
 
   vendorHash = "sha256-0OZtKIDdEnQLnSj109EpGvaZvMIy7gPAZ+weHzYKGSg=";
@@ -24,7 +24,7 @@ buildGoModule rec {
 
   nativeBuildInputs = [ installShellFiles ];
 
-  ldflags = [ "-s" "-w" "-X cuelang.org/go/cmd/cue/cmd.version=${version}" ];
+  ldflags = [ "-s" "-w" ];
 
   postInstall = ''
     installShellCompletion --cmd cue \
@@ -40,6 +40,7 @@ buildGoModule rec {
       version = testers.testVersion {
         package = cue;
         command = "cue version";
+        version = "v${version}";
       };
     };
   };
diff --git a/pkgs/by-name/cu/cups-printers/package.nix b/pkgs/by-name/cu/cups-printers/package.nix
index 9b5e336316e08..50af156ff668d 100644
--- a/pkgs/by-name/cu/cups-printers/package.nix
+++ b/pkgs/by-name/cu/cups-printers/package.nix
@@ -1,6 +1,7 @@
-{ lib
-, fetchFromGitHub
-, python3
+{
+  lib,
+  fetchFromGitHub,
+  python3,
 }:
 
 python3.pkgs.buildPythonApplication rec {
@@ -16,26 +17,27 @@ python3.pkgs.buildPythonApplication rec {
   };
 
   pythonRelaxDeps = [
+    "typer"
     "validators"
   ];
 
-  nativeBuildInputs = with python3.pkgs; [
-    poetry-core
-    pythonRelaxDepsHook
-  ];
+  build-system = with python3.pkgs; [ poetry-core ];
+
+  nativeBuildInputs = with python3.pkgs; [ pythonRelaxDepsHook ];
 
-  propagatedBuildInputs = with python3.pkgs; [
-    pycups
-    typer
-    validators
-  ] ++ typer.optional-dependencies.all;
+  dependencies =
+    with python3.pkgs;
+    [
+      pycups
+      typer
+      validators
+    ]
+    ++ typer.optional-dependencies.all;
 
   # Project has no tests
   doCheck = false;
 
-  pythonImportsCheck = [
-    "cups_printers"
-  ];
+  pythonImportsCheck = [ "cups_printers" ];
 
   meta = with lib; {
     description = "Tool for interacting with a CUPS server";
diff --git a/pkgs/by-name/cu/cursewords/package.nix b/pkgs/by-name/cu/cursewords/package.nix
index 44c49cbb874bc..7a51705c1afea 100644
--- a/pkgs/by-name/cu/cursewords/package.nix
+++ b/pkgs/by-name/cu/cursewords/package.nix
@@ -29,7 +29,7 @@ python3Packages.buildPythonApplication rec {
     description = "Graphical command line program for solving crossword puzzles in the terminal";
     mainProgram = "cursewords";
     license = licenses.agpl3Only;
-    maintainers = with maintainers; [ danderson ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/by-name/de/delfin/package.nix b/pkgs/by-name/de/delfin/package.nix
index d46e5a94a614c..eaf775ef9434d 100644
--- a/pkgs/by-name/de/delfin/package.nix
+++ b/pkgs/by-name/de/delfin/package.nix
@@ -21,20 +21,20 @@
 
 stdenv.mkDerivation rec {
   pname = "delfin";
-  version = "0.4.2";
+  version = "0.4.4";
 
   src = fetchFromGitea {
     domain = "codeberg.org";
     owner = "avery42";
     repo = "delfin";
     rev = "v${version}";
-    hash = "sha256-7GHwwwFibmwBcrlC2zSpEUZ2dca14wZFU6PJWjincPQ=";
+    hash = "sha256-qbl0PvGKI3S845xLr0aXf/uk2uuOXMjvu9S3BOPzxa0=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-zlecw6230AC/+y537iEhJU+BgWRs2WCFP0AIcxchZBA=";
+    hash = "sha256-Js1mIotSOayYDjDVQMqXwaeSC2a1g1DeqD6QmeWwztk=";
   };
 
   nativeBuildInputs = [
@@ -70,7 +70,7 @@ stdenv.mkDerivation rec {
     description = "Stream movies and TV shows from Jellyfin";
     homepage = "https://www.delfin.avery.cafe/";
     license = licenses.gpl3Only;
-    maintainers = with maintainers; [ colinsane ];
+    maintainers = with maintainers; [ colinsane avery ];
     mainProgram = "delfin";
     platforms = platforms.linux;
   };
diff --git a/pkgs/by-name/de/devenv/package.nix b/pkgs/by-name/de/devenv/package.nix
index ee864183f55ba..9284bc2218b76 100644
--- a/pkgs/by-name/de/devenv/package.nix
+++ b/pkgs/by-name/de/devenv/package.nix
@@ -21,15 +21,15 @@ let
     src = fetchFromGitHub {
       owner = "domenkozar";
       repo = "nix";
-      rev = "ecd0af0c1f56de32cbad14daa1d82a132bf298f8";
-      hash = "sha256-92xq7eXlxIT5zFNccLpjiP7sdQqQI30Gyui2p/PfKZM=";
+      rev = "b24a9318ea3f3600c1e24b4a00691ee912d4de12";
+      hash = "sha256-BGvBhepCufsjcUkXnEEXhEVjwdJAwPglCC2+bInc794=";
     };
     buildInputs = old.buildInputs ++ [ libgit2 ];
     doCheck = false;
     doInstallCheck = false;
   });
 
-  version = "1.0.4";
+  version = "1.0.5";
 in rustPlatform.buildRustPackage {
   pname = "devenv";
   inherit version;
@@ -38,10 +38,10 @@ in rustPlatform.buildRustPackage {
     owner = "cachix";
     repo = "devenv";
     rev = "v${version}";
-    hash = "sha256-JODoFPcYKOr39dErx8JFSjeWKmO5PUsHJrF2VU6MFEg=";
+    hash = "sha256-W5DFIifCjGYJXJzLU3RpqBeqes4zrf0Sr/6rwzTygPU=";
   };
 
-  cargoHash = "sha256-//THEzW0OYEDSLrOELBaWnwjDbUc4jpwRDQfWJO/saA=";
+  cargoHash = "sha256-a6o28oonA6G0xo83PXwbH86V0aDDAAA2zajE67qsSU0=";
 
   nativeBuildInputs = [ makeWrapper pkg-config ];
 
diff --git a/pkgs/by-name/di/discordchatexporter-cli/deps.nix b/pkgs/by-name/di/discordchatexporter-cli/deps.nix
index c75966de85c34..46c8ca0682791 100644
--- a/pkgs/by-name/di/discordchatexporter-cli/deps.nix
+++ b/pkgs/by-name/di/discordchatexporter-cli/deps.nix
@@ -2,22 +2,21 @@
 # Please dont edit it manually, your changes might get overwritten!
 
 { fetchNuGet }: [
-  (fetchNuGet { pname = "AdvancedStringBuilder"; version = "0.1.0"; sha256 = "1lpv5sggdxza0bmcqmzf5r4i340f0m7nr5073lac18naj5697q5g"; })
-  (fetchNuGet { pname = "AngleSharp"; version = "1.0.7"; sha256 = "1f0sb4jknw7f9mhg4f5khk1q257mn97b9qyy017jjljhqyxp449f"; })
-  (fetchNuGet { pname = "AsyncKeyedLock"; version = "6.2.4"; sha256 = "1sizwdkj7ysk7nvdrnnnvl67r4smyq45k6ih4si38kxm27sqwhjw"; })
+  (fetchNuGet { pname = "AdvancedStringBuilder"; version = "0.1.1"; sha256 = "1qc5b9vlh42yyw00kppkrdz0cji0cxslh97794km9nid8wcv3f54"; })
+  (fetchNuGet { pname = "AngleSharp"; version = "1.1.2"; sha256 = "0rfild46lmqhxkfh6nhy7a9m8zzv25lj29riav5j6dmzw07l7wif"; })
+  (fetchNuGet { pname = "AsyncKeyedLock"; version = "6.4.2"; sha256 = "1pghspgz9xis139b5v8h2y40gp14x6qfcam27zawq6cp278gnjhi"; })
   (fetchNuGet { pname = "CliFx"; version = "2.3.5"; sha256 = "0rlbv93ssw0d8kvhnvrz2f06ka66gz4gbz1va2q135dab99cmrin"; })
-  (fetchNuGet { pname = "CSharpier.MsBuild"; version = "0.26.7"; sha256 = "1pa96gci9nwav1g93vxq4mc0h1bjasax9j6giya1ms6rdmqxxlyn"; })
+  (fetchNuGet { pname = "CSharpier.MsBuild"; version = "0.28.2"; sha256 = "10c3v3pqv49y5wi0slswfzkwjh9q93diihpmkbfp3r7yjpv6871d"; })
   (fetchNuGet { pname = "Deorcify"; version = "1.0.2"; sha256 = "0nwxyrl4rd5x621i2hs5fl3w7fxpm13lkdssxr9fd5042px2gqbm"; })
-  (fetchNuGet { pname = "DotnetRuntimeBootstrapper"; version = "2.5.2"; sha256 = "0j3z9wdhn6d4np0cjxv2wb5n9blm9frgbxs1p6zdafbxr98qzb73"; })
+  (fetchNuGet { pname = "DotnetRuntimeBootstrapper"; version = "2.5.4"; sha256 = "0pjzyvq0a975m0y7b0k8wsr7mskykv3bzba98xmcc29nsyib2a8h"; })
   (fetchNuGet { pname = "Gress"; version = "2.1.1"; sha256 = "1svz1flhyl26h3xjch0acjjinympgf6bhj5vpb188njfih3ip4ck"; })
   (fetchNuGet { pname = "JsonExtensions"; version = "1.2.0"; sha256 = "0g54hibabbqqfhxjlnxwv1rxagpali5agvnpymp2w3dk8h6q66xy"; })
-  (fetchNuGet { pname = "Polly"; version = "8.2.0"; sha256 = "0gxdi4sf60vpxsb258v592ykkq9a3dq2awayp99yy9djys8bglks"; })
-  (fetchNuGet { pname = "Polly.Core"; version = "8.2.0"; sha256 = "00b4jbyiyslqvswy4j2lfw0rl0gq8m4v5fj2asb96i6l224bs7d3"; })
-  (fetchNuGet { pname = "RazorBlade"; version = "0.5.0"; sha256 = "11s68yqvpp65yam954f281vw9pmb2c5mxnk0n5j6xv1xylng4x5b"; })
-  (fetchNuGet { pname = "Spectre.Console"; version = "0.48.0"; sha256 = "0v3zijim9k5lcmhn0ajlsix0japvx3c20r9b7x7f7gvraa8w3gl6"; })
+  (fetchNuGet { pname = "Polly"; version = "8.3.1"; sha256 = "19q7s493sv90879052pxfcbsk3bmxjg5688ya7l12964ddafiwsl"; })
+  (fetchNuGet { pname = "Polly.Core"; version = "8.3.1"; sha256 = "15ylkqdcwpr76n0nfzpvd6s00ywjagn1ignyrcz9arwahrxpsm4b"; })
+  (fetchNuGet { pname = "RazorBlade"; version = "0.6.0"; sha256 = "11k2j7d7ddb47sj4lkply8v4aqrfxl0b314cv0l4f5syi4ilfa6s"; })
+  (fetchNuGet { pname = "Spectre.Console"; version = "0.49.1"; sha256 = "0fhl96p3xjd5k1wwvhs80cp35rrlgnza6mw9vy0knhmf7ji9b95n"; })
   (fetchNuGet { pname = "Superpower"; version = "3.0.0"; sha256 = "0p6riay4732j1fahc081dzgs9q4z3n2fpxrin4zfpj6q2226dhz4"; })
-  (fetchNuGet { pname = "System.Memory"; version = "4.5.5"; sha256 = "08jsfwimcarfzrhlyvjjid61j02irx6xsklf32rv57x2aaikvx0h"; })
   (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "8.0.0"; sha256 = "1lgdd78cik4qyvp2fggaa0kzxasw6kc9a6cjqw46siagrm0qnc3y"; })
-  (fetchNuGet { pname = "WebMarkupMin.Core"; version = "2.14.0"; sha256 = "0c41zw1bwz6ybxagq5vr26cx7najd17rrdbqjpn8mabynq380ayr"; })
-  (fetchNuGet { pname = "YoutubeExplode"; version = "6.3.10"; sha256 = "0b3n8mfxa4l7bfk0c1s7yfw4m1kvnm2r5pqfvr6s20gjq3wzfih5"; })
+  (fetchNuGet { pname = "WebMarkupMin.Core"; version = "2.16.0"; sha256 = "0cbkgrrkam76bhygrjzd4nj4mpzpgbnsddfzwry1933rcvjlqh6m"; })
+  (fetchNuGet { pname = "YoutubeExplode"; version = "6.3.14"; sha256 = "12w9zz6y7cdw6p2gvr34r4qcl35hh19zn9fm0risrrcs8577msxs"; })
 ]
diff --git a/pkgs/by-name/di/discordchatexporter-cli/package.nix b/pkgs/by-name/di/discordchatexporter-cli/package.nix
index 9f3d709fd1663..ed6f4e836aa3b 100644
--- a/pkgs/by-name/di/discordchatexporter-cli/package.nix
+++ b/pkgs/by-name/di/discordchatexporter-cli/package.nix
@@ -8,13 +8,13 @@
 
 buildDotnetModule rec {
   pname = "discordchatexporter-cli";
-  version = "2.42.8";
+  version = "2.43";
 
   src = fetchFromGitHub {
     owner = "tyrrrz";
     repo = "discordchatexporter";
     rev = version;
-    hash = "sha256-54NTeIs0a8hd2xKQkAxwfyGwEPUlSSXXvDamGLfa9ls=";
+    hash = "sha256-FbZ2Kt5lKTINpj0EsJGXWY1aK0qitks16GClBWa/iQ4=";
   };
 
   projectFile = "DiscordChatExporter.Cli/DiscordChatExporter.Cli.csproj";
diff --git a/pkgs/by-name/di/disko/package.nix b/pkgs/by-name/di/disko/package.nix
index 20048c763bdc6..8585876ee001b 100644
--- a/pkgs/by-name/di/disko/package.nix
+++ b/pkgs/by-name/di/disko/package.nix
@@ -9,12 +9,12 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   name = "disko";
-  version = "1.5.0";
+  version = "1.6.0";
   src = fetchFromGitHub {
     owner = "nix-community";
     repo = "disko";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-5DUNQl9BSmLxgGLbF05G7hi/UTk9DyZq8AuEszhQA7Q=";
+    hash = "sha256-h3pOvHCXkSdp1KOZqtkQmHgkR7VaOJXDhqhumk7sZLY=";
   };
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ bash ];
diff --git a/pkgs/by-name/di/dissent/package.nix b/pkgs/by-name/di/dissent/package.nix
index b1580283a5d60..fdcc4ad37ce41 100644
--- a/pkgs/by-name/di/dissent/package.nix
+++ b/pkgs/by-name/di/dissent/package.nix
@@ -18,13 +18,13 @@
 
 buildGoModule rec {
   pname = "dissent";
-  version = "0.0.23";
+  version = "0.0.24";
 
   src = fetchFromGitHub {
     owner = "diamondburned";
     repo = "dissent";
     rev = "v${version}";
-    hash = "sha256-aHY2XmrJv2SSoXIKj63xu6t+Yzaur/6OJUFKga7DWDg=";
+    hash = "sha256-XoppHkKQhWZbqVIViGIV0e0W/NhZW0v6ufmXlVtmzvI=";
   };
 
   nativeBuildInputs = [
@@ -56,7 +56,7 @@ buildGoModule rec {
     install -D -m 444 internal/icons/hicolor/scalable/apps/so.libdb.dissent.svg $out/share/icons/hicolor/scalable/apps/so.libdb.dissent.svg
   '';
 
-  vendorHash = "sha256-mwY1M81EWfbF/gYXQl5bcEXxN9N1npD+GgUSMc7gy90=";
+  vendorHash = "sha256-8/k9auM7+rceV26f3pNjEK1trzzAM530CX008pLZ1OA=";
 
   meta = with lib; {
     description = "GTK4 Discord client in Go, attempt #4 (formerly gtkcord4)";
diff --git a/pkgs/tools/misc/dooit/default.nix b/pkgs/by-name/do/dooit/package.nix
index c532b13877d30..c532b13877d30 100644
--- a/pkgs/tools/misc/dooit/default.nix
+++ b/pkgs/by-name/do/dooit/package.nix
diff --git a/pkgs/by-name/du/dumbpipe/package.nix b/pkgs/by-name/du/dumbpipe/package.nix
new file mode 100644
index 0000000000000..6f3074266947f
--- /dev/null
+++ b/pkgs/by-name/du/dumbpipe/package.nix
@@ -0,0 +1,34 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, rustPlatform
+, darwin
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "dumbpipe";
+  version = "0.7.0";
+
+  src = fetchFromGitHub {
+    owner = "n0-computer";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-pvAB3kvnyNZ6N7bC8NIaSNUxcn9AfpEozYcczA+5zmc=";
+  };
+
+  cargoHash = "sha256-aHuRG1mLb18bra/iTddU3B4XjS5shheBqW1Hs+QMcJs=";
+
+  buildInputs = lib.optionals stdenv.isDarwin (
+    with darwin.apple_sdk.frameworks; [
+      SystemConfiguration
+    ]
+  );
+
+  meta = with lib; {
+    description = "Connect A to B - Send Data";
+    homepage = "https://www.dumbpipe.dev/";
+    license = with licenses; [ asl20 mit ];
+    maintainers = with maintainers; [ cameronfyfe ];
+    mainProgram = "dumbpipe";
+  };
+}
diff --git a/pkgs/by-name/dx/dxvk/package.nix b/pkgs/by-name/dx/dxvk/package.nix
index d3639215057f2..7a8e059ecf78b 100644
--- a/pkgs/by-name/dx/dxvk/package.nix
+++ b/pkgs/by-name/dx/dxvk/package.nix
@@ -1,38 +1,68 @@
-{ lib
-, stdenvNoCC
-, fetchFromGitHub
-, pkgsCross
-, stdenv
-, bash
+{
+  lib,
+  stdenvNoCC,
+  overrideCC,
+  fetchFromGitHub,
+  pkgsCross,
+  bash,
 }:
 
-stdenvNoCC.mkDerivation (finalAttrs:
+stdenvNoCC.mkDerivation (
+  finalAttrs:
   let
-    dxvk32 = if stdenv.isDarwin
-      then pkgsCross.mingw32.dxvk_1.override { enableMoltenVKCompat = true; }
-      else pkgsCross.mingw32.dxvk_2;
-    dxvk64 = if stdenv.isDarwin
-      then pkgsCross.mingwW64.dxvk_1.override { enableMoltenVKCompat = true; }
-      else pkgsCross.mingwW64.dxvk_2;
+    useWin32ThreadModel =
+      stdenv:
+      overrideCC stdenv (
+        stdenv.cc.override (old: {
+          cc = old.cc.override {
+            threadsCross = {
+              model = "win32";
+              package = null;
+            };
+          };
+        })
+      );
+
+    mingw32Stdenv = useWin32ThreadModel pkgsCross.mingw32.stdenv;
+    mingwW64Stdenv = useWin32ThreadModel pkgsCross.mingwW64.stdenv;
+
+    dxvk32 =
+      if stdenvNoCC.isDarwin then
+        pkgsCross.mingw32.dxvk_1.override {
+          stdenv = mingw32Stdenv;
+          enableMoltenVKCompat = true;
+        }
+      else
+        pkgsCross.mingw32.dxvk_2.override { stdenv = mingw32Stdenv; };
+
+    dxvk64 =
+      if stdenvNoCC.isDarwin then
+        pkgsCross.mingwW64.dxvk_1.override {
+          stdenv = mingwW64Stdenv;
+          enableMoltenVKCompat = true;
+        }
+      else
+        pkgsCross.mingwW64.dxvk_2.override { stdenv = mingwW64Stdenv; };
   in
   {
     pname = "dxvk";
     inherit (dxvk64) version;
 
-    outputs = [ "out" "bin" "lib" ];
+    outputs = [
+      "out"
+      "bin"
+      "lib"
+    ];
 
-    dontUnpack = true;
-    dontConfigure = true;
-    dontBuild = true;
+    strictDeps = true;
 
-    installPhase = ''
+    buildCommand = ''
       mkdir -p $out/bin $bin $lib
       substitute ${./setup_dxvk.sh} $out/bin/setup_dxvk.sh \
         --subst-var-by bash ${bash} \
         --subst-var-by dxvk32 ${dxvk32} \
         --subst-var-by dxvk64 ${dxvk64} \
-        --subst-var-by mcfgthreads32 "${pkgsCross.mingw32.windows.mcfgthreads_pre_gcc_13}" \
-        --subst-var-by mcfgthreads64 "${pkgsCross.mingwW64.windows.mcfgthreads_pre_gcc_13}"
+        --subst-var-by version ${finalAttrs.version}
       chmod a+x $out/bin/setup_dxvk.sh
       declare -A dxvks=( [x32]=${dxvk32} [x64]=${dxvk64} )
       for arch in "''${!dxvks[@]}"; do
@@ -41,6 +71,10 @@ stdenvNoCC.mkDerivation (finalAttrs:
       done
     '';
 
+    passthru = { inherit dxvk32 dxvk64; };
+
+    __structuredAttrs = true;
+
     meta = {
       description = "Setup script for DXVK";
       mainProgram = "setup_dxvk.sh";
@@ -48,6 +82,11 @@ stdenvNoCC.mkDerivation (finalAttrs:
       changelog = "https://github.com/doitsujin/dxvk/releases";
       maintainers = [ lib.maintainers.reckenrode ];
       license = lib.licenses.zlib;
-      platforms = [ "x86_64-darwin" "i686-linux" "x86_64-linux" ];
+      platforms = [
+        "x86_64-darwin"
+        "i686-linux"
+        "x86_64-linux"
+      ];
     };
-  })
+  }
+)
diff --git a/pkgs/by-name/dx/dxvk/setup_dxvk.sh b/pkgs/by-name/dx/dxvk/setup_dxvk.sh
index 4926acd3ba899..27e5d6aa03d5a 100644
--- a/pkgs/by-name/dx/dxvk/setup_dxvk.sh
+++ b/pkgs/by-name/dx/dxvk/setup_dxvk.sh
@@ -6,11 +6,9 @@ set -eu -o pipefail
 {
     dxvk32_dir=@dxvk32@/bin
     dxvk64_dir=@dxvk64@/bin
-
-    mcfgthreads32_dir=@mcfgthreads32@/bin
-    mcfgthreads64_dir=@mcfgthreads64@/bin
 }
 
+
 ## Defaults
 
 declare -A dlls=(
@@ -18,10 +16,23 @@ declare -A dlls=(
     [d3d10]="dxvk/d3d10.dll dxvk/d3d10_1.dll dxvk/d3d10core.dll"
     [d3d11]="dxvk/d3d11.dll"
     [dxgi]="dxvk/dxgi.dll"
+)
+
+declare -A obsolete_dlls=(
     [mcfgthreads]="mcfgthreads/mcfgthread-12.dll"
 )
 
-declare -A targets=([d3d9]=1 [d3d11]=1 [dxgi]=1 [mcfgthreads]=1)
+declare -A targets=([d3d9]=1 [d3d11]=1 [dxgi]=1)
+
+
+# Option variables
+
+do_cleanup=false
+ignore_obsolete=false
+
+do_symlink=false
+do_makeprefix=false
+
 
 ## Command-line Parsing
 
@@ -46,6 +57,10 @@ usage() {
 }
 
 case "${1:-}" in
+    cleanup)
+        do_cleanup=true
+        shift
+        ;;
     uninstall|install)
         action=$1
         shift
@@ -61,10 +76,6 @@ case "${1:-}" in
         ;;
 esac
 
-
-do_symlink=false
-do_makeprefix=false
-
 while [ -n "${1:-}" ]; do
     case "$1" in
         --with-dxgi)
@@ -100,6 +111,10 @@ while [ -n "${1:-}" ]; do
                 usage
             fi
             ;;
+        --ignore-obsolete)
+            shift
+            ignore_obsolete=true
+            ;;
         -h|--help)
             usage
             ;;
@@ -111,6 +126,7 @@ while [ -n "${1:-}" ]; do
     shift
 done
 
+
 ## Get information on the Wine environment
 
 export WINEPREFIX=${WINEPREFIX:-"$HOME/.wine"}
@@ -165,6 +181,7 @@ if [ -z "${win32_sys_path:-}" ] && [ -z "${win64_sys_path:-}" ]; then
   exit 1
 fi
 
+
 ## Utility functions
 
 install_file() {
@@ -200,6 +217,13 @@ install_file() {
 uninstall_file() {
     srcfile=$1
     dstfile=$2
+    args=$3
+
+    if [ "${args}" = "-f" ]; then
+        rm -v "${dstfile}"
+        [ -e "${dstfile}.old" ] && rm -v "${dstfile}.old"
+        return 0
+    fi
 
     if [ -f "${srcfile}.so" ]; then
         srcfile="${srcfile}.so"
@@ -239,6 +263,26 @@ uninstall_override() {
     fi
 }
 
+print_cleanup_message() {
+    declare -a obsolete_paths=($@)
+    if ! $ignore_obsolete && [ -n "${obsolete_paths[@]}" ]; then
+        fold -w $COLUMNS -s <<MSG >&2
+Obsolete DLLs detected at the specified Wine prefix. These DLLs are no longer needed \
+or managed by the \`setup_dxvk.sh\` script in nixpkgs. You should remove them manually, \
+use the cleanup command, or suppress this message using the \`--ignore-obsolete\` option.
+MSG
+        for obspath in "${obsolete_paths[@]}"; do
+            if $do_cleanup; then
+                cleanup_file "$obspath"
+            else
+                echo " - ${obspath}"
+            fi
+        done
+        ! $do_cleanup && echo
+    fi
+}
+
+
 ## Perform the requested command
 
 declare -A paths
@@ -260,7 +304,32 @@ for target in "${!targets[@]}"; do
     done
 done
 
-for srcpath in "${!paths[@]}"; do
-    "${action}_file" "$srcpath" "${paths["$srcpath"]}"
+declare -A obsolete_paths
+
+for target in "${!obsolete_dlls[@]}"; do
+    for dll in ${obsolete_dlls[$target]}; do
+        dllname=$(basename "$dll")
+        basedir=$(dirname "$dll")
+
+        if [ -e "${win32_sys_path:-}/$dllname" ]; then
+            obsolete_paths["${basedir}32_dir/$dllname"]="${win32_sys_path:-}/$dllname"
+        fi
+        if [ -e "${win64_sys_path:-}/$dllname" ]; then
+            obsolete_paths["${basedir}64_dir/$dllname"]="${win64_sys_path:-}/$dllname"
+        fi
+    done
+done
+
+if $do_cleanup; then
+    declare -n action_paths=obsolete_paths
+    action=uninstall
+    args=-f
+else
+    declare -n action_paths=paths
+    print_cleanup_message "${obsolete_paths[@]}"
+fi
+
+for srcpath in "${!action_paths[@]}"; do
+    "${action}_file" "$srcpath" "${action_paths["$srcpath"]}" "${args:-}"
     "${action}_override" "$(basename "$srcpath" .dll)"
 done
diff --git a/pkgs/by-name/dx/dxvk_1/package.nix b/pkgs/by-name/dx/dxvk_1/package.nix
index a02680d77eecf..71223ecea2180 100644
--- a/pkgs/by-name/dx/dxvk_1/package.nix
+++ b/pkgs/by-name/dx/dxvk_1/package.nix
@@ -1,15 +1,16 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, glslang
-, meson
-, ninja
-, windows
-, pkgsBuildHost
-, enableMoltenVKCompat ? false
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  fetchpatch,
+  glslang,
+  meson,
+  ninja,
+  windows,
+  enableMoltenVKCompat ? false,
 }:
 
-stdenv.mkDerivation (finalAttrs:  {
+stdenv.mkDerivation (finalAttrs: {
   pname = "dxvk";
   version = "1.10.3";
 
@@ -21,22 +22,35 @@ stdenv.mkDerivation (finalAttrs:  {
   };
 
   # These patches are required when using DXVK with Wine on Darwin.
-  patches = lib.optionals enableMoltenVKCompat [
-    # Patch DXVK to work with MoltenVK even though it doesn’t support some required features.
-    # Some games work poorly (particularly Unreal Engine 4 games), but others work pretty well.
-    ./darwin-dxvk-compat.patch
-    # Use synchronization primitives from the C++ standard library to avoid deadlocks on Darwin.
-    # See: https://www.reddit.com/r/macgaming/comments/t8liua/comment/hzsuce9/
-    ./darwin-thread-primitives.patch
-  ];
+  patches =
+    [
+      # Fixes errors building with GCC 13.
+      (fetchpatch {
+        url = "https://github.com/doitsujin/dxvk/commit/1a5afc77b1859e6c7e31b55e11ece899e3b5295a.patch";
+        hash = "sha256-tTAsQOMAazgH/6laLNTuG2lki257VUR9EBivnD4vCuY=";
+      })
+    ]
+    ++ lib.optionals enableMoltenVKCompat [
+      # Patch DXVK to work with MoltenVK even though it doesn’t support some required features.
+      # Some games work poorly (particularly Unreal Engine 4 games), but others work pretty well.
+      ./darwin-dxvk-compat.patch
+      # Use synchronization primitives from the C++ standard library to avoid deadlocks on Darwin.
+      # See: https://www.reddit.com/r/macgaming/comments/t8liua/comment/hzsuce9/
+      ./darwin-thread-primitives.patch
+    ];
 
-  nativeBuildInputs = [ glslang meson ninja ];
-  buildInputs = [ windows.pthreads ];
+  strictDeps = true;
 
-  mesonFlags = [
-    "--buildtype" "release"
-    "--prefix" "${placeholder "out"}"
+  nativeBuildInputs = [
+    glslang
+    meson
+    ninja
   ];
+  buildInputs = [ windows.pthreads ];
+
+  mesonBuildType = "release";
+
+  __structuredAttrs = true;
 
   meta = {
     description = "A Vulkan-based translation layer for Direct3D 9/10/11";
diff --git a/pkgs/by-name/dx/dxvk_2/package.nix b/pkgs/by-name/dx/dxvk_2/package.nix
index 8c589fd725875..a42c97a06c02f 100644
--- a/pkgs/by-name/dx/dxvk_2/package.nix
+++ b/pkgs/by-name/dx/dxvk_2/package.nix
@@ -1,18 +1,19 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, pkgsBuildHost
-, glslang
-, meson
-, ninja
-, windows
-, spirv-headers
-, vulkan-headers
-, SDL2
-, glfw
-, gitUpdater
-, sdl2Support ? true
-, glfwSupport ? false
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  pkgsBuildHost,
+  glslang,
+  meson,
+  ninja,
+  windows,
+  spirv-headers,
+  vulkan-headers,
+  SDL2,
+  glfw,
+  gitUpdater,
+  sdl2Support ? true,
+  glfwSupport ? false,
 }:
 
 # SDL2 and GLFW support are mutually exclusive.
@@ -21,15 +22,15 @@ assert !sdl2Support || !glfwSupport;
 let
   isWindows = stdenv.hostPlatform.uname.system == "Windows";
 in
-stdenv.mkDerivation (finalAttrs:  {
+stdenv.mkDerivation (finalAttrs: {
   pname = "dxvk";
-  version = "2.3";
+  version = "2.3.1";
 
   src = fetchFromGitHub {
     owner = "doitsujin";
     repo = "dxvk";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-RU+B0XfphD5HHW/vSzqHLUaGS3E31d5sOLp3lMmrCB8=";
+    hash = "sha256-lUzD1NHFLO4UqOg/BUr7PnYMJCMr1KBh3VNx8etbt8c=";
     fetchSubmodules = true; # Needed for the DirectX headers and libdisplay-info
   };
 
@@ -38,8 +39,18 @@ stdenv.mkDerivation (finalAttrs:  {
       --replace "/usr/bin/env python3" "${lib.getBin pkgsBuildHost.python3}/bin/python3"
   '';
 
-  nativeBuildInputs = [ glslang meson ninja ];
-  buildInputs = [ spirv-headers vulkan-headers ]
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    glslang
+    meson
+    ninja
+  ];
+  buildInputs =
+    [
+      spirv-headers
+      vulkan-headers
+    ]
     ++ lib.optionals (!isWindows && sdl2Support) [ SDL2 ]
     ++ lib.optionals (!isWindows && glfwSupport) [ glfw ]
     ++ lib.optionals isWindows [ windows.pthreads ];
@@ -50,15 +61,16 @@ stdenv.mkDerivation (finalAttrs:  {
     mkdir -p include/spirv/include include/vulkan/include
   '';
 
-  mesonFlags = [
-    "--buildtype" "release"
-    "--prefix" "${placeholder "out"}"
-  ] ++ lib.optional glfwSupport "-Ddxvk_native_wsi=glfw";
+  mesonBuildType = "release";
+
+  mesonFlags = lib.optionals glfwSupport [ "-Ddxvk_native_wsi=glfw" ];
 
   doCheck = true;
 
   passthru.updateScript = gitUpdater { rev-prefix = "v"; };
 
+  __structuredAttrs = true;
+
   meta = {
     description = "A Vulkan-based translation layer for Direct3D 9/10/11";
     homepage = "https://github.com/doitsujin/dxvk";
diff --git a/pkgs/by-name/dy/dynamodb-local/package.nix b/pkgs/by-name/dy/dynamodb-local/package.nix
index 846f8cac68b4c..39799fbf9f936 100644
--- a/pkgs/by-name/dy/dynamodb-local/package.nix
+++ b/pkgs/by-name/dy/dynamodb-local/package.nix
@@ -26,11 +26,11 @@ let
 in
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "dynamodb-local";
-  version = "2.3.0";
+  version = "2.4.0";
 
   src = fetchurl {
-    url = "https://d1ni2b6xgvw0s0.cloudfront.net/v2.x/dynamodb_local_2024-03-14.tar.gz";
-    hash = "sha256-BmLbmT63CaETgu1a/Tcf0KyF+Xwol67yKVwSMa9fJbw=";
+    url = "https://d1ni2b6xgvw0s0.cloudfront.net/v2.x/dynamodb_local_2024-04-17.tar.gz";
+    hash = "sha256-sEsS5qX1qKNoH/zh+mXWZtUd0ycxDtSWtyq+Hkkzr0Q=";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/by-name/ek/eksctl/package.nix b/pkgs/by-name/ek/eksctl/package.nix
index 76082342338c3..b749c561eeaca 100644
--- a/pkgs/by-name/ek/eksctl/package.nix
+++ b/pkgs/by-name/ek/eksctl/package.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "eksctl";
-  version = "0.175.0";
+  version = "0.176.0";
 
   src = fetchFromGitHub {
     owner = "weaveworks";
     repo = pname;
     rev = version;
-    hash = "sha256-Cz6zOQumkhxyMkkOJbzOUUB15godryDC8Uwid33+8TU=";
+    hash = "sha256-snxpAHxej/RySdC0k1r/4UZx+yUNVOTVb37xDrxpJKY=";
   };
 
-  vendorHash = "sha256-wdH4+s9SU2WgIy7bJ4YrT53URvHC4vw7RZpllT2DfV8=";
+  vendorHash = "sha256-aDv9ZV3v94pIpUYQaREPellHBo9sxrAKUIYqJzBSWXA=";
 
   doCheck = false;
 
diff --git a/pkgs/by-name/ez/eza/package.nix b/pkgs/by-name/ez/eza/package.nix
index 80aa328d289ec..767f443eeaae7 100644
--- a/pkgs/by-name/ez/eza/package.nix
+++ b/pkgs/by-name/ez/eza/package.nix
@@ -17,16 +17,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "eza";
-  version = "0.18.11";
+  version = "0.18.13";
 
   src = fetchFromGitHub {
     owner = "eza-community";
     repo = "eza";
     rev = "v${version}";
-    hash = "sha256-jh1YmY3G3oL8HfgojGtrJLvgLT+gyTX0fsv/11UDIJ0=";
+    hash = "sha256-dUWkszQs/MMb6Pq0Ci4vPgHe6qz7X4GBkRxSxehMKiQ=";
   };
 
-  cargoHash = "sha256-4ziEG7P7igCkN6UnVqaWXgqfW+XssUP4Rn867ELXYmU=";
+  cargoHash = "sha256-MSVneRJcY2XLb5A1/oOELm2FQj+7NDmINTYRrTVD4bI=";
 
   nativeBuildInputs = [ cmake pkg-config installShellFiles pandoc ];
   buildInputs = [ zlib ]
diff --git a/pkgs/tools/misc/fastfetch/default.nix b/pkgs/by-name/fa/fastfetch/package.nix
index 27da89ceb31ac..9bb0fd4919ea6 100644
--- a/pkgs/tools/misc/fastfetch/default.nix
+++ b/pkgs/by-name/fa/fastfetch/package.nix
@@ -21,6 +21,7 @@
 , nix-update-script
 , ocl-icd
 , opencl-headers
+, overrideSDK
 , pcre
 , pcre2
 , pkg-config
@@ -40,16 +41,18 @@
 , waylandSupport ? true
 , x11Support ? true
 }:
-
-stdenv.mkDerivation (finalAttrs: {
+let
+  stdenv' = if stdenv.isDarwin then overrideSDK stdenv "11.0" else stdenv;
+in
+stdenv'.mkDerivation (finalAttrs: {
   pname = "fastfetch";
-  version = "2.9.2";
+  version = "2.10.2";
 
   src = fetchFromGitHub {
     owner = "fastfetch-cli";
     repo = "fastfetch";
     rev = finalAttrs.version;
-    hash = "sha256-SEt/qw8ixlgRY2+fqyCmhqzLVoAw/BMl//JqQxbuB0s=";
+    hash = "sha256-1ok2HR9RapS+MF8zuNLhzMZMz0F2AQsKsxNqCT7QF/8=";
   };
 
   outputs = [ "out" "man" ];
@@ -151,7 +154,7 @@ stdenv.mkDerivation (finalAttrs: {
     description = "Like neofetch, but much faster because written in C";
     homepage = "https://github.com/fastfetch-cli/fastfetch";
     license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ gerg-l khaneliman federicoschonborn ];
+    maintainers = with lib.maintainers; [ gerg-l khaneliman ];
     platforms = lib.platforms.all;
     mainProgram = "fastfetch";
   };
diff --git a/pkgs/by-name/fe/feather/package.nix b/pkgs/by-name/fe/feather/package.nix
index 659f7ad1872f0..9c2dbd03500f0 100644
--- a/pkgs/by-name/fe/feather/package.nix
+++ b/pkgs/by-name/fe/feather/package.nix
@@ -22,13 +22,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "feather";
-  version = "2.6.5";
+  version = "2.6.7";
 
   src = fetchFromGitHub {
     owner = "feather-wallet";
     repo = "feather";
     rev = finalAttrs.version;
-    hash = "sha256-HvjcjiVXTK9mZOvh91iCMf/cZ9BMlPxXjgFKYWolJ74=";
+    hash = "sha256-zXNpNhBOtDvuuxzZ8o2XDLqNSi/XK4I6eYAfWuiCgRI=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/by-name/ff/fflogs/package.nix b/pkgs/by-name/ff/fflogs/package.nix
new file mode 100644
index 0000000000000..964805a549a54
--- /dev/null
+++ b/pkgs/by-name/ff/fflogs/package.nix
@@ -0,0 +1,37 @@
+{ lib
+, appimageTools
+, fetchurl
+}:
+
+let
+  pname = "fflogs";
+  version = "8.3.42";
+  src = fetchurl {
+    url = "https://github.com/RPGLogs/Uploaders-fflogs/releases/download/v${version}/fflogs-v${version}.AppImage";
+    hash = "sha256-Bc4C1cOOHdWkw2mHn3Q/2fcKuyCFDvOq1jLee2WPsyI=";
+  };
+  extracted = appimageTools.extractType2 { inherit pname version src; };
+in
+appimageTools.wrapType2 {
+  inherit pname version src;
+
+  extraInstallCommands = ''
+    mkdir -p $out/share/applications
+    cp -r ${extracted}/usr/share/icons $out/share/
+    chmod -R +w $out/share/
+    mv $out/share/icons/hicolor/0x0 $out/share/icons/hicolor/512x512 # https://github.com/electron-userland/electron-builder/issues/5294
+    cp ${extracted}/fflogs.desktop $out/share/applications/
+    sed -i 's@^Exec=AppRun --no-sandbox@Exec=fflogs@g' $out/share/applications/fflogs.desktop
+  '';
+
+  meta = with lib; {
+    description = "An application for uploading Final Fantasy XIV combat logs to fflogs.com";
+    homepage = "https://www.fflogs.com/client/download";
+    downloadPage = "https://github.com/RPGLogs/Uploaders-fflogs/releases/latest";
+    license = licenses.unfree; # no license listed
+    mainProgram = "fflogs";
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ sersorrel ];
+    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
+  };
+}
diff --git a/pkgs/by-name/fi/files-cli/package.nix b/pkgs/by-name/fi/files-cli/package.nix
index 834efb9d85e94..cab80e4e34586 100644
--- a/pkgs/by-name/fi/files-cli/package.nix
+++ b/pkgs/by-name/fi/files-cli/package.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "files-cli";
-  version = "2.13.7";
+  version = "2.13.14";
 
   src = fetchFromGitHub {
     repo = "files-cli";
     owner = "files-com";
     rev = "v${version}";
-    hash = "sha256-ozHHoPIpT0kpUUWnnaAbYeW7knZDN4kFB3edQ4NKpes=";
+    hash = "sha256-fECf3s9XKJq/DOyypfMgFRJjEIMKMUeWgCJca88vqJw=";
   };
 
-  vendorHash = "sha256-K3Dabeh3RcfTgBJ33k3/Ox6zcthFj5qK3fWBN2Jivz8=";
+  vendorHash = "sha256-adPPXElmQgnFOSWZCoQ65MheYdT6lyqhIICA2Ci7+b4=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/by-name/fm/fmtoy/package.nix b/pkgs/by-name/fm/fmtoy/package.nix
index a3fe819ae759e..fd466b777fd78 100644
--- a/pkgs/by-name/fm/fmtoy/package.nix
+++ b/pkgs/by-name/fm/fmtoy/package.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "fmtoy";
-  version = "0.0.0-unstable-2023-05-21";
+  version = "0-unstable-2024-04-18";
 
   src = fetchFromGitHub {
     owner = "vampirefrog";
     repo = "fmtoy";
-    rev = "2b54180d8edd0de90e2af01bf9ff303bc916e893";
-    hash = "sha256-qoMw4P+QEw4Q/wKBvFPh+WxkmOW6qH9FuFFkO2ZRrMc=";
+    rev = "aca005c770724f21c8a91dc6a482738871e78c9f";
+    hash = "sha256-vrd7Eg3Bh8ll2yCfD1rAJpotEe+Zq+JuF4VMhiYsbDw=";
   };
 
   postPatch = ''
diff --git a/pkgs/by-name/fn/fnott/package.nix b/pkgs/by-name/fn/fnott/package.nix
index 8e4327bc80c30..ad66d38748261 100644
--- a/pkgs/by-name/fn/fnott/package.nix
+++ b/pkgs/by-name/fn/fnott/package.nix
@@ -20,14 +20,14 @@
 
 stdenv.mkDerivation rec {
   pname = "fnott";
-  version = "1.4.1";
+  version = "1.5.0";
 
   src = fetchFromGitea {
     domain = "codeberg.org";
     owner = "dnkl";
     repo = "fnott";
     rev = version;
-    hash = "sha256-8SKInlj54BP3Gn/DNVoLN62+Dfa8G5d/q2xGUXXdsjo=";
+    hash = "sha256-F2Pt3xbWDZZ3s056KU3qLXUrFQ0wT7QYK4GvR7slMYc=";
   };
 
   strictDeps = true;
diff --git a/pkgs/applications/version-management/forgejo/package-json-npm-build-frontend.patch b/pkgs/by-name/fo/forgejo/package-json-npm-build-frontend.patch
index 57e2b7ec69653..f7567da020c63 100644
--- a/pkgs/applications/version-management/forgejo/package-json-npm-build-frontend.patch
+++ b/pkgs/by-name/fo/forgejo/package-json-npm-build-frontend.patch
@@ -1,11 +1,11 @@
 diff --git a/package.json b/package.json
-index 57dcfc2f7..c9f23dbf7 100644
+index b50c52cf43..d6aafb8775 100644
 --- a/package.json
 +++ b/package.json
-@@ -79,5 +79,8 @@
-     "defaults",
-     "not ie > 0",
-     "not ie_mob > 0"
+@@ -98,5 +98,8 @@
+   },
+   "browserslist": [
+     "defaults"
 -  ]
 +  ],
 +  "scripts": {
diff --git a/pkgs/applications/version-management/forgejo/default.nix b/pkgs/by-name/fo/forgejo/package.nix
index 65c683ddbe763..04ee8268ab0a4 100644
--- a/pkgs/applications/version-management/forgejo/default.nix
+++ b/pkgs/by-name/fo/forgejo/package.nix
@@ -24,7 +24,7 @@ let
     pname = "forgejo-frontend";
     inherit (forgejo) src version;
 
-    npmDepsHash = "sha256-uMPy4cqMDNZTpF+pk7YibXEJO1zxVfwlCeFzGgJBiU0=";
+    npmDepsHash = "sha256-BffoEbIzTU61bw3ECEm5eDHcav4S27MB5jQKsMprkcw=";
 
     patches = [
       ./package-json-npm-build-frontend.patch
@@ -39,33 +39,17 @@ let
 in
 buildGoModule rec {
   pname = "forgejo";
-  version = "1.21.11-1";
+  version = "7.0.1";
 
   src = fetchFromGitea {
     domain = "codeberg.org";
     owner = "forgejo";
     repo = "forgejo";
     rev = "v${version}";
-    hash = "sha256-7oYsoZpZcNIUw3iXSi1Q5So2yYgKnT5U7GHQ4NVqVdc=";
-    # Forgejo has multiple different version strings that need to be provided
-    # via ldflags.  main.ForgejoVersion for example is a combination of a
-    # hardcoded gitea compatibility version string (in the Makefile) and
-    # git describe and is easiest to get by invoking the Makefile.
-    # So we do that, store it the src FOD to then extend the ldflags array
-    # in preConfigure.
-    # The `echo -e >> Makefile` is temporary and already part of the next
-    # major release.  Furthermore, the ldflags will change next major release
-    # and need to be updated accordingly.
-    leaveDotGit = true;
-    postFetch = ''
-      cd "$out"
-      echo -e 'show-version-full:\n\t@echo ''${FORGEJO_VERSION}' >> Makefile
-      make show-version-full > FULL_VERSION
-      find "$out" -name .git -print0 | xargs -0 rm -rf
-    '';
+    hash = "sha256-HTTbIS+GBEuhYuKSI5jlhoX6hl6BsXp77h8JSQZyknI=";
   };
 
-  vendorHash = "sha256-OuWNF+muWM6xqwkFxLIUsn/huqXj2VKg8BN9+JHVw58=";
+  vendorHash = "sha256-UcjaMi/4XYLdaJhi2j3UWqHqkpTbZBo6EwNXxdRIKLw=";
 
   subPackages = [ "." ];
 
@@ -93,7 +77,7 @@ buildGoModule rec {
   ];
 
   preConfigure = ''
-    export ldflags+=" -X code.gitea.io/gitea/routers/api/forgejo/v1.ForgejoVersion=$(cat FULL_VERSION) -X main.ForgejoVersion=$(cat FULL_VERSION)"
+    export ldflags+=" -X main.ForgejoVersion=$(GITEA_VERSION=${version} make show-version-api)"
   '';
 
   preBuild = ''
diff --git a/pkgs/applications/version-management/forgejo/static-root-path.patch b/pkgs/by-name/fo/forgejo/static-root-path.patch
index 7f70329c60407..598c3a8103b1d 100644
--- a/pkgs/applications/version-management/forgejo/static-root-path.patch
+++ b/pkgs/by-name/fo/forgejo/static-root-path.patch
@@ -1,10 +1,10 @@
 diff --git a/modules/setting/server.go b/modules/setting/server.go
-index 183906268..fa02e8915 100644
+index c20dd1949d..c9bcdce99a 100644
 --- a/modules/setting/server.go
 +++ b/modules/setting/server.go
-@@ -319,7 +319,7 @@ func loadServerFrom(rootCfg ConfigProvider) {
- 	OfflineMode = sec.Key("OFFLINE_MODE").MustBool()
- 	Log.DisableRouterLog = sec.Key("DISABLE_ROUTER_LOG").MustBool()
+@@ -317,7 +317,7 @@ func loadServerFrom(rootCfg ConfigProvider) {
+ 	RedirectorUseProxyProtocol = sec.Key("REDIRECTOR_USE_PROXY_PROTOCOL").MustBool(UseProxyProtocol)
+ 	OfflineMode = sec.Key("OFFLINE_MODE").MustBool(true)
  	if len(StaticRootPath) == 0 {
 -		StaticRootPath = AppWorkPath
 +		StaticRootPath = "@data@"
diff --git a/pkgs/by-name/fr/frankenphp/package.nix b/pkgs/by-name/fr/frankenphp/package.nix
index e6ce4c97d2b08..e293e5c48fa3b 100644
--- a/pkgs/by-name/fr/frankenphp/package.nix
+++ b/pkgs/by-name/fr/frankenphp/package.nix
@@ -26,13 +26,13 @@ let
   pieBuild = stdenv.hostPlatform.isMusl;
 in buildGoModule rec {
   pname = "frankenphp";
-  version = "1.1.2";
+  version = "1.1.4";
 
   src = fetchFromGitHub {
     owner = "dunglas";
     repo = "frankenphp";
     rev = "v${version}";
-    hash = "sha256-r6BMlcjvRbVnBHsfRhJyMiyZzH2Z+FLOYz6ik4I8p+A=";
+    hash = "sha256-I1O5ZujFRIgbe+6k1FmCedywYwN1zA+owU+tLBtN7nU=";
   };
 
   sourceRoot = "${src.name}/caddy";
@@ -40,7 +40,7 @@ in buildGoModule rec {
   # frankenphp requires C code that would be removed with `go mod tidy`
   # https://github.com/golang/go/issues/26366
   proxyVendor = true;
-  vendorHash = "sha256-gxBD2KPkWtAM0MsaQ9Ed4QDjJCg1uJQpXvnCOnAsZTw=";
+  vendorHash = "sha256-u+7pUt6SmNI/smE3l3CQl+e/ZsVRSeVJgprR0aslrMI=";
 
   buildInputs = [ phpUnwrapped brotli ] ++ phpUnwrapped.buildInputs;
   nativeBuildInputs = [ makeBinaryWrapper ] ++ lib.optionals stdenv.isDarwin [ pkg-config darwin.cctools darwin.autoSignDarwinBinariesHook ];
diff --git a/pkgs/by-name/fw/fwupd/package.nix b/pkgs/by-name/fw/fwupd/package.nix
index e8726689e859c..b4683af8912eb 100644
--- a/pkgs/by-name/fw/fwupd/package.nix
+++ b/pkgs/by-name/fw/fwupd/package.nix
@@ -120,7 +120,7 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "fwupd";
-  version = "1.9.16";
+  version = "1.9.18";
 
   # libfwupd goes to lib
   # daemon, plug-ins and libfwupdplugin go to out
@@ -131,7 +131,7 @@ stdenv.mkDerivation (finalAttrs: {
     owner = "fwupd";
     repo = "fwupd";
     rev = finalAttrs.version;
-    hash = "sha256-mM8HSSQD5znjpl9q/f+u0RzZEkFA1tnh+BPB2qdcWvI=";
+    hash = "sha256-w2jqIPNV6OkPaHfy7bEFgr5IgzJYtMTrO5UWmnZ+2JI=";
   };
 
   patches = [
diff --git a/pkgs/by-name/ga/gamescope/package.nix b/pkgs/by-name/ga/gamescope/package.nix
index dcd00d290599a..fa20ddcf225c5 100644
--- a/pkgs/by-name/ga/gamescope/package.nix
+++ b/pkgs/by-name/ga/gamescope/package.nix
@@ -5,6 +5,7 @@
 , ninja
 , xorg
 , libdrm
+, libei
 , vulkan-loader
 , vulkan-headers
 , wayland
@@ -43,14 +44,14 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "gamescope";
-  version = "3.14.4";
+  version = "3.14.6";
 
   src = fetchFromGitHub {
     owner = "ValveSoftware";
     repo = "gamescope";
     rev = "refs/tags/${finalAttrs.version}";
     fetchSubmodules = true;
-    hash = "sha256-kmi+3EH5h5kQeyTB3RnnndPn+akHFAF0N7Gt/aCOdcs=";
+    hash = "sha256-Nj66d42Ih4pD15cNuMe81sviUepVVzVX8BEP7O2p0o0=";
   };
 
   patches = [
@@ -114,6 +115,7 @@ stdenv.mkDerivation (finalAttrs: {
     xorg.libXxf86vm
     libavif
     libdrm
+    libei
     libliftoff
     SDL2
     libdecor
diff --git a/pkgs/by-name/ga/garnet/package.nix b/pkgs/by-name/ga/garnet/package.nix
index af98dd1c0f3f9..eac945cfcf3df 100644
--- a/pkgs/by-name/ga/garnet/package.nix
+++ b/pkgs/by-name/ga/garnet/package.nix
@@ -7,13 +7,13 @@
 }:
 buildDotnetModule {
   pname = "garnet";
-  version = "1.0.1";
+  version = "1.0.6";
 
   src = fetchFromGitHub {
     owner = "microsoft";
     repo = "garnet";
     rev = "v${garnet.version}";
-    hash = "sha256-elUmM9Yw1/gazIV194P+noIm7ajQpRTccEhD5gN9D2Q=";
+    hash = "sha256-GBXRRLP4bBvKHr7tqvrOFFkTpUiiSYxj3DBrrehIl84=";
   };
 
   projectFile = "main/GarnetServer/GarnetServer.csproj";
diff --git a/pkgs/by-name/gh/gh-notify/package.nix b/pkgs/by-name/gh/gh-notify/package.nix
index e2690d383b1a6..402d409e6cae5 100644
--- a/pkgs/by-name/gh/gh-notify/package.nix
+++ b/pkgs/by-name/gh/gh-notify/package.nix
@@ -23,13 +23,13 @@ let
 in
 stdenvNoCC.mkDerivation {
   pname = "gh-notify";
-  version = "0-unstable-2024-03-19";
+  version = "0-unstable-2024-04-24";
 
   src = fetchFromGitHub {
     owner = "meiji163";
     repo = "gh-notify";
-    rev = "0d8fa377d79cfef0f66d2f03a5921a5e598e6807";
-    hash = "sha256-Ao6gUtgW7enVlWBQhlQDc8ZW/gP90atc2F4rDNUnjj8=";
+    rev = "5c2db4cffe39f312d25979dc366f2bc219def9a2";
+    hash = "sha256-AgpNjeRz0RHf8D3ib7x1zixBxh32UUZJleub5W/suuM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/gi/gitlab-ci-local/package.nix b/pkgs/by-name/gi/gitlab-ci-local/package.nix
index 40466b99d2da0..2faa7d87d6b5d 100644
--- a/pkgs/by-name/gi/gitlab-ci-local/package.nix
+++ b/pkgs/by-name/gi/gitlab-ci-local/package.nix
@@ -6,16 +6,16 @@
 
 buildNpmPackage rec {
   pname = "gitlab-ci-local";
-  version = "4.47.0";
+  version = "4.48.2";
 
   src = fetchFromGitHub {
     owner = "firecow";
     repo = "gitlab-ci-local";
     rev = version;
-    hash = "sha256-AMqifAdC4aPra/KfM0Z8L1mF6+lA0dv9tt/cXSd3Ov4=";
+    hash = "sha256-QdbVI6aby/UQCR3G25nvmvoXNMDndgLYz/hOTmj5dnc=";
   };
 
-  npmDepsHash = "sha256-GVqGA4aMfA08j/+fy+DA6udi52lmfDeAkE59d9CMAqg=";
+  npmDepsHash = "sha256-ebrdMbSAsughHCuV86s6WA12a8hqA2yyC/rJUyViOrI=";
 
   postPatch = ''
     # remove cleanup which runs git commands
diff --git a/pkgs/by-name/gi/gitu/package.nix b/pkgs/by-name/gi/gitu/package.nix
index 8754c3bb7ed78..98f0bb9830eb3 100644
--- a/pkgs/by-name/gi/gitu/package.nix
+++ b/pkgs/by-name/gi/gitu/package.nix
@@ -12,16 +12,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "gitu";
-  version = "0.17.1";
+  version = "0.19.2";
 
   src = fetchFromGitHub {
     owner = "altsem";
     repo = "gitu";
     rev = "v${version}";
-    hash = "sha256-9OY6zBW7UA4lTH+NI61xuil5p2ChQESXrG2zTxdJblE=";
+    hash = "sha256-6gjXsuxKGv8OrbBg8NDOj5ITpLI3S33VsjpCbK5SaIk=";
   };
 
-  cargoHash = "sha256-gVmoKneAtC5dJh5Z+3aXwxCixrPZTRcxQRpoSh4S1e4=";
+  cargoHash = "sha256-W73sSZ/OjeRcI2NNTp2gkabtC6krXOnv8nRAbNbXOp4=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/by-name/go/go-camo/package.nix b/pkgs/by-name/go/go-camo/package.nix
index e90fa676cbd4d..677a64b705808 100644
--- a/pkgs/by-name/go/go-camo/package.nix
+++ b/pkgs/by-name/go/go-camo/package.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "go-camo";
-  version = "2.4.12";
+  version = "2.4.13";
 
   src = fetchFromGitHub {
     owner = "cactus";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-rlzAx6xjV4JR3RDL+Kr2ghN3qpfIRqVZ5z/SyDBBaIc=";
+    sha256 = "sha256-nrkc+uYgPES3CfRjmfH/9eM6NL8Vo3kUBX9JHEw/1C4=";
   };
 
   vendorHash = "sha256-iyZNOooPH1jvT+S9/ETRoXsTwXUIUi1UKmDzhB7NRuE=";
diff --git a/pkgs/by-name/go/gophish/package.nix b/pkgs/by-name/go/gophish/package.nix
new file mode 100644
index 0000000000000..a319b2bd97e87
--- /dev/null
+++ b/pkgs/by-name/go/gophish/package.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "gophish";
+  version = "0.12.1";
+
+  src = fetchFromGitHub {
+    owner = "gophish";
+    repo = "gophish";
+    rev = "v${version}";
+    hash = "sha256-6OUhRB2d8k7h9tI3IPKy9f1KoEx1mvGbxQZF1sCngqs=";
+  };
+
+  vendorHash = "sha256-2seQCVALU35l+aAsfag0W19FWlSTlEsSmxTmKKi3A+0=";
+
+  meta = with lib; {
+    description = "Open-Source Phishing Toolkit";
+    longDescription = ''
+      Open-source phishing toolkit designed for businesses and penetration testers.
+      Provides the ability to quickly and easily setup and execute phishing engagements and security awareness training.
+    '';
+    homepage = "https://github.com/gophish/gophish";
+    license = licenses.mit;
+    maintainers = with maintainers; [ mib ];
+    mainProgram = "gophish";
+  };
+}
diff --git a/pkgs/applications/version-management/got/default.nix b/pkgs/by-name/go/got/package.nix
index 2448e4ccffea9..127ff219ed5ee 100644
--- a/pkgs/applications/version-management/got/default.nix
+++ b/pkgs/by-name/go/got/package.nix
@@ -2,7 +2,7 @@
 , stdenv
 , fetchurl
 , pkg-config
-, openssl
+, libressl
 , libbsd
 , libevent
 , libuuid
@@ -12,21 +12,22 @@
 , ncurses
 , bison
 , autoPatchelfHook
+, testers
 }:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "got";
-  version = "0.97";
+  version = "0.98.2";
 
   src = fetchurl {
     url = "https://gameoftrees.org/releases/portable/got-portable-${finalAttrs.version}.tar.gz";
-    hash = "sha256-4HpIlKRYUDoymCBH8GS8DDXaY0nYiVvotpBkwglOO3I=";
+    hash = "sha256-/11K2ZIu3xyAVbI5hlCXL9RjyAlZDb544uqxv3ihUMg=";
   };
 
   nativeBuildInputs = [ pkg-config bison ]
     ++ lib.optionals stdenv.isLinux [ autoPatchelfHook ];
 
-  buildInputs = [ openssl libbsd libevent libuuid libmd zlib ncurses ]
+  buildInputs = [ libressl libbsd libevent libuuid libmd zlib ncurses ]
     ++ lib.optionals stdenv.isDarwin [ libossp_uuid ];
 
   configureFlags = [ "--enable-gotd" ];
@@ -45,13 +46,9 @@ stdenv.mkDerivation (finalAttrs: {
     "-include getopt.h"
   ]);
 
-  doInstallCheck = true;
-
-  installCheckPhase = ''
-    runHook preInstallCheck
-    test "$($out/bin/got --version)" = "got ${finalAttrs.version}"
-    runHook postInstallCheck
-  '';
+  passthru.tests.version = testers.testVersion {
+    package = finalAttrs.finalPackage;
+  };
 
   meta = {
     changelog = "https://gameoftrees.org/releases/CHANGES";
diff --git a/pkgs/by-name/gr/grafana-kiosk/package.nix b/pkgs/by-name/gr/grafana-kiosk/package.nix
new file mode 100644
index 0000000000000..0c1c40ad310c8
--- /dev/null
+++ b/pkgs/by-name/gr/grafana-kiosk/package.nix
@@ -0,0 +1,23 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "grafana-kiosk";
+  version = "1.0.6";
+
+  src = fetchFromGitHub {
+    owner = "grafana";
+    repo = "grafana-kiosk";
+    rev = "v${version}";
+    hash = "sha256-KXEbhRFD++VeVI1Fbrai+IYb3lyGKs+plYPoKIZD0JM=";
+  };
+
+  vendorHash = "sha256-sXaxyPNuHDUOkYcWYm94YvJmr1mGe4HdzttWrNSK2Pw=";
+
+  meta = with lib; {
+    description = "Kiosk Utility for Grafana";
+    homepage = "https://github.com/grafana/grafana-kiosk";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ marcusramberg ];
+    mainProgram = "grafana-kiosk";
+  };
+}
diff --git a/pkgs/development/libraries/graphene-hardened-malloc/default.nix b/pkgs/by-name/gr/graphene-hardened-malloc/package.nix
index 48df439a1efb1..c92fc2c398cff 100644
--- a/pkgs/development/libraries/graphene-hardened-malloc/default.nix
+++ b/pkgs/by-name/gr/graphene-hardened-malloc/package.nix
@@ -1,35 +1,47 @@
-{ lib
-, stdenv
-, fetchFromGitHub
+{ fetchFromGitHub
+, lib
+, makeWrapper
 , python3
 , runCommand
-, makeWrapper
+, stdenv
 , stress-ng
 }:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "graphene-hardened-malloc";
-  version = "12";
+  version = "2024040900";
 
   src = fetchFromGitHub {
     owner = "GrapheneOS";
     repo = "hardened_malloc";
     rev = finalAttrs.version;
-    sha256 = "sha256-ujwzr4njNsf/VTyEq7zKHWxoivU3feavSTx+MLIj1ZM=";
+    sha256 = "sha256-1j7xzhuhK8ZRAJm9dJ95xiTIla7lh3LBiWc/+x/kjp0=";
   };
 
-  doCheck = true;
   nativeCheckInputs = [ python3 ];
   # these tests cover use as a build-time-linked library
   checkTarget = "test";
+  doCheck = true;
+
+  buildPhase = ''
+    runHook preBuild
+
+    for VARIANT in default light; do make $makeFlags ''${enableParallelBuilding:+-j$NIX_BUILD_CORES} VARIANT=$VARIANT; done
+
+    runHook postBuild
+  '';
 
   installPhase = ''
+    runHook preInstall
+
     install -Dm444 -t $out/include include/*
-    install -Dm444 -t $out/lib out/libhardened_malloc.so
+    install -Dm444 -t $out/lib out/libhardened_malloc.so out-light/libhardened_malloc-light.so
 
     mkdir -p $out/bin
     substitute preload.sh $out/bin/preload-hardened-malloc --replace "\$dir" $out/lib
     chmod 0555 $out/bin/preload-hardened-malloc
+
+    runHook postInstall
   '';
 
   separateDebugInfo = true;
diff --git a/pkgs/by-name/gr/graphite-cli/package-lock.json b/pkgs/by-name/gr/graphite-cli/package-lock.json
index 953548f1f984d..99d12c5e93229 100644
--- a/pkgs/by-name/gr/graphite-cli/package-lock.json
+++ b/pkgs/by-name/gr/graphite-cli/package-lock.json
@@ -1,12 +1,12 @@
 {
   "name": "@withgraphite/graphite-cli",
-  "version": "1.2.8",
+  "version": "1.3.3",
   "lockfileVersion": 3,
   "requires": true,
   "packages": {
     "": {
       "name": "@withgraphite/graphite-cli",
-      "version": "1.2.8",
+      "version": "1.3.3",
       "hasInstallScript": true,
       "license": "None",
       "dependencies": {
diff --git a/pkgs/by-name/gr/graphite-cli/package.nix b/pkgs/by-name/gr/graphite-cli/package.nix
index 7bb433e3592b5..67872584aadb7 100644
--- a/pkgs/by-name/gr/graphite-cli/package.nix
+++ b/pkgs/by-name/gr/graphite-cli/package.nix
@@ -7,14 +7,14 @@
 
 buildNpmPackage rec {
   pname = "graphite-cli";
-  version = "1.2.8";
+  version = "1.3.3";
 
   src = fetchurl {
     url = "https://registry.npmjs.org/@withgraphite/graphite-cli/-/graphite-cli-${version}.tgz";
-    hash = "sha256-fDnCQVHsdP5xXfMrbndha3sl96W4F3Z4gEGq7g9p9w0=";
+    hash = "sha256-zNHk80PGsjucoZgKbLn5khQmhgrxKJfldiLJBzF4EXs=";
   };
 
-  npmDepsHash = "sha256-qzU+wG2ESkDxok55RE37LtbsnPZWEwJcTGnkOkRdRS0=";
+  npmDepsHash = "sha256-A/J7CUWtl0Wlv1fJKx1qSub7JhDoZhHsWHAYkcAGy6g=";
 
   postPatch = ''
     ln -s ${./package-lock.json} package-lock.json
diff --git a/pkgs/by-name/gr/gruvbox-plus-icons/package.nix b/pkgs/by-name/gr/gruvbox-plus-icons/package.nix
index fd9c88e5de01a..7525953259311 100644
--- a/pkgs/by-name/gr/gruvbox-plus-icons/package.nix
+++ b/pkgs/by-name/gr/gruvbox-plus-icons/package.nix
@@ -8,15 +8,15 @@
 , hicolor-icon-theme
 }:
 
-stdenvNoCC.mkDerivation {
+stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "gruvbox-plus-icons";
-  version = "unstable-2023-12-07";
+  version = "5.3.1";
 
   src = fetchFromGitHub {
     owner = "SylEleuth";
     repo = "gruvbox-plus-icon-pack";
-    rev = "f3109979fe93b31ea14eb2d5c04247a895302ea0";
-    sha256 = "sha256-EijTEDkPmcDcMhCuL6fOWjU9eXFUwmeOEwfGlxadb1U=";
+    rev = "v${finalAttrs.version}";
+    sha256 = "sha256-Y+wNmZTVWsg6Hn+fak71jnoZ72Cz/8YYpGWkKr4+C9Q=";
   };
 
   nativeBuildInputs = [ gtk3 ];
@@ -44,4 +44,4 @@ stdenvNoCC.mkDerivation {
     platforms = platforms.linux;
     maintainers = with maintainers; [ eureka-cpu RGBCube ];
   };
-}
+})
diff --git a/pkgs/tools/security/grype/default.nix b/pkgs/by-name/gr/grype/package.nix
index 7d9a7b4bc02b9..645c9cadb4fce 100644
--- a/pkgs/tools/security/grype/default.nix
+++ b/pkgs/by-name/gr/grype/package.nix
@@ -9,13 +9,13 @@
 
 buildGoModule rec {
   pname = "grype";
-  version = "0.77.0";
+  version = "0.77.1";
 
   src = fetchFromGitHub {
     owner = "anchore";
     repo = "grype";
     rev = "refs/tags/v${version}";
-    hash = "sha256-EnAMAmoP8rbkOkdPPxkN14lOPVYPqVpmaekfXBboeyI=";
+    hash = "sha256-Qfoo05MicnQ1shbEV/Rrz9TDrMBDvWBr0U/ZqnlnLTI=";
     # populate values that require us to use git. By doing this in postFetch we
     # can delete .git afterwards and maintain better reproducibility of the src.
     leaveDotGit = true;
@@ -30,7 +30,7 @@ buildGoModule rec {
 
   proxyVendor = true;
 
-  vendorHash = "sha256-oJNTvbfVkz4fK+EsF2ZoFfBSlkt0pFT4r2QDyhZhv5Y=";
+  vendorHash = "sha256-lAq1PRElWR0F+OfuSBpR/gnFOptFH33ObR8yd1k7oMk=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/by-name/gt/gtk-session-lock/package.nix b/pkgs/by-name/gt/gtk-session-lock/package.nix
new file mode 100644
index 0000000000000..713c9aa3c7603
--- /dev/null
+++ b/pkgs/by-name/gt/gtk-session-lock/package.nix
@@ -0,0 +1,57 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, meson
+, ninja
+, pkg-config
+, gobject-introspection
+, vala
+, gtk3
+, wayland-scanner
+, wayland
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "gtk-session-lock";
+  version = "0.2.0";
+
+  src = fetchFromGitHub {
+    owner = "Cu3PO42";
+    repo = "gtk-session-lock";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-SHKAYmdev08oRB/V6UpfSFqYwplF59IaNSOoWcACPig=";
+  };
+
+  outputs = [ "out" "dev" ];
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    gobject-introspection
+    vala
+    wayland-scanner
+  ];
+
+  buildInputs = [
+    gtk3
+    wayland
+  ];
+
+  # Tests are not fully prepared, but may be enabled in later versions
+  doCheck = false;
+
+  strictDeps = true;
+
+  meta = {
+    description = "A library to use GTK 3 to build screen lockers using ext-session-lock-v1 protocol";
+    homepage = "https://github.com/Cu3PO42/gtk-session-lock";
+    # The author stated "GTK Session Lock is licensed under the GNU General
+    # Public License version 3.0 or any later version approved by me (Cu3PO42)."
+    # Since we don't know if the author will approve later versions, we mark gpl3Only
+    license = with lib.licenses; [ gpl3Only ];
+    maintainers = with lib.maintainers; [ aleksana ];
+    platforms = lib.platforms.unix;
+    badPlatforms = lib.platforms.darwin;
+  };
+})
diff --git a/pkgs/by-name/gv/gvisor/package.nix b/pkgs/by-name/gv/gvisor/package.nix
index 0a83adc5953c3..4389f6b1f92b7 100644
--- a/pkgs/by-name/gv/gvisor/package.nix
+++ b/pkgs/by-name/gv/gvisor/package.nix
@@ -46,7 +46,7 @@ buildGoModule {
     description = "Application Kernel for Containers";
     homepage = "https://github.com/google/gvisor";
     license = licenses.asl20;
-    maintainers = with maintainers; [ andrew-d gpl ];
+    maintainers = with maintainers; [ gpl ];
     platforms = [ "x86_64-linux" "aarch64-linux" ];
   };
 }
diff --git a/pkgs/by-name/ha/hamtransfer/package.nix b/pkgs/by-name/ha/hamtransfer/package.nix
new file mode 100644
index 0000000000000..49dbe40cd988b
--- /dev/null
+++ b/pkgs/by-name/ha/hamtransfer/package.nix
@@ -0,0 +1,42 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, pkg-config
+, protobuf
+, sqlite
+}:
+
+rustPlatform.buildRustPackage {
+  pname = "hamtransfer";
+  version = "unstable-2024-04-05";
+
+  src = fetchFromGitHub {
+    owner = "ThomasHabets";
+    repo = "hamtransfer";
+    rev = "6b0ac28e0b8cdcc3ac9aba9cd6115e48c4f26c1e";
+    hash = "sha256-yZwbFjs+mnTbU+75dwRhVjvXXoHQuzgE9GlliUQZV1s=";
+  };
+
+  cargoHash = "sha256-lFzsURGhEcuTL6dHt4/l54eT3mD7H8tsW/+unisdjKY=";
+
+  nativeBuildInputs = [
+    pkg-config
+    protobuf
+  ];
+
+  buildInputs = [
+    sqlite
+  ];
+
+  postInstall = ''
+    mv $out/bin/downloader $out/bin/hamtransfer-downloader
+    mv $out/bin/uploader $out/bin/hamtransfer-uploader
+  '';
+
+  meta = with lib; {
+    description = "Tool for transferring files over amateur radio using modern techniques";
+    homepage = "https://github.com/ThomasHabets/hamtransfer";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ matthewcroughan sarcasticadmin pkharvey ];
+  };
+}
diff --git a/pkgs/by-name/ha/hashid/package.nix b/pkgs/by-name/ha/hashid/package.nix
new file mode 100644
index 0000000000000..5679fb1a272d3
--- /dev/null
+++ b/pkgs/by-name/ha/hashid/package.nix
@@ -0,0 +1,25 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, python3Packages
+}:
+
+python3Packages.buildPythonApplication {
+  pname = "hashid";
+  version = "3.1.4-unstable-2015-03-17";
+
+  src = fetchFromGitHub {
+    owner = "psypanda";
+    repo = "hashID";
+    rev = "7e8473a823060e56d4b6090a98591e252bd9505e";
+    hash = "sha256-R2r/UYRcHbpfOz/XqtSUIpd826eT1Erfo7frAiArT34=";
+  };
+
+  meta = with lib; {
+    description = "Software to identify the different types of hashes";
+    homepage = "https://github.com/psypanda/hashID";
+    mainProgram = "hashid";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ d3vil0p3r ];
+  };
+}
diff --git a/pkgs/by-name/hb/hb-honeypot/package.nix b/pkgs/by-name/hb/hb-honeypot/package.nix
new file mode 100644
index 0000000000000..9af60395731e0
--- /dev/null
+++ b/pkgs/by-name/hb/hb-honeypot/package.nix
@@ -0,0 +1,38 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, makeWrapper
+, perl
+}:
+
+stdenv.mkDerivation {
+  pname = "hb-honeypot";
+  version = "0-unstable-2024-02-13";
+
+  src = fetchFromGitHub {
+    owner = "D3vil0p3r";
+    repo = "hb-honeypot";
+    rev = "06ca7336bfb7deca54eae2cee239496d26f21b5b";
+    hash = "sha256-vnq7u/sqDLD+PsZ9DlxfjNuTkO8lhZujjAgmTcWf/3I=";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/{bin,share/hb-honeypot}
+    cp hb-honeypot.pl $out/share/hb-honeypot/
+    makeWrapper ${perl}/bin/perl $out/bin/hb-honeypot \
+      --add-flags "$out/share/hb-honeypot/hb-honeypot.pl"
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Script that listens on TCP port 443 and responds with completely bogus SSL heartbeat responses";
+    mainProgram = "hb-honeypot";
+    homepage = "https://github.com/D3vil0p3r/hb-honeypot";
+    maintainers = with maintainers; [ d3vil0p3r ];
+    platforms = platforms.unix;
+    license = licenses.gpl3Plus;
+  };
+}
diff --git a/pkgs/by-name/hi/hifile/package.nix b/pkgs/by-name/hi/hifile/package.nix
index 5af67f9177b44..4e06e08231dbf 100644
--- a/pkgs/by-name/hi/hifile/package.nix
+++ b/pkgs/by-name/hi/hifile/package.nix
@@ -17,8 +17,6 @@ in appimageTools.wrapType2 rec {
   inherit pname version src;
 
   extraInstallCommands = ''
-    mv $out/bin/${pname}-${version} $out/bin/${pname}
-
     install -m 444 -D ${appimageContents}/HiFile.desktop $out/share/applications/HiFile.desktop
     install -m 444 -D ${appimageContents}/HiFile.png $out/share/icons/hicolor/512x512/apps/HiFile.png
     substituteInPlace $out/share/applications/HiFile.desktop \
diff --git a/pkgs/by-name/ho/home-manager/package.nix b/pkgs/by-name/ho/home-manager/package.nix
index 6aea05d15a2c2..eab2ca256876b 100644
--- a/pkgs/by-name/ho/home-manager/package.nix
+++ b/pkgs/by-name/ho/home-manager/package.nix
@@ -16,14 +16,14 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "home-manager";
-  version = "unstable-2024-04-16";
+  version = "0-unstable-2024-04-29";
 
   src = fetchFromGitHub {
     name = "home-manager-source";
     owner = "nix-community";
     repo = "home-manager";
-    rev = "fa8c16e2452bf092ac76f09ee1fb1e9f7d0796e7";
-    hash = "sha256-LmaabaQZdx52MPGKPRt9Opoc9Gd9RbwvCdysUUYQoXI=";
+    rev = "9fe79591c1005ce6f93084ae7f7dab0a2891440d";
+    hash = "sha256-OzD1P0o46uD3Ix4ZI/g9z3YAeg+4g+W3qctB6bNOReo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/ho/hoppscotch/package.nix b/pkgs/by-name/ho/hoppscotch/package.nix
index e7d1dbdc274b7..a1bc84dcf5ae3 100644
--- a/pkgs/by-name/ho/hoppscotch/package.nix
+++ b/pkgs/by-name/ho/hoppscotch/package.nix
@@ -63,8 +63,6 @@ else appimageTools.wrapType2 {
       appimageContents = appimageTools.extractType2 { inherit pname version src; };
     in
     ''
-      mv $out/bin/${pname}-${version} $out/bin/${pname}
-
       # Install .desktop files
       install -Dm444 ${appimageContents}/hoppscotch.desktop -t $out/share/applications
       install -Dm444 ${appimageContents}/hoppscotch.png -t $out/share/pixmaps
diff --git a/pkgs/by-name/ht/htb-toolkit/package.nix b/pkgs/by-name/ht/htb-toolkit/package.nix
index b833fed50580d..cedbe645f9416 100644
--- a/pkgs/by-name/ht/htb-toolkit/package.nix
+++ b/pkgs/by-name/ht/htb-toolkit/package.nix
@@ -17,17 +17,17 @@
 
 rustPlatform.buildRustPackage {
   pname = "htb-toolkit";
-  version = "unstable-2024-01-17";
+  version = "0-unstable-2024-04-22";
 
   src = fetchFromGitHub {
     owner = "D3vil0p3r";
     repo = "htb-toolkit";
     # https://github.com/D3vil0p3r/htb-toolkit/issues/3
-    rev = "54e11774ea8746ea540548082d3b25c22306b4fc";
-    hash = "sha256-QYUqdqFV9Qn+VbJTnz5hx5I0XV1nrzCoCKtRS7jBLsE=";
+    rev = "921e4b352a9dd8b3bc8ac8774e13509abd179aef";
+    hash = "sha256-o91p/m06pm9qoYZZVh+qHulqHO2G7xVJQPpEvRsq+8Q=";
   };
 
-  cargoHash = "sha256-XDE6A6EIAUbuzt8Zb/ROfDAPp0ZyN0WQ4D1gWHjRVhg=";
+  cargoHash = "sha256-vTUiagI0eTrADr6zCMI5btLRvXgZSaohldg4jYmjfyA=";
 
   # Patch to disable prompt change of the shell when a target machine is run. Needed due to Nix declarative nature
   patches = [
@@ -39,24 +39,25 @@ rustPlatform.buildRustPackage {
   ];
 
   buildInputs = [
-    gnome.gnome-keyring
     openssl
+  ] ++ lib.optionals stdenv.isLinux [
+    gnome.gnome-keyring
   ] ++ lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.Security
+    darwin.apple_sdk.frameworks.SystemConfiguration
   ];
 
   postPatch = ''
     substituteInPlace src/manage.rs \
-      --replace /usr/share/htb-toolkit/icons/ $out/share/htb-toolkit/icons/
+      --replace-fail /usr/share/icons/htb-toolkit/ $out/share/icons/htb-toolkit/
     substituteInPlace src/utils.rs \
-      --replace /usr/bin/bash ${bash} \
-      --replace "\"base64\"" "\"${coreutils}/bin/base64\"" \
-      --replace "\"gunzip\"" "\"${gzip}/bin/gunzip\""
+      --replace-fail "\"base64\"" "\"${coreutils}/bin/base64\"" \
+      --replace-fail "\"gunzip\"" "\"${gzip}/bin/gunzip\""
     substituteInPlace src/appkey.rs \
-      --replace secret-tool ${lib.getExe libsecret}
+      --replace-fail secret-tool ${lib.getExe libsecret}
     substituteInPlace src/vpn.rs \
-      --replace "arg(\"openvpn\")" "arg(\"${openvpn}/bin/openvpn\")" \
-      --replace "arg(\"killall\")" "arg(\"${killall}/bin/killall\")"
+      --replace-fail "arg(\"openvpn\")" "arg(\"${openvpn}/bin/openvpn\")" \
+      --replace-fail "arg(\"killall\")" "arg(\"${killall}/bin/killall\")"
   '';
 
   meta = with lib; {
diff --git a/pkgs/by-name/hu/hugo/package.nix b/pkgs/by-name/hu/hugo/package.nix
index 1fa25ad356eb9..9d5e94fa25543 100644
--- a/pkgs/by-name/hu/hugo/package.nix
+++ b/pkgs/by-name/hu/hugo/package.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "hugo";
-  version = "0.125.3";
+  version = "0.125.4";
 
   src = fetchFromGitHub {
     owner = "gohugoio";
     repo = "hugo";
     rev = "refs/tags/v${version}";
-    hash = "sha256-PZTV/VM0KS/vM4lLrJ/XPvNi33lM+L0gITQHGpjdN+4=";
+    hash = "sha256-oeOP9UoiAGwYR2Vzr5IZrLfYA3EQJ9j6Bzh7C12pA+c=";
   };
 
-  vendorHash = "sha256-jGCHlAE5mSDKpZVWgjCEN51sL+3GR/C5ROI9065OhRU=";
+  vendorHash = "sha256-L8+e6rZvFaNV9gyWJtXv9NnzoigVDSyNKTuxGrRwb44=";
 
   doCheck = false;
 
diff --git a/pkgs/by-name/hy/hyprland-activewindow/package.nix b/pkgs/by-name/hy/hyprland-activewindow/package.nix
new file mode 100644
index 0000000000000..1ff0396fb7c72
--- /dev/null
+++ b/pkgs/by-name/hy/hyprland-activewindow/package.nix
@@ -0,0 +1,24 @@
+{ lib, fetchFromGitHub, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "hyprland-activewindow";
+  version = "1.0.2";
+
+  src = fetchFromGitHub {
+    owner = "FieldOfClay";
+    repo = "hyprland-activewindow";
+    rev = "v${version}";
+    hash = "sha256-kF2dNb9hiC6RcL2XG8k18da5he94Jpv3v+HdfHbeW3E=";
+  };
+
+  cargoHash = "sha256-YCzAfVLKDECGG/1fs3vyVB0oglxLFSE+2cnmLc7RoEo=";
+
+  meta = with lib; {
+    description = "A multi-monitor-aware Hyprland workspace widget helper";
+    homepage = "https://github.com/FieldofClay/hyprland-activewindow";
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ kiike donovanglover ];
+    mainProgram = "hyprland-activewindow";
+  };
+}
diff --git a/pkgs/by-name/hy/hyprland-monitor-attached/package.nix b/pkgs/by-name/hy/hyprland-monitor-attached/package.nix
index 6f505aa7981ef..291b1f5a249df 100644
--- a/pkgs/by-name/hy/hyprland-monitor-attached/package.nix
+++ b/pkgs/by-name/hy/hyprland-monitor-attached/package.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "hyprland-monitor-attached";
-  version = "0.1.5";
+  version = "0.1.6";
 
   src = fetchFromGitHub {
     owner = "coffebar";
     repo = "hyprland-monitor-attached";
     rev = version;
-    hash = "sha256-McenpaoEjQIB709VlLkyVGoUwVoMe7TJPb8Lrh1efw8=";
+    hash = "sha256-+bgOOm1B513COcWdUIJ/+GREQH5CR8/RNOcZVkjO2hI=";
   };
 
-  cargoHash = "sha256-QH32NYZJcSxTMgHZKqksy2+DLw62G+knJgoj6OGRfQE=";
+  cargoHash = "sha256-vQfDsP2Tc+Kj95wXIzPTlf6kRdBgdio0QkM9EJRjZjE=";
 
   meta = with lib; {
     description = "Automatically run a script when a monitor connects (or disconnects) in Hyprland";
diff --git a/pkgs/by-name/hy/hyprland-workspaces/package.nix b/pkgs/by-name/hy/hyprland-workspaces/package.nix
new file mode 100644
index 0000000000000..4ca89b0da1188
--- /dev/null
+++ b/pkgs/by-name/hy/hyprland-workspaces/package.nix
@@ -0,0 +1,28 @@
+{
+  lib,
+  rustPlatform,
+  fetchFromGitHub,
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "hyprland-workspaces";
+  version = "2.0.0";
+
+  src = fetchFromGitHub {
+    owner = "FieldofClay";
+    repo = "hyprland-workspaces";
+    rev = "v${version}";
+    hash = "sha256-4QGLTimIpx74gWUyHCheUZZT1WgVzBoJRY8OlUDdOh4=";
+  };
+
+  cargoHash = "sha256-9ndP0nyRBCdOGth4UWA263IvjbgnVW2x9PK8oTaMrxg=";
+
+  meta = with lib; {
+    description = "A multi-monitor aware Hyprland workspace widget";
+    homepage = "https://github.com/FieldofClay/hyprland-workspaces";
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ kiike donovanglover ];
+    mainProgram = "hyprland-workspaces";
+  };
+}
diff --git a/pkgs/by-name/hy/hyprlock/cmake.patch b/pkgs/by-name/hy/hyprlock/cmake.patch
new file mode 100644
index 0000000000000..92c21d643c0f3
--- /dev/null
+++ b/pkgs/by-name/hy/hyprlock/cmake.patch
@@ -0,0 +1,15 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 07e2338..720810b 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -83,9 +83,4 @@ protocol("unstable/linux-dmabuf/linux-dmabuf-unstable-v1.xml" "linux-dmabuf-unst
+ # Installation
+ install(TARGETS hyprlock)
+ 
+-install(CODE "
+-    if (NOT EXISTS \"${CMAKE_INSTALL_FULL_SYSCONFDIR}/pam.d/hyprlock\")
+-        install(FILES \"${CMAKE_SOURCE_DIR}/pam/hyprlock\" DESTINATION \"${CMAKE_INSTALL_FULL_SYSCONFDIR}/pam.d\")
+-    endif()
+-")
+-
++install(FILES "${CMAKE_SOURCE_DIR}/pam/hyprlock" DESTINATION "${CMAKE_INSTALL_FULL_SYSCONFDIR}/pam.d")
diff --git a/pkgs/by-name/hy/hyprlock/package.nix b/pkgs/by-name/hy/hyprlock/package.nix
index 5bac39c63d49e..fb59a96321a09 100644
--- a/pkgs/by-name/hy/hyprlock/package.nix
+++ b/pkgs/by-name/hy/hyprlock/package.nix
@@ -18,15 +18,20 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "hyprlock";
-  version = "0.2.0";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "hyprwm";
     repo = "hyprlock";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-1p6Y/8+ETaz7GQ8wsXLUTrk2dD0YN9ySOfwjRp2TSG4=";
+    hash = "sha256-rbzVe2WNdHynJrnyJsKOOrV8yuuJ7QIuah3ZHWERSnA=";
   };
 
+  patches = [
+    # remove PAM file install check
+    ./cmake.patch
+  ];
+
   strictDeps = true;
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/i3/i3bar-river/package.nix b/pkgs/by-name/i3/i3bar-river/package.nix
index b31e4ca12910d..e629dd32b95e9 100644
--- a/pkgs/by-name/i3/i3bar-river/package.nix
+++ b/pkgs/by-name/i3/i3bar-river/package.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "i3bar-river";
-  version = "0.1.6";
+  version = "0.1.7";
 
   src = fetchFromGitHub {
     owner = "MaxVerevkin";
     repo = "i3bar-river";
     rev = "v${version}";
-    hash = "sha256-wtyC8cGK408KZYpWniW2y4XI1ScTSBZJJlUt6b2Z5KA=";
+    hash = "sha256-mLRB4o8FR/R9QUpRkcNppiE2XcWFWE05wPxuKdxG18M=";
   };
 
-  cargoHash = "sha256-PdSMDsV3yFy3kSNS6OBxFdrZsIn70gXOTd2AhyU4a9o=";
+  cargoHash = "sha256-INjuI3XTSzAjLqk/P+cd7rMhXsOBDSqMaZZN9kFyreg=";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ pango ];
diff --git a/pkgs/by-name/ic/icloudpd/package.nix b/pkgs/by-name/ic/icloudpd/package.nix
index 01f30919e2730..f4e9208838314 100644
--- a/pkgs/by-name/ic/icloudpd/package.nix
+++ b/pkgs/by-name/ic/icloudpd/package.nix
@@ -8,14 +8,14 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "icloudpd";
-  version = "1.17.4";
+  version = "1.17.5";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "icloud-photos-downloader";
     repo = "icloud_photos_downloader";
     rev = "v${version}";
-    hash = "sha256-xsUayewn6c+TFqQnvDWe+1y4o76Quq8sK1WkSFFgPkc=";
+    hash = "sha256-1tyvoDAlh2UuPWDqA7mwC1v5kij3v3aBZBfIG/vluJo=";
   };
 
   pythonRelaxDeps = true;
diff --git a/pkgs/by-name/im/immersed-vr/linux.nix b/pkgs/by-name/im/immersed-vr/linux.nix
index fa4332e9146c8..cab32531fd7f3 100644
--- a/pkgs/by-name/im/immersed-vr/linux.nix
+++ b/pkgs/by-name/im/immersed-vr/linux.nix
@@ -7,8 +7,4 @@
 appimageTools.wrapType2 rec {
   inherit pname version src meta;
   name = "${pname}-${version}";
-
-  extraInstallCommands = ''
-    mv $out/bin/{${name},${pname}}
-  '';
 }
diff --git a/pkgs/by-name/in/integresql/package.nix b/pkgs/by-name/in/integresql/package.nix
index 3741206239b3a..409ef736d9e46 100644
--- a/pkgs/by-name/in/integresql/package.nix
+++ b/pkgs/by-name/in/integresql/package.nix
@@ -31,7 +31,7 @@ buildGoModule rec {
     homepage = "https://github.com/allaboutapps/integresql";
     changelog = "https://github.com/allaboutapps/integresql/blob/${src.rev}/CHANGELOG.md";
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     mainProgram = "integresql";
   };
 }
diff --git a/pkgs/by-name/ir/iredis/package.nix b/pkgs/by-name/ir/iredis/package.nix
index 6946abf5077a6..5694ed44bed39 100644
--- a/pkgs/by-name/ir/iredis/package.nix
+++ b/pkgs/by-name/ir/iredis/package.nix
@@ -64,7 +64,7 @@ python3.pkgs.buildPythonApplication rec {
     changelog = "https://github.com/laixintao/iredis/blob/${src.rev}/CHANGELOG.md";
     homepage = "https://iredis.xbin.io/";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
     mainProgram = "iredis";
   };
 }
diff --git a/pkgs/by-name/is/iscc/package.nix b/pkgs/by-name/is/iscc/package.nix
new file mode 100644
index 0000000000000..1f3472d288ca6
--- /dev/null
+++ b/pkgs/by-name/is/iscc/package.nix
@@ -0,0 +1,63 @@
+{ stdenv
+, fetchurl
+, innoextract
+, runtimeShell
+, wineWow64Packages
+, lib
+}:
+
+let
+  version = "6.2.2";
+  majorVersion = builtins.substring 0 1 version;
+in
+stdenv.mkDerivation rec {
+  pname = "iscc";
+  inherit version;
+  src = fetchurl {
+    url = "https://files.jrsoftware.org/is/${majorVersion}/innosetup-${version}.exe";
+    hash = "sha256-gRfRDQCirTOhOQl46jhyhhwzDgh5FEEKY3eyLExbhWM=";
+  };
+  nativeBuildInputs = [
+    innoextract
+    wineWow64Packages.stable
+  ];
+  unpackPhase = ''
+    runHook preUnpack
+    innoextract $src
+    runHook postUnpack
+  '';
+  dontBuild = true;
+  installPhase = ''
+    runHook preInstall
+    mkdir -p "$out/bin"
+    cp -r ./app/* "$out/bin"
+
+    cat << 'EOF' > "$out/bin/${pname}"
+    #!${runtimeShell}
+    export PATH=${wineWow64Packages.stable}/bin:$PATH
+    export WINEDLLOVERRIDES="mscoree=" # disable mono
+
+    # Solves PermissionError: [Errno 13] Permission denied: '/homeless-shelter/.wine'
+    export HOME=$(mktemp -d)
+
+    wineInputFile=$(${wineWow64Packages.stable}/bin/wine winepath -w $1)
+    ${wineWow64Packages.stable}/bin/wine "$out/bin/ISCC.exe" "$wineInputFile"
+    EOF
+
+    substituteInPlace $out/bin/${pname} \
+      --replace "\$out" "$out"
+
+    chmod +x "$out/bin/${pname}"
+
+    runHook postInstall
+  '';
+
+
+  meta = with lib; {
+    description = "A compiler for Inno Setup, a tool for creating Windows installers";
+    homepage = "https://jrsoftware.org/isinfo.php";
+    license = licenses.unfreeRedistributable;
+    maintainers = with maintainers; [ ];
+    platforms = wineWow64Packages.stable.meta.platforms;
+  };
+}
diff --git a/pkgs/by-name/ja/jan/package.nix b/pkgs/by-name/ja/jan/package.nix
index 49b6f245f76f2..b397b06203fc5 100644
--- a/pkgs/by-name/ja/jan/package.nix
+++ b/pkgs/by-name/ja/jan/package.nix
@@ -5,10 +5,10 @@
 
 let
   pname = "jan";
-  version = "0.4.11";
+  version = "0.4.12";
   src = fetchurl {
     url = "https://github.com/janhq/jan/releases/download/v${version}/jan-linux-x86_64-${version}.AppImage";
-    hash = "sha256-EDQK8W0MxwXSNaHx2snByHs2Wr3RXtlNiXajzDMVJpc=";
+    hash = "sha256-IMqTQGuMuivUq8UTpgNRSHwskxvA/2XWA1bp38MDJdI=";
   };
 
   appimageContents = appimageTools.extractType2 { inherit pname version src; };
@@ -17,7 +17,6 @@ appimageTools.wrapType2 {
   inherit pname version src;
 
   extraInstallCommands = ''
-    mv $out/bin/jan-${version} $out/bin/jan
     install -Dm444 ${appimageContents}/jan.desktop -t $out/share/applications
     substituteInPlace $out/share/applications/jan.desktop \
       --replace-fail 'Exec=AppRun --no-sandbox %U' 'Exec=jan'
diff --git a/pkgs/by-name/je/jetbrains-toolbox/package.nix b/pkgs/by-name/je/jetbrains-toolbox/package.nix
index 6019ffed2b89b..f996385268607 100644
--- a/pkgs/by-name/je/jetbrains-toolbox/package.nix
+++ b/pkgs/by-name/je/jetbrains-toolbox/package.nix
@@ -47,7 +47,7 @@ stdenv.mkDerivation {
     runHook preInstall
 
     install -Dm644 ${appimageContents}/.DirIcon $out/share/icons/hicolor/scalable/apps/jetbrains-toolbox.svg
-    makeWrapper ${appimage}/bin/${pname}-${version} $out/bin/${pname} \
+    makeWrapper ${appimage}/bin/${pname} $out/bin/${pname} \
       --append-flags "--update-failed" \
       --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [icu]}
 
diff --git a/pkgs/by-name/ji/jigmo/package.nix b/pkgs/by-name/ji/jigmo/package.nix
index 18c84916dbf5a..ef70e0d5d7bc1 100644
--- a/pkgs/by-name/ji/jigmo/package.nix
+++ b/pkgs/by-name/ji/jigmo/package.nix
@@ -21,7 +21,7 @@ stdenvNoCC.mkDerivation rec {
     description = "Japanese Kanji font set which is the official successor to Hanazono Mincho";
     homepage = "https://kamichikoichi.github.io/jigmo/";
     license = licenses.cc0;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/by-name/jn/jnv/package.nix b/pkgs/by-name/jn/jnv/package.nix
index 9fe979bad4653..740a536be0dfa 100644
--- a/pkgs/by-name/jn/jnv/package.nix
+++ b/pkgs/by-name/jn/jnv/package.nix
@@ -7,16 +7,16 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "jnv";
-  version = "0.2.1";
+  version = "0.2.2";
 
   src = fetchFromGitHub {
     owner = "ynqa";
     repo = "jnv";
     rev = "v${version}";
-    hash = "sha256-CdpEo8hnO61I2Aocfd3nka81FTDPRguwxxcemzH+zcc=";
+    hash = "sha256-IvpbVcTGGD7cn59SPlcqMuu9YXB3ur3AFaoWDVADoqI=";
   };
 
-  cargoHash = "sha256-KF15Y2VrFJ7p5ut5cR80agaJ7bM9U9Ikcz1Ux8Ah138=";
+  cargoHash = "sha256-dqWQi0DYl2P1qPzmtYOcarnfu2bfSnLk/SVQq5d+Z8Y=";
 
   nativeBuildInputs = [
     autoconf
diff --git a/pkgs/applications/networking/cluster/karmor/default.nix b/pkgs/by-name/ka/karmor/package.nix
index b87c022d67a8e..b87c022d67a8e 100644
--- a/pkgs/applications/networking/cluster/karmor/default.nix
+++ b/pkgs/by-name/ka/karmor/package.nix
diff --git a/pkgs/by-name/kc/kchat/package.nix b/pkgs/by-name/kc/kchat/package.nix
index bb806d5aa0a37..1eaf7650b6a18 100644
--- a/pkgs/by-name/kc/kchat/package.nix
+++ b/pkgs/by-name/kc/kchat/package.nix
@@ -23,7 +23,7 @@ appimageTools.wrapType2 rec {
       cp -r ${contents}/{locales,resources} "$out/share/lib/kchat"
       cp -r ${contents}/usr/* "$out"
       cp "${contents}/kchat-desktop.desktop" "$out/share/applications/"
-      mv "$out/bin/kchat-${version}" "$out/bin/${meta.mainProgram}"
+      mv "$out/bin/kchat" "$out/bin/${meta.mainProgram}" || true
       substituteInPlace $out/share/applications/kchat-desktop.desktop --replace 'Exec=AppRun' 'Exec=${meta.mainProgram}'
     '';
 
diff --git a/pkgs/by-name/kd/kdotool/package.nix b/pkgs/by-name/kd/kdotool/package.nix
new file mode 100644
index 0000000000000..f6c8f77cea7ca
--- /dev/null
+++ b/pkgs/by-name/kd/kdotool/package.nix
@@ -0,0 +1,30 @@
+{ lib,
+  fetchFromGitHub,
+  rustPlatform,
+  pkg-config,
+  dbus
+}:
+
+rustPlatform.buildRustPackage rec {
+  version = "0.2.1";
+  pname = "kdotool";
+
+  src = fetchFromGitHub {
+    owner = "jinliu";
+    repo = "kdotool";
+    rev = "v${version}";
+    hash = "sha256-ogdZziNV4b3h9LiEyWFrD/I/I4k8Z5rNFTNjQpWBQtg=";
+  };
+
+  cargoHash = "sha256-pL5vLfNWsZi75mI5K/PYVmgHTPCyIKpQY0YU2CJABN8=";
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ dbus ];
+
+  meta = with lib; {
+    description = "xdotool-like for KDE Wayland";
+    homepage = "https://github.com/jinliu/kdotool";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ kotatsuyaki ];
+  };
+}
diff --git a/pkgs/by-name/km/kmeet/package.nix b/pkgs/by-name/km/kmeet/package.nix
index 8c928e434123b..287a74616302f 100644
--- a/pkgs/by-name/km/kmeet/package.nix
+++ b/pkgs/by-name/km/kmeet/package.nix
@@ -23,7 +23,7 @@ appimageTools.wrapType2 rec {
       cp -r ${contents}/{locales,resources} "$out/share/lib/kmeet"
       cp -r ${contents}/usr/* "$out"
       cp "${contents}/kMeet.desktop" "$out/share/applications/"
-      mv "$out/bin/kmeet-${version}" "$out/bin/${meta.mainProgram}"
+      mv "$out/bin/kmeet" "$out/bin/${meta.mainProgram}" || true
       substituteInPlace $out/share/applications/kMeet.desktop --replace 'Exec=AppRun' 'Exec=${meta.mainProgram}'
     '';
 
diff --git a/pkgs/by-name/ko/koodo-reader/package.nix b/pkgs/by-name/ko/koodo-reader/package.nix
index 84da01165fea6..6386cece98efa 100644
--- a/pkgs/by-name/ko/koodo-reader/package.nix
+++ b/pkgs/by-name/ko/koodo-reader/package.nix
@@ -7,6 +7,7 @@
   fetchYarnDeps,
   makeDesktopItem,
   copyDesktopItems,
+  makeWrapper,
   wrapGAppsHook,
   electron,
 }:
@@ -37,6 +38,7 @@ mkYarnPackage rec {
 
   nativeBuildInputs = [
     copyDesktopItems
+    makeWrapper
     wrapGAppsHook
   ];
 
@@ -77,8 +79,9 @@ mkYarnPackage rec {
     runHook postInstall
   '';
 
+  # we use makeShellWrapper instead of the makeBinaryWrapper provided by wrapGAppsHook for proper shell variable expansion
   postFixup = ''
-    makeWrapper ${electron}/bin/electron $out/bin/koodo-reader \
+    makeShellWrapper ${electron}/bin/electron $out/bin/koodo-reader \
       --add-flags $out/share/lib/koodo-reader/resources/app.asar \
       "''${gappsWrapperArgs[@]}" \
       --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \
diff --git a/pkgs/by-name/la/labelle/package.nix b/pkgs/by-name/la/labelle/package.nix
index 39d4a1f76a6ba..4affc6ef54e1a 100644
--- a/pkgs/by-name/la/labelle/package.nix
+++ b/pkgs/by-name/la/labelle/package.nix
@@ -8,14 +8,14 @@
 }:
 python3Packages.buildPythonApplication rec {
   pname = "labelle";
-  version = "1.1.0";
+  version = "1.2.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "labelle-org";
     repo = "labelle";
     rev = "v${version}";
-    hash = "sha256-JnV5A3/toTCHCEb0dygouR9MZfk2kdmsKVscwYI2y/Y=";
+    hash = "sha256-fLlYqJs/V5t8IdfVkfBsjtjM1rRdCyTYF87G+h1VU5Y=";
   };
 
   postPatch = ''
@@ -39,6 +39,8 @@ python3Packages.buildPythonApplication rec {
     pyqt6
     python-barcode
     pyusb
+    rich
+    typer
   ];
 
   desktopItems = [
diff --git a/pkgs/by-name/la/labwc-tweaks-gtk/package.nix b/pkgs/by-name/la/labwc-tweaks-gtk/package.nix
new file mode 100644
index 0000000000000..84c71665ea9c7
--- /dev/null
+++ b/pkgs/by-name/la/labwc-tweaks-gtk/package.nix
@@ -0,0 +1,54 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, meson
+, ninja
+, pkg-config
+, gtk3
+, libxml2
+, xkeyboard_config
+, wrapGAppsHook
+, unstableGitUpdater
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "labwc-tweaks-gtk";
+  version = "0-unstable-2024-04-07";
+
+  src = fetchFromGitHub {
+    owner = "labwc";
+    repo = "labwc-tweaks-gtk";
+    rev = "67adbedd610a1b44e7ba667ae72a5c9b07105119";
+    hash = "sha256-RGPm+hvyTWxkd3z841Y8ozXrDD1ZgHCZjimyRdRNrCs=";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    gtk3
+    libxml2
+  ];
+
+  strictDeps = true;
+
+  postPatch = ''
+    substituteInPlace stack-lang.c --replace /usr/share/X11/xkb ${xkeyboard_config}/share/X11/xkb
+    substituteInPlace theme.c --replace /usr/share /run/current-system/sw/share
+  '';
+
+  passthru.updateScript = unstableGitUpdater { };
+
+  meta = {
+    homepage = "https://github.com/labwc/labwc-tweaks-gtk";
+    description = "Configuration gui app for labwc; gtk fork";
+    mainProgram = "labwc-tweaks";
+    license = lib.licenses.gpl2Only;
+    platforms = lib.platforms.unix;
+    maintainers = with lib.maintainers; [ AndersonTorres romildo ];
+  };
+})
diff --git a/pkgs/by-name/la/labwc-tweaks/package.nix b/pkgs/by-name/la/labwc-tweaks/package.nix
index fee334974a276..c79b598469031 100644
--- a/pkgs/by-name/la/labwc-tweaks/package.nix
+++ b/pkgs/by-name/la/labwc-tweaks/package.nix
@@ -1,44 +1,42 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, meson
-, ninja
+, cmake
+, perl
 , pkg-config
-, gtk3
-, libxml2
+, qt6
 , xkeyboard_config
-, wrapGAppsHook
 , unstableGitUpdater
 }:
 
-stdenv.mkDerivation (finalAttrs: {
+stdenv.mkDerivation {
   pname = "labwc-tweaks";
-  version = "unstable-2024-04-02";
+  version = "0-unstable-2024-04-27";
 
   src = fetchFromGitHub {
     owner = "labwc";
     repo = "labwc-tweaks";
-    rev = "a1a3cfaefd1908de8752d0d6d6b7170b04ee075c";
-    hash = "sha256-uvUsoqiQBuNMBQWAxl/tCIvWsEYmZ4dQ31TrznI/XcA=";
+    rev = "9007079640e0f38c1d69ac94899229354a5c67b2";
+    hash = "sha256-klKPHAhJ6fedFojXPfesjs1dG5NJhBZkzynhka5vD8M=";
   };
 
   nativeBuildInputs = [
-    meson
-    ninja
+    cmake
+    perl
     pkg-config
-    wrapGAppsHook
+    qt6.qttools
+    qt6.wrapQtAppsHook
   ];
 
   buildInputs = [
-    gtk3
-    libxml2
+    qt6.qtbase
+    qt6.qtwayland
   ];
 
   strictDeps = true;
 
   postPatch = ''
-    substituteInPlace stack-lang.c --replace /usr/share/X11/xkb ${xkeyboard_config}/share/X11/xkb
-    substituteInPlace theme.c --replace /usr/share /run/current-system/sw/share
+    substituteInPlace tweaks-qt/gen-layout-list --replace-fail /usr/share/X11/xkb ${xkeyboard_config}/share/X11/xkb
   '';
 
   passthru.updateScript = unstableGitUpdater { };
@@ -51,4 +49,4 @@ stdenv.mkDerivation (finalAttrs: {
     platforms = lib.platforms.unix;
     maintainers = with lib.maintainers; [ AndersonTorres romildo ];
   };
-})
+}
diff --git a/pkgs/by-name/la/laudanum/package.nix b/pkgs/by-name/la/laudanum/package.nix
new file mode 100644
index 0000000000000..a744fe7720b89
--- /dev/null
+++ b/pkgs/by-name/la/laudanum/package.nix
@@ -0,0 +1,31 @@
+{ lib
+, stdenvNoCC
+, fetchFromGitHub
+}:
+
+stdenvNoCC.mkDerivation {
+  pname = "laudanum";
+  version = "1.0-unstable-2017-12-15";
+
+  src = fetchFromGitHub {
+    owner = "junk13";
+    repo = "laudanum";
+    rev = "50e1c09d5f23b446c20ecec652c64f9622348364";
+    hash = "sha256-Od/ciCQ5QM4b/u9nizHosj/zte2pdifO8IDZkrcmIeI=";
+  };
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/share/laudanum
+    cp -a * $out/share/laudanum/
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "A collection of injectable files, designed to be used in a pentest when SQL injection flaws are found and are in multiple languages for different environments";
+    homepage = "https://github.com/junk13/laudanum";
+    maintainers = with maintainers; [ d3vil0p3r ];
+    platforms = platforms.all;
+    license = licenses.gpl2Plus;
+  };
+}
diff --git a/pkgs/by-name/le/ledger/package.nix b/pkgs/by-name/le/ledger/package.nix
index 89a614247ff9e..0029b1b7df465 100644
--- a/pkgs/by-name/le/ledger/package.nix
+++ b/pkgs/by-name/le/ledger/package.nix
@@ -57,6 +57,6 @@ stdenv.mkDerivation rec {
       their data, there really is no alternative.
     '';
     platforms = platforms.all;
-    maintainers = with maintainers; [ jwiegley marsam ];
+    maintainers = with maintainers; [ jwiegley ];
   };
 }
diff --git a/pkgs/by-name/le/lexical/package.nix b/pkgs/by-name/le/lexical/package.nix
index d7f9f46ee76ba..2a8adc595f8ef 100644
--- a/pkgs/by-name/le/lexical/package.nix
+++ b/pkgs/by-name/le/lexical/package.nix
@@ -2,25 +2,24 @@
   lib,
   beamPackages,
   fetchFromGitHub,
-  writeScript,
   elixir,
 }:
 
 beamPackages.mixRelease rec {
   pname = "lexical";
-  version = "0.5.2";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "lexical-lsp";
     repo = "lexical";
     rev = "refs/tags/v${version}";
-    hash = "sha256-HWqwJ7PAz80bm6YeDG84hLWPE11n06K98GOyeDQWZWU=";
+    hash = "sha256-20qfzYioR1PhA0ZBcft0nhcwxB95pw5L9zoPLWd7ZIE=";
   };
 
   mixFodDeps = beamPackages.fetchMixDeps {
     inherit pname version src;
 
-    hash = "sha256-G0mT+rvXZWLJIMfrhxq3TXt26wDImayu44wGEYJ+3CE=";
+    hash = "sha256-xihxPfdLPr5jWFfcX2tccFUl7ND1mi9u8Dn28k6lGVA=";
   };
 
   installPhase = ''
diff --git a/pkgs/by-name/li/libdict/package.nix b/pkgs/by-name/li/libdict/package.nix
index 1c6e770299ca0..ad2ecbf4f2470 100644
--- a/pkgs/by-name/li/libdict/package.nix
+++ b/pkgs/by-name/li/libdict/package.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   meta = with lib; {
     homepage = "https://github.com/rtbrick/libdict/";
-    changelog = "https://github.com/rtbrick/libdict/releases/tag/${version}";
+    changelog = "https://github.com/rtbrick/libdict/releases/tag/${finalAttrs.version}";
     description = "C library of key-value data structures";
     license = licenses.bsd2;
     maintainers = teams.wdz.members;
diff --git a/pkgs/by-name/li/libgedit-gfls/package.nix b/pkgs/by-name/li/libgedit-gfls/package.nix
new file mode 100644
index 0000000000000..8964898851cf9
--- /dev/null
+++ b/pkgs/by-name/li/libgedit-gfls/package.nix
@@ -0,0 +1,55 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, docbook-xsl-nons
+, gobject-introspection
+, gtk-doc
+, meson
+, ninja
+, pkg-config
+, mesonEmulatorHook
+, gtk3
+, glib
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "libgedit-gfls";
+  version = "0.1.0";
+
+  outputs = [ "out" "dev" "devdoc" ];
+
+  src = fetchFromGitHub {
+    owner = "gedit-technology";
+    repo = "libgedit-gfls";
+    rev = finalAttrs.version;
+    hash = "sha256-tES8UGWcCT8lRd/fnOt9EN3wHkNSLRM4j8ONrCDPBK0=";
+  };
+
+  nativeBuildInputs = [
+    docbook-xsl-nons
+    gobject-introspection
+    gtk-doc
+    meson
+    ninja
+    pkg-config
+  ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
+    mesonEmulatorHook
+  ];
+
+  buildInputs = [
+    gtk3
+  ];
+
+  propagatedBuildInputs = [
+    # Required by libgedit-gfls-1.pc
+    glib
+  ];
+
+  meta = {
+    homepage = "https://github.com/gedit-technology/libgedit-gfls";
+    description = "Module dedicated to file loading and saving";
+    maintainers = with lib.maintainers; [ bobby285271 ];
+    license = lib.licenses.lgpl3Plus;
+    platforms = lib.platforms.linux;
+  };
+})
diff --git a/pkgs/by-name/li/libgedit-gtksourceview/package.nix b/pkgs/by-name/li/libgedit-gtksourceview/package.nix
index 3de70506f3301..70b3fb276e954 100644
--- a/pkgs/by-name/li/libgedit-gtksourceview/package.nix
+++ b/pkgs/by-name/li/libgedit-gtksourceview/package.nix
@@ -16,7 +16,7 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "libgedit-gtksourceview";
-  version = "299.0.5";
+  version = "299.2.1";
 
   outputs = [ "out" "dev" "devdoc" ];
 
@@ -24,7 +24,7 @@ stdenv.mkDerivation (finalAttrs: {
     owner = "gedit-technology";
     repo = "libgedit-gtksourceview";
     rev = finalAttrs.version;
-    hash = "sha256-PQ7cpul9h1JzywDWm9YyD95B1ONSdUUk0EQJMEGoRN0=";
+    hash = "sha256-fmYIZvsB3opstpPEd9vahcD9yUZKPBpSIrlNDs+eCdw=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/tepl/default.nix b/pkgs/by-name/li/libgedit-tepl/package.nix
index 5ceb76b9bf7f5..5c2c84ac9a408 100644
--- a/pkgs/development/libraries/tepl/default.nix
+++ b/pkgs/by-name/li/libgedit-tepl/package.nix
@@ -1,14 +1,15 @@
 { stdenv
 , lib
-, fetchurl
+, fetchFromGitHub
 , meson
 , mesonEmulatorHook
 , ninja
-, gnome
 , gobject-introspection
 , gtk3
 , icu
+, libhandy
 , libgedit-amtk
+, libgedit-gfls
 , libgedit-gtksourceview
 , pkg-config
 , gtk-doc
@@ -16,14 +17,16 @@
 }:
 
 stdenv.mkDerivation rec {
-  pname = "tepl";
-  version = "6.8.0";
+  pname = "libgedit-tepl";
+  version = "6.10.0";
 
   outputs = [ "out" "dev" "devdoc" ];
 
-  src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "Rubl8b/bxS5ZVvBq3VdenHaXxnPVPTgD3+do9JC1YPA=";
+  src = fetchFromGitHub {
+    owner = "gedit-technology";
+    repo = "libgedit-tepl";
+    rev = version;
+    hash = "sha256-lGmOaDNu+iqwpeaP0AL28exoTqx1j03Z8gdhTBgk1i8=";
   };
 
   strictDeps = true;
@@ -40,28 +43,18 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     icu
+    libhandy
   ];
 
   propagatedBuildInputs = [
     gtk3
     libgedit-amtk
+    libgedit-gfls
     libgedit-gtksourceview
   ];
 
-  doCheck = false;
-  # TODO: one test fails because of
-  # (./test-file-metadata:20931): Tepl-WARNING **: 14:41:36.942: GVfs metadata
-  # is not supported. Fallback to TeplMetadataManager. Either GVfs is not
-  # correctly installed or GVfs metadata are not supported on this platform. In
-  # the latter case, you should configure Tepl with --disable-gvfs-metadata.
-
-  passthru.updateScript = gnome.updateScript {
-    packageName = pname;
-    versionPolicy = "odd-unstable";
-  };
-
   meta = with lib; {
-    homepage = "https://wiki.gnome.org/Projects/Tepl";
+    homepage = "https://github.com/gedit-technology/libgedit-tepl";
     description = "Text editor product line";
     maintainers = with maintainers; [ manveru bobby285271 ];
     license = licenses.lgpl3Plus;
diff --git a/pkgs/by-name/li/libmamba/package.nix b/pkgs/by-name/li/libmamba/package.nix
new file mode 100644
index 0000000000000..2c31119e2bfa6
--- /dev/null
+++ b/pkgs/by-name/li/libmamba/package.nix
@@ -0,0 +1,60 @@
+{
+  fetchFromGitHub,
+  lib,
+  stdenv,
+  cmake,
+  fmt,
+  spdlog,
+  tl-expected,
+  nlohmann_json,
+  yaml-cpp,
+  simdjson,
+  reproc,
+  libsolv,
+  curl,
+  libarchive,
+  zstd,
+  bzip2,
+  python3Packages,
+}:
+stdenv.mkDerivation rec {
+  pname = "libmamba";
+  version = "1.5.7";
+  src = fetchFromGitHub {
+    owner = "mamba-org";
+    repo = "mamba";
+    rev = "${pname}-${version}";
+    hash = "sha256-HfmvLi9IBWlaGAn2Ej4Bnm4b3l19jEXwNl5IUkdVxi0=";
+  };
+  nativeBuildInputs = [
+    cmake
+    python3Packages.python
+  ];
+  buildInputs = [
+    fmt
+    spdlog
+    tl-expected
+    nlohmann_json
+    yaml-cpp
+    simdjson
+    reproc
+    libsolv
+    curl
+    libarchive
+    zstd
+    bzip2
+  ];
+
+  cmakeFlags = [
+    (lib.cmakeBool "BUILD_LIBMAMBA" true)
+    (lib.cmakeBool "BUILD_SHARED" true)
+  ];
+
+  meta = {
+    description = "The library for the fast Cross-Platform Package Manager";
+    homepage = "https://github.com/mamba-org/mamba";
+    license = lib.licenses.bsd3;
+    platforms = lib.platforms.all;
+    maintainers = [ lib.maintainers.ericthemagician ];
+  };
+}
diff --git a/pkgs/by-name/li/libscfg/package.nix b/pkgs/by-name/li/libscfg/package.nix
new file mode 100644
index 0000000000000..d0c7426080f68
--- /dev/null
+++ b/pkgs/by-name/li/libscfg/package.nix
@@ -0,0 +1,24 @@
+{ stdenv, lib, fetchFromSourcehut, meson, ninja, pkg-config, wayland }:
+
+stdenv.mkDerivation rec {
+  pname = "libscfg";
+  version = "0.1.1";
+
+  src = fetchFromSourcehut {
+    owner = "~emersion";
+    repo = "libscfg";
+    rev = "v${version}";
+    sha256 = "sha256-aTcvs7QuDOx17U/yP37LhvIGxmm2WR/6qFYRtfjRN6w=";
+  };
+
+  nativeBuildInputs = [ meson ninja pkg-config ];
+  buildInputs = [ wayland ];
+
+  meta = with lib; {
+    homepage = "https://sr.ht/~emersion/libscfg";
+    description = "A simple configuration file format";
+    license = licenses.mit;
+    maintainers = with maintainers; [ michaeladler ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/by-name/li/libstrophe/package.nix b/pkgs/by-name/li/libstrophe/package.nix
index 81c31d5f80265..f66c15edfd21b 100644
--- a/pkgs/by-name/li/libstrophe/package.nix
+++ b/pkgs/by-name/li/libstrophe/package.nix
@@ -39,7 +39,6 @@ stdenv.mkDerivation rec {
     homepage = "https://strophe.im/libstrophe/";
     license = with licenses; [ gpl3Only mit ];
     platforms = platforms.unix;
-    broken = stdenv.isDarwin;
     maintainers = with maintainers; [ devhell flosse ];
   };
 }
diff --git a/pkgs/by-name/li/libui-ng/package.nix b/pkgs/by-name/li/libui-ng/package.nix
index 3652bb90800b5..aad482235544e 100644
--- a/pkgs/by-name/li/libui-ng/package.nix
+++ b/pkgs/by-name/li/libui-ng/package.nix
@@ -53,7 +53,7 @@ stdenv.mkDerivation rec {
     description = "A portable GUI library for C";
     homepage = "https://github.com/libui-ng/libui-ng";
     license = licenses.mit;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/by-name/li/limine/package.nix b/pkgs/by-name/li/limine/package.nix
index aa1c7afa3470c..3a5d77693523f 100644
--- a/pkgs/by-name/li/limine/package.nix
+++ b/pkgs/by-name/li/limine/package.nix
@@ -12,7 +12,7 @@
 }:
 
 let
-  version = "7.4.0";
+  version = "7.4.1";
 in
 # The output of the derivation is a tool to create bootable images using Limine
 # as bootloader for various platforms and corresponding binary and helper files.
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
   # Packaging that in Nix is very cumbersome.
   src = fetchurl {
     url = "https://github.com/limine-bootloader/limine/releases/download/v${version}/limine-${version}.tar.gz";
-    sha256 = "sha256-lPesgQENZkMbxl/4sh+wTR21QfPJg57CDmqTwcy4b2k=";
+    sha256 = "sha256-0SCy5msjWG9c1UHJka1typCTGh21VzHLfH5pMPMdEH0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/li/listen1/package.nix b/pkgs/by-name/li/listen1/package.nix
index cf0ec27d6923e..97470e33c77f2 100644
--- a/pkgs/by-name/li/listen1/package.nix
+++ b/pkgs/by-name/li/listen1/package.nix
@@ -13,7 +13,6 @@ appimageTools.wrapType2 {
   inherit pname version src;
 
   extraInstallCommands = ''
-    mv $out/bin/${pname}-${version} $out/bin/${pname}
     install -m 444 -D ${appimageContents}/listen1.desktop -t $out/share/applications
     substituteInPlace $out/share/applications/listen1.desktop \
       --replace 'Exec=AppRun' 'Exec=${pname}'
diff --git a/pkgs/by-name/li/littlefs-fuse/package.nix b/pkgs/by-name/li/littlefs-fuse/package.nix
index 0ed4453d62aaf..81300a8a82246 100644
--- a/pkgs/by-name/li/littlefs-fuse/package.nix
+++ b/pkgs/by-name/li/littlefs-fuse/package.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "littlefs-fuse";
-  version = "2.7.7";
+  version = "2.7.8";
   src = fetchFromGitHub {
     owner = "littlefs-project";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-MCmi0CBs3RLuYn+1BsS6pIeR/tHS1lGNyV3ZwlsnQCA=";
+    hash = "sha256-dJt2Tcw+qdcOoZ9ejao9NXys/OYQTvbP9+dD6DCzFAw=";
   };
   buildInputs = [ fuse ];
   installPhase = ''
diff --git a/pkgs/by-name/li/live555/package.nix b/pkgs/by-name/li/live555/package.nix
index 5051944cab1ec..746aa71125319 100644
--- a/pkgs/by-name/li/live555/package.nix
+++ b/pkgs/by-name/li/live555/package.nix
@@ -1,15 +1,16 @@
-{ lib
-, darwin
-, fetchurl
-, fetchpatch
-, openssl
-, stdenv
-, vlc
+{
+  lib,
+  darwin,
+  fetchpatch,
+  fetchurl,
+  openssl,
+  stdenv,
+  vlc,
 }:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "live555";
-  version = "2024.03.08";
+  version = "2024.04.14";
 
   src = fetchurl {
     urls = [
@@ -18,7 +19,7 @@ stdenv.mkDerivation (finalAttrs: {
       "https://download.videolan.org/contrib/live555/live.${finalAttrs.version}.tar.gz"
       "mirror://sourceforge/slackbuildsdirectlinks/live.${finalAttrs.version}.tar.gz"
     ];
-    hash = "sha256-wWUC4EbxxfK+OxXiyNbNMGObVMZOqb+8jTG078pnDeU=";
+    hash = "sha256-mR5rKGKtTwMq3p+xAAGdo0DNNnIe4KHladLPlnhVhNY=";
   };
 
   patches = [
@@ -60,11 +61,13 @@ stdenv.mkDerivation (finalAttrs: {
   '';
 
   configurePhase = let
-    platform = if stdenv.isLinux
-               then "linux"
-               else if stdenv.isDarwin
-               then "macosx-catalina"
-               else throw "Unsupported platform: ${stdenv.hostPlatform.system}";
+    platform =
+      if stdenv.isLinux then
+        "linux"
+      else if stdenv.isDarwin then
+        "macosx-catalina"
+      else
+        throw "Unsupported platform: ${stdenv.hostPlatform.system}";
   in ''
     runHook preConfigure
 
diff --git a/pkgs/by-name/li/livekit-cli/package.nix b/pkgs/by-name/li/livekit-cli/package.nix
index 686f58800345c..fe276c14c3434 100644
--- a/pkgs/by-name/li/livekit-cli/package.nix
+++ b/pkgs/by-name/li/livekit-cli/package.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "livekit-cli";
-  version = "1.4.2";
+  version = "1.4.3";
 
   src = fetchFromGitHub {
     owner = "livekit";
     repo = "livekit-cli";
     rev = "v${version}";
-    hash = "sha256-6UIMyroZpylUMG7TIBOqDIDsuJLtpe2BQxfjEhbZBGc=";
+    hash = "sha256-IARQ5yxktem729SrxdT5i+7+1dY60xw+2KZU+unlsKM=";
   };
 
-  vendorHash = "sha256-e84jusaQx6B5cbJoIOSVyxgAQx9VIxFODH1Io1Z/yj0=";
+  vendorHash = "sha256-3ePOwEEPexM+k0atW/mW4yNVtnsEXwv1w5NVQLyexbs=";
 
   subPackages = [ "cmd/livekit-cli" ];
 
diff --git a/pkgs/by-name/li/livekit/package.nix b/pkgs/by-name/li/livekit/package.nix
index b362366e51f65..74bc3b03e6ce4 100644
--- a/pkgs/by-name/li/livekit/package.nix
+++ b/pkgs/by-name/li/livekit/package.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "livekit";
-  version = "1.6.0";
+  version = "1.6.1";
 
   src = fetchFromGitHub {
     owner = "livekit";
     repo = "livekit";
     rev = "v${version}";
-    hash = "sha256-tgoVHRv8hnDkjFYShZ/3lieknhIobHv27RVvQOCtEWU=";
+    hash = "sha256-i6G221n6wIOYo//+w/4XN4QpTkt7AYwAw6RBYo66vXI=";
   };
 
-  vendorHash = "sha256-TZ435gu5naFi/JLz6B/1fpvGA3diJp4JIWL1zgNlb4Q=";
+  vendorHash = "sha256-7MPjhjTIO7ZKKyc0Du8+0F+8PvpiwiIBMnXZiYX2XyI=";
 
   subPackages = [ "cmd/server" ];
 
diff --git a/pkgs/by-name/ll/llama-cpp/package.nix b/pkgs/by-name/ll/llama-cpp/package.nix
index 920f6aa10e16d..9b2d5b15dab7e 100644
--- a/pkgs/by-name/ll/llama-cpp/package.nix
+++ b/pkgs/by-name/ll/llama-cpp/package.nix
@@ -72,13 +72,13 @@ let
 in
 effectiveStdenv.mkDerivation (finalAttrs: {
   pname = "llama-cpp";
-  version = "2700";
+  version = "2746";
 
   src = fetchFromGitHub {
     owner = "ggerganov";
     repo = "llama.cpp";
     rev = "refs/tags/b${finalAttrs.version}";
-    hash = "sha256-gR50T++TE9/tlIjSQDp2FR+wiUSpyA+Fh7Nzg/y3zPE=";
+    hash = "sha256-V+QDymEzXpw78Ezd2DInRLE0F6mXpLRhCK8iI8prq8I=";
   };
 
   postPatch = ''
diff --git a/pkgs/by-name/ll/llm-ls/package.nix b/pkgs/by-name/ll/llm-ls/package.nix
index a29db52765a5f..d9fb4d6f60f61 100644
--- a/pkgs/by-name/ll/llm-ls/package.nix
+++ b/pkgs/by-name/ll/llm-ls/package.nix
@@ -1,11 +1,13 @@
 { lib
 , rustPlatform
 , fetchFromGitHub
+, pkg-config
+, openssl
 }:
 
 let
   pname = "llm-ls";
-  version = "0.4.0";
+  version = "0.5.2";
 in
 rustPlatform.buildRustPackage {
   inherit pname version;
@@ -14,10 +16,14 @@ rustPlatform.buildRustPackage {
     owner = "huggingface";
     repo = "llm-ls";
     rev = version;
-    sha256 = "sha256-aMoT/rH6o4dHCSiSI/btdKysFfIbHvV7R5dRHIOF/Qs=";
+    sha256 = "sha256-DyPdx+nNBhOZ86GQljMYULatWny2EteNNzzO6qv1Wlk=";
   };
 
-  cargoHash = "sha256-Z6BO4kDtlIrVdDk1fiwyelpu1rj7e4cibgFZRsl1pfA=";
+  cargoHash = "sha256-7McUyQjnCuV0JG65hUoR8TtB4vrjiEO1l7NXYochgG8=";
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ openssl ];
 
   meta = with lib; {
     description = "LSP server leveraging LLMs for code completion (and more?)";
diff --git a/pkgs/by-name/lm/lmstudio/package.nix b/pkgs/by-name/lm/lmstudio/package.nix
index f1edf4d8c5e0d..f9325e5b800d9 100644
--- a/pkgs/by-name/lm/lmstudio/package.nix
+++ b/pkgs/by-name/lm/lmstudio/package.nix
@@ -5,10 +5,10 @@
 
 let
   pname = "lmstudio";
-  version = "0.2.18";
+  version = "0.2.20";
   src = fetchurl {
     url = "https://releases.lmstudio.ai/linux/${version}/beta/LM_Studio-${version}.AppImage";
-    hash = "sha256-cUa0fjV7xx6+2tnGVP7uLG0QQb44LhP2nYsn6Qn0al4=";
+    hash = "sha256-T92ZDqGvxJfBkAWsK8EgHdQZnLefK3gDP2vCTL8X+eM=";
   };
 
   appimageContents = appimageTools.extractType2 { inherit pname version src; };
@@ -20,7 +20,6 @@ appimageTools.wrapType2 {
 
   extraInstallCommands = ''
     mkdir -p $out/share/applications
-    mv $out/bin/lmstudio-${version} $out/bin/lmstudio
     cp -r ${appimageContents}/usr/share/icons $out/share
     install -m 444 -D ${appimageContents}/lm-studio.desktop -t $out/share/applications
     substituteInPlace $out/share/applications/lm-studio.desktop \
diff --git a/pkgs/by-name/lo/local-ai/lib.nix b/pkgs/by-name/lo/local-ai/lib.nix
new file mode 100644
index 0000000000000..46f3ba88e5db7
--- /dev/null
+++ b/pkgs/by-name/lo/local-ai/lib.nix
@@ -0,0 +1,30 @@
+{ lib
+, writers
+, writeText
+, linkFarmFromDrvs
+}: {
+  genModels = configs:
+    let
+      name = lib.strings.sanitizeDerivationName
+        (builtins.concatStringsSep "_" ([ "local-ai-models" ] ++ (builtins.attrNames configs)));
+
+      genModelFiles = name: config:
+        let
+          templateName = type: name + "_" + type;
+
+          config' = lib.recursiveUpdate config ({
+            inherit name;
+          } // lib.optionalAttrs (lib.isDerivation config.parameters.model) {
+            parameters.model = config.parameters.model.name;
+          } // lib.optionalAttrs (config ? template) {
+            template = builtins.mapAttrs (n: _: templateName n) config.template;
+          });
+        in
+        [ (writers.writeYAML "${name}.yaml" config') ]
+        ++ lib.optional (lib.isDerivation config.parameters.model)
+          config.parameters.model
+        ++ lib.optionals (config ? template)
+          (lib.mapAttrsToList (n: writeText "${templateName n}.tmpl") config.template);
+    in
+    linkFarmFromDrvs name (lib.flatten (lib.mapAttrsToList genModelFiles configs));
+}
diff --git a/pkgs/by-name/lo/local-ai/module.nix b/pkgs/by-name/lo/local-ai/module.nix
new file mode 100644
index 0000000000000..d7b70048121f3
--- /dev/null
+++ b/pkgs/by-name/lo/local-ai/module.nix
@@ -0,0 +1,56 @@
+{ pkgs, config, lib, ... }:
+let
+  cfg = config.services.local-ai;
+  inherit (lib) mkOption types;
+in
+{
+  options.services.local-ai = {
+    enable = lib.mkEnableOption "Enable service";
+
+    package = lib.mkPackageOption pkgs "local-ai" { };
+
+    extraArgs = mkOption {
+      type = types.listOf types.str;
+      default = [ ];
+    };
+
+    port = mkOption {
+      type = types.port;
+      default = 8080;
+    };
+
+    threads = mkOption {
+      type = types.int;
+      default = 1;
+    };
+
+    models = mkOption {
+      type = types.either types.package types.str;
+      default = "models";
+    };
+  };
+
+  config = lib.mkIf cfg.enable {
+    systemd.services.local-ai = {
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig = {
+        DynamicUser = true;
+        ExecStart = lib.escapeShellArgs ([
+          "${cfg.package}/bin/local-ai"
+          "--debug"
+          "--address"
+          ":${toString cfg.port}"
+          "--threads"
+          (toString cfg.threads)
+          "--localai-config-dir"
+          "."
+          "--models-path"
+          (toString cfg.models)
+        ]
+        ++ cfg.extraArgs);
+        RuntimeDirectory = "local-ai";
+        WorkingDirectory = "%t/local-ai";
+      };
+    };
+  };
+}
diff --git a/pkgs/by-name/lo/local-ai/package.nix b/pkgs/by-name/lo/local-ai/package.nix
index f597097dc8e36..061122c3f848a 100644
--- a/pkgs/by-name/lo/local-ai/package.nix
+++ b/pkgs/by-name/lo/local-ai/package.nix
@@ -6,6 +6,8 @@
 , fetchpatch
 , fetchFromGitHub
 , protobuf
+, protoc-gen-go
+, protoc-gen-go-grpc
 , grpc
 , openssl
 , llama-cpp
@@ -61,8 +63,8 @@ let
 
   inherit (cudaPackages) libcublas cuda_nvcc cuda_cccl cuda_cudart cudatoolkit;
 
-  go-llama-ggml = effectiveStdenv.mkDerivation {
-    name = "go-llama-ggml";
+  go-llama = effectiveStdenv.mkDerivation {
+    name = "go-llama";
     src = fetchFromGitHub {
       owner = "go-skynet";
       repo = "go-llama.cpp";
@@ -98,8 +100,8 @@ let
     src = fetchFromGitHub {
       owner = "ggerganov";
       repo = "llama.cpp";
-      rev = "1b67731e184e27a465b8c5476061294a4af668ea";
-      hash = "sha256-0WWbsklpW6HhFRkvWpYh8Lhi8VIansS/zmyIKNQRkIs=";
+      rev = "784e11dea1f5ce9638851b2b0dddb107e2a609c8";
+      hash = "sha256-yAQAUo5J+a6O2kTqhFL1UH0tANxpQn3JhAd3MByaC6I=";
       fetchSubmodules = true;
     };
     postPatch = prev.postPatch + ''
@@ -252,8 +254,8 @@ let
     src = fetchFromGitHub {
       owner = "ggerganov";
       repo = "whisper.cpp";
-      rev = "8f253ef3af1c62c04316ba4afa7145fc4d701a8c";
-      hash = "sha256-yHHjhpQIn99A/hqFwAb7TfTf4Q9KnKat93zyXS70bT8=";
+      rev = "858452d58dba3acdc3431c9bced2bb8cfd9bf418";
+      hash = "sha256-2fT3RgGpBex1mF6GJsVDo4rb0F31YqxTymsXcrpQAZk=";
     };
 
     nativeBuildInputs = [ cmake pkg-config ]
@@ -371,18 +373,18 @@ let
       stdenv;
 
   pname = "local-ai";
-  version = "2.12.4";
+  version = "2.13.0";
   src = fetchFromGitHub {
     owner = "go-skynet";
     repo = "LocalAI";
     rev = "v${version}";
-    hash = "sha256-piu2B6u4ZfxiOd9SXrE7jiiiwL2SM8EqXo2s5qeKRl0=";
+    hash = "sha256-jZE8Ow9FFhnx/jvsURLYlYtSuKpE4UWBezxg/mpHs9g=";
   };
 
   self = buildGoModule.override { stdenv = effectiveStdenv; } {
     inherit pname version src;
 
-    vendorHash = "sha256-8Hu1y/PK21twnB7D22ltslFFzRrsB8d1R2hkgIFB/XY=";
+    vendorHash = "sha256-nWNK2YekQnBSLx4ouNSe6esIe0yFuo69E0HStYLQANg=";
 
     env.NIX_CFLAGS_COMPILE = lib.optionalString with_stablediffusion " -isystem ${opencv}/include/opencv4";
 
@@ -392,12 +394,12 @@ let
       in
       ''
         sed -i Makefile \
-          -e 's;git clone.*go-llama-ggml$;${cp} ${go-llama-ggml} sources/go-llama-ggml;' \
+          -e 's;git clone.*go-llama\.cpp$;${cp} ${go-llama} sources/go-llama\.cpp;' \
           -e 's;git clone.*gpt4all$;${cp} ${gpt4all} sources/gpt4all;' \
           -e 's;git clone.*go-piper$;${cp} ${if with_tts then go-piper else go-piper.src} sources/go-piper;' \
-          -e 's;git clone.*go-rwkv$;${cp} ${go-rwkv} sources/go-rwkv;' \
+          -e 's;git clone.*go-rwkv\.cpp$;${cp} ${go-rwkv} sources/go-rwkv\.cpp;' \
           -e 's;git clone.*whisper\.cpp$;${cp} ${whisper-cpp.src} sources/whisper\.cpp;' \
-          -e 's;git clone.*go-bert$;${cp} ${go-bert} sources/go-bert;' \
+          -e 's;git clone.*go-bert\.cpp$;${cp} ${go-bert} sources/go-bert\.cpp;' \
           -e 's;git clone.*diffusion$;${cp} ${if with_stablediffusion then go-stable-diffusion else go-stable-diffusion.src} sources/go-stable-diffusion;' \
           -e 's;git clone.*go-tiny-dream$;${cp} ${if with_tinydream then go-tiny-dream else go-tiny-dream.src} sources/go-tiny-dream;' \
           -e 's, && git checkout.*,,g' \
@@ -415,14 +417,19 @@ let
       ++ lib.optionals with_stablediffusion go-stable-diffusion.buildInputs
       ++ lib.optionals with_tts go-piper.buildInputs;
 
-    nativeBuildInputs = [ makeWrapper ]
-      ++ lib.optionals with_cublas [ cuda_nvcc ];
+    nativeBuildInputs = [
+      protobuf
+      protoc-gen-go
+      protoc-gen-go-grpc
+      makeWrapper
+    ]
+    ++ lib.optionals with_cublas [ cuda_nvcc ];
 
     enableParallelBuilding = false;
 
     modBuildPhase = ''
       mkdir sources
-      make prepare-sources
+      make prepare-sources protogen-go
       go mod tidy -v
     '';
 
@@ -486,7 +493,7 @@ let
 
     passthru.local-packages = {
       inherit
-        go-tiny-dream go-rwkv go-bert go-llama-ggml gpt4all go-piper
+        go-tiny-dream go-rwkv go-bert go-llama gpt4all go-piper
         llama-cpp-grpc whisper-cpp go-tiny-dream-ncnn espeak-ng' piper-phonemize
         piper-tts';
     };
@@ -498,6 +505,7 @@ let
     };
 
     passthru.tests = callPackages ./tests.nix { inherit self; };
+    passthru.lib = callPackages ./lib.nix { };
 
     meta = with lib; {
       description = "OpenAI alternative to run local LLMs, image and audio generation";
diff --git a/pkgs/by-name/lo/local-ai/tests.nix b/pkgs/by-name/lo/local-ai/tests.nix
index 82d1b775dab82..7cebc6fff9387 100644
--- a/pkgs/by-name/lo/local-ai/tests.nix
+++ b/pkgs/by-name/lo/local-ai/tests.nix
@@ -5,156 +5,244 @@
 , fetchurl
 , writers
 , symlinkJoin
-, linkFarmFromDrvs
 , jq
 }:
+let
+  common-config = { config, ... }: {
+    imports = [ ./module.nix ];
+    services.local-ai = {
+      enable = true;
+      package = self;
+      threads = config.virtualisation.cores;
+    };
+  };
+
+  inherit (self.lib) genModels;
+in
 {
   version = testers.testVersion {
     package = self;
     version = "v" + self.version;
+    command = "local-ai --help";
   };
 
-  health =
+  health = testers.runNixOSTest ({ config, ... }: {
+    name = self.name + "-health";
+    nodes.machine = common-config;
+    testScript =
+      let
+        port = "8080";
+      in
+      ''
+        machine.wait_for_open_port(${port})
+        machine.succeed("curl -f http://localhost:${port}/readyz")
+      '';
+  });
+
+  # https://localai.io/features/embeddings/#bert-embeddings
+  bert =
     let
-      port = "8080";
+      model = "embedding";
+      model-configs.${model} = {
+        # Note: q4_0 and q4_1 models can not be loaded
+        parameters.model = fetchurl {
+          url = "https://huggingface.co/skeskinen/ggml/resolve/main/all-MiniLM-L6-v2/ggml-model-f16.bin";
+          sha256 = "9c195b2453a4fef60a4f6be3a88a39211366214df6498a4fe4885c9e22314f50";
+        };
+        backend = "bert-embeddings";
+        embeddings = true;
+      };
+
+      models = genModels model-configs;
+
+      requests.request = {
+        inherit model;
+        input = "Your text string goes here";
+      };
     in
     testers.runNixOSTest {
-      name = self.name + "-health";
+      name = self.name + "-bert";
       nodes.machine = {
-        systemd.services.local-ai = {
-          wantedBy = [ "multi-user.target" ];
-          serviceConfig.ExecStart = "${self}/bin/local-ai --debug --localai-config-dir . --address :${port}";
-        };
+        imports = [ common-config ];
+        virtualisation.cores = 2;
+        virtualisation.memorySize = 2048;
+        services.local-ai.models = models;
       };
-      testScript = ''
-        machine.wait_for_open_port(${port})
-        machine.succeed("curl -f http://localhost:${port}/readyz")
-      '';
+      passthru = { inherit models requests; };
+      testScript =
+        let
+          port = "8080";
+        in
+        ''
+          machine.wait_for_open_port(${port})
+          machine.succeed("curl -f http://localhost:${port}/readyz")
+          machine.succeed("curl -f http://localhost:${port}/v1/models --output models.json")
+          machine.succeed("${jq}/bin/jq --exit-status 'debug | .data[].id == \"${model}\"' models.json")
+          machine.succeed("curl -f http://localhost:${port}/embeddings --json @${writers.writeJSON "request.json" requests.request} --output embeddings.json")
+          machine.succeed("${jq}/bin/jq --exit-status 'debug | .model == \"${model}\"' embeddings.json")
+        '';
     };
 
+} // lib.optionalAttrs (!self.features.with_cublas && !self.features.with_clblas) {
   # https://localai.io/docs/getting-started/manual/
   llama =
     let
-      port = "8080";
-      gguf = fetchurl {
-        url = "https://huggingface.co/TheBloke/Luna-AI-Llama2-Uncensored-GGUF/resolve/main/luna-ai-llama2-uncensored.Q4_K_M.gguf";
-        sha256 = "6a9dc401c84f0d48996eaa405174999c3a33bf12c2bfd8ea4a1e98f376de1f15";
+      model = "gpt-3.5-turbo";
+
+      # https://localai.io/advanced/#full-config-model-file-reference
+      model-configs.${model} = rec {
+        context_size = 8192;
+        parameters = {
+          # https://huggingface.co/lmstudio-community/Meta-Llama-3-8B-Instruct-GGUF
+          # https://ai.meta.com/blog/meta-llama-3/
+          model = fetchurl {
+            url = "https://huggingface.co/lmstudio-community/Meta-Llama-3-8B-Instruct-GGUF/resolve/main/Meta-Llama-3-8B-Instruct-Q4_K_M.gguf";
+            sha256 = "ab9e4eec7e80892fd78f74d9a15d0299f1e22121cea44efd68a7a02a3fe9a1da";
+          };
+          # defaults from:
+          # https://deepinfra.com/meta-llama/Meta-Llama-3-8B-Instruct
+          temperature = 0.7;
+          top_p = 0.9;
+          top_k = 0;
+          # following parameter leads to outputs like: !!!!!!!!!!!!!!!!!!!
+          #repeat_penalty = 1;
+          presence_penalty = 0;
+          frequency_penalty = 0;
+          max_tokens = 100;
+        };
+        stopwords = [ "<|eot_id|>" ];
+        template = {
+          # Templates implement following specifications
+          # https://github.com/meta-llama/llama3/tree/main?tab=readme-ov-file#instruction-tuned-models
+          # ... and are insprired by:
+          # https://github.com/mudler/LocalAI/blob/master/embedded/models/llama3-instruct.yaml
+          #
+          # The rules for template evaluateion are defined here:
+          # https://pkg.go.dev/text/template
+          chat_message = ''
+            <|start_header_id|>{{.RoleName}}<|end_header_id|>
+
+            {{.Content}}${builtins.head stopwords}'';
+
+          chat = "<|begin_of_text|>{{.Input}}<|start_header_id|>assistant<|end_header_id|>";
+        };
+      };
+
+      models = genModels model-configs;
+
+      requests = {
+        # https://localai.io/features/text-generation/#chat-completions
+        chat-completions = {
+          inherit model;
+          messages = [{ role = "user"; content = "1 + 2 = ?"; }];
+        };
+        # https://localai.io/features/text-generation/#edit-completions
+        edit-completions = {
+          inherit model;
+          instruction = "rephrase";
+          input = "Black cat jumped out of the window";
+          max_tokens = 50;
+        };
+        # https://localai.io/features/text-generation/#completions
+        completions = {
+          inherit model;
+          prompt = "A long time ago in a galaxy far, far away";
+        };
       };
-      models = linkFarmFromDrvs "models" [
-        gguf
-      ];
     in
     testers.runNixOSTest {
       name = self.name + "-llama";
-      nodes.machine =
-        let
-          cores = 4;
-        in
-        {
-          virtualisation = {
-            inherit cores;
-            memorySize = 8192;
-          };
-          systemd.services.local-ai = {
-            wantedBy = [ "multi-user.target" ];
-            serviceConfig.ExecStart = "${self}/bin/local-ai --debug --threads ${toString cores} --models-path ${models} --localai-config-dir . --address :${port}";
-          };
-        };
+      nodes.machine = {
+        imports = [ common-config ];
+        virtualisation.cores = 4;
+        virtualisation.memorySize = 8192;
+        services.local-ai.models = models;
+      };
+      passthru = { inherit models requests; };
       testScript =
         let
-          # https://localai.io/features/text-generation/#chat-completions
-          request-chat-completions = {
-            model = gguf.name;
-            messages = [{ role = "user"; content = "Say this is a test!"; }];
-            temperature = 0.7;
-          };
-          # https://localai.io/features/text-generation/#edit-completions
-          request-edit-completions = {
-            model = gguf.name;
-            instruction = "rephrase";
-            input = "Black cat jumped out of the window";
-            temperature = 0.7;
-          };
-          # https://localai.io/features/text-generation/#completions
-          request-completions = {
-            model = gguf.name;
-            prompt = "A long time ago in a galaxy far, far away";
-            temperature = 0.7;
-          };
+          port = "8080";
         in
         ''
           machine.wait_for_open_port(${port})
           machine.succeed("curl -f http://localhost:${port}/readyz")
           machine.succeed("curl -f http://localhost:${port}/v1/models --output models.json")
-          machine.succeed("${jq}/bin/jq --exit-status 'debug | .data[].id == \"${gguf.name}\"' models.json")
-          machine.succeed("curl -f http://localhost:${port}/v1/chat/completions --json @${writers.writeJSON "request-chat-completions.json" request-chat-completions} --output chat-completions.json")
+          machine.succeed("${jq}/bin/jq --exit-status 'debug | .data[].id == \"${model}\"' models.json")
+
+          machine.succeed("curl -f http://localhost:${port}/v1/chat/completions --json @${writers.writeJSON "request-chat-completions.json" requests.chat-completions} --output chat-completions.json")
           machine.succeed("${jq}/bin/jq --exit-status 'debug | .object == \"chat.completion\"' chat-completions.json")
-          machine.succeed("curl -f http://localhost:${port}/v1/edits --json @${writers.writeJSON "request-edit-completions.json" request-edit-completions} --output edit-completions.json")
+          machine.succeed("${jq}/bin/jq --exit-status 'debug | .choices | first.message.content | tonumber == 3' chat-completions.json")
+
+          machine.succeed("curl -f http://localhost:${port}/v1/edits --json @${writers.writeJSON "request-edit-completions.json" requests.edit-completions} --output edit-completions.json")
           machine.succeed("${jq}/bin/jq --exit-status 'debug | .object == \"edit\"' edit-completions.json")
-          machine.succeed("curl -f http://localhost:${port}/v1/completions --json @${writers.writeJSON "request-completions.json" request-completions} --output completions.json")
+          machine.succeed("${jq}/bin/jq --exit-status '.usage.completion_tokens | debug == ${toString requests.edit-completions.max_tokens}' edit-completions.json")
+
+          machine.succeed("curl -f http://localhost:${port}/v1/completions --json @${writers.writeJSON "request-completions.json" requests.completions} --output completions.json")
           machine.succeed("${jq}/bin/jq --exit-status 'debug | .object ==\"text_completion\"' completions.json")
+          machine.succeed("${jq}/bin/jq --exit-status '.usage.completion_tokens | debug == ${toString model-configs.${model}.parameters.max_tokens}' completions.json")
         '';
     };
 
-} // lib.optionalAttrs self.features.with_tts {
+} // lib.optionalAttrs (self.features.with_tts && !self.features.with_cublas && !self.features.with_clblas) {
   # https://localai.io/features/text-to-audio/#piper
   tts =
     let
-      port = "8080";
-      voice-en-us = fetchzip {
-        url = "https://github.com/rhasspy/piper/releases/download/v0.0.2/voice-en-us-danny-low.tar.gz";
-        hash = "sha256-5wf+6H5HeQY0qgdqnAG1vSqtjIFM9lXH53OgouuPm0M=";
-        stripRoot = false;
-      };
-      ggml-tiny-en = fetchurl {
-        url = "https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-tiny.en-q5_1.bin";
-        hash = "sha256-x3xXZvHO8JtrfUfyG1Rsvd1BV4hrO11tT3CekeZsfCs=";
-      };
-      whisper-en = {
-        name = "whisper-en";
+      model-stt = "whisper-en";
+      model-configs.${model-stt} = {
         backend = "whisper";
-        parameters.model = ggml-tiny-en.name;
+        parameters.model = fetchurl {
+          url = "https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-tiny.en-q5_1.bin";
+          hash = "sha256-x3xXZvHO8JtrfUfyG1Rsvd1BV4hrO11tT3CekeZsfCs=";
+        };
       };
-      models = symlinkJoin {
-        name = "models";
-        paths = [
-          voice-en-us
-          (linkFarmFromDrvs "whisper-en" [
-            (writers.writeYAML "whisper-en.yaml" whisper-en)
-            ggml-tiny-en
-          ])
-        ];
+
+      model-tts = "piper-en";
+      model-configs.${model-tts} = {
+        backend = "piper";
+        parameters.model = "en-us-danny-low.onnx";
       };
-    in
-    testers.runNixOSTest {
-      name = self.name + "-tts";
-      nodes.machine =
+
+      models =
         let
-          cores = 2;
+          models = genModels model-configs;
         in
-        {
-          virtualisation = {
-            inherit cores;
-          };
-          systemd.services.local-ai = {
-            wantedBy = [ "multi-user.target" ];
-            serviceConfig.ExecStart = "${self}/bin/local-ai --debug --threads ${toString cores} --models-path ${models} --localai-config-dir . --address :${port}";
-          };
+        symlinkJoin {
+          inherit (models) name;
+          paths = [
+            models
+            (fetchzip {
+              url = "https://github.com/rhasspy/piper/releases/download/v0.0.2/voice-en-us-danny-low.tar.gz";
+              hash = "sha256-5wf+6H5HeQY0qgdqnAG1vSqtjIFM9lXH53OgouuPm0M=";
+              stripRoot = false;
+            })
+          ];
         };
+
+      requests.request = {
+        model = model-tts;
+        input = "Hello, how are you?";
+      };
+    in
+    testers.runNixOSTest {
+      name = self.name + "-tts";
+      nodes.machine = {
+        imports = [ common-config ];
+        virtualisation.cores = 2;
+        services.local-ai.models = models;
+      };
+      passthru = { inherit models requests; };
       testScript =
         let
-          request = {
-            model = "en-us-danny-low.onnx";
-            backend = "piper";
-            input = "Hello, how are you?";
-          };
+          port = "8080";
         in
         ''
           machine.wait_for_open_port(${port})
           machine.succeed("curl -f http://localhost:${port}/readyz")
-          machine.succeed("curl -f http://localhost:${port}/tts --json @${writers.writeJSON "request.json" request} --output out.wav")
-          machine.succeed("curl -f http://localhost:${port}/v1/audio/transcriptions --header 'Content-Type: multipart/form-data' --form file=@out.wav --form model=${whisper-en.name} --output transcription.json")
-          machine.succeed("${jq}/bin/jq --exit-status 'debug | .segments | first.text == \"${request.input}\"' transcription.json")
+          machine.succeed("curl -f http://localhost:${port}/v1/models --output models.json")
+          machine.succeed("${jq}/bin/jq --exit-status 'debug' models.json")
+          machine.succeed("curl -f http://localhost:${port}/tts --json @${writers.writeJSON "request.json" requests.request} --output out.wav")
+          machine.succeed("curl -f http://localhost:${port}/v1/audio/transcriptions --header 'Content-Type: multipart/form-data' --form file=@out.wav --form model=${model-stt} --output transcription.json")
+          machine.succeed("${jq}/bin/jq --exit-status 'debug | .segments | first.text == \"${requests.request.input}\"' transcription.json")
         '';
     };
 }
diff --git a/pkgs/by-name/lp/lprint/package.nix b/pkgs/by-name/lp/lprint/package.nix
index 26167ccb0d6c8..deefd68a73b4d 100644
--- a/pkgs/by-name/lp/lprint/package.nix
+++ b/pkgs/by-name/lp/lprint/package.nix
@@ -39,6 +39,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/michaelrsweet/lprint";
     license = licenses.asl20;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ ChlorideCull ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/by-name/lu/lubelogger/package.nix b/pkgs/by-name/lu/lubelogger/package.nix
index e7526a74b6714..24b5d9992be0a 100644
--- a/pkgs/by-name/lu/lubelogger/package.nix
+++ b/pkgs/by-name/lu/lubelogger/package.nix
@@ -6,13 +6,13 @@
 
 buildDotnetModule rec {
   pname = "lubelogger";
-  version = "1.3.0";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "hargata";
     repo = "lubelog";
     rev = "v${version}";
-    hash = "sha256-L2iimh1weZ2f1mh42ahJVZLnemY3kFGK19jLyhcktjI=";
+    hash = "sha256-5gpwB4x2/JAaNtPQrlgFwh7om3rTJE0/mGr/Kn4qIIw=";
   };
 
   projectFile = "CarCareTracker.sln";
diff --git a/pkgs/by-name/lu/lunacy/package.nix b/pkgs/by-name/lu/lunacy/package.nix
index feb03529d1339..1e3ad510bf9ef 100644
--- a/pkgs/by-name/lu/lunacy/package.nix
+++ b/pkgs/by-name/lu/lunacy/package.nix
@@ -18,11 +18,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "lunacy";
-  version = "9.5.0";
+  version = "9.6.0";
 
   src = fetchurl {
     url = "https://lcdn.icons8.com/setup/Lunacy_${finalAttrs.version}.deb";
-    hash = "sha256-dG2xLoqRQJsaR7v00iN46GP4jB8WVrxayn2CSQLCUlQ=";
+    hash = "sha256-PvQGDUC9BsIql4xMM1OH45gq3YtJMKJcYg4N2o18hno=";
   };
 
   unpackCmd = ''
diff --git a/pkgs/by-name/lu/lunar-client/package.nix b/pkgs/by-name/lu/lunar-client/package.nix
index b675a0295b0aa..180abae393373 100644
--- a/pkgs/by-name/lu/lunar-client/package.nix
+++ b/pkgs/by-name/lu/lunar-client/package.nix
@@ -6,17 +6,16 @@
 
 appimageTools.wrapType2 rec {
   pname = "lunar-client";
-  version = "3.2.4";
+  version = "3.2.5";
 
   src = fetchurl {
     url = "https://launcherupdates.lunarclientcdn.com/Lunar%20Client-${version}.AppImage";
-    hash = "sha512-KaQvjtSzQzebzPrcFBntCqP6fRbenH9tQo4LYO1TwDoJ7pAeZ8D4kSMRaRfFV0CPZ/pDnKECYdKXAuaujOpw8g==";
+    hash = "sha512-flve07l13w4aRPPMhbf1Nbaxy6i1ljxx2J/9vg4WLQK4k09PVJKGn6b8nxe5d90LCYMhwEHfEvrHFB/tNFKJ9w==";
   };
 
   extraInstallCommands =
     let contents = appimageTools.extract { inherit pname version src; };
     in ''
-      mv $out/bin/{lunar-client-*,lunar-client}
       source "${makeWrapper}/nix-support/setup-hook"
       wrapProgram $out/bin/lunar-client \
         --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
diff --git a/pkgs/by-name/lx/lx-music-desktop/package.nix b/pkgs/by-name/lx/lx-music-desktop/package.nix
new file mode 100644
index 0000000000000..0886f7282b77b
--- /dev/null
+++ b/pkgs/by-name/lx/lx-music-desktop/package.nix
@@ -0,0 +1,88 @@
+{ lib
+, stdenv
+, fetchurl
+, makeWrapper
+
+, dpkg
+, libGL
+, systemd
+, electron_28
+
+, commandLineArgs ? ""
+}:
+
+let
+  pname = "lx-music-desktop";
+  version = "2.7.0";
+
+  buildUrl = version: arch: "https://github.com/lyswhut/lx-music-desktop/releases/download/v${version}/lx-music-desktop_${version}_${arch}.deb";
+
+  srcs = {
+    x86_64-linux = fetchurl {
+      url = buildUrl version "amd64";
+      hash = "sha256-+mCAFfiJwa+RQ/9vnSPDrC1LoLIoZyFUEJAF6sXdqRM=";
+    };
+
+    aarch64-linux = fetchurl {
+      url = buildUrl version "arm64";
+      hash = "sha256-fDlgHJqoZLGnUuZeZGdocYLbsE02QBrWPKS31fbGThk=";
+    };
+
+    armv7l-linux = fetchurl {
+      url = buildUrl version "armv7l";
+      hash = "sha256-X6EXsBvTbPGXCJ+ektMCMGDG2zqGKBvWT/TwjGFL3ug=";
+    };
+  };
+
+  host = stdenv.hostPlatform.system;
+  src = srcs.${host} or (throw "Unsupported system: ${host}");
+
+  runtimeLibs = lib.makeLibraryPath [
+    libGL
+    stdenv.cc.cc.lib
+  ];
+in
+stdenv.mkDerivation {
+  inherit pname version src;
+
+  nativeBuildInputs = [
+    dpkg
+    makeWrapper
+  ];
+
+  runtimeDependencies = map lib.getLib [
+    systemd
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/bin $out/opt/lx-music-desktop
+    cp -r opt/lx-music-desktop/{resources,locales} $out/opt/lx-music-desktop
+    cp -r usr/share $out/share
+
+    substituteInPlace $out/share/applications/lx-music-desktop.desktop \
+        --replace-fail "/opt/lx-music-desktop/lx-music-desktop" "$out/bin/lx-music-desktop" \
+
+    runHook postInstall
+  '';
+
+  postFixup = ''
+    makeWrapper ${electron_28}/bin/electron $out/bin/lx-music-desktop \
+        --add-flags $out/opt/lx-music-desktop/resources/app.asar \
+        --prefix LD_LIBRARY_PATH : "${runtimeLibs}" \
+        --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \
+        --add-flags ${lib.escapeShellArg commandLineArgs} \
+  '';
+
+  meta = with lib; {
+    description = "A music software based on Electron and Vue";
+    homepage = "https://github.com/lyswhut/lx-music-desktop";
+    changelog = "https://github.com/lyswhut/lx-music-desktop/releases/tag/v${version}";
+    license = licenses.asl20;
+    platforms = [ "x86_64-linux" "aarch64-linux" "armv7l-linux" ];
+    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
+    mainProgram = "lx-music-desktop";
+    maintainers = with maintainers; [ oo-infty ];
+  };
+}
diff --git a/pkgs/by-name/lx/lxc/4428.diff b/pkgs/by-name/lx/lxc/4428.diff
new file mode 100644
index 0000000000000..05f0c660c5662
--- /dev/null
+++ b/pkgs/by-name/lx/lxc/4428.diff
@@ -0,0 +1,78 @@
+diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
+index 92d6f01c3d..d2b67d8d6f 100644
+--- a/.github/workflows/build.yml
++++ b/.github/workflows/build.yml
+@@ -50,6 +50,7 @@ jobs:
+           meson setup build \
+                 -Dtests=true \
+                 -Dpam-cgroup=true \
++                -Dtools-multicall=true \
+                 -Dwerror=true \
+                 -Db_lto_mode=default
+           ninja -C build
+diff --git a/src/lxc/cmd/meson.build b/src/lxc/cmd/meson.build
+index 3ed3670e4b..edfb986622 100644
+--- a/src/lxc/cmd/meson.build
++++ b/src/lxc/cmd/meson.build
+@@ -46,7 +46,7 @@ cmd_lxc_init_static_sources = files(
+     '../string_utils.c',
+     '../string_utils.h') + include_sources
+ 
+-cmd_lxc_monitord_sources = files('lxc_monitord.c') + include_sources + netns_ifaddrs_sources
++cmd_lxc_monitord_sources = files('lxc_monitord.c')
+ cmd_lxc_user_nic_sources = files('lxc_user_nic.c') + cmd_common_sources + netns_ifaddrs_sources
+ cmd_lxc_usernsexec_sources = files('lxc_usernsexec.c') + cmd_common_sources + netns_ifaddrs_sources
+ 
+@@ -88,8 +88,8 @@ cmd_programs += executable(
+     'lxc-monitord',
+     cmd_lxc_monitord_sources,
+     include_directories: liblxc_includes,
+-    dependencies: liblxc_dep,
+-    link_with: [liblxc_static],
++    dependencies: liblxc_dependencies,
++    link_whole: [liblxc_static],
+     install: true,
+     install_dir: lxclibexec)
+ 
+diff --git a/src/lxc/tools/meson.build b/src/lxc/tools/meson.build
+index 00a863d936..6d317fc80b 100644
+--- a/src/lxc/tools/meson.build
++++ b/src/lxc/tools/meson.build
+@@ -1,6 +1,7 @@
+ # SPDX-License-Identifier: LGPL-2.1+
+ 
+-tools_common_sources = files('arguments.c', 'arguments.h') + include_sources + netns_ifaddrs_sources
++tools_common_sources = files('arguments.c', 'arguments.h') + include_sources
++tools_common_sources_for_dynamic_link = tools_common_sources + netns_ifaddrs_sources
+ 
+ tools_commands_dynamic_link = ['attach', 'autostart', 'cgroup', 'checkpoint', 'config',
+     'console', 'copy', 'create', 'destroy', 'device', 'execute', 'freeze',
+@@ -15,7 +16,7 @@ if want_tools
+     foreach cmd : tools_commands_dynamic_link
+         public_programs += executable(
+             'lxc-' + cmd,
+-            files('lxc_' + cmd + '.c') + tools_common_sources + liblxc_ext_sources,
++            files('lxc_' + cmd + '.c') + tools_common_sources_for_dynamic_link + liblxc_ext_sources,
+             dependencies: liblxc_dependencies,
+             include_directories: liblxc_includes,
+             c_args: ['-DNO_LXC_CONF'],
+@@ -26,16 +27,16 @@ if want_tools
+     foreach cmd : tools_commands_static_link
+         public_programs += executable(
+             'lxc-' + cmd,
+-            files('lxc_' + cmd + '.c') + tools_common_sources,
++            files('lxc_' + cmd + '.c') + files('arguments.c', 'arguments.h'),
+             dependencies: liblxc_dependencies,
+             include_directories: liblxc_includes,
+-            link_with: [liblxc_static],
++            link_whole: [liblxc_static],
+             install: true)
+     endforeach
+ endif
+ 
+ if want_tools_multicall
+-    tools_all_sources = files('lxc_multicall.c') + tools_common_sources
++    tools_all_sources = files('lxc_multicall.c') + tools_common_sources_for_dynamic_link
+     foreach cmd : tools_commands
+         tools_all_sources += files('lxc_' + cmd + '.c')
+     endforeach
diff --git a/pkgs/os-specific/linux/lxc/docbook-hack.patch b/pkgs/by-name/lx/lxc/docbook-hack.patch
index f758014efbaa2..f758014efbaa2 100644
--- a/pkgs/os-specific/linux/lxc/docbook-hack.patch
+++ b/pkgs/by-name/lx/lxc/docbook-hack.patch
diff --git a/pkgs/os-specific/linux/lxc/default.nix b/pkgs/by-name/lx/lxc/package.nix
index e525c9c3f5f7d..ba817c1e2e50e 100644
--- a/pkgs/os-specific/linux/lxc/default.nix
+++ b/pkgs/by-name/lx/lxc/package.nix
@@ -2,6 +2,7 @@
   lib,
   stdenv,
   fetchFromGitHub,
+  dbus,
   docbook2x,
   libapparmor,
   libcap,
@@ -9,22 +10,22 @@
   libselinux,
   meson,
   ninja,
-  nix-update-script,
   nixosTests,
   openssl,
   pkg-config,
   systemd,
+  nix-update-script,
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "lxc";
-  version = "5.0.3";
+  version = "6.0.0";
 
   src = fetchFromGitHub {
     owner = "lxc";
     repo = "lxc";
-    rev = "refs/tags/lxc-${version}";
-    hash = "sha256-lnLmLgWXt3pI2S+4OeHRlPP5gui7S7ZXXClFt+n/8sY=";
+    rev = "refs/tags/v${finalAttrs.version}";
+    hash = "sha256-D994gekFgW/1Q4iVFM/3Zi0JXKn9Ghfd3UcjckVfoFY=";
   };
 
   nativeBuildInputs = [
@@ -35,6 +36,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
+    dbus
     libapparmor
     libcap
     libseccomp
@@ -44,17 +46,19 @@ stdenv.mkDerivation rec {
   ];
 
   patches = [
-     # make build more nix compatible
-    ./add-meson-options.patch
-
     # fix docbook2man version detection
     ./docbook-hack.patch
+
+    # fix linking
+    ./4428.diff
   ];
 
   mesonFlags = [
     "-Dinstall-init-files=false"
     "-Dinstall-state-dirs=false"
     "-Dspecfile=false"
+    # re-enable when fixed https://github.com/lxc/lxc/issues/4427
+    # "-Dtools-multicall=true"
   ];
 
   enableParallelBuilding = true;
@@ -65,11 +69,13 @@ stdenv.mkDerivation rec {
     tests = {
       incus-legacy-init = nixosTests.incus.container-legacy-init;
       incus-systemd-init = nixosTests.incus.container-systemd-init;
+      lxd = nixosTests.lxd.container;
     };
+
     updateScript = nix-update-script {
       extraArgs = [
-        "-vr"
-        "lxc-(.*)"
+        "--version-regex"
+        "v(6.0.*)"
       ];
     };
   };
@@ -88,4 +94,4 @@ stdenv.mkDerivation rec {
     platforms = lib.platforms.linux;
     maintainers = lib.teams.lxc.members;
   };
-}
+})
diff --git a/pkgs/by-name/lx/lxgw-neoxihei/package.nix b/pkgs/by-name/lx/lxgw-neoxihei/package.nix
index aa8df5a625479..b3175e871b816 100644
--- a/pkgs/by-name/lx/lxgw-neoxihei/package.nix
+++ b/pkgs/by-name/lx/lxgw-neoxihei/package.nix
@@ -5,11 +5,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "lxgw-neoxihei";
-  version = "1.120.2";
+  version = "1.121";
 
   src = fetchurl {
     url = "https://github.com/lxgw/LxgwNeoXiHei/releases/download/v${version}/LXGWNeoXiHei.ttf";
-    hash = "sha256-RN0OmNS3aSRMK19nNiqXYJ4PIAQh6u5W/+L8DCeqMcE=";
+    hash = "sha256-3+th4alWV+i9kRT4F5tx8kOD4j8emcN2melcyN/mMMQ=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/by-name/ma/maa-cli/package.nix b/pkgs/by-name/ma/maa-cli/package.nix
index 3f8fadb0ee953..47949052b883f 100644
--- a/pkgs/by-name/ma/maa-cli/package.nix
+++ b/pkgs/by-name/ma/maa-cli/package.nix
@@ -13,13 +13,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "maa-cli";
-  version = "0.4.6";
+  version = "0.4.7";
 
   src = fetchFromGitHub {
     owner = "MaaAssistantArknights";
     repo = "maa-cli";
     rev = "v${version}";
-    hash = "sha256-fvMSYcYWYEVvDuAEjSmQJltl90EoLKkjYD2P3OsHS3c=";
+    hash = "sha256-FR0sUHAxxW49c/lnZteJGzgfvTskWNyc8gmQvghtrB8=";
   };
 
   nativeBuildInputs = [
@@ -36,7 +36,7 @@ rustPlatform.buildRustPackage rec {
   buildNoDefaultFeatures = true;
   buildFeatures = [ "git2" "core_installer" ];
 
-  cargoHash = "sha256-LQWjgMRxtSs2MX1R6YsxDAWUvoUJfOWmp/zj/hlTxyw=";
+  cargoHash = "sha256-iy9myT3bVW1TXCZx3ddiiDoDXx5BWqeQnSsJ97bc4IA=";
 
   # maa-cli would only seach libMaaCore.so and resources in itself's path
   # https://github.com/MaaAssistantArknights/maa-cli/issues/67
diff --git a/pkgs/by-name/ma/mac-robber/package.nix b/pkgs/by-name/ma/mac-robber/package.nix
new file mode 100644
index 0000000000000..977d6bd1bfa39
--- /dev/null
+++ b/pkgs/by-name/ma/mac-robber/package.nix
@@ -0,0 +1,43 @@
+{ lib
+, stdenv
+, fetchurl
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "mac-robber";
+  version = "1.02";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/mac-robber/mac-robber/${finalAttrs.version}/mac-robber-${finalAttrs.version}.tar.gz";
+    hash = "sha256-WJXTMuyNh+FfIUQcYVRbf2iDCi7iyWfTgXc70IUEgG0=";
+  };
+
+  patches = [
+    # add GCC hardening.
+    (fetchurl {
+      name = "10_add-GCC-hardening.patch";
+      url = "https://salsa.debian.org/pkg-security-team/mac-robber/-/raw/b6a59d78e2f58fbfab7f1b3ed9b72531d28693ca/debian/patches/10_add-GCC-hardening.patch";
+      hash = "sha256-1ma6Vh1MTE6WlCcm2KzRLK/ZV3hAw7xP25yi7TrIqLI=";
+    })
+  ];
+
+  makeFlags = [
+    "CC=${stdenv.cc.targetPrefix}cc"
+    "GCC_OPT="
+  ];
+
+  installPhase = ''
+    runHook preInstall
+    install -D mac-robber $out/bin/mac-robber
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "A digital investigation tool that collects data from allocated files in a mounted file system";
+    mainProgram = "mac-robber";
+    homepage = "https://www.sleuthkit.org/mac-robber/";
+    maintainers = with maintainers; [ d3vil0p3r ];
+    platforms = platforms.unix;
+    license = licenses.gpl2Only;
+  };
+})
diff --git a/pkgs/by-name/ma/makima/package.nix b/pkgs/by-name/ma/makima/package.nix
index 31552c840fe2f..176432cdee7a3 100644
--- a/pkgs/by-name/ma/makima/package.nix
+++ b/pkgs/by-name/ma/makima/package.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec{
   pname = "makima";
-  version = "0.5.2";
+  version = "0.6.5";
 
   src = fetchFromGitHub {
     owner = "cyber-sushi";
     repo = "makima";
     rev = "v${version}";
-    hash = "sha256-x8vjTXB6kFJ9o6EGCtlX6eT/VrzLF17fIA2gDLFumzY=";
+    hash = "sha256-Zhr8j1JWxjwUZ3fjXKUEaKp3T6/dekeAxUDys6eniMQ=";
   };
 
-  cargoHash = "sha256-p4oMeDL7T/a9OCgMdriGtgHkZq8tZVzPspEsU4IPfAo=";
+  cargoHash = "sha256-LdgS833MKJOEnUmfvnH/sWG9RrRMNwbe5gAgXTUYzh8=";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ udev ];
diff --git a/pkgs/by-name/ma/maltego/package.nix b/pkgs/by-name/ma/maltego/package.nix
index 223de91d8e768..5c5a011506df2 100644
--- a/pkgs/by-name/ma/maltego/package.nix
+++ b/pkgs/by-name/ma/maltego/package.nix
@@ -20,16 +20,16 @@ stdenv.mkDerivation (finalAttrs: {
   };
 
   postPatch = ''
-      substituteInPlace bin/maltego \
-            --replace /usr/bin/awk ${lib.getExe gawk}
+    substituteInPlace bin/maltego \
+      --replace-fail /usr/bin/awk ${lib.getExe gawk}
   '';
 
-    desktopItems = [
+  desktopItems = [
     (makeDesktopItem {
-      name = finalAttrs.pname;
+      name = "maltego";
       desktopName = "Maltego";
-      exec = finalAttrs.meta.mainProgram;
-      icon = finalAttrs.pname;
+      exec = "maltego";
+      icon = "maltego";
       comment = "An open source intelligence and forensics application";
       categories = [ "Network" "Security" ];
       startupNotify = false;
@@ -62,7 +62,7 @@ stdenv.mkDerivation (finalAttrs: {
 
     cp -aR . "$out/share/maltego/"
 
-    makeWrapper $out/share/maltego/bin/maltego $out/bin/${finalAttrs.meta.mainProgram} \
+    makeWrapper $out/share/maltego/bin/maltego $out/bin/maltego \
       --set JAVA_HOME ${jre} \
       --prefix PATH : ${lib.makeBinPath [ jre ]}
 
@@ -74,7 +74,7 @@ stdenv.mkDerivation (finalAttrs: {
     description = "An open source intelligence and forensics application, enabling to easily gather information about DNS, domains, IP addresses, websites, persons, and so on";
     mainProgram = "maltego";
     maintainers = with maintainers; [ emilytrau d3vil0p3r ];
-    platforms = with platforms; linux ++ darwin;
+    platforms = platforms.unix;
     sourceProvenance = with sourceTypes; [ binaryBytecode ];
     license = licenses.unfree;
   };
diff --git a/pkgs/by-name/ma/markdown-oxide/package.nix b/pkgs/by-name/ma/markdown-oxide/package.nix
index 60c764c436bf3..439f845a1ada7 100644
--- a/pkgs/by-name/ma/markdown-oxide/package.nix
+++ b/pkgs/by-name/ma/markdown-oxide/package.nix
@@ -5,13 +5,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "markdown-oxide";
-  version = "0.0.17";
+  version = "0.0.21";
 
   src = fetchFromGitHub {
     owner = "Feel-ix-343";
     repo = "markdown-oxide";
     rev = "v${version}";
-    hash = "sha256-bJlyzBnxUw1OyWLbVEFXgPc/YjmfyyQjfeGAA7G1QlY=";
+    hash = "sha256-PrsTHAlFFeqyZTsoKvoe19P2ed7xDtOlBgoKftFytVw=";
   };
 
   cargoLock = {
diff --git a/pkgs/by-name/ma/marwaita-x/package.nix b/pkgs/by-name/ma/marwaita-x/package.nix
new file mode 100644
index 0000000000000..1fb947272d30e
--- /dev/null
+++ b/pkgs/by-name/ma/marwaita-x/package.nix
@@ -0,0 +1,48 @@
+{ lib
+, stdenvNoCC
+, fetchFromGitHub
+, nix-update-script
+, gdk-pixbuf
+, gtk-engine-murrine
+, gtk_engines
+, librsvg
+}:
+
+stdenvNoCC.mkDerivation (finalAttrs: {
+  pname = "marwaita-x";
+  version = "0.8.1";
+
+  src = fetchFromGitHub {
+    owner = "darkomarko42";
+    repo = "marwaita-x";
+    rev = finalAttrs.version;
+    sha256 = "sha256-AkhysmA7QTHiH6yLEHFHgXFhRXb3l0elvYfy+oXsvZE=";
+  };
+
+  buildInputs = [
+    gdk-pixbuf
+    gtk_engines
+    librsvg
+  ];
+
+  propagatedUserEnvPkgs = [
+    gtk-engine-murrine
+  ];
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/share/themes
+    cp -a Marwaita* $out/share/themes
+    runHook postInstall
+  '';
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = {
+    description = "A new version for Marwaita GTK theme";
+    homepage = "https://www.pling.com/p/2044790/";
+    license = lib.licenses.gpl3Only;
+    platforms = lib.platforms.unix;
+    maintainers = with lib.maintainers; [ romildo ];
+  };
+})
diff --git a/pkgs/by-name/ma/mathemagix/package.nix b/pkgs/by-name/ma/mathemagix/package.nix
new file mode 100644
index 0000000000000..f9c53759dfb7e
--- /dev/null
+++ b/pkgs/by-name/ma/mathemagix/package.nix
@@ -0,0 +1,48 @@
+{
+  stdenv,
+  lib,
+  fetchsvn,
+  readline,
+  ncurses,
+  bison,
+  libtool,
+  gmp,
+  mpfr,
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "mathemagix";
+  version = "11126";
+
+  src = fetchsvn {
+    url = "https://subversion.renater.fr/anonscm/svn/mmx/";
+    rev = finalAttrs.version;
+    hash = "sha256-AFnYd5oFg/wgaHPjfZmqXNljEpoFW4h6f3UG+KZauEs=";
+  };
+
+  strictDeps = true;
+
+  buildInputs = [
+    gmp
+    libtool
+    mpfr
+    ncurses
+    readline
+  ];
+
+  nativeBuildInputs = [
+    bison
+  ];
+
+  preConfigure = ''
+    export HOME="$PWD"
+  '';
+
+  meta = {
+    description = "A free computer algebra and analysis system consisting of a high level language with a compiler and a series of mathematical libraries";
+    homepage = "http://www.mathemagix.org/";
+    license = lib.licenses.gpl3Only;
+    maintainers = with lib.maintainers; [ drupol ];
+    platforms = lib.platforms.linux;
+  };
+})
diff --git a/pkgs/by-name/mc/mcap-cli/package.nix b/pkgs/by-name/mc/mcap-cli/package.nix
index 8f4fd9d7406cd..735f78021484b 100644
--- a/pkgs/by-name/mc/mcap-cli/package.nix
+++ b/pkgs/by-name/mc/mcap-cli/package.nix
@@ -1,7 +1,7 @@
 { lib, buildGoModule, fetchFromGitHub, nix-update-script
 }:
 let
-  version = "0.0.43";
+  version = "0.0.44";
 in
 buildGoModule {
 
@@ -13,10 +13,10 @@ buildGoModule {
     repo = "mcap";
     owner = "foxglove";
     rev = "releases/mcap-cli/v${version}";
-    hash = "sha256-AWmPqymnNZxKbhxiQOO9djQXbP56mNh9Ucmty2jd+4Q=";
+    hash = "sha256-OAL2z28FhMXlyVzgmLCzHNCpCeK7hIkQB6jd7v3WHHA=";
   };
 
-  vendorHash = "sha256-YFbfrqu2H7yU6vANH56MnxipDxaJLT76qZkvqLCFTTg=";
+  vendorHash = "sha256-ofJYarmnOHONu2lZ76GvSua0ViP1gr6968xAuQ/VRNk=";
 
   modRoot = "go/cli/mcap";
 
diff --git a/pkgs/by-name/me/megapixels/package.nix b/pkgs/by-name/me/megapixels/package.nix
index eef5e4c7add3a..74ced5c3af268 100644
--- a/pkgs/by-name/me/megapixels/package.nix
+++ b/pkgs/by-name/me/megapixels/package.nix
@@ -29,13 +29,13 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "megapixels";
-  version = "1.8.0";
+  version = "1.8.1";
 
   src = fetchFromGitLab {
     owner = "megapixels-org";
     repo = "Megapixels";
     rev = finalAttrs.version;
-    hash = "sha256-J94kDSqQkfdltbYbzvJofd5o/Dhivtld475CaQs7+Ok=";
+    hash = "sha256-TXiPJbd4TPpsEvmD97F7xkm4rS1g+ViTVTNlxeXrQaw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/emulators/melonDS/default.nix b/pkgs/by-name/me/melonDS/package.nix
index bb0499f97277d..334b5909496c7 100644
--- a/pkgs/applications/emulators/melonDS/default.nix
+++ b/pkgs/by-name/me/melonDS/package.nix
@@ -3,13 +3,14 @@
 , cmake
 , extra-cmake-modules
 , fetchFromGitHub
+, libGL
 , libarchive
 , libpcap
 , libsForQt5
 , libslirp
-, libGL
 , pkg-config
 , stdenv
+, unstableGitUpdater
 , wayland
 , zstd
 }:
@@ -22,13 +23,13 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "melonDS";
-  version = "0.9.5-unstable-2024-01-17";
+  version = "0.9.5-unstable-2024-04-18";
 
   src = fetchFromGitHub {
     owner = "melonDS-emu";
     repo = "melonDS";
-    rev = "7897bd387bfd37615a049eba28d02dc23cfa5194";
-    hash = "sha256-7BrUa8QJnudJkiCtuBdfar+FeeJSrdMGJdhXrPP6uww=";
+    rev = "ba8d547dfa81539f4e8474152d92e866ad89241b";
+    hash = "sha256-va4KegM2z0GSA43goUynRPNPvQnrV2b8oNOfLKPE+Zc=";
   };
 
   nativeBuildInputs = [
@@ -55,9 +56,30 @@ stdenv.mkDerivation (finalAttrs: {
     "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libpcap ]}"
   ];
 
+  passthru = {
+    updateScript = unstableGitUpdater { };
+  };
+
   meta = {
     homepage = "https://melonds.kuribo64.net/";
     description = "Work in progress Nintendo DS emulator";
+    longDescription = ''
+      melonDS aims at providing fast and accurate Nintendo DS emulation. While
+      it is still a work in progress, it has a pretty solid set of features:
+
+      - Nearly complete core (CPU, video, audio, ...)
+      - JIT recompiler for fast emulation
+      - OpenGL renderer, 3D upscaling
+      - RTC, microphone, lid close/open
+      - Joystick support
+      - Savestates
+      - Various display position/sizing/rotation modes
+      - (WIP) Wifi: local multiplayer, online connectivity
+      - (WIP) DSi emulation
+      - DLDI
+      - (WIP) GBA slot add-ons
+      - and more are planned!
+    '';
     license = with lib.licenses; [ gpl3Plus ];
     mainProgram = "melonDS";
     maintainers = with lib.maintainers; [
diff --git a/pkgs/applications/emulators/mgba/default.nix b/pkgs/by-name/mg/mgba/package.nix
index 457d5c7e4fcd0..8f23998f01e00 100644
--- a/pkgs/applications/emulators/mgba/default.nix
+++ b/pkgs/by-name/mg/mgba/package.nix
@@ -1,20 +1,21 @@
-{ lib
-, SDL2
-, cmake
-, fetchFromGitHub
-, ffmpeg
-, discord-rpc
-, libedit
-, elfutils
-, libepoxy
-, libsForQt5
-, libzip
-, lua
-, minizip
-, pkg-config
-, stdenv
-, wrapGAppsHook
-, enableDiscordRpc ? false
+{
+  lib,
+  SDL2,
+  cmake,
+  fetchFromGitHub,
+  ffmpeg,
+  discord-rpc,
+  libedit,
+  elfutils,
+  libepoxy,
+  libsForQt5,
+  libzip,
+  lua,
+  minizip,
+  pkg-config,
+  stdenv,
+  wrapGAppsHook,
+  enableDiscordRpc ? false,
 }:
 
 let
@@ -92,7 +93,7 @@ stdenv.mkDerivation (finalAttrs: {
     changelog = "https://raw.githubusercontent.com/mgba-emu/mgba/${finalAttrs.src.rev}/CHANGES";
     license = with lib.licenses; [ mpl20 ];
     mainProgram = "mgba";
-    maintainers = with lib.maintainers; [ MP2E AndersonTorres ];
+    maintainers = with lib.maintainers; [ AndersonTorres ];
     platforms = lib.platforms.linux;
     broken = enableDiscordRpc; # Some obscure `ld` error
   };
diff --git a/pkgs/by-name/mi/mihomo/package.nix b/pkgs/by-name/mi/mihomo/package.nix
index 6e880a4a0c33a..b397c9a3e2b0d 100644
--- a/pkgs/by-name/mi/mihomo/package.nix
+++ b/pkgs/by-name/mi/mihomo/package.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "mihomo";
-  version = "1.18.3";
+  version = "1.18.4";
 
   src = fetchFromGitHub {
     owner = "MetaCubeX";
     repo = "mihomo";
     rev = "v${version}";
-    hash = "sha256-/fFVUI++OhOer5DrvcXO+R+4whtb5+3Qg3e4+ikJr1Y=";
+    hash = "sha256-mqNcMB2nb8+e9XEGKqwaBE/nC4+jRaEFxE17e0JTo8Y=";
   };
 
-  vendorHash = "sha256-k4xB/jO78VGD+n9HtuoWXoXB+kZCEyPKJTTwj32nGIw=";
+  vendorHash = "sha256-9Ey4roUm/Y6GfFmLD6ij/A+YIgetStawWmhD+Iq3qc8=";
 
   excludedPackages = [ "./test" ];
 
diff --git a/pkgs/by-name/mi/mimikatz/package.nix b/pkgs/by-name/mi/mimikatz/package.nix
new file mode 100644
index 0000000000000..d834e9fdf888b
--- /dev/null
+++ b/pkgs/by-name/mi/mimikatz/package.nix
@@ -0,0 +1,31 @@
+{ lib
+, fetchzip
+, stdenvNoCC
+}:
+
+stdenvNoCC.mkDerivation (finalAttrs: {
+  pname = "mimikatz";
+  version = "2.2.0-20220919";
+
+  src = fetchzip {
+    url = "https://github.com/gentilkiwi/mimikatz/releases/download/${finalAttrs.version}/mimikatz_trunk.zip";
+    hash = "sha256-wmatI/rEMziBdNiA3HE3MJ0ckdpvsD+LdbB7SKOYdI0=";
+    stripRoot = false;
+  };
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/share/windows/mimikatz
+    cp -a * $out/share/windows/mimikatz/
+    runHook postInstall
+  '';
+
+  meta = {
+    homepage = "https://github.com/gentilkiwi/mimikatz";
+    description = "A little tool to play with Windows security";
+    license = with lib.licenses; [ cc-by-40 ];
+    maintainers = with lib.maintainers; [ d3vil0p3r ];
+    platforms = lib.platforms.all;
+    sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
+  };
+})
diff --git a/pkgs/by-name/mi/mini-calc/package.nix b/pkgs/by-name/mi/mini-calc/package.nix
index 2faa44a33894e..d8a385121e1a4 100644
--- a/pkgs/by-name/mi/mini-calc/package.nix
+++ b/pkgs/by-name/mi/mini-calc/package.nix
@@ -1,22 +1,29 @@
-{ lib, rustPlatform, fetchpatch, fetchFromGitHub }:
+{
+  lib,
+  rustPlatform,
+  fetchFromGitHub,
+  gnuplot,
+  makeWrapper,
+}:
 rustPlatform.buildRustPackage rec {
   pname = "mini-calc";
-  version = "2.12.3";
+  version = "2.13.0";
 
   src = fetchFromGitHub {
     owner = "coco33920";
     repo = "calc";
     rev = version;
-    hash = "sha256-/aTfh3d63wwk3xai2F/D1fMJiDO4mg+OeLIanV4vSuA=";
+    hash = "sha256-rvQXn0VuOjB7CSf+bDTGxjeMKpbJGhVmyDLNYSy/Mlw=";
   };
 
-  cargoHash = "sha256-BfaOhEAKZmTYkzz6rvcSmDPufyQMJFtQO6CRksgA/2U=";
-  cargoPatches = [
-    (fetchpatch {
-      url = "https://github.com/coco33920/calc/commit/a010c72b5c06c75b7f644071f2861394dd5c74b8.patch";
-      sha256 = "sha256-ceyxfgiXHS+oOJ4apM8+cSjMICwGlQHMKjFICATmKTU=";
-    })
-  ];
+  cargoHash = "sha256-QFzrJBnGKAgDhjbbik0WP3Y1fNoHMAiWpEHfidFQGPk=";
+
+  nativeBuildInputs = [ makeWrapper ];
+  postFixup = ''
+    wrapProgram $out/bin/mini-calc \
+      --prefix PATH : "${lib.makeBinPath [ gnuplot ]}"
+
+  '';
 
   meta = {
     description = "A fully-featured minimalistic configurable calculator written in Rust";
diff --git a/pkgs/by-name/mi/minijinja/package.nix b/pkgs/by-name/mi/minijinja/package.nix
index 686cb741ebc6d..916beed804b80 100644
--- a/pkgs/by-name/mi/minijinja/package.nix
+++ b/pkgs/by-name/mi/minijinja/package.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "minijinja";
-  version = "1.0.20";
+  version = "1.0.21";
 
   src = fetchFromGitHub {
     owner = "mitsuhiko";
     repo = "minijinja";
     rev = version;
-    hash = "sha256-NVG9Zpt/CRumlJYsILzjJLo5nY6IZxVdjf6asrglIW0=";
+    hash = "sha256-P18zqKbr7kWU2B9b6MNdL0Z281174NHTGvo38J/wSEo=";
   };
 
-  cargoHash = "sha256-fMlk48H9qz8r3gwDD5tXHc+CEgOnQo0pWzhsD9dvl0I=";
+  cargoHash = "sha256-nemZUNF1tHbXopIsvqFI/MIKrZcXj6YQF0WNxBkE310=";
 
   # The tests relies on the presence of network connection
   doCheck = false;
diff --git a/pkgs/by-name/mi/miru/package.nix b/pkgs/by-name/mi/miru/package.nix
index 45e747ad9771c..e8bcb7729d999 100644
--- a/pkgs/by-name/mi/miru/package.nix
+++ b/pkgs/by-name/mi/miru/package.nix
@@ -5,12 +5,12 @@
 
 appimageTools.wrapType2 rec {
   pname = "miru";
-  version = "5.0.3";
+  version = "5.1.0";
 
   src = fetchurl {
     url = "https://github.com/ThaUnknown/miru/releases/download/v${version}/linux-Miru-${version}.AppImage";
     name = "${pname}-${version}.AppImage";
-    sha256 = "sha256-vKV1Scd+YiJMIV8EWx4udoOxTXW9NA7k/CxRVNRqrjk=";
+    sha256 = "sha256-N9I5YNFIfBmANCnJA3gUmgq04cc5LLfOsYiEdwJupf8=";
   };
 
   extraInstallCommands =
@@ -23,7 +23,6 @@ appimageTools.wrapType2 rec {
       cp -r ${contents}/{locales,resources} "$out/share/lib/miru"
       cp -r ${contents}/usr/* "$out"
       cp "${contents}/${pname}.desktop" "$out/share/applications/"
-      mv "$out/bin/${pname}-${version}" "$out/bin/${pname}"
       substituteInPlace $out/share/applications/${pname}.desktop --replace 'Exec=AppRun' 'Exec=${pname}'
     '';
 
diff --git a/pkgs/by-name/mi/missidentify/fix-darwin-build.patch b/pkgs/by-name/mi/missidentify/fix-darwin-build.patch
new file mode 100644
index 0000000000000..cc54480567afe
--- /dev/null
+++ b/pkgs/by-name/mi/missidentify/fix-darwin-build.patch
@@ -0,0 +1,11 @@
+--- a/main.h
++++ b/main.h
+@@ -68,7 +68,7 @@ memset(VAR,0,SIZE * sizeof(TYPE));
+ 
+ 
+ 
+-#ifdef __GLIBC__
++#if defined(__GLIBC__) || defined (__APPLE__)
+ extern char *__progname;
+ #else
+ char *__progname;
\ No newline at end of file
diff --git a/pkgs/by-name/mi/missidentify/package.nix b/pkgs/by-name/mi/missidentify/package.nix
new file mode 100644
index 0000000000000..2fbce5bf96f2a
--- /dev/null
+++ b/pkgs/by-name/mi/missidentify/package.nix
@@ -0,0 +1,56 @@
+{ lib
+, stdenv
+, fetchurl
+, autoreconfHook
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "missidentify";
+  version = "1.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/missidentify/missidentify/missidentify-${finalAttrs.version}/missidentify-${finalAttrs.version}.tar.gz";
+    hash = "sha256-nnIRN8hpKM0IZCe0HUrrJGrxvBYKeBmdU168rlo8op0=";
+  };
+
+  patches = [
+    # define PATH_MAX variable to fix a FTBFS in Hurd.
+    (fetchurl {
+      name = "fix-FTBFS-Hurd.patch";
+      url = "https://salsa.debian.org/pkg-security-team/missidentify/-/raw/14b7169c3157dbad65fc80fdd82ec6634df20ffd/debian/patches/fix-FTBFS-Hurd.patch";
+      hash = "sha256-wGEzTfT76s5Q7s/5s913c4x9MMn9c0v/4Lhr+QakPQY=";
+    })
+    # fix a hyphen used as minus sign and a typo in manpage.
+    (fetchurl {
+      name = "fix-manpage.patch";
+      url = "https://salsa.debian.org/pkg-security-team/missidentify/-/raw/14b7169c3157dbad65fc80fdd82ec6634df20ffd/debian/patches/fix-manpage.patch";
+      hash = "sha256-7LzQs6ETRSjdnEhlKOVWC3grevwOmGs0h4Z6AYGysD8=";
+    })
+    # fix darwin build
+    ./fix-darwin-build.patch
+  ];
+
+  nativeBuildInputs = [ autoreconfHook ];
+
+  configureFlags = lib.optionals (stdenv.hostPlatform.isAarch32 || stdenv.hostPlatform.isAarch64) [ "--build=arm" ];
+
+  meta = with lib; {
+    description = "Find Win32 applications";
+    longDescription = ''
+      Miss Identify is a program to find Win32 applications. In
+      its default mode it displays the filename of any executable
+      that does not have an executable extension (i.e. exe, dll,
+      com, sys, cpl, hxs, hxi, olb, rll, or tlb). The program can
+      also be run to display all executables encountered,
+      regardless of the extension. This is handy when looking
+      for all of the executables on a drive. Other options allow
+      the user to record the strings found in an executable and
+      to work recursively.
+    '';
+    mainProgram = "missidentify";
+    homepage = "https://missidentify.sourceforge.net";
+    maintainers = with maintainers; [ d3vil0p3r ];
+    platforms = platforms.unix;
+    license = licenses.gpl2Only;
+  };
+})
diff --git a/pkgs/by-name/mi/mixxc/package.nix b/pkgs/by-name/mi/mixxc/package.nix
new file mode 100644
index 0000000000000..44287a81aeb3b
--- /dev/null
+++ b/pkgs/by-name/mi/mixxc/package.nix
@@ -0,0 +1,67 @@
+{
+  lib,
+  rustPlatform,
+  fetchCrate,
+  pkg-config,
+  libpulseaudio,
+  gtk4-layer-shell,
+  gtk4,
+  wrapGAppsHook4,
+  libxcb,
+  installShellFiles,
+  enableWayland ? true,
+  enableSass ? true,
+  enableX11 ? true,
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "mixxc";
+  version = "0.2.2";
+
+  src = fetchCrate {
+    pname = "mixxc";
+    inherit version;
+    hash = "sha256-Y/9l8t6Vz7yq9T1AyoHnWmIcju1rfcV0S74hiK1fEjo=";
+  };
+
+  cargoHash = "sha256-l9inqqUiLObrqd/8pNobwBbLaiPJD39YK/38CWfDh+Q=";
+
+  cargoBuildFlags = [ "--locked" ];
+
+  buildFeatures = [
+    (lib.optionals enableWayland "Wayland")
+    (lib.optionals enableX11 "X11")
+    (lib.optionals enableSass "Sass")
+  ];
+
+  nativeBuildInputs = [
+    pkg-config
+    installShellFiles
+    wrapGAppsHook4
+  ];
+
+  buildInputs = [
+    libpulseaudio
+    gtk4
+    (lib.optionals enableWayland gtk4-layer-shell)
+    (lib.optionals enableX11 libxcb)
+  ];
+
+  outputs = [
+    "out"
+    "man"
+  ];
+
+  postInstall = ''
+    installManPage $src/doc/mixxc.1
+  '';
+
+  meta = {
+    description = "A minimalistic and customizable volume mixer";
+    homepage = "https://github.com/Elvyria/mixxc";
+    license = with lib.licenses; [ mit ];
+    maintainers = with lib.maintainers; [ daru-san ];
+    mainProgram = "mixxc";
+    platforms = lib.platforms.linux;
+  };
+}
diff --git a/pkgs/by-name/mk/mkjson/generated.nix b/pkgs/by-name/mk/mkjson/generated.nix
new file mode 100644
index 0000000000000..a89306f5b427e
--- /dev/null
+++ b/pkgs/by-name/mk/mkjson/generated.nix
@@ -0,0 +1,46 @@
+{ mkDerivation, lib, fetchFromGitHub
+, aeson, base, bytestring, containers, criterion
+, doctest, Glob, mersenne-random-pure64, mtl
+, optparse-applicative, parsec, random, regex-tdfa, scientific
+, text, time, unordered-containers, uuid, vector
+}:
+
+mkDerivation rec {
+  pname = "mkjson";
+  version = "0.4.0";
+  src = fetchFromGitHub {
+    owner = "mfussenegger";
+    repo = "mkjson";
+    rev = "${version}";
+    hash = "sha256-+NDLFtsWWxHv/6XC9hJOAHPU6YED5oHqS/j5BPwNsqA=";
+  };
+
+  isLibrary = false;
+  isExecutable = true;
+  libraryHaskellDepends = [
+    aeson base bytestring containers mersenne-random-pure64 mtl
+    optparse-applicative parsec random regex-tdfa scientific text time
+    unordered-containers uuid vector
+  ];
+  executableHaskellDepends = [
+    aeson base bytestring containers mersenne-random-pure64 mtl
+    optparse-applicative parsec random regex-tdfa scientific text time
+    unordered-containers uuid vector
+  ];
+  testHaskellDepends = [
+    aeson base bytestring containers doctest Glob
+    mersenne-random-pure64 mtl optparse-applicative parsec random
+    regex-tdfa scientific text time unordered-containers uuid vector
+  ];
+  benchmarkHaskellDepends = [
+    aeson base bytestring containers criterion mersenne-random-pure64
+    mtl optparse-applicative parsec random regex-tdfa scientific text
+    time unordered-containers uuid vector
+  ];
+
+  description = "A commandline tool to generate static or random JSON records";
+  homepage = "https://github.com/mfussenegger/mkjson";
+  license = lib.licenses.mit;
+  maintainers = with lib.maintainers; [ athas ];
+  mainProgram = "mkjson";
+}
diff --git a/pkgs/by-name/mk/mkjson/package.nix b/pkgs/by-name/mk/mkjson/package.nix
new file mode 100644
index 0000000000000..dfa170a5303d2
--- /dev/null
+++ b/pkgs/by-name/mk/mkjson/package.nix
@@ -0,0 +1 @@
+{ haskell, haskellPackages }: haskell.lib.justStaticExecutables (haskellPackages.callPackage ./generated.nix { })
diff --git a/pkgs/by-name/mo/mo/package.nix b/pkgs/by-name/mo/mo/package.nix
new file mode 100644
index 0000000000000..5de0716fde5d0
--- /dev/null
+++ b/pkgs/by-name/mo/mo/package.nix
@@ -0,0 +1,36 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, runtimeShell
+}:
+
+stdenv.mkDerivation rec {
+  pname = "mo";
+  version = "3.0.5";
+
+  src = fetchFromGitHub {
+    owner = "tests-always-included";
+    repo = pname;
+    rev = version;
+    hash = "sha256-CFAvTpziKzSkdomvCf8PPXYbYcJxjB4EValz2RdD2b0=";
+  };
+
+  dontConfigure = true;
+  dontBuild = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/bin
+    cp mo $out/bin/.
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Moustache templates for Bash";
+    homepage = "https://github.com/tests-always-included/mo";
+    license = licenses.mit;
+    maintainers = with maintainers; [ sheepforce ];
+  };
+}
diff --git a/pkgs/by-name/mo/monophony/package.nix b/pkgs/by-name/mo/monophony/package.nix
index f0f268ca14a59..bf048768b5e88 100644
--- a/pkgs/by-name/mo/monophony/package.nix
+++ b/pkgs/by-name/mo/monophony/package.nix
@@ -11,7 +11,7 @@
 }:
 python3Packages.buildPythonApplication rec {
   pname = "monophony";
-  version = "2.8.2";
+  version = "2.9.0";
   format = "other";
 
   sourceRoot = "${src.name}/source";
@@ -19,7 +19,7 @@ python3Packages.buildPythonApplication rec {
     owner = "zehkira";
     repo = "monophony";
     rev = "v${version}";
-    hash = "sha256-sCJVcf/VAW5UVMwrpri+PPJjQF0s7f2KpmaytuH0jN4=";
+    hash = "sha256-fZ+EQqcHJGOLBwyHZJvML6+SkfFpnt6hb8xHedJ7VSU=";
   };
 
   pythonPath = with python3Packages; [
diff --git a/pkgs/by-name/mo/movim/package.nix b/pkgs/by-name/mo/movim/package.nix
index 6380baf3d46fd..20dd5165d26e5 100644
--- a/pkgs/by-name/mo/movim/package.nix
+++ b/pkgs/by-name/mo/movim/package.nix
@@ -1,13 +1,13 @@
 { lib
 , fetchpatch
 , fetchFromGitHub
+, writeShellScript
 , dash
 , php
 , phpCfg ? null
 , withPgsql ? true # “strongly recommended” according to docs
 , withMysql ? false
 , minifyStaticFiles ? false # default files are often not minified
-, parallel
 , esbuild
 , lightningcss
 , scour
@@ -39,15 +39,22 @@ let
 in
 php.buildComposerProject (finalAttrs: {
   pname = "movim";
-  version = "0.23.0.20240328";
+  version = "0.24";
 
   src = fetchFromGitHub {
     owner = "movim";
     repo = "movim";
-    rev = "c3a43cd7e3a1a3a6efd595470e6a85b2ec578cba";
-    hash = "sha256-x0C4w3SRP3NMOhGSZOQALk6PNWUre4MvFW5cESr8Wvk=";
+    rev = "refs/tags/v${finalAttrs.version}";
+    hash = "sha256-t63POjywZLk5ulppuCedFhhEhOsnB90vy3k/HhM3MGc=";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/movim/movim/commit/4dd2842f4617f3baaa166157892a532ad07df80d.patch";
+      hash = "sha256-32MLS5g60Rhm8HQDBPnUo9k+aB7L8dNMcnSjPIlooks=";
+    })
+  ];
+
   php = php.buildEnv ({
     extensions = ({ all, enabled }:
       enabled
@@ -60,8 +67,7 @@ php.buildComposerProject (finalAttrs: {
   });
 
   nativeBuildInputs =
-    lib.optional (lib.any (x: x.enable) (lib.attrValues minify)) parallel
-    ++ lib.optional minify.script.enable esbuild
+    lib.optional minify.script.enable esbuild
     ++ lib.optional minify.style.enable lightningcss
     ++ lib.optional minify.svg.enable scour;
 
@@ -69,7 +75,7 @@ php.buildComposerProject (finalAttrs: {
   # pinned commonmark
   composerStrictValidation = false;
 
-  vendorHash = "sha256-RFIi1I+gcagRgkDpgQeR1oGJeBGA7z9q3DCfW+ZDr2Y=";
+  vendorHash = "sha256-SinS5ocf4kLMBR2HF3tcdmEomw9ICUqTg2IXPJFoujU=";
 
   postPatch = ''
     # Our modules are already wrapped, removes missing *.so warnings;
@@ -94,39 +100,30 @@ php.buildComposerProject (finalAttrs: {
   '';
 
   preBuild = lib.optionalString minify.script.enable ''
-    find ./public -type f -iname "*.js" \
-      | parallel ${lib.escapeShellArgs [
-          "--will-cite"
-          "-j $NIX_BUILD_CORES"
-          ''
-            tmp="$(mktemp)"
-            esbuild {} --minify --target=${lib.escapeShellArg minify.script.target} --outfile=$tmp
-            [[ "$(stat -c %s $tmp)" -lt "$(stat -c %s {})" ]] && mv $tmp {}
-          ''
-        ]}
+    find ./public -type f -iname "*.js" -print0 \
+      | xargs -0 -n 1 -P $NIX_BUILD_CORES ${writeShellScript "movim_script_minify" ''
+          file="$1"
+          tmp="$(mktemp)"
+          esbuild $file --minify --target=${lib.escapeShellArg minify.script.target} --outfile=$tmp
+          [[ "$(stat -c %s $tmp)" -lt "$(stat -c %s $file)" ]] && mv $tmp $file
+        ''}
   '' + lib.optionalString minify.style.enable ''
-    export BROWSERLIST=${lib.escapeShellArg minify.style.browserslist}
-    find ./public -type f -iname "*.css" \
-      | parallel ${lib.escapeShellArgs [
-          "--will-cite"
-          "-j $NIX_BUILD_CORES"
-          ''
-            tmp="$(mktemp)"
-            lightningcss {} --minify --browserslist --output-file=$tmp
-            [[ "$(stat -c %s $tmp)" -lt "$(stat -c %s {})" ]] && mv $tmp {}
-          ''
-        ]}
+    find ./public -type f -iname "*.css" -print0 \
+      | xargs -0 -n 1 -P $NIX_BUILD_CORES ${writeShellScript "movim_style_minify" ''
+          export BROWSERLIST="${lib.escapeShellArg minify.style.browserslist}"
+          file="$1"
+          tmp="$(mktemp)"
+          lightningcss $file --minify --browserslist --output-file=$tmp
+          [[ "$(stat -c %s $tmp)" -lt "$(stat -c %s $file)" ]] && mv $tmp $file
+        ''}
   '' + lib.optionalString minify.svg.enable ''
-    find ./public -type f -iname "*.svg" -a -not -path "*/emojis/*" \
-      | parallel ${lib.escapeShellArgs [
-          "--will-cite"
-          "-j $NIX_BUILD_CORES"
-          ''
-            tmp="$(mktemp)"
-            scour -i {} -o $tmp --disable-style-to-xml --enable-comment-stripping --enable-viewboxing --indent=tab
-            [[ "$(stat -c %s $tmp)" -lt "$(stat -c %s {})" ]] && mv $tmp {}
-          ''
-        ]}
+    find ./public -type f -iname "*.svg" -a -not -path "*/emojis/*" -print0 \
+      | xargs -0 -n 1 -P $NIX_BUILD_CORES ${writeShellScript "movim_svg_minify" ''
+          file="$1"
+          tmp="$(mktemp)"
+          scour -i $file -o $tmp --disable-style-to-xml --enable-comment-stripping --enable-viewboxing --indent=tab
+          [[ "$(stat -c %s $tmp)" -lt "$(stat -c %s $file)" ]] && mv $tmp $file
+        ''}
   '';
 
   postInstall = ''
diff --git a/pkgs/by-name/mq/mqttx/package.nix b/pkgs/by-name/mq/mqttx/package.nix
index f2c22d54ade8a..6ec192a6ab14e 100644
--- a/pkgs/by-name/mq/mqttx/package.nix
+++ b/pkgs/by-name/mq/mqttx/package.nix
@@ -34,7 +34,6 @@ appimageTools.wrapType2 {
   extraPkgs = pkgs: [ ];
 
   extraInstallCommands = ''
-    mv $out/bin/${pname}-${version} $out/bin/${pname}
     install -m 444 -D ${appimageContents}/${pname}.desktop $out/share/applications/${pname}.desktop
     install -m 444 -D ${appimageContents}/${pname}.png $out/share/icons/hicolor/1024x1024/apps/${pname}.png
 
diff --git a/pkgs/by-name/my/mystmd/package.nix b/pkgs/by-name/my/mystmd/package.nix
index 2be16bb1c83e6..4206f21c26049 100644
--- a/pkgs/by-name/my/mystmd/package.nix
+++ b/pkgs/by-name/my/mystmd/package.nix
@@ -36,7 +36,7 @@ buildNpmPackage rec {
     homepage = "https://github.com/executablebooks/mystmd";
     changelog = "https://github.com/executablebooks/mystmd/blob/${src.rev}/packages/myst-cli/CHANGELOG.md";
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     mainProgram = "myst";
   };
 }
diff --git a/pkgs/by-name/na/nanoboyadvance/dont-fetch-glad.patch b/pkgs/by-name/na/nanoboyadvance/dont-fetch-glad.patch
new file mode 100644
index 0000000000000..efe9b59726ef6
--- /dev/null
+++ b/pkgs/by-name/na/nanoboyadvance/dont-fetch-glad.patch
@@ -0,0 +1,14 @@
+diff --git a/src/platform/core/CMakeLists.txt b/src/platform/core/CMakeLists.txt
+index 2bc6d8c..3175c14 100644
+--- a/src/platform/core/CMakeLists.txt
++++ b/src/platform/core/CMakeLists.txt
+@@ -18,8 +18,7 @@ find_package(OpenGL REQUIRED)
+ 
+ include(FetchContent)
+ FetchContent_Declare(glad
+-  GIT_REPOSITORY https://github.com/Dav1dde/glad.git
+-  GIT_TAG        adc3d7a1d704e099581ca25bc5bbdf728c2db67b # v2.0.5-2-gadc3d7a
++  SOURCE_DIR @gladSrc@
+   SOURCE_SUBDIR  cmake
+ )
+ FetchContent_MakeAvailable(glad)
diff --git a/pkgs/by-name/na/nanoboyadvance/package.nix b/pkgs/by-name/na/nanoboyadvance/package.nix
new file mode 100644
index 0000000000000..64e670614c1cd
--- /dev/null
+++ b/pkgs/by-name/na/nanoboyadvance/package.nix
@@ -0,0 +1,66 @@
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  substituteAll,
+  cmake,
+  python3Packages,
+  libsForQt5,
+  SDL2,
+  fmt,
+  toml11,
+  libunarr,
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "nanoboyadvance";
+  version = "1.8.1";
+
+  src = fetchFromGitHub {
+    owner = "nba-emu";
+    repo = "NanoBoyAdvance";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-du3dPTg3OxNTWXDQo2m9W0rJxtrkn+lQSh/XGiu/eGg=";
+  };
+
+  patches = [
+    (substituteAll {
+      src = ./dont-fetch-glad.patch;
+      gladSrc = fetchFromGitHub {
+        owner = "Dav1dde";
+        repo = "glad";
+        rev = "v2.0.5";
+        hash = "sha256-Ba7nbd0DxDHfNXXu9DLfnxTQTiJIQYSES9CP5Bfq4K0=";
+      };
+    })
+  ];
+
+  nativeBuildInputs = [
+    cmake
+    python3Packages.jinja2
+    libsForQt5.wrapQtAppsHook
+  ];
+
+  buildInputs = [
+    libsForQt5.qtbase
+    SDL2
+    fmt
+    toml11
+    libunarr
+  ];
+
+  cmakeFlags = [
+    (lib.cmakeBool "USE_SYSTEM_FMT" true)
+    (lib.cmakeBool "USE_SYSTEM_TOML11" true)
+    (lib.cmakeBool "USE_SYSTEM_UNARR" true)
+  ];
+
+  meta = {
+    description = "A cycle-accurate Nintendo Game Boy Advance emulator";
+    homepage = "https://github.com/nba-emu/NanoBoyAdvance";
+    license = lib.licenses.gpl3Plus;
+    mainProgram = "NanoBoyAdvance";
+    maintainers = with lib.maintainers; [ tomasajt ];
+    platforms = lib.platforms.all;
+  };
+})
diff --git a/pkgs/by-name/na/nawk/package.nix b/pkgs/by-name/na/nawk/package.nix
index 2ad1e2c9c3cdb..bb93e778922e9 100644
--- a/pkgs/by-name/na/nawk/package.nix
+++ b/pkgs/by-name/na/nawk/package.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "nawk";
-  version = "20240311";
+  version = "20240422";
 
   src = fetchFromGitHub {
     owner = "onetrueawk";
     repo = "awk";
     rev = finalAttrs.version;
-    hash = "sha256-4iAQR8djhhp5Yn4H1IdzotQLY0d/Gz/vNQPfAUNQV0A=";
+    hash = "sha256-wsRkSXCLtK2jk4gW/Lpg/14NiOUANfmCrYqeKZW6CLY=";
   };
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
diff --git a/pkgs/by-name/ne/netclient/package.nix b/pkgs/by-name/ne/netclient/package.nix
index dc00b6856cabb..0d99763f4f1d2 100644
--- a/pkgs/by-name/ne/netclient/package.nix
+++ b/pkgs/by-name/ne/netclient/package.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "netclient";
-  version = "0.23.0";
+  version = "0.24.0";
 
   src = fetchFromGitHub {
     owner = "gravitl";
     repo = "netclient";
     rev = "v${version}";
-    hash = "sha256-Wglh6tcpanEmXwoRKdAot/l4RS+EbIIHI1etQ9ic7BI=";
+    hash = "sha256-p7cPOPmD/13Mvp0aHRDj3MXfkiaimqrTeg9D7bRU3AM=";
   };
 
-  vendorHash = "sha256-or/0z+RiOkZ2qgEqXNI/LafN+eWAzvLuSZta/QNUI3g=";
+  vendorHash = "sha256-mxDhjvNrV4oMHKHQHaxg35Tn30czmjGD3MTRh/Dexv4=";
 
   buildInputs = lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Cocoa
     ++ lib.optional stdenv.isLinux libX11;
diff --git a/pkgs/by-name/ng/nginx-language-server/package.nix b/pkgs/by-name/ng/nginx-language-server/package.nix
new file mode 100644
index 0000000000000..891d6e4d5cb61
--- /dev/null
+++ b/pkgs/by-name/ng/nginx-language-server/package.nix
@@ -0,0 +1,44 @@
+{ lib
+, python3
+, fetchFromGitHub
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "nginx-language-server";
+  version = "0.8.0";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "pappasam";
+    repo = "nginx-language-server";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-AXWrNt4f3jkAbidE1goDgFicu4sSBv08f/Igyh2bRII=";
+  };
+
+  build-system = with python3.pkgs; [
+    poetry-core
+    pythonRelaxDepsHook
+  ];
+
+  pythonRelaxDeps = [
+    "pydantic"
+  ];
+
+  dependencies = with python3.pkgs; [
+    crossplane
+    lsprotocol
+    pydantic
+    pygls
+  ];
+
+  pythonImportsCheck = [ "nginx_language_server" ];
+
+  meta = with lib; {
+    description = "Language server for nginx.conf";
+    homepage = "https://github.com/pappasam/nginx-language-server";
+    changelog = "https://github.com/pappasam/nginx-language-server/blob/${src.rev}/CHANGELOG.md";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ GaetanLepage ];
+    mainProgram = "nginx-language-server";
+  };
+}
diff --git a/pkgs/servers/nginx-sso/default.nix b/pkgs/by-name/ng/nginx-sso/package.nix
index 6628eb48c1478..578d55b4477e4 100644
--- a/pkgs/servers/nginx-sso/default.nix
+++ b/pkgs/by-name/ng/nginx-sso/package.nix
@@ -30,7 +30,7 @@ buildGoModule rec {
     description = "SSO authentication provider for the auth_request nginx module";
     homepage = "https://github.com/Luzifer/nginx-sso";
     license = licenses.asl20;
-    maintainers = with maintainers; [ delroth ];
+    maintainers = with maintainers; [ ambroisie ];
     mainProgram = "nginx-sso";
   };
 }
diff --git a/pkgs/by-name/ni/nimdow/package.nix b/pkgs/by-name/ni/nimdow/package.nix
index 7a5542c2c05f8..974bb430ce304 100644
--- a/pkgs/by-name/ni/nimdow/package.nix
+++ b/pkgs/by-name/ni/nimdow/package.nix
@@ -3,19 +3,21 @@
 buildNimPackage (finalAttrs: {
   pname = "nimdow";
 
-  version = "0.7.37";
-
-  requiredNimVersion = 1;
+  version = "0.7.38";
 
   src = fetchFromGitHub {
     owner = "avahe-kellenberger";
     repo = finalAttrs.pname;
     rev = "v${finalAttrs.version}";
-    hash = "sha256-930wDS0UW65QzpUHHOuM25oi/OhFmG0Q7N05ftu7XlI=";
+    hash = "sha256-GPu3Z63rFBgCCV7bdBg9cJh5thv2xrv/nSMa5Q/zp48=";
   };
 
   lockFile = ./lock.json;
 
+  nimFlags = [
+    "--deepcopy:on"
+  ];
+
   postInstall = ''
     install -D config.default.toml $out/share/nimdow/config.default.toml
     install -D nimdow.desktop $out/share/applications/nimdow.desktop
diff --git a/pkgs/by-name/ni/nimlsp/package.nix b/pkgs/by-name/ni/nimlsp/package.nix
index 78d015cc7b8f2..40e1b0fb9ec2d 100644
--- a/pkgs/by-name/ni/nimlsp/package.nix
+++ b/pkgs/by-name/ni/nimlsp/package.nix
@@ -41,6 +41,6 @@ buildNimPackage (finalAttrs: {
     description = "Language Server Protocol implementation for Nim";
     homepage = "https://github.com/PMunch/nimlsp";
     license = lib.licenses.mit;
-    maintainers = [ lib.maintainers.marsam ];
+    maintainers = [ ];
   };
 })
diff --git a/pkgs/by-name/ni/nix-web/package.nix b/pkgs/by-name/ni/nix-web/package.nix
index bc79ba376e1e0..50ef3aed969eb 100644
--- a/pkgs/by-name/ni/nix-web/package.nix
+++ b/pkgs/by-name/ni/nix-web/package.nix
@@ -5,8 +5,9 @@
 , pkg-config
 , openssl
 , nixVersions
-, nixPackage ? nixVersions.nix_2_17
+, nixPackage ? nixVersions.nix_2_18
 , darwin
+, nukeReferences
 }:
 
 let
@@ -14,16 +15,23 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "nix-web";
-  version = "0.2.0";
+  version = "0.3.0";
 
   src = fetchFromGitea {
     domain = "codeberg.org";
     owner = "gorgon";
     repo = "gorgon";
     rev = "nix-web-v${version}";
-    hash = "sha256-M/0nlD2jUtvdWJ647QHrp8JcUUVYxiLJlGjnZ+cfpYU=";
+    hash = "sha256-/tjcin3p+nE9Y7bhTCj7D4lpjKEFGM1bRqKE8T6igJE=";
+
+    # Various unit tests contain /nix/store/* paths. This breaks the fetcher in a very funny way:
+    #   error: illegal path references in fixed-output derivation '/nix/store/52nmkc6v9qhdyzszlvbncndxyrcdfjn3-source.drv'
+    nativeBuildInputs = [ nukeReferences ];
+    postFetch = ''
+      find $out -name "*.rs" -print0 | xargs -0 nuke-refs
+    '';
   };
-  cargoHash = "sha256-6kcpP/CFiy571B98Y96/cdcClH50gdyPLZ28Npva7B4=";
+  cargoHash = "sha256-5pPn6APz0kdxuBdz9pgqvECTk6KhXnW/YTjxKgiuD9Q=";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = lib.optional (!stdenv.isDarwin) openssl
@@ -39,6 +47,11 @@ rustPlatform.buildRustPackage rec {
 
   cargoBuildFlags = cargoFlags;
   cargoTestFlags = cargoFlags;
+  checkFlags = [
+    # Skip tests that rely on store paths nuked by `nuke-refs`.
+    "--skip=test_env_value_to_html_store_path_subpath"
+    "--skip=test_env_value_to_html_store_path"
+  ];
 
   NIX_WEB_BUILD_NIX_CLI_PATH = "${nixPackage}/bin/nix";
 
diff --git a/pkgs/by-name/ni/nixos-anywhere/package.nix b/pkgs/by-name/ni/nixos-anywhere/package.nix
index 197a320d4c627..ffd74761a9fea 100644
--- a/pkgs/by-name/ni/nixos-anywhere/package.nix
+++ b/pkgs/by-name/ni/nixos-anywhere/package.nix
@@ -12,11 +12,11 @@
 , gnused
 , lib
 , makeWrapper
+, sshpass
 }:
 let
   runtimeDeps = [
     gitMinimal # for git flakes
-    rsync
     nix
     coreutils
     curl # when uploading tarballs
@@ -24,16 +24,18 @@ let
     gawk
     findutils
     gnused # needed by ssh-copy-id
+    sshpass # used to provide password for ssh-copy-id
+    rsync # used to upload extra-files
   ];
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "nixos-anywhere";
-  version = "1.1.2";
+  version = "1.2.0";
   src = fetchFromGitHub {
     owner = "numtide";
     repo = "nixos-anywhere";
     rev = finalAttrs.version;
-    hash = "sha256-JzgZnHQ4Bknh1ebE4iMVzR3cWZG+8k7MRy0X7cNSnBE=";
+    hash = "sha256-u3PFJup/XOz2MBhvqCzm94iH6Z4nrE0KmBgT/OnNDqU=";
   };
   nativeBuildInputs = [ makeWrapper ];
   installPhase = ''
diff --git a/pkgs/by-name/no/nom/package.nix b/pkgs/by-name/no/nom/package.nix
index 2d1c40e09cdf2..57291810870df 100644
--- a/pkgs/by-name/no/nom/package.nix
+++ b/pkgs/by-name/no/nom/package.nix
@@ -5,16 +5,16 @@
 }:
 buildGoModule rec {
   pname = "nom";
-  version = "2.2.1";
+  version = "2.2.3";
 
   src = fetchFromGitHub {
     owner = "guyfedwards";
     repo = "nom";
     rev = "v${version}";
-    hash = "sha256-AAgkxBbGH45n140jm28+J3hqYxzUIL6IVLGWD9oBexo=";
+    hash = "sha256-W0HDoQURZxTvMyFfRGOu8gcZJihtvXvrEaObmi/CAk0=";
   };
 
-  vendorHash = "sha256-fP6yxfIQoVaBC9hYcrCyo3YP3ntEVDbDTwKMO9TdyDI=";
+  vendorHash = "sha256-wWdsLU656wBAUmnVw21wo+a/OLmyhZ2Bq0j8S190XQs=";
 
   meta = with lib; {
     homepage = "https://github.com/guyfedwards/nom";
diff --git a/pkgs/by-name/no/nosql-workbench/package.nix b/pkgs/by-name/no/nosql-workbench/package.nix
index 1b96328b211b4..c3efc29b55c09 100644
--- a/pkgs/by-name/no/nosql-workbench/package.nix
+++ b/pkgs/by-name/no/nosql-workbench/package.nix
@@ -68,9 +68,6 @@ if stdenv.isDarwin then stdenv.mkDerivation {
       inherit pname version src;
     };
   in ''
-    # Replace version from binary name
-    mv $out/bin/${pname}-${version} $out/bin/${pname}
-
     # Install XDG Desktop file and its icon
     install -Dm444 ${appimageContents}/nosql-workbench.desktop -t $out/share/applications
     install -Dm444 ${appimageContents}/nosql-workbench.png -t $out/share/pixmaps
diff --git a/pkgs/by-name/nr/nray/package.nix b/pkgs/by-name/nr/nray/package.nix
new file mode 100644
index 0000000000000..1641e1c4df874
--- /dev/null
+++ b/pkgs/by-name/nr/nray/package.nix
@@ -0,0 +1,37 @@
+{
+  lib,
+  buildGoModule,
+  fetchFromGitHub,
+}:
+
+buildGoModule rec {
+  pname = "nray";
+  version = "1.1.0";
+
+  src = fetchFromGitHub {
+    owner = "nray-scanner";
+    repo = "nray";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-N78Bm/Le+pbA8hvDaUbjQpcdRlM0RKXnXyjOB8Nz3AE=";
+  };
+
+  vendorHash = "sha256-hCFFMSaT73Wx54KayuFc2xJRGp0p10Pn93N8t4Xad8g=";
+
+  ldflags = [
+    "-s"
+    "-w"
+  ];
+
+  env = {
+    CGO_CFLAGS = "-Wno-undef-prefix";
+  };
+
+  meta = with lib; {
+    description = "Distributed port scanner";
+    homepage = "https://github.com/nray-scanner/nray";
+    changelog = "https://github.com/nray-scanner/nray/releases/tag/v${version}";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ fab ];
+    mainProgram = "nray";
+  };
+}
diff --git a/pkgs/by-name/oc/ocis-bin/package.nix b/pkgs/by-name/oc/ocis-bin/package.nix
index 6e7abc30ac05c..a9f365772887a 100644
--- a/pkgs/by-name/oc/ocis-bin/package.nix
+++ b/pkgs/by-name/oc/ocis-bin/package.nix
@@ -40,7 +40,7 @@ stdenv.mkDerivation (finalAttrs: {
   meta = with lib; {
     description = "ownCloud Infinite Scale Stack ";
     homepage = "https://owncloud.dev/ocis/";
-    changelog = "https://github.com/owncloud/ocis/releases/tag/v${version}";
+    changelog = "https://github.com/owncloud/ocis/releases/tag/v${finalAttrs.version}";
     # oCIS is licensed under non-free EULA which can be found here :
     # https://github.com/owncloud/ocis/releases/download/v5.0.1/End-User-License-Agreement-for-ownCloud-Infinite-Scale.pdf
     license = licenses.unfree;
diff --git a/pkgs/by-name/oe/oelint-adv/package.nix b/pkgs/by-name/oe/oelint-adv/package.nix
index 480d92a161ebd..2656d2dd6f777 100644
--- a/pkgs/by-name/oe/oelint-adv/package.nix
+++ b/pkgs/by-name/oe/oelint-adv/package.nix
@@ -6,13 +6,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "oelint-adv";
-  version = "5.1.3";
+  version = "5.3.1";
   format = "setuptools";
 
   src = fetchPypi {
     inherit version;
     pname = "oelint_adv";
-    hash = "sha256-Jo3Z5hhZH0tzu4+RL+ElaenlWCRoIYANWGx5U2u9xy8=";
+    hash = "sha256-8fftHQpv2GZhi3ZDXYUG7uAiWuuX79dntGAbKIvv4Kc=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/by-name/ol/olvid/package.nix b/pkgs/by-name/ol/olvid/package.nix
index 1aaf472fef5a8..bd0eb63a9af71 100644
--- a/pkgs/by-name/ol/olvid/package.nix
+++ b/pkgs/by-name/ol/olvid/package.nix
@@ -53,14 +53,14 @@ in
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "olvid";
-  version = "1.5.0";
+  version = "1.5.2";
 
   dontUnpack = true;
   dontWrapGApps = true;
 
   src = fetchurl {
     url = "https://static.olvid.io/linux/${repo}-${finalAttrs.version}.tar.gz";
-    hash = "sha256-iiMc9mM+uUVeS1i1gzXMZaMwSChdz7vNrL9uqJlR8NU=";
+    hash = "sha256-WjIOk3dPSXQdAR2fdXseV0NdOjld0PzyqnUx/VbvQio=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/om/omnictl/package.nix b/pkgs/by-name/om/omnictl/package.nix
index ff2fb3a1b7807..ab74d54c2ea7a 100644
--- a/pkgs/by-name/om/omnictl/package.nix
+++ b/pkgs/by-name/om/omnictl/package.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "omnictl";
-  version = "0.33.2";
+  version = "0.34.0";
 
   src = fetchFromGitHub {
     owner = "siderolabs";
     repo = "omni";
     rev = "v${version}";
-    hash = "sha256-sszIUHEXtnla1fxlUbHXjQzaJoafse1YOSVikd7LMHk=";
+    hash = "sha256-aYdJ1cfA2xov0JMGlKNTcLfpi3KX3jRRA6N+8WfQoi0=";
   };
 
-  vendorHash = "sha256-fU2bmVL42tEoWvrCAg2iSV7bErZhwor6tnjGRrtwMA4=";
+  vendorHash = "sha256-vJb9uUqLzQ38b4nJv0Q6/V8lIxw04fow16e2SSRCmuI=";
 
   ldflags = [ "-s" "-w" ];
 
diff --git a/pkgs/by-name/on/onlyoffice-bin_latest/package.nix b/pkgs/by-name/on/onlyoffice-bin_latest/package.nix
index 4f3aaea95f24e..0b54203008140 100644
--- a/pkgs/by-name/on/onlyoffice-bin_latest/package.nix
+++ b/pkgs/by-name/on/onlyoffice-bin_latest/package.nix
@@ -164,7 +164,7 @@ in
 # Curl still needs to be in runtimeLibs because the library is used directly in other parts of the code.
 # Fonts are also discovered by looking in /usr/share/fonts, so adding fonts to targetPkgs will include them
 buildFHSEnv {
-  name = derivation.name;
+  inherit (derivation) pname version;
 
   targetPkgs = pkgs': [
     curl
@@ -175,7 +175,6 @@ buildFHSEnv {
   runScript = "/bin/onlyoffice-desktopeditors";
 
   extraInstallCommands = ''
-    mv $out/bin/$name $out/bin/onlyoffice-desktopeditors
     mkdir -p $out/share
     ln -s ${derivation}/share/icons $out/share
     cp -r ${derivation}/share/applications $out/share
diff --git a/pkgs/by-name/op/openpomodoro-cli/package.nix b/pkgs/by-name/op/openpomodoro-cli/package.nix
new file mode 100644
index 0000000000000..5e29d1e1c7734
--- /dev/null
+++ b/pkgs/by-name/op/openpomodoro-cli/package.nix
@@ -0,0 +1,33 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "openpomodoro-cli";
+  version = "0.3.0";
+
+  src = fetchFromGitHub {
+    owner = "open-pomodoro";
+    repo = "openpomodoro-cli";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-h/o4yxrZ8ViHhN2JS0ZJMfvcJBPCsyZ9ZQw9OmKnOfY=";
+  };
+
+  vendorHash = "sha256-BR9d/PMQ1ZUYWSDO5ID2bkTN+A+VbaLTlz5t0vbkO60=";
+
+  ldflags = [
+    "-w"
+    "-s"
+    "-X=main.Version=${version}"
+  ];
+
+  meta = with lib; {
+    description = "A command-line Pomodoro tracker which uses the Open Pomodoro Format";
+    homepage = "https://github.com/open-pomodoro/openpomodoro-cli";
+    changelog = "https://github.com/open-pomodoro/openpomodoro-cli/blob/${src.rev}/CHANGELOG.md";
+    license = licenses.mit;
+    maintainers = with maintainers; [ gdifolco ];
+    mainProgram = "openpomodoro-cli";
+  };
+}
diff --git a/pkgs/by-name/op/openrocket/package.nix b/pkgs/by-name/op/openrocket/package.nix
index 92b179bd36f2f..384d84d9fa45b 100644
--- a/pkgs/by-name/op/openrocket/package.nix
+++ b/pkgs/by-name/op/openrocket/package.nix
@@ -4,6 +4,7 @@
 , ant
 , jdk17
 , makeWrapper
+, stripJavaArchivesHook
 }:
 
 let
@@ -25,6 +26,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
     ant
     jdk
     makeWrapper
+    stripJavaArchivesHook
   ];
 
   buildPhase = ''
diff --git a/pkgs/by-name/op/opensplat/package.nix b/pkgs/by-name/op/opensplat/package.nix
new file mode 100644
index 0000000000000..cd6052f5369b0
--- /dev/null
+++ b/pkgs/by-name/op/opensplat/package.nix
@@ -0,0 +1,89 @@
+{
+  lib,
+  stdenv,
+  cmake,
+  ninja,
+  fetchFromGitHub,
+  fetchpatch,
+  python3,
+  opencv,
+  nlohmann_json,
+  nanoflann,
+  glm,
+  cxxopts,
+  config,
+  # Upstream has rocm/hip support, too. anyone?
+  cudaSupport ? config.cudaSupport,
+  cudaPackages,
+  autoAddDriverRunpath,
+}:
+let
+  version = "1.1.2";
+  torch = python3.pkgs.torch.override { inherit cudaSupport; };
+  # Using a normal stdenv with cuda torch gives
+  # ld: /nix/store/k1l7y96gv0nc685cg7i3g43i4icmddzk-python3.11-torch-2.2.1-lib/lib/libc10.so: undefined reference to `std::ios_base_library_init()@GLIBCXX_3.4.32'
+  stdenv' = if cudaSupport then cudaPackages.backendStdenv else stdenv;
+in
+stdenv'.mkDerivation {
+  pname = "opensplat";
+  inherit version;
+
+  src = fetchFromGitHub {
+    owner = "pierotofy";
+    repo = "OpenSplat";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-3tk62b5fSf6wzuc5TwkdfAKgUMrw3ZxetCJa2RVMS/s=";
+  };
+
+  patches = [
+    (fetchpatch {
+      name = "install-executables.patch";
+      url = "https://github.com/pierotofy/OpenSplat/commit/b4c4176819b508978583b7ebf66306171807a8e6.patch";
+      hash = "sha256-BUgPMcO3lt3ZEzv24u36k3aTEIoloOhxrCGi1KQ5Epk=";
+    })
+  ];
+
+  postPatch = ''
+    # the two vendored gsplats are so heavily modified they may be considered a fork
+    find vendor ! -name 'gsplat*' -maxdepth 1 -mindepth 1 -exec rm -rf {} +
+    mkdir vendor/{nanoflann,glm}
+    ln -s ${glm}/include/glm vendor/glm/glm
+    ln -s ${nanoflann}/include/nanoflann.hpp vendor/nanoflann/nanoflann.hpp
+    ln -s ${nlohmann_json}/include/nlohmann vendor/json
+    ln -s ${cxxopts}/include/cxxopts.hpp vendor/cxxopts.hpp
+  '';
+
+  nativeBuildInputs = [
+    cmake
+    ninja
+  ] ++ lib.optionals cudaSupport [
+    cudaPackages.cuda_nvcc
+    autoAddDriverRunpath
+  ];
+
+  buildInputs = [
+    nlohmann_json
+    torch.cxxdev
+    torch
+    opencv
+  ] ++ lib.optionals cudaSupport [
+    cudaPackages.cuda_cudart
+  ];
+
+  env.TORCH_CUDA_ARCH_LIST = "${lib.concatStringsSep ";" python3.pkgs.torch.cudaCapabilities}";
+
+  cmakeFlags = [
+    (lib.cmakeBool "CMAKE_SKIP_RPATH" true)
+  ] ++ lib.optionals cudaSupport [
+    (lib.cmakeFeature "GPU_RUNTIME" "CUDA")
+    (lib.cmakeFeature "CUDA_TOOLKIT_ROOT_DIR" "${cudaPackages.cudatoolkit}/")
+  ];
+
+  meta = {
+    description = "Production-grade 3D gaussian splatting";
+    homepage = "https://github.com/pierotofy/OpenSplat/";
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.jcaesar ];
+    platforms = lib.platforms.linux ++ lib.optionals (!cudaSupport) lib.platforms.darwin;
+  };
+}
diff --git a/pkgs/by-name/op/openvas-scanner/package.nix b/pkgs/by-name/op/openvas-scanner/package.nix
index 85a60640d7112..66587f76d6055 100644
--- a/pkgs/by-name/op/openvas-scanner/package.nix
+++ b/pkgs/by-name/op/openvas-scanner/package.nix
@@ -31,13 +31,13 @@
 
 stdenv.mkDerivation rec {
   pname = "openvas-scanner";
-  version = "23.0.1";
+  version = "23.1.0";
 
   src = fetchFromGitHub {
     owner = "greenbone";
     repo = "openvas-scanner";
     rev = "refs/tags/v${version}";
-    hash = "sha256-pqbwi3btNEM+qiTqtjIxiDv2wMf1LerltFvLCybiW0Y=";
+    hash = "sha256-2tMCyEBVR/DQP7Dny5iPypv2IWkurfxhZEHC/f+Pe8c=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/os-specific/linux/openvswitch/generic.nix b/pkgs/by-name/op/openvswitch/generic.nix
index ce800a7ba9923..dadccc1c39473 100644
--- a/pkgs/os-specific/linux/openvswitch/generic.nix
+++ b/pkgs/by-name/op/openvswitch/generic.nix
@@ -1,32 +1,35 @@
-{ version
-, hash
-, updateScriptArgs ? ""
+{
+  version,
+  hash,
+  updateScriptArgs ? "",
 }:
 
-{ lib
-, stdenv
-, fetchurl
-, autoconf
-, automake
-, installShellFiles
-, iproute2
-, kernel ? null
-, libcap_ng
-, libtool
-, openssl
-, perl
-, pkg-config
-, procps
-, python3
-, sphinxHook
-, util-linux
-, which
-, writeScript
+{
+  lib,
+  stdenv,
+  fetchurl,
+  autoconf,
+  automake,
+  installShellFiles,
+  iproute2,
+  kernel ? null,
+  libcap_ng,
+  libtool,
+  openssl,
+  perl,
+  pkg-config,
+  procps,
+  python3,
+  sphinxHook,
+  util-linux,
+  which,
+  writeScript,
 }:
 
 let
   _kernel = kernel;
-in stdenv.mkDerivation rec {
+in
+stdenv.mkDerivation rec {
   pname = "openvswitch";
   inherit version;
 
@@ -45,6 +48,9 @@ in stdenv.mkDerivation rec {
   patches = [
     # 8: vsctl-bashcomp - argument completion FAILED (completion.at:664)
     ./patches/disable-bash-arg-completion-test.patch
+
+    # https://github.com/openvswitch/ovs/commit/9185793e75435d890f18d391eaaeab0ade6f1415
+    ./patches/fix-python313.patch
   ];
 
   nativeBuildInputs = [
@@ -56,9 +62,7 @@ in stdenv.mkDerivation rec {
     sphinxHook
   ];
 
-  sphinxBuilders = [
-    "man"
-  ];
+  sphinxBuilders = [ "man" ];
 
   sphinxRoot = "./Documentation";
 
@@ -78,7 +82,7 @@ in stdenv.mkDerivation rec {
     "--localstatedir=/var"
     "--sharedstatedir=/var"
     "--sbindir=$(out)/bin"
-  ] ++ (lib.optionals (_kernel != null) ["--with-linux"]);
+  ] ++ (lib.optionals (_kernel != null) [ "--with-linux" ]);
 
   # Leave /var out of this!
   installFlags = [
@@ -102,13 +106,13 @@ in stdenv.mkDerivation rec {
     patchShebangs tests/
   '';
 
-  nativeCheckInputs = [
-    iproute2
-  ] ++ (with python3.pkgs; [
-    netaddr
-    pyparsing
-    pytest
-  ]);
+  nativeCheckInputs =
+    [ iproute2 ]
+    ++ (with python3.pkgs; [
+      netaddr
+      pyparsing
+      pytest
+    ]);
 
   passthru.updateScript = writeScript "ovs-update.nu" ''
     ${./update.nu} ${updateScriptArgs}
@@ -129,7 +133,11 @@ in stdenv.mkDerivation rec {
     '';
     homepage = "https://www.openvswitch.org/";
     license = licenses.asl20;
-    maintainers = with maintainers; [ netixx kmcopper ];
+    maintainers = with maintainers; [
+      adamcstephens
+      kmcopper
+      netixx
+    ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/openvswitch/lts.nix b/pkgs/by-name/op/openvswitch/lts.nix
index 93ccbfcee95d6..93ccbfcee95d6 100644
--- a/pkgs/os-specific/linux/openvswitch/lts.nix
+++ b/pkgs/by-name/op/openvswitch/lts.nix
diff --git a/pkgs/os-specific/linux/openvswitch/default.nix b/pkgs/by-name/op/openvswitch/package.nix
index 0ea5b6391605a..0ea5b6391605a 100644
--- a/pkgs/os-specific/linux/openvswitch/default.nix
+++ b/pkgs/by-name/op/openvswitch/package.nix
diff --git a/pkgs/os-specific/linux/openvswitch/patches/disable-bash-arg-completion-test.patch b/pkgs/by-name/op/openvswitch/patches/disable-bash-arg-completion-test.patch
index 2b45427417632..2b45427417632 100644
--- a/pkgs/os-specific/linux/openvswitch/patches/disable-bash-arg-completion-test.patch
+++ b/pkgs/by-name/op/openvswitch/patches/disable-bash-arg-completion-test.patch
diff --git a/pkgs/by-name/op/openvswitch/patches/fix-python313.patch b/pkgs/by-name/op/openvswitch/patches/fix-python313.patch
new file mode 100644
index 0000000000000..0b68c0560d51e
--- /dev/null
+++ b/pkgs/by-name/op/openvswitch/patches/fix-python313.patch
@@ -0,0 +1,12 @@
+diff --git a/tests/vlog.at b/tests/vlog.at
+index 785014956e7..efe91479a63 100644
+--- a/tests/vlog.at
++++ b/tests/vlog.at
+@@ -8,6 +8,7 @@ AT_CHECK([$PYTHON3 $srcdir/test-vlog.py --log-file log_file \
+ 
+ AT_CHECK([sed -e 's/.*-.*-.*T..:..:..Z |//' \
+ -e 's/File ".*", line [[0-9]][[0-9]]*,/File <name>, line <number>,/' \
++-e '/\^\+/d' \
+ stderr_log], [0], [dnl
+   0  | module_0 | EMER | emergency
+   1  | module_0 | ERR | error
diff --git a/pkgs/os-specific/linux/openvswitch/update.nu b/pkgs/by-name/op/openvswitch/update.nu
index 5d457dda5f3e9..60e462f4625ed 100755
--- a/pkgs/os-specific/linux/openvswitch/update.nu
+++ b/pkgs/by-name/op/openvswitch/update.nu
@@ -1,7 +1,7 @@
 #!/usr/bin/env nix-shell
 #!nix-shell -i nu -p nushell common-updater-scripts
 
-def main [--lts: bool = false, --regex: string] {
+def main [--lts = false, --regex: string] {
   let tags = list-git-tags --url=https://github.com/openvswitch/ovs | lines | sort --natural | str replace v ''
 
   let latest_tag = if $regex == null { $tags } else { $tags | find --regex $regex } | last
@@ -9,9 +9,9 @@ def main [--lts: bool = false, --regex: string] {
 
   if $latest_tag != $current_version {
     if $lts {
-      update-source-version openvswitch-lts $latest_tag $"--file=(pwd)/pkgs/os-specific/linux/openvswitch/lts.nix"
+      update-source-version openvswitch-lts $latest_tag $"--file=(pwd)/pkgs/by-name/op/openvswitch/lts.nix"
     } else {
-      update-source-version openvswitch $latest_tag $"--file=(pwd)/pkgs/os-specific/linux/openvswitch/default.nix"
+      update-source-version openvswitch $latest_tag $"--file=(pwd)/pkgs/by-name/op/openvswitch/default.nix"
     }
   }
 
diff --git a/pkgs/by-name/or/orchard/package.nix b/pkgs/by-name/or/orchard/package.nix
index fb411f824b395..f5996ccbbd169 100644
--- a/pkgs/by-name/or/orchard/package.nix
+++ b/pkgs/by-name/or/orchard/package.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "orchard";
-  version = "0.17.0";
+  version = "0.18.0";
 
   src = fetchFromGitHub {
     owner = "cirruslabs";
     repo = pname;
     rev = version;
-    hash = "sha256-mOlAMlvWEdkPxvhqrt7PHJjmtUBRsFwsSchHRQtaACc=";
+    hash = "sha256-rzfGECRa3IPt9LRX8Av7NabaIzaKfxzkOR85q9zl9sk=";
     # populate values that require us to use git. By doing this in postFetch we
     # can delete .git afterwards and maintain better reproducibility of the src.
     leaveDotGit = true;
@@ -19,7 +19,7 @@ buildGoModule rec {
     '';
   };
 
-  vendorHash = "sha256-qqq1CKZm95pJ3u7/oHKhRL3ZIGN9LCRcnESE2w/DJrQ=";
+  vendorHash = "sha256-dVWCxEmqzJw9oN6mCwFVn81Mhq4XfBEM3iXHQn4NXko=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/by-name/ot/oterm/package.nix b/pkgs/by-name/ot/oterm/package.nix
index 00c9d594179c1..75220b2f69dcb 100644
--- a/pkgs/by-name/ot/oterm/package.nix
+++ b/pkgs/by-name/ot/oterm/package.nix
@@ -5,14 +5,14 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "oterm";
-  version = "0.2.6";
+  version = "0.2.7";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "ggozad";
     repo = "oterm";
     rev = "refs/tags/${version}";
-    hash = "sha256-I/0U4lYqYZ6QCmWbDYhSOTCQ8o09W2cdd8kW7iN9iHU=";
+    hash = "sha256-vKVGSIneKQkFO1uoNaW/Yr6QTDhgokmIpkYFYIbm+U4=";
   };
 
   pythonRelaxDeps = [
diff --git a/pkgs/by-name/pa/parallel-hashmap/package.nix b/pkgs/by-name/pa/parallel-hashmap/package.nix
new file mode 100644
index 0000000000000..767b760c920a5
--- /dev/null
+++ b/pkgs/by-name/pa/parallel-hashmap/package.nix
@@ -0,0 +1,49 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, gtest
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "parallel-hashmap";
+  version = "1.3.12";
+
+  src = fetchFromGitHub {
+    owner = "greg7mdp";
+    repo = "parallel-hashmap";
+    rev = "refs/tags/v${finalAttrs.version}";
+    hash = "sha256-6KhzXUxa4WOsRrPmSSgguFxRGTOTIaxiJBFFSzOhch0=";
+  };
+
+  postPatch = ''
+    # don't download googletest, but build it from source
+    # https://github.com/greg7mdp/parallel-hashmap/blob/be6a2c79857c9ea76760ca6ce782e1609713428e/CMakeLists.txt#L98
+    substituteInPlace CMakeLists.txt \
+      --replace "include(cmake/DownloadGTest.cmake)" "add_subdirectory(${gtest.src} ./googletest-build EXCLUDE_FROM_ALL)"
+  '';
+
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  cmakeFlags = [
+    "-DPHMAP_BUILD_TESTS=${if finalAttrs.doCheck then "ON" else "OFF"}"
+    "-DPHMAP_BUILD_EXAMPLES=OFF"
+  ];
+
+  nativeCheckInputs = [
+    gtest
+  ];
+
+  doCheck = true;
+
+  meta = with lib; {
+    description = "A family of header-only, very fast and memory-friendly hashmap and btree containers";
+    homepage = "https://github.com/greg7mdp/parallel-hashmap";
+    changelog = "https://github.com/greg7mdp/parallel-hashmap/releases/tag/${finalAttrs.src.rev}";
+    license = licenses.asl20;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ natsukium ];
+  };
+})
diff --git a/pkgs/by-name/pa/paratest/package.nix b/pkgs/by-name/pa/paratest/package.nix
index 8961c70f551cc..855db7c079d60 100644
--- a/pkgs/by-name/pa/paratest/package.nix
+++ b/pkgs/by-name/pa/paratest/package.nix
@@ -23,6 +23,6 @@
     homepage = "https://github.com/paratestphp/paratest";
     license = lib.licenses.mit;
     mainProgram = "paratest";
-    maintainers = with lib.maintainers; [ patka ];
+    maintainers = [ ];
   };
 })
diff --git a/pkgs/by-name/pa/parsify/package.nix b/pkgs/by-name/pa/parsify/package.nix
index b02c6c3ae0a41..b5c122717289d 100644
--- a/pkgs/by-name/pa/parsify/package.nix
+++ b/pkgs/by-name/pa/parsify/package.nix
@@ -15,8 +15,6 @@ appimageTools.wrapType2 rec {
   extraInstallCommands =
   let contents = appimageTools.extract { inherit pname version src; };
   in ''
-    mv $out/bin/${pname}-${version} $out/bin/${pname}
-
     install -m 444 -D ${contents}/@parsifydesktop.desktop -t $out/share/applications
 
     substituteInPlace $out/share/applications/@parsifydesktop.desktop \
diff --git a/pkgs/by-name/pd/pdfannots/package.nix b/pkgs/by-name/pd/pdfannots/package.nix
index 14672b3717249..7a7cbeeebab48 100644
--- a/pkgs/by-name/pd/pdfannots/package.nix
+++ b/pkgs/by-name/pd/pdfannots/package.nix
@@ -28,7 +28,7 @@ python3.pkgs.buildPythonApplication rec {
     description = "Extracts and formats text annotations from a PDF file";
     homepage = "https://github.com/0xabu/pdfannots";
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     mainProgram = "pdfannots";
   };
 }
diff --git a/pkgs/servers/dns/pdns-recursor/default.nix b/pkgs/by-name/pd/pdns-recursor/package.nix
index d56b4c7c03594..e2ba9cf842fbe 100644
--- a/pkgs/servers/dns/pdns-recursor/default.nix
+++ b/pkgs/by-name/pd/pdns-recursor/package.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "pdns-recursor";
-  version = "5.0.3";
+  version = "5.0.4";
 
   src = fetchurl {
     url = "https://downloads.powerdns.com/releases/pdns-recursor-${finalAttrs.version}.tar.bz2";
-    hash = "sha256-AdFwooUOsqylAdaDijREE2WJmA1cssK1M5K3ZFnjjAc=";
+    hash = "sha256-1SqrEIoK2ei+HeIXmmk7uF6ZXGpNlYpQcC3Pee7I7yg=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
diff --git a/pkgs/by-name/pe/peergos/package.nix b/pkgs/by-name/pe/peergos/package.nix
index f91c8ea786185..dc142f44ce591 100644
--- a/pkgs/by-name/pe/peergos/package.nix
+++ b/pkgs/by-name/pe/peergos/package.nix
@@ -1,20 +1,19 @@
-{ lib
-, stdenv
-, fetchurl
-, jre
-, makeWrapper
+{
+  lib,
+  stdenv,
+  fetchurl,
+  jre,
+  makeWrapper,
+  nix-update-script,
 }:
 
-let
-  version = "0.14.1";
-  peergos = fetchurl {
-    url = "https://github.com/Peergos/web-ui/releases/download/v${version}/Peergos.jar";
-    hash = "sha256-oCsUuFxTAL0vAabGggGhZHaF40A5TLfkT15HYPiKHlU=";
-  };
-in
 stdenv.mkDerivation rec {
   pname = "peergos";
-  inherit version;
+  version = "0.17.0";
+  src = fetchurl {
+    url = "https://github.com/Peergos/web-ui/releases/download/v${version}/Peergos.jar";
+    hash = "sha256-sQPEKvtQDRQ4dF22tZjPhK7DLtDVAcudxoA4+GOeeZA=";
+  };
 
   dontUnpack = true;
   dontBuild = true;
@@ -24,21 +23,33 @@ stdenv.mkDerivation rec {
   installPhase = ''
     runHook preInstall
 
-    install -D ${peergos} $out/share/java/peergos.jar
-    makeWrapper ${lib.getExe jre} $out/bin/${pname} \
-      --add-flags "-jar -Djava.library.path=native-lib $out/share/java/${pname}.jar"
+    install -D ${src} $out/share/java/peergos.jar
+    makeWrapper ${lib.getExe jre} $out/bin/peergos \
+      --add-flags "-jar -Djava.library.path=native-lib $out/share/java/peergos.jar"
 
     runHook postInstall
   '';
 
-  meta = with lib; {
+  passthru.updateScript = nix-update-script {
+    extraArgs = [
+      "--version-regex"
+      "^(v[0-9.]+)$"
+    ];
+  };
+
+  meta = {
+    changelog = "https://github.com/Peergos/web-ui/releases/tag/v${version}";
     description = "A p2p, secure file storage, social network and application protocol";
-    mainProgram = "peergos";
+    downloadPage = "https://github.com/Peergos/web-ui";
     homepage = "https://peergos.org/";
     # peergos have agpt3 license, peergos-web-ui have gpl3, both are used
-    license = [ licenses.agpl3Only licenses.gpl3Only ];
-    platforms = platforms.all;
-    maintainers = with maintainers; [ raspher ];
-    sourceProvenance = with sourceTypes; [ binaryBytecode ];
+    license = [
+      lib.licenses.agpl3Only
+      lib.licenses.gpl3Only
+    ];
+    mainProgram = "peergos";
+    maintainers = with lib.maintainers; [ raspher ];
+    platforms = lib.platforms.all;
+    sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
   };
 }
diff --git a/pkgs/by-name/pe/perf_data_converter/package.nix b/pkgs/by-name/pe/perf_data_converter/package.nix
index 18b6704877ec1..22f6e5aa9a8d7 100644
--- a/pkgs/by-name/pe/perf_data_converter/package.nix
+++ b/pkgs/by-name/pe/perf_data_converter/package.nix
@@ -28,7 +28,7 @@ buildBazelPackage rec {
   ];
 
   fetchAttrs = {
-    sha256 = "sha256-IauQ4zEn9YHppLgW+4XjPv4N5IZlEkp//tE/Dy7k28s=";
+    sha256 = "sha256-Qm6Ng9cXvKx043P7qyNHyyMvdGK9aNarX1ZKeCp3mgY=";
   };
 
   nativeBuildInputs = [ jdk ];
diff --git a/pkgs/by-name/pe/pest/package.nix b/pkgs/by-name/pe/pest/package.nix
index 6b7231ec8f8e9..7431914a48eee 100644
--- a/pkgs/by-name/pe/pest/package.nix
+++ b/pkgs/by-name/pe/pest/package.nix
@@ -21,6 +21,6 @@ php.buildComposerProject (finalAttrs: {
     homepage = "https://pestphp.com";
     license = lib.licenses.mit;
     mainProgram = "pest";
-    maintainers = with lib.maintainers; [ patka ];
+    maintainers = [ ];
   };
 })
diff --git a/pkgs/by-name/pg/pgagroal/package.nix b/pkgs/by-name/pg/pgagroal/package.nix
index 8ba0803d96bc7..72eb5c153a48a 100644
--- a/pkgs/by-name/pg/pgagroal/package.nix
+++ b/pkgs/by-name/pg/pgagroal/package.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation (finalAttrs: {
     homepage = "https://agroal.github.io/pgagroal/";
     changelog = "https://github.com/agroal/pgagroal/releases/tag/${finalAttrs.version}";
     license = licenses.bsd3;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     platforms = platforms.unix;
   };
 })
diff --git a/pkgs/by-name/pg/pgcopydb/package.nix b/pkgs/by-name/pg/pgcopydb/package.nix
index b65d5ca77b095..cc415c4d8a9d4 100644
--- a/pkgs/by-name/pg/pgcopydb/package.nix
+++ b/pkgs/by-name/pg/pgcopydb/package.nix
@@ -59,7 +59,7 @@ stdenv.mkDerivation (finalAttrs: {
     homepage = "https://github.com/dimitri/pgcopydb";
     changelog = "https://github.com/dimitri/pgcopydb/blob/${finalAttrs.src.rev}/CHANGELOG.md";
     license = licenses.postgresql;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
     mainProgram = "pgcopydb";
     platforms = platforms.all;
   };
diff --git a/pkgs/by-name/pg/pgmoneta/package.nix b/pkgs/by-name/pg/pgmoneta/package.nix
index da725b46e3b43..552f828f9238d 100644
--- a/pkgs/by-name/pg/pgmoneta/package.nix
+++ b/pkgs/by-name/pg/pgmoneta/package.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pgmoneta";
-  version = "0.10.1";
+  version = "0.11.0";
 
   src = fetchFromGitHub {
     owner = "pgmoneta";
     repo = "pgmoneta";
     rev = version;
-    hash = "sha256-gViXbL54YGY2NFg0ScyiarMB4vYjpOrdkyTjWzwP2vo=";
+    hash = "sha256-sFH8sYTQ10bR+TDNbyIJiAIcp24CA9E5zrRjyV9mGBU=";
   };
 
   nativeBuildInputs = [
@@ -55,7 +55,7 @@ stdenv.mkDerivation rec {
     homepage = "https://pgmoneta.github.io/";
     changelog = "https://github.com/pgmoneta/pgmoneta/releases/tag/${version}";
     license = licenses.bsd3;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/by-name/ph/phpactor/package.nix b/pkgs/by-name/ph/phpactor/package.nix
index 80dc6f2e6f895..6e22a98ce2ec1 100644
--- a/pkgs/by-name/ph/phpactor/package.nix
+++ b/pkgs/by-name/ph/phpactor/package.nix
@@ -30,6 +30,6 @@ php.buildComposerProject (finalAttrs: {
     homepage = "https://github.com/phpactor/phpactor";
     license = lib.licenses.mit;
     mainProgram = "phpactor";
-    maintainers = [ lib.maintainers.patka ] ++ lib.teams.php.members;
+    maintainers = lib.teams.php.members;
   };
 })
diff --git a/pkgs/by-name/ph/phpunit/package.nix b/pkgs/by-name/ph/phpunit/package.nix
index e11c6812c4bff..ef614ce0849c9 100644
--- a/pkgs/by-name/ph/phpunit/package.nix
+++ b/pkgs/by-name/ph/phpunit/package.nix
@@ -22,6 +22,6 @@ php.buildComposerProject (finalAttrs: {
     homepage = "https://phpunit.de";
     license = lib.licenses.bsd3;
     mainProgram = "phpunit";
-    maintainers = [ lib.maintainers.onny lib.maintainers.patka ] ++ lib.teams.php.members;
+    maintainers = [ lib.maintainers.onny ] ++ lib.teams.php.members;
   };
 })
diff --git a/pkgs/by-name/pi/piv-agent/package.nix b/pkgs/by-name/pi/piv-agent/package.nix
index 283edba536780..f29c4bdf4383b 100644
--- a/pkgs/by-name/pi/piv-agent/package.nix
+++ b/pkgs/by-name/pi/piv-agent/package.nix
@@ -35,7 +35,7 @@ buildGoModule rec {
     description = "An SSH and GPG agent which you can use with your PIV hardware security device (e.g. a Yubikey)";
     homepage = "https://github.com/smlx/piv-agent";
     license = licenses.asl20;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     mainProgram = "piv-agent";
   };
 }
diff --git a/pkgs/by-name/pi/pixi/Cargo.lock b/pkgs/by-name/pi/pixi/Cargo.lock
index 7b274474d39e0..090963583bd80 100644
--- a/pkgs/by-name/pi/pixi/Cargo.lock
+++ b/pkgs/by-name/pi/pixi/Cargo.lock
@@ -135,9 +135,9 @@ dependencies = [
 
 [[package]]
 name = "anyhow"
-version = "1.0.81"
+version = "1.0.82"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0952808a6c2afd1aa8947271f3a60f1a6763c7b912d210184c5149b5cf147247"
+checksum = "f538837af36e6f6a9be0faa67f9a314f8119e4e4b5867c6ab40ed60360142519"
 
 [[package]]
 name = "archspec"
@@ -171,9 +171,9 @@ dependencies = [
 
 [[package]]
 name = "async-channel"
-version = "2.2.0"
+version = "2.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f28243a43d821d11341ab73c80bed182dc015c514b951616cf79bd4af39af0c3"
+checksum = "136d4d23bcc79e27423727b36823d86233aad06dfea531837b038394d11e9928"
 dependencies = [
  "concurrent-queue",
  "event-listener 5.3.0",
@@ -202,11 +202,10 @@ dependencies = [
 
 [[package]]
 name = "async-executor"
-version = "1.10.0"
+version = "1.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f98c37cf288e302c16ef6c8472aad1e034c6c84ce5ea7b8101c98eb4a802fee"
+checksum = "b10202063978b3351199d68f8b22c4e47e4b1b822f8d43fd862d5ea8c006b29a"
 dependencies = [
- "async-lock 3.3.0",
  "async-task",
  "concurrent-queue",
  "fastrand 2.0.2",
@@ -316,7 +315,7 @@ checksum = "30c5ef0ede93efbf733c1a727f3b6b5a1060bbedd5600183e66f6e4be4af0ec5"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -345,20 +344,20 @@ checksum = "fbb36e985947064623dbd357f727af08ffd077f93d696782f3c56365fa2e2799"
 
 [[package]]
 name = "async-trait"
-version = "0.1.79"
+version = "0.1.80"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a507401cad91ec6a857ed5513a2073c82a9b9048762b885bb98655b306964681"
+checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
 name = "async_http_range_reader"
-version = "0.7.0"
+version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf8eeab30c68da4dc2c51f3afc4327ab06fe0f3f028ca423f7ca398c7ed8c5e7"
+checksum = "8561e6613f8361df8bed11c0eef05b98384643bc81f6b753eec7c1d91f097509"
 dependencies = [
  "bisection",
  "futures",
@@ -376,8 +375,8 @@ dependencies = [
 
 [[package]]
 name = "async_zip"
-version = "0.0.16"
-source = "git+https://github.com/charliermarsh/rs-async-zip?rev=d76801da0943de985254fc6255c0e476b57c5836#d76801da0943de985254fc6255c0e476b57c5836"
+version = "0.0.17"
+source = "git+https://github.com/charliermarsh/rs-async-zip?rev=1dcb40cfe1bf5325a6fd4bfcf9894db40241f585#1dcb40cfe1bf5325a6fd4bfcf9894db40241f585"
 dependencies = [
  "async-compression",
  "crc32fast",
@@ -451,6 +450,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
 
 [[package]]
+name = "base64"
+version = "0.22.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9475866fec1451be56a3c2400fd081ff546538961565ccb5b7142cbd22bc7a51"
+
+[[package]]
 name = "bincode"
 version = "1.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -572,9 +577,9 @@ dependencies = [
 
 [[package]]
 name = "bumpalo"
-version = "3.15.4"
+version = "3.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ff69b9dd49fd426c69a0db9fc04dd934cdb6645ff000864d98f7e2af8830eaa"
+checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"
 
 [[package]]
 name = "bytecheck"
@@ -633,9 +638,9 @@ dependencies = [
 
 [[package]]
 name = "cacache"
-version = "12.0.0"
+version = "13.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "142316461ed3a3dfcba10417317472da5bfd0461e4d276bf7c07b330766d9490"
+checksum = "a61ff12b19d89c752c213316b87fdb4a587f073d219b893cc56974b8c9f39bf7"
 dependencies = [
  "digest",
  "either",
@@ -661,7 +666,7 @@ dependencies = [
 [[package]]
 name = "cache-key"
 version = "0.0.1"
-source = "git+https://github.com/astral-sh/uv?tag=0.1.24#01b7a27be42b3673f25e0ab64dfe1a6cebcc3a2f"
+source = "git+https://github.com/astral-sh/uv?tag=0.1.32#f6b1580d8bd5388d80592701a02d0e77a199ddd5"
 dependencies = [
  "hex",
  "seahash",
@@ -708,9 +713,9 @@ dependencies = [
 
 [[package]]
 name = "cc"
-version = "1.0.91"
+version = "1.0.94"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1fd97381a8cc6493395a5afc4c691c1084b3768db713b73aa215217aa245d153"
+checksum = "17f6e324229dc011159fcc089755d1e2e216a90d43a7dea6853ca740b84f35e7"
 dependencies = [
  "jobserver",
  "libc",
@@ -740,9 +745,9 @@ dependencies = [
 
 [[package]]
 name = "chrono"
-version = "0.4.37"
+version = "0.4.38"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a0d04d43504c61aa6c7531f1871dd0d418d91130162063b789da00fd7057a5e"
+checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401"
 dependencies = [
  "android-tzdata",
  "iana-time-zone",
@@ -750,7 +755,7 @@ dependencies = [
  "num-traits",
  "serde",
  "wasm-bindgen",
- "windows-targets 0.52.4",
+ "windows-targets 0.52.5",
 ]
 
 [[package]]
@@ -797,9 +802,9 @@ dependencies = [
 
 [[package]]
 name = "clap_complete"
-version = "4.5.1"
+version = "4.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "885e4d7d5af40bfb99ae6f9433e292feac98d452dcb3ec3d25dfe7552b77da8c"
+checksum = "dd79504325bf38b10165b02e89b4347300f855f273c4cb30c4a3209e6583275e"
 dependencies = [
  "clap",
 ]
@@ -813,7 +818,7 @@ dependencies = [
  "heck 0.5.0",
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -976,7 +981,7 @@ dependencies = [
  "proc-macro2",
  "quote",
  "strsim 0.10.0",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -987,7 +992,7 @@ checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f"
 dependencies = [
  "darling_core",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -1104,7 +1109,7 @@ dependencies = [
 [[package]]
 name = "distribution-filename"
 version = "0.0.1"
-source = "git+https://github.com/astral-sh/uv?tag=0.1.24#01b7a27be42b3673f25e0ab64dfe1a6cebcc3a2f"
+source = "git+https://github.com/astral-sh/uv?tag=0.1.32#f6b1580d8bd5388d80592701a02d0e77a199ddd5"
 dependencies = [
  "pep440_rs",
  "platform-tags",
@@ -1118,7 +1123,7 @@ dependencies = [
 [[package]]
 name = "distribution-types"
 version = "0.0.1"
-source = "git+https://github.com/astral-sh/uv?tag=0.1.24#01b7a27be42b3673f25e0ab64dfe1a6cebcc3a2f"
+source = "git+https://github.com/astral-sh/uv?tag=0.1.32#f6b1580d8bd5388d80592701a02d0e77a199ddd5"
 dependencies = [
  "anyhow",
  "cache-key",
@@ -1151,9 +1156,9 @@ checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b"
 
 [[package]]
 name = "either"
-version = "1.10.0"
+version = "1.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a"
+checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2"
 
 [[package]]
 name = "elsa"
@@ -1172,9 +1177,9 @@ checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f"
 
 [[package]]
 name = "encoding_rs"
-version = "0.8.33"
+version = "0.8.34"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1"
+checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59"
 dependencies = [
  "cfg-if",
 ]
@@ -1197,7 +1202,7 @@ dependencies = [
  "heck 0.4.1",
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -1209,7 +1214,7 @@ dependencies = [
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -1230,7 +1235,7 @@ checksum = "5c785274071b1b420972453b306eeca06acf4633829db4223b58a2a8c5953bc4"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -1510,7 +1515,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -1622,25 +1627,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "h2"
-version = "0.3.26"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8"
-dependencies = [
- "bytes",
- "fnv",
- "futures-core",
- "futures-sink",
- "futures-util",
- "http",
- "indexmap 2.2.6",
- "slab",
- "tokio",
- "tokio-util",
- "tracing",
-]
-
-[[package]]
 name = "hashbrown"
 version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1720,9 +1706,9 @@ dependencies = [
 
 [[package]]
 name = "http"
-version = "0.2.12"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1"
+checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258"
 dependencies = [
  "bytes",
  "fnv",
@@ -1731,20 +1717,32 @@ dependencies = [
 
 [[package]]
 name = "http-body"
-version = "0.4.6"
+version = "1.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2"
+checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643"
 dependencies = [
  "bytes",
  "http",
+]
+
+[[package]]
+name = "http-body-util"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0475f8b2ac86659c21b64320d5d653f9efe42acd2a4e560073ec61a155a34f1d"
+dependencies = [
+ "bytes",
+ "futures-core",
+ "http",
+ "http-body",
  "pin-project-lite",
 ]
 
 [[package]]
 name = "http-cache"
-version = "0.18.0"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b5ab65432bbdfe8490dfde21d0366353a8d39f2bc24aca0146889f931b0b4b5"
+checksum = "d6ffb12b95bb2a369fe47ca8924016c72c2fa0e6059ba98bd1516f558696c5a8"
 dependencies = [
  "async-trait",
  "bincode",
@@ -1758,9 +1756,9 @@ dependencies = [
 
 [[package]]
 name = "http-cache-reqwest"
-version = "0.13.0"
+version = "0.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c8285341ce7e709c56a0f259ff1c789c70edfbaa88acd69d27e4d63980b92dc"
+checksum = "be3e27c4e2e510571cbcc601407b639667146aa9a4e818d5cc1d97c8b4b27d61"
 dependencies = [
  "anyhow",
  "async-trait",
@@ -1770,15 +1768,14 @@ dependencies = [
  "reqwest",
  "reqwest-middleware",
  "serde",
- "task-local-extensions",
  "url",
 ]
 
 [[package]]
 name = "http-cache-semantics"
-version = "1.0.2"
+version = "2.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7aec9f678bca3f4a15194b980f20ed9bfe0dd38e8d298c65c559a93dfbd6380a"
+checksum = "92baf25cf0b8c9246baecf3a444546360a97b569168fdf92563ee6a47829920c"
 dependencies = [
  "http",
  "http-serde",
@@ -1794,9 +1791,9 @@ checksum = "9f0d1a8ef218a86416107794b34cc446958d9203556c312bb41eab4c924c1d2e"
 
 [[package]]
 name = "http-serde"
-version = "1.1.3"
+version = "2.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f560b665ad9f1572cfcaf034f7fb84338a7ce945216d64a90fd81f046a3caee"
+checksum = "1133cafcce27ea69d35e56b3a8772e265633e04de73c5f4e1afdffc1d19b5419"
 dependencies = [
  "http",
  "serde",
@@ -1837,53 +1834,74 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
 
 [[package]]
 name = "hyper"
-version = "0.14.28"
+version = "1.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80"
+checksum = "fe575dd17d0862a9a33781c8c4696a55c320909004a67a00fb286ba8b1bc496d"
 dependencies = [
  "bytes",
  "futures-channel",
- "futures-core",
  "futures-util",
- "h2",
  "http",
  "http-body",
  "httparse",
- "httpdate",
  "itoa",
  "pin-project-lite",
- "socket2 0.5.6",
+ "smallvec",
  "tokio",
- "tower-service",
- "tracing",
  "want",
 ]
 
 [[package]]
 name = "hyper-rustls"
-version = "0.24.2"
+version = "0.26.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590"
+checksum = "a0bea761b46ae2b24eb4aef630d8d1c398157b6fc29e6350ecf090a0b70c952c"
 dependencies = [
  "futures-util",
  "http",
  "hyper",
+ "hyper-util",
  "rustls",
+ "rustls-pki-types",
  "tokio",
  "tokio-rustls",
+ "tower-service",
 ]
 
 [[package]]
 name = "hyper-tls"
-version = "0.5.0"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905"
+checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0"
 dependencies = [
  "bytes",
+ "http-body-util",
  "hyper",
+ "hyper-util",
  "native-tls",
  "tokio",
  "tokio-native-tls",
+ "tower-service",
+]
+
+[[package]]
+name = "hyper-util"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca38ef113da30126bbff9cd1705f9273e15d45498615d138b0c20279ac7a76aa"
+dependencies = [
+ "bytes",
+ "futures-channel",
+ "futures-util",
+ "http",
+ "http-body",
+ "hyper",
+ "pin-project-lite",
+ "socket2 0.5.6",
+ "tokio",
+ "tower",
+ "tower-service",
+ "tracing",
 ]
 
 [[package]]
@@ -2000,7 +2018,7 @@ dependencies = [
 [[package]]
 name = "install-wheel-rs"
 version = "0.0.1"
-source = "git+https://github.com/astral-sh/uv?tag=0.1.24#01b7a27be42b3673f25e0ab64dfe1a6cebcc3a2f"
+source = "git+https://github.com/astral-sh/uv?tag=0.1.32#f6b1580d8bd5388d80592701a02d0e77a199ddd5"
 dependencies = [
  "configparser",
  "csv",
@@ -2090,9 +2108,9 @@ checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
 
 [[package]]
 name = "jobserver"
-version = "0.1.28"
+version = "0.1.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab46a6e9526ddef3ae7f787c06f0f2600639ba80ea3eade3d8e670a2230f51d6"
+checksum = "685a7d121ee3f65ae4fddd72b25a04bb36b6af81bc0828f7d5434c0fe60fa3a2"
 dependencies = [
  "libc",
 ]
@@ -2162,7 +2180,7 @@ dependencies = [
  "proc-macro2",
  "quote",
  "regex",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -2198,7 +2216,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19"
 dependencies = [
  "cfg-if",
- "windows-targets 0.52.4",
+ "windows-targets 0.52.5",
 ]
 
 [[package]]
@@ -2405,7 +2423,7 @@ checksum = "49e7bc1560b95a3c4a25d03de42fe76ca718ab92d1a22a55b9b4cf67b3ae635c"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -2416,7 +2434,7 @@ checksum = "dcf09caffaac8068c346b6df2a7fc27a177fd20b39421a39ce0a211bde679a6c"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -2426,20 +2444,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
 
 [[package]]
-name = "mime_guess"
-version = "2.0.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef"
-dependencies = [
- "mime",
- "unicase",
-]
-
-[[package]]
 name = "minijinja"
-version = "1.0.16"
+version = "1.0.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3fb3bf58a1ec4f3f228bec851a2066c7717ad308817cd8a08f67c10660c6ff7b"
+checksum = "fb5c5e3d2b4c0a6832bd3d571f7c19a7c1c1f05f11a6e85ae1a29f76be5f9455"
 dependencies = [
  "serde",
 ]
@@ -2573,9 +2581,9 @@ dependencies = [
 
 [[package]]
 name = "num"
-version = "0.4.1"
+version = "0.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b05180d69e3da0e530ba2a1dae5110317e49e3b7f3d41be227dc5f92e49ee7af"
+checksum = "3135b08af27d103b0a51f2ae0f8632117b7b185ccf931445affa8df530576a41"
 dependencies = [
  "num-bigint",
  "num-complex",
@@ -2680,7 +2688,7 @@ dependencies = [
 [[package]]
 name = "once-map"
 version = "0.0.1"
-source = "git+https://github.com/astral-sh/uv?tag=0.1.24#01b7a27be42b3673f25e0ab64dfe1a6cebcc3a2f"
+source = "git+https://github.com/astral-sh/uv?tag=0.1.32#f6b1580d8bd5388d80592701a02d0e77a199ddd5"
 dependencies = [
  "dashmap",
  "tokio",
@@ -2721,7 +2729,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -2800,7 +2808,7 @@ dependencies = [
  "proc-macro2",
  "proc-macro2-diagnostics",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -2876,6 +2884,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
 
 [[package]]
+name = "path-absolutize"
+version = "3.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e4af381fe79fa195b4909485d99f73a80792331df0625188e707854f0b3383f5"
+dependencies = [
+ "path-dedot",
+]
+
+[[package]]
 name = "path-dedot"
 version = "3.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2893,10 +2910,9 @@ checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd"
 [[package]]
 name = "pep440_rs"
 version = "0.5.0"
-source = "git+https://github.com/astral-sh/uv?tag=0.1.24#01b7a27be42b3673f25e0ab64dfe1a6cebcc3a2f"
+source = "git+https://github.com/astral-sh/uv?tag=0.1.32#f6b1580d8bd5388d80592701a02d0e77a199ddd5"
 dependencies = [
  "once_cell",
- "pubgrub",
  "rkyv",
  "serde",
  "unicode-width",
@@ -2906,7 +2922,7 @@ dependencies = [
 [[package]]
 name = "pep508_rs"
 version = "0.4.2"
-source = "git+https://github.com/astral-sh/uv?tag=0.1.24#01b7a27be42b3673f25e0ab64dfe1a6cebcc3a2f"
+source = "git+https://github.com/astral-sh/uv?tag=0.1.32#f6b1580d8bd5388d80592701a02d0e77a199ddd5"
 dependencies = [
  "derivative",
  "once_cell",
@@ -2966,7 +2982,7 @@ dependencies = [
  "phf_shared",
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
  "unicase",
 ]
 
@@ -2997,7 +3013,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -3025,7 +3041,7 @@ dependencies = [
 
 [[package]]
 name = "pixi"
-version = "0.19.1"
+version = "0.20.0"
 dependencies = [
  "assert_matches",
  "async-once-cell",
@@ -3078,7 +3094,7 @@ dependencies = [
  "requirements-txt",
  "reqwest",
  "reqwest-middleware",
- "reqwest-retry 0.4.0",
+ "reqwest-retry",
  "rstest",
  "self-replace",
  "serde",
@@ -3098,20 +3114,22 @@ dependencies = [
  "tokio",
  "tokio-util",
  "toml",
- "toml_edit 0.22.9",
+ "toml_edit 0.22.11",
  "tracing",
  "tracing-subscriber",
  "url",
  "uv-build",
  "uv-cache",
  "uv-client",
+ "uv-configuration",
  "uv-dispatch",
  "uv-distribution",
+ "uv-git",
  "uv-installer",
  "uv-interpreter",
  "uv-normalize",
  "uv-resolver",
- "uv-traits",
+ "uv-types",
  "xxhash-rust",
  "zip",
 ]
@@ -3124,9 +3142,9 @@ checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec"
 
 [[package]]
 name = "platform-info"
-version = "2.0.2"
+version = "2.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d6259c4860e53bf665016f1b2f46a8859cadfa717581dc9d597ae4069de6300f"
+checksum = "d5ff316b9c4642feda973c18f0decd6c8b0919d4722566f6e4337cce0dd88217"
 dependencies = [
  "libc",
  "winapi",
@@ -3135,7 +3153,7 @@ dependencies = [
 [[package]]
 name = "platform-tags"
 version = "0.0.1"
-source = "git+https://github.com/astral-sh/uv?tag=0.1.24#01b7a27be42b3673f25e0ab64dfe1a6cebcc3a2f"
+source = "git+https://github.com/astral-sh/uv?tag=0.1.32#f6b1580d8bd5388d80592701a02d0e77a199ddd5"
 dependencies = [
  "rustc-hash",
  "serde",
@@ -3228,9 +3246,9 @@ dependencies = [
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.79"
+version = "1.0.81"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e"
+checksum = "3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba"
 dependencies = [
  "unicode-ident",
 ]
@@ -3243,7 +3261,7 @@ checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
  "version_check",
  "yansi",
 ]
@@ -3271,7 +3289,7 @@ dependencies = [
 [[package]]
 name = "pubgrub"
 version = "0.2.1"
-source = "git+https://github.com/astral-sh/pubgrub?rev=e981e4dfe315582e84e2fd724832fb0e0c50b7aa#e981e4dfe315582e84e2fd724832fb0e0c50b7aa"
+source = "git+https://github.com/astral-sh/pubgrub?rev=c26e485213e39582c6f2e4d45c0328422670e7a7#c26e485213e39582c6f2e4d45c0328422670e7a7"
 dependencies = [
  "indexmap 2.2.6",
  "log",
@@ -3298,9 +3316,10 @@ dependencies = [
 [[package]]
 name = "pypi-types"
 version = "0.0.1"
-source = "git+https://github.com/astral-sh/uv?tag=0.1.24#01b7a27be42b3673f25e0ab64dfe1a6cebcc3a2f"
+source = "git+https://github.com/astral-sh/uv?tag=0.1.32#f6b1580d8bd5388d80592701a02d0e77a199ddd5"
 dependencies = [
  "chrono",
+ "indexmap 2.2.6",
  "mailparse",
  "once_cell",
  "pep440_rs",
@@ -3309,6 +3328,7 @@ dependencies = [
  "rkyv",
  "serde",
  "thiserror",
+ "toml",
  "tracing",
  "url",
  "uv-normalize",
@@ -3338,9 +3358,9 @@ dependencies = [
 
 [[package]]
 name = "quote"
-version = "1.0.35"
+version = "1.0.36"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
+checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7"
 dependencies = [
  "proc-macro2",
 ]
@@ -3389,12 +3409,11 @@ dependencies = [
 
 [[package]]
 name = "rattler"
-version = "0.20.1"
+version = "0.22.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0cf17592e2097c40bb78458d5894cd0c4f4e54fa3c7e48a4ca2cdc09bf48d18f"
+checksum = "4c954c00bfef8915def6b043db4d61d4d61a4436c89382915839c4360424a02e"
 dependencies = [
  "anyhow",
- "async-compression",
  "bytes",
  "chrono",
  "clap",
@@ -3403,31 +3422,25 @@ dependencies = [
  "fs-err",
  "futures",
  "fxhash",
- "hex",
  "indexmap 2.2.6",
  "itertools",
  "memchr",
  "memmap2 0.9.4",
- "nom",
  "once_cell",
- "pin-project-lite",
  "rattler_conda_types",
  "rattler_digest",
  "rattler_networking",
  "rattler_package_streaming",
+ "rattler_shell",
  "reflink-copy",
  "regex",
  "reqwest",
  "reqwest-middleware",
- "serde",
- "serde_json",
- "serde_with",
  "smallvec",
  "tempfile",
  "thiserror",
  "tokio",
  "tokio-stream",
- "tokio-util",
  "tracing",
  "url",
  "uuid",
@@ -3435,15 +3448,14 @@ dependencies = [
 
 [[package]]
 name = "rattler_conda_types"
-version = "0.20.5"
+version = "0.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "22355c9ca09dcba831e8530c09787516d29ebfdd78eebd6e3157cdffa9ebde70"
+checksum = "15c4109edd67464a8f43c3a68b031df0f92c8efe89b3d1cf09fdc407cd90abae"
 dependencies = [
  "chrono",
  "fxhash",
  "glob",
  "hex",
- "indexmap 2.2.6",
  "itertools",
  "lazy-regex",
  "nom",
@@ -3455,7 +3467,6 @@ dependencies = [
  "serde_json",
  "serde_repr",
  "serde_with",
- "serde_yaml",
  "smallvec",
  "strum",
  "thiserror",
@@ -3465,9 +3476,9 @@ dependencies = [
 
 [[package]]
 name = "rattler_digest"
-version = "0.19.2"
+version = "0.19.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a15f14fa0e0fdf3fbacabd21d66a3d6b15af5c7c0cda2e0e29bd6605dec4569"
+checksum = "fe7143db952a9256f187ec5f69d6289c87d51b73e591cb21c653034b06fb0de7"
 dependencies = [
  "blake2",
  "digest",
@@ -3481,9 +3492,9 @@ dependencies = [
 
 [[package]]
 name = "rattler_lock"
-version = "0.22.1"
+version = "0.22.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "adf007f6e5a6f27ae33d15185a72c198e4662bf38be53c30ceea8b86a504c8ff"
+checksum = "2b6c653f0af03d910a09e8c2d2938da6462c1218518760d3c88eddb776221d57"
 dependencies = [
  "chrono",
  "fxhash",
@@ -3495,7 +3506,6 @@ dependencies = [
  "rattler_conda_types",
  "rattler_digest",
  "serde",
- "serde-json-python-formatter",
  "serde_json",
  "serde_with",
  "serde_yaml",
@@ -3505,23 +3515,23 @@ dependencies = [
 
 [[package]]
 name = "rattler_macros"
-version = "0.19.2"
+version = "0.19.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c7f6c3aedd4fa6a50b41be9537c8abc7190ae24f1b0add0ab722275fa0ec8d6d"
+checksum = "10cef20e8356ea6840294e5754c6a8663b0eb1b97f29d517642f0f99215a2483"
 dependencies = [
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
 name = "rattler_networking"
-version = "0.20.1"
+version = "0.20.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "235b836c1acac144780e2255d8b514fd89d3f7e5e865553f22ff0cc2a5744d21"
+checksum = "4586c089e479cfb541d81db67cd8b43e0036507ffbf536e1d393e8147aa685c6"
 dependencies = [
  "anyhow",
  "async-trait",
- "base64 0.21.7",
+ "base64 0.22.0",
  "chrono",
  "dirs",
  "fslock",
@@ -3529,16 +3539,12 @@ dependencies = [
  "http",
  "itertools",
  "keyring",
- "lazy_static",
- "libc",
  "netrc-rs",
- "once_cell",
  "reqwest",
  "reqwest-middleware",
- "retry-policies 0.3.0",
+ "retry-policies",
  "serde",
  "serde_json",
- "task-local-extensions",
  "thiserror",
  "tracing",
  "url",
@@ -3546,14 +3552,13 @@ dependencies = [
 
 [[package]]
 name = "rattler_package_streaming"
-version = "0.20.2"
+version = "0.20.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "51ab40c7851026ce066437a7aa8f41bd855631de1df7119cd6c4592f5e7c8761"
+checksum = "4761292a1fb0346ad20a76c81da1261454bf87a4993935506b220429d8e2b63c"
 dependencies = [
  "bzip2",
  "chrono",
  "futures-util",
- "itertools",
  "num_cpus",
  "rattler_conda_types",
  "rattler_digest",
@@ -3573,9 +3578,9 @@ dependencies = [
 
 [[package]]
 name = "rattler_repodata_gateway"
-version = "0.19.5"
+version = "0.19.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d5a431bebc785418239234de099d93c762f36ee9eccc25fb771e66f7e67dc478"
+checksum = "6f450d02a301c9da95b6f48d8fe29a921af036bb43553eee0b58b390dba70219"
 dependencies = [
  "anyhow",
  "async-compression",
@@ -3589,7 +3594,6 @@ dependencies = [
  "itertools",
  "json-patch",
  "libc",
- "md-5",
  "memmap2 0.9.4",
  "ouroboros",
  "pin-project-lite",
@@ -3613,9 +3617,9 @@ dependencies = [
 
 [[package]]
 name = "rattler_shell"
-version = "0.19.6"
+version = "0.20.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e0786444f12ae6ad5a159a4c5cdca90a8fab06d45998da04e176d3cd1eee0757"
+checksum = "df3d2cc94dc0b26d871688be08bc72d8d24a69cafdf408adf7a1c4dab9dc32e4"
 dependencies = [
  "enum_dispatch",
  "indexmap 2.2.6",
@@ -3631,19 +3635,16 @@ dependencies = [
 
 [[package]]
 name = "rattler_solve"
-version = "0.20.5"
+version = "0.20.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "52c04b27a7c16d0be56a398236a08575c5180752a07de9b86fa9ae5ccae59326"
+checksum = "5ecc29d71862c0b9307a18c8dc8dcddb6042715f26d44085f950426e8b2ef65b"
 dependencies = [
- "anyhow",
  "chrono",
  "futures",
- "hex",
  "itertools",
  "rattler_conda_types",
  "rattler_digest",
  "resolvo",
- "serde",
  "tempfile",
  "thiserror",
  "tracing",
@@ -3652,12 +3653,11 @@ dependencies = [
 
 [[package]]
 name = "rattler_virtual_packages"
-version = "0.19.6"
+version = "0.19.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3078daeab0c71d739969e28b280bd58450b85e9d360b75feedd23e2b6613b531"
+checksum = "0a0ce73b5939df90e9f968d3d3751e97314bc030bc35ee084e6e292a1e27690a"
 dependencies = [
  "archspec",
- "cfg-if",
  "libloading",
  "nom",
  "once_cell",
@@ -3729,13 +3729,13 @@ dependencies = [
 
 [[package]]
 name = "reflink-copy"
-version = "0.1.15"
+version = "0.1.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "52b1349400e2ffd64a9fb5ed9008e33c0b8ef86bd5bae8f73080839c7082f1d5"
+checksum = "4dea9fb2ba3bcc8c51607906e56fe392ba2eb9947dcc84597f26d73f56877c66"
 dependencies = [
  "cfg-if",
  "rustix 0.38.32",
- "windows 0.54.0",
+ "windows 0.56.0",
 ]
 
 [[package]]
@@ -3800,9 +3800,8 @@ dependencies = [
 [[package]]
 name = "requirements-txt"
 version = "0.0.1"
-source = "git+https://github.com/astral-sh/uv?tag=0.1.24#01b7a27be42b3673f25e0ab64dfe1a6cebcc3a2f"
+source = "git+https://github.com/astral-sh/uv?tag=0.1.32#f6b1580d8bd5388d80592701a02d0e77a199ddd5"
 dependencies = [
- "async-recursion",
  "fs-err",
  "pep508_rs",
  "regex",
@@ -3811,6 +3810,7 @@ dependencies = [
  "unscanny",
  "url",
  "uv-client",
+ "uv-configuration",
  "uv-fs",
  "uv-normalize",
  "uv-warnings",
@@ -3818,27 +3818,27 @@ dependencies = [
 
 [[package]]
 name = "reqwest"
-version = "0.11.27"
+version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62"
+checksum = "3e6cc1e89e689536eb5aeede61520e874df5a4707df811cd5da4aa5fbb2aae19"
 dependencies = [
  "async-compression",
- "base64 0.21.7",
+ "base64 0.22.0",
  "bytes",
- "encoding_rs",
+ "futures-channel",
  "futures-core",
  "futures-util",
- "h2",
  "http",
  "http-body",
+ "http-body-util",
  "hyper",
  "hyper-rustls",
  "hyper-tls",
+ "hyper-util",
  "ipnet",
  "js-sys",
  "log",
  "mime",
- "mime_guess",
  "native-tls",
  "once_cell",
  "percent-encoding",
@@ -3846,11 +3846,11 @@ dependencies = [
  "rustls",
  "rustls-native-certs",
  "rustls-pemfile",
+ "rustls-pki-types",
  "serde",
  "serde_json",
  "serde_urlencoded",
  "sync_wrapper",
- "system-configuration",
  "tokio",
  "tokio-native-tls",
  "tokio-rustls",
@@ -3867,47 +3867,24 @@ dependencies = [
 
 [[package]]
 name = "reqwest-middleware"
-version = "0.2.5"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a735987236a8e238bf0296c7e351b999c188ccc11477f311b82b55c93984216"
+checksum = "0209efb52486ad88136190094ee214759ef7507068b27992256ed6610eb71a01"
 dependencies = [
  "anyhow",
  "async-trait",
  "http",
  "reqwest",
  "serde",
- "task-local-extensions",
  "thiserror",
+ "tower-service",
 ]
 
 [[package]]
 name = "reqwest-retry"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9af20b65c2ee9746cc575acb6bd28a05ffc0d15e25c992a8f4462d8686aacb4f"
-dependencies = [
- "anyhow",
- "async-trait",
- "chrono",
- "futures",
- "getrandom",
- "http",
- "hyper",
- "parking_lot 0.11.2",
- "reqwest",
- "reqwest-middleware",
- "retry-policies 0.2.1",
- "task-local-extensions",
- "tokio",
- "tracing",
- "wasm-timer",
-]
-
-[[package]]
-name = "reqwest-retry"
-version = "0.4.0"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cadced6a67c5c2d1c819cc2d7e6ddf066f32b9b6a04f8866203ceeb44b79c37f"
+checksum = "40f342894422862af74c50e1e9601cf0931accc9c6981e5eb413c46603b616b5"
 dependencies = [
  "anyhow",
  "async-trait",
@@ -3919,8 +3896,7 @@ dependencies = [
  "parking_lot 0.11.2",
  "reqwest",
  "reqwest-middleware",
- "retry-policies 0.3.0",
- "task-local-extensions",
+ "retry-policies",
  "tokio",
  "tracing",
  "wasm-timer",
@@ -3943,17 +3919,6 @@ dependencies = [
 
 [[package]]
 name = "retry-policies"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17dd00bff1d737c40dbcd47d4375281bf4c17933f9eef0a185fc7bacca23ecbd"
-dependencies = [
- "anyhow",
- "chrono",
- "rand",
-]
-
-[[package]]
-name = "retry-policies"
 version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "493b4243e32d6eedd29f9a398896e35c6943a123b55eec97dcaee98310d25810"
@@ -4009,9 +3974,9 @@ dependencies = [
 
 [[package]]
 name = "rmp"
-version = "0.8.12"
+version = "0.8.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f9860a6cc38ed1da53456442089b4dfa35e7cedaa326df63017af88385e6b20"
+checksum = "228ed7c16fa39782c3b3468e974aec2795e9089153cd08ee2e9aefb3613334c4"
 dependencies = [
  "byteorder",
  "num-traits",
@@ -4020,9 +3985,9 @@ dependencies = [
 
 [[package]]
 name = "rmp-serde"
-version = "1.1.2"
+version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bffea85eea980d8a74453e5d02a8d93028f3c34725de143085a844ebe953258a"
+checksum = "938a142ab806f18b88a97b0dea523d39e0fd730a064b035726adcfc58a8a5188"
 dependencies = [
  "byteorder",
  "rmp",
@@ -4031,9 +3996,9 @@ dependencies = [
 
 [[package]]
 name = "rstest"
-version = "0.18.2"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97eeab2f3c0a199bc4be135c36c924b6590b88c377d416494288c14f2db30199"
+checksum = "9d5316d2a1479eeef1ea21e7f9ddc67c191d497abc8fc3ba2467857abbb68330"
 dependencies = [
  "futures",
  "futures-timer",
@@ -4043,9 +4008,9 @@ dependencies = [
 
 [[package]]
 name = "rstest_macros"
-version = "0.18.2"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d428f8247852f894ee1be110b375111b586d4fa431f6c46e64ba5a0dcccbe605"
+checksum = "04a9df72cc1f67020b0d63ad9bfe4a323e459ea7eb68e03bd9824db49f9a4c25"
 dependencies = [
  "cfg-if",
  "glob",
@@ -4054,7 +4019,7 @@ dependencies = [
  "regex",
  "relative-path",
  "rustc_version",
- "syn 2.0.58",
+ "syn 2.0.60",
  "unicode-ident",
 ]
 
@@ -4117,44 +4082,55 @@ dependencies = [
 
 [[package]]
 name = "rustls"
-version = "0.21.10"
+version = "0.22.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba"
+checksum = "99008d7ad0bbbea527ec27bddbc0e432c5b87d8175178cee68d2eec9c4a1813c"
 dependencies = [
  "log",
  "ring",
+ "rustls-pki-types",
  "rustls-webpki",
- "sct",
+ "subtle",
+ "zeroize",
 ]
 
 [[package]]
 name = "rustls-native-certs"
-version = "0.6.3"
+version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00"
+checksum = "8f1fb85efa936c42c6d5fc28d2629bb51e4b2f4b8a5211e297d599cc5a093792"
 dependencies = [
  "openssl-probe",
  "rustls-pemfile",
+ "rustls-pki-types",
  "schannel",
  "security-framework",
 ]
 
 [[package]]
 name = "rustls-pemfile"
-version = "1.0.4"
+version = "2.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c"
+checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d"
 dependencies = [
- "base64 0.21.7",
+ "base64 0.22.0",
+ "rustls-pki-types",
 ]
 
 [[package]]
+name = "rustls-pki-types"
+version = "1.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ecd36cc4259e3e4514335c4a138c6b43171a8d61d8f5c9348f9fc7529416f247"
+
+[[package]]
 name = "rustls-webpki"
-version = "0.101.7"
+version = "0.102.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765"
+checksum = "faaa0a62740bedb9b2ef5afa303da42764c012f743917351dc9a237ea1663610"
 dependencies = [
  "ring",
+ "rustls-pki-types",
  "untrusted",
 ]
 
@@ -4195,16 +4171,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
 
 [[package]]
-name = "sct"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414"
-dependencies = [
- "ring",
- "untrusted",
-]
-
-[[package]]
 name = "seahash"
 version = "4.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4271,23 +4237,14 @@ checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca"
 
 [[package]]
 name = "serde"
-version = "1.0.197"
+version = "1.0.198"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2"
+checksum = "9846a40c979031340571da2545a4e5b7c4163bdae79b301d5f86d03979451fcc"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
-name = "serde-json-python-formatter"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db62ee54077c67a8cff258c919175f0b3cb78d2b6dcafb0d166ff98dcb21aa5d"
-dependencies = [
- "serde_json",
-]
-
-[[package]]
 name = "serde-untagged"
 version = "0.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4299,20 +4256,20 @@ dependencies = [
 
 [[package]]
 name = "serde_derive"
-version = "1.0.197"
+version = "1.0.198"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
+checksum = "e88edab869b01783ba905e7d0153f9fc1a6505a96e4ad3018011eedb838566d9"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.115"
+version = "1.0.116"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12dc5c46daa8e9fdf4f5e71b6cf9a53f2487da0e86e55808e2d35539666497dd"
+checksum = "3e17db7126d17feb94eb3fad46bf1a96b034e8aacbc2e775fe81505f8b0b2813"
 dependencies = [
  "indexmap 2.2.6",
  "itoa",
@@ -4322,13 +4279,13 @@ dependencies = [
 
 [[package]]
 name = "serde_repr"
-version = "0.1.18"
+version = "0.1.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b2e6b945e9d3df726b65d6ee24060aff8e3533d431f677a9695db04eff9dfdb"
+checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -4379,7 +4336,7 @@ dependencies = [
  "darling",
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -4417,7 +4374,7 @@ checksum = "b93fb4adc70021ac1b47f7d45e8cc4169baaa7ea58483bc5b721d19a26202212"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -4647,7 +4604,7 @@ dependencies = [
  "proc-macro2",
  "quote",
  "rustversion",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -4696,9 +4653,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.58"
+version = "2.0.60"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44cfb93f38070beee36b3fef7d4f5a16f27751d94b187b666a5cc5e9b0d30687"
+checksum = "909518bc7b1c9b779f1bbf07f2929d35af9f0f37e47c6e9ef7f9dddc1e1821f3"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -4737,9 +4694,9 @@ dependencies = [
 
 [[package]]
 name = "sysinfo"
-version = "0.30.8"
+version = "0.30.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b1a378e48fb3ce3a5cf04359c456c9c98ff689bcf1c1bc6e6a31f247686f275"
+checksum = "87341a165d73787554941cd5ef55ad728011566fe714e987d1b976c15dbc3a83"
 dependencies = [
  "cfg-if",
  "core-foundation-sys",
@@ -4751,27 +4708,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "system-configuration"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7"
-dependencies = [
- "bitflags 1.3.2",
- "core-foundation",
- "system-configuration-sys",
-]
-
-[[package]]
-name = "system-configuration-sys"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9"
-dependencies = [
- "core-foundation-sys",
- "libc",
-]
-
-[[package]]
 name = "tabwriter"
 version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4798,15 +4734,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "task-local-extensions"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ba323866e5d033818e3240feeb9f7db2c4296674e4d9e16b97b7bf8f490434e8"
-dependencies = [
- "pin-utils",
-]
-
-[[package]]
 name = "tempfile"
 version = "3.10.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4856,7 +4783,7 @@ checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -4871,9 +4798,9 @@ dependencies = [
 
 [[package]]
 name = "time"
-version = "0.3.34"
+version = "0.3.36"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749"
+checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885"
 dependencies = [
  "deranged",
  "itoa",
@@ -4892,9 +4819,9 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
 
 [[package]]
 name = "time-macros"
-version = "0.2.17"
+version = "0.2.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774"
+checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf"
 dependencies = [
  "num-conv",
  "time-core",
@@ -4947,7 +4874,7 @@ checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -4962,11 +4889,12 @@ dependencies = [
 
 [[package]]
 name = "tokio-rustls"
-version = "0.24.1"
+version = "0.25.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081"
+checksum = "775e0c0f0adb3a2f22a00c4745d728b479985fc15ee7ca6a2608388c5569860f"
 dependencies = [
  "rustls",
+ "rustls-pki-types",
  "tokio",
 ]
 
@@ -5021,7 +4949,7 @@ dependencies = [
  "serde",
  "serde_spanned",
  "toml_datetime",
- "toml_edit 0.22.9",
+ "toml_edit 0.22.11",
 ]
 
 [[package]]
@@ -5046,18 +4974,40 @@ dependencies = [
 
 [[package]]
 name = "toml_edit"
-version = "0.22.9"
+version = "0.22.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e40bb779c5187258fd7aad0eb68cb8706a0a81fa712fbea808ab43c4b8374c4"
+checksum = "fb686a972ccef8537b39eead3968b0e8616cb5040dbb9bba93007c8e07c9215f"
 dependencies = [
  "indexmap 2.2.6",
  "serde",
  "serde_spanned",
  "toml_datetime",
- "winnow 0.6.5",
+ "winnow 0.6.6",
 ]
 
 [[package]]
+name = "tower"
+version = "0.4.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c"
+dependencies = [
+ "futures-core",
+ "futures-util",
+ "pin-project",
+ "pin-project-lite",
+ "tokio",
+ "tower-layer",
+ "tower-service",
+ "tracing",
+]
+
+[[package]]
+name = "tower-layer"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0"
+
+[[package]]
 name = "tower-service"
 version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5069,6 +5019,7 @@ version = "0.1.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
 dependencies = [
+ "log",
  "pin-project-lite",
  "tracing-attributes",
  "tracing-core",
@@ -5082,7 +5033,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -5259,15 +5210,15 @@ dependencies = [
 [[package]]
 name = "uv-auth"
 version = "0.0.1"
-source = "git+https://github.com/astral-sh/uv?tag=0.1.24#01b7a27be42b3673f25e0ab64dfe1a6cebcc3a2f"
+source = "git+https://github.com/astral-sh/uv?tag=0.1.32#f6b1580d8bd5388d80592701a02d0e77a199ddd5"
 dependencies = [
  "async-trait",
- "base64 0.21.7",
+ "base64 0.22.0",
+ "http",
  "once_cell",
  "reqwest",
  "reqwest-middleware",
  "rust-netrc",
- "task-local-extensions",
  "thiserror",
  "tracing",
  "url",
@@ -5277,7 +5228,7 @@ dependencies = [
 [[package]]
 name = "uv-build"
 version = "0.0.1"
-source = "git+https://github.com/astral-sh/uv?tag=0.1.24#01b7a27be42b3673f25e0ab64dfe1a6cebcc3a2f"
+source = "git+https://github.com/astral-sh/uv?tag=0.1.32#f6b1580d8bd5388d80592701a02d0e77a199ddd5"
 dependencies = [
  "anyhow",
  "distribution-types",
@@ -5296,16 +5247,17 @@ dependencies = [
  "tokio",
  "toml",
  "tracing",
+ "uv-configuration",
  "uv-fs",
  "uv-interpreter",
- "uv-traits",
+ "uv-types",
  "uv-virtualenv",
 ]
 
 [[package]]
 name = "uv-cache"
 version = "0.0.1"
-source = "git+https://github.com/astral-sh/uv?tag=0.1.24#01b7a27be42b3673f25e0ab64dfe1a6cebcc3a2f"
+source = "git+https://github.com/astral-sh/uv?tag=0.1.32#f6b1580d8bd5388d80592701a02d0e77a199ddd5"
 dependencies = [
  "cache-key",
  "cachedir",
@@ -5328,7 +5280,7 @@ dependencies = [
 [[package]]
 name = "uv-client"
 version = "0.0.1"
-source = "git+https://github.com/astral-sh/uv?tag=0.1.24#01b7a27be42b3673f25e0ab64dfe1a6cebcc3a2f"
+source = "git+https://github.com/astral-sh/uv?tag=0.1.32#f6b1580d8bd5388d80592701a02d0e77a199ddd5"
 dependencies = [
  "anyhow",
  "async-trait",
@@ -5349,16 +5301,12 @@ dependencies = [
  "pypi-types",
  "reqwest",
  "reqwest-middleware",
- "reqwest-retry 0.3.0",
+ "reqwest-retry",
  "rkyv",
  "rmp-serde",
- "rustc-hash",
- "rustls",
- "rustls-native-certs",
  "serde",
  "serde_json",
  "sys-info",
- "task-local-extensions",
  "tempfile",
  "thiserror",
  "tl",
@@ -5369,21 +5317,36 @@ dependencies = [
  "urlencoding",
  "uv-auth",
  "uv-cache",
+ "uv-configuration",
  "uv-fs",
  "uv-normalize",
  "uv-version",
  "uv-warnings",
- "webpki-roots",
+]
+
+[[package]]
+name = "uv-configuration"
+version = "0.0.1"
+source = "git+https://github.com/astral-sh/uv?tag=0.1.32#f6b1580d8bd5388d80592701a02d0e77a199ddd5"
+dependencies = [
+ "anyhow",
+ "itertools",
+ "pep508_rs",
+ "rustc-hash",
+ "serde",
+ "serde_json",
+ "uv-normalize",
 ]
 
 [[package]]
 name = "uv-dispatch"
 version = "0.0.1"
-source = "git+https://github.com/astral-sh/uv?tag=0.1.24#01b7a27be42b3673f25e0ab64dfe1a6cebcc3a2f"
+source = "git+https://github.com/astral-sh/uv?tag=0.1.32#f6b1580d8bd5388d80592701a02d0e77a199ddd5"
 dependencies = [
  "anyhow",
  "distribution-types",
  "futures",
+ "install-wheel-rs",
  "itertools",
  "pep508_rs",
  "rustc-hash",
@@ -5391,16 +5354,17 @@ dependencies = [
  "uv-build",
  "uv-cache",
  "uv-client",
+ "uv-configuration",
  "uv-installer",
  "uv-interpreter",
  "uv-resolver",
- "uv-traits",
+ "uv-types",
 ]
 
 [[package]]
 name = "uv-distribution"
 version = "0.0.1"
-source = "git+https://github.com/astral-sh/uv?tag=0.1.24#01b7a27be42b3673f25e0ab64dfe1a6cebcc3a2f"
+source = "git+https://github.com/astral-sh/uv?tag=0.1.32#f6b1580d8bd5388d80592701a02d0e77a199ddd5"
 dependencies = [
  "anyhow",
  "cache-key",
@@ -5409,7 +5373,9 @@ dependencies = [
  "fs-err",
  "futures",
  "install-wheel-rs",
+ "md-5",
  "nanoid",
+ "once_cell",
  "pep440_rs",
  "pep508_rs",
  "platform-tags",
@@ -5419,6 +5385,7 @@ dependencies = [
  "rmp-serde",
  "rustc-hash",
  "serde",
+ "sha2",
  "tempfile",
  "thiserror",
  "tokio",
@@ -5427,25 +5394,29 @@ dependencies = [
  "url",
  "uv-cache",
  "uv-client",
+ "uv-configuration",
  "uv-extract",
  "uv-fs",
  "uv-git",
  "uv-normalize",
- "uv-traits",
+ "uv-types",
  "zip",
 ]
 
 [[package]]
 name = "uv-extract"
 version = "0.0.1"
-source = "git+https://github.com/astral-sh/uv?tag=0.1.24#01b7a27be42b3673f25e0ab64dfe1a6cebcc3a2f"
+source = "git+https://github.com/astral-sh/uv?tag=0.1.32#f6b1580d8bd5388d80592701a02d0e77a199ddd5"
 dependencies = [
  "async-compression",
  "async_zip",
  "fs-err",
  "futures",
+ "md-5",
+ "pypi-types",
  "rayon",
  "rustc-hash",
+ "sha2",
  "thiserror",
  "tokio",
  "tokio-tar",
@@ -5457,7 +5428,7 @@ dependencies = [
 [[package]]
 name = "uv-fs"
 version = "0.0.1"
-source = "git+https://github.com/astral-sh/uv?tag=0.1.24#01b7a27be42b3673f25e0ab64dfe1a6cebcc3a2f"
+source = "git+https://github.com/astral-sh/uv?tag=0.1.32#f6b1580d8bd5388d80592701a02d0e77a199ddd5"
 dependencies = [
  "backoff",
  "dunce",
@@ -5466,6 +5437,7 @@ dependencies = [
  "fs2",
  "junction",
  "once_cell",
+ "path-absolutize",
  "tempfile",
  "tokio",
  "tracing",
@@ -5476,10 +5448,10 @@ dependencies = [
 [[package]]
 name = "uv-git"
 version = "0.0.1"
-source = "git+https://github.com/astral-sh/uv?tag=0.1.24#01b7a27be42b3673f25e0ab64dfe1a6cebcc3a2f"
+source = "git+https://github.com/astral-sh/uv?tag=0.1.32#f6b1580d8bd5388d80592701a02d0e77a199ddd5"
 dependencies = [
  "anyhow",
- "base64 0.21.7",
+ "base64 0.22.0",
  "cache-key",
  "cargo-util",
  "fs-err",
@@ -5499,7 +5471,7 @@ dependencies = [
 [[package]]
 name = "uv-installer"
 version = "0.0.1"
-source = "git+https://github.com/astral-sh/uv?tag=0.1.24#01b7a27be42b3673f25e0ab64dfe1a6cebcc3a2f"
+source = "git+https://github.com/astral-sh/uv?tag=0.1.32#f6b1580d8bd5388d80592701a02d0e77a199ddd5"
 dependencies = [
  "anyhow",
  "async-channel",
@@ -5511,9 +5483,9 @@ dependencies = [
  "pep508_rs",
  "platform-tags",
  "pypi-types",
- "pyproject-toml",
  "rayon",
  "requirements-txt",
+ "rmp-serde",
  "rustc-hash",
  "serde",
  "tempfile",
@@ -5524,12 +5496,13 @@ dependencies = [
  "url",
  "uv-cache",
  "uv-client",
+ "uv-configuration",
  "uv-distribution",
  "uv-extract",
  "uv-fs",
  "uv-interpreter",
  "uv-normalize",
- "uv-traits",
+ "uv-types",
  "uv-warnings",
  "walkdir",
 ]
@@ -5537,7 +5510,7 @@ dependencies = [
 [[package]]
 name = "uv-interpreter"
 version = "0.0.1"
-source = "git+https://github.com/astral-sh/uv?tag=0.1.24#01b7a27be42b3673f25e0ab64dfe1a6cebcc3a2f"
+source = "git+https://github.com/astral-sh/uv?tag=0.1.32#f6b1580d8bd5388d80592701a02d0e77a199ddd5"
 dependencies = [
  "cache-key",
  "configparser",
@@ -5558,6 +5531,7 @@ dependencies = [
  "tracing",
  "uv-cache",
  "uv-fs",
+ "uv-toolchain",
  "which",
  "winapi",
 ]
@@ -5565,7 +5539,7 @@ dependencies = [
 [[package]]
 name = "uv-normalize"
 version = "0.0.1"
-source = "git+https://github.com/astral-sh/uv?tag=0.1.24#01b7a27be42b3673f25e0ab64dfe1a6cebcc3a2f"
+source = "git+https://github.com/astral-sh/uv?tag=0.1.32#f6b1580d8bd5388d80592701a02d0e77a199ddd5"
 dependencies = [
  "rkyv",
  "serde",
@@ -5574,7 +5548,7 @@ dependencies = [
 [[package]]
 name = "uv-resolver"
 version = "0.0.1"
-source = "git+https://github.com/astral-sh/uv?tag=0.1.24#01b7a27be42b3673f25e0ab64dfe1a6cebcc3a2f"
+source = "git+https://github.com/astral-sh/uv?tag=0.1.32#f6b1580d8bd5388d80592701a02d0e77a199ddd5"
 dependencies = [
  "anstream",
  "anyhow",
@@ -5587,6 +5561,7 @@ dependencies = [
  "either",
  "futures",
  "indexmap 2.2.6",
+ "install-wheel-rs",
  "itertools",
  "once-map",
  "once_cell",
@@ -5600,6 +5575,7 @@ dependencies = [
  "requirements-txt",
  "rkyv",
  "rustc-hash",
+ "textwrap",
  "thiserror",
  "tokio",
  "tokio-stream",
@@ -5607,38 +5583,70 @@ dependencies = [
  "url",
  "uv-cache",
  "uv-client",
+ "uv-configuration",
  "uv-distribution",
  "uv-interpreter",
  "uv-normalize",
- "uv-traits",
+ "uv-types",
  "uv-warnings",
 ]
 
 [[package]]
-name = "uv-traits"
+name = "uv-toolchain"
+version = "0.1.0"
+source = "git+https://github.com/astral-sh/uv?tag=0.1.32#f6b1580d8bd5388d80592701a02d0e77a199ddd5"
+dependencies = [
+ "anyhow",
+ "fs-err",
+ "futures",
+ "once_cell",
+ "pep440_rs",
+ "pep508_rs",
+ "reqwest",
+ "reqwest-middleware",
+ "tempfile",
+ "thiserror",
+ "tokio",
+ "tokio-util",
+ "tracing",
+ "url",
+ "uv-client",
+ "uv-extract",
+ "uv-fs",
+]
+
+[[package]]
+name = "uv-types"
 version = "0.0.1"
-source = "git+https://github.com/astral-sh/uv?tag=0.1.24#01b7a27be42b3673f25e0ab64dfe1a6cebcc3a2f"
+source = "git+https://github.com/astral-sh/uv?tag=0.1.32#f6b1580d8bd5388d80592701a02d0e77a199ddd5"
 dependencies = [
  "anyhow",
  "distribution-types",
+ "itertools",
  "once-map",
+ "pep440_rs",
  "pep508_rs",
+ "pypi-types",
+ "rustc-hash",
  "serde",
  "serde_json",
+ "thiserror",
+ "url",
  "uv-cache",
+ "uv-configuration",
  "uv-interpreter",
  "uv-normalize",
 ]
 
 [[package]]
 name = "uv-version"
-version = "0.1.24"
-source = "git+https://github.com/astral-sh/uv?tag=0.1.24#01b7a27be42b3673f25e0ab64dfe1a6cebcc3a2f"
+version = "0.1.32"
+source = "git+https://github.com/astral-sh/uv?tag=0.1.32#f6b1580d8bd5388d80592701a02d0e77a199ddd5"
 
 [[package]]
 name = "uv-virtualenv"
 version = "0.0.4"
-source = "git+https://github.com/astral-sh/uv?tag=0.1.24#01b7a27be42b3673f25e0ab64dfe1a6cebcc3a2f"
+source = "git+https://github.com/astral-sh/uv?tag=0.1.32#f6b1580d8bd5388d80592701a02d0e77a199ddd5"
 dependencies = [
  "anstream",
  "cachedir",
@@ -5657,7 +5665,7 @@ dependencies = [
 [[package]]
 name = "uv-warnings"
 version = "0.0.1"
-source = "git+https://github.com/astral-sh/uv?tag=0.1.24#01b7a27be42b3673f25e0ab64dfe1a6cebcc3a2f"
+source = "git+https://github.com/astral-sh/uv?tag=0.1.32#f6b1580d8bd5388d80592701a02d0e77a199ddd5"
 dependencies = [
  "anstream",
  "once_cell",
@@ -5735,7 +5743,7 @@ dependencies = [
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
  "wasm-bindgen-shared",
 ]
 
@@ -5769,7 +5777,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
@@ -5820,9 +5828,12 @@ dependencies = [
 
 [[package]]
 name = "webpki-roots"
-version = "0.25.4"
+version = "0.26.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1"
+checksum = "b3de34ae270483955a94f4b21bdaaeb83d508bb84a01435f393818edb0012009"
+dependencies = [
+ "rustls-pki-types",
+]
 
 [[package]]
 name = "which"
@@ -5874,17 +5885,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be"
 dependencies = [
  "windows-core 0.52.0",
- "windows-targets 0.52.4",
+ "windows-targets 0.52.5",
 ]
 
 [[package]]
 name = "windows"
-version = "0.54.0"
+version = "0.56.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9252e5725dbed82865af151df558e754e4a3c2c30818359eb17465f1346a1b49"
+checksum = "1de69df01bdf1ead2f4ac895dc77c9351aefff65b2f3db429a343f9cbf05e132"
 dependencies = [
- "windows-core 0.54.0",
- "windows-targets 0.52.4",
+ "windows-core 0.56.0",
+ "windows-targets 0.52.5",
 ]
 
 [[package]]
@@ -5893,26 +5904,50 @@ version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
 dependencies = [
- "windows-targets 0.52.4",
+ "windows-targets 0.52.5",
 ]
 
 [[package]]
 name = "windows-core"
-version = "0.54.0"
+version = "0.56.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12661b9c89351d684a50a8a643ce5f608e20243b9fb84687800163429f161d65"
+checksum = "4698e52ed2d08f8658ab0c39512a7c00ee5fe2688c65f8c0a4f06750d729f2a6"
 dependencies = [
+ "windows-implement",
+ "windows-interface",
  "windows-result",
- "windows-targets 0.52.4",
+ "windows-targets 0.52.5",
+]
+
+[[package]]
+name = "windows-implement"
+version = "0.56.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f6fc35f58ecd95a9b71c4f2329b911016e6bec66b3f2e6a4aad86bd2e99e2f9b"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.60",
+]
+
+[[package]]
+name = "windows-interface"
+version = "0.56.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08990546bf4edef8f431fa6326e032865f27138718c587dc21bc0265bbcb57cc"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.60",
 ]
 
 [[package]]
 name = "windows-result"
-version = "0.1.0"
+version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd19df78e5168dfb0aedc343d1d1b8d422ab2db6756d2dc3fef75035402a3f64"
+checksum = "749f0da9cc72d82e600d8d2e44cadd0b9eedb9038f71a1c58556ac1c5791813b"
 dependencies = [
- "windows-targets 0.52.4",
+ "windows-targets 0.52.5",
 ]
 
 [[package]]
@@ -5930,7 +5965,7 @@ version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
 dependencies = [
- "windows-targets 0.52.4",
+ "windows-targets 0.52.5",
 ]
 
 [[package]]
@@ -5950,17 +5985,18 @@ dependencies = [
 
 [[package]]
 name = "windows-targets"
-version = "0.52.4"
+version = "0.52.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b"
+checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb"
 dependencies = [
- "windows_aarch64_gnullvm 0.52.4",
- "windows_aarch64_msvc 0.52.4",
- "windows_i686_gnu 0.52.4",
- "windows_i686_msvc 0.52.4",
- "windows_x86_64_gnu 0.52.4",
- "windows_x86_64_gnullvm 0.52.4",
- "windows_x86_64_msvc 0.52.4",
+ "windows_aarch64_gnullvm 0.52.5",
+ "windows_aarch64_msvc 0.52.5",
+ "windows_i686_gnu 0.52.5",
+ "windows_i686_gnullvm",
+ "windows_i686_msvc 0.52.5",
+ "windows_x86_64_gnu 0.52.5",
+ "windows_x86_64_gnullvm 0.52.5",
+ "windows_x86_64_msvc 0.52.5",
 ]
 
 [[package]]
@@ -5971,9 +6007,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
 
 [[package]]
 name = "windows_aarch64_gnullvm"
-version = "0.52.4"
+version = "0.52.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9"
+checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263"
 
 [[package]]
 name = "windows_aarch64_msvc"
@@ -5983,9 +6019,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
 
 [[package]]
 name = "windows_aarch64_msvc"
-version = "0.52.4"
+version = "0.52.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675"
+checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6"
 
 [[package]]
 name = "windows_i686_gnu"
@@ -5995,9 +6031,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
 
 [[package]]
 name = "windows_i686_gnu"
-version = "0.52.4"
+version = "0.52.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3"
+checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670"
+
+[[package]]
+name = "windows_i686_gnullvm"
+version = "0.52.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9"
 
 [[package]]
 name = "windows_i686_msvc"
@@ -6007,9 +6049,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
 
 [[package]]
 name = "windows_i686_msvc"
-version = "0.52.4"
+version = "0.52.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02"
+checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf"
 
 [[package]]
 name = "windows_x86_64_gnu"
@@ -6019,9 +6061,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
 
 [[package]]
 name = "windows_x86_64_gnu"
-version = "0.52.4"
+version = "0.52.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03"
+checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
@@ -6031,9 +6073,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
-version = "0.52.4"
+version = "0.52.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177"
+checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596"
 
 [[package]]
 name = "windows_x86_64_msvc"
@@ -6043,9 +6085,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
 
 [[package]]
 name = "windows_x86_64_msvc"
-version = "0.52.4"
+version = "0.52.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8"
+checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0"
 
 [[package]]
 name = "winnow"
@@ -6058,18 +6100,18 @@ dependencies = [
 
 [[package]]
 name = "winnow"
-version = "0.6.5"
+version = "0.6.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dffa400e67ed5a4dd237983829e66475f0a4a26938c4b04c21baede6262215b8"
+checksum = "f0c976aaaa0e1f90dbb21e9587cdaf1d9679a1cde8875c0d6bd83ab96a208352"
 dependencies = [
  "memchr",
 ]
 
 [[package]]
 name = "winreg"
-version = "0.50.0"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1"
+checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5"
 dependencies = [
  "cfg-if",
  "windows-sys 0.48.0",
diff --git a/pkgs/by-name/pi/pixi/package.nix b/pkgs/by-name/pi/pixi/package.nix
index 8d81e3748c971..660126bebefc5 100644
--- a/pkgs/by-name/pi/pixi/package.nix
+++ b/pkgs/by-name/pi/pixi/package.nix
@@ -13,21 +13,21 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "pixi";
-  version = "0.19.1";
+  version = "0.20.0";
 
   src = fetchFromGitHub {
     owner = "prefix-dev";
     repo = "pixi";
     rev = "v${version}";
-    hash = "sha256-rCnW2Ghh6SN1G9u4ybk0jUUFYevH6FozeSjXZfJhW8s=";
+    hash = "sha256-7ah5u3E9nodo/0YSuaswRY07zz8EQgvttbVKjw/USCc=";
   };
 
   cargoLock = {
     lockFile = ./Cargo.lock;
     outputHashes = {
-      "async_zip-0.0.16" = "sha256-M94ceTCtyQc1AtPXYrVGplShQhItqZZa/x5qLiL+gs0=";
-      "cache-key-0.0.1" = "sha256-XsBTfe2+J5CGdjYZjhgxiP20OA7+VTCvD9JniLOjhKs=";
-      "pubgrub-0.2.1" = "sha256-SdgxoJ37cs+XwWRCFX4uKhJ9Juu9R/jENb6tzUMam4k=";
+      "async_zip-0.0.17" = "sha256-Q5fMDJrQtob54CTII3+SXHeozy5S5s3iLOzntevdGOs=";
+      "cache-key-0.0.1" = "sha256-qGFjI/LNf2p11BOgacYHU0hoXvCEjjnyAcAAIcD7YTo=";
+      "pubgrub-0.2.1" = "sha256-sqC7R2mtqymYFULDW0wSbM/MKCZc8rP7Yy/gaQpjYEI=";
     };
   };
 
@@ -68,6 +68,8 @@ rustPlatform.buildRustPackage rec {
     "--skip=test_compressed_mapping_catch_missing_package"
     "--skip=test_incremental_lock_file"
     "--skip=test_purl_are_added_for_pypi"
+
+    "--skip=test_task_with_env" # `/usr/bin/env` required
   ];
 
   postInstall = ''
diff --git a/pkgs/by-name/pl/plasticity/package.nix b/pkgs/by-name/pl/plasticity/package.nix
index d624184c9695b..672dc986d06b1 100644
--- a/pkgs/by-name/pl/plasticity/package.nix
+++ b/pkgs/by-name/pl/plasticity/package.nix
@@ -33,11 +33,11 @@
 }:
 stdenv.mkDerivation rec  {
   pname = "plasticity";
-  version = "1.4.19";
+  version = "1.4.20";
 
   src = fetchurl {
     url = "https://github.com/nkallen/plasticity/releases/download/v${version}/Plasticity-${version}-1.x86_64.rpm";
-    hash = "sha256-pbq00eMabouGP33d4wbjVvw+AZ+aBWg0e3lc3ZcAwmQ=";
+    hash = "sha256-i2n35UmRSEtkaPvJDPC2imYqgIx+qKu4bOaarYl9qQQ=";
   };
 
   passthru.updateScript = ./update.sh;
diff --git a/pkgs/by-name/po/polybar/package.nix b/pkgs/by-name/po/polybar/package.nix
index 613b75d646af7..870968ef658cf 100644
--- a/pkgs/by-name/po/polybar/package.nix
+++ b/pkgs/by-name/po/polybar/package.nix
@@ -102,7 +102,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   meta = with lib; {
     homepage = "https://polybar.github.io/";
-    changelog = "https://github.com/polybar/polybar/releases/tag/${version}";
+    changelog = "https://github.com/polybar/polybar/releases/tag/${finalAttrs.version}";
     description = "A fast and easy-to-use tool for creating status bars";
     longDescription = ''
       Polybar aims to help users build beautiful and highly customizable
@@ -111,6 +111,7 @@ stdenv.mkDerivation (finalAttrs: {
     '';
     license = licenses.mit;
     maintainers = with maintainers; [ afldcr Br1ght0ne moni ckie ];
+    mainProgram = "polybar";
     platforms = platforms.linux;
   };
 })
diff --git a/pkgs/by-name/po/powersploit/package.nix b/pkgs/by-name/po/powersploit/package.nix
index 8e33c26ae7383..a3a86cb75c008 100644
--- a/pkgs/by-name/po/powersploit/package.nix
+++ b/pkgs/by-name/po/powersploit/package.nix
@@ -16,9 +16,9 @@ stdenvNoCC.mkDerivation {
 
   installPhase = ''
     runHook preInstall
-    mkdir -p $out/share/powersploit
-    cp -a * $out/share/powersploit
-    find $out/share -type f -exec chmod -x {} \;
+    mkdir -p $out/share/windows/powersploit
+    cp -a * $out/share/windows/powersploit
+    find $out/share/windows -type f -exec chmod -x {} \;
     runHook postInstall
   '';
 
diff --git a/pkgs/by-name/pr/promptfoo/package.nix b/pkgs/by-name/pr/promptfoo/package.nix
index 322886aac67d4..8e9c6ceec3ad6 100644
--- a/pkgs/by-name/pr/promptfoo/package.nix
+++ b/pkgs/by-name/pr/promptfoo/package.nix
@@ -5,16 +5,16 @@
 
 buildNpmPackage rec {
   pname = "promptfoo";
-  version = "0.53.0";
+  version = "0.54.1";
 
   src = fetchFromGitHub {
     owner = "promptfoo";
     repo = "promptfoo";
     rev = "${version}";
-    hash = "sha256-ATZn33w58IjSGptxDhW7CdcI++aX8gw3GlOLSdYk2T4=";
+    hash = "sha256-ZDr2sJRiy26a+NPAcsqTTAuccQQmvmDdMtrr1FGzaSk=";
   };
 
-  npmDepsHash = "sha256-G7Fl66KPXRuHbdHCwaAqRO31Ff9VrzUWrq+XgGJFjtU=";
+  npmDepsHash = "sha256-ZPwEkhINT0sQc4BNUVbJzI1ffJZzXJa7Ld+0am6MYtM=";
 
   dontNpmBuild = true;
 
diff --git a/pkgs/by-name/pr/protoc-gen-js/package.nix b/pkgs/by-name/pr/protoc-gen-js/package.nix
index e9e8207b3cc99..0df0cb62a83e1 100644
--- a/pkgs/by-name/pr/protoc-gen-js/package.nix
+++ b/pkgs/by-name/pr/protoc-gen-js/package.nix
@@ -19,7 +19,7 @@ buildBazelPackage rec {
 
   LIBTOOL = lib.optionalString stdenv.isDarwin "${darwin.cctools}/bin/libtool";
 
-  fetchAttrs.sha256 = "sha256-H0zTMCMFct09WdR/mzcs9FcC2OU/ZhGye7GAkx4tGa8=";
+  fetchAttrs.sha256 = "sha256-WOBlZ0XNrl5UxIaSDxZeOfzS2a8ZkrKdTLKHBDC9UNQ=";
 
   buildAttrs.installPhase = ''
     mkdir -p $out/bin
diff --git a/pkgs/by-name/pw/pwndbg/package.nix b/pkgs/by-name/pw/pwndbg/package.nix
index 2967130b7fd10..473a401ce1c54 100644
--- a/pkgs/by-name/pw/pwndbg/package.nix
+++ b/pkgs/by-name/pw/pwndbg/package.nix
@@ -18,7 +18,7 @@ let
     python3.pkgs.ropgadget # ref: https://github.com/pwndbg/pwndbg/blob/2022.12.19/pwndbg/commands/rop.py#L32
   ]);
 in
-stdenv.mkDerivation rec {
+stdenv.mkDerivation {
   pname = "pwndbg";
   version = lib.getVersion pwndbg-py;
   format = "other";
@@ -31,20 +31,32 @@ stdenv.mkDerivation rec {
     runHook preInstall
 
     mkdir -p $out/share/pwndbg
-    cp gdbinit.py $out/share/pwndbg
+    cp gdbinit.py $out/share/pwndbg/gdbinit.py
     chmod +x $out/share/pwndbg/gdbinit.py
+    # First line is a import from future, so we need to append our imports after that
+    sed '2 i import sys, os
+    3 i [sys.path.append(p) for p in "${pythonPath}".split(":")]
+    4 i os.environ["PATH"] += ":${binPath}"' -i $out/share/pwndbg/gdbinit.py
 
     # Don't require an in-package venv
     touch $out/share/pwndbg/.skip-venv
 
     makeWrapper ${gdb}/bin/gdb $out/bin/pwndbg \
-      --add-flags "-q -x $out/share/pwndbg/gdbinit.py" \
-      --prefix PATH : ${binPath} \
-      --set PYTHONPATH ${pythonPath} \
+      --add-flags "-q -x $out/share/pwndbg/gdbinit.py"
 
     runHook postInstall
   '';
 
+  doInstallCheck = true;
+  installCheckPhase = ''
+    runHook preInstallCheck
+
+    # Check if pwndbg is installed correctly
+    HOME=$TMPDIR LC_CTYPE=C.UTF-8 $out/bin/pwndbg -ex exit
+
+    runHook postInstallCheck
+  '';
+
   meta = with lib; {
     description = "Exploit Development and Reverse Engineering with GDB Made Easy";
     mainProgram = "pwndbg";
diff --git a/pkgs/by-name/pw/pwru/package.nix b/pkgs/by-name/pw/pwru/package.nix
index d8dca376fc3ba..5f393ff9cee76 100644
--- a/pkgs/by-name/pw/pwru/package.nix
+++ b/pkgs/by-name/pw/pwru/package.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "pwru";
-  version = "1.0.5";
+  version = "1.0.6";
 
   src = fetchFromGitHub {
     owner = "cilium";
     repo = "pwru";
     rev = "v${version}";
-    hash = "sha256-2CpjTVBuiGU5cYkdSIxIpk1EoZAUhlXxVU+KJXHosiA=";
+    hash = "sha256-8pXyzmzMCxOzwstzvzeZB2HBMeMzGMLZesTURZD3Rt8=";
   };
 
   vendorHash = null;
diff --git a/pkgs/by-name/py/pyprland/package.nix b/pkgs/by-name/py/pyprland/package.nix
index 11a9f99af9c81..df30822582485 100644
--- a/pkgs/by-name/py/pyprland/package.nix
+++ b/pkgs/by-name/py/pyprland/package.nix
@@ -2,7 +2,7 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "pyprland";
-  version = "2.2.10";
+  version = "2.2.12";
   format = "pyproject";
 
   disabled = python3Packages.pythonOlder "3.10";
@@ -11,7 +11,7 @@ python3Packages.buildPythonApplication rec {
     owner = "hyprland-community";
     repo = "pyprland";
     rev = "refs/tags/${version}";
-    hash = "sha256-SOrkOLSjXq8PlZ894EKjfN+Dfnwa8dRgh5eOJVeD2Mk=";
+    hash = "sha256-SVly20/+67d0Rr2SuM1n/JfT1SlyKdKRBLDx2okCZRY=";
   };
 
   nativeBuildInputs = with python3Packages; [ poetry-core ];
diff --git a/pkgs/by-name/py/pyright/package.nix b/pkgs/by-name/py/pyright/package.nix
index 3e264bc20e819..f73cc100fbffb 100644
--- a/pkgs/by-name/py/pyright/package.nix
+++ b/pkgs/by-name/py/pyright/package.nix
@@ -1,13 +1,13 @@
 { lib, buildNpmPackage, fetchFromGitHub, runCommand, jq }:
 
 let
-  version = "1.1.359";
+  version = "1.1.360";
 
   src = fetchFromGitHub {
     owner = "Microsoft";
     repo = "pyright";
     rev = "${version}";
-    hash = "sha256-gqMAfmYjYO6D9sRu+uJv4yJ/+csioFAwsUPBDF29VDs=";
+    hash = "sha256-aVzQM9yfiIC5y7mgpym7ha2a4UKpOwYs+dUmIG0tlcQ=";
   };
 
   patchedPackageJSON = runCommand "package.json" { } ''
@@ -37,7 +37,7 @@ let
     pname = "pyright-internal";
     inherit version src;
     sourceRoot = "${src.name}/packages/pyright-internal";
-    npmDepsHash = "sha256-p2KamNFJ3sJHmJm0MEPhI8L/8zAVzfc9NYy24rAdFcQ=";
+    npmDepsHash = "sha256-lUAPeIw9sj3JyX8G8lMsJk3wf3AOlPRModN4u1iTpcQ=";
     dontNpmBuild = true;
     installPhase = ''
       runHook preInstall
@@ -51,7 +51,7 @@ buildNpmPackage rec {
   inherit version src;
 
   sourceRoot = "${src.name}/packages/pyright";
-  npmDepsHash = "sha256-U7WdMIYg9U4fJ8YtDruMzloRS2BQAa2QWExle9uwPbU=";
+  npmDepsHash = "sha256-CcjVFvEqi0f6ltY9O4c7pBFAuxuKgX9WMKZ9TCBYLyk=";
 
   postPatch = ''
     chmod +w ../../
diff --git a/pkgs/by-name/qr/qrtool/package.nix b/pkgs/by-name/qr/qrtool/package.nix
index f35e6a0ef153e..ff1e25ee27aca 100644
--- a/pkgs/by-name/qr/qrtool/package.nix
+++ b/pkgs/by-name/qr/qrtool/package.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "qrtool";
-  version = "0.10.8";
+  version = "0.10.10";
 
   src = fetchFromGitHub {
     owner = "sorairolake";
     repo = "qrtool";
     rev = "v${version}";
-    sha256 = "sha256-YNA8LdqkgScBAoLyWsr4JIeFcU4KfNAYByXSvaccOoU=";
+    sha256 = "sha256-2gUvnQjAA0nTeJL4IbsfCmeSD+mGKjywJCCi914f5mM=";
   };
 
-  cargoHash = "sha256-6yQVH15oW8dCjNKwL2Gb6IQKilVYokBs2j+M4fWLm+4=";
+  cargoHash = "sha256-M5G5f+aycpIbFaPbkUNalMK3if1PIAXD7MaNsLzdvI4=";
 
   nativeBuildInputs = [ asciidoctor installShellFiles ];
 
diff --git a/pkgs/by-name/qu/quarkus/package.nix b/pkgs/by-name/qu/quarkus/package.nix
index 5e6faa4316ba7..3a0528e6693e3 100644
--- a/pkgs/by-name/qu/quarkus/package.nix
+++ b/pkgs/by-name/qu/quarkus/package.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "quarkus-cli";
-  version = "3.9.4";
+  version = "3.9.5";
 
   src = fetchurl {
     url = "https://github.com/quarkusio/quarkus/releases/download/${finalAttrs.version}/quarkus-cli-${finalAttrs.version}.tar.gz";
-    hash = "sha256-ez4D+czYDhs/GNrjRF8Bx999JRW0EigMxc39fOH54V8=";
+    hash = "sha256-3vcuf49gutlXbFT5mUuZw9fDjyvb0Q+lXyn4n+RcLdU=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/by-name/qu/quickjs-ng/package.nix b/pkgs/by-name/qu/quickjs-ng/package.nix
index 88b46c8377f27..33a057dc6fac7 100644
--- a/pkgs/by-name/qu/quickjs-ng/package.nix
+++ b/pkgs/by-name/qu/quickjs-ng/package.nix
@@ -46,7 +46,7 @@ stdenv.mkDerivation (finalAttrs: {
     description = "A mighty JavaScript engine";
     homepage = "https://github.com/quickjs-ng/quickjs";
     license = licenses.mit;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.all;
     mainProgram = "qjs";
   };
diff --git a/pkgs/by-name/qu/quicktype/package.nix b/pkgs/by-name/qu/quicktype/package.nix
index fb4a801af6bd4..ecf33e6e92a57 100644
--- a/pkgs/by-name/qu/quicktype/package.nix
+++ b/pkgs/by-name/qu/quicktype/package.nix
@@ -29,7 +29,7 @@ buildNpmPackage rec {
     description = "Generate types and converters from JSON, Schema, and GraphQL";
     homepage = "https://quicktype.io/";
     license = licenses.asl20;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     mainProgram = "quicktype";
   };
 }
diff --git a/pkgs/by-name/ra/rage/package.nix b/pkgs/by-name/ra/rage/package.nix
index bd3fb0a2ead05..3c33b5025fc10 100644
--- a/pkgs/by-name/ra/rage/package.nix
+++ b/pkgs/by-name/ra/rage/package.nix
@@ -43,7 +43,7 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/str4d/rage";
     changelog = "https://github.com/str4d/rage/blob/v${version}/rage/CHANGELOG.md";
     license = with licenses; [ asl20 mit ]; # either at your option
-    maintainers = with maintainers; [ marsam ryantm ];
+    maintainers = with maintainers; [ ryantm ];
     mainProgram = "rage";
   };
 }
diff --git a/pkgs/by-name/re/regal/package.nix b/pkgs/by-name/re/regal/package.nix
new file mode 100644
index 0000000000000..70f6058c674a7
--- /dev/null
+++ b/pkgs/by-name/re/regal/package.nix
@@ -0,0 +1,23 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  name = "regal";
+  version = "0.21.2";
+
+  src = fetchFromGitHub {
+    owner = "StyraInc";
+    repo = "regal";
+    rev = "v${version}";
+    hash = "sha256-YGUXJ5rfzyLwqhOLBuIRdN1G0fTcrPmuIsYKS/CzzW4=";
+  };
+
+  vendorHash = "sha256-5rj2dCWya24VUmIFf0oJQop80trq9NnqqFlBW/A6opk=";
+
+  meta = with lib; {
+    description = "a linter and language server for Rego";
+    mainProgram = "regal";
+    homepage = "https://github.com/StyraInc/regal";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ rinx ];
+  };
+}
diff --git a/pkgs/by-name/re/renode-unstable/package.nix b/pkgs/by-name/re/renode-unstable/package.nix
index 3eb909bc63466..dd971a8df0feb 100644
--- a/pkgs/by-name/re/renode-unstable/package.nix
+++ b/pkgs/by-name/re/renode-unstable/package.nix
@@ -5,11 +5,11 @@
 
 renode.overrideAttrs (finalAttrs: _: {
   pname = "renode-unstable";
-  version = "1.15.0+20240418git228a25674";
+  version = "1.15.0+20240426git72f3c383b";
 
   src = fetchurl {
     url = "https://builds.renode.io/renode-${finalAttrs.version}.linux-portable.tar.gz";
-    hash = "sha256-v8fWQQM2NZkE+Wsg8pyww6esYLggJzehavqIhzI+EaQ=";
+    hash = "sha256-BOQT5nG6Vu12RyAkCwnh6PYfNQTcYGdV4XHDpi/8kPE=";
   };
 
   passthru.updateScript =
diff --git a/pkgs/by-name/re/retool/package.nix b/pkgs/by-name/re/retool/package.nix
index 18a982176d9c7..3ab52687cd2c9 100644
--- a/pkgs/by-name/re/retool/package.nix
+++ b/pkgs/by-name/re/retool/package.nix
@@ -5,9 +5,9 @@
 , qt6
 }:
 
-python3.pkgs.buildPythonApplication {
+python3.pkgs.buildPythonApplication rec {
   pname = "retool";
-  version = "2.02.2-unstable-2024-03-17";
+  version = "2.3.6";
 
   pyproject = true;
   disabled = python3.pkgs.pythonOlder "3.10";
@@ -15,12 +15,13 @@ python3.pkgs.buildPythonApplication {
   src = fetchFromGitHub {
     owner = "unexpectedpanda";
     repo = "retool";
-    rev = "30d547c7d04b8cbf7710b2037388bf18a00a0c22";
-    hash = "sha256-5Tmi3eVJh9STP9A0dDNPDs4SlIWHw8sk+g1GgpnmqeE=";
+    rev = "v${version}";
+    hash = "sha256-6RE2sbL8e9D+czFebLagRiw2wmU78TbajIs9VdFgF0Q=";
   };
 
   nativeBuildInputs = with python3.pkgs; [
     hatchling
+    pythonRelaxDepsHook
     qt6.wrapQtAppsHook
   ];
 
diff --git a/pkgs/by-name/ri/rifiuti/package.nix b/pkgs/by-name/ri/rifiuti/package.nix
new file mode 100644
index 0000000000000..d1134e2288212
--- /dev/null
+++ b/pkgs/by-name/ri/rifiuti/package.nix
@@ -0,0 +1,64 @@
+{ lib
+, stdenv
+, fetchzip
+, fetchurl
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "rifiuti";
+  version = "20040505_1";
+
+  src = fetchzip {
+    url = "mirror://sourceforge/project/odessa/Rifiuti/${finalAttrs.version}/rifiuti_${finalAttrs.version}.zip";
+    hash = "sha256-bVPz0nXexGtQtXxGb3Mc79tzyZikc7KxNNWuvgu6pQ0=";
+  };
+
+  patches = [
+    (fetchurl {
+      name = "add-GCC-hardening.patch";
+      url = "https://salsa.debian.org/pkg-security-team/rifiuti/-/raw/f237358a91b12776beb9942c79ccb3aea180968a/debian/patches/add-GCC-hardening";
+      hash = "sha256-Z4UajJ8WydoCKjkG4q7WsBSXWwkM8B6UXBoWN1Qas60=";
+    })
+    (fetchurl {
+      name = "fix-bts-crash-on-malformed-file.patch";
+      url = "https://salsa.debian.org/pkg-security-team/rifiuti/-/raw/5b51604942b518b7752843cf7d693f202dc9c6f1/debian/patches/fix-bts-crash-on-malformed-file.patch";
+      hash = "sha256-1kZKC6qIGpCl1zOvKiWh6FcyYX3WozHBSPBHUsL2eMI=";
+    })
+    (fetchurl {
+      name = "fix-warnings";
+      url = "https://salsa.debian.org/pkg-security-team/rifiuti/-/raw/f237358a91b12776beb9942c79ccb3aea180968a/debian/patches/fix-warnings";
+      hash = "sha256-9/OckpNqZQdkmNsUeHUEi6wT12mBd7aMA5dKgQAxXq8=";
+    })
+    (fetchurl {
+      name = "use-CC-and-abort-on-error.patch";
+      url = "https://salsa.debian.org/pkg-security-team/rifiuti/-/raw/5bd48acbcb63cee324556c4ec29750ce1e41755c/debian/patches/use-CC-and-abort-on-error.patch";
+      hash = "sha256-RE4Vswtc887neJ3yAe0YWcs5YtZbwd1UtcTF4zBsmlo=";
+    })
+  ];
+
+  postPatch = ''
+    substituteInPlace src/Makefile \
+      --replace-fail gcc cc
+  '';
+
+  makeFlags = [
+    "-C src"
+  ];
+
+  enableParallelBuilding = true;
+
+  installPhase = ''
+    runHook preInstall
+    install -D bin/rifiuti $out/bin/rifiuti
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Analyze Windows Recycle Bin INFO2 file";
+    mainProgram = "rifiuti";
+    homepage = "https://sourceforge.net/projects/odessa/files/Rifiuti";
+    maintainers = with maintainers; [ d3vil0p3r ];
+    platforms = platforms.unix;
+    license = licenses.bsd3;
+  };
+})
diff --git a/pkgs/by-name/ri/ripsecrets/package.nix b/pkgs/by-name/ri/ripsecrets/package.nix
index d578a13eadaa2..540eb3a8d9e5d 100644
--- a/pkgs/by-name/ri/ripsecrets/package.nix
+++ b/pkgs/by-name/ri/ripsecrets/package.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "ripsecrets";
-  version = "0.1.7";
+  version = "0.1.8";
 
   src = fetchFromGitHub {
     owner = "sirwart";
     repo = "ripsecrets";
     rev = "v${version}";
-    hash = "sha256-NDSMxIq6eBXOv/mI662vsIIOfWQEzQ5fDGznC4+gFyE=";
+    hash = "sha256-MyFeSEZAG99g1Uh8KVA7CSZZVXUOF2qYJ0o1YviiPp4=";
   };
 
-  cargoHash = "sha256-vp2gQUf6TWFkJ09STOlqlEB+jsGrVGAmix2eSgBDG/o=";
+  cargoHash = "sha256-BKq1ttf8ctXvIbhKxHwCpjeiRKqSyN5+kP2k4CV511I=";
 
   meta = with lib; {
     description = "A command-line tool to prevent committing secret keys into your source code";
diff --git a/pkgs/by-name/rm/rmenu/Cargo.lock b/pkgs/by-name/rm/rmenu/Cargo.lock
index 33210d3b2f2d8..6ed58a03c5e40 100644
--- a/pkgs/by-name/rm/rmenu/Cargo.lock
+++ b/pkgs/by-name/rm/rmenu/Cargo.lock
@@ -76,9 +76,9 @@ dependencies = [
 
 [[package]]
 name = "anyhow"
-version = "1.0.81"
+version = "1.0.82"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0952808a6c2afd1aa8947271f3a60f1a6763c7b912d210184c5149b5cf147247"
+checksum = "f538837af36e6f6a9be0faa67f9a314f8119e4e4b5867c6ab40ed60360142519"
 
 [[package]]
 name = "arrayref"
@@ -105,27 +105,26 @@ dependencies = [
 
 [[package]]
 name = "async-channel"
-version = "2.2.0"
+version = "2.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f28243a43d821d11341ab73c80bed182dc015c514b951616cf79bd4af39af0c3"
+checksum = "136d4d23bcc79e27423727b36823d86233aad06dfea531837b038394d11e9928"
 dependencies = [
  "concurrent-queue",
  "event-listener 5.3.0",
- "event-listener-strategy 0.5.1",
+ "event-listener-strategy 0.5.2",
  "futures-core",
  "pin-project-lite",
 ]
 
 [[package]]
 name = "async-executor"
-version = "1.10.0"
+version = "1.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f98c37cf288e302c16ef6c8472aad1e034c6c84ce5ea7b8101c98eb4a802fee"
+checksum = "b10202063978b3351199d68f8b22c4e47e4b1b822f8d43fd862d5ea8c006b29a"
 dependencies = [
- "async-lock 3.3.0",
  "async-task",
  "concurrent-queue",
- "fastrand 2.0.2",
+ "fastrand 2.1.0",
  "futures-lite 2.3.0",
  "slab",
 ]
@@ -136,7 +135,7 @@ version = "2.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "05b1b633a2115cd122d73b955eadd9916c18c8f510ec9cd1686404c60ad1c29c"
 dependencies = [
- "async-channel 2.2.0",
+ "async-channel 2.2.1",
  "async-executor",
  "async-io 2.3.2",
  "async-lock 3.3.0",
@@ -177,8 +176,8 @@ dependencies = [
  "futures-io",
  "futures-lite 2.3.0",
  "parking",
- "polling 3.6.0",
- "rustix 0.38.32",
+ "polling 3.7.0",
+ "rustix 0.38.34",
  "slab",
  "tracing",
  "windows-sys 0.52.0",
@@ -232,19 +231,19 @@ dependencies = [
 
 [[package]]
 name = "async-task"
-version = "4.7.0"
+version = "4.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fbb36e985947064623dbd357f727af08ffd077f93d696782f3c56365fa2e2799"
+checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de"
 
 [[package]]
 name = "async-trait"
-version = "0.1.79"
+version = "0.1.80"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a507401cad91ec6a857ed5513a2073c82a9b9048762b885bb98655b306964681"
+checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -357,18 +356,16 @@ dependencies = [
 
 [[package]]
 name = "blocking"
-version = "1.5.1"
+version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118"
+checksum = "495f7104e962b7356f0aeb34247aca1fe7d2e783b346582db7f2904cb5717e88"
 dependencies = [
- "async-channel 2.2.0",
+ "async-channel 2.2.1",
  "async-lock 3.3.0",
  "async-task",
- "fastrand 2.0.2",
  "futures-io",
  "futures-lite 2.3.0",
  "piper",
- "tracing",
 ]
 
 [[package]]
@@ -489,9 +486,9 @@ dependencies = [
 
 [[package]]
 name = "cc"
-version = "1.0.92"
+version = "1.0.95"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2678b2e3449475e95b0aa6f9b506a28e61b3dc8996592b983695e8ebb58a8b41"
+checksum = "d32a725bc159af97c3e629873bb9f88fb8cf8a4867175f76dc987815ea07c83b"
 
 [[package]]
 name = "cesu8"
@@ -512,9 +509,9 @@ dependencies = [
 
 [[package]]
 name = "cfg-expr"
-version = "0.15.7"
+version = "0.15.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa50868b64a9a6fda9d593ce778849ea8715cd2a3d2cc17ffdb4a2f2f2f1961d"
+checksum = "d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02"
 dependencies = [
  "smallvec",
  "target-lexicon",
@@ -557,7 +554,7 @@ dependencies = [
  "heck 0.5.0",
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -610,9 +607,9 @@ checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
 
 [[package]]
 name = "combine"
-version = "4.6.6"
+version = "4.6.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4"
+checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd"
 dependencies = [
  "bytes",
  "memchr",
@@ -620,9 +617,9 @@ dependencies = [
 
 [[package]]
 name = "concurrent-queue"
-version = "2.4.0"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363"
+checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973"
 dependencies = [
  "crossbeam-utils",
 ]
@@ -772,7 +769,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331"
 dependencies = [
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -843,7 +840,7 @@ dependencies = [
  "ident_case",
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -876,7 +873,7 @@ checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f"
 dependencies = [
  "darling_core 0.20.8",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -900,7 +897,7 @@ dependencies = [
 
 [[package]]
 name = "desktop"
-version = "0.0.1"
+version = "0.0.2"
 dependencies = [
  "freedesktop-desktop-entry",
  "freedesktop-icons",
@@ -968,7 +965,7 @@ dependencies = [
  "prettyplease",
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -1079,7 +1076,7 @@ dependencies = [
  "dioxus-core",
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -1161,9 +1158,9 @@ checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b"
 
 [[package]]
 name = "either"
-version = "1.10.0"
+version = "1.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a"
+checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2"
 
 [[package]]
 name = "enumset"
@@ -1183,7 +1180,7 @@ dependencies = [
  "darling 0.20.8",
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -1265,9 +1262,9 @@ dependencies = [
 
 [[package]]
 name = "event-listener-strategy"
-version = "0.5.1"
+version = "0.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "332f51cb23d20b0de8458b86580878211da09bcd4503cb579c225b3d124cabb3"
+checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1"
 dependencies = [
  "event-listener 5.3.0",
  "pin-project-lite",
@@ -1284,9 +1281,9 @@ dependencies = [
 
 [[package]]
 name = "fastrand"
-version = "2.0.2"
+version = "2.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "658bd65b1cf4c852a3cc96f18a8ce7b5640f6b703f905c7d74532294c2a63984"
+checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a"
 
 [[package]]
 name = "fdeflate"
@@ -1309,9 +1306,9 @@ dependencies = [
 
 [[package]]
 name = "flate2"
-version = "1.0.28"
+version = "1.0.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e"
+checksum = "4556222738635b7a3417ae6130d8f52201e45a0c4d1a907f0826383adb5f85e7"
 dependencies = [
  "crc32fast",
  "miniz_oxide",
@@ -1480,7 +1477,7 @@ version = "2.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5"
 dependencies = [
- "fastrand 2.0.2",
+ "fastrand 2.1.0",
  "futures-core",
  "futures-io",
  "parking",
@@ -1495,7 +1492,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -1822,7 +1819,7 @@ dependencies = [
  "proc-macro-error",
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -2324,9 +2321,9 @@ dependencies = [
 
 [[package]]
 name = "lock_api"
-version = "0.4.11"
+version = "0.4.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
+checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17"
 dependencies = [
  "autocfg",
  "scopeguard",
@@ -2674,9 +2671,9 @@ checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae"
 
 [[package]]
 name = "parking_lot"
-version = "0.12.1"
+version = "0.12.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
+checksum = "7e4af0ca4f6caed20e900d564c242b8e5d4903fdacf31d3daf527b66fe6f42fb"
 dependencies = [
  "lock_api",
  "parking_lot_core",
@@ -2684,15 +2681,15 @@ dependencies = [
 
 [[package]]
 name = "parking_lot_core"
-version = "0.9.9"
+version = "0.9.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
+checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8"
 dependencies = [
  "cfg-if",
  "libc",
  "redox_syscall",
  "smallvec",
- "windows-targets 0.48.5",
+ "windows-targets 0.52.5",
 ]
 
 [[package]]
@@ -2799,7 +2796,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4"
 dependencies = [
  "atomic-waker",
- "fastrand 2.0.2",
+ "fastrand 2.1.0",
  "futures-io",
 ]
 
@@ -2840,15 +2837,15 @@ dependencies = [
 
 [[package]]
 name = "polling"
-version = "3.6.0"
+version = "3.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e0c976a60b2d7e99d6f229e414670a9b85d13ac305cc6d1e9c134de58c5aaaf6"
+checksum = "645493cf344456ef24219d02a768cf1fb92ddf8c92161679ae3d91b91a637be3"
 dependencies = [
  "cfg-if",
  "concurrent-queue",
  "hermit-abi",
  "pin-project-lite",
- "rustix 0.38.32",
+ "rustix 0.38.34",
  "tracing",
  "windows-sys 0.52.0",
 ]
@@ -2867,12 +2864,12 @@ checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"
 
 [[package]]
 name = "prettyplease"
-version = "0.2.17"
+version = "0.2.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8d3928fb5db768cb86f891ff014f0144589297e3c6a1aba6ed7cecfdace270c7"
+checksum = "5ac2cf0f2e4f42b49f5ffd07dae8d746508ef7526c13940e5f524012ae6c6550"
 dependencies = [
  "proc-macro2",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -2917,9 +2914,9 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068"
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.79"
+version = "1.0.81"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e"
+checksum = "3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba"
 dependencies = [
  "unicode-ident",
 ]
@@ -2935,9 +2932,9 @@ dependencies = [
 
 [[package]]
 name = "quote"
-version = "1.0.35"
+version = "1.0.36"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
+checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7"
 dependencies = [
  "proc-macro2",
 ]
@@ -3037,11 +3034,11 @@ checksum = "3b42e27ef78c35d3998403c1d26f3efd9e135d3e5121b0a4845cc5cc27547f4f"
 
 [[package]]
 name = "redox_syscall"
-version = "0.4.1"
+version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
+checksum = "469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.5.0",
 ]
 
 [[package]]
@@ -3137,7 +3134,7 @@ dependencies = [
 
 [[package]]
 name = "rmenu"
-version = "1.2.1"
+version = "1.2.2"
 dependencies = [
  "cached 0.44.0",
  "clap",
@@ -3257,9 +3254,9 @@ dependencies = [
 
 [[package]]
 name = "rustix"
-version = "0.38.32"
+version = "0.38.34"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "65e04861e65f21776e67888bfbea442b3642beaa0138fdb1dd7a84a52dffdb89"
+checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f"
 dependencies = [
  "bitflags 2.5.0",
  "errno",
@@ -3333,9 +3330,9 @@ checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca"
 
 [[package]]
 name = "serde"
-version = "1.0.197"
+version = "1.0.199"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2"
+checksum = "0c9f6e76df036c77cd94996771fb40db98187f096dd0b9af39c6c6e452ba966a"
 dependencies = [
  "serde_derive",
 ]
@@ -3352,20 +3349,20 @@ dependencies = [
 
 [[package]]
 name = "serde_derive"
-version = "1.0.197"
+version = "1.0.199"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
+checksum = "11bd257a6541e141e42ca6d24ae26f7714887b47e89aa739099104c7e4d3b7fc"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.115"
+version = "1.0.116"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12dc5c46daa8e9fdf4f5e71b6cf9a53f2487da0e86e55808e2d35539666497dd"
+checksum = "3e17db7126d17feb94eb3fad46bf1a96b034e8aacbc2e775fe81505f8b0b2813"
 dependencies = [
  "itoa 1.0.11",
  "ryu",
@@ -3380,7 +3377,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -3639,9 +3636,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.58"
+version = "2.0.60"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44cfb93f38070beee36b3fef7d4f5a16f27751d94b187b666a5cc5e9b0d30687"
+checksum = "909518bc7b1c9b779f1bbf07f2929d35af9f0f37e47c6e9ef7f9dddc1e1821f3"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -3774,22 +3771,22 @@ checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c"
 
 [[package]]
 name = "thiserror"
-version = "1.0.58"
+version = "1.0.59"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297"
+checksum = "f0126ad08bff79f29fc3ae6a55cc72352056dfff61e3ff8bb7129476d44b23aa"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.58"
+version = "1.0.59"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7"
+checksum = "d1cd413b5d558b4c5bf3680e324a6fa5014e7b7c067a51e69dbdf47eb7148b66"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -3870,7 +3867,7 @@ checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -3891,7 +3888,7 @@ dependencies = [
  "serde",
  "serde_spanned",
  "toml_datetime",
- "toml_edit 0.22.9",
+ "toml_edit 0.22.12",
 ]
 
 [[package]]
@@ -3916,15 +3913,15 @@ dependencies = [
 
 [[package]]
 name = "toml_edit"
-version = "0.22.9"
+version = "0.22.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e40bb779c5187258fd7aad0eb68cb8706a0a81fa712fbea808ab43c4b8374c4"
+checksum = "d3328d4f68a705b2a4498da1d580585d39a6510f98318a2cec3018a7ec61ddef"
 dependencies = [
  "indexmap",
  "serde",
  "serde_spanned",
  "toml_datetime",
- "winnow 0.6.5",
+ "winnow 0.6.7",
 ]
 
 [[package]]
@@ -3946,7 +3943,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -4211,7 +4208,7 @@ dependencies = [
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
  "wasm-bindgen-shared",
 ]
 
@@ -4245,7 +4242,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
@@ -4268,9 +4265,9 @@ dependencies = [
 
 [[package]]
 name = "webbrowser"
-version = "0.8.14"
+version = "0.8.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd595fb70f33583ac61644820ebc144a26c96028b625b96cafcd861f4743fbc8"
+checksum = "db67ae75a9405634f5882791678772c94ff5f16a66535aae186e26aa0841fc8b"
 dependencies = [
  "core-foundation",
  "home",
@@ -4380,7 +4377,7 @@ dependencies = [
  "either",
  "home",
  "once_cell",
- "rustix 0.38.32",
+ "rustix 0.38.34",
 ]
 
 [[package]]
@@ -4401,11 +4398,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
 
 [[package]]
 name = "winapi-util"
-version = "0.1.6"
+version = "0.1.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
+checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b"
 dependencies = [
- "winapi",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -4498,7 +4495,7 @@ version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
 dependencies = [
- "windows-targets 0.52.4",
+ "windows-targets 0.52.5",
 ]
 
 [[package]]
@@ -4533,17 +4530,18 @@ dependencies = [
 
 [[package]]
 name = "windows-targets"
-version = "0.52.4"
+version = "0.52.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b"
+checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb"
 dependencies = [
- "windows_aarch64_gnullvm 0.52.4",
- "windows_aarch64_msvc 0.52.4",
- "windows_i686_gnu 0.52.4",
- "windows_i686_msvc 0.52.4",
- "windows_x86_64_gnu 0.52.4",
- "windows_x86_64_gnullvm 0.52.4",
- "windows_x86_64_msvc 0.52.4",
+ "windows_aarch64_gnullvm 0.52.5",
+ "windows_aarch64_msvc 0.52.5",
+ "windows_i686_gnu 0.52.5",
+ "windows_i686_gnullvm",
+ "windows_i686_msvc 0.52.5",
+ "windows_x86_64_gnu 0.52.5",
+ "windows_x86_64_gnullvm 0.52.5",
+ "windows_x86_64_msvc 0.52.5",
 ]
 
 [[package]]
@@ -4566,9 +4564,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
 
 [[package]]
 name = "windows_aarch64_gnullvm"
-version = "0.52.4"
+version = "0.52.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9"
+checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263"
 
 [[package]]
 name = "windows_aarch64_msvc"
@@ -4584,9 +4582,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
 
 [[package]]
 name = "windows_aarch64_msvc"
-version = "0.52.4"
+version = "0.52.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675"
+checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6"
 
 [[package]]
 name = "windows_i686_gnu"
@@ -4602,9 +4600,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
 
 [[package]]
 name = "windows_i686_gnu"
-version = "0.52.4"
+version = "0.52.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3"
+checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670"
+
+[[package]]
+name = "windows_i686_gnullvm"
+version = "0.52.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9"
 
 [[package]]
 name = "windows_i686_msvc"
@@ -4620,9 +4624,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
 
 [[package]]
 name = "windows_i686_msvc"
-version = "0.52.4"
+version = "0.52.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02"
+checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf"
 
 [[package]]
 name = "windows_x86_64_gnu"
@@ -4638,9 +4642,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
 
 [[package]]
 name = "windows_x86_64_gnu"
-version = "0.52.4"
+version = "0.52.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03"
+checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
@@ -4656,9 +4660,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
-version = "0.52.4"
+version = "0.52.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177"
+checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596"
 
 [[package]]
 name = "windows_x86_64_msvc"
@@ -4674,9 +4678,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
 
 [[package]]
 name = "windows_x86_64_msvc"
-version = "0.52.4"
+version = "0.52.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8"
+checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0"
 
 [[package]]
 name = "winnow"
@@ -4689,9 +4693,9 @@ dependencies = [
 
 [[package]]
 name = "winnow"
-version = "0.6.5"
+version = "0.6.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dffa400e67ed5a4dd237983829e66475f0a4a26938c4b04c21baede6262215b8"
+checksum = "14b9415ee827af173ebb3f15f9083df5a122eb93572ec28741fb153356ea2578"
 dependencies = [
  "memchr",
 ]
diff --git a/pkgs/by-name/rm/rmenu/package.nix b/pkgs/by-name/rm/rmenu/package.nix
index 15de597438fa5..a7a11f750540d 100644
--- a/pkgs/by-name/rm/rmenu/package.nix
+++ b/pkgs/by-name/rm/rmenu/package.nix
@@ -11,13 +11,13 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "rmenu";
-  version = "1.2.1";
+  version = "1.2.2";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "imgurbot12";
     repo = "rmenu";
-    hash = "sha256-JHJZfDxrDi0rJSloPdOVdvo/XkrFhvshd7yZWn/zELU=";
+    hash = "sha256-khauloUGVuekR+Lran1DLnsxwY8sIf5PsEKY7sNy1K4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/ro/route-graph/package.nix b/pkgs/by-name/ro/route-graph/package.nix
index 7b5e20451a984..36158282f783b 100644
--- a/pkgs/by-name/ro/route-graph/package.nix
+++ b/pkgs/by-name/ro/route-graph/package.nix
@@ -6,22 +6,26 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "route-graph";
-  version = "0.2.1";
+  version = "0.2.2";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "audiusGmbH";
     repo = "route-graph";
     rev = "refs/tags/${version}";
-    hash = "sha256-OOXLmHxWre5t4tysDXV23PTkyUG6Zcpanw0fVCOLFTM=";
+    hash = "sha256-HmfmUeT5vt0yWVs7GhIPVt4NZtTfe7HYPLRqfQE/tZM=";
   };
 
   pythonRelaxDeps = [
+    "typer"
     "typing-extensions"
   ];
 
-  nativeBuildInputs = with python3.pkgs; [
+  build-system = with python3.pkgs; [
     poetry-core
+  ];
+
+  nativeBuildInputs = with python3.pkgs; [
     pythonRelaxDepsHook
   ];
 
diff --git a/pkgs/by-name/rp/rpcs3/package.nix b/pkgs/by-name/rp/rpcs3/package.nix
index e6812eaa013e3..a9e4fbb5713f2 100644
--- a/pkgs/by-name/rp/rpcs3/package.nix
+++ b/pkgs/by-name/rp/rpcs3/package.nix
@@ -32,10 +32,10 @@
 
 let
   # Keep these separate so the update script can regex them
-  rpcs3GitVersion = "16364-dff7352e2";
-  rpcs3Version = "0.0.31-16364-dff7352e2";
-  rpcs3Revision = "dff7352e2eca04ebdddff21e44c1130dcc13f0aa";
-  rpcs3Hash = "sha256-kylHB5rtNH1dnx/kn1zwJ6dgnvgt9awvaz2eKzKDjxQ=";
+  rpcs3GitVersion = "16377-08c3a38b6";
+  rpcs3Version = "0.0.31-16377-08c3a38b6";
+  rpcs3Revision = "08c3a38b6788d9cd4f0bb7310c22a7fd05dc3ba2";
+  rpcs3Hash = "sha256-GOKbznr1X+5nunbjfL9TZ9it/IPvV5mnpc0cbuGHDHw=";
 
   inherit (qt6Packages) qtbase qtmultimedia wrapQtAppsHook qtwayland;
 in
diff --git a/pkgs/by-name/rq/rqbit/Cargo.lock b/pkgs/by-name/rq/rqbit/Cargo.lock
index a24314e30eb91..e8515b5987b25 100644
--- a/pkgs/by-name/rq/rqbit/Cargo.lock
+++ b/pkgs/by-name/rq/rqbit/Cargo.lock
@@ -91,9 +91,9 @@ dependencies = [
 
 [[package]]
 name = "anyhow"
-version = "1.0.81"
+version = "1.0.82"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0952808a6c2afd1aa8947271f3a60f1a6763c7b912d210184c5149b5cf147247"
+checksum = "f538837af36e6f6a9be0faa67f9a314f8119e4e4b5867c6ab40ed60360142519"
 
 [[package]]
 name = "async-recursion"
@@ -130,9 +130,9 @@ dependencies = [
 
 [[package]]
 name = "async-trait"
-version = "0.1.79"
+version = "0.1.80"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a507401cad91ec6a857ed5513a2073c82a9b9048762b885bb98655b306964681"
+checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -186,7 +186,7 @@ dependencies = [
  "http 1.1.0",
  "http-body 1.0.0",
  "http-body-util",
- "hyper 1.2.0",
+ "hyper 1.3.1",
  "hyper-util",
  "itoa",
  "matchit",
@@ -199,7 +199,7 @@ dependencies = [
  "serde_json",
  "serde_path_to_error",
  "serde_urlencoded",
- "sync_wrapper 1.0.0",
+ "sync_wrapper 1.0.1",
  "tokio",
  "tower",
  "tower-layer",
@@ -327,9 +327,9 @@ dependencies = [
 
 [[package]]
 name = "bumpalo"
-version = "3.15.4"
+version = "3.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ff69b9dd49fd426c69a0db9fc04dd934cdb6645ff000864d98f7e2af8830eaa"
+checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"
 
 [[package]]
 name = "byteorder"
@@ -345,9 +345,9 @@ checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9"
 
 [[package]]
 name = "cc"
-version = "1.0.90"
+version = "1.0.95"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5"
+checksum = "d32a725bc159af97c3e629873bb9f88fb8cf8a4867175f76dc987815ea07c83b"
 
 [[package]]
 name = "cfg-if"
@@ -357,9 +357,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 
 [[package]]
 name = "chrono"
-version = "0.4.37"
+version = "0.4.38"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a0d04d43504c61aa6c7531f1871dd0d418d91130162063b789da00fd7057a5e"
+checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401"
 dependencies = [
  "android-tzdata",
  "iana-time-zone",
@@ -367,7 +367,7 @@ dependencies = [
  "num-traits",
  "serde",
  "wasm-bindgen",
- "windows-targets 0.52.4",
+ "windows-targets 0.52.5",
 ]
 
 [[package]]
@@ -643,15 +643,15 @@ dependencies = [
 
 [[package]]
 name = "either"
-version = "1.10.0"
+version = "1.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a"
+checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2"
 
 [[package]]
 name = "encoding_rs"
-version = "0.8.33"
+version = "0.8.34"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1"
+checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59"
 dependencies = [
  "cfg-if",
 ]
@@ -840,9 +840,9 @@ dependencies = [
 
 [[package]]
 name = "getrandom"
-version = "0.2.13"
+version = "0.2.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a06fddc2749e0528d2813f95e050e87e52c8cbbae56223b9babf73b3e53b0cc6"
+checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c"
 dependencies = [
  "cfg-if",
  "libc",
@@ -1042,9 +1042,9 @@ dependencies = [
 
 [[package]]
 name = "hyper"
-version = "1.2.0"
+version = "1.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "186548d73ac615b32a73aafe38fb4f56c0d340e110e5a200bcadbaf2e199263a"
+checksum = "fe575dd17d0862a9a33781c8c4696a55c320909004a67a00fb286ba8b1bc496d"
 dependencies = [
  "bytes",
  "futures-channel",
@@ -1069,7 +1069,7 @@ checksum = "a0bea761b46ae2b24eb4aef630d8d1c398157b6fc29e6350ecf090a0b70c952c"
 dependencies = [
  "futures-util",
  "http 1.1.0",
- "hyper 1.2.0",
+ "hyper 1.3.1",
  "hyper-util",
  "rustls",
  "rustls-pki-types",
@@ -1098,7 +1098,7 @@ checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0"
 dependencies = [
  "bytes",
  "http-body-util",
- "hyper 1.2.0",
+ "hyper 1.3.1",
  "hyper-util",
  "native-tls",
  "tokio",
@@ -1117,7 +1117,7 @@ dependencies = [
  "futures-util",
  "http 1.1.0",
  "http-body 1.0.0",
- "hyper 1.2.0",
+ "hyper 1.3.1",
  "pin-project-lite",
  "socket2",
  "tokio",
@@ -1261,7 +1261,7 @@ dependencies = [
 
 [[package]]
 name = "librqbit"
-version = "5.6.0"
+version = "5.6.1"
 dependencies = [
  "anyhow",
  "async-stream",
@@ -1384,7 +1384,7 @@ dependencies = [
 
 [[package]]
 name = "librqbit-peer-protocol"
-version = "3.5.2"
+version = "3.5.3"
 dependencies = [
  "anyhow",
  "bincode",
@@ -1843,9 +1843,9 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.79"
+version = "1.0.81"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e"
+checksum = "3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba"
 dependencies = [
  "unicode-ident",
 ]
@@ -1884,9 +1884,9 @@ dependencies = [
 
 [[package]]
 name = "quote"
-version = "1.0.35"
+version = "1.0.36"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
+checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7"
 dependencies = [
  "proc-macro2",
 ]
@@ -1993,9 +1993,9 @@ checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56"
 
 [[package]]
 name = "reqwest"
-version = "0.12.3"
+version = "0.12.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3e6cc1e89e689536eb5aeede61520e874df5a4707df811cd5da4aa5fbb2aae19"
+checksum = "566cafdd92868e0939d3fb961bd0dc25fcfaaed179291093b3d43e6b3150ea10"
 dependencies = [
  "base64 0.22.0",
  "bytes",
@@ -2006,7 +2006,7 @@ dependencies = [
  "http 1.1.0",
  "http-body 1.0.0",
  "http-body-util",
- "hyper 1.2.0",
+ "hyper 1.3.1",
  "hyper-rustls",
  "hyper-tls",
  "hyper-util",
@@ -2064,7 +2064,7 @@ dependencies = [
 
 [[package]]
 name = "rqbit"
-version = "5.6.0"
+version = "5.6.1"
 dependencies = [
  "anyhow",
  "bytes",
@@ -2093,9 +2093,9 @@ checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
 
 [[package]]
 name = "rustix"
-version = "0.38.32"
+version = "0.38.34"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "65e04861e65f21776e67888bfbea442b3642beaa0138fdb1dd7a84a52dffdb89"
+checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f"
 dependencies = [
  "bitflags 2.5.0",
  "errno",
@@ -2106,9 +2106,9 @@ dependencies = [
 
 [[package]]
 name = "rustls"
-version = "0.22.3"
+version = "0.22.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "99008d7ad0bbbea527ec27bddbc0e432c5b87d8175178cee68d2eec9c4a1813c"
+checksum = "bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432"
 dependencies = [
  "log",
  "ring",
@@ -2120,25 +2120,25 @@ dependencies = [
 
 [[package]]
 name = "rustls-pemfile"
-version = "2.1.1"
+version = "2.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f48172685e6ff52a556baa527774f61fcaa884f59daf3375c62a3f1cd2549dab"
+checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d"
 dependencies = [
- "base64 0.21.7",
+ "base64 0.22.0",
  "rustls-pki-types",
 ]
 
 [[package]]
 name = "rustls-pki-types"
-version = "1.4.1"
+version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ecd36cc4259e3e4514335c4a138c6b43171a8d61d8f5c9348f9fc7529416f247"
+checksum = "beb461507cee2c2ff151784c52762cf4d9ff6a61f3e80968600ed24fa837fa54"
 
 [[package]]
 name = "rustls-webpki"
-version = "0.102.2"
+version = "0.102.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "faaa0a62740bedb9b2ef5afa303da42764c012f743917351dc9a237ea1663610"
+checksum = "f3bce581c0dd41bce533ce695a1437fa16a7ab5ac3ccfa99fe1a620a7885eabf"
 dependencies = [
  "ring",
  "rustls-pki-types",
@@ -2147,9 +2147,9 @@ dependencies = [
 
 [[package]]
 name = "rustversion"
-version = "1.0.14"
+version = "1.0.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4"
+checksum = "80af6f9131f277a45a3fba6ce8e2258037bb0477a67e610d3c1fe046ab31de47"
 
 [[package]]
 name = "ryu"
@@ -2197,9 +2197,9 @@ dependencies = [
 
 [[package]]
 name = "serde"
-version = "1.0.197"
+version = "1.0.198"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2"
+checksum = "9846a40c979031340571da2545a4e5b7c4163bdae79b301d5f86d03979451fcc"
 dependencies = [
  "serde_derive",
 ]
@@ -2218,9 +2218,9 @@ dependencies = [
 
 [[package]]
 name = "serde_derive"
-version = "1.0.197"
+version = "1.0.198"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
+checksum = "e88edab869b01783ba905e7d0153f9fc1a6505a96e4ad3018011eedb838566d9"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -2229,9 +2229,9 @@ dependencies = [
 
 [[package]]
 name = "serde_json"
-version = "1.0.115"
+version = "1.0.116"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12dc5c46daa8e9fdf4f5e71b6cf9a53f2487da0e86e55808e2d35539666497dd"
+checksum = "3e17db7126d17feb94eb3fad46bf1a96b034e8aacbc2e775fe81505f8b0b2813"
 dependencies = [
  "itoa",
  "ryu",
@@ -2365,9 +2365,9 @@ checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc"
 
 [[package]]
 name = "syn"
-version = "2.0.58"
+version = "2.0.60"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44cfb93f38070beee36b3fef7d4f5a16f27751d94b187b666a5cc5e9b0d30687"
+checksum = "909518bc7b1c9b779f1bbf07f2929d35af9f0f37e47c6e9ef7f9dddc1e1821f3"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -2382,9 +2382,9 @@ checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160"
 
 [[package]]
 name = "sync_wrapper"
-version = "1.0.0"
+version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "384595c11a4e2969895cad5a8c4029115f5ab956a9e5ef4de79d11a426e5f20c"
+checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394"
 
 [[package]]
 name = "system-configuration"
@@ -2427,18 +2427,18 @@ dependencies = [
 
 [[package]]
 name = "thiserror"
-version = "1.0.58"
+version = "1.0.59"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297"
+checksum = "f0126ad08bff79f29fc3ae6a55cc72352056dfff61e3ff8bb7129476d44b23aa"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.58"
+version = "1.0.59"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7"
+checksum = "d1cd413b5d558b4c5bf3680e324a6fa5014e7b7c067a51e69dbdf47eb7148b66"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -2467,9 +2467,9 @@ dependencies = [
 
 [[package]]
 name = "time"
-version = "0.3.34"
+version = "0.3.36"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749"
+checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885"
 dependencies = [
  "deranged",
  "itoa",
@@ -2488,9 +2488,9 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
 
 [[package]]
 name = "time-macros"
-version = "0.2.17"
+version = "0.2.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774"
+checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf"
 dependencies = [
  "num-conv",
  "time-core",
@@ -2978,7 +2978,7 @@ version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
 dependencies = [
- "windows-targets 0.52.4",
+ "windows-targets 0.52.5",
 ]
 
 [[package]]
@@ -2996,7 +2996,7 @@ version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
 dependencies = [
- "windows-targets 0.52.4",
+ "windows-targets 0.52.5",
 ]
 
 [[package]]
@@ -3016,17 +3016,18 @@ dependencies = [
 
 [[package]]
 name = "windows-targets"
-version = "0.52.4"
+version = "0.52.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b"
+checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb"
 dependencies = [
- "windows_aarch64_gnullvm 0.52.4",
- "windows_aarch64_msvc 0.52.4",
- "windows_i686_gnu 0.52.4",
- "windows_i686_msvc 0.52.4",
- "windows_x86_64_gnu 0.52.4",
- "windows_x86_64_gnullvm 0.52.4",
- "windows_x86_64_msvc 0.52.4",
+ "windows_aarch64_gnullvm 0.52.5",
+ "windows_aarch64_msvc 0.52.5",
+ "windows_i686_gnu 0.52.5",
+ "windows_i686_gnullvm",
+ "windows_i686_msvc 0.52.5",
+ "windows_x86_64_gnu 0.52.5",
+ "windows_x86_64_gnullvm 0.52.5",
+ "windows_x86_64_msvc 0.52.5",
 ]
 
 [[package]]
@@ -3037,9 +3038,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
 
 [[package]]
 name = "windows_aarch64_gnullvm"
-version = "0.52.4"
+version = "0.52.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9"
+checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263"
 
 [[package]]
 name = "windows_aarch64_msvc"
@@ -3049,9 +3050,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
 
 [[package]]
 name = "windows_aarch64_msvc"
-version = "0.52.4"
+version = "0.52.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675"
+checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6"
 
 [[package]]
 name = "windows_i686_gnu"
@@ -3061,9 +3062,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
 
 [[package]]
 name = "windows_i686_gnu"
-version = "0.52.4"
+version = "0.52.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670"
+
+[[package]]
+name = "windows_i686_gnullvm"
+version = "0.52.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3"
+checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9"
 
 [[package]]
 name = "windows_i686_msvc"
@@ -3073,9 +3080,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
 
 [[package]]
 name = "windows_i686_msvc"
-version = "0.52.4"
+version = "0.52.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02"
+checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf"
 
 [[package]]
 name = "windows_x86_64_gnu"
@@ -3085,9 +3092,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
 
 [[package]]
 name = "windows_x86_64_gnu"
-version = "0.52.4"
+version = "0.52.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03"
+checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
@@ -3097,9 +3104,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
-version = "0.52.4"
+version = "0.52.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177"
+checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596"
 
 [[package]]
 name = "windows_x86_64_msvc"
@@ -3109,9 +3116,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
 
 [[package]]
 name = "windows_x86_64_msvc"
-version = "0.52.4"
+version = "0.52.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8"
+checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0"
 
 [[package]]
 name = "winreg"
diff --git a/pkgs/by-name/rq/rqbit/package.nix b/pkgs/by-name/rq/rqbit/package.nix
index 6ce43d31dbdbf..0aece0632d191 100644
--- a/pkgs/by-name/rq/rqbit/package.nix
+++ b/pkgs/by-name/rq/rqbit/package.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rqbit";
-  version = "5.6.0";
+  version = "5.6.1";
 
   src = fetchFromGitHub {
     owner = "ikatson";
     repo = "rqbit";
     rev = "v${version}";
-    hash = "sha256-KpwKSbj9B/O/RBO1PLkcYguZiuxrGcYyX3Wt4sQhe2o=";
+    hash = "sha256-SRom/rLyF7R+ESWsAKeLLujvuj5w7+Evlsm+8BKe2f0=";
   };
 
   cargoLock = {
@@ -30,7 +30,7 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/ikatson/rqbit";
     changelog = "https://github.com/ikatson/rqbit/releases/tag/v${version}";
     license = licenses.asl20;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ cafkafk ];
     mainProgram = "rqbit";
   };
 }
diff --git a/pkgs/by-name/sc/scalingo/package.nix b/pkgs/by-name/sc/scalingo/package.nix
index 38f1a8691c517..db17f1fad6ebd 100644
--- a/pkgs/by-name/sc/scalingo/package.nix
+++ b/pkgs/by-name/sc/scalingo/package.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "scalingo";
-  version = "1.31.0";
+  version = "1.32.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = "cli";
     rev = version;
-    hash = "sha256-Y162BHTlerTbsRJ1KhT82iBMv+jI7Rq+h8JfBIV0uIs=";
+    hash = "sha256-kursqM0/HxTnEvrVxEd4YUiIG4I974JKZqkQTqP00ko=";
   };
 
   vendorHash = null;
diff --git a/pkgs/by-name/se/sendme/package.nix b/pkgs/by-name/se/sendme/package.nix
index 21091bfec2114..e73983bb00789 100644
--- a/pkgs/by-name/se/sendme/package.nix
+++ b/pkgs/by-name/se/sendme/package.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "sendme";
-  version = "0.5.0";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "n0-computer";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-y34x4XLIWsxS5+R+6rAejz0z6TCTxoQYPosXmpt9234=";
+    hash = "sha256-zUI9o3UWufl8NadwMeWsnoSuW8++tFw8NvzA6OdlkMI=";
   };
 
-  cargoHash = "sha256-q4U4w4STs+34gJNyIibitf6RMvH6P/kBDZlOcwFrOxw=";
+  cargoHash = "sha256-NuPBoMSB4Dr26O9IspFLPBzoUJljDjGZCXRyUIxa3IU=";
 
   buildInputs = lib.optionals stdenv.isDarwin (
     with darwin.apple_sdk.frameworks; [
diff --git a/pkgs/by-name/sh/shopware-cli/package.nix b/pkgs/by-name/sh/shopware-cli/package.nix
index e37237ea289b7..b0918dcf1e962 100644
--- a/pkgs/by-name/sh/shopware-cli/package.nix
+++ b/pkgs/by-name/sh/shopware-cli/package.nix
@@ -9,18 +9,18 @@
 
 buildGoModule rec {
   pname = "shopware-cli";
-  version = "0.4.36";
+  version = "0.4.40";
   src = fetchFromGitHub {
     repo = "shopware-cli";
     owner = "FriendsOfShopware";
     rev = version;
-    hash = "sha256-14Za64G/UpFa6Dfyx7EAQqXMmCWyl5MIQEdutqMQrxE=";
+    hash = "sha256-ZyLEv9yWBoDDliMcb8DBvq+7VXva50No9GX/xyIZCcM=";
   };
 
   nativeBuildInputs = [ installShellFiles makeWrapper ];
   nativeCheckInputs = [ git dart-sass ];
 
-  vendorHash = "sha256-Zl84hA2YPG4p3t0V8ZPnLYGz4ggoTSln/koC40nbNZ4=";
+  vendorHash = "sha256-K6JcwZ7u/CYCY+Kpi3Ju6b5hZnyjs/fUTkRtZ9IEAS0=";
 
   postInstall = ''
     export HOME="$(mktemp -d)"
diff --git a/pkgs/by-name/si/simdutf/package.nix b/pkgs/by-name/si/simdutf/package.nix
index f523ebe50da5e..734081ea5b473 100644
--- a/pkgs/by-name/si/simdutf/package.nix
+++ b/pkgs/by-name/si/simdutf/package.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "simdutf";
-  version = "5.2.5";
+  version = "5.2.6";
 
   src = fetchFromGitHub {
     owner = "simdutf";
     repo = "simdutf";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-X/mpVmZ9FyN5MOcQRT1CjH5wsirSQ4rqdPE0lM5meT8=";
+    hash = "sha256-fbDQPHoGqbojvhsMOrg/gMMQJ8bODV/P53F05yIHcTQ=";
   };
 
   # Fix build on darwin
diff --git a/pkgs/by-name/si/simplex-chat-desktop/package.nix b/pkgs/by-name/si/simplex-chat-desktop/package.nix
index 1868e2669cdb5..ad15cd9cb1ee6 100644
--- a/pkgs/by-name/si/simplex-chat-desktop/package.nix
+++ b/pkgs/by-name/si/simplex-chat-desktop/package.nix
@@ -28,8 +28,6 @@ in appimageTools.wrapType2 {
     ];
 
     extraInstallCommands = ''
-      mv $out/bin/${pname}-${version} $out/bin/${pname}
-
       install --mode=444 -D ${appimageContents}/chat.simplex.app.desktop --target-directory=$out/share/applications
       substituteInPlace $out/share/applications/chat.simplex.app.desktop \
         --replace 'Exec=simplex' 'Exec=${pname}'
diff --git a/pkgs/by-name/si/simplotask/package.nix b/pkgs/by-name/si/simplotask/package.nix
index a3ec04ca5da49..d08d53ed88c4e 100644
--- a/pkgs/by-name/si/simplotask/package.nix
+++ b/pkgs/by-name/si/simplotask/package.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "simplotask";
-  version = "1.15.0";
+  version = "1.16.0";
 
   src = fetchFromGitHub {
     owner = "umputun";
     repo = "spot";
     rev = "v${version}";
-    hash = "sha256-pd6bue/uo6+ZBaN7ZKf/byuPOKOLZdCQau7I7F+iZb0=";
+    hash = "sha256-VnQIg5HXZZwvYpaYDF1CIphLtE4S+1zADE1WnicXOSQ=";
   };
 
   vendorHash = null;
diff --git a/pkgs/data/fonts/sketchybar-app-font/default.nix b/pkgs/by-name/sk/sketchybar-app-font/package.nix
index ff1a2fe7c742c..ff1a2fe7c742c 100644
--- a/pkgs/data/fonts/sketchybar-app-font/default.nix
+++ b/pkgs/by-name/sk/sketchybar-app-font/package.nix
diff --git a/pkgs/os-specific/darwin/sketchybar/default.nix b/pkgs/by-name/sk/sketchybar/package.nix
index 0cc820986c088..37a9849b2830c 100644
--- a/pkgs/os-specific/darwin/sketchybar/default.nix
+++ b/pkgs/by-name/sk/sketchybar/package.nix
@@ -1,27 +1,37 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, AppKit
-, Carbon
-, CoreAudio
-, CoreWLAN
-, CoreVideo
-, DisplayServices
-, IOKit
-, MediaRemote
-, SkyLight
-, testers
-, nix-update-script
+{
+  lib,
+  overrideSDK,
+  stdenv,
+  darwin,
+  fetchFromGitHub,
+  testers,
+  nix-update-script,
 }:
 
 let
   inherit (stdenv.hostPlatform) system;
-  target = {
-    "aarch64-darwin" = "arm64";
-    "x86_64-darwin" = "x86";
-  }.${system} or (throw "Unsupported system: ${system}");
+  inherit (darwin.apple_sdk_11_0.frameworks)
+    AppKit
+    Carbon
+    CoreAudio
+    CoreWLAN
+    CoreVideo
+    DisplayServices
+    IOKit
+    MediaRemote
+    SkyLight
+    ;
+
+  target =
+    {
+      "aarch64-darwin" = "arm64";
+      "x86_64-darwin" = "x86";
+    }
+    .${system} or (throw "Unsupported system: ${system}");
+
+  stdenv' = if stdenv.isDarwin then overrideSDK stdenv "11.0" else stdenv;
 in
-stdenv.mkDerivation (finalAttrs: {
+stdenv'.mkDerivation (finalAttrs: {
   pname = "sketchybar";
   version = "2.21.0";
 
@@ -44,9 +54,7 @@ stdenv.mkDerivation (finalAttrs: {
     SkyLight
   ];
 
-  makeFlags = [
-    target
-  ];
+  makeFlags = [ target ];
 
   installPhase = ''
     runHook preInstall
@@ -71,7 +79,10 @@ stdenv.mkDerivation (finalAttrs: {
     homepage = "https://github.com/FelixKratz/SketchyBar";
     license = lib.licenses.gpl3;
     mainProgram = "sketchybar";
-    maintainers = with lib.maintainers; [ azuwis khaneliman ];
+    maintainers = with lib.maintainers; [
+      azuwis
+      khaneliman
+    ];
     platforms = lib.platforms.darwin;
   };
 })
diff --git a/pkgs/os-specific/darwin/skhd/org.nixos.skhd.plist b/pkgs/by-name/sk/skhd/org.nixos.skhd.plist
index e6624487740bc..e6624487740bc 100644
--- a/pkgs/os-specific/darwin/skhd/org.nixos.skhd.plist
+++ b/pkgs/by-name/sk/skhd/org.nixos.skhd.plist
diff --git a/pkgs/os-specific/darwin/skhd/default.nix b/pkgs/by-name/sk/skhd/package.nix
index 539e90562ec71..d3b3b9adb96a9 100644
--- a/pkgs/os-specific/darwin/skhd/default.nix
+++ b/pkgs/by-name/sk/skhd/package.nix
@@ -1,13 +1,18 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, Carbon
-, Cocoa
-, testers
-, nix-update-script
+{
+  lib,
+  overrideSDK,
+  stdenv,
+  darwin,
+  fetchFromGitHub,
+  testers,
+  nix-update-script,
 }:
+let
+  inherit (darwin.apple_sdk_11_0.frameworks) Carbon Cocoa;
 
-stdenv.mkDerivation (finalAttrs: {
+  stdenv' = if stdenv.isDarwin then overrideSDK stdenv "11.0" else stdenv;
+in
+stdenv'.mkDerivation (finalAttrs: {
   pname = "skhd";
   version = "0.3.9";
 
@@ -23,9 +28,7 @@ stdenv.mkDerivation (finalAttrs: {
     Cocoa
   ];
 
-  makeFlags = [
-    "BUILD_PATH=$(out)/bin"
-  ];
+  makeFlags = [ "BUILD_PATH=$(out)/bin" ];
 
   env.NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration";
 
@@ -49,7 +52,12 @@ stdenv.mkDerivation (finalAttrs: {
     homepage = "https://github.com/koekeishiya/skhd";
     license = lib.licenses.mit;
     mainProgram = "skhd";
-    maintainers = with lib.maintainers; [ cmacrae lnl7 periklis khaneliman ];
+    maintainers = with lib.maintainers; [
+      cmacrae
+      lnl7
+      periklis
+      khaneliman
+    ];
     platforms = lib.platforms.darwin;
   };
 })
diff --git a/pkgs/by-name/sk/skimpdf/package.nix b/pkgs/by-name/sk/skimpdf/package.nix
new file mode 100644
index 0000000000000..0be793c9cb15f
--- /dev/null
+++ b/pkgs/by-name/sk/skimpdf/package.nix
@@ -0,0 +1,36 @@
+{ stdenv
+, lib
+, undmg
+, fetchurl
+}:
+stdenv.mkDerivation rec {
+  pname = "Skim";
+  version = "1.7.2";
+
+  src = fetchurl {
+    name = "Skim-${version}.dmg";
+    url = "mirror://sourceforge/project/skim-app/Skim/Skim-${version}/Skim-${version}.dmg";
+    sha256 = "t/A3Bd7mQ8hFGdbpQou4ru9i5jX4HaYOXgMvfPAUEYc=";
+  };
+
+  nativeBuildInputs = [ undmg ];
+
+  sourceRoot = ".";
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/Applications
+    cp -R Skim.app $out/Applications
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Skim is a PDF reader and note-taker for OS X";
+    homepage = "https://skim-app.sourceforge.io/";
+    license = licenses.bsd0;
+    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
+    mainProgram = "Skim.app";
+    maintainers = with maintainers; [ YvesStraten ];
+    platforms = platforms.darwin;
+  };
+}
diff --git a/pkgs/by-name/sl/slimserver/package.nix b/pkgs/by-name/sl/slimserver/package.nix
index 94b13c99e9dce..4e5b2e45fd31a 100644
--- a/pkgs/by-name/sl/slimserver/package.nix
+++ b/pkgs/by-name/sl/slimserver/package.nix
@@ -1,109 +1,124 @@
-{ faad2
-, fetchFromGitHub
-, flac
-, lame
-, lib
-, makeWrapper
-, monkeysAudio
-, nixosTests
-, perlPackages
-, sox
-, stdenv
-, wavpack
-, zlib
-, enableUnfreeFirmware ? false
+{
+  faad2,
+  fetchFromGitHub,
+  flac,
+  lame,
+  lib,
+  makeWrapper,
+  monkeysAudio,
+  nixosTests,
+  perlPackages,
+  sox,
+  stdenv,
+  wavpack,
+  zlib,
+  enableUnfreeFirmware ? false,
 }:
 
 let
-  binPath = lib.makeBinPath ([ lame flac faad2 sox wavpack ] ++ (lib.optional stdenv.isLinux monkeysAudio));
-  libPath = lib.makeLibraryPath [ zlib stdenv.cc.cc.lib ];
+  binPath = lib.makeBinPath (
+    [
+      lame
+      flac
+      faad2
+      sox
+      wavpack
+    ]
+    ++ (lib.optional stdenv.isLinux monkeysAudio)
+  );
+  libPath = lib.makeLibraryPath [
+    zlib
+    stdenv.cc.cc.lib
+  ];
 in
 perlPackages.buildPerlPackage rec {
   pname = "slimserver";
-  version = "8.5.0";
+  version = "8.5.1";
 
   src = fetchFromGitHub {
     owner = "LMS-Community";
     repo = "slimserver";
     rev = version;
-    hash = "sha256-yDJVqZ0+qVm4r/wmQK/hf9uRJaN56WQMO28RE59mNNI=";
+    hash = "sha256-ULyYZC0/ruJCdwR6cxvBRV1S3DTBJiNua64foi80qvI=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
 
-  buildInputs = with perlPackages; [
-    AnyEvent
-    ArchiveZip
-    AsyncUtil
-    AudioScan
-    CarpClan
-    CGI
-    ClassAccessor
-    ClassAccessorChained
-    ClassC3
-    # ClassC3Componentised # Error: DBIx::Class::Row::throw_exception(): DBIx::Class::Relationship::BelongsTo::belongs_to(): Can't infer join condition for track
-    ClassDataInheritable
-    ClassInspector
-    ClassISA
-    ClassMember
-    ClassSingleton
-    ClassVirtual
-    ClassXSAccessor
-    CompressRawZlib
-    CryptOpenSSLRSA
-    DataDump
-    DataPage
-    DataURIEncode
-    DBDSQLite
-    DBI
-    # DBIxClass # https://github.com/LMS-Community/slimserver/issues/138
-    DigestSHA1
-    EncodeDetect
-    EV
-    ExporterLite
-    FileBOM
-    FileCopyRecursive
-    FileNext
-    FileReadBackwards
-    FileSlurp
-    FileWhich
-    HTMLParser
-    HTTPCookies
-    HTTPDaemon
-    HTTPMessage
-    ImageScale
-    IOAIO
-    IOInterface
-    IOSocketSSL
-    IOString
-    JSONXS
-    JSONXSVersionOneAndTwo
-    # LogLog4perl # Internal error: Root Logger not initialized.
-    LWP
-    LWPProtocolHttps
-    MP3CutGapless
-    NetHTTP
-    NetHTTPSNB
-    PathClass
-    ProcBackground
-    # SQLAbstract # DBI Exception: DBD::SQLite::db prepare_cached failed: no such function: ARRAY
-    SQLAbstractLimit
-    SubName
-    TemplateToolkit
-    TextUnidecode
-    TieCacheLRU
-    TieCacheLRUExpires
-    TieRegexpHash
-    TimeDate
-    URI
-    URIFind
-    UUIDTiny
-    XMLParser
-    XMLSimple
-    YAMLLibYAML
-  ]
-  # ++ (lib.optional stdenv.isDarwin perlPackages.MacFSEvents)
-  ++ (lib.optional stdenv.isLinux perlPackages.LinuxInotify2);
+  buildInputs =
+    with perlPackages;
+    [
+      AnyEvent
+      ArchiveZip
+      AsyncUtil
+      AudioScan
+      CarpClan
+      CGI
+      ClassAccessor
+      ClassAccessorChained
+      ClassC3
+      # ClassC3Componentised # Error: DBIx::Class::Row::throw_exception(): DBIx::Class::Relationship::BelongsTo::belongs_to(): Can't infer join condition for track
+      ClassDataInheritable
+      ClassInspector
+      ClassISA
+      ClassMember
+      ClassSingleton
+      ClassVirtual
+      ClassXSAccessor
+      CompressRawZlib
+      CryptOpenSSLRSA
+      DataDump
+      DataPage
+      DataURIEncode
+      DBDSQLite
+      DBI
+      # DBIxClass # https://github.com/LMS-Community/slimserver/issues/138
+      DigestSHA1
+      EncodeDetect
+      EV
+      ExporterLite
+      FileBOM
+      FileCopyRecursive
+      FileNext
+      FileReadBackwards
+      FileSlurp
+      FileWhich
+      HTMLParser
+      HTTPCookies
+      HTTPDaemon
+      HTTPMessage
+      ImageScale
+      IOAIO
+      IOInterface
+      IOSocketSSL
+      IOString
+      JSONXS
+      JSONXSVersionOneAndTwo
+      # LogLog4perl # Internal error: Root Logger not initialized.
+      LWP
+      LWPProtocolHttps
+      MP3CutGapless
+      NetHTTP
+      NetHTTPSNB
+      PathClass
+      ProcBackground
+      # SQLAbstract # DBI Exception: DBD::SQLite::db prepare_cached failed: no such function: ARRAY
+      SQLAbstractLimit
+      SubName
+      TemplateToolkit
+      TextUnidecode
+      TieCacheLRU
+      TieCacheLRUExpires
+      TieRegexpHash
+      TimeDate
+      URI
+      URIFind
+      UUIDTiny
+      XMLParser
+      XMLSimple
+      YAMLLibYAML
+    ]
+    # ++ (lib.optional stdenv.isDarwin perlPackages.MacFSEvents)
+    ++ (lib.optional stdenv.isLinux perlPackages.LinuxInotify2);
 
   prePatch = ''
     # remove vendored binaries
@@ -151,14 +166,17 @@ perlPackages.buildPerlPackage rec {
   };
 
   meta = with lib; {
-    homepage = "https://github.com/LMS-Community/slimserver";
+    homepage = "https://lyrion.org/";
     changelog = "https://github.com/LMS-Community/slimserver/blob/${version}/Changelog${lib.versions.major version}.html";
-    description = "Server for Logitech Squeezebox players. This server is also called Logitech Media Server";
+    description = "Lyrion Music Server (formerly Logitech Media Server) is open-source server software which controls a wide range of Squeezebox audio players.";
     # the firmware is not under a free license, so we do not include firmware in the default package
     # https://github.com/LMS-Community/slimserver/blob/public/8.3/License.txt
     license = if enableUnfreeFirmware then licenses.unfree else licenses.gpl2Only;
     mainProgram = "slimserver";
-    maintainers = with maintainers; [ adamcstephens jecaro ];
+    maintainers = with maintainers; [
+      adamcstephens
+      jecaro
+    ];
     platforms = platforms.unix;
     broken = stdenv.isDarwin;
   };
diff --git a/pkgs/by-name/sn/snapcraft/package.nix b/pkgs/by-name/sn/snapcraft/package.nix
index 57e16a1a138c9..b66180a22fc8e 100644
--- a/pkgs/by-name/sn/snapcraft/package.nix
+++ b/pkgs/by-name/sn/snapcraft/package.nix
@@ -11,7 +11,7 @@
 }:
 python3Packages.buildPythonApplication rec {
   pname = "snapcraft";
-  version = "8.2.0";
+  version = "8.2.1";
 
   pyproject = true;
 
@@ -24,7 +24,7 @@ python3Packages.buildPythonApplication rec {
     owner = "canonical";
     repo = "snapcraft";
     rev = "refs/tags/${version}";
-    hash = "sha256-uRapRL+492FOju83o3OBsYK52hwOOG6b4EbdMVpAlBs=";
+    hash = "sha256-PVJVvkc/LtGFbs93OWmkopaAXZFudLJedpmetrjU010=";
   };
 
   patches = [
diff --git a/pkgs/applications/emulators/snes9x/default.nix b/pkgs/by-name/sn/snes9x/package.nix
index 8f374b7e18183..c3d19bac383b8 100644
--- a/pkgs/applications/emulators/snes9x/default.nix
+++ b/pkgs/by-name/sn/snes9x/package.nix
@@ -1,46 +1,44 @@
-{ lib
-, stdenv
-, alsa-lib
-, cmake
-, fetchFromGitHub
-, gtkmm3
-, libepoxy
-, libpng
-, libselinux
-, libX11
-, libXdmcp
-, libXext
-, libXinerama
-, libXrandr
-, libXv
-, minizip
-, ninja
-, pcre2
-, pkg-config
-, portaudio
-, pulseaudio
-, python3
-, SDL2
-, util-linuxMinimal
-, wrapGAppsHook
-, zlib
-, withGtk ? false
+{
+  lib,
+  SDL2,
+  alsa-lib,
+  cmake,
+  fetchFromGitHub,
+  gtkmm3,
+  libX11,
+  libXdmcp,
+  libXext,
+  libXinerama,
+  libXrandr,
+  libXv,
+  libepoxy,
+  libpng,
+  libselinux,
+  minizip,
+  ninja,
+  pcre2,
+  pkg-config,
+  portaudio,
+  pulseaudio,
+  python3,
+  stdenv,
+  util-linuxMinimal,
+  wrapGAppsHook,
+  zlib,
+  # Boolean flags
+  withGtk ? false,
 }:
 
-stdenv.mkDerivation rec {
-  pname =
-    if withGtk then
-      "snes9x-gtk"
-    else
-      "snes9x";
-  version = "1.62.3";
+stdenv.mkDerivation (finalAttrs: {
+  pname = "snes9x" + lib.optionalString withGtk "-gtk";
+  version = "1.62.3-unstable-2024-04-22";
 
   src = fetchFromGitHub {
     owner = "snes9xgit";
     repo = "snes9x";
-    rev = version;
+    rev = "582128bce7ccf4e3cf7848ae9f6a729a1ebad4c4";
     fetchSubmodules = true;
-    hash = "sha256-+KHpvz7nfwGXjzDAK/V+2JDRT1sa0kXDkg7XcRyvSP8=";
+    hash = "sha256-fJ1g/L7oA9bhEawTsWjfLl1dDIKEGI+pcpWQCTutyR8=";
   };
 
   nativeBuildInputs = [
@@ -59,10 +57,11 @@ stdenv.mkDerivation rec {
     minizip
     zlib
   ]
-  # on non-Linux platforms this will build without sound support on X11 build
   ++ lib.optionals stdenv.isLinux [
     alsa-lib
     pulseaudio
+    libselinux
+    util-linuxMinimal # provides libmount
   ]
   ++ lib.optionals (!withGtk) [
     libpng
@@ -72,42 +71,43 @@ stdenv.mkDerivation rec {
   ++ lib.optionals withGtk [
     gtkmm3
     libepoxy
-    libselinux
     libXdmcp
     libXrandr
     pcre2
     portaudio
     SDL2
-    util-linuxMinimal # provides libmount
   ];
 
-  configureFlags =
-    lib.optional stdenv.hostPlatform.sse4_1Support "--enable-sse41"
-    ++ lib.optional stdenv.hostPlatform.avx2Support "--enable-avx2";
+  hardeningDisable = [ "format" ];
+
+  configureFlags = lib.optionals stdenv.hostPlatform.sse4_1Support [
+    "--enable-sse41"
+  ]
+  ++ lib.optionals stdenv.hostPlatform.avx2Support [
+    "--enable-avx2"
+  ];
+
+  preConfigure = ''
+    cd ${if withGtk then "gtk" else "unix"}
+  '';
 
   installPhase = lib.optionalString (!withGtk) ''
     runHook preInstall
 
     install -Dm755 snes9x -t "$out/bin/"
-    install -Dm644 snes9x.conf.default -t "$out/share/doc/${pname}/"
+    install -Dm644 snes9x.conf.default -t "$out/share/doc/${finalAttrs.pname}/"
     install -Dm644 ../docs/{control-inputs,controls,snapshots}.txt -t \
-      "$out/share/doc/${pname}/"
+      "$out/share/doc/${finalAttrs.pname}/"
 
     runHook postInstall
   '';
 
-  preConfigure = if withGtk then "cd gtk" else "cd unix";
-
-  enableParallelBuilding = true;
-
-  meta = with lib;
-    let
-      interface = if withGtk then "GTK" else "X11";
-    in
+  meta = let
+    interface = if withGtk then "GTK" else "X11";
+  in
     {
       homepage = "https://www.snes9x.com";
       description = "Super Nintendo Entertainment System (SNES) emulator, ${interface} version";
-
       longDescription = ''
         Snes9x is a portable, freeware Super Nintendo Entertainment System (SNES)
         emulator. It basically allows you to play most games designed for the SNES
@@ -116,13 +116,16 @@ stdenv.mkDerivation rec {
 
         Version build with ${interface} interface.
       '';
-
-      license = licenses.unfreeRedistributable // {
-        url = "https://github.com/snes9xgit/snes9x/blob/${version}/LICENSE";
+      license = lib.licenses.unfreeRedistributable // {
+        url = "https://github.com/snes9xgit/snes9x/blob/${finalAttrs.src.rev}/LICENSE";
       };
-      maintainers = with maintainers; [ qknight thiagokokada ];
-      platforms = platforms.unix;
-      broken = (withGtk && stdenv.isDarwin);
       mainProgram = "snes9x";
+      maintainers = with lib.maintainers; [
+        AndersonTorres
+        qknight
+        thiagokokada
+      ];
+      platforms = lib.platforms.unix;
+      broken = (withGtk && stdenv.isDarwin);
     };
-}
+})
diff --git a/pkgs/by-name/sn/snipe-it/package.nix b/pkgs/by-name/sn/snipe-it/package.nix
index ee8abb0554fce..32d0778e423fc 100644
--- a/pkgs/by-name/sn/snipe-it/package.nix
+++ b/pkgs/by-name/sn/snipe-it/package.nix
@@ -53,7 +53,7 @@ php.buildComposerProject (finalAttrs: {
       Details for snipe-it can be found on the official website at https://snipeitapp.com/.
     '';
     homepage = "https://snipeitapp.com/";
-    changelog = "https://github.com/snipe/snipe-it/releases/tag/v${version}";
+    changelog = "https://github.com/snipe/snipe-it/releases/tag/v${finalAttrs.version}";
     license = licenses.agpl3Only;
     maintainers = with maintainers; [ yayayayaka ];
     platforms = platforms.linux;
diff --git a/pkgs/by-name/so/solana-cli/package.nix b/pkgs/by-name/so/solana-cli/package.nix
index e1a0ae412c900..b4a56dda78c96 100644
--- a/pkgs/by-name/so/solana-cli/package.nix
+++ b/pkgs/by-name/so/solana-cli/package.nix
@@ -6,7 +6,7 @@
 , udev
 , protobuf
 , libcxx
-, rocksdb
+, rocksdb_8_3
 , installShellFiles
 , pkg-config
 , openssl
@@ -33,6 +33,7 @@
 let
   version = "1.17.31";
   sha256 = "sha256-5qPW199o+CVJlqGwiAegsquBRWEb5uDKITxjN5dQYAQ=";
+  rocksdb = rocksdb_8_3;
 
   inherit (darwin.apple_sdk_11_0) Libsystem;
   inherit (darwin.apple_sdk_11_0.frameworks) System IOKit AppKit Security;
diff --git a/pkgs/by-name/so/soupault/package.nix b/pkgs/by-name/so/soupault/package.nix
index f14774c4865ad..a3d9257d3e310 100644
--- a/pkgs/by-name/so/soupault/package.nix
+++ b/pkgs/by-name/so/soupault/package.nix
@@ -7,13 +7,9 @@
 , testers
 }:
 
-let
+ocamlPackages.buildDunePackage rec {
   pname = "soupault";
-
-  version = "4.9.0";
-in
-ocamlPackages.buildDunePackage {
-  inherit pname version;
+  version = "4.10.0";
 
   minimalOCamlVersion = "4.13";
 
@@ -22,7 +18,7 @@ ocamlPackages.buildDunePackage {
       "https://github.com/PataphysicalSociety/soupault/archive/${version}.tar.gz"
       "https://codeberg.org/PataphysicalSociety/soupault/archive/${version}.tar.gz"
     ];
-    hash = "sha256-vGTJUbAeYs/EYFykNSmCc4c9G66/Lz3BsUYnZQ8feFo=";
+    hash = "sha256-mkbRWw4Qj7pk2MQJERA9cAuC8DXD/fOShVXz2zPtXZ4=";
   };
 
   nativeBuildInputs = lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [ darwin.sigtool ];
diff --git a/pkgs/by-name/sp/spacedrive/package.nix b/pkgs/by-name/sp/spacedrive/package.nix
index f6b9372709e99..f73243de0310f 100644
--- a/pkgs/by-name/sp/spacedrive/package.nix
+++ b/pkgs/by-name/sp/spacedrive/package.nix
@@ -65,9 +65,6 @@ else appimageTools.wrapType2 {
       appimageContents = appimageTools.extractType2 { inherit pname version src; };
     in
     ''
-      # Remove version from entrypoint
-      mv $out/bin/spacedrive-${version} $out/bin/spacedrive
-
       # Install .desktop files
       install -Dm444 ${appimageContents}/com.spacedrive.desktop -t $out/share/applications
       install -Dm444 ${appimageContents}/spacedrive.png -t $out/share/pixmaps
diff --git a/pkgs/by-name/st/stackit-cli/package.nix b/pkgs/by-name/st/stackit-cli/package.nix
index 1e2eab4da2f96..e96738d459603 100644
--- a/pkgs/by-name/st/stackit-cli/package.nix
+++ b/pkgs/by-name/st/stackit-cli/package.nix
@@ -12,16 +12,16 @@
 
 buildGoModule rec {
   pname = "stackit-cli";
-  version = "0.2.2";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "stackitcloud";
     repo = "stackit-cli";
     rev = "v${version}";
-    hash = "sha256-0SI7hRJxdtdpGgEsUCWNsIcT50W7uyxLs5Mp+alHE0I=";
+    hash = "sha256-EoZ1ThAve08NitKf6jPJNyqkGz0JUW2GmzKtvWm9cDU=";
   };
 
-  vendorHash = "sha256-FXy3qVSf57cPmxkY2XPEjFz3qRYkH5pPmCoIiWb28FY=";
+  vendorHash = "sha256-WQNb4vs1qcsY0hqlLXNiH67065/yq5xZEgZBOwFZzNM=";
 
   subPackages = [ "." ];
 
@@ -35,22 +35,13 @@ buildGoModule rec {
 
   nativeBuildInputs = [ installShellFiles makeWrapper ];
 
-  preCheck = ''
-    export HOME=$TMPDIR # needed because the binary always creates a dir & config file
-  '';
-
   postInstall = ''
-    export HOME=$TMPDIR # needed because the binary always creates a dir & config file
     mv $out/bin/{${pname},stackit} # rename the binary
 
-    installShellCompletion --cmd stackit --bash <($out/bin/stackit completion bash)
-    installShellCompletion --cmd stackit --zsh <($out/bin/stackit completion zsh)
-    installShellCompletion --cmd stackit --fish <($out/bin/stackit completion fish)
-    # Use this instead, once https://github.com/stackitcloud/stackit-cli/issues/153 is fixed:
-    # installShellCompletion --cmd stackit \
-    #   --bash <($out/bin/stackit completion bash) \
-    #   --zsh  <($out/bin/stackit completion zsh)  \
-    #   --fish <($out/bin/stackit completion fish)
+    installShellCompletion --cmd stackit \
+      --bash <($out/bin/stackit completion bash) \
+      --zsh  <($out/bin/stackit completion zsh)  \
+      --fish <($out/bin/stackit completion fish)
     # Ensure that all 3 completion scripts exist AND have content (should be kept for regression testing)
     [ $(find $out/share -not -empty -type f | wc -l) -eq 3 ]
   '';
@@ -65,7 +56,7 @@ buildGoModule rec {
   passthru.tests = {
     version = testers.testVersion {
       package = stackit-cli;
-      command = "HOME=$TMPDIR stackit --version";
+      command = "stackit --version";
     };
   };
 
diff --git a/pkgs/by-name/st/stats/package.nix b/pkgs/by-name/st/stats/package.nix
index ed71e50f2bae4..b907d5b2db817 100644
--- a/pkgs/by-name/st/stats/package.nix
+++ b/pkgs/by-name/st/stats/package.nix
@@ -2,6 +2,10 @@
 , stdenvNoCC
 , fetchurl
 , undmg
+, writeShellApplication
+, curl
+, jq
+, common-updater-scripts
 }:
 
 stdenvNoCC.mkDerivation (finalAttrs: {
@@ -12,6 +16,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
     url = "https://github.com/exelban/stats/releases/download/v${finalAttrs.version}/Stats.dmg";
     hash = "sha256-CdTY5Qv/xF9ItNgHQFqec5nKObnImx/+MuFShTfdrAo=";
   };
+
   sourceRoot = ".";
 
   nativeBuildInputs = [ undmg ];
@@ -25,12 +30,23 @@ stdenvNoCC.mkDerivation (finalAttrs: {
     runHook postInstall
   '';
 
+  passthru.updateScript = lib.getExe (writeShellApplication {
+    name = "stats-update-script";
+    runtimeInputs = [ curl jq common-updater-scripts ];
+    text = ''
+      set -euo pipefail
+      url="$(curl --silent "https://api.github.com/repos/exelban/stats/tags?per_page=1")"
+      version="$(echo "$url" | jq -r '.[0].name' | cut -c 2-)"
+      update-source-version stats "$version" --file=./pkgs/by-name/st/stats/package.nix
+    '';
+  });
+
   meta = with lib; {
     description = "macOS system monitor in your menu bar";
     homepage = "https://github.com/exelban/stats";
     license = licenses.mit;
     sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
-    maintainers = with maintainers; [ emilytrau Enzime ];
+    maintainers = with maintainers; [ emilytrau Enzime donteatoreo ];
     platforms = platforms.darwin;
   };
 })
diff --git a/pkgs/development/libraries/stduuid/default.nix b/pkgs/by-name/st/stduuid/package.nix
index c7e31c9900877..af9ea37639817 100644
--- a/pkgs/development/libraries/stduuid/default.nix
+++ b/pkgs/by-name/st/stduuid/package.nix
@@ -1,7 +1,8 @@
-{ stdenv, cmake, fetchFromGitHub, lib }: let
+{ stdenv, cmake, fetchFromGitHub, fetchpatch, lib }: let
   version = "1.2.3";
 in stdenv.mkDerivation {
-  name = "stduuid-${version}";
+  pname = "stduuid";
+  inherit version;
 
   src = fetchFromGitHub {
     owner = "mariusbancila";
@@ -12,6 +13,15 @@ in stdenv.mkDerivation {
 
   nativeBuildInputs = [ cmake ];
 
+  patches = [
+    # stduuid report version 1.0 instead of 1.2.3 for cmake's find_package to properly work
+    # If version is updated one day, this patch will need to be updated
+    (fetchpatch {
+      url = "https://github.com/OlivierLDff/stduuid/commit/b02c70c0a4bef2c82152503e13c9a67d6631b13d.patch";
+      hash = "sha256-tv4rllhngdgjXX35kcM69yXo0DXF/BQ+AUbiC1gJIU8=";
+    })
+  ];
+
   meta = {
     description = "A C++17 cross-platform implementation for UUIDs";
     license = lib.licenses.mit;
diff --git a/pkgs/by-name/st/step-cli/package.nix b/pkgs/by-name/st/step-cli/package.nix
new file mode 100644
index 0000000000000..65f8959e34e26
--- /dev/null
+++ b/pkgs/by-name/st/step-cli/package.nix
@@ -0,0 +1,41 @@
+{
+  lib,
+  buildGoModule,
+  fetchFromGitHub,
+}: let
+  version = "0.26.1";
+in
+  buildGoModule {
+    pname = "step-cli";
+    inherit version;
+
+    src = fetchFromGitHub {
+      owner = "smallstep";
+      repo = "cli";
+      rev = "refs/tags/v${version}";
+      hash = "sha256-BVxdgyQsfCwHw/zjP3AKNib3sRWoBpMlZ7vh71nso94=";
+    };
+
+    ldflags = [
+      "-w"
+      "-s"
+      "-X=main.Version=${version}"
+    ];
+
+    preCheck = ''
+      # Tries to connect to smallstep.com
+      rm command/certificate/remote_test.go
+    '';
+
+    vendorHash = "sha256-Z6wrWkyAGi01gH7+v2+VkyqRNqDwLFVwXm/1FIMzURg=";
+
+    meta = {
+      description = "A zero trust swiss army knife for working with X509, OAuth, JWT, OATH OTP, etc";
+      homepage = "https://smallstep.com/cli/";
+      changelog = "https://github.com/smallstep/cli/blob/v${version}/CHANGELOG.md";
+      license = lib.licenses.asl20;
+      maintainers = with lib.maintainers; [isabelroses];
+      platforms = lib.platforms.linux ++ lib.platforms.darwin;
+      mainProgram = "step";
+    };
+  }
diff --git a/pkgs/by-name/st/stirling-pdf/package.nix b/pkgs/by-name/st/stirling-pdf/package.nix
index 0b2e17aee8511..dcd4f61d8102c 100644
--- a/pkgs/by-name/st/stirling-pdf/package.nix
+++ b/pkgs/by-name/st/stirling-pdf/package.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "stirling-pdf";
-  version = "0.22.8";
+  version = "0.23.1";
 
   src = fetchFromGitHub {
     owner = "Stirling-Tools";
     repo = "Stirling-PDF";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-wFxIMubZ6327iBRyHxeo/hsPyq572gk6K8waJ3KyMEw=";
+    hash = "sha256-71caSM4J0sNMqWX0ok8aO3wdpVcjfrn/yVGLWeO5fOk=";
   };
 
   patches = [
diff --git a/pkgs/by-name/st/stlink-tool/package.nix b/pkgs/by-name/st/stlink-tool/package.nix
new file mode 100644
index 0000000000000..029bb0a9b25ac
--- /dev/null
+++ b/pkgs/by-name/st/stlink-tool/package.nix
@@ -0,0 +1,41 @@
+{ lib
+, stdenv
+, pkg-config
+, fetchFromGitHub
+, libusb1
+}:
+
+# IMPORTANT: You need permissions to access the stlink usb devices.
+# Add services.udev.packages = [ pkgs.stlink ] to your configuration.nix
+stdenv.mkDerivation {
+  pname = "stlink-tool";
+  version = "0-unstable-2020-06-10";
+
+  src = fetchFromGitHub {
+    owner = "jeanthom";
+    repo = "stlink-tool";
+    rev = "8cbdffee012d5a782dd67d1277ed22fa889b9ba9";
+    hash = "sha256-1Mk4rFyIviJ9hcJo1GyzRmlPIemBJtuj3PgvnNhche0=";
+    fetchSubmodules = true;
+  };
+
+  buildInputs = [ libusb1 ];
+  nativeBuildInputs = [ pkg-config ];
+
+  env.NIX_CFLAGS_COMPILE = "-Wno-uninitialized";
+
+  installPhase = ''
+    runHook preInstall
+    install -D stlink-tool $out/bin/stlink-tool
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "libusb tool for flashing chinese ST-Link dongles";
+    homepage = "https://github.com/jeanthom/stlink-tool";
+    license = licenses.mit;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.wucke13 ];
+    mainProgram = "stlink-tool";
+  };
+}
diff --git a/pkgs/by-name/st/strictdoc/package.nix b/pkgs/by-name/st/strictdoc/package.nix
index 153213dd1c221..d428d4638f218 100644
--- a/pkgs/by-name/st/strictdoc/package.nix
+++ b/pkgs/by-name/st/strictdoc/package.nix
@@ -5,14 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "strictdoc";
-  version = "0.0.51";
+  version = "0.0.54";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "strictdoc-project";
     repo = "strictdoc";
     rev = "refs/tags/${version}";
-    hash = "sha256-OFKWeFtVwZKh9KLeA3wiyqAkbPYEQy5/IeHLINkF1C0=";
+    hash = "sha256-gsZgvT3bSHxxFLhEqlHjoRZiYZwyFr377CGYWYOssyM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/st/sttr/package.nix b/pkgs/by-name/st/sttr/package.nix
index 000af4a30aa89..a645940a59a3b 100644
--- a/pkgs/by-name/st/sttr/package.nix
+++ b/pkgs/by-name/st/sttr/package.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "sttr";
-  version = "0.2.19";
+  version = "0.2.20";
 
   src = fetchFromGitHub {
     owner = "abhimanyu003";
     repo = "sttr";
     rev = "v${version}";
-    hash = "sha256-OE7sp3K6a3XRc2yQTweoszacW8id/+/blND+4Bwlras=";
+    hash = "sha256-8xIVLUbqk7bPjDTO2tdU9dGslBEorQusaJSAuFhRZYw=";
   };
 
-  vendorHash = "sha256-Bkau3OKVwLBId8O/vc2XdjiPDSevoDcWICh2kLTCpz0=";
+  vendorHash = "sha256-OuPPK4ordP/yzH+0sCRKO9szJ81LUbvM2Z8U88O6Qwc=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/by-name/su/supersonic/package.nix b/pkgs/by-name/su/supersonic/package.nix
index 15621682aa649..fee32dc5f88d9 100644
--- a/pkgs/by-name/su/supersonic/package.nix
+++ b/pkgs/by-name/su/supersonic/package.nix
@@ -20,16 +20,16 @@ assert waylandSupport -> stdenv.isLinux;
 
 buildGoModule rec {
   pname = "supersonic" + lib.optionalString waylandSupport "-wayland";
-  version = "0.10.0";
+  version = "0.10.1";
 
   src = fetchFromGitHub {
     owner = "dweymouth";
     repo = "supersonic";
     rev = "v${version}";
-    hash = "sha256-sleXZnJ/JPlyCMf6Js+Yym1RhtfZT7Q+qYAWLCavZFA=";
+    hash = "sha256-0MbR6ah3UakLn/6Mfd156BlTZe7thNK6mAPLTuz298g=";
   };
 
-  vendorHash = "sha256-JKihU597ZBq1VygpWB73V2m9NN/GDrquX9hNzBdszSQ=";
+  vendorHash = "sha256-Ld1j/SFq5W+SKppAzk7UV74RD6/Dw+PWk0BhEGML5+k=";
 
   nativeBuildInputs = [
     copyDesktopItems
diff --git a/pkgs/by-name/su/surrealdb/package.nix b/pkgs/by-name/su/surrealdb/package.nix
index f5c8fecc1b09e..79c8596844498 100644
--- a/pkgs/by-name/su/surrealdb/package.nix
+++ b/pkgs/by-name/su/surrealdb/package.nix
@@ -4,13 +4,16 @@
 , fetchFromGitHub
 , pkg-config
 , openssl
-, rocksdb
+, rocksdb_8_3
 , testers
 , surrealdb
 , darwin
 , protobuf
 }:
 
+let
+  rocksdb = rocksdb_8_3;
+in
 rustPlatform.buildRustPackage rec {
   pname = "surrealdb";
   version = "1.3.1";
diff --git a/pkgs/by-name/sw/sway-unwrapped/package.nix b/pkgs/by-name/sw/sway-unwrapped/package.nix
index 89af07a9af3d6..04563b800ba98 100644
--- a/pkgs/by-name/sw/sway-unwrapped/package.nix
+++ b/pkgs/by-name/sw/sway-unwrapped/package.nix
@@ -87,7 +87,7 @@ stdenv.mkDerivation (finalAttrs: {
       using only the keyboard.
     '';
     homepage    = "https://swaywm.org";
-    changelog   = "https://github.com/swaywm/sway/releases/tag/${version}";
+    changelog   = "https://github.com/swaywm/sway/releases/tag/${finalAttrs.version}";
     license     = licenses.mit;
     platforms   = platforms.linux;
     maintainers = with maintainers; [ primeos synthetica ];
diff --git a/pkgs/by-name/sw/swaybg/package.nix b/pkgs/by-name/sw/swaybg/package.nix
index aa5d12cdfc4fd..6536847abbe48 100644
--- a/pkgs/by-name/sw/swaybg/package.nix
+++ b/pkgs/by-name/sw/swaybg/package.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "swaybg";
-  version = "1.2.0";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     owner = "swaywm";
     repo = "swaybg";
     rev = "v${version}";
-    hash = "sha256-Qk5iGALlSVSzgBJzYzyLdLHhj/Zq1R4nFseACBmIBuA=";
+    hash = "sha256-IJcPSBJErf8Dy9YhYAc9eg/llgaaLZCQSB0Brof+kpg=";
   };
 
   strictDeps = true;
diff --git a/pkgs/by-name/sw/swayimg/package.nix b/pkgs/by-name/sw/swayimg/package.nix
index ac077868e674b..ec69daf3f337c 100644
--- a/pkgs/by-name/sw/swayimg/package.nix
+++ b/pkgs/by-name/sw/swayimg/package.nix
@@ -74,7 +74,7 @@ stdenv.mkDerivation (finalAttrs: {
   meta = with lib; {
     homepage = "https://github.com/artemsen/swayimg";
     description = "Image viewer for Sway/Wayland";
-    changelog = "https://github.com/artemsen/swayimg/releases/tag/v${version}";
+    changelog = "https://github.com/artemsen/swayimg/releases/tag/v${finalAttrs.version}";
     license = licenses.mit;
     maintainers = with maintainers; [ matthewcroughan ];
     platforms = platforms.linux;
diff --git a/pkgs/tools/admin/syft/default.nix b/pkgs/by-name/sy/syft/package.nix
index 7735f8951e547..3c9da505b607f 100644
--- a/pkgs/tools/admin/syft/default.nix
+++ b/pkgs/by-name/sy/syft/package.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "syft";
-  version = "1.2.0";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "anchore";
     repo = "syft";
     rev = "refs/tags/v${version}";
-    hash = "sha256-HlV+DeLI6/vYAYkp0ZM7z9uWC+nZLso6xlvCQJ2Imjg=";
+    hash = "sha256-9U1PBLAj4oWKyUWrBbrlqM4MldYlYN20W5VAWxQ9nq4=";
     # populate values that require us to use git. By doing this in postFetch we
     # can delete .git afterwards and maintain better reproducibility of the src.
     leaveDotGit = true;
@@ -28,7 +28,7 @@ buildGoModule rec {
   # hash mismatch with darwin
   proxyVendor = true;
 
-  vendorHash = "sha256-yXl8f3f3XO8o80PkX6hS/12p80z4LczghdmY1Elp0aE=";
+  vendorHash = "sha256-UuQpO6iZN3ITQLj4xccEmxpmgfKSTigImlTPSvPgFyM=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/by-name/sy/symfony-cli/package.nix b/pkgs/by-name/sy/symfony-cli/package.nix
index 9931e4f590892..1036022bc68b8 100644
--- a/pkgs/by-name/sy/symfony-cli/package.nix
+++ b/pkgs/by-name/sy/symfony-cli/package.nix
@@ -10,14 +10,14 @@
 
 buildGoModule rec {
   pname = "symfony-cli";
-  version = "5.8.15";
-  vendorHash = "sha256-rkvQhZSoKZIl/gFgekLUelem2FGbRL9gp1LEzYN88Dc=";
+  version = "5.8.16";
+  vendorHash = "sha256-bhlD7EgOkWjRTsw1hH0GKjtFkLbOzr28wR4JJKOJwnY=";
 
   src = fetchFromGitHub {
     owner = "symfony-cli";
     repo = "symfony-cli";
     rev = "v${version}";
-    hash = "sha256-HbBg2oCsogY3X4jgjknqwNe2bszXjylvE+h5/iyg2pM=";
+    hash = "sha256-V67RLa/Tn9ZdV+vnhFSht0wtIYYZOAGAYP9R1Lxn9aI=";
   };
 
   ldflags = [
diff --git a/pkgs/by-name/sy/syslogng/package.nix b/pkgs/by-name/sy/syslogng/package.nix
index afbf3b257eedb..8b261dcb060f9 100644
--- a/pkgs/by-name/sy/syslogng/package.nix
+++ b/pkgs/by-name/sy/syslogng/package.nix
@@ -61,13 +61,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "syslog-ng";
-  version = "4.6.0";
+  version = "4.7.1";
 
   src = fetchFromGitHub {
     owner = "syslog-ng";
     repo = "syslog-ng";
     rev = "syslog-ng-${version}";
-    hash = "sha256-B9s7mprPpS4xc7mfJbsDaq2hB1rjYmuOnOnpu+NnMRs=";
+    hash = "sha256-runFMUxQv7B023I38QfGqn89ZbzA5vMXHOOkYwMxArI=";
     fetchSubmodules = true;
   };
   nativeBuildInputs = [ autoreconfHook autoconf-archive pkg-config which bison flex libxslt perl gperf python3Packages.setuptools ];
diff --git a/pkgs/by-name/ta/tailscale-nginx-auth/package.nix b/pkgs/by-name/ta/tailscale-nginx-auth/package.nix
index 8f62b21a5da11..044334c602648 100644
--- a/pkgs/by-name/ta/tailscale-nginx-auth/package.nix
+++ b/pkgs/by-name/ta/tailscale-nginx-auth/package.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, buildGoModule, fetchFromGitHub }:
 
 let
-  version = "1.64.0";
+  version = "1.64.2";
 in
 buildGoModule {
   pname = "tailscale-nginx-auth";
@@ -11,7 +11,7 @@ buildGoModule {
     owner = "tailscale";
     repo = "tailscale";
     rev = "v${version}";
-    hash = "sha256-qBZoiqhBMBNbeytDBH+sOxxsVjOcH6vnSgIufx+Op04=";
+    hash = "sha256-DS7C/G1Nj9gIjYwXaEeCLbtH9HbB0tRoJBDjZc/nq5g=";
   };
   vendorHash = "sha256-pYeHqYd2cCOVQlD1r2lh//KC+732H0lj1fPDBr+W8qA=";
 
@@ -38,6 +38,6 @@ buildGoModule {
     description = "Tool that allows users to use Tailscale Whois authentication with NGINX as a reverse proxy.";
     license = licenses.bsd3;
     mainProgram = "tailscale.nginx-auth";
-    maintainers = with maintainers; [ danderson phaer ];
+    maintainers = with maintainers; [ phaer ];
   };
 }
diff --git a/pkgs/by-name/ta/taler-exchange/package.nix b/pkgs/by-name/ta/taler-exchange/package.nix
new file mode 100644
index 0000000000000..d5139dafaa6bb
--- /dev/null
+++ b/pkgs/by-name/ta/taler-exchange/package.nix
@@ -0,0 +1,97 @@
+{
+  lib,
+  stdenv,
+  fetchgit,
+  curl,
+  gnunet,
+  jansson,
+  libgcrypt,
+  libmicrohttpd,
+  libsodium,
+  libunistring,
+  pkg-config,
+  postgresql,
+  autoreconfHook,
+  python3,
+  recutils,
+  wget,
+  jq,
+  gettext,
+  texinfo,
+}:
+
+let
+  version = "0.10.2";
+in
+stdenv.mkDerivation {
+  pname = "taler-exchange";
+  inherit version;
+
+  src = fetchgit {
+    url = "https://git.taler.net/exchange.git";
+    rev = "v${version}";
+    fetchSubmodules = true;
+    hash = "sha256-dl8lZ7uKUr+KSUaT4xlkaX3W5UoW2Zfu/0iVXvLejnA=";
+  };
+
+  nativeBuildInputs = [
+    autoreconfHook
+    pkg-config
+  ];
+
+  buildInputs = [
+    libgcrypt
+    libmicrohttpd
+    jansson
+    libsodium
+    postgresql
+    curl
+    recutils
+    gettext
+    texinfo # Fix 'makeinfo' is missing on your system.
+    libunistring
+    python3.pkgs.jinja2
+    # jq is necessary for some tests and is checked by configure script
+    jq
+  ];
+
+  propagatedBuildInputs = [ gnunet ];
+
+  # From ./bootstrap
+  preAutoreconf = ''
+    ./contrib/gana-generate.sh
+    pushd contrib
+    find wallet-core/aml-backoffice/ -type f -printf '  %p \\\n' | sort > Makefile.am.ext
+    truncate -s -2 Makefile.am.ext
+    cat Makefile.am.in Makefile.am.ext >> Makefile.am
+    popd
+  '';
+
+  enableParallelBuilding = true;
+
+  doInstallCheck = true;
+
+  nativeCheckInputs = [
+    wget
+    curl
+  ];
+
+  checkTarget = "check";
+
+  meta = with lib; {
+    description = ''
+      Taler is an electronic payment system providing the ability to pay
+      anonymously using digital cash.  Taler consists of a network protocol
+      definition (using a RESTful API over HTTP), a Exchange (which creates
+      digital coins), a Wallet (which allows customers to manage, store and
+      spend digital coins), and a Merchant website which allows customers to
+      spend their digital coins.  Naturally, each Merchant is different, but
+      Taler includes code examples to help Merchants integrate Taler as a
+      payment system.
+    '';
+    homepage = "https://taler.net/";
+    license = licenses.agpl3Plus;
+    maintainers = with maintainers; [ astro ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/by-name/ta/taler-merchant/package.nix b/pkgs/by-name/ta/taler-merchant/package.nix
new file mode 100644
index 0000000000000..59fb722b72fc9
--- /dev/null
+++ b/pkgs/by-name/ta/taler-merchant/package.nix
@@ -0,0 +1,88 @@
+{
+  lib,
+  stdenv,
+  fetchgit,
+  gnunet,
+  qrencode,
+  taler-exchange,
+  libtool,
+  pkg-config,
+  autoreconfHook,
+  jq,
+}:
+
+let
+  version = "0.10.2";
+
+  taler-wallet-core = fetchgit {
+    url = "https://git.taler.net/wallet-core.git";
+    rev = "v${version}";
+    hash = "sha256-jC8XhcHZxv7ww+wspJUqTq6x6FIeEehQmE03ttJZWT4=";
+  };
+in
+stdenv.mkDerivation {
+  pname = "taler-merchant";
+  inherit version;
+
+  src = fetchgit {
+    url = "https://git.taler.net/merchant.git";
+    rev = "v${version}";
+    fetchSubmodules = true;
+    hash = "sha256-WY5Fk5HcVjxsnqt69m8E9ikW+nQDkCuKtT1CTsupz5c=";
+  };
+
+  postUnpack = ''
+    ln -s ${taler-wallet-core}/spa.html $sourceRoot/contrib/
+  '';
+
+  nativeBuildInputs = [
+    pkg-config
+    autoreconfHook
+  ];
+
+  buildInputs = taler-exchange.buildInputs ++ [
+    qrencode
+    taler-exchange
+    # for ltdl.h
+    libtool
+  ];
+
+  propagatedBuildInputs = [ gnunet ];
+
+  # From ./bootstrap
+  preAutoreconf = ''
+    pushd contrib
+    find wallet-core/backoffice/ -type f -printf '  %p \\\n' | sort > Makefile.am.ext
+    truncate -s -2 Makefile.am.ext
+    cat Makefile.am.in Makefile.am.ext >> Makefile.am
+    popd
+  '';
+
+  configureFlags = [
+    "--with-gnunet=${gnunet}"
+    "--with-exchange=${taler-exchange}"
+  ];
+
+  enableParallelBuilding = true;
+
+  doInstallCheck = true;
+
+  nativeCheckInputs = [ jq ];
+
+  checkTarget = "check";
+
+  meta = with lib; {
+    description = ''
+      This is the GNU Taler merchant backend. It provides the logic that should run
+      at every GNU Taler merchant.  The GNU Taler merchant is a RESTful backend that
+      can be used to setup orders and process payments.  This component allows
+      merchants to receive payments without invading the customers' privacy. Of
+      course, this applies mostly for digital goods, as the merchant does not need
+      to know the customer's physical address.
+    '';
+    homepage = "https://taler.net/";
+    license = licenses.agpl3Plus;
+    maintainers = with maintainers; [ astro ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/by-name/ta/taskwarrior3/package.nix b/pkgs/by-name/ta/taskwarrior3/package.nix
index 5b9372189c72b..6f48f5593231e 100644
--- a/pkgs/by-name/ta/taskwarrior3/package.nix
+++ b/pkgs/by-name/ta/taskwarrior3/package.nix
@@ -12,6 +12,7 @@
   python3,
   xdg-utils,
   installShellFiles,
+  darwin,
 }:
 stdenv.mkDerivation rec {
     pname = "taskwarrior";
@@ -38,6 +39,10 @@ stdenv.mkDerivation rec {
     cargo
     rustc
     rustPlatform.cargoSetupHook
+  ] ++ lib.optionals stdenv.isDarwin [
+    # darwin dependencies
+    darwin.apple_sdk.frameworks.Security
+    darwin.apple_sdk.frameworks.SystemConfiguration
   ];
 
   doCheck = true;
diff --git a/pkgs/by-name/te/tenki/package.nix b/pkgs/by-name/te/tenki/package.nix
index 406e49c5121e3..464e576824942 100644
--- a/pkgs/by-name/te/tenki/package.nix
+++ b/pkgs/by-name/te/tenki/package.nix
@@ -4,16 +4,16 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "tenki";
-  version = "1.7.0";
+  version = "1.8.0";
 
   src = fetchFromGitHub {
     owner = "ckaznable";
     repo = "tenki";
     rev = "v${version}";
-    hash = "sha256-FlygsPvlftlCrAuViB/MpI9m10o1iVtfJ8djn5ycHa4=";
+    hash = "sha256-FItq/rnxJsEnKFPUR59Wo3eQvaykaIyCohCcOlPrdAE=";
   };
 
-  cargoHash = "sha256-mWxdZilKbC7+OygCmPB09kZJdtGbUqrGpaEZG/Bn5QQ=";
+  cargoHash = "sha256-PhilKt7gLWoOOpkpSPa1/E33rmHvX466hSCGoNfezq0=";
 
   meta = with lib; {
     description = "tty-clock with weather effect";
diff --git a/pkgs/by-name/te/tenv/package.nix b/pkgs/by-name/te/tenv/package.nix
index 37724fe2d166e..2840d002e942f 100644
--- a/pkgs/by-name/te/tenv/package.nix
+++ b/pkgs/by-name/te/tenv/package.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "tenv";
-  version = "1.7.1";
+  version = "1.8.0";
 
   src = fetchFromGitHub {
     owner = "tofuutils";
     repo = "tenv";
     rev = "v${version}";
-    hash = "sha256-Iq1yv80qiQxISS0r1ShjJOXVtp/ryodgih1m3ykI8+0=";
+    hash = "sha256-w8A3tmv8KzwtP5gqbaj5UdFxLcz9ILBP1itXSlLJ3Q0=";
   };
 
   vendorHash = "sha256-NMkR90+kJ3VsuhF45l5K68uOqenPfINZDEE0GfjULro=";
diff --git a/pkgs/applications/networking/cluster/terraform-compliance/default.nix b/pkgs/by-name/te/terraform-compliance/package.nix
index f87cdff374f71..f87cdff374f71 100644
--- a/pkgs/applications/networking/cluster/terraform-compliance/default.nix
+++ b/pkgs/by-name/te/terraform-compliance/package.nix
diff --git a/pkgs/by-name/te/terraform-plugin-docs/package.nix b/pkgs/by-name/te/terraform-plugin-docs/package.nix
index e1468d251313a..5e893a6e6e2d5 100644
--- a/pkgs/by-name/te/terraform-plugin-docs/package.nix
+++ b/pkgs/by-name/te/terraform-plugin-docs/package.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "terraform-plugin-docs";
-  version = "0.18.0";
+  version = "0.19.2";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = "terraform-plugin-docs";
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-8rNoH01fWNGWH3cSqqFCGetl5S/d3yVh+pmIzg79g3k=";
+    sha256 = "sha256-1ZJPy/kRYKcwr/k/u8ux5Eo1LIkrNpVyXrd9ff+Na6I=";
   };
 
-  vendorHash = "sha256-9ddxgceILBP1NqbGr08cfdPs0BHSjQWN0MkFA5oqyPE=";
+  vendorHash = "sha256-dBDvh3aIHu8iGwFt+29SdCl1gICwO7LnxQ7Wux+2tOk=";
 
   nativeBuildInputs = [ makeWrapper ];
 
diff --git a/pkgs/applications/networking/cluster/terragrunt/default.nix b/pkgs/by-name/te/terragrunt/package.nix
index a2f8fd2fbaa1b..a381efeaa8715 100644
--- a/pkgs/applications/networking/cluster/terragrunt/default.nix
+++ b/pkgs/by-name/te/terragrunt/package.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "terragrunt";
-  version = "0.56.5";
+  version = "0.57.5";
 
   src = fetchFromGitHub {
     owner = "gruntwork-io";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-aKgcXLxFZBoomrKJFmUr/XfxHmNrkvK2IlfTR2dJNY0=";
+    hash = "sha256-G2eIzEgTKWCS8GGR8I1jZPQVBd8HwC/iB632ErsksGo=";
   };
 
-  vendorHash = "sha256-joEmkFtoVxqlVrgl2mtJN9Cyr3YdnT6tBjaSXj9z2WU=";
+  vendorHash = "sha256-JKiEJw61B4vyKsi4M36v8NF/eOqbGr55/8y/Rru3L9Q=";
 
   doCheck = false;
 
diff --git a/pkgs/by-name/te/tetrio-desktop/package.json b/pkgs/by-name/te/tetrio-desktop/package.json
deleted file mode 100644
index 65bf8ea63f762..0000000000000
--- a/pkgs/by-name/te/tetrio-desktop/package.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
-  "name": "tetrio-desktop",
-  "version": "9.0.0",
-  "author": {
-    "name": "osk",
-    "email": "me@osk.sh"
-  },
-  "license": "© osk 2019-2024. All Rights Reserved.",
-  "homepage": "https://tetr.io/",
-  "main": "main.js",
-  "description": "Puzzle together in this modern yet familiar online stacker!",
-  "dependencies": {
-    "discord-rich-presence": "0.0.8",
-    "electron-store": "^8.1.0",
-    "image-size": "^1.1.1",
-    "node-fetch": "2.6.1",
-    "openpgp": "^5.11.1",
-    "systeminformation": "^5.22.0",
-    "whatwg-url": "^14.0.0",
-    "xmldom": "^0.6.0"
-  }
-}
diff --git a/pkgs/by-name/te/tetrio-desktop/package.nix b/pkgs/by-name/te/tetrio-desktop/package.nix
index c3749de57dadc..f07299b37cc39 100644
--- a/pkgs/by-name/te/tetrio-desktop/package.nix
+++ b/pkgs/by-name/te/tetrio-desktop/package.nix
@@ -6,7 +6,7 @@
 , callPackage
 , addOpenGLRunpath
 , electron
-, withTetrioPlus ? true
+, withTetrioPlus ? false
 , tetrio-plus ? null
 }:
 
@@ -28,7 +28,12 @@ stdenv.mkDerivation (finalAttrs: {
     let
       tetrio-plus' =
         if tetrio-plus == null
-        then callPackage ./tetrio-plus.nix { tetrio-src = finalAttrs.src; }
+        then
+          callPackage ./tetrio-plus.nix
+            {
+              tetrio-src = finalAttrs.src;
+              tetrio-version = finalAttrs.version;
+            }
         else tetrio-plus;
 
       asarPath =
diff --git a/pkgs/by-name/te/tetrio-desktop/tetrio-plus.nix b/pkgs/by-name/te/tetrio-desktop/tetrio-plus.nix
index a0c67265e51ce..a9c6f6080b03a 100644
--- a/pkgs/by-name/te/tetrio-desktop/tetrio-plus.nix
+++ b/pkgs/by-name/te/tetrio-desktop/tetrio-plus.nix
@@ -14,16 +14,17 @@
 , asar
 
 , tetrio-src
+, tetrio-version
 }:
 
 let
-  version = "unstable-2024-03-31";
+  version = "0.27.2";
 
   src = fetchFromGitLab {
     owner = "UniQMG";
     repo = "tetrio-plus";
-    rev = "b13d476a162a2aec4ca0def29eb7a4ada9ebf523";
-    hash = "sha256-bZwx0r2lu4Ed/pYRvNog6IIok/HMoK+UeDIQctggUEs=";
+    rev = "electron-v${version}-tetrio-v${lib.versions.major tetrio-version}";
+    hash = "sha256-PvTivTt1Zuvk5gaCcQDcIBFsUf/ZG7TJYXqm0NP++Bw=";
     fetchSubmodules = true;
 
     # tetrio-plus uses this info for displaying its version,
@@ -52,7 +53,7 @@ let
 
     sourceRoot = "${src.name}/tpsecore";
 
-    cargoHash = "sha256-14UjPSlfiuf696cqy8+fz3SmfmFoGQlEDg9obP0EKXg=";
+    cargoHash = "sha256-K9l8wQOtjf3l8gZMMdVnaNrgzVWGl62iBBcpA+ulJbw=";
 
     nativeBuildInputs = [
       wasm-pack
@@ -81,8 +82,8 @@ let
   };
 
   offlineCache = fetchYarnDeps {
-    yarnLock = ./yarn.lock;
-    hash = "sha256-VYUh9y6PRc1OTLELkqCxP89Xbesv3Nu+eUq6fkuoQHE=";
+    yarnLock = "${src}/resources/desktop-ci/yarn.lock";
+    hash = "sha256-LfUC2bkUX+sFq3vMMOC1YVYbpDxUSnLO9GiKdoQBdAw=";
   };
 
 in
@@ -107,8 +108,8 @@ stdenv.mkDerivation (finalAttrs: {
 
     # Install custom package.json/yarn.lock that describe the additional node
     # dependencies that tetrio-plus needs to run, and install them in our output
-    install -m644 ${./package.json} package.json
-    install -m644 ${./yarn.lock} yarn.lock
+    cp ../resources/desktop-ci/yarn.lock .
+    patch package.json ../resources/desktop-ci/package.json.diff
 
     export HOME=$(mktemp -d)
     yarn config --offline set yarn-offline-mirror ${offlineCache}
@@ -127,6 +128,11 @@ stdenv.mkDerivation (finalAttrs: {
     cp -r $src out/tetrioplus
     chmod -R u+w out/tetrioplus
 
+    # Disable the uninstall button in the tetrio-plus popup,
+    # as it doesn't make sense to mutably uninstall it in a nix package
+    substituteInPlace out/tetrioplus/desktop-manifest.js \
+      --replace-fail '"show_uninstaller_button": true' '"show_uninstaller_button": false'
+
     # We don't need the tpsecore source code bundled
     rm -rf out/tetrioplus/tpsecore/
     # since we install the compiled version here
diff --git a/pkgs/by-name/te/tetrio-desktop/yarn.lock b/pkgs/by-name/te/tetrio-desktop/yarn.lock
deleted file mode 100644
index 9c6cd6519a9f2..0000000000000
--- a/pkgs/by-name/te/tetrio-desktop/yarn.lock
+++ /dev/null
@@ -1,348 +0,0 @@
-# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
-# yarn lockfile v1
-
-
-ajv-formats@^2.1.1:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520"
-  integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==
-  dependencies:
-    ajv "^8.0.0"
-
-ajv@^8.0.0, ajv@^8.6.3:
-  version "8.12.0"
-  resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1"
-  integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==
-  dependencies:
-    fast-deep-equal "^3.1.1"
-    json-schema-traverse "^1.0.0"
-    require-from-string "^2.0.2"
-    uri-js "^4.2.2"
-
-asn1.js@^5.0.0:
-  version "5.4.1"
-  resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07"
-  integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==
-  dependencies:
-    bn.js "^4.0.0"
-    inherits "^2.0.1"
-    minimalistic-assert "^1.0.0"
-    safer-buffer "^2.1.0"
-
-atomically@^1.7.0:
-  version "1.7.0"
-  resolved "https://registry.yarnpkg.com/atomically/-/atomically-1.7.0.tgz#c07a0458432ea6dbc9a3506fffa424b48bccaafe"
-  integrity sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w==
-
-bindings@^1.3.0:
-  version "1.5.0"
-  resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df"
-  integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==
-  dependencies:
-    file-uri-to-path "1.0.0"
-
-bn.js@^4.0.0:
-  version "4.12.0"
-  resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88"
-  integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==
-
-conf@^10.2.0:
-  version "10.2.0"
-  resolved "https://registry.yarnpkg.com/conf/-/conf-10.2.0.tgz#838e757be963f1a2386dfe048a98f8f69f7b55d6"
-  integrity sha512-8fLl9F04EJqjSqH+QjITQfJF8BrOVaYr1jewVgSRAEWePfxT0sku4w2hrGQ60BC/TNLGQ2pgxNlTbWQmMPFvXg==
-  dependencies:
-    ajv "^8.6.3"
-    ajv-formats "^2.1.1"
-    atomically "^1.7.0"
-    debounce-fn "^4.0.0"
-    dot-prop "^6.0.1"
-    env-paths "^2.2.1"
-    json-schema-typed "^7.0.3"
-    onetime "^5.1.2"
-    pkg-up "^3.1.0"
-    semver "^7.3.5"
-
-debounce-fn@^4.0.0:
-  version "4.0.0"
-  resolved "https://registry.yarnpkg.com/debounce-fn/-/debounce-fn-4.0.0.tgz#ed76d206d8a50e60de0dd66d494d82835ffe61c7"
-  integrity sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ==
-  dependencies:
-    mimic-fn "^3.0.0"
-
-discord-rich-presence@0.0.8:
-  version "0.0.8"
-  resolved "https://registry.yarnpkg.com/discord-rich-presence/-/discord-rich-presence-0.0.8.tgz#7a2b41ff87a278e8a2c8835cd91c9890d6b9fbdd"
-  integrity sha512-IpVMPjv15C9UvppxvrrGdv6bzQHOW1P1vLoMH15HvdJwGJ3dBd2bnrJ63Uy36YRUfrAMxGLiwUDHncvC8AuPaQ==
-  dependencies:
-    discord-rpc "github:discordjs/rpc"
-
-"discord-rpc@github:discordjs/rpc":
-  version "4.0.1"
-  resolved "https://codeload.github.com/discordjs/rpc/tar.gz/9e7de2a6d917591f10a66389e62e1dc053c04fec"
-  dependencies:
-    node-fetch "^2.6.1"
-    ws "^7.3.1"
-  optionalDependencies:
-    register-scheme "github:devsnek/node-register-scheme"
-
-dot-prop@^6.0.1:
-  version "6.0.1"
-  resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-6.0.1.tgz#fc26b3cf142b9e59b74dbd39ed66ce620c681083"
-  integrity sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==
-  dependencies:
-    is-obj "^2.0.0"
-
-electron-store@^8.1.0:
-  version "8.2.0"
-  resolved "https://registry.yarnpkg.com/electron-store/-/electron-store-8.2.0.tgz#114e6e453e8bb746ab4ccb542424d8c881ad2ca1"
-  integrity sha512-ukLL5Bevdil6oieAOXz3CMy+OgaItMiVBg701MNlG6W5RaC0AHN7rvlqTCmeb6O7jP0Qa1KKYTE0xV0xbhF4Hw==
-  dependencies:
-    conf "^10.2.0"
-    type-fest "^2.17.0"
-
-env-paths@^2.2.1:
-  version "2.2.1"
-  resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2"
-  integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==
-
-fast-deep-equal@^3.1.1:
-  version "3.1.3"
-  resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
-  integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
-
-file-uri-to-path@1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd"
-  integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==
-
-find-up@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73"
-  integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==
-  dependencies:
-    locate-path "^3.0.0"
-
-image-size@^1.1.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/image-size/-/image-size-1.1.1.tgz#ddd67d4dc340e52ac29ce5f546a09f4e29e840ac"
-  integrity sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==
-  dependencies:
-    queue "6.0.2"
-
-inherits@^2.0.1, inherits@~2.0.3:
-  version "2.0.4"
-  resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
-  integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
-
-is-obj@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982"
-  integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==
-
-json-schema-traverse@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2"
-  integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==
-
-json-schema-typed@^7.0.3:
-  version "7.0.3"
-  resolved "https://registry.yarnpkg.com/json-schema-typed/-/json-schema-typed-7.0.3.tgz#23ff481b8b4eebcd2ca123b4fa0409e66469a2d9"
-  integrity sha512-7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A==
-
-locate-path@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e"
-  integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==
-  dependencies:
-    p-locate "^3.0.0"
-    path-exists "^3.0.0"
-
-lru-cache@^6.0.0:
-  version "6.0.0"
-  resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
-  integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
-  dependencies:
-    yallist "^4.0.0"
-
-mimic-fn@^2.1.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
-  integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
-
-mimic-fn@^3.0.0:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-3.1.0.tgz#65755145bbf3e36954b949c16450427451d5ca74"
-  integrity sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==
-
-minimalistic-assert@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
-  integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==
-
-node-addon-api@^1.3.0:
-  version "1.7.2"
-  resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.7.2.tgz#3df30b95720b53c24e59948b49532b662444f54d"
-  integrity sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==
-
-node-fetch@2.6.1:
-  version "2.6.1"
-  resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052"
-  integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==
-
-node-fetch@^2.6.1:
-  version "2.7.0"
-  resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d"
-  integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==
-  dependencies:
-    whatwg-url "^5.0.0"
-
-onetime@^5.1.2:
-  version "5.1.2"
-  resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e"
-  integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==
-  dependencies:
-    mimic-fn "^2.1.0"
-
-openpgp@^5.11.1:
-  version "5.11.1"
-  resolved "https://registry.yarnpkg.com/openpgp/-/openpgp-5.11.1.tgz#97f3a1dfb3d3573a0a73fe2efb29e6b1f8fefb1c"
-  integrity sha512-TynUBPuaSI7dN0gP+A38CjNRLxkOkkptefNanalDQ71BFAKKm+dLbksymSW5bUrB7RcAneMySL/Y+r/TbLpOnQ==
-  dependencies:
-    asn1.js "^5.0.0"
-
-p-limit@^2.0.0:
-  version "2.3.0"
-  resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
-  integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
-  dependencies:
-    p-try "^2.0.0"
-
-p-locate@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4"
-  integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==
-  dependencies:
-    p-limit "^2.0.0"
-
-p-try@^2.0.0:
-  version "2.2.0"
-  resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
-  integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
-
-path-exists@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
-  integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==
-
-pkg-up@^3.1.0:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5"
-  integrity sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==
-  dependencies:
-    find-up "^3.0.0"
-
-punycode@^2.1.0, punycode@^2.3.1:
-  version "2.3.1"
-  resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5"
-  integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==
-
-queue@6.0.2:
-  version "6.0.2"
-  resolved "https://registry.yarnpkg.com/queue/-/queue-6.0.2.tgz#b91525283e2315c7553d2efa18d83e76432fed65"
-  integrity sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==
-  dependencies:
-    inherits "~2.0.3"
-
-"register-scheme@github:devsnek/node-register-scheme":
-  version "0.0.2"
-  resolved "https://codeload.github.com/devsnek/node-register-scheme/tar.gz/e7cc9a63a1f512565da44cb57316d9fb10750e17"
-  dependencies:
-    bindings "^1.3.0"
-    node-addon-api "^1.3.0"
-
-require-from-string@^2.0.2:
-  version "2.0.2"
-  resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909"
-  integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==
-
-safer-buffer@^2.1.0:
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
-  integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
-
-semver@^7.3.5:
-  version "7.6.0"
-  resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d"
-  integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==
-  dependencies:
-    lru-cache "^6.0.0"
-
-systeminformation@^5.22.0:
-  version "5.22.7"
-  resolved "https://registry.yarnpkg.com/systeminformation/-/systeminformation-5.22.7.tgz#9a20810c7eacad4aebe7591cb7c78c0dd96dbd1a"
-  integrity sha512-AWxlP05KeHbpGdgvZkcudJpsmChc2Y5Eo/GvxG/iUA/Aws5LZKHAMSeAo+V+nD+nxWZaxrwpWcnx4SH3oxNL3A==
-
-tr46@^5.0.0:
-  version "5.0.0"
-  resolved "https://registry.yarnpkg.com/tr46/-/tr46-5.0.0.tgz#3b46d583613ec7283020d79019f1335723801cec"
-  integrity sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==
-  dependencies:
-    punycode "^2.3.1"
-
-tr46@~0.0.3:
-  version "0.0.3"
-  resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
-  integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==
-
-type-fest@^2.17.0:
-  version "2.19.0"
-  resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b"
-  integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==
-
-uri-js@^4.2.2:
-  version "4.4.1"
-  resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
-  integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
-  dependencies:
-    punycode "^2.1.0"
-
-webidl-conversions@^3.0.0:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"
-  integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==
-
-webidl-conversions@^7.0.0:
-  version "7.0.0"
-  resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a"
-  integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==
-
-whatwg-url@^14.0.0:
-  version "14.0.0"
-  resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-14.0.0.tgz#00baaa7fd198744910c4b1ef68378f2200e4ceb6"
-  integrity sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==
-  dependencies:
-    tr46 "^5.0.0"
-    webidl-conversions "^7.0.0"
-
-whatwg-url@^5.0.0:
-  version "5.0.0"
-  resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d"
-  integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==
-  dependencies:
-    tr46 "~0.0.3"
-    webidl-conversions "^3.0.0"
-
-ws@^7.3.1:
-  version "7.5.9"
-  resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591"
-  integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==
-
-xmldom@^0.6.0:
-  version "0.6.0"
-  resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.6.0.tgz#43a96ecb8beece991cef382c08397d82d4d0c46f"
-  integrity sha512-iAcin401y58LckRZ0TkI4k0VSM1Qg0KGSc3i8rU+xrxe19A/BN1zHyVSJY7uoutVlaTSzYyk/v5AmkewAP7jtg==
-
-yallist@^4.0.0:
-  version "4.0.0"
-  resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
-  integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
diff --git a/pkgs/by-name/ti/tilemaker/package.nix b/pkgs/by-name/ti/tilemaker/package.nix
index 6a06e17f1fdda..7e7714635c891 100644
--- a/pkgs/by-name/ti/tilemaker/package.nix
+++ b/pkgs/by-name/ti/tilemaker/package.nix
@@ -56,7 +56,7 @@ stdenv.mkDerivation (finalAttrs: {
   meta = with lib; {
     description = "Make OpenStreetMap vector tiles without the stack";
     homepage = "https://tilemaker.org/";
-    changelog = "https://github.com/systemed/tilemaker/blob/v${version}/CHANGELOG.md";
+    changelog = "https://github.com/systemed/tilemaker/blob/v${finalAttrs.version}/CHANGELOG.md";
     license = licenses.free; # FTWPL
     maintainers = with maintainers; [ sikmir ];
     platforms = platforms.unix;
diff --git a/pkgs/by-name/ti/tinymist/Cargo.lock b/pkgs/by-name/ti/tinymist/Cargo.lock
index 8880b3dbab131..9d42baf5a617f 100644
--- a/pkgs/by-name/ti/tinymist/Cargo.lock
+++ b/pkgs/by-name/ti/tinymist/Cargo.lock
@@ -625,7 +625,7 @@ version = "0.15.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb"
 dependencies = [
- "encode_unicode",
+ "encode_unicode 0.3.6",
  "lazy_static",
  "libc",
  "windows-sys 0.52.0",
@@ -926,6 +926,16 @@ dependencies = [
 ]
 
 [[package]]
+name = "dirs-next"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1"
+dependencies = [
+ "cfg-if",
+ "dirs-sys-next",
+]
+
+[[package]]
 name = "dirs-sys"
 version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -938,6 +948,17 @@ dependencies = [
 ]
 
 [[package]]
+name = "dirs-sys-next"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d"
+dependencies = [
+ "libc",
+ "redox_users",
+ "winapi",
+]
+
+[[package]]
 name = "displaydoc"
 version = "0.2.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1015,6 +1036,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f"
 
 [[package]]
+name = "encode_unicode"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0"
+
+[[package]]
 name = "encoding_rs"
 version = "0.8.33"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1910,6 +1937,17 @@ dependencies = [
 ]
 
 [[package]]
+name = "is-terminal"
+version = "0.4.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b"
+dependencies = [
+ "hermit-abi",
+ "libc",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
 name = "is-wsl"
 version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2634,6 +2672,20 @@ dependencies = [
 ]
 
 [[package]]
+name = "prettytable-rs"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eea25e07510aa6ab6547308ebe3c036016d162b8da920dbb079e3ba8acf3d95a"
+dependencies = [
+ "csv",
+ "encode_unicode 1.0.0",
+ "is-terminal",
+ "lazy_static",
+ "term",
+ "unicode-width",
+]
+
+[[package]]
 name = "proc-macro2"
 version = "1.0.79"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2962,6 +3014,29 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3cd14fd5e3b777a7422cca79358c57a8f6e3a703d9ac187448d0daf220c2407f"
 
 [[package]]
+name = "rust_iso3166"
+version = "0.1.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e676677b94480848a8d88c74553bad50aed2ee77d8c0985aa50d8c4e26f3054b"
+dependencies = [
+ "js-sys",
+ "phf",
+ "prettytable-rs",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "rust_iso639"
+version = "0.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a079fa995fd99d42d7244f325b6737677852036ce2efe5244227d2c75ff4bd73"
+dependencies = [
+ "phf",
+ "prettytable-rs",
+ "wasm-bindgen",
+]
+
+[[package]]
 name = "rustc-demangle"
 version = "0.1.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3575,6 +3650,17 @@ dependencies = [
 ]
 
 [[package]]
+name = "term"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f"
+dependencies = [
+ "dirs-next",
+ "rustversion",
+ "winapi",
+]
+
+[[package]]
 name = "termcolor"
 version = "1.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3595,7 +3681,7 @@ dependencies = [
 
 [[package]]
 name = "tests"
-version = "0.11.4"
+version = "0.11.5"
 dependencies = [
  "insta",
  "lsp-server",
@@ -3692,7 +3778,7 @@ dependencies = [
 
 [[package]]
 name = "tinymist"
-version = "0.11.4"
+version = "0.11.5"
 dependencies = [
  "anyhow",
  "async-trait",
@@ -3743,7 +3829,7 @@ dependencies = [
 
 [[package]]
 name = "tinymist-query"
-version = "0.11.4"
+version = "0.11.5"
 dependencies = [
  "anyhow",
  "comemo 0.4.0",
@@ -3764,6 +3850,8 @@ dependencies = [
  "percent-encoding",
  "reflexo",
  "regex",
+ "rust_iso3166",
+ "rust_iso639",
  "serde",
  "serde_json",
  "sha2",
@@ -3779,7 +3867,7 @@ dependencies = [
 
 [[package]]
 name = "tinymist-render"
-version = "0.11.4"
+version = "0.11.5"
 dependencies = [
  "base64 0.22.0",
  "log",
@@ -4370,9 +4458,9 @@ dependencies = [
 
 [[package]]
 name = "typstyle"
-version = "0.11.13"
+version = "0.11.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38f04e5495bff9deed2a9155dca07889ec0fe1c79f48eb2d9ea99fc272459499"
+checksum = "f701eb3c275c8250b3e5e18c3c081e36861cdd5b2e78538ff4984735cbfd9591"
 dependencies = [
  "anyhow",
  "clap",
diff --git a/pkgs/by-name/ti/tinymist/package.nix b/pkgs/by-name/ti/tinymist/package.nix
index 371e4d6f2118c..cc0d0c6451f2b 100644
--- a/pkgs/by-name/ti/tinymist/package.nix
+++ b/pkgs/by-name/ti/tinymist/package.nix
@@ -13,13 +13,13 @@ rustPlatform.buildRustPackage rec {
   pname = "tinymist";
   # Please update the corresponding vscode extension when updating
   # this derivation.
-  version = "0.11.4";
+  version = "0.11.5";
 
   src = fetchFromGitHub {
     owner = "Myriad-Dreamin";
     repo = "tinymist";
     rev = "v${version}";
-    hash = "sha256-zMwyM4Y+nn/u/UXGlOxGB/JApgmYQW4qAek40uJO0Fc=";
+    hash = "sha256-VwyuK0Ct0ifx1R5tqeucqQNrkzqzhgxPqYeuETr8SkY=";
   };
 
   cargoLock = {
diff --git a/pkgs/by-name/tl/tlrc/package.nix b/pkgs/by-name/tl/tlrc/package.nix
index 5ac8fe12fb971..247f345bd7b18 100644
--- a/pkgs/by-name/tl/tlrc/package.nix
+++ b/pkgs/by-name/tl/tlrc/package.nix
@@ -6,16 +6,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "tlrc";
-  version = "1.9.1";
+  version = "1.9.2";
 
   src = fetchFromGitHub {
     owner = "tldr-pages";
     repo = "tlrc";
     rev = "v${version}";
-    hash = "sha256-RzGw4rvak055V48bkeuzKAH6F/wlFMLya8Ny3mgU+H4=";
+    hash = "sha256-JQx4vuXbsLrPAbmPlwPiPXJIpRufUzQN+R+Wqj4H8n4=";
   };
 
-  cargoHash = "sha256-BbBt6oCO9y++EWx9/CXISGfB/FEcEPKYeXNXcejevrg=";
+  cargoHash = "sha256-5caZTdpEog8xdCn+LOfW5UdbuWZmO8iggSstxvdjwb0=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/by-name/to/tootik/package.nix b/pkgs/by-name/to/tootik/package.nix
index 51d890f5c731a..b799a753146f7 100644
--- a/pkgs/by-name/to/tootik/package.nix
+++ b/pkgs/by-name/to/tootik/package.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "tootik";
-  version = "0.10.2";
+  version = "0.10.3";
 
   src = fetchFromGitHub {
     owner = "dimkr";
     repo = "tootik";
     rev = version;
-    hash = "sha256-roB1mrhq9LQcdi7ynPzI9UmeawSw9fX7jl3bb6+ygfM=";
+    hash = "sha256-afGFQxC9WJxSQk6LLl4IBo1JoKqcKQ/Qc7HOaJKi2Do=";
   };
 
   vendorHash = "sha256-Lsc8nK4I1gZEW7RbEapHr3IJ6wTATLElX3XfNX1LwvM=";
diff --git a/pkgs/by-name/to/torctl/package.nix b/pkgs/by-name/to/torctl/package.nix
new file mode 100644
index 0000000000000..706ec96a59e04
--- /dev/null
+++ b/pkgs/by-name/to/torctl/package.nix
@@ -0,0 +1,32 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+}:
+
+stdenv.mkDerivation rec {
+  pname = "torctl";
+  version = "0.5.7";
+
+  src = fetchFromGitHub {
+    owner = "BlackArch";
+    repo = "torctl";
+    rev = "v${version}";
+    hash = "sha256-rTJR+9pbK/sWMqdHyIqJgASgCGtGtpUPoHmYZJ7COFQ=";
+  };
+
+  installPhase = ''
+    mkdir -p $out/{bin,etc/{systemd,bash_completion.d}}
+    cp -R torctl $out/bin
+    cp -R bash-completion $out/etc/bash_completion.d/
+    cp -R service $out/etc/systemd/
+  '';
+
+  meta = with lib; {
+    description = "Script to redirect all traffic through tor network including dns queries for anonymizing entire system";
+    homepage = "https://github.com/BlackArch/torctl";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ tochiaha ];
+    mainProgram = "torctl";
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/by-name/tr/trickest-cli/package.nix b/pkgs/by-name/tr/trickest-cli/package.nix
new file mode 100644
index 0000000000000..228dccf4ad418
--- /dev/null
+++ b/pkgs/by-name/tr/trickest-cli/package.nix
@@ -0,0 +1,33 @@
+{
+  lib,
+  buildGoModule,
+  fetchFromGitHub,
+}:
+
+buildGoModule rec {
+  pname = "trickest-cli";
+  version = "1.7.5";
+
+  src = fetchFromGitHub {
+    owner = "trickest";
+    repo = "trickest-cli";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-erPcb+cHCAmhPGwfu+g0yyAFx252+tpIOFQiUBuPUcs=";
+  };
+
+  vendorHash = "sha256-gk8YMMvTHBL7yoXU9n0jhtUS472fqLW5m+mSl4Lio6c=";
+
+  ldflags = [
+    "-s"
+    "-w"
+  ];
+
+  meta = with lib; {
+    description = "CLI tool to execute Trickest workflows";
+    homepage = "https://github.com/trickest/trickest-cli";
+    changelog = "https://github.com/trickest/trickest-cli/releases/tag/v${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+    mainProgram = "trickest";
+  };
+}
diff --git a/pkgs/by-name/tu/tuifimanager/package.nix b/pkgs/by-name/tu/tuifimanager/package.nix
index eee63fb90c9d5..3e0531f4805f5 100644
--- a/pkgs/by-name/tu/tuifimanager/package.nix
+++ b/pkgs/by-name/tu/tuifimanager/package.nix
@@ -5,14 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "tuifimanager";
-  version = "4.0.0";
+  version = "4.0.5";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "GiorgosXou";
     repo = "TUIFIManager";
-    rev = "v${version}";
-    hash = "sha256-bv/+x2xppUK9i3HOm93FIQRu1xlB4wCKZzAapkVlrM0=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-DuCrIJuADmJ0MHIP0+OJ0zCrQR/oGdgzJ1xck4m/tPo=";
   };
 
   nativeBuildInputs = [
@@ -34,7 +34,6 @@ python3.pkgs.buildPythonApplication rec {
       attempt to get more attention to the Uni-Curses project.
     '';
     homepage = "https://github.com/GiorgosXou/TUIFIManager";
-    changelog = "https://github.com/GiorgosXou/TUIFIManager/blob/${src.rev}/CHANGELOG.md";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ michaelBelsanti sigmanificient ];
     mainProgram = "tuifi";
diff --git a/pkgs/by-name/tw/twitch-dl/package.nix b/pkgs/by-name/tw/twitch-dl/package.nix
index 29340a7f06c66..318b3ecb3daaf 100644
--- a/pkgs/by-name/tw/twitch-dl/package.nix
+++ b/pkgs/by-name/tw/twitch-dl/package.nix
@@ -7,14 +7,14 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "twitch-dl";
-  version = "2.2.0";
+  version = "2.2.2";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "ihabunek";
     repo = "twitch-dl";
     rev = "refs/tags/${version}";
-    hash = "sha256-H2SxZgEjVdj/GRguJ2v/WWUrh0VTrwFV9mZVn/EYyPg=";
+    hash = "sha256-Os27uqH3MA3v9+8WzfL5KIEUewAzf8JUyRtsWSzw81o=";
   };
 
   postPatch = ''
@@ -58,7 +58,7 @@ python3Packages.buildPythonApplication rec {
     homepage = "https://github.com/ihabunek/twitch-dl";
     changelog = "https://github.com/ihabunek/twitch-dl/blob/${src.rev}/CHANGELOG.md";
     license = licenses.gpl3Only;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
     mainProgram = "twitch-dl";
   };
 }
diff --git a/pkgs/by-name/ue/ueviewer/package.nix b/pkgs/by-name/ue/ueviewer/package.nix
new file mode 100644
index 0000000000000..7ce9fc3d18dab
--- /dev/null
+++ b/pkgs/by-name/ue/ueviewer/package.nix
@@ -0,0 +1,97 @@
+{ gccStdenv
+, lib
+, fetchFromGitHub
+, fetchpatch
+, unstableGitUpdater
+, libpng
+, perl
+, SDL2
+, zlib
+}:
+
+gccStdenv.mkDerivation (finalAttrs: {
+  pname = "ueviewer";
+  version = "0-unstable-2024-02-23";
+
+  src = fetchFromGitHub {
+    owner = "gildor2";
+    repo = "UEViewer";
+    rev = "a0bfb468d42be831b126632fd8a0ae6b3614f981";
+    hash = "sha256-Cz4jK2jJMzz57/RcEzjIjD611vCy7l3xQ0pQZjneTFQ=";
+  };
+
+  patches = [
+    # Fix compilation on Darwin
+    # Remove when https://github.com/gildor2/UEViewer/pull/319 merged
+    (fetchpatch {
+      name = "0001-ueviewer-Dont-use-c++2a-standard.patch";
+      url = "https://github.com/gildor2/UEViewer/commit/d44bef038abca99c84d7f418aedcbcb761de58aa.patch";
+      hash = "sha256-v68yoBLz0dUB3evlKApKuajKQiOwbJczVeW5oxYaVyw=";
+    })
+  ];
+
+  postPatch = ''
+    patchShebangs build.sh Unreal/Shaders/make.pl Tools/genmake
+
+    # Enable more verbose build output
+    # Unify -j arguments on make calls
+    # Show what's being run
+    substituteInPlace build.sh \
+      --replace-fail '#	echo ">> Debug: $*"' '	echo ">> Debug: $*"' \
+      --replace-fail 'make -j 4 -f $makefile' 'make -f $makefile' \
+      --replace-fail 'make -f $makefile' "make ''${enableParallelBuilding:+-j''${NIX_BUILD_CORES}} -f \$makefile SHELL='sh -x'"
+
+    # - Use correct compiler from stdenv
+    # - Use C++ compiler instead of relying on leniency
+    # -pipe breaks GCC on Darwin: clang-16: error: no input files
+    substituteInPlace Tools/genmake \
+      --replace-fail 'my $platf = "gcc";' "my \$platf = \"$CXX\";" \
+      --replace-fail '-pipe' ""
+  '';
+
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    perl
+  ];
+
+  buildInputs = [
+    libpng
+    zlib
+  ] ++ lib.optionals (!gccStdenv.hostPlatform.isDarwin) [
+    SDL2
+  ];
+
+  enableParallelBuilding = true;
+
+  buildPhase = ''
+    runHook preBuild
+
+    ./build.sh
+
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm755 umodel $out/bin/umodel
+
+    runHook postInstall
+  '';
+
+  passthru.updateScript = unstableGitUpdater {
+    # Tags represent various milestones, nothing that can be mapped to a numerical version number
+    hardcodeZeroVersion = true;
+  };
+
+  meta = with lib; {
+    description = "Viewer and exporter for Unreal Engine 1-4 assets (aka umodel)";
+    homepage = "https://www.gildor.org/en/projects/umodel";
+    license = licenses.mit;
+    mainProgram = "umodel";
+    maintainers = with maintainers; [ OPNA2608 ];
+    # Hardcoded usage of SSE2
+    platforms = platforms.x86;
+  };
+})
diff --git a/pkgs/by-name/un/unciv/package.nix b/pkgs/by-name/un/unciv/package.nix
index b73b58113728c..d548184ab7509 100644
--- a/pkgs/by-name/un/unciv/package.nix
+++ b/pkgs/by-name/un/unciv/package.nix
@@ -27,11 +27,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "unciv";
-  version = "4.11.4";
+  version = "4.11.8";
 
   src = fetchurl {
     url = "https://github.com/yairm210/Unciv/releases/download/${version}/Unciv.jar";
-    hash = "sha256-QqnM1kTXHHpf8l99J8ydIjTkl/LetijzIJgLYt6OaRA=";
+    hash = "sha256-iNcz6kfzlr1f1kC6xo1htyT46JjgEMeo21JIfOBxeQw=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/by-name/un/universal-android-debloater/package.nix b/pkgs/by-name/un/universal-android-debloater/package.nix
index ad5cf9d11e069..f48cfebe0ecdd 100644
--- a/pkgs/by-name/un/universal-android-debloater/package.nix
+++ b/pkgs/by-name/un/universal-android-debloater/package.nix
@@ -6,6 +6,8 @@
 , freetype
 , lib
 , libglvnd
+, libxkbcommon
+, wayland
 , makeWrapper
 , mold
 , pkg-config
@@ -47,7 +49,7 @@ rustPlatform.buildRustPackage rec {
 
   postInstall = ''
     wrapProgram $out/bin/uad-ng \
-      --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ fontconfig freetype libglvnd xorg.libX11 xorg.libXcursor xorg.libXi xorg.libXrandr ]} \
+      --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ fontconfig freetype libglvnd libxkbcommon wayland xorg.libX11 xorg.libXcursor xorg.libXi xorg.libXrandr ]} \
       --suffix PATH : ${lib.makeBinPath [ android-tools ]}
   '';
 
@@ -57,7 +59,7 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/Universal-Debloater-Alliance/universal-android-debloater-next-generation";
     license = licenses.gpl3Only;
     mainProgram = "uad-ng";
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ lavafroth ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/by-name/up/updatecli/package.nix b/pkgs/by-name/up/updatecli/package.nix
index 6f0022f127dc0..5427471c8229f 100644
--- a/pkgs/by-name/up/updatecli/package.nix
+++ b/pkgs/by-name/up/updatecli/package.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "updatecli";
-  version = "0.75.0";
+  version = "0.76.0";
 
   src = fetchFromGitHub {
     owner = "updatecli";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-8jQCwnc/kj3m/02nrA/na422rrvxxF7D3LzUen3O6ms=";
+    hash = "sha256-UfiwagyE3w+kcPJnDDNTCGrxghnag/RPz6SSdAglyYA=";
   };
 
-  vendorHash = "sha256-7LC5gzK54u8zEtDOyeU1kgIycGLxOeMWYrrDTvC3gVQ=";
+  vendorHash = "sha256-STiVtzA78zeo5wywwzvA0dqmBW3REUvcpOXuWjpxReY=";
 
   # tests require network access
   doCheck = false;
diff --git a/pkgs/by-name/up/uplosi/package.nix b/pkgs/by-name/up/uplosi/package.nix
index 775657e5a64af..f58db5625ac2c 100644
--- a/pkgs/by-name/up/uplosi/package.nix
+++ b/pkgs/by-name/up/uplosi/package.nix
@@ -5,16 +5,16 @@
 }:
 buildGoModule rec {
   pname = "uplosi";
-  version = "0.2.0";
+  version = "0.2.1";
 
   src = fetchFromGitHub {
     owner = "edgelesssys";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-TrHREV/bmrjwlE4bsXZDKvIQKa68AnUSktnqCKdvOe8=";
+    hash = "sha256-i/RVCoeQLeOaPaEtJS/l+42CVohMucA6cBBt0mdJ4uE=";
   };
 
-  vendorHash = "sha256-0uQBhNRP3OGn3hw6Mx6tRliTqIhoBnyfRmdtdtuYwaY=";
+  vendorHash = "sha256-f8Yz99qlN0S0Ybewifc0VQanYXKinb1togBkUwDPSvw=";
 
   CGO_ENABLED = "0";
   ldflags = [ "-s" "-w" "-X main.version=${version}" ];
diff --git a/pkgs/by-name/uv/uv/Cargo.lock b/pkgs/by-name/uv/uv/Cargo.lock
index 99c96ee226159..c751fedd8c2ce 100644
--- a/pkgs/by-name/uv/uv/Cargo.lock
+++ b/pkgs/by-name/uv/uv/Cargo.lock
@@ -128,6 +128,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f538837af36e6f6a9be0faa67f9a314f8119e4e4b5867c6ab40ed60360142519"
 
 [[package]]
+name = "arbitrary"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110"
+dependencies = [
+ "derive_arbitrary",
+]
+
+[[package]]
 name = "arc-swap"
 version = "1.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -984,6 +993,17 @@ dependencies = [
 ]
 
 [[package]]
+name = "derive_arbitrary"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.58",
+]
+
+[[package]]
 name = "diff"
 version = "0.1.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4398,7 +4418,7 @@ checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0"
 
 [[package]]
 name = "uv"
-version = "0.1.36"
+version = "0.1.39"
 dependencies = [
  "anstream",
  "anyhow",
@@ -4469,17 +4489,16 @@ dependencies = [
  "anyhow",
  "async-trait",
  "base64 0.22.0",
+ "futures",
  "http",
  "insta",
+ "once-map",
  "once_cell",
  "reqwest",
  "reqwest-middleware",
  "rust-netrc",
- "schemars",
- "serde",
  "tempfile",
  "test-log",
- "thiserror",
  "tokio",
  "tracing",
  "url",
@@ -4603,7 +4622,6 @@ dependencies = [
  "serde",
  "serde_json",
  "uv-auth",
- "uv-cache",
  "uv-normalize",
 ]
 
@@ -4613,7 +4631,6 @@ version = "0.0.1"
 dependencies = [
  "anstream",
  "anyhow",
- "chrono",
  "clap",
  "distribution-filename",
  "distribution-types",
@@ -4690,7 +4707,6 @@ dependencies = [
  "fs-err",
  "futures",
  "install-wheel-rs",
- "md-5",
  "nanoid",
  "once_cell",
  "pep440_rs",
@@ -4702,7 +4718,6 @@ dependencies = [
  "rmp-serde",
  "rustc-hash",
  "serde",
- "sha2",
  "tempfile",
  "thiserror",
  "tokio",
@@ -4798,7 +4813,6 @@ dependencies = [
  "pypi-types",
  "rayon",
  "requirements-txt",
- "rmp-serde",
  "rustc-hash",
  "serde",
  "tempfile",
@@ -4848,6 +4862,7 @@ dependencies = [
  "uv-cache",
  "uv-fs",
  "uv-toolchain",
+ "uv-warnings",
  "which",
  "winapi",
 ]
@@ -4959,7 +4974,6 @@ dependencies = [
  "serde",
  "tempfile",
  "thiserror",
- "tokio",
  "tokio-util",
  "tracing",
  "url",
@@ -4973,17 +4987,13 @@ name = "uv-types"
 version = "0.0.1"
 dependencies = [
  "anyhow",
- "clap",
  "distribution-types",
- "itertools 0.12.1",
  "once-map",
  "pep440_rs",
  "pep508_rs",
  "pypi-types",
  "requirements-txt",
  "rustc-hash",
- "serde",
- "serde_json",
  "thiserror",
  "url",
  "uv-cache",
@@ -4994,7 +5004,7 @@ dependencies = [
 
 [[package]]
 name = "uv-version"
-version = "0.1.36"
+version = "0.1.39"
 
 [[package]]
 name = "uv-virtualenv"
@@ -5014,6 +5024,7 @@ dependencies = [
  "uv-cache",
  "uv-fs",
  "uv-interpreter",
+ "uv-version",
 ]
 
 [[package]]
@@ -5034,13 +5045,11 @@ dependencies = [
  "distribution-types",
  "fs-err",
  "install-wheel-rs",
- "pep508_rs",
  "schemars",
  "serde",
  "thiserror",
  "toml",
  "tracing",
- "uv-auth",
  "uv-configuration",
  "uv-fs",
  "uv-normalize",
@@ -5640,10 +5649,11 @@ checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d"
 
 [[package]]
 name = "zip"
-version = "0.6.6"
+version = "1.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261"
+checksum = "f2655979068a1f8fa91cb9e8e5b9d3ee54d18e0ddc358f2f4a395afc0929a84b"
 dependencies = [
+ "arbitrary",
  "byteorder",
  "crc32fast",
  "crossbeam-utils",
diff --git a/pkgs/by-name/uv/uv/package.nix b/pkgs/by-name/uv/uv/package.nix
index 09b05725caa97..77f775d3793ee 100644
--- a/pkgs/by-name/uv/uv/package.nix
+++ b/pkgs/by-name/uv/uv/package.nix
@@ -12,13 +12,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "uv";
-  version = "0.1.36";
+  version = "0.1.39";
 
   src = fetchFromGitHub {
     owner = "astral-sh";
     repo = "uv";
     rev = version;
-    hash = "sha256-ngKVc3RJzkkjIfeyRbPe2kzBSJH7T8wdyZo3DP9FwpU=";
+    hash = "sha256-o5KrguapmfihO8oAse+LjBH9MvSsUORyZRALxkU4+xA=";
   };
 
   cargoLock = {
@@ -65,7 +65,7 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/astral-sh/uv";
     changelog = "https://github.com/astral-sh/uv/blob/${src.rev}/CHANGELOG.md";
     license = with licenses; [ asl20 mit ];
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ GaetanLepage ];
     mainProgram = "uv";
   };
 }
diff --git a/pkgs/by-name/va/valkey/package.nix b/pkgs/by-name/va/valkey/package.nix
new file mode 100644
index 0000000000000..60c866992659c
--- /dev/null
+++ b/pkgs/by-name/va/valkey/package.nix
@@ -0,0 +1,85 @@
+{ lib, stdenv, fetchFromGitHub, lua, jemalloc, pkg-config
+, tcl, which, ps, getconf
+, withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd, systemd
+# dependency ordering is broken at the moment when building with openssl
+, tlsSupport ? !stdenv.hostPlatform.isStatic, openssl
+
+# Using system jemalloc fixes cross-compilation and various setups.
+# However the experimental 'active defragmentation' feature of valkey requires
+# their custom patched version of jemalloc.
+, useSystemJemalloc ? true
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "valkey";
+  version = "7.2.5";
+
+  src = fetchFromGitHub {
+    owner = "valkey-io";
+    repo = "valkey";
+    rev = finalAttrs.version;
+    hash = "sha256-nDAQbxlSBXKSJqZgvElsrZeDnHw4A4eA8f9ecXdx0/U=";
+  };
+
+  patches = lib.optional useSystemJemalloc ./use_system_jemalloc.patch;
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ lua ]
+    ++ lib.optional useSystemJemalloc jemalloc
+    ++ lib.optional withSystemd systemd
+    ++ lib.optional tlsSupport openssl;
+
+  preBuild = lib.optionalString stdenv.isDarwin ''
+    substituteInPlace src/Makefile --replace-fail "-flto" ""
+  '';
+
+  # More cross-compiling fixes.
+  makeFlags = [ "PREFIX=${placeholder "out"}" ]
+    ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ "AR=${stdenv.cc.targetPrefix}ar" "RANLIB=${stdenv.cc.targetPrefix}ranlib" ]
+    ++ lib.optionals withSystemd [ "USE_SYSTEMD=yes" ]
+    ++ lib.optionals tlsSupport [ "BUILD_TLS=yes" ];
+
+  enableParallelBuilding = true;
+
+  hardeningEnable = lib.optionals (!stdenv.isDarwin) [ "pie" ];
+
+  env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.cc.isClang [ "-std=c11" ]);
+
+  # darwin currently lacks a pure `pgrep` which is extensively used here
+  doCheck = !stdenv.isDarwin;
+  nativeCheckInputs = [ which tcl ps ] ++ lib.optionals stdenv.hostPlatform.isStatic [ getconf ];
+  checkPhase = ''
+    runHook preCheck
+
+    # disable test "Connect multiple replicas at the same time": even
+    # upstream find this test too timing-sensitive
+    substituteInPlace tests/integration/replication.tcl \
+      --replace-fail 'foreach mdl {no yes}' 'foreach mdl {}'
+
+    substituteInPlace tests/support/server.tcl \
+      --replace-fail 'exec /usr/bin/env' 'exec env'
+
+    sed -i '/^proc wait_load_handlers_disconnected/{n ; s/wait_for_condition 50 100/wait_for_condition 50 500/; }' \
+      tests/support/util.tcl
+
+    ./runtest \
+      --no-latency \
+      --timeout 2000 \
+      --clients $NIX_BUILD_CORES \
+      --tags -leaks \
+      --skipunit integration/failover # flaky and slow
+
+    runHook postCheck
+  '';
+
+  meta = with lib; {
+    homepage = "https://valkey.io/";
+    description = "A high-performance data structure server that primarily serves key/value workloads";
+    license = licenses.bsd3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ rucadi ];
+    changelog = "https://github.com/valkey-io/valkey/releases/tag/${finalAttrs.version}";
+    mainProgram = "valkey-cli";
+  };
+})
diff --git a/pkgs/by-name/va/valkey/use_system_jemalloc.patch b/pkgs/by-name/va/valkey/use_system_jemalloc.patch
new file mode 100644
index 0000000000000..41451e3936127
--- /dev/null
+++ b/pkgs/by-name/va/valkey/use_system_jemalloc.patch
@@ -0,0 +1,15 @@
+diff --git a/src/Makefile b/src/Makefile
+index 3bc9f11c0..a4b23d986 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -229,8 +229,8 @@ endif
+ 
+ ifeq ($(MALLOC),jemalloc)
+ 	DEPENDENCY_TARGETS+= jemalloc
+-	FINAL_CFLAGS+= -DUSE_JEMALLOC -I../deps/jemalloc/include
+-	FINAL_LIBS := ../deps/jemalloc/lib/libjemalloc.a $(FINAL_LIBS)
++	FINAL_CFLAGS+= -DUSE_JEMALLOC -DJEMALLOC_NO_DEMANGLE -I/usr/include/jemalloc
++	FINAL_LIBS := -ljemalloc $(FINAL_LIBS)
+ endif
+ 
+ ifeq ($(BUILD_TLS),yes)
\ No newline at end of file
diff --git a/pkgs/by-name/vc/vcpkg-tool/package.nix b/pkgs/by-name/vc/vcpkg-tool/package.nix
index 468a259e21116..327366ddd8bb5 100644
--- a/pkgs/by-name/vc/vcpkg-tool/package.nix
+++ b/pkgs/by-name/vc/vcpkg-tool/package.nix
@@ -18,13 +18,13 @@
 }:
 stdenv.mkDerivation (finalAttrs: {
   pname = "vcpkg-tool";
-  version = "2024-03-14";
+  version = "2024-04-23";
 
   src = fetchFromGitHub {
     owner = "microsoft";
     repo = "vcpkg-tool";
     rev = finalAttrs.version;
-    hash = "sha256-xe5a1cK56KvO4DFFz/K1omBCebzTRUOpXDpkOGek10M=";
+    hash = "sha256-PqmkQcpxuYJGZJs2qemv0hshvO4KTiKc1ZY0//Gq0pY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/ve/vencord/package-lock.json b/pkgs/by-name/ve/vencord/package-lock.json
index 6f6e7e3fae823..8af42a918205f 100644
--- a/pkgs/by-name/ve/vencord/package-lock.json
+++ b/pkgs/by-name/ve/vencord/package-lock.json
@@ -1,12 +1,12 @@
 {
     "name": "vencord",
-    "version": "1.7.8",
+    "version": "1.7.9",
     "lockfileVersion": 3,
     "requires": true,
     "packages": {
         "": {
             "name": "vencord",
-            "version": "1.7.8",
+            "version": "1.7.9",
             "license": "GPL-3.0-or-later",
             "dependencies": {
                 "@sapphi-red/web-noise-suppressor": "0.3.3",
@@ -54,15 +54,6 @@
                 "pnpm": ">=8"
             }
         },
-        "node_modules/@aashutoshrathi/word-wrap": {
-            "version": "1.2.6",
-            "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz",
-            "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==",
-            "dev": true,
-            "engines": {
-                "node": ">=0.10.0"
-            }
-        },
         "node_modules/@babel/code-frame": {
             "version": "7.24.2",
             "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz",
@@ -779,9 +770,9 @@
             }
         },
         "node_modules/@types/diff": {
-            "version": "5.0.9",
-            "resolved": "https://registry.npmjs.org/@types/diff/-/diff-5.0.9.tgz",
-            "integrity": "sha512-RWVEhh/zGXpAVF/ZChwNnv7r4rvqzJ7lYNSmZSVTxjV0PBLf6Qu7RNg+SUtkpzxmiNkjCx0Xn2tPp7FIkshJwQ==",
+            "version": "5.2.0",
+            "resolved": "https://registry.npmjs.org/@types/diff/-/diff-5.2.0.tgz",
+            "integrity": "sha512-pjJH+02ukgJRW0mViDUA1cdC+wzSgRu0e4cPuogPLAw0i66y62iMP0ZlXoJAmoXrKRZnF3pMDwyKZsgNVlMX4A==",
             "dev": true
         },
         "node_modules/@types/filesystem": {
@@ -845,9 +836,9 @@
             "dev": true
         },
         "node_modules/@types/react": {
-            "version": "18.2.79",
-            "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.79.tgz",
-            "integrity": "sha512-RwGAGXPl9kSXwdNTafkOEuFrTBD5SA2B3iEB96xi8+xu5ddUa/cpvyVCSNn+asgLCTHkb5ZxN8gbuibYJi4s1w==",
+            "version": "18.3.1",
+            "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.1.tgz",
+            "integrity": "sha512-V0kuGBX3+prX+DQ/7r2qsv1NsdfnCLnTgnRJ1pYnxykBhGMz+qj+box5lq7XsO5mtZsBqpjwwTu/7wszPfMBcw==",
             "dev": true,
             "dependencies": {
                 "@types/prop-types": "*",
@@ -855,9 +846,9 @@
             }
         },
         "node_modules/@types/react-dom": {
-            "version": "18.2.25",
-            "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.25.tgz",
-            "integrity": "sha512-o/V48vf4MQh7juIKZU2QGDfli6p1+OOi5oXx36Hffpc9adsHeXjVp8rHuPkjd8VT8sOJ2Zp05HR7CdpGTIUFUA==",
+            "version": "18.3.0",
+            "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz",
+            "integrity": "sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==",
             "dev": true,
             "dependencies": {
                 "@types/react": "*"
@@ -1658,9 +1649,9 @@
             }
         },
         "node_modules/css-functions-list": {
-            "version": "3.2.1",
-            "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.1.tgz",
-            "integrity": "sha512-Nj5YcaGgBtuUmn1D7oHqPW0c9iui7xsTsj5lIX8ZgevdfhmjFfKB3r8moHJtNJnctnYXJyYX5I1pp90HM4TPgQ==",
+            "version": "3.2.2",
+            "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.2.tgz",
+            "integrity": "sha512-c+N0v6wbKVxTu5gOBBFkr9BEdBWaqqjQeiJ8QvSRIJOf+UxlJh930m8e6/WNeODIK0mYLFkoONrnj16i2EcvfQ==",
             "dev": true,
             "engines": {
                 "node": ">=12 || >=16"
@@ -2779,8 +2770,7 @@
         "node_modules/gifenc": {
             "version": "1.0.3",
             "resolved": "git+ssh://git@github.com/mattdesl/gifenc.git#64842fca317b112a8590f8fef2bf3825da8f6fe3",
-            "integrity": "sha512-TCgWVyjxLxM20WaQQT5neiMbdt2cuFL0BngwxcK8sV9x+M6IF0x3RIETc3VRVxfmRUxzZk+Yfv1b9cLdDnTRIw==",
-            "license": "MIT"
+            "integrity": "sha512-TCgWVyjxLxM20WaQQT5neiMbdt2cuFL0BngwxcK8sV9x+M6IF0x3RIETc3VRVxfmRUxzZk+Yfv1b9cLdDnTRIw=="
         },
         "node_modules/glob": {
             "version": "7.2.3",
@@ -3823,17 +3813,17 @@
             }
         },
         "node_modules/optionator": {
-            "version": "0.9.3",
-            "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz",
-            "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==",
+            "version": "0.9.4",
+            "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
+            "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==",
             "dev": true,
             "dependencies": {
-                "@aashutoshrathi/word-wrap": "^1.2.3",
                 "deep-is": "^0.1.3",
                 "fast-levenshtein": "^2.0.6",
                 "levn": "^0.4.1",
                 "prelude-ls": "^1.2.1",
-                "type-check": "^0.4.0"
+                "type-check": "^0.4.0",
+                "word-wrap": "^1.2.5"
             },
             "engines": {
                 "node": ">= 0.8.0"
@@ -5435,6 +5425,15 @@
                 "node": ">= 8"
             }
         },
+        "node_modules/word-wrap": {
+            "version": "1.2.5",
+            "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
+            "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
+            "dev": true,
+            "engines": {
+                "node": ">=0.10.0"
+            }
+        },
         "node_modules/wrap-ansi": {
             "version": "7.0.0",
             "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
diff --git a/pkgs/by-name/ve/vencord/package.nix b/pkgs/by-name/ve/vencord/package.nix
index b445b00b90ab2..5b6a88bf31841 100644
--- a/pkgs/by-name/ve/vencord/package.nix
+++ b/pkgs/by-name/ve/vencord/package.nix
@@ -5,8 +5,8 @@
 , buildWebExtension ? false
 }:
 let
-  version = "1.7.8";
-  gitHash = "97ce410";
+  version = "1.7.9";
+  gitHash = "d294128";
 in
 buildNpmPackage rec {
   pname = "vencord";
@@ -16,7 +16,7 @@ buildNpmPackage rec {
     owner = "Vendicated";
     repo = "Vencord";
     rev = "v${version}";
-    hash = "sha256-5kMBUdFupVxmlQ7NVJ7qzFoyQieDGHrFNkrzhlhEzJ0=";
+    hash = "sha256-iXcWz/ZqhCQnqS37LVTXYW+1eeos0AUA0O5URb2FELU=";
   };
 
   ESBUILD_BINARY_PATH = lib.getExe (esbuild.overrideAttrs (final: _: {
@@ -34,7 +34,7 @@ buildNpmPackage rec {
   npmRebuildFlags = [ "|| true" ];
 
   makeCacheWritable = true;
-  npmDepsHash = "sha256-LdLPNM2yCUXh0PxAbzI2YNF6QoX1iG2TixMh6XdVuX0=";
+  npmDepsHash = "sha256-G3adLiSrEyAShTsNEaYLEPYACHoXTISiNp/9jru0mUc=";
   npmFlags = [ "--legacy-peer-deps" ];
   npmBuildScript = if buildWebExtension then "buildWeb" else "build";
   npmBuildFlags = [ "--" "--standalone" "--disable-updater" ];
diff --git a/pkgs/by-name/ve/vesktop/package.nix b/pkgs/by-name/ve/vesktop/package.nix
index 980258ed863a4..a3a8677e0886e 100644
--- a/pkgs/by-name/ve/vesktop/package.nix
+++ b/pkgs/by-name/ve/vesktop/package.nix
@@ -13,6 +13,9 @@
 , moreutils
 , cacert
 , nodePackages
+, pipewire
+, libpulseaudio
+, autoPatchelfHook
 , withTTS ? true
   # Enables the use of vencord from nixpkgs instead of
   # letting vesktop manage it's own version
@@ -81,6 +84,13 @@ stdenv.mkDerivation (finalAttrs: {
     nodePackages.pnpm
     nodePackages.nodejs
     makeWrapper
+    autoPatchelfHook
+  ];
+
+  buildInputs = [
+    pipewire
+    libpulseaudio
+    stdenv.cc.cc.lib
   ];
 
   patches = [
@@ -106,6 +116,7 @@ stdenv.mkDerivation (finalAttrs: {
     # using `pnpm exec` here apparently makes it ignore ELECTRON_SKIP_BINARY_DOWNLOAD
     ./node_modules/.bin/electron-builder \
       --dir \
+      -c.asarUnpack="**/*.node" \
       -c.electronDist=${electron}/libexec/electron \
       -c.electronVersion=${electron.version}
   '';
@@ -115,8 +126,8 @@ stdenv.mkDerivation (finalAttrs: {
     ''
       runHook preInstall
 
-      mkdir -p $out/opt/Vesktop/resources
-      cp dist/linux-*unpacked/resources/app.asar $out/opt/Vesktop/resources
+      mkdir -p $out/opt/Vesktop
+      cp -r dist/linux-*unpacked/resources $out/opt/Vesktop/
 
       pushd build
       ${libicns}/bin/icns2png -x icon.icns
@@ -128,7 +139,7 @@ stdenv.mkDerivation (finalAttrs: {
       makeWrapper ${electron}/bin/electron $out/bin/vesktop \
         --add-flags $out/opt/Vesktop/resources/app.asar \
         ${lib.optionalString withTTS "--add-flags \"--enable-speech-dispatcher\""} \
-        --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
+        --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime}}"
 
       runHook postInstall
     '';
diff --git a/pkgs/applications/misc/waybar/default.nix b/pkgs/by-name/wa/waybar/package.nix
index f5d93ff4f0273..20fe3507726e1 100644
--- a/pkgs/applications/misc/waybar/default.nix
+++ b/pkgs/by-name/wa/waybar/package.nix
@@ -77,13 +77,13 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "waybar";
-  version = "0.10.1";
+  version = "0.10.2";
 
   src = fetchFromGitHub {
     owner = "Alexays";
     repo = "Waybar";
     rev = finalAttrs.version;
-    hash = "sha256-xDeY0Bnwr+jCS0IpseWNgryQ3yV7RJ1VNNbOkT/xl5c=";
+    hash = "sha256-xinTLjZJhL4048jpAbN3i6nSxKAqnbesbK/GBX+1CkE=";
   };
 
   postUnpack = lib.optional cavaSupport ''
diff --git a/pkgs/by-name/wa/waycheck/package.nix b/pkgs/by-name/wa/waycheck/package.nix
index 064638efd8ff1..953ed3c8443bd 100644
--- a/pkgs/by-name/wa/waycheck/package.nix
+++ b/pkgs/by-name/wa/waycheck/package.nix
@@ -52,7 +52,7 @@ stdenv.mkDerivation (finalAttrs: {
     description = "Simple GUI that displays the protocols implemented by a Wayland compositor";
     homepage = "https://gitlab.freedesktop.org/serebit/waycheck";
     license = lib.licenses.asl20;
-    maintainers = with lib.maintainers; [ julienmalka federicoschonborn ];
+    maintainers = with lib.maintainers; [ julienmalka ];
     mainProgram = "waycheck";
     platforms = lib.platforms.linux;
   };
diff --git a/pkgs/by-name/wh/whatsapp-emoji-font/package.nix b/pkgs/by-name/wh/whatsapp-emoji-font/package.nix
index 5e34282891b94..cb10bfe4d2eb4 100644
--- a/pkgs/by-name/wh/whatsapp-emoji-font/package.nix
+++ b/pkgs/by-name/wh/whatsapp-emoji-font/package.nix
@@ -11,13 +11,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "whatsapp-emoji-linux";
-  version = "2.23.2.72-1";
+  version = "2.24.2.76-1";
 
   src = fetchFromGitHub {
     rev = "refs/tags/${version}";
     owner = "dmlls";
     repo = "whatsapp-emoji-linux";
-    hash = "sha256-dwX+y8jCpR+SyiH13Os9VeXLDwmAYB7ARW2lAMl/7RE=";
+    hash = "sha256-BviYvhH/iu5N0+YtL4d6andbWL87LFU98pxUgt4NcsM=";
   };
 
   makeFlags = [
diff --git a/pkgs/by-name/wh/whistle/package.nix b/pkgs/by-name/wh/whistle/package.nix
index da86bd7dfba9d..8f7e7386d6811 100644
--- a/pkgs/by-name/wh/whistle/package.nix
+++ b/pkgs/by-name/wh/whistle/package.nix
@@ -20,7 +20,7 @@ buildNpmPackage rec {
     homepage = "https://github.com/avwo/whistle";
     changelog = "https://github.com/avwo/whistle/blob/${src.rev}/CHANGELOG.md";
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     mainProgram = "whistle";
   };
 }
diff --git a/pkgs/by-name/wi/wiremock/package.nix b/pkgs/by-name/wi/wiremock/package.nix
index eba4083201be4..4478fed50dde1 100644
--- a/pkgs/by-name/wi/wiremock/package.nix
+++ b/pkgs/by-name/wi/wiremock/package.nix
@@ -10,11 +10,11 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "wiremock";
-  version = "3.5.3";
+  version = "3.5.4";
 
   src = fetchurl {
     url = "mirror://maven/org/wiremock/wiremock-standalone/${finalAttrs.version}/wiremock-standalone-${finalAttrs.version}.jar";
-    hash = "sha256-HIWhuaW36/kdsj8iZD0ANHQ26olURnYL1q5fcQXHHjw=";
+    hash = "sha256-BljkiUs5POPY2e+bmB8E6z+BWJME6ENP9NDc0XR5Vl0=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/by-name/wl/wl-clip-persist/package.nix b/pkgs/by-name/wl/wl-clip-persist/package.nix
new file mode 100644
index 0000000000000..fbce56b3e4eb2
--- /dev/null
+++ b/pkgs/by-name/wl/wl-clip-persist/package.nix
@@ -0,0 +1,36 @@
+{
+  lib,
+  stdenv,
+  rustPlatform,
+  fetchFromGitHub,
+  pkg-config,
+  wayland,
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "wl-clip-persist";
+  version = "0.4.1";
+
+  src = fetchFromGitHub {
+    owner = "Linus789";
+    repo = "wl-clip-persist";
+    rev = "v${version}";
+    hash = "sha256-gUi4Htui7IwldeK30C7SGTNc+0VHuzDZfJdaL8FmkGs=";
+  };
+
+  cargoHash = "sha256-Kt/XTcwclZENtw4vw2BntndqxvojEizCc2Oa0w+c1D0=";
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ wayland ];
+
+  meta = with lib; {
+    broken = stdenv.isDarwin;
+    description = "Keep Wayland clipboard even after programs close";
+    homepage = "https://github.com/Linus789/wl-clip-persist";
+    inherit (wayland.meta) platforms;
+    license = licenses.mit;
+    mainProgram = "wl-clip-persist";
+    maintainers = with maintainers; [ name-snrl ];
+  };
+}
diff --git a/pkgs/by-name/wl/wljoywake/package.nix b/pkgs/by-name/wl/wljoywake/package.nix
new file mode 100644
index 0000000000000..209e61e9d1841
--- /dev/null
+++ b/pkgs/by-name/wl/wljoywake/package.nix
@@ -0,0 +1,48 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, meson
+, ninja
+, pkg-config
+, udev
+, wayland
+, wayland-protocols
+, wayland-scanner
+}:
+
+let
+  version = "0.3";
+in
+stdenv.mkDerivation {
+  pname = "wljoywake";
+  inherit version;
+
+  src = fetchFromGitHub {
+    repo = "wljoywake";
+    owner = "nowrep";
+    rev = "v${version}";
+    hash = "sha256-zSYNfsFjswaSXZPlIDMDC87NK/6AKtArHBeWCWDDR3E=";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    wayland-scanner
+  ];
+
+  buildInputs = [
+    udev
+    wayland
+    wayland-protocols
+  ];
+
+  meta = with lib; {
+    description = "Wayland tool for idle inhibit when using joysticks";
+    homepage = "https://github.com/nowrep/wljoywake";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.jtrees ];
+    mainProgram = "wljoywake";
+  };
+}
diff --git a/pkgs/by-name/wl/wlogout/package.nix b/pkgs/by-name/wl/wlogout/package.nix
index 0107dbad89ba8..4f328cb9f53cf 100644
--- a/pkgs/by-name/wl/wlogout/package.nix
+++ b/pkgs/by-name/wl/wlogout/package.nix
@@ -20,13 +20,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "wlogout";
-  version = "1.2.1";
+  version = "1.2.2";
 
   src = fetchFromGitHub {
     owner = "ArtsyMacaw";
     repo = "wlogout";
     rev = finalAttrs.version;
-    hash = "sha256-n8r+E6GXXjyDYBTOMiv5musamaUFSpRTM2qHgb047og=";
+    hash = "sha256-/tYZy56ku68ziSOhy6Dex9RGy+blkU6CN2ze76y7718=";
   };
 
   outputs = [ "out" "man" ];
diff --git a/pkgs/by-name/wo/workout-tracker/package.nix b/pkgs/by-name/wo/workout-tracker/package.nix
index c324829e0a8df..d22ebbe3aba69 100644
--- a/pkgs/by-name/wo/workout-tracker/package.nix
+++ b/pkgs/by-name/wo/workout-tracker/package.nix
@@ -8,13 +8,13 @@
 
 buildGoModule rec {
   pname = "workout-tracker";
-  version = "0.13.4";
+  version = "0.14.2";
 
   src = fetchFromGitHub {
     owner = "jovandeginste";
     repo = "workout-tracker";
     rev = "refs/tags/v${version}";
-    hash = "sha256-wBDLf4UfE3YXH2naub9Z//z5HWaTBuz6MyCQovZcsFI=";
+    hash = "sha256-hQPBptpsxksfILZXXAVIcFf+W7Eea3pcgnndHY4mO9c=";
   };
 
   vendorHash = null;
diff --git a/pkgs/applications/misc/wttrbar/default.nix b/pkgs/by-name/wt/wttrbar/package.nix
index 6cba42d0c1582..6cba42d0c1582 100644
--- a/pkgs/applications/misc/wttrbar/default.nix
+++ b/pkgs/by-name/wt/wttrbar/package.nix
diff --git a/pkgs/by-name/xc/xclicker/package.nix b/pkgs/by-name/xc/xclicker/package.nix
index 3a6597dc48325..5c2e178464f5b 100644
--- a/pkgs/by-name/xc/xclicker/package.nix
+++ b/pkgs/by-name/xc/xclicker/package.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchpatch
 , meson
 , ninja
 , pkg-config
@@ -12,23 +11,15 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "xclicker";
-  version = "1.5.0";
+  version = "1.5.1";
 
   src = fetchFromGitHub {
     owner = "robiot";
     repo = "xclicker";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-3D49iMzCCT9Z2Pf5INHYFZusG0BQI7La7lLaSVM/4mc=";
+    hash = "sha256-zVbOfqh21+/41N3FcAFajcZCrQ8iNqedZjgNQO0Zj04=";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "fix-malloc-size.patch";
-      url = "https://github.com/robiot/xclicker/commit/c99f69a747e9df75fb3676be20a3ec805526d022.patch";
-      hash = "sha256-ESbMBusJVNfbGxlEn1Kby00mnXvM5H0r03bX5ofC6Fg=";
-    })
-  ];
-
   nativeBuildInputs = [
     meson
     ninja
@@ -57,7 +48,7 @@ stdenv.mkDerivation (finalAttrs: {
     homepage = "https://xclicker.xyz/";
     license = lib.licenses.gpl3Only;
     mainProgram = "xclicker";
-    maintainers = with lib.maintainers; [ tomasajt ];
+    maintainers = with lib.maintainers; [ gepbird tomasajt ];
     platforms = lib.platforms.linux;
   };
 })
diff --git a/pkgs/by-name/xe/xeol/package.nix b/pkgs/by-name/xe/xeol/package.nix
index 5c880a56b617c..d783e5c794544 100644
--- a/pkgs/by-name/xe/xeol/package.nix
+++ b/pkgs/by-name/xe/xeol/package.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "xeol";
-  version = "0.9.14";
+  version = "0.9.15";
 
   src = fetchFromGitHub {
     owner = "xeol-io";
     repo = "xeol";
     rev = "refs/tags/v${version}";
-    hash = "sha256-ubgOZFCWBU5wtxL7l7yHplnVOBwf+b6MMWgP/W0VwW8=";
+    hash = "sha256-/DWBDc8m5XYM5UBX5/GWuPRR3YktRar/LbENx2d5bc4=";
   };
 
-  vendorHash = "sha256-X3RJiqndHsApKHfAaZVw3ZdmxMT/+aNht2Jx5uHX1EQ=";
+  vendorHash = "sha256-9zDzwiVEVsfgVzSrouNtLYpjumoWGlfSDpGWbj+zCGQ=";
 
   subPackages = [
     "cmd/xeol/"
diff --git a/pkgs/by-name/xe/xeve/package.nix b/pkgs/by-name/xe/xeve/package.nix
index 5132656e58c25..efcc31e3905bc 100644
--- a/pkgs/by-name/xe/xeve/package.nix
+++ b/pkgs/by-name/xe/xeve/package.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "xeve";
-  version = "0.4.3";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "mpeg5";
     repo = "xeve";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-8YueEx2oIh24jV38bzpDlCVHNZB7HDOXeP5MANM8zBc=";
+    hash = "sha256-8jXntm/yFme9ZPImdW54jAr11hEsU1K+N5/7RLmITPs=";
   };
 
   postPatch = ''
diff --git a/pkgs/by-name/xi/xiu/package.nix b/pkgs/by-name/xi/xiu/package.nix
index c6088ed389e88..7857c9b1c3e6f 100644
--- a/pkgs/by-name/xi/xiu/package.nix
+++ b/pkgs/by-name/xi/xiu/package.nix
@@ -42,7 +42,7 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/harlanc/xiu";
     changelog = "https://github.com/harlanc/xiu/releases/tag/v${version}";
     license = licenses.mit;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ cafkafk ];
     mainProgram = "xiu";
   };
 }
diff --git a/pkgs/applications/misc/xlights/default.nix b/pkgs/by-name/xl/xlights/package.nix
index e878039d0ede2..8e83f64417775 100644
--- a/pkgs/applications/misc/xlights/default.nix
+++ b/pkgs/by-name/xl/xlights/package.nix
@@ -2,11 +2,11 @@
 
 appimageTools.wrapType2 rec {
   pname = "xlights";
-  version = "2023.13";
+  version = "2024.09";
 
   src = fetchurl {
     url = "https://github.com/smeighan/xLights/releases/download/${version}/xLights-${version}-x86_64.AppImage";
-    hash = "sha256-vNauKG7F7AiSMZrkMPwR9C+Mshot4NOf4oIdEr5Pu3Q=";
+    hash = "sha256-eXoSZUbwKu7174UVPguK9R0MgaMrV2jtRtLK/zSGvtw=";
   };
 
   meta = with lib; {
diff --git a/pkgs/by-name/xp/xplr/package.nix b/pkgs/by-name/xp/xplr/package.nix
index 8d23449c18c6e..c159da6c6da5d 100644
--- a/pkgs/by-name/xp/xplr/package.nix
+++ b/pkgs/by-name/xp/xplr/package.nix
@@ -43,6 +43,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://xplr.dev";
     changelog = "https://github.com/sayanarijit/xplr/releases/tag/${src.rev}";
     license = licenses.mit;
-    maintainers = with maintainers; [ sayanarijit suryasr007 thehedgeh0g mimame figsoda ];
+    maintainers = with maintainers; [ sayanarijit suryasr007 pyrox0 mimame figsoda ];
   };
 }
diff --git a/pkgs/os-specific/darwin/yabai/default.nix b/pkgs/by-name/ya/yabai/package.nix
index 150db493198fa..2a0e5e9cea8a3 100644
--- a/pkgs/os-specific/darwin/yabai/default.nix
+++ b/pkgs/by-name/ya/yabai/package.nix
@@ -1,42 +1,51 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, fetchzip
-, installShellFiles
-, testers
-, writeShellScript
-, common-updater-scripts
-, curl
-, jq
-, xcodebuild
-, xxd
-, yabai
-, Carbon
-, Cocoa
-, ScriptingBridge
-, SkyLight
+{
+  lib,
+  stdenv,
+  overrideSDK,
+  fetchFromGitHub,
+  fetchzip,
+  installShellFiles,
+  testers,
+  writeShellScript,
+  common-updater-scripts,
+  curl,
+  darwin,
+  jq,
+  xcodebuild,
+  xxd,
+  yabai,
 }:
+let
+  inherit (darwin.apple_sdk_11_0.frameworks)
+    Carbon
+    Cocoa
+    ScriptingBridge
+    SkyLight
+    ;
 
-stdenv.mkDerivation (finalAttrs: {
+  stdenv' = if stdenv.isDarwin then overrideSDK stdenv "11.0" else stdenv;
+in
+stdenv'.mkDerivation (finalAttrs: {
   pname = "yabai";
   version = "7.1.0";
 
-  src = finalAttrs.passthru.sources.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
+  src =
+    finalAttrs.passthru.sources.${stdenv.hostPlatform.system}
+      or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
 
   env = {
     # silence service.h error
     NIX_CFLAGS_COMPILE = "-Wno-implicit-function-declaration";
   };
 
-  nativeBuildInputs = [
-    installShellFiles
-  ]
-  ++ lib.optionals stdenv.isx86_64 [
-    xcodebuild
-    xxd
-  ];
+  nativeBuildInputs =
+    [ installShellFiles ]
+    ++ lib.optionals stdenv.isx86_64 [
+      xcodebuild
+      xxd
+    ];
 
-  buildInputs = [ ] ++ lib.optionals stdenv.isx86_64 [
+  buildInputs = lib.optionals stdenv.isx86_64 [
     Carbon
     Cocoa
     ScriptingBridge
@@ -59,20 +68,22 @@ stdenv.mkDerivation (finalAttrs: {
     runHook postInstall
   '';
 
-  postPatch = lib.optionalString stdenv.isx86_64 /* bash */ ''
-    # aarch64 code is compiled on all targets, which causes our Apple SDK headers to error out.
-    # Since multilib doesnt work on darwin i dont know of a better way of handling this.
-    substituteInPlace makefile \
-    --replace "-arch arm64e" "" \
-    --replace "-arch arm64" "" \
-    --replace "clang" "${stdenv.cc.targetPrefix}clang"
-
-    # `NSScreen::safeAreaInsets` is only available on macOS 12.0 and above, which frameworks arent packaged.
-    # When a lower OS version is detected upstream just returns 0, so we can hardcode that at compiletime.
-    # https://github.com/koekeishiya/yabai/blob/v4.0.2/src/workspace.m#L109
-    substituteInPlace src/workspace.m \
-    --replace 'return screen.safeAreaInsets.top;' 'return 0;'
-  '';
+  postPatch =
+    lib.optionalString stdenv.isx86_64 # bash
+      ''
+        # aarch64 code is compiled on all targets, which causes our Apple SDK headers to error out.
+        # Since multilib doesn't work on darwin i dont know of a better way of handling this.
+        substituteInPlace makefile \
+        --replace "-arch arm64e" "" \
+        --replace "-arch arm64" "" \
+        --replace "clang" "${stdenv.cc.targetPrefix}clang"
+
+        # `NSScreen::safeAreaInsets` is only available on macOS 12.0 and above, which frameworks aren't packaged.
+        # When a lower OS version is detected upstream just returns 0, so we can hardcode that at compile time.
+        # https://github.com/koekeishiya/yabai/blob/v4.0.2/src/workspace.m#L109
+        substituteInPlace src/workspace.m \
+        --replace 'return screen.safeAreaInsets.top;' 'return 0;'
+      '';
 
   passthru = {
     tests.version = testers.testVersion {
@@ -87,18 +98,23 @@ stdenv.mkDerivation (finalAttrs: {
         url = "https://github.com/koekeishiya/yabai/releases/download/v${finalAttrs.version}/yabai-v${finalAttrs.version}.tar.gz";
         hash = "sha256-88Sh2nizAQ0a0cnlnrkhb5x3VjHa372HhjHlmNjGdQ4=";
       };
-      "x86_64-darwin" = fetchFromGitHub
-        {
-          owner = "koekeishiya";
-          repo = "yabai";
-          rev = "v${finalAttrs.version}";
-          hash = "sha256-5iC1U6tyUYFLjOfnIxCrjCjj2deUZ/rvsJN4jlrr2Tc=";
-        };
+      "x86_64-darwin" = fetchFromGitHub {
+        owner = "koekeishiya";
+        repo = "yabai";
+        rev = "v${finalAttrs.version}";
+        hash = "sha256-5iC1U6tyUYFLjOfnIxCrjCjj2deUZ/rvsJN4jlrr2Tc=";
+      };
     };
 
     updateScript = writeShellScript "update-yabai" ''
       set -o errexit
-      export PATH="${lib.makeBinPath [ curl jq common-updater-scripts ]}"
+      export PATH="${
+        lib.makeBinPath [
+          curl
+          jq
+          common-updater-scripts
+        ]
+      }"
       NEW_VERSION=$(curl --silent https://api.github.com/repos/koekeishiya/yabai/releases/latest | jq '.tag_name | ltrimstr("v")' --raw-output)
       if [[ "${finalAttrs.version}" = "$NEW_VERSION" ]]; then
           echo "The new version same as the old version."
@@ -130,12 +146,8 @@ stdenv.mkDerivation (finalAttrs: {
       ivar
       khaneliman
     ];
-    sourceProvenance = with lib.sourceTypes; [ ]
-      ++ lib.optionals stdenv.isx86_64 [
-      fromSource
-    ] ++ lib.optionals stdenv.isAarch64 [
-      binaryNativeCode
-    ];
+    sourceProvenance =
+      with lib.sourceTypes;
+      lib.optionals stdenv.isx86_64 [ fromSource ] ++ lib.optionals stdenv.isAarch64 [ binaryNativeCode ];
   };
 })
-
diff --git a/pkgs/by-name/ya/yamlscript/package.nix b/pkgs/by-name/ya/yamlscript/package.nix
index 9ca8b2c719eea..eb67d09dbb850 100644
--- a/pkgs/by-name/ya/yamlscript/package.nix
+++ b/pkgs/by-name/ya/yamlscript/package.nix
@@ -2,11 +2,11 @@
 
 buildGraalvmNativeImage rec {
   pname = "yamlscript";
-  version = "0.1.57";
+  version = "0.1.58";
 
   src = fetchurl {
     url = "https://github.com/yaml/yamlscript/releases/download/${version}/yamlscript.cli-${version}-standalone.jar";
-    hash = "sha256-nuYfYz1Q7PtVb9A2KEN2XGeINifEjsM4IqGiUBbTGFM=";
+    hash = "sha256-rARUkbVq77uPrQZwfQ0NNM4XwYaVhSinLi0sCoVR63E=";
   };
 
   executable = "ys";
diff --git a/pkgs/by-name/ya/yazi-unwrapped/package.nix b/pkgs/by-name/ya/yazi-unwrapped/package.nix
index 9bf70a8645389..d0a0d77ecfec6 100644
--- a/pkgs/by-name/ya/yazi-unwrapped/package.nix
+++ b/pkgs/by-name/ya/yazi-unwrapped/package.nix
@@ -5,27 +5,28 @@
 , installShellFiles
 , stdenv
 , Foundation
+, rust-jemalloc-sys
 
 , nix-update-script
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "yazi";
-  version = "0.2.4";
+  version = "0.2.5";
 
   src = fetchFromGitHub {
     owner = "sxyazi";
     repo = "yazi";
     rev = "v${version}";
-    hash = "sha256-c8fWWCOVBqQVdQch9BniCaJPrVEOCv35lLH8/hMIbvE=";
+    hash = "sha256-RwkgJX4naD3t97ce4Zg/VWJ41QiVFFqDW5nHpyMtISY=";
   };
 
-  cargoHash = "sha256-VeDyO+KCD3Axse4iPIoRxIvoAn3L33e2ObBZFV/REeg=";
+  cargoHash = "sha256-qnbinuTuaPiD7ib3aCJzSwuA4s3naFzi+txqX7jkHIo=";
 
   env.YAZI_GEN_COMPLETIONS = true;
 
   nativeBuildInputs = [ installShellFiles ];
-  buildInputs = lib.optionals stdenv.isDarwin [ Foundation ];
+  buildInputs = [ rust-jemalloc-sys ] ++ lib.optionals stdenv.isDarwin [ Foundation ];
 
   postInstall = ''
     installShellCompletion --cmd yazi \
diff --git a/pkgs/by-name/za/zapzap/package.nix b/pkgs/by-name/za/zapzap/package.nix
index aba1afff3ec5a..3cbd71616a8be 100644
--- a/pkgs/by-name/za/zapzap/package.nix
+++ b/pkgs/by-name/za/zapzap/package.nix
@@ -6,14 +6,14 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "zapzap";
-  version = "5.3";
+  version = "5.3.1";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "zapzap-linux";
     repo = "zapzap";
     rev = "refs/tags/${version}";
-    hash = "sha256-KUWkpdT0v4Y85ga8NsF3fbiSjfhWXC+WpHESTPCW+oE=";
+    hash = "sha256-RDkuYR74vjXnPgiqDCeY6y9yQNvAWAaQfWmfs7xic9E=";
   };
 
   nativeBuildInputs = with python3Packages; [
diff --git a/pkgs/by-name/ze/zed-editor/Cargo.lock b/pkgs/by-name/ze/zed-editor/Cargo.lock
index 04d3e032fb15e..1ab0e76ed9d65 100644
--- a/pkgs/by-name/ze/zed-editor/Cargo.lock
+++ b/pkgs/by-name/ze/zed-editor/Cargo.lock
@@ -266,12 +266,6 @@ checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545"
 
 [[package]]
 name = "arrayvec"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b"
-
-[[package]]
-name = "arrayvec"
 version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711"
@@ -649,7 +643,7 @@ checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.59",
 ]
 
 [[package]]
@@ -716,7 +710,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.59",
 ]
 
 [[package]]
@@ -747,7 +741,7 @@ checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.59",
 ]
 
 [[package]]
@@ -1391,7 +1385,7 @@ dependencies = [
  "regex",
  "rustc-hash",
  "shlex",
- "syn 2.0.48",
+ "syn 2.0.59",
  "which 4.4.2",
 ]
 
@@ -1474,7 +1468,7 @@ source = "git+https://github.com/kvark/blade?rev=810ec594358aafea29a4a3d8ab601d2
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.59",
 ]
 
 [[package]]
@@ -1585,17 +1579,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "bromberg_sl2"
-version = "0.6.0"
-source = "git+https://github.com/zed-industries/bromberg_sl2?rev=950bc5482c216c395049ae33ae4501e08975f17f#950bc5482c216c395049ae33ae4501e08975f17f"
-dependencies = [
- "digest 0.9.0",
- "lazy_static",
- "rayon",
- "seq-macro",
-]
-
-[[package]]
 name = "bstr"
 version = "1.6.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1651,7 +1634,7 @@ checksum = "965ab7eb5f8f97d2a083c799f3a1b994fc397b2fe2da5d1da1626ce15a39f2b1"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.59",
 ]
 
 [[package]]
@@ -1884,6 +1867,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 
 [[package]]
+name = "cfg_aliases"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e"
+
+[[package]]
 name = "channel"
 version = "0.1.0"
 dependencies = [
@@ -2030,7 +2019,7 @@ dependencies = [
  "heck 0.4.1",
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.59",
 ]
 
 [[package]]
@@ -2244,6 +2233,7 @@ dependencies = [
  "git",
  "google_ai",
  "gpui",
+ "headless",
  "hex",
  "indoc",
  "language",
@@ -2308,6 +2298,7 @@ dependencies = [
  "editor",
  "emojis",
  "extensions_ui",
+ "feature_flags",
  "futures 0.3.28",
  "fuzzy",
  "gpui",
@@ -2621,16 +2612,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c578f2b9abb4d5f3fbb12aba4008084d435dc6a8425c195cfe0b3594bfea0c25"
 dependencies = [
  "bitflags 2.4.2",
- "fontdb 0.16.2",
+ "fontdb",
  "libm",
  "log",
  "rangemap",
  "rustc-hash",
- "rustybuzz 0.12.1",
+ "rustybuzz",
  "self_cell",
  "swash",
  "sys-locale",
- "ttf-parser 0.20.0",
+ "ttf-parser",
  "unicode-bidi",
  "unicode-linebreak",
  "unicode-script",
@@ -2967,16 +2958,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "30d2b3721e861707777e3195b0158f950ae6dc4a27e4d02ff9f67e3eb3de199e"
 dependencies = [
  "quote",
- "syn 2.0.48",
+ "syn 2.0.59",
 ]
 
 [[package]]
 name = "ctrlc"
-version = "3.4.2"
+version = "3.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b467862cc8610ca6fc9a1532d7777cee0804e678ab45410897b9396495994a0b"
+checksum = "672465ae37dc1bc6380a6547a8883d5dd397b0f1faaad4f265726cc7042a5345"
 dependencies = [
- "nix 0.27.1",
+ "nix 0.28.0",
  "windows-sys 0.52.0",
 ]
 
@@ -3043,12 +3034,9 @@ checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5"
 
 [[package]]
 name = "data-url"
-version = "0.1.1"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3a30bfce702bcfa94e906ef82421f2c0e61c076ad76030c16ee5d2e9a32fe193"
-dependencies = [
- "matches",
-]
+checksum = "5c297a1c74b71ae29df00c3e22dd9534821d60eb9af5a0192823fa2acea70c2a"
 
 [[package]]
 name = "db"
@@ -3278,6 +3266,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650"
 
 [[package]]
+name = "doxygen-rs"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "415b6ec780d34dcf624666747194393603d0373b7141eef01d12ee58881507d9"
+dependencies = [
+ "phf",
+]
+
+[[package]]
 name = "dwrote"
 version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3444,7 +3441,7 @@ checksum = "5c785274071b1b420972453b306eeca06acf4633829db4223b58a2a8c5953bc4"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.59",
 ]
 
 [[package]]
@@ -3709,6 +3706,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "fdeflate"
+version = "0.3.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4f9bfee30e4dedf0ab8b422f03af778d9612b63f502710fc500a334ebe2de645"
+dependencies = [
+ "simd-adler32",
+]
+
+[[package]]
 name = "feature_flags"
 version = "0.1.0"
 dependencies = [
@@ -3772,6 +3778,7 @@ dependencies = [
  "picker",
  "project",
  "serde_json",
+ "settings",
  "text",
  "theme",
  "ui",
@@ -3827,9 +3834,9 @@ dependencies = [
 
 [[package]]
 name = "float-cmp"
-version = "0.5.3"
+version = "0.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "75224bec9bfe1a65e2d34132933f2de7fe79900c96a0174307554244ece8150e"
+checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4"
 
 [[package]]
 name = "float-ord"
@@ -3891,18 +3898,7 @@ version = "0.5.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6a595cb550439a117696039dfc69830492058211b771a2a165379f2a1a53d84d"
 dependencies = [
- "roxmltree 0.19.0",
-]
-
-[[package]]
-name = "fontdb"
-version = "0.5.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e58903f4f8d5b58c7d300908e4ebe5289c1bfdf5587964330f12023b8ff17fd1"
-dependencies = [
- "log",
- "memmap2 0.2.3",
- "ttf-parser 0.12.3",
+ "roxmltree",
 ]
 
 [[package]]
@@ -3916,7 +3912,7 @@ dependencies = [
  "memmap2 0.9.4",
  "slotmap",
  "tinyvec",
- "ttf-parser 0.20.0",
+ "ttf-parser",
 ]
 
 [[package]]
@@ -3946,7 +3942,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.59",
 ]
 
 [[package]]
@@ -4099,6 +4095,17 @@ dependencies = [
 ]
 
 [[package]]
+name = "futures-batch"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6f444c45a1cb86f2a7e301469fd50a82084a60dadc25d94529a8312276ecb71a"
+dependencies = [
+ "futures 0.3.28",
+ "futures-timer",
+ "pin-utils",
+]
+
+[[package]]
 name = "futures-channel"
 version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4178,7 +4185,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.59",
 ]
 
 [[package]]
@@ -4194,6 +4201,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004"
 
 [[package]]
+name = "futures-timer"
+version = "3.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24"
+
+[[package]]
 name = "futures-util"
 version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4318,11 +4331,11 @@ dependencies = [
 
 [[package]]
 name = "git2"
-version = "0.15.0"
+version = "0.18.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2994bee4a3a6a51eb90c218523be382fd7ea09b16380b9312e9dbe955ff7c7d1"
+checksum = "232e6a7bfe35766bf715e55a88b39a700596c0ccfd88cd3680b4cdb40d66ef70"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.4.2",
  "libc",
  "libgit2-sys",
  "log",
@@ -4505,7 +4518,6 @@ dependencies = [
  "taffy",
  "thiserror",
  "time",
- "tiny-skia",
  "usvg",
  "util",
  "uuid",
@@ -4636,6 +4648,26 @@ dependencies = [
 ]
 
 [[package]]
+name = "headless"
+version = "0.1.0"
+dependencies = [
+ "anyhow",
+ "client",
+ "ctrlc",
+ "fs",
+ "futures 0.3.28",
+ "gpui",
+ "language",
+ "log",
+ "node_runtime",
+ "postage",
+ "project",
+ "rpc",
+ "settings",
+ "util",
+]
+
+[[package]]
 name = "heck"
 version = "0.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4654,6 +4686,41 @@ dependencies = [
 ]
 
 [[package]]
+name = "heed"
+version = "0.20.0-alpha.9"
+source = "git+https://github.com/meilisearch/heed?rev=036ac23f73a021894974b9adc815bc95b3e0482a#036ac23f73a021894974b9adc815bc95b3e0482a"
+dependencies = [
+ "bitflags 2.4.2",
+ "byteorder",
+ "heed-traits",
+ "heed-types",
+ "libc",
+ "lmdb-master-sys",
+ "once_cell",
+ "page_size",
+ "serde",
+ "synchronoise",
+ "url",
+]
+
+[[package]]
+name = "heed-traits"
+version = "0.20.0-alpha.9"
+source = "git+https://github.com/meilisearch/heed?rev=036ac23f73a021894974b9adc815bc95b3e0482a#036ac23f73a021894974b9adc815bc95b3e0482a"
+
+[[package]]
+name = "heed-types"
+version = "0.20.0-alpha.9"
+source = "git+https://github.com/meilisearch/heed?rev=036ac23f73a021894974b9adc815bc95b3e0482a#036ac23f73a021894974b9adc815bc95b3e0482a"
+dependencies = [
+ "bincode",
+ "byteorder",
+ "heed-traits",
+ "serde",
+ "serde_json",
+]
+
+[[package]]
 name = "hermit-abi"
 version = "0.1.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4919,7 +4986,7 @@ dependencies = [
  "num-iter",
  "num-rational 0.3.2",
  "num-traits",
- "png",
+ "png 0.16.8",
  "scoped_threadpool",
  "tiff",
 ]
@@ -4938,6 +5005,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "imagesize"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "029d73f573d8e8d63e6d5020011d3255b28c3ba85d6cf870a07184ed23de9284"
+
+[[package]]
 name = "indexmap"
 version = "1.9.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4973,7 +5046,7 @@ checksum = "ce243b1bfa62ffc028f1cc3b6034ec63d649f3031bc8a4fbbb004e1ac17d1f68"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.59",
 ]
 
 [[package]]
@@ -5289,11 +5362,12 @@ dependencies = [
 
 [[package]]
 name = "kurbo"
-version = "0.8.3"
+version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a53776d271cfb873b17c618af0298445c88afc52837f3e948fa3fafd131f449"
+checksum = "6e5aa9f0f96a938266bdb12928a67169e8d22c6a786fda8ed984b85e6ba93c3c"
 dependencies = [
- "arrayvec 0.7.4",
+ "arrayvec",
+ "smallvec",
 ]
 
 [[package]]
@@ -5413,7 +5487,6 @@ dependencies = [
  "log",
  "lsp",
  "node_runtime",
- "parking_lot",
  "project",
  "regex",
  "rope",
@@ -5435,30 +5508,20 @@ dependencies = [
  "tree-sitter-cpp",
  "tree-sitter-css",
  "tree-sitter-elixir",
- "tree-sitter-elm",
  "tree-sitter-embedded-template",
- "tree-sitter-glsl",
  "tree-sitter-go",
  "tree-sitter-gomod",
  "tree-sitter-gowork",
- "tree-sitter-hcl",
  "tree-sitter-heex",
  "tree-sitter-jsdoc",
  "tree-sitter-json 0.20.0",
- "tree-sitter-lua",
  "tree-sitter-markdown",
- "tree-sitter-nix",
- "tree-sitter-nu",
- "tree-sitter-ocaml",
  "tree-sitter-proto",
  "tree-sitter-python",
- "tree-sitter-racket",
  "tree-sitter-regex",
  "tree-sitter-ruby",
  "tree-sitter-rust",
- "tree-sitter-scheme",
  "tree-sitter-typescript",
- "tree-sitter-vue",
  "tree-sitter-yaml",
  "unindent",
  "util",
@@ -5500,9 +5563,9 @@ checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
 
 [[package]]
 name = "libgit2-sys"
-version = "0.14.2+1.5.1"
+version = "0.16.2+1.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f3d95f6b51075fe9810a7ae22c7095f12b98005ab364d8544797a825ce946a4"
+checksum = "ee4126d8b4ee5c9d9ea891dd875cfdc1e9d0950437179104b183d7d8a74d24e8"
 dependencies = [
  "cc",
  "libc",
@@ -5604,7 +5667,7 @@ checksum = "ba125974b109d512fccbc6c0244e7580143e460895dfd6ea7f8bbb692fd94396"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.59",
 ]
 
 [[package]]
@@ -5660,6 +5723,16 @@ dependencies = [
 ]
 
 [[package]]
+name = "lmdb-master-sys"
+version = "0.1.0"
+source = "git+https://github.com/meilisearch/heed?rev=036ac23f73a021894974b9adc815bc95b3e0482a#036ac23f73a021894974b9adc815bc95b3e0482a"
+dependencies = [
+ "cc",
+ "doxygen-rs",
+ "libc",
+]
+
+[[package]]
 name = "lock_api"
 version = "0.4.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5795,12 +5868,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "matches"
-version = "0.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5"
-
-[[package]]
 name = "matchit"
 version = "0.7.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5835,9 +5902,9 @@ dependencies = [
 
 [[package]]
 name = "memchr"
-version = "2.6.3"
+version = "2.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c"
+checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d"
 
 [[package]]
 name = "memfd"
@@ -5850,15 +5917,6 @@ dependencies = [
 
 [[package]]
 name = "memmap2"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "723e3ebdcdc5c023db1df315364573789f8857c11b631a2fdfad7c00f5c046b4"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "memmap2"
 version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "43a5a03cefb0d953ec0be133036f14e109412fa594edc2f77227249db66cc3ed"
@@ -5954,6 +6012,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
 dependencies = [
  "adler",
+ "simd-adler32",
 ]
 
 [[package]]
@@ -6125,6 +6184,18 @@ dependencies = [
 ]
 
 [[package]]
+name = "nix"
+version = "0.28.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4"
+dependencies = [
+ "bitflags 2.4.2",
+ "cfg-if",
+ "cfg_aliases",
+ "libc",
+]
+
+[[package]]
 name = "node_runtime"
 version = "0.1.0"
 dependencies = [
@@ -6553,7 +6624,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.59",
 ]
 
 [[package]]
@@ -6629,7 +6700,7 @@ dependencies = [
  "proc-macro-error",
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.59",
 ]
 
 [[package]]
@@ -6681,6 +6752,16 @@ dependencies = [
 ]
 
 [[package]]
+name = "page_size"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da"
+dependencies = [
+ "libc",
+ "winapi",
+]
+
+[[package]]
 name = "palette"
 version = "0.7.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -6699,7 +6780,7 @@ checksum = "e8890702dbec0bad9116041ae586f84805b13eecd1d8b1df27c29998a9969d6d"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.59",
 ]
 
 [[package]]
@@ -6853,10 +6934,34 @@ version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc"
 dependencies = [
+ "phf_macros",
  "phf_shared",
 ]
 
 [[package]]
+name = "phf_generator"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0"
+dependencies = [
+ "phf_shared",
+ "rand 0.8.5",
+]
+
+[[package]]
+name = "phf_macros"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b"
+dependencies = [
+ "phf_generator",
+ "phf_shared",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.59",
+]
+
+[[package]]
 name = "phf_shared"
 version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -6883,9 +6988,9 @@ dependencies = [
 
 [[package]]
 name = "pico-args"
-version = "0.4.2"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db8bcd96cb740d03149cbad5518db9fd87126a10ab519c011893b1754134c468"
+checksum = "5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315"
 
 [[package]]
 name = "pin-project"
@@ -6904,7 +7009,7 @@ checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.59",
 ]
 
 [[package]]
@@ -7022,6 +7127,19 @@ dependencies = [
 ]
 
 [[package]]
+name = "png"
+version = "0.17.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06e4b0d3d1312775e782c86c91a111aa1f910cbb65e1337f9975b5f9a554b5e1"
+dependencies = [
+ "bitflags 1.3.2",
+ "crc32fast",
+ "fdeflate",
+ "flate2",
+ "miniz_oxide 0.7.1",
+]
+
+[[package]]
 name = "polling"
 version = "2.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -7115,7 +7233,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ae005bd773ab59b4725093fd7df83fd7892f7d8eafb48dbd7de6e024e4215f9d"
 dependencies = [
  "proc-macro2",
- "syn 2.0.48",
+ "syn 2.0.59",
 ]
 
 [[package]]
@@ -7172,9 +7290,9 @@ dependencies = [
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.78"
+version = "1.0.81"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
+checksum = "3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba"
 dependencies = [
  "unicode-ident",
 ]
@@ -7195,7 +7313,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8021cf59c8ec9c432cfc2526ac6b8aa508ecaf29cd415f271b8406c1b851c3fd"
 dependencies = [
  "quote",
- "syn 2.0.48",
+ "syn 2.0.59",
 ]
 
 [[package]]
@@ -7578,12 +7696,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "rctree"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be9e29cb19c8fe84169fcb07f8f11e66bc9e6e0280efd4715c54818296f8a4a8"
-
-[[package]]
 name = "read-fonts"
 version = "0.15.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -7782,16 +7894,14 @@ dependencies = [
 
 [[package]]
 name = "resvg"
-version = "0.14.1"
+version = "0.41.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09697862c5c3f940cbaffef91969c62188b5c8ed385b0aef43a5ff01ddc8000f"
+checksum = "c2327ced609dadeed3e9702fec3e6b2ddd208758a9268d13e06566c6101ba533"
 dependencies = [
- "jpeg-decoder",
  "log",
  "pico-args",
- "png",
  "rgb",
- "svgfilters",
+ "svgtypes",
  "tiny-skia",
  "usvg",
 ]
@@ -7922,28 +8032,19 @@ dependencies = [
 name = "rope"
 version = "0.1.0"
 dependencies = [
- "arrayvec 0.7.4",
- "bromberg_sl2",
+ "arrayvec",
  "criterion",
  "gpui",
  "log",
  "rand 0.8.5",
  "smallvec",
  "sum_tree",
+ "unicode-segmentation",
  "util",
 ]
 
 [[package]]
 name = "roxmltree"
-version = "0.14.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "921904a62e410e37e215c40381b7117f830d9d89ba60ab5236170541dd25646b"
-dependencies = [
- "xmlparser",
-]
-
-[[package]]
-name = "roxmltree"
 version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3cd14fd5e3b777a7422cca79358c57a8f6e3a703d9ac187448d0daf220c2407f"
@@ -8035,7 +8136,7 @@ dependencies = [
  "proc-macro2",
  "quote",
  "rust-embed-utils",
- "syn 2.0.48",
+ "syn 2.0.59",
  "walkdir",
 ]
 
@@ -8056,7 +8157,7 @@ version = "1.32.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a4c4216490d5a413bc6d10fa4742bd7d4955941d062c0ef873141d6b0e7b30fd"
 dependencies = [
- "arrayvec 0.7.4",
+ "arrayvec",
  "borsh",
  "bytes 1.5.0",
  "num-traits",
@@ -8178,22 +8279,6 @@ checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4"
 
 [[package]]
 name = "rustybuzz"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ab463a295d00f3692e0974a0bfd83c7a9bcd119e27e07c2beecdb1b44a09d10"
-dependencies = [
- "bitflags 1.3.2",
- "bytemuck",
- "smallvec",
- "ttf-parser 0.9.0",
- "unicode-bidi-mirroring",
- "unicode-ccc",
- "unicode-general-category",
- "unicode-script",
-]
-
-[[package]]
-name = "rustybuzz"
 version = "0.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f0ae5692c5beaad6a9e22830deeed7874eae8a4e3ba4076fb48e12c56856222c"
@@ -8202,7 +8287,7 @@ dependencies = [
  "bytemuck",
  "libm",
  "smallvec",
- "ttf-parser 0.20.0",
+ "ttf-parser",
  "unicode-bidi-mirroring",
  "unicode-ccc",
  "unicode-properties",
@@ -8216,15 +8301,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
 
 [[package]]
-name = "safe_arch"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1ff3d6d9696af502cc3110dacce942840fb06ff4514cad92236ecc455f2ce05"
-dependencies = [
- "bytemuck",
-]
-
-[[package]]
 name = "safemem"
 version = "0.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -8334,7 +8410,7 @@ dependencies = [
  "proc-macro-error",
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.59",
 ]
 
 [[package]]
@@ -8375,7 +8451,7 @@ dependencies = [
  "proc-macro2",
  "quote",
  "sea-bae",
- "syn 2.0.48",
+ "syn 2.0.59",
  "unicode-ident",
 ]
 
@@ -8500,6 +8576,35 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "58bf37232d3bb9a2c4e641ca2a11d83b5062066f88df7fed36c28772046d65ba"
 
 [[package]]
+name = "semantic_index"
+version = "0.1.0"
+dependencies = [
+ "anyhow",
+ "client",
+ "clock",
+ "collections",
+ "env_logger",
+ "fs",
+ "futures 0.3.28",
+ "futures-batch",
+ "gpui",
+ "heed",
+ "language",
+ "languages",
+ "log",
+ "open_ai",
+ "project",
+ "serde",
+ "serde_json",
+ "settings",
+ "sha2 0.10.7",
+ "smol",
+ "tempfile",
+ "util",
+ "worktree",
+]
+
+[[package]]
 name = "semantic_version"
 version = "0.1.0"
 dependencies = [
@@ -8514,12 +8619,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918"
 
 [[package]]
-name = "seq-macro"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a9f47faea3cad316faa914d013d24f471cd90bfca1a0c70f05a3f42c6441e99"
-
-[[package]]
 name = "serde"
 version = "1.0.196"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -8536,7 +8635,7 @@ checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.59",
 ]
 
 [[package]]
@@ -8601,7 +8700,7 @@ checksum = "8725e1dfadb3a50f7e5ce0b1a540466f6ed3fe7a0fca2ac2b8b831d31316bd00"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.59",
 ]
 
 [[package]]
@@ -8775,6 +8874,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "simd-adler32"
+version = "0.3.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe"
+
+[[package]]
 name = "simdutf8"
 version = "0.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -8820,15 +8925,15 @@ dependencies = [
 
 [[package]]
 name = "siphasher"
-version = "0.2.3"
+version = "0.3.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b8de496cf83d4ed58b6be86c3a275b8602f6ffe98d3024a869e124147a9a3ac"
+checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d"
 
 [[package]]
 name = "siphasher"
-version = "0.3.11"
+version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d"
+checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d"
 
 [[package]]
 name = "slab"
@@ -9316,6 +9421,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "strict-num"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731"
+dependencies = [
+ "float-cmp",
+]
+
+[[package]]
 name = "stringprep"
 version = "0.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -9351,17 +9465,7 @@ dependencies = [
  "proc-macro2",
  "quote",
  "rustversion",
- "syn 2.0.48",
-]
-
-[[package]]
-name = "subst"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca1318e5d6716d6541696727c88d9b8dfc8cfe6afd6908e186546fd4af7f5b98"
-dependencies = [
- "memchr",
- "unicode-width",
+ "syn 2.0.59",
 ]
 
 [[package]]
@@ -9374,7 +9478,7 @@ checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc"
 name = "sum_tree"
 version = "0.1.0"
 dependencies = [
- "arrayvec 0.7.4",
+ "arrayvec",
  "ctor",
  "env_logger",
  "log",
@@ -9457,23 +9561,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8fb1df15f412ee2e9dfc1c504260fa695c1c3f10fe9f4a6ee2d2184d7d6450e2"
 
 [[package]]
-name = "svgfilters"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb0dce2fee79ac40c21dafba48565ff7a5fa275e23ffe9ce047a40c9574ba34e"
-dependencies = [
- "float-cmp",
- "rgb",
-]
-
-[[package]]
 name = "svgtypes"
-version = "0.5.0"
+version = "0.15.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c536faaff1a10837cfe373142583f6e27d81e96beba339147e77b67c9f260ff"
+checksum = "d97ca9a891c9c70da8139ac9d8e8ea36a210fa21bb50eccd75d4a9561c83e87f"
 dependencies = [
- "float-cmp",
- "siphasher 0.2.3",
+ "kurbo",
+ "siphasher 1.0.1",
 ]
 
 [[package]]
@@ -9500,9 +9594,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.48"
+version = "2.0.59"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f"
+checksum = "4a6531ffc7b071655e4ce2e04bd464c4830bb585a61cabb96cf808f05172615a"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -9516,6 +9610,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160"
 
 [[package]]
+name = "synchronoise"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3dbc01390fc626ce8d1cffe3376ded2b72a11bb70e1c75f404a210e4daa4def2"
+dependencies = [
+ "crossbeam-queue",
+]
+
+[[package]]
 name = "sys-locale"
 version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -9583,7 +9686,7 @@ name = "taffy"
 version = "0.3.11"
 source = "git+https://github.com/DioxusLabs/taffy?rev=1876f72bee5e376023eaa518aa7b8a34c769bd1b#1876f72bee5e376023eaa518aa7b8a34c769bd1b"
 dependencies = [
- "arrayvec 0.7.4",
+ "arrayvec",
  "grid",
  "num-traits",
  "slotmap",
@@ -9615,11 +9718,12 @@ dependencies = [
  "collections",
  "futures 0.3.28",
  "gpui",
+ "hex",
  "schemars",
  "serde",
  "serde_json_lenient",
+ "sha2 0.10.7",
  "shellexpand",
- "subst",
  "util",
 ]
 
@@ -9632,7 +9736,6 @@ dependencies = [
  "file_icons",
  "fuzzy",
  "gpui",
- "itertools 0.11.0",
  "language",
  "picker",
  "project",
@@ -9858,7 +9961,7 @@ checksum = "49922ecae66cc8a249b77e68d1d0623c1b2c514f0060c27cdc68bd62a1219d35"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.59",
 ]
 
 [[package]]
@@ -9937,16 +10040,28 @@ dependencies = [
 
 [[package]]
 name = "tiny-skia"
-version = "0.5.1"
+version = "0.11.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1bf81f2900d2e235220e6f31ec9f63ade6a7f59090c556d74fe949bb3b15e9fe"
+checksum = "83d13394d44dae3207b52a326c0c85a8bf87f1541f23b0d143811088497b09ab"
 dependencies = [
  "arrayref",
- "arrayvec 0.5.2",
+ "arrayvec",
  "bytemuck",
  "cfg-if",
- "png",
- "safe_arch",
+ "log",
+ "png 0.17.13",
+ "tiny-skia-path",
+]
+
+[[package]]
+name = "tiny-skia-path"
+version = "0.11.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c9e7fc0c2e86a30b117d0462aa261b72b7a99b7ebd7deb3a14ceda95c5bdc93"
+dependencies = [
+ "arrayref",
+ "bytemuck",
+ "strict-num",
 ]
 
 [[package]]
@@ -10025,7 +10140,7 @@ checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.59",
 ]
 
 [[package]]
@@ -10232,11 +10347,10 @@ checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52"
 
 [[package]]
 name = "tracing"
-version = "0.1.37"
+version = "0.1.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
+checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
 dependencies = [
- "cfg-if",
  "log",
  "pin-project-lite",
  "tracing-attributes",
@@ -10245,20 +10359,20 @@ dependencies = [
 
 [[package]]
 name = "tracing-attributes"
-version = "0.1.26"
+version = "0.1.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab"
+checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.59",
 ]
 
 [[package]]
 name = "tracing-core"
-version = "0.1.31"
+version = "0.1.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a"
+checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
 dependencies = [
  "once_cell",
  "valuable",
@@ -10276,12 +10390,12 @@ dependencies = [
 
 [[package]]
 name = "tracing-log"
-version = "0.1.3"
+version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922"
+checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3"
 dependencies = [
- "lazy_static",
  "log",
+ "once_cell",
  "tracing-core",
 ]
 
@@ -10297,9 +10411,9 @@ dependencies = [
 
 [[package]]
 name = "tracing-subscriber"
-version = "0.3.17"
+version = "0.3.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77"
+checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b"
 dependencies = [
  "matchers",
  "nu-ansi-term",
@@ -10319,7 +10433,7 @@ dependencies = [
 [[package]]
 name = "tree-sitter"
 version = "0.20.100"
-source = "git+https://github.com/tree-sitter/tree-sitter?rev=7f21c3b98c0749ac192da67a0d65dfe3eabc4a63#7f21c3b98c0749ac192da67a0d65dfe3eabc4a63"
+source = "git+https://github.com/tree-sitter/tree-sitter?rev=7b4894ba2ae81b988846676f54c0988d4027ef4f#7b4894ba2ae81b988846676f54c0988d4027ef4f"
 dependencies = [
  "cc",
  "regex",
@@ -10373,15 +10487,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "tree-sitter-elm"
-version = "5.6.4"
-source = "git+https://github.com/elm-tooling/tree-sitter-elm?rev=692c50c0b961364c40299e73c1306aecb5d20f40#692c50c0b961364c40299e73c1306aecb5d20f40"
-dependencies = [
- "cc",
- "tree-sitter",
-]
-
-[[package]]
 name = "tree-sitter-embedded-template"
 version = "0.20.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -10392,15 +10497,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "tree-sitter-glsl"
-version = "0.1.4"
-source = "git+https://github.com/theHamsta/tree-sitter-glsl?rev=2a56fb7bc8bb03a1892b4741279dd0a8758b7fb3#2a56fb7bc8bb03a1892b4741279dd0a8758b7fb3"
-dependencies = [
- "cc",
- "tree-sitter",
-]
-
-[[package]]
 name = "tree-sitter-go"
 version = "0.19.1"
 source = "git+https://github.com/tree-sitter/tree-sitter-go?rev=aeb2f33b366fd78d5789ff104956ce23508b85db#aeb2f33b366fd78d5789ff104956ce23508b85db"
@@ -10428,15 +10524,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "tree-sitter-hcl"
-version = "0.0.1"
-source = "git+https://github.com/MichaHoffmann/tree-sitter-hcl?rev=v1.1.0#636dbe70301ecbab8f353c8c78b3406fe4f185f5"
-dependencies = [
- "cc",
- "tree-sitter",
-]
-
-[[package]]
 name = "tree-sitter-heex"
 version = "0.0.1"
 source = "git+https://github.com/phoenixframework/tree-sitter-heex?rev=2e1348c3cf2c9323e87c2744796cf3f3868aa82a#2e1348c3cf2c9323e87c2744796cf3f3868aa82a"
@@ -10484,16 +10571,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "tree-sitter-lua"
-version = "0.0.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d489873fd1a2fa6d5f04930bfc5c081c96f0c038c1437104518b5b842c69b282"
-dependencies = [
- "cc",
- "tree-sitter",
-]
-
-[[package]]
 name = "tree-sitter-markdown"
 version = "0.0.1"
 source = "git+https://github.com/MDeiml/tree-sitter-markdown?rev=330ecab87a3e3a7211ac69bbadc19eabecdb1cca#330ecab87a3e3a7211ac69bbadc19eabecdb1cca"
@@ -10503,33 +10580,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "tree-sitter-nix"
-version = "0.0.1"
-source = "git+https://github.com/nix-community/tree-sitter-nix?rev=66e3e9ce9180ae08fc57372061006ef83f0abde7#66e3e9ce9180ae08fc57372061006ef83f0abde7"
-dependencies = [
- "cc",
- "tree-sitter",
-]
-
-[[package]]
-name = "tree-sitter-nu"
-version = "0.0.1"
-source = "git+https://github.com/nushell/tree-sitter-nu?rev=7dd29f9616822e5fc259f5b4ae6c4ded9a71a132#7dd29f9616822e5fc259f5b4ae6c4ded9a71a132"
-dependencies = [
- "cc",
- "tree-sitter",
-]
-
-[[package]]
-name = "tree-sitter-ocaml"
-version = "0.20.4"
-source = "git+https://github.com/tree-sitter/tree-sitter-ocaml?rev=4abfdc1c7af2c6c77a370aee974627be1c285b3b#4abfdc1c7af2c6c77a370aee974627be1c285b3b"
-dependencies = [
- "cc",
- "tree-sitter",
-]
-
-[[package]]
 name = "tree-sitter-proto"
 version = "0.0.2"
 source = "git+https://github.com/rewinfrey/tree-sitter-proto?rev=36d54f288aee112f13a67b550ad32634d0c2cb52#36d54f288aee112f13a67b550ad32634d0c2cb52"
@@ -10549,15 +10599,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "tree-sitter-racket"
-version = "0.0.1"
-source = "git+https://github.com/zed-industries/tree-sitter-racket?rev=eb010cf2c674c6fd9a6316a84e28ef90190fe51a#eb010cf2c674c6fd9a6316a84e28ef90190fe51a"
-dependencies = [
- "cc",
- "tree-sitter",
-]
-
-[[package]]
 name = "tree-sitter-regex"
 version = "0.20.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -10588,15 +10629,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "tree-sitter-scheme"
-version = "0.2.0"
-source = "git+https://github.com/6cdh/tree-sitter-scheme?rev=af0fd1fa452cb2562dc7b5c8a8c55551c39273b9#af0fd1fa452cb2562dc7b5c8a8c55551c39273b9"
-dependencies = [
- "cc",
- "tree-sitter",
-]
-
-[[package]]
 name = "tree-sitter-typescript"
 version = "0.20.2"
 source = "git+https://github.com/tree-sitter/tree-sitter-typescript?rev=5d20856f34315b068c41edaee2ac8a100081d259#5d20856f34315b068c41edaee2ac8a100081d259"
@@ -10606,15 +10638,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "tree-sitter-vue"
-version = "0.0.1"
-source = "git+https://github.com/zed-industries/tree-sitter-vue?rev=6608d9d60c386f19d80af7d8132322fa11199c42#6608d9d60c386f19d80af7d8132322fa11199c42"
-dependencies = [
- "cc",
- "tree-sitter",
-]
-
-[[package]]
 name = "tree-sitter-yaml"
 version = "0.0.1"
 source = "git+https://github.com/zed-industries/tree-sitter-yaml?rev=f545a41f57502e1b5ddf2a6668896c1b0620f930#f545a41f57502e1b5ddf2a6668896c1b0620f930"
@@ -10631,18 +10654,6 @@ checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed"
 
 [[package]]
 name = "ttf-parser"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62ddb402ac6c2af6f7a2844243887631c4e94b51585b229fcfddb43958cd55ca"
-
-[[package]]
-name = "ttf-parser"
-version = "0.12.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ae2f58a822f08abdaf668897e96a5656fe72f5a9ce66422423e8849384872e6"
-
-[[package]]
-name = "ttf-parser"
 version = "0.20.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "17f77d76d837a7830fe1d4f12b7b4ba4192c1888001c7164257e4bc6d21d96b4"
@@ -10720,6 +10731,17 @@ dependencies = [
 ]
 
 [[package]]
+name = "ui_text_field"
+version = "0.1.0"
+dependencies = [
+ "editor",
+ "gpui",
+ "settings",
+ "theme",
+ "ui",
+]
+
+[[package]]
 name = "unicase"
 version = "2.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -10747,12 +10769,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "cc2520efa644f8268dce4dcd3050eaa7fc044fca03961e9998ac7e2e92b77cf1"
 
 [[package]]
-name = "unicode-general-category"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f9af028e052a610d99e066b33304625dea9613170a2563314490a4e6ec5cf7f"
-
-[[package]]
 name = "unicode-ident"
 version = "1.0.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -10792,12 +10808,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
 
 [[package]]
-name = "unicode-vo"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1d386ff53b415b7fe27b50bb44679e2cc4660272694b7b6f3326d8480823a94"
-
-[[package]]
 name = "unicode-width"
 version = "0.1.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -10853,28 +10863,23 @@ checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da"
 
 [[package]]
 name = "usvg"
-version = "0.14.1"
+version = "0.41.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef8352f317d8f9a918ba5154797fb2a93e2730244041cf7d5be35148266adfa5"
+checksum = "5c704361d822337cfc00387672c7b59eaa72a1f0744f62b2a68aa228a0c6927d"
 dependencies = [
- "base64 0.13.1",
+ "base64 0.22.0",
  "data-url",
  "flate2",
- "fontdb 0.5.4",
+ "imagesize",
  "kurbo",
  "log",
- "memmap2 0.2.3",
  "pico-args",
- "rctree",
- "roxmltree 0.14.1",
- "rustybuzz 0.3.0",
+ "roxmltree",
  "simplecss",
- "siphasher 0.2.3",
+ "siphasher 1.0.1",
+ "strict-num",
  "svgtypes",
- "ttf-parser 0.12.3",
- "unicode-bidi",
- "unicode-script",
- "unicode-vo",
+ "tiny-skia-path",
  "xmlwriter",
 ]
 
@@ -11127,7 +11132,7 @@ dependencies = [
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.59",
  "wasm-bindgen-shared",
 ]
 
@@ -11161,7 +11166,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.59",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
@@ -11298,7 +11303,7 @@ dependencies = [
  "anyhow",
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.59",
  "wasmtime-component-util",
  "wasmtime-wit-bindgen",
  "wit-parser",
@@ -11459,7 +11464,7 @@ checksum = "6d6d967f01032da7d4c6303da32f6a00d5efe1bac124b156e7342d8ace6ffdfc"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.59",
 ]
 
 [[package]]
@@ -11739,7 +11744,7 @@ dependencies = [
  "proc-macro2",
  "quote",
  "shellexpand",
- "syn 2.0.48",
+ "syn 2.0.59",
  "witx",
 ]
 
@@ -11751,7 +11756,7 @@ checksum = "512d816dbcd0113103b2eb2402ec9018e7f0755202a5b3e67db726f229d8dcae"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.59",
  "wiggle-generate",
 ]
 
@@ -11869,7 +11874,7 @@ checksum = "942ac266be9249c84ca862f0a164a39533dc2f6f33dc98ec89c8da99b82ea0bd"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.59",
 ]
 
 [[package]]
@@ -11880,7 +11885,7 @@ checksum = "da33557140a288fae4e1d5f8873aaf9eb6613a9cf82c3e070223ff177f598b60"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.59",
 ]
 
 [[package]]
@@ -12197,7 +12202,7 @@ dependencies = [
  "anyhow",
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.59",
  "wit-bindgen-core",
  "wit-bindgen-rust",
 ]
@@ -12515,7 +12520,7 @@ dependencies = [
 
 [[package]]
 name = "zed"
-version = "0.131.6"
+version = "0.132.4"
 dependencies = [
  "activity_indicator",
  "anyhow",
@@ -12551,6 +12556,7 @@ dependencies = [
  "futures 0.3.28",
  "go_to_line",
  "gpui",
+ "headless",
  "image_viewer",
  "install_cli",
  "isahc",
@@ -12615,14 +12621,14 @@ dependencies = [
 
 [[package]]
 name = "zed_clojure"
-version = "0.0.1"
+version = "0.0.2"
 dependencies = [
  "zed_extension_api 0.0.4",
 ]
 
 [[package]]
 name = "zed_csharp"
-version = "0.0.1"
+version = "0.0.2"
 dependencies = [
  "zed_extension_api 0.0.4",
 ]
@@ -12635,9 +12641,16 @@ dependencies = [
 ]
 
 [[package]]
-name = "zed_emmet"
+name = "zed_elm"
 version = "0.0.1"
 dependencies = [
+ "zed_extension_api 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "zed_emmet"
+version = "0.0.2"
+dependencies = [
  "zed_extension_api 0.0.4",
 ]
 
@@ -12659,15 +12672,6 @@ dependencies = [
 
 [[package]]
 name = "zed_extension_api"
-version = "0.0.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a5f4ae4e302a80591635ef9a236b35fde6fcc26cfd060e66fde4ba9f9fd394a1"
-dependencies = [
- "wit-bindgen",
-]
-
-[[package]]
-name = "zed_extension_api"
 version = "0.0.6"
 dependencies = [
  "serde",
@@ -12688,14 +12692,14 @@ dependencies = [
 
 [[package]]
 name = "zed_gleam"
-version = "0.0.2"
+version = "0.1.1"
 dependencies = [
  "zed_extension_api 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "zed_haskell"
-version = "0.0.1"
+version = "0.1.0"
 dependencies = [
  "zed_extension_api 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
@@ -12708,15 +12712,29 @@ dependencies = [
 ]
 
 [[package]]
-name = "zed_php"
+name = "zed_lua"
+version = "0.0.2"
+dependencies = [
+ "zed_extension_api 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "zed_ocaml"
 version = "0.0.1"
 dependencies = [
+ "zed_extension_api 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "zed_php"
+version = "0.0.2"
+dependencies = [
  "zed_extension_api 0.0.4",
 ]
 
 [[package]]
 name = "zed_prisma"
-version = "0.0.1"
+version = "0.0.2"
 dependencies = [
  "zed_extension_api 0.0.4",
 ]
@@ -12736,10 +12754,17 @@ dependencies = [
 ]
 
 [[package]]
-name = "zed_toml"
+name = "zed_terraform"
 version = "0.0.2"
 dependencies = [
- "zed_extension_api 0.0.5",
+ "zed_extension_api 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "zed_toml"
+version = "0.1.0"
+dependencies = [
+ "zed_extension_api 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -12750,10 +12775,17 @@ dependencies = [
 ]
 
 [[package]]
-name = "zed_zig"
+name = "zed_vue"
 version = "0.0.1"
 dependencies = [
- "zed_extension_api 0.0.5",
+ "zed_extension_api 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "zed_zig"
+version = "0.1.1"
+dependencies = [
+ "zed_extension_api 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -12779,7 +12811,7 @@ checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.59",
 ]
 
 [[package]]
@@ -12799,7 +12831,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.59",
 ]
 
 [[package]]
diff --git a/pkgs/by-name/ze/zed-editor/package.nix b/pkgs/by-name/ze/zed-editor/package.nix
index d656f2a33e90f..dc49348a20b9e 100644
--- a/pkgs/by-name/ze/zed-editor/package.nix
+++ b/pkgs/by-name/ze/zed-editor/package.nix
@@ -27,13 +27,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "zed";
-  version = "0.131.6";
+  version = "0.132.4";
 
   src = fetchFromGitHub {
     owner = "zed-industries";
     repo = "zed";
     rev = "refs/tags/v${version}";
-    hash = "sha256-IhFOA+g2I5vb72CTSZ8WTa9K0ieYbPD/BMShGqaUb84=";
+    hash = "sha256-4jnPqfLmxp3YpUAIpc/CZ5pv040uDggjeNzJJ2v021E=";
     fetchSubmodules = true;
   };
 
@@ -42,35 +42,26 @@ rustPlatform.buildRustPackage rec {
     outputHashes = {
       "async-pipe-0.1.3" = "sha256-g120X88HGT8P6GNCrzpS5SutALx5H+45Sf4iSSxzctE=";
       "blade-graphics-0.4.0" = "sha256-S1PNdQ9YbJgLLsJU1mvDZ3feVDIrZGwU37JqIm+kfcE=";
-      "bromberg_sl2-0.6.0" = "sha256-+bwdnk3EgYEAxQSP4KpEPicCfO+r2er1DRZjvfF4jSM=";
       "font-kit-0.11.0" = "sha256-+4zMzjFyMS60HfLMEXGfXqKn6P+pOngLA45udV09DM8=";
+      "heed-0.20.0-alpha.9" = "sha256-8bzoMmfKS+6AmeTzh0/F7WM9OBdIex+NYFER28bpA/s=";
       "lsp-types-0.94.1" = "sha256-kplgPsafrgZFMI1D9pQCwmg+FKMn5HNWLbcgdXHUFVU=";
       "nvim-rs-0.6.0-pre" = "sha256-bdWWuCsBv01mnPA5e5zRpq48BgOqaqIcAu+b7y1NnM8=";
       "pathfinder_simd-0.5.3" = "sha256-bakBcAQZJdHQPXybe0zoMzE49aOHENQY7/ZWZUMt+pM=";
       "taffy-0.3.11" = "sha256-0hXOEj6IjSW8e1t+rvxBFX6V9XRum3QO2Des1XlHJEw=";
-      "tree-sitter-0.20.100" = "sha256-k8au4++UJyaOCNo0cqokaQ5Is3BmIiCBSxiUkbrzhFQ=";
+      "tree-sitter-0.20.100" = "sha256-xZDWAjNIhWC2n39H7jJdKDgyE/J6+MAVSa8dHtZ6CLE=";
       "tree-sitter-bash-0.20.4" = "sha256-VP7rJfE/k8KV1XN1w5f0YKjCnDMYU1go/up0zj1mabM=";
       "tree-sitter-cpp-0.20.0" = "sha256-2QYEFkpwcRmh2kf4qEAL2a5lGSa316CetOhF73e7rEM=";
       "tree-sitter-css-0.19.0" = "sha256-5Qti/bFac2A1PJxqZEOuSLK3GGKYwPDKAp3OOassBxU=";
       "tree-sitter-elixir-0.1.0" = "sha256-hBHqQ3eBjknRPJjP+lQJU6NPFhUMtiv4FbKsTw28Bog=";
-      "tree-sitter-elm-5.6.4" = "sha256-0LpuyebOB5ew9fULBcaw8aUbF7HM5sXQpv+Jroz4tXg=";
-      "tree-sitter-glsl-0.1.4" = "sha256-TRuiT3ndCeDCsCFokAN8cosNKccB0NjWVRiBJuBJXZw=";
       "tree-sitter-go-0.19.1" = "sha256-5+L5QqVjZyeh+sKfxKZWrjIBFE5xM9KZlHcLiHzJCIA=";
       "tree-sitter-gomod-1.0.2" = "sha256-OPtqXe6OMC9c5dgFH8Msj+6DU01LvLKVbCzGLj0PnLI=";
       "tree-sitter-gowork-0.0.1" = "sha256-lM4L4Ap/c8uCr4xUw9+l/vaGb3FxxnuZI0+xKYFDPVg=";
-      "tree-sitter-hcl-0.0.1" = "sha256-saVKSYUJY7OuIuNm9EpQnhFO/vQGKxCXuv3EKYOJzfs=";
       "tree-sitter-heex-0.0.1" = "sha256-6LREyZhdTDt3YHVRPDyqCaDXqcsPlHOoMFDb2B3+3xM=";
       "tree-sitter-jsdoc-0.20.0" = "sha256-fKscFhgZ/BQnYnE5EwurFZgiE//O0WagRIHVtDyes/Y=";
       "tree-sitter-json-0.20.0" = "sha256-fZNftzNavJQPQE4S1VLhRyGQRoJgbWA5xTPa8ZI5UX4=";
       "tree-sitter-markdown-0.0.1" = "sha256-F8VVd7yYa4nCrj/HEC13BTC7lkV3XSb2Z3BNi/VfSbs=";
-      "tree-sitter-nix-0.0.1" = "sha256-+o+f1TlhcrcCB3TNw1RyCjVZ+37e11nL+GWBPo0Mxxg=";
-      "tree-sitter-nu-0.0.1" = "sha256-V6EZfba5e0NdOG4n3DNI25luNXfcCN3+/vNYuz9llUk=";
-      "tree-sitter-ocaml-0.20.4" = "sha256-ycmjIKfrsVSVHmPP3HCxfk5wcBIF/JFH8OnU8mY1Cc8=";
       "tree-sitter-proto-0.0.2" = "sha256-W0diP2ByAXYrc7Mu/sbqST6lgVIyHeSBmH7/y/X3NhU=";
-      "tree-sitter-racket-0.0.1" = "sha256-ie64no94TtAWsSYaBXmic4oyRAA01fMl97+JWcFU1E8=";
-      "tree-sitter-scheme-0.2.0" = "sha256-K3+zmykjq2DpCnk17Ko9LOyGQTBZb1/dgVXIVynCYd4=";
       "tree-sitter-typescript-0.20.2" = "sha256-cpOAtfvlffS57BrXaoa2xa9NUYw0AsHxVI8PrcpgZCQ=";
-      "tree-sitter-vue-0.0.1" = "sha256-8v2e03A/Uj6zCJTH4j6TPwDQcNFeze1jepMADT6UVis=";
       "tree-sitter-yaml-0.0.1" = "sha256-S59jLlipBI2kwFuZDMmpv0TOZpGyXpbAizN3yC6wJ5I=";
     };
   };
diff --git a/pkgs/by-name/zp/zpaqfranz/package.nix b/pkgs/by-name/zp/zpaqfranz/package.nix
index 158dbade94e71..ba03ab784e383 100644
--- a/pkgs/by-name/zp/zpaqfranz/package.nix
+++ b/pkgs/by-name/zp/zpaqfranz/package.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "zpaqfranz";
-  version = "59.2";
+  version = "59.3";
 
   src = fetchFromGitHub {
     owner = "fcorbelli";
     repo = "zpaqfranz";
     rev = finalAttrs.version;
-    hash = "sha256-NPkaOmjeLPznG/kY2cF9ROA7SzWEeKKCcPhP91PnYOk=";
+    hash = "sha256-Ut4NOcmuXDaGkoXff8cixe5Onb84ztyHlFKH1zDUAZE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/common-updater/unstable-updater.nix b/pkgs/common-updater/unstable-updater.nix
index 29b7fcf196795..d982fc6110ba7 100644
--- a/pkgs/common-updater/unstable-updater.nix
+++ b/pkgs/common-updater/unstable-updater.nix
@@ -1,5 +1,5 @@
 { lib
-, writeShellScript
+, writeShellApplication
 , coreutils
 , git
 , nix
@@ -10,114 +10,162 @@
 # commit.
 { url ? null # The git url, if empty it will be set to src.gitRepoUrl
 , branch ? null
-, stableVersion ? false # Use version format according to RFC 107 (i.e. LAST_TAG+date=YYYY-MM-DD)
-, tagPrefix ? "" # strip this prefix from a tag name when using stable version
+, hardcodeZeroVersion ? false # Use a made-up version "0" instead of latest tag. Use when there is no previous release, or the project's tagging system is incompatible with what we expect from versions
+, tagFormat ? "*" # A `git describe --tags --match '<format>'` pattern that tags must match to be considered
+, tagPrefix ? null # strip this prefix from a tag name
+, tagConverter ? null # A command to convert more complex tag formats. It receives the git tag via stdin and should convert it into x.y.z format to stdout
 , shallowClone ? true
 }:
 
+assert lib.asserts.assertMsg (tagPrefix == null || tagConverter == null) "Can only use either tagPrefix or tagConverter!";
+
 let
-  updateScript = writeShellScript "unstable-update-script.sh" ''
-    set -ex
+  updateScript = writeShellApplication {
+    name = "unstable-update-script";
+    runtimeInputs = [
+      common-updater-scripts
+      coreutils
+      git
+      nix
+    ];
+    text = ''
+      set -ex
+
+      url=""
+      branch=""
+      hardcode_zero_version=""
+      tag_format=""
+      tag_prefix=""
+      tag_converter=""
+      shallow_clone=""
+      : "''${systemArg:=}"
 
-    url=""
-    branch=""
-    use_stable_version=""
-    tag_prefix=""
-    shallow_clone=""
+      while (( $# > 0 )); do
+          flag="$1"
+          shift 1
+          case "$flag" in
+            --url=*)
+              url="''${flag#*=}"
+              ;;
+            --branch=*)
+              branch="''${flag#*=}"
+              ;;
+            --hardcode-zero-version)
+              hardcode_zero_version=1
+              ;;
+            --tag-format=*)
+              tag_format="''${flag#*=}"
+              ;;
+            --tag-prefix=*)
+              tag_prefix="''${flag#*=}"
+              ;;
+            --tag-converter=*)
+              tag_converter="''${flag#*=}"
+              ;;
+            --shallow-clone)
+              shallow_clone=1
+              ;;
+            *)
+              echo "$0: unknown option ‘''${flag}’"
+              exit 1
+              ;;
+          esac
+      done
 
-    while (( $# > 0 )); do
-        flag="$1"
-        shift 1
-        case "$flag" in
-          --url=*)
-            url="''${flag#*=}"
-            ;;
-          --branch=*)
-            branch="''${flag#*=}"
-            ;;
-          --use-stable-version)
-            use_stable_version=1
-            ;;
-          --tag-prefix=*)
-            tag_prefix="''${flag#*=}"
-            ;;
-          --shallow-clone)
-            shallow_clone=1
-            ;;
-          *)
-            echo "$0: unknown option ‘''${flag}’"
-            exit 1
-            ;;
-        esac
-    done
+      # By default we set url to src.gitRepoUrl
+      if [[ -z "$url" ]]; then
+          # system argument cannot be passed as 1 argument
+          # shellcheck disable=SC2086
+          url="$(nix-instantiate $systemArg --eval -E \
+                     "with import ./. {}; $UPDATE_NIX_ATTR_PATH.src.gitRepoUrl" \
+              | tr -d '"')"
+      fi
 
-    # By default we set url to src.gitRepoUrl
-    if [[ -z "$url" ]]; then
-        url="$(${nix}/bin/nix-instantiate $systemArg --eval -E \
-                   "with import ./. {}; $UPDATE_NIX_ATTR_PATH.src.gitRepoUrl" \
-            | tr -d '"')"
-    fi
+      # Get info about HEAD from a shallow git clone
+      tmpdir="$(mktemp -d)"
 
-    # Get info about HEAD from a shallow git clone
-    tmpdir="$(${coreutils}/bin/mktemp -d)"
+      cloneArgs=()
 
-    cloneArgs=(
-      --bare
-    )
+      if [[ "$shallow_clone" == "1" ]]; then
+          cloneArgs+=(--depth=1)
+      fi
 
-    if [[ "$shallow_clone" == "1" ]]; then
-        cloneArgs+=(--depth=1)
-    fi
+      if [[ -n "$branch" ]]; then
+          cloneArgs+=(--branch="$branch")
+      fi
 
-    if [[ -n "$branch" ]]; then
-        cloneArgs+=(--branch="$branch")
-    fi
+      git clone "''${cloneArgs[@]}" "$url" "$tmpdir"
+      getLatestVersion() {
+          git describe --tags --abbrev=0 --match "''${tag_format}" 2> /dev/null || true
+      }
 
-    ${git}/bin/git clone "''${cloneArgs[@]}" "$url" "$tmpdir"
+      pushd "$tmpdir"
+      commit_date="$(git show -s --pretty='format:%cs')"
+      commit_sha="$(git show -s --pretty='format:%H')"
+      last_tag=""
+      if [[ -z "$hardcode_zero_version" ]]; then
+          if [[ "$shallow_clone" == "1" ]]; then
+              depth=100
+              while (( depth < 10000 )); do
+                  last_tag="$(getLatestVersion)"
+                  if [[ -n "$last_tag" ]]; then
+                      break
+                  fi
+                  git fetch --depth="$depth" --tags
+                  depth=$(( depth * 2 ))
+              done
 
-    pushd "$tmpdir"
-    commit_date="$(${git}/bin/git show -s --pretty='format:%cs')"
-    commit_sha="$(${git}/bin/git show -s --pretty='format:%H')"
-    if [[ -z "$use_stable_version" ]]; then
-        new_version="unstable-$commit_date"
-    else
-        depth=100
-        while (( $depth < 10000 )); do
-            last_tag="$(${git}/bin/git describe --tags --abbrev=0 2> /dev/null || true)"
-            if [[ -n "$last_tag" ]]; then
-                break
-            fi
-            ${git}/bin/git fetch --depth="$depth" --tags
-            depth=$(( $depth * 2 ))
-        done
-        if [[ -z "$last_tag" ]]; then
-            echo "Cound not found a tag within last 10000 commits" > /dev/stderr
-            exit 1
-        fi
-        if [[ -n "$tag_prefix" ]]; then
-          last_tag="''${last_tag#$tag_prefix}"
-        fi
-        new_version="$last_tag+date=$commit_date"
-    fi
-    popd
-    # ${coreutils}/bin/rm -rf "$tmpdir"
+              if [[ -z "$last_tag" ]]; then
+                  # To be extra sure, check if full history helps with finding a tag
+                  git fetch --tags
+                  last_tag="$(getLatestVersion)"
+              fi
+          else
+              last_tag="$(getLatestVersion)"
+          fi
+          if [[ -z "$last_tag" ]]; then
+              last_tag="0"
+          fi
+          if [[ -n "$tag_prefix" ]]; then
+              echo "Stripping prefix '$tag_prefix' from tag '$last_tag'"
+              last_tag="''${last_tag#"''${tag_prefix}"}"
+          fi
+          if [[ -n "$tag_converter" ]]; then
+              echo "Running '$last_tag' through: $tag_converter"
+              last_tag="$(echo "''${last_tag}" | ''${tag_converter})"
+          fi
+      else
+          last_tag="0"
+      fi
+      if [[ ! "$last_tag" =~ ^[[:digit:]] ]]; then
+          echo "Last tag '$last_tag' does not start with a digit" > /dev/stderr
+          exit 1
+      fi
+      new_version="$last_tag-unstable-$commit_date"
+      popd
+      # rm -rf "$tmpdir"
 
-    # update the nix expression
-    ${common-updater-scripts}/bin/update-source-version \
-        "$UPDATE_NIX_ATTR_PATH" \
-        "$new_version" \
-        --rev="$commit_sha"
-  '';
+      # update the nix expression
+      update-source-version \
+          "$UPDATE_NIX_ATTR_PATH" \
+          "$new_version" \
+          --rev="$commit_sha"
+    '';
+  };
 
 in
 [
-  updateScript
+  (lib.getExe updateScript)
   "--url=${builtins.toString url}"
+  "--tag-format=${tagFormat}"
 ] ++ lib.optionals (branch != null) [
   "--branch=${branch}"
-] ++ lib.optionals stableVersion [
-  "--use-stable-version"
+] ++ lib.optionals (tagPrefix != null) [
   "--tag-prefix=${tagPrefix}"
+] ++ lib.optionals (tagConverter != null) [
+  "--tag-converter=${tagConverter}"
+] ++ lib.optionals hardcodeZeroVersion [
+  "--hardcode-zero-version"
 ] ++ lib.optionals shallowClone [
   "--shallow-clone"
 ]
diff --git a/pkgs/data/documentation/scheme-manpages/default.nix b/pkgs/data/documentation/scheme-manpages/default.nix
index 468938a0a75f9..87119f31452bd 100644
--- a/pkgs/data/documentation/scheme-manpages/default.nix
+++ b/pkgs/data/documentation/scheme-manpages/default.nix
@@ -24,7 +24,7 @@ stdenvNoCC.mkDerivation rec {
     description = "Unix manual pages for R6RS and R7RS";
     homepage = "https://github.com/schemedoc/manpages";
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/data/fonts/3270font/default.nix b/pkgs/data/fonts/3270font/default.nix
index 68bdd7e70d40a..56ee110a4b35c 100644
--- a/pkgs/data/fonts/3270font/default.nix
+++ b/pkgs/data/fonts/3270font/default.nix
@@ -30,7 +30,7 @@ stdenvNoCC.mkDerivation rec {
     homepage = "https://github.com/rbanffy/3270font";
     changelog = "https://github.com/rbanffy/3270font/blob/v${version}/CHANGELOG.md";
     license = [ licenses.bsd3 licenses.ofl ];
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/data/fonts/barlow/default.nix b/pkgs/data/fonts/barlow/default.nix
index e9bfa4dee3753..ad1d985c31e67 100644
--- a/pkgs/data/fonts/barlow/default.nix
+++ b/pkgs/data/fonts/barlow/default.nix
@@ -26,7 +26,7 @@ stdenvNoCC.mkDerivation rec {
     description = "A grotesk variable font superfamily";
     homepage = "https://tribby.com/fonts/barlow/";
     license = licenses.ofl;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/data/fonts/cascadia-code/default.nix b/pkgs/data/fonts/cascadia-code/default.nix
index df1af86d5ce04..d6d1bbd960388 100644
--- a/pkgs/data/fonts/cascadia-code/default.nix
+++ b/pkgs/data/fonts/cascadia-code/default.nix
@@ -24,7 +24,7 @@ stdenvNoCC.mkDerivation rec {
     homepage = "https://github.com/microsoft/cascadia-code";
     changelog = "https://github.com/microsoft/cascadia-code/raw/v${version}/FONTLOG.txt";
     license = licenses.ofl;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/data/fonts/cooper-hewitt/default.nix b/pkgs/data/fonts/cooper-hewitt/default.nix
index 5a3bb59c2519a..843fb851c140f 100644
--- a/pkgs/data/fonts/cooper-hewitt/default.nix
+++ b/pkgs/data/fonts/cooper-hewitt/default.nix
@@ -23,6 +23,6 @@ stdenvNoCC.mkDerivation rec {
     description = "A contemporary sans serif, with characters composed of modified-geometric curves and arches";
     license = licenses.ofl;
     platforms = platforms.all;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/data/fonts/cozette/default.nix b/pkgs/data/fonts/cozette/default.nix
index de8e64c843ca5..4e052cdf3c971 100644
--- a/pkgs/data/fonts/cozette/default.nix
+++ b/pkgs/data/fonts/cozette/default.nix
@@ -28,6 +28,6 @@ stdenvNoCC.mkDerivation rec {
     changelog = "https://github.com/slavfox/Cozette/blob/v.${version}/CHANGELOG.md";
     license = licenses.mit;
     platforms = platforms.all;
-    maintainers = with maintainers; [ brettlyons marsam ];
+    maintainers = with maintainers; [ brettlyons ];
   };
 }
diff --git a/pkgs/data/fonts/font-awesome/default.nix b/pkgs/data/fonts/font-awesome/default.nix
index dfc808971b677..8705a07d25935 100644
--- a/pkgs/data/fonts/font-awesome/default.nix
+++ b/pkgs/data/fonts/font-awesome/default.nix
@@ -48,7 +48,7 @@ in
     hash = "sha256-gd23ZplNY56sm1lfkU3kPXUOmNmY5SRnT0qlQZRNuBo=";
   };
   v6 = font-awesome {
-    version = "6.4.2";
-    hash = "sha256-/utIhn7CWxlWXshcCUj57WuObRmLTGhTfQo7L6FDHqA=";
+    version = "6.5.2";
+    hash = "sha256-kUa/L/Krxb5v8SmtACCSC6CI3qTTOTr4Ss/FMRBlKuw=";
   };
 }
diff --git a/pkgs/data/fonts/fraunces/default.nix b/pkgs/data/fonts/fraunces/default.nix
index 21bab9002bcf2..b41dc1ea80995 100644
--- a/pkgs/data/fonts/fraunces/default.nix
+++ b/pkgs/data/fonts/fraunces/default.nix
@@ -22,7 +22,7 @@ stdenvNoCC.mkDerivation rec {
     description = "A display, “Old Style” soft-serif typeface inspired by early 20th century typefaces";
     homepage = "https://github.com/undercasetype/Fraunces";
     license = licenses.ofl;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/data/fonts/ia-writer-duospace/default.nix b/pkgs/data/fonts/ia-writer-duospace/default.nix
index 483ed98737d01..dc0471b65fb89 100644
--- a/pkgs/data/fonts/ia-writer-duospace/default.nix
+++ b/pkgs/data/fonts/ia-writer-duospace/default.nix
@@ -25,6 +25,6 @@ stdenvNoCC.mkDerivation {
     homepage = "https://ia.net/topics/in-search-of-the-perfect-writing-font";
     license = licenses.ofl;
     platforms = platforms.all;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/data/fonts/iosevka/bin.nix b/pkgs/data/fonts/iosevka/bin.nix
index 749658086bf50..f805c07a18a11 100644
--- a/pkgs/data/fonts/iosevka/bin.nix
+++ b/pkgs/data/fonts/iosevka/bin.nix
@@ -17,7 +17,7 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "${name}-bin";
-  version = "29.1.0";
+  version = "29.2.1";
 
   src = fetchurl {
     url = "https://github.com/be5invis/Iosevka/releases/download/v${version}/PkgTTC-${name}-${version}.zip";
diff --git a/pkgs/data/fonts/iosevka/variants.nix b/pkgs/data/fonts/iosevka/variants.nix
index 268f2c80f1b6c..baab3d4016a4a 100644
--- a/pkgs/data/fonts/iosevka/variants.nix
+++ b/pkgs/data/fonts/iosevka/variants.nix
@@ -1,93 +1,93 @@
 # This file was autogenerated. DO NOT EDIT!
 {
-  Iosevka = "1mz2l4j2kczk540gx2nbj40apympy9b7sih9nr3585yg14axihfa";
-  IosevkaAile = "0rlajr2gzj8n2jynz86yr382jbxffi6rygkb7a2psp6b91p3q8yg";
-  IosevkaCurly = "1zp5015qvrnzpp2hr8cxrdb8qw86bmn80cr7jwl119dmdsk7aaks";
-  IosevkaCurlySlab = "1lkq462j3a2bm791d67xsymdgz3fjjakakdzyjj3plvycg39rszd";
-  IosevkaEtoile = "17shszmnrsxis5hvafsp3j0p7izzqw9fv0j0bp7x0dxljdhj9f4x";
-  IosevkaSlab = "03xcj0y7m9rp9p9vh8mah83kap3bfssbxfpl4jwdjq661f43pkxw";
-  IosevkaSS01 = "1hc3x3m5p22483asdfy1anvlxvpagwf8k23kri0r5i003cyhs4kb";
-  IosevkaSS02 = "0rcmiirz5hkfb8pjsgz1sqjr6dj6w922yx60fz8icg5743q7n8gs";
-  IosevkaSS03 = "02lyihd7acr6ai22k78qk18zfgs63rmwv57v2hkz248nz04xhg5v";
-  IosevkaSS04 = "06by2zj9m5v70hpa7krf443817dikzyc1sawldgqjz83nwhnnbyq";
-  IosevkaSS05 = "1f6bvc47rc843n6a12j3mdf223df8rr542xjvg4zh9g6lmm35bj9";
-  IosevkaSS06 = "0vrpygvg5ywhqzam1yndmbxlq72fmab70ns6pmn9yx4gpa95gdr3";
-  IosevkaSS07 = "0g69bwhxgnk8lyqyvvg7hg88lfgakh4vjkxcjpqnymia3bd5siiy";
-  IosevkaSS08 = "0a02ar74m8cas3x9mfwi1ncbnvrgcipii17qip0c3f1d7a0qpf8i";
-  IosevkaSS09 = "1mh77424jxnf5hicy9v3kgzngy4cvh0kwkqpyfhdk8f7alqnlk8v";
-  IosevkaSS10 = "05bqjz33j78q4daf40js6rcli8q7i2y1ldxnpgsrlirk7cr3q88y";
-  IosevkaSS11 = "11blakgiqhvl5z34py7lw23m32f1qqinajrya1pi10i2q2kwhm06";
-  IosevkaSS12 = "0zb9xrw83a3g4rany2prkxw6x707rxziv0fjj1vjmdpxcdpmndi6";
-  IosevkaSS13 = "1li250cjnyihs1ha3y3xhw3fbr60bz068513zjf7pjqwjpaj1lqq";
-  IosevkaSS14 = "027g4lj3qqmq6m2bpk79i8bf0d402yqwnk800zzbhvgc32pmrwz5";
-  IosevkaSS15 = "0ndn2y8sq9b3667j4cvz5nqyfs5sldn231xba4q79naq4cgjphkl";
-  IosevkaSS16 = "17vndj8h8dcgbsvzmjvzyzj30zzpqjyxch346a1zhrpaq4slmahp";
-  IosevkaSS17 = "0y95r32x5z75nk3rqvqx9makr3lpkyap8zlwg1aq2hfcnfppf2mf";
-  IosevkaSS18 = "1w70hv0fapx3a7zmnrayzxc0wxsk6rc9czr2spjjy42l60nrf4fl";
-  SGr-Iosevka = "1n8haiwyvsxi9qf2h63jp2ilr9iqc7dgw7j3znji8dpwzvyl86hh";
-  SGr-IosevkaCurly = "0g86gdhqw231bgqy26shi8bm6216rvyxzwvnjis7hjqg3b312z9x";
-  SGr-IosevkaCurlySlab = "0cy1nzqn138cd1xipb76pz36dd3mgss2vmmqlbqwjjcwpr8h0s0s";
-  SGr-IosevkaFixed = "187g1q32blj0nkfd3yxjgscnz7zslh5k58abnx7fjd30s5n5yscr";
-  SGr-IosevkaFixedCurly = "1mgbbhazvqxm1r9cl6slr1y0bdna6h7as0q5iggh6zqan0zrr70c";
-  SGr-IosevkaFixedCurlySlab = "1v8gsjbl5136scnd06k7hhbkzsvjbg9j2g1xj5pgvda0lanqy0r4";
-  SGr-IosevkaFixedSlab = "05jf8yzkp61aggyb8rky9wlj16g9xfhf0qgr8n9p4wf51i1fikky";
-  SGr-IosevkaFixedSS01 = "1h43f0vn1hlv7676v620dss9ijwlnjkdjzf3zs590k5cm0xpfmfj";
-  SGr-IosevkaFixedSS02 = "004idwfv9fww05q44bdqcc1m47sjdkh0ybrv3k3djgkm4ii3irjf";
-  SGr-IosevkaFixedSS03 = "0l4i8fzy1ypfcb43475jyccij8a9s2bm7pvbbrckkhmi357f53mh";
-  SGr-IosevkaFixedSS04 = "15kmg0xvi1l32fd3swl5rz539xxif5vx57rr0byrg9bi9ksvsfg6";
-  SGr-IosevkaFixedSS05 = "07i8nd9z42xxjqb73if3zqznipgkjlvh06rckrp3k9ylpr608rgr";
-  SGr-IosevkaFixedSS06 = "0s9zh2v0qykqjrms8wbrarjid3vjd3d0mas7pl75d207smcy1sf2";
-  SGr-IosevkaFixedSS07 = "1bkqj44xjnafp1vmlyg91zpjwsqc991infbpcgrmm1kd7nxsdki1";
-  SGr-IosevkaFixedSS08 = "1jyrnc94cr47glmjn9as5yz534j2lzb171rr5ybmjf1f1iir8hh5";
-  SGr-IosevkaFixedSS09 = "1kpf263mjddjdl4nk06pp0x48ia73pyicvqkkk6jw556w0gbmd38";
-  SGr-IosevkaFixedSS10 = "0dx5bjc8xhxg6a6h6620v3nz3jnldq4is1cw2g4j0xxr2wigi1q2";
-  SGr-IosevkaFixedSS11 = "0zc66j2x7z95lycmi7phyjl7wxf8fxy0x6dywsksm54rzqpw2x2n";
-  SGr-IosevkaFixedSS12 = "0z7riwx6kq3v35vap4vnp23xlwdczp4mdzkwq8w73v0ki47mm1vf";
-  SGr-IosevkaFixedSS13 = "0nq1l70fw1rlj6ijs3drjrgwsfrgl3r7hzmv4dzaw3135irbw7jl";
-  SGr-IosevkaFixedSS14 = "15i7qy09x7xgcl097l430nbs4zfmdqsjqlqxlnvxh8l7if52glx0";
-  SGr-IosevkaFixedSS15 = "04pl83npfvy7zyhxnzsds04sq0ffilkgvj74i8w74jrr6ncsigc5";
-  SGr-IosevkaFixedSS16 = "0ib27fr1mj6zdyp99h425wyw1g4a0qdgz7wkbvnvjm7s9api750w";
-  SGr-IosevkaFixedSS17 = "0ln4i0q5yszb1162rm6dgfnssqc09zak400rjhwkf89z8nggyjnr";
-  SGr-IosevkaFixedSS18 = "0pi4qnzjlkzfdlnf853aamhb1dbinhcs42al6dara8j4la2mw9b0";
-  SGr-IosevkaSlab = "17fcn0b79z901kdzyjxlx46d6b40x2rib6lnh6bja7g4n42ha8rc";
-  SGr-IosevkaSS01 = "1xrdrydi9ync2iybpbf4k5iax1i7pfbmn1grbql07b13snagcjsy";
-  SGr-IosevkaSS02 = "13m6si5mamblvdbnaz16fl9gnpq0r5zr0iwrv4fycs21bz12gz3w";
-  SGr-IosevkaSS03 = "0s6ljh6igx7i188c86xy3gpwc37xzm2d5w3f6sdp1sg8cgr71iaf";
-  SGr-IosevkaSS04 = "15xlzn0mi150h8hy03bz611w5vla61nhannglfmsa8bljqwb33sp";
-  SGr-IosevkaSS05 = "1ljkb44sycdh6gira2fjflbmcfkqs3fsv2xf493bl2mvd46kkh2b";
-  SGr-IosevkaSS06 = "1ra5s2f1ydpzg742yg1d1fawvhvxijq8ibi7maf99k1pf4qkpvak";
-  SGr-IosevkaSS07 = "1cx9k8f6qnqfz2klcqdbnbz9ndr353kvg5w817b84zqbb2isyy2g";
-  SGr-IosevkaSS08 = "0i3sz05nmabvxa62j85hw4hs53q378x4sy715af8cpzy1xwg46qh";
-  SGr-IosevkaSS09 = "1pbd35y5rfa7hlvgci3a5mfixpq3dcg69yd539csy4riz99nbnzz";
-  SGr-IosevkaSS10 = "0br4g7hdf3crnxkax2qy6nm1prgygl8j78jlhkfqhzfmzxajf2v3";
-  SGr-IosevkaSS11 = "1k6vg4xkarch1vxry6wk1fsns563a6afv88pd286gid332hjlzk5";
-  SGr-IosevkaSS12 = "01sraf0kw9kfm33ybglpqml59blggsp7q4hpi2jmf2nm05qzd5kz";
-  SGr-IosevkaSS13 = "0ga9j1cd9vgiwji2pz3w1dmgd7r8abnd8486fyfjqzjcw9vh4w06";
-  SGr-IosevkaSS14 = "0d1d65d52r7snmzhyb8r6i78z7mjmhz8psw20843bg8wrbpd35yq";
-  SGr-IosevkaSS15 = "11bxcnpj4b6w9v4kwg6lfg4gingh9aigfwwi7q7iv8bzhv6pznng";
-  SGr-IosevkaSS16 = "0bk8cs7qm4q36s28hrdg3sd7b6v2b9xfvam8vsxfbdsdwy8p7ksv";
-  SGr-IosevkaSS17 = "0qz53fa53bin4an8dh66j29j019zhb4pni1j6isijm1lr37i7xmf";
-  SGr-IosevkaSS18 = "02d57rs879r8rnikdpcr6vk1i191c674jvxw7qzanyflfi9xr90m";
-  SGr-IosevkaTerm = "1pamv5s6d11kxvhcy6id985rz895y02px65dv7s761ci5a1rvayx";
-  SGr-IosevkaTermCurly = "09781j6hhv7v3qrh79kdg3kzyfdwfy217fz5mwhr36qjikwlbbiq";
-  SGr-IosevkaTermCurlySlab = "1kx0nzgcrggwgw06520nrfhym5yi6k1rfgbgdc6f7a93hdkyb8v1";
-  SGr-IosevkaTermSlab = "07i6wbqxaaxr4xg9avs7473x0w2zcyg6zxpgby8l7lcv4g6wrn23";
-  SGr-IosevkaTermSS01 = "1g8lbkk5z1kypcwhkn9izdbg246imnhfa0g2xssy2xd41jmk9djn";
-  SGr-IosevkaTermSS02 = "04n26jkd8dp91n1a0ifr4srsxhpg3rcp9k56r1xjrc0wjpwmw05n";
-  SGr-IosevkaTermSS03 = "108160gn6ggw1piz7r4ngwyfhycqhx350v8x6lcrfjlcx1mp5isk";
-  SGr-IosevkaTermSS04 = "0qw7n2i8p323mr73pimjyb1rlk2m07d34qswgwpqvfj0jbbp3bp3";
-  SGr-IosevkaTermSS05 = "0diwqrdyl43c6kng7rvg8wc7m2r5bri999rvn99xdhsll644b7zd";
-  SGr-IosevkaTermSS06 = "08wql4iwkczxb0nz74iwnkr2gnafw4wa3x2yaxyd7rqf5qdlf0pr";
-  SGr-IosevkaTermSS07 = "1hlcfx89yz0j0f93v0gww72m8jdy8k6cbmj7nhh4yqyvph9clqqa";
-  SGr-IosevkaTermSS08 = "1z4qxhlibyimjwizwp5i3b8c827c4pvdfib1ma7f8c654jni7v8k";
-  SGr-IosevkaTermSS09 = "1847m7zksg0ndn8kzx7hlqmwc9hs7rgaywqqzyp7ahpa5cwyk9zr";
-  SGr-IosevkaTermSS10 = "16nyrrim1g0zf5n4mp9k1iz8l5pgb3w9hlafhl4ys5xn7fw47cfc";
-  SGr-IosevkaTermSS11 = "0ry7h0ghwgi5ra36dgsc8zdkyxrd8srpc12ix9glcficbkhkkisp";
-  SGr-IosevkaTermSS12 = "1iri5bcjlwcni9k64y7cq3rh4106hrimpi4c47ii249nk6q2ppak";
-  SGr-IosevkaTermSS13 = "0qkkxq4gmf13wzic31y477hi3rkyihs0bxmch8nh1myy8fmj4fik";
-  SGr-IosevkaTermSS14 = "04pjjmy3mh3721fxf10hgii2d8gzc7x76v4mv6m84spwa2g8c72c";
-  SGr-IosevkaTermSS15 = "1lix7g00xx4yrq7xc2jik0bh6iib7sqyn2zsrng9pph4589vri22";
-  SGr-IosevkaTermSS16 = "076wy7yix7d217c87pp61x4nwqmmlzpqzlidq5v49jcdrdxj4b7k";
-  SGr-IosevkaTermSS17 = "0qdb5603nxs93sv1f06svf0r0c9b0qmpnr3grif3qx09ifpqnkfb";
-  SGr-IosevkaTermSS18 = "0whg2lxndn3j5jlnhjy6zj1lkwd4q0qf0pbf8kajhvnlrn6yx0ca";
+  Iosevka = "0m1ky8l0jm8sj62848grmzgpdqjj1ji51q2id7fnjy19cpb79r9p";
+  IosevkaAile = "1g2z2xn59rankrq724c16bds7lcjv05b3p9w2zk2yk30p3v8ik7r";
+  IosevkaCurly = "1ngybzmhfsfjj7jh3mkb6mmb0p9pai5jkrd15ck19qdyvn0m7p54";
+  IosevkaCurlySlab = "1jidf96kspv0yrl2wyal7m2sz25nalx05w0x60cplmnq3zdxkbqw";
+  IosevkaEtoile = "0xwzic90sq6i2cglds8j8yj9b3cxx5xxdkqwngg1l3ra1nw40mqy";
+  IosevkaSlab = "1l25d3n9z1fy6ch3km3bzdcxgs2h7nsmy322pvpw5d4w3dn27g8q";
+  IosevkaSS01 = "1r5c291gbjgg7zzqm75dk77z67snpxp571xgdqvq57yb0dx38rij";
+  IosevkaSS02 = "0y28c4h0064vi6svgaljv3drahh8f2z0bw4vr33008ha1xn854pf";
+  IosevkaSS03 = "0bz66psg47ccvkbp8c1b8ki91xw68isf1jibh5vrgi51s9cg7031";
+  IosevkaSS04 = "0czfc0fcf61l6ldcq55nva50xshkkq6930kzfp5ixx5f04ng74c4";
+  IosevkaSS05 = "0fwd1bb840y5173z15qczribgi60c4i3m2g047dsi4aq98ykvzmp";
+  IosevkaSS06 = "1p4isvyzinxx7029pp84hzq2hj341dksl65nnflrxhz756rgg7qy";
+  IosevkaSS07 = "08qdwkn4vpmybb1ivaxnnf8rwpsblgchhnk9nv3dbrpkwkqpzc6s";
+  IosevkaSS08 = "0a3ddksfp83dbfy2xnvwc02mkldpby6wbbf30y43in1lac22gx6c";
+  IosevkaSS09 = "0nia0ycbv2cd27g6r5gnwp22c4xsszkca88d4b909fdasw14dah2";
+  IosevkaSS10 = "00vfbvx1hwmqjj9qc1zd21r7l9lgimz4dnvgwf3qkvbzk018lks6";
+  IosevkaSS11 = "1pxgrg0m2x0695frxzm4yrnaagay4v9am8gz514436z0jjdzamp0";
+  IosevkaSS12 = "1iqr8wplzsilcvl4mpn82c8j90c8whacif8sfl4yyvvpmy3d1863";
+  IosevkaSS13 = "06n5fzby3xwdz3rpjbm0viicak3l4qmjxbrv8d10z49c83z65blh";
+  IosevkaSS14 = "0akqbm4isfq9ky88sgxaadc20v58hd42n2g0f69ykfnq5m2rh2sl";
+  IosevkaSS15 = "0fn1k4q59zzy6g6c2z120ixnbq781zrkrqwdrysvb5ni00pvc7v7";
+  IosevkaSS16 = "1z39xq3r133hrbp0g8sjah90bbzichnijwhpxmfxirkc09gdjbnd";
+  IosevkaSS17 = "1gxp12z4z8cva4ns3y7x4hvqbd8wq7g9bzzdja06zimp87g2sb9b";
+  IosevkaSS18 = "1dvh4jxmw04nnw8xr47azn13hff4mq6f2sc3d62s3a41m3vg8gnq";
+  SGr-Iosevka = "0q46rj8viqjiri1i8wp6w65wyfiabh3yimyvpy7p36zksmiqic4v";
+  SGr-IosevkaCurly = "117qybi30a1rylxb76pbf7wqh2nb3b4q1v5ssjgva8rgirghs3hr";
+  SGr-IosevkaCurlySlab = "0xwqivyclxs6pnyzscd7qvnh2lav0q28lavf2zjvbf9yfylzrp7n";
+  SGr-IosevkaFixed = "1sgma0cz2mfh0nqzyg19y0s7q2rjds1xfbwz56fpljw4jpgy9m2d";
+  SGr-IosevkaFixedCurly = "1xg281c5m3fbj5hwzwjkhvjbsv3dbbl1c88shwhqqll12cnfl99d";
+  SGr-IosevkaFixedCurlySlab = "197qmypfcmbrlr1778zmbl26j6wmmrg6jxpk58znh040lchkkahs";
+  SGr-IosevkaFixedSlab = "14qxpl47m2frgxf023aqm57ysykw6cn6ni9pn0xxfp133vzf5743";
+  SGr-IosevkaFixedSS01 = "0fyys6ycihybwrjfna7byjk90jf7cl1ljnz58jgr1mbj2pyrkazg";
+  SGr-IosevkaFixedSS02 = "0c06i0jdjjp0knhirkarccrn80iphakj2dz7ppaibqh65i7zk5ff";
+  SGr-IosevkaFixedSS03 = "16b0sd5v68zdsjh847rl0jq4w7i8k0pk6i7qssdif0iljqf8qr2z";
+  SGr-IosevkaFixedSS04 = "03wm6gvyhv4rbimqncqy9d5rjxyh9v6wvz0y7gvia7zk6aajq3ni";
+  SGr-IosevkaFixedSS05 = "0z3fy17n35w52hzdlv2m9pavw8q148l4k56bydd4q8pdw0g7j0h8";
+  SGr-IosevkaFixedSS06 = "0zbzc4qsc5h2rp8vwjxzw5k0rxgsinn87jqg9h80dc7nj030wdir";
+  SGr-IosevkaFixedSS07 = "1xzhd8kgq86k9af9ppscfxgy3sidh7kkxr20yrb5na6083q5klyk";
+  SGr-IosevkaFixedSS08 = "1f6lkigf0hrcjr5yc134f250vqvd69vq7zvh0csy2ihhlrm0fbj9";
+  SGr-IosevkaFixedSS09 = "0z1mspmzhkzjm7fqxmwv6n622chbk4z1fhnqqdhq9i84lh5k7blr";
+  SGr-IosevkaFixedSS10 = "1kyla4msffymn46wkmjgk38lvbx0b8d7hh211wbnrl7a37rj7yxa";
+  SGr-IosevkaFixedSS11 = "09fv846hvq6dwqg0ssa8bsjdf9fsfqsj5v9pz9bmqgqrba728bpn";
+  SGr-IosevkaFixedSS12 = "1pii9k7wpgxjick29aan0gaidwcsws48rvr15afqm1yimy9c6563";
+  SGr-IosevkaFixedSS13 = "1s5b9w61lszv7aqyj15zp3dszmmlmbg1cwxnr0d5f826qchjj3qc";
+  SGr-IosevkaFixedSS14 = "09fnlbsvjlczh4xawi33rh0w7nyq7zc732jpk38f0ibb3n72d8xs";
+  SGr-IosevkaFixedSS15 = "1qwg3178vmjxhls975kigkcw7sz0dfpqqfxgjiz50cc9b6lp7vqk";
+  SGr-IosevkaFixedSS16 = "0pfkr6bk5s5x9xnr0c1nd9p6wvmrk8rr84naq9hyqska683nlv3w";
+  SGr-IosevkaFixedSS17 = "0b82dflnjzhs7z5sc9di9mq0xngdp8272j24adk3307067l8v5xg";
+  SGr-IosevkaFixedSS18 = "1apr62rscj2v2q1yrvvk33ky2qsfx3lww316wjhyh7h6rhj85blb";
+  SGr-IosevkaSlab = "1jxzb8dr1sb79gk2wh3hc3zpjpa73a1qn74kcmy0fcx3wff5d7al";
+  SGr-IosevkaSS01 = "1ad6s7x9sr4gwr65pa63fv78vrdmmd46gfd363n924fvq9bv2b8c";
+  SGr-IosevkaSS02 = "0jj7wch9q1rdy9zdqb8amm2wc8ksw6bacwjc4ilnghnfx96a5d8l";
+  SGr-IosevkaSS03 = "1r4x4i2rsmj8v4h00m5mc47y17cm0ld0qc65an2jlsgrqlinj1gj";
+  SGr-IosevkaSS04 = "1vqcg9szm97f99mfzi8rz9sl9z173r3i89s4lpwig8fdx9h6pl0d";
+  SGr-IosevkaSS05 = "0q31l7lnya2jiwkmvprid45klmx4qp604xhffjimkvmlciihs1b4";
+  SGr-IosevkaSS06 = "03j85lk9swa02n0jyrfpwwrdld263gxq9qngd3pzdl0p752n5rwc";
+  SGr-IosevkaSS07 = "17r91ykc35bd5j53zj1mmhq0w2ndwx8sk7l3vagq2i8hpw6gjp35";
+  SGr-IosevkaSS08 = "1myq7mxpffc589rmmixsfnh8ixnklzk69yqwbl3n1a7y33wbdqg8";
+  SGr-IosevkaSS09 = "1g5rrsqqkiq94yjvm82mfa4hxqlnzg0ggn50phn87qxh2qkd9b17";
+  SGr-IosevkaSS10 = "1rxi057zjjg7nrrwh5jgzxbfsdrr9g1h6kldm9m3ddx1mbc4iyqc";
+  SGr-IosevkaSS11 = "0mjpsz8mjw38j1nd2aj0kslzjk1gyyy82zkdbnviip69pq138aj7";
+  SGr-IosevkaSS12 = "0haqrynqmkvswdc4k2br6v13dxjwb7qq4vyf9jwr50j2jsxg25zv";
+  SGr-IosevkaSS13 = "0jpv0iniwz0vm726d3bi8zxhn9363r82ygjp3hhg1f8zfcx69fli";
+  SGr-IosevkaSS14 = "17rvpb5dw3rksgwd000aykch8zy1lyfi5i7bk4xqy68rfy9hgwh4";
+  SGr-IosevkaSS15 = "0z4hm3wklndvqp36h22m11qd14rrikbbh6bq837bz8akr2zqbshs";
+  SGr-IosevkaSS16 = "0y20k8apax7rkbrj8mygqp11zgz3jqqyj7kzm646i0wpskdigrnv";
+  SGr-IosevkaSS17 = "0ikkiqq56hf8gmx3xavli9q2hdkv10rj0vlw37as6463y4bpsc8g";
+  SGr-IosevkaSS18 = "0ywvk8nj342sa7dgj0nwjyvglrd5qgq57dj0f6vw574g2k7q2r01";
+  SGr-IosevkaTerm = "1x13lbq2viibqmvk0a2xh4r2h7dmiz6s62sliaj1hwv15p0iarwq";
+  SGr-IosevkaTermCurly = "0z56lbsbck3g5z7f2bdyzhxy1bygx9jybd1f3v73zz7lp75a07pi";
+  SGr-IosevkaTermCurlySlab = "0ddkq5xl6aqk7i093wdibi68xzbd2x4k64x462rml593n6mj3kqv";
+  SGr-IosevkaTermSlab = "1gcq5x23736qq00hg0acb9638qh06px4pq0kw3i1hybqw568dcyc";
+  SGr-IosevkaTermSS01 = "1d2bd218cbr0ivjmw4kbg8bhwhna45pl43h3zhmqpaq6ghhr18gs";
+  SGr-IosevkaTermSS02 = "0xhhzdy2hr3sagqj1ys30rhckj0pl2mpmk016j5ccz9afvmb4id2";
+  SGr-IosevkaTermSS03 = "1kjaq20pjknlv4yqak8r9ixmiibxp9dx770aq24riclqvfk96j6r";
+  SGr-IosevkaTermSS04 = "1cwxm9qy4n2lcbrk7h9h6gawmzhkwbcfix5d9l85n06jn4vp4zl3";
+  SGr-IosevkaTermSS05 = "0f14gwjxbqilvfwiladymwyqa36j5scwg4ydsapgw651p5qw2nq2";
+  SGr-IosevkaTermSS06 = "1jpfydg8jwwb0imzlfijk6fbkl1r8bvpb5z31s559a0zl6d8vg7k";
+  SGr-IosevkaTermSS07 = "12bjapbcrijzfdcyh55yjdhyp7da1b2mrwd0j4qq3a9zkapy8scl";
+  SGr-IosevkaTermSS08 = "04a8zbj8rcrx5pr9ihyf1y3ghywyaan1l7wixvzw2jcbfb48iyrz";
+  SGr-IosevkaTermSS09 = "07z6fi18yvk7ggz6yl3dvsy25irnxrs4dimq9jpqisphi7vh6hmb";
+  SGr-IosevkaTermSS10 = "16xyfsxqymgh7n0fhkpfvx3b02xl3ni3xwi0pdllg597b4vyai6l";
+  SGr-IosevkaTermSS11 = "1qkv8jbb9c8bnyd5513yxg9xznm3gqmbf9vw8n0g0hhvg0x54j0x";
+  SGr-IosevkaTermSS12 = "00xvvvh4wlmlyd2mdn724x9lx0h2nlb8rg50k745lbmp5kp2wp1n";
+  SGr-IosevkaTermSS13 = "115pwj15s18br1qsyziajpjzcv1xbvqk3lcvc8x4rzmwzf9jfb3x";
+  SGr-IosevkaTermSS14 = "1bs17lk1bjwidnwn794f2rmqgb96p7cd2ljnq05aqar27sp9612k";
+  SGr-IosevkaTermSS15 = "0wsvrnp3wdmzh2s0xq9243j79dvdz6017r3zdvbjpqj4dd4rxgbb";
+  SGr-IosevkaTermSS16 = "0ih1p4jmmja776s7y79xmc4awd1amr4w5856d7fac13wprqzyvx5";
+  SGr-IosevkaTermSS17 = "01z9q22n7riabwyqj0j2cnsqif8j8fdpsydhnm3fzyfqz0bcfq21";
+  SGr-IosevkaTermSS18 = "0fmzjycz572qgmk6jsd9v6zxlkh6mpqhnhcbjzjy4m7p5pdks6xj";
 }
diff --git a/pkgs/data/fonts/jetbrains-mono/default.nix b/pkgs/data/fonts/jetbrains-mono/default.nix
index bdc732ef1ab10..c13f42abe6e14 100644
--- a/pkgs/data/fonts/jetbrains-mono/default.nix
+++ b/pkgs/data/fonts/jetbrains-mono/default.nix
@@ -28,7 +28,7 @@ stdenvNoCC.mkDerivation rec {
     homepage = "https://jetbrains.com/mono/";
     changelog = "https://github.com/JetBrains/JetBrainsMono/blob/v${version}/Changelog.md";
     license = licenses.ofl;
-    maintainers = [ maintainers.marsam ];
+    maintainers = with maintainers; [ vinnymeller ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/data/fonts/martian-mono/default.nix b/pkgs/data/fonts/martian-mono/default.nix
index ca15d938d95f3..4cfeb61cdac53 100644
--- a/pkgs/data/fonts/martian-mono/default.nix
+++ b/pkgs/data/fonts/martian-mono/default.nix
@@ -29,7 +29,7 @@ stdenvNoCC.mkDerivation rec {
     homepage = "https://github.com/evilmartians/mono";
     changelog = "https://github.com/evilmartians/mono/raw/v${version}/Changelog.md";
     license = licenses.ofl;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/data/fonts/rhodium-libre/default.nix b/pkgs/data/fonts/rhodium-libre/default.nix
index 1c36f41b48399..114061db1b239 100644
--- a/pkgs/data/fonts/rhodium-libre/default.nix
+++ b/pkgs/data/fonts/rhodium-libre/default.nix
@@ -25,6 +25,6 @@ stdenvNoCC.mkDerivation rec {
     homepage = "https://github.com/DunwichType/RhodiumLibre";
     license = licenses.ofl;
     platforms = platforms.all;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/data/fonts/work-sans/default.nix b/pkgs/data/fonts/work-sans/default.nix
index 07c5704b51713..c46b101328178 100644
--- a/pkgs/data/fonts/work-sans/default.nix
+++ b/pkgs/data/fonts/work-sans/default.nix
@@ -21,7 +21,7 @@ stdenvNoCC.mkDerivation rec {
     description = "A grotesque sans";
     homepage = "https://weiweihuanghuang.github.io/Work-Sans/";
     license = licenses.ofl;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/data/fonts/xkcd-font/default.nix b/pkgs/data/fonts/xkcd-font/default.nix
index c1ddbe9fae6c9..b9ef9f0cda07d 100644
--- a/pkgs/data/fonts/xkcd-font/default.nix
+++ b/pkgs/data/fonts/xkcd-font/default.nix
@@ -25,6 +25,6 @@ stdenvNoCC.mkDerivation rec {
     homepage = "https://github.com/ipython/xkcd-font";
     license = licenses.cc-by-nc-30;
     platforms = platforms.all;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/data/icons/numix-icon-theme-circle/default.nix b/pkgs/data/icons/numix-icon-theme-circle/default.nix
index 5fd04d5a1b1d8..215d2f4c31387 100644
--- a/pkgs/data/icons/numix-icon-theme-circle/default.nix
+++ b/pkgs/data/icons/numix-icon-theme-circle/default.nix
@@ -2,13 +2,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "numix-icon-theme-circle";
-  version = "24.04.16";
+  version = "24.04.22";
 
   src = fetchFromGitHub {
     owner = "numixproject";
     repo = pname;
     rev = version;
-    sha256 = "sha256-1SBIEqbgJwRcoCPWDL5YoapNHsrqWcpjFo0xp+GSXXs=";
+    sha256 = "sha256-FRE3zb/81IEHFFvX+rIDFPVe5vw/hToLqVLkXssMgoA=";
   };
 
   nativeBuildInputs = [ gtk3 ];
diff --git a/pkgs/data/icons/numix-icon-theme-square/default.nix b/pkgs/data/icons/numix-icon-theme-square/default.nix
index 7641a9a7ba7c6..4b4c5305ffa92 100644
--- a/pkgs/data/icons/numix-icon-theme-square/default.nix
+++ b/pkgs/data/icons/numix-icon-theme-square/default.nix
@@ -2,13 +2,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "numix-icon-theme-square";
-  version = "24.04.16";
+  version = "24.04.22";
 
   src = fetchFromGitHub {
     owner = "numixproject";
     repo = pname;
     rev = version;
-    sha256 = "sha256-PYsGP0Snn9A5cJ5CG+RyjC+TJwAqJOFQdnYIUkugnq0=";
+    sha256 = "sha256-Co6tMvYFl0v4pZSGtamlIb6g6koAUyC0xyxcQig62J4=";
   };
 
   nativeBuildInputs = [ gtk3 ];
diff --git a/pkgs/data/icons/numix-icon-theme/default.nix b/pkgs/data/icons/numix-icon-theme/default.nix
index 24eb68ceed221..fcf8436323288 100644
--- a/pkgs/data/icons/numix-icon-theme/default.nix
+++ b/pkgs/data/icons/numix-icon-theme/default.nix
@@ -11,13 +11,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "numix-icon-theme";
-  version = "23.12.02";
+  version = "24.04.22";
 
   src = fetchFromGitHub {
     owner = "numixproject";
     repo = pname;
     rev = version;
-    sha256 = "sha256-ks2JJROSYzeDqq7i6Y4iJAB994ZRcDOGGRcCL3Dt1zI=";
+    sha256 = "sha256-hFUsj0nODUVbzKyN6ud3HsaoTZBLGW+jjwc6kFFH02c=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/data/icons/tau-hydrogen/default.nix b/pkgs/data/icons/tau-hydrogen/default.nix
index 17a6d31b8a567..026120634702e 100644
--- a/pkgs/data/icons/tau-hydrogen/default.nix
+++ b/pkgs/data/icons/tau-hydrogen/default.nix
@@ -31,6 +31,6 @@ stdenv.mkDerivation (finalAttrs: {
     homepage = "https://github.com/tau-OS/tau-hydrogen";
     license = licenses.gpl3Only;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ ashvith-shetty ];
+    maintainers = [ ];
   };
 })
diff --git a/pkgs/data/icons/tela-icon-theme/default.nix b/pkgs/data/icons/tela-icon-theme/default.nix
index f77ab73032c3c..d49e77fd0d2e5 100644
--- a/pkgs/data/icons/tela-icon-theme/default.nix
+++ b/pkgs/data/icons/tela-icon-theme/default.nix
@@ -2,13 +2,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "tela-icon-theme";
-  version = "2023-06-25";
+  version = "2024-04-19";
 
   src = fetchFromGitHub {
     owner = "vinceliuice";
     repo = "tela-icon-theme";
     rev = version;
-    hash = "sha256-tv0C4mW2A3dScUXBWa7a3lkG4lPIjZTsj5b1/oEVuiw=";
+    hash = "sha256-Z1U0KJMnNNXL5fn3kPoZ2RZNi95T27/tnWVgR8kTj1o=";
   };
 
   nativeBuildInputs = [ gtk3 jdupes ];
diff --git a/pkgs/data/misc/cldr-annotations/default.nix b/pkgs/data/misc/cldr-annotations/default.nix
index 953ae55626280..e230382727d0a 100644
--- a/pkgs/data/misc/cldr-annotations/default.nix
+++ b/pkgs/data/misc/cldr-annotations/default.nix
@@ -2,12 +2,12 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "cldr-annotations";
-  version = "44.0";
+  version = "45.0";
 
   src = fetchzip {
     url = "https://unicode.org/Public/cldr/${lib.versions.major version}/cldr-common-${version}.zip";
     stripRoot = false;
-    hash = "sha256-oK+NlzuRF45laEMJKhNDzr12RF4CHIfDFNBFsIjJh1I=";
+    hash = "sha256-8Id9thc3LWSw87aNpuSjQuLmFsx+XvXcz8Ox1Ua3sJw=";
   };
 
   installPhase = ''
@@ -22,7 +22,7 @@ stdenvNoCC.mkDerivation rec {
   meta = with lib; {
     description = "Names and keywords for Unicode characters from the Common Locale Data Repository";
     homepage = "https://cldr.unicode.org";
-    license = licenses.unicode-dfs-2016;
+    license = licenses.unicode-30;
     platforms = platforms.all;
     maintainers = with maintainers; [ DeeUnderscore ];
   };
diff --git a/pkgs/data/misc/hackage/pin.json b/pkgs/data/misc/hackage/pin.json
index ede51924e0275..38730d8ade56c 100644
--- a/pkgs/data/misc/hackage/pin.json
+++ b/pkgs/data/misc/hackage/pin.json
@@ -1,6 +1,6 @@
 {
-  "commit": "5bae847bf7e96ce10e824377f4cb7f02c51b7245",
-  "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/5bae847bf7e96ce10e824377f4cb7f02c51b7245.tar.gz",
-  "sha256": "1p45mapjca2d7r8ky27s0pn3sflp61iippcabsb85s49fi9sqlv2",
-  "msg": "Update from Hackage at 2024-04-09T20:48:09Z"
+  "commit": "4eb9a5fde06b5d7343665582243debaf1d77e0a9",
+  "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/4eb9a5fde06b5d7343665582243debaf1d77e0a9.tar.gz",
+  "sha256": "0dzyfr1gv79riy2vh840b5hqly8rs10zhj01zi9nfn7jd9pzql28",
+  "msg": "Update from Hackage at 2024-04-16T17:36:35Z"
 }
diff --git a/pkgs/data/misc/v2ray-domain-list-community/default.nix b/pkgs/data/misc/v2ray-domain-list-community/default.nix
index fb73738345a31..c8ca0bc93957b 100644
--- a/pkgs/data/misc/v2ray-domain-list-community/default.nix
+++ b/pkgs/data/misc/v2ray-domain-list-community/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, pkgsBuildBuild, fetchFromGitHub, lib }:
+{ stdenv, pkgsBuildBuild, fetchFromGitHub, lib, nix-update-script }:
 
 let
   generator = pkgsBuildBuild.buildGoModule rec {
     pname = "v2ray-domain-list-community";
-    version = "20240410101316";
+    version = "20240426060244";
     src = fetchFromGitHub {
       owner = "v2fly";
       repo = "domain-list-community";
       rev = version;
-      hash = "sha256-llj1z9fIzELeIIhyW6dmAl8Z/0DtZq3tkMrfwSJkZbE=";
+      hash = "sha256-DkZcqjYwXRNlRnfwbRZL6zlkYL9kig3cZ5H6LEzakeY=";
     };
     vendorHash = "sha256-azvMUi8eLNoNofRa2X4SKTTiMd6aOyO6H/rOiKjkpIY=";
     meta = with lib; {
@@ -31,5 +31,8 @@ stdenv.mkDerivation {
     install -Dm644 dlc.dat $out/share/v2ray/geosite.dat
     runHook postInstall
   '';
-  passthru.generator = generator;
+  passthru = {
+    inherit generator;
+    updateScript = nix-update-script { };
+  };
 }
diff --git a/pkgs/data/themes/alacritty-theme/default.nix b/pkgs/data/themes/alacritty-theme/default.nix
index b24f27f326dcb..27c28cad14306 100644
--- a/pkgs/data/themes/alacritty-theme/default.nix
+++ b/pkgs/data/themes/alacritty-theme/default.nix
@@ -1,18 +1,18 @@
 { lib
 , fetchFromGitHub
-, nix-update-script
+, unstableGitUpdater
 , stdenvNoCC
 , ... }:
 
 stdenvNoCC.mkDerivation (self: {
-  name = "alacritty-theme";
-  version = "unstable-2024-03-06";
+  pname = "alacritty-theme";
+  version = "0-unstable-2024-04-24";
 
   src = fetchFromGitHub {
     owner = "alacritty";
     repo = "alacritty-theme";
-    rev = "cb786242b6f5e00a57e2f541e7bf1115f3950650";
-    hash = "sha256-fZJ0F4zJy6HOwWtZGm5yN4WfeFNJnW/UJhoQSZ0Bpxk=";
+    rev = "e866efd4ac4e1b4b05892bf9f9bae0540754bca3";
+    hash = "sha256-Uv/Nv2aipnMBM7F4IoUiLF4U/27SF9H/EEfnwGfjiIs=";
   };
 
   dontConfigure = true;
@@ -26,8 +26,8 @@ stdenvNoCC.mkDerivation (self: {
     runHook postInstall
   '';
 
-  passthru.updateScript = nix-update-script {
-    extraArgs = [ "--version=branch" ];
+  passthru.updateScript = unstableGitUpdater {
+    hardcodeZeroVersion = true;
   };
 
   meta = with lib; {
diff --git a/pkgs/data/themes/dracula-theme/default.nix b/pkgs/data/themes/dracula-theme/default.nix
index 6abfec4ba7fec..cb3e112821fc7 100644
--- a/pkgs/data/themes/dracula-theme/default.nix
+++ b/pkgs/data/themes/dracula-theme/default.nix
@@ -2,7 +2,7 @@
 
 let
   themeName = "Dracula";
-  version = "unstable-2024-04-16";
+  version = "unstable-2024-04-24";
 in
 stdenvNoCC.mkDerivation {
   pname = "dracula-theme";
@@ -11,8 +11,8 @@ stdenvNoCC.mkDerivation {
   src = fetchFromGitHub {
     owner = "dracula";
     repo = "gtk";
-    rev = "557e276b41b00bbdc981c32f22ce6adc062d7c1e";
-    hash = "sha256-il9zpzJeszGJ1gLkG73mtaMD8nBUFCfCXjcJV1fizxg=";
+    rev = "5e9a46b7610da0944a8131bbf08487861cae2c46";
+    hash = "sha256-pKKEZ/GheyIf6pPb+Sz4AfF8oRlf1Jk4cl0tub5Ye10=";
   };
 
   propagatedUserEnvPkgs = [
@@ -45,6 +45,6 @@ stdenvNoCC.mkDerivation {
     homepage = "https://github.com/dracula/gtk";
     license = licenses.gpl3;
     platforms = platforms.all;
-    maintainers = with maintainers; [ alexarice msfjarvis ];
+    maintainers = with maintainers; [ alexarice ];
   };
 }
diff --git a/pkgs/data/themes/fluent-gtk-theme/default.nix b/pkgs/data/themes/fluent-gtk-theme/default.nix
index b6f3fdc092ea3..9efa36aa88b71 100644
--- a/pkgs/data/themes/fluent-gtk-theme/default.nix
+++ b/pkgs/data/themes/fluent-gtk-theme/default.nix
@@ -21,15 +21,15 @@ lib.checkListOfEnum "${pname}: color variants" [ "standard" "light" "dark" ] col
 lib.checkListOfEnum "${pname}: size variants" [ "standard" "compact" ] sizeVariants
 lib.checkListOfEnum "${pname}: tweaks" [ "solid" "float" "round" "blur" "noborder" "square" ] tweaks
 
-stdenvNoCC.mkDerivation rec {
+stdenvNoCC.mkDerivation (finalAttrs: {
   inherit pname;
-  version = "2023-06-20";
+  version = "2024-04-28";
 
   src = fetchFromGitHub {
     owner = "vinceliuice";
-    repo = pname;
-    rev = version;
-    hash = "sha256-hUXlzLdcWeOHEJx3+vCMpxvJst6Rr8ISvlzlsUgCrhg=";
+    repo = "fluent-gtk-theme";
+    rev = finalAttrs.version;
+    hash = "sha256-0zf3fHtWcrbT26jgwgsPEDDhBWErOkgXyvGwSWV8rGs=";
   };
 
   nativeBuildInputs = [
@@ -67,11 +67,11 @@ stdenvNoCC.mkDerivation rec {
 
   passthru.updateScript = gitUpdater { };
 
-  meta = with lib; {
+  meta = {
     description = "Fluent design gtk theme";
     homepage = "https://github.com/vinceliuice/Fluent-gtk-theme";
-    license = licenses.gpl3Only;
-    platforms = platforms.unix;
-    maintainers = [ maintainers.romildo ];
+    license = lib.licenses.gpl3Only;
+    platforms = lib.platforms.unix;
+    maintainers = with lib.maintainers; [ romildo ];
   };
-}
+})
diff --git a/pkgs/data/themes/kwin-decorations/kde-rounded-corners/default.nix b/pkgs/data/themes/kwin-decorations/kde-rounded-corners/default.nix
index b70bc18d78af1..1be8fd1b6b0d6 100644
--- a/pkgs/data/themes/kwin-decorations/kde-rounded-corners/default.nix
+++ b/pkgs/data/themes/kwin-decorations/kde-rounded-corners/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "kde-rounded-corners";
-  version = "0.6.1";
+  version = "0.6.2";
 
   src = fetchFromGitHub {
     owner = "matinlotfali";
     repo = "KDE-Rounded-Corners";
     rev = "v${version}";
-    hash = "sha256-8QkuIuHC0/fMxh8K3/I8GNhNPX+tw7kUMiU2oK12c0U=";
+    hash = "sha256-4bB1EKK9XUkX8o3ca2dQtJe0UuSDgITVXWnpddTsJDs=";
   };
 
   postConfigure = ''
diff --git a/pkgs/data/themes/onestepback/default.nix b/pkgs/data/themes/onestepback/default.nix
index c18d55db5b448..ed0d0235fc06b 100644
--- a/pkgs/data/themes/onestepback/default.nix
+++ b/pkgs/data/themes/onestepback/default.nix
@@ -2,16 +2,16 @@
 
 stdenv.mkDerivation rec {
   pname = "onestepback";
-  version = "0.994";
+  version = "0.997";
 
   srcs = [
     (fetchurl {
-      url = "http://www.vide.memoire.free.fr/perso/OneStepBack/OneStepBack-v${version}.zip";
-      hash = "sha256-kjGiGo4bF1mWJPnaPv2lf7rGG/uAntHK61mH6lcJ6e4=";
+      url = "http://www.vide.memoire.free.fr/pages/onestepback/OneStepBack-v${version}.zip";
+      hash = "sha256-uB6pfnTkMKeP71rAvn1olJJeCL84222UT5uxG72sywE=";
     })
     (fetchurl {
-      url = "http://www.vide.memoire.free.fr/perso/OneStepBack/OneStepBack-darker-v${version}.zip";
-      hash = "sha256-AuurSa45uF5GbPqaMXKblWkv3YGkYL1z0VjWrbnsB/I=";
+      url = "http://www.vide.memoire.free.fr/pages/onestepback/OneStepBack-wm2-v${version}.zip";
+      hash = "sha256-Zdv4ZrQPficbCxPBKF3RFNavlSn/VV/efiZVUT86zRc=";
     })
   ];
 
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Gtk theme inspired by the NextStep look";
-    homepage = "http://www.vide.memoire.free.fr/perso/OneStepBack";
+    homepage = "http://www.vide.memoire.free.fr/pages/onestepback";
     license = licenses.gpl3Plus;
     platforms = platforms.all;
     maintainers = [ maintainers.romildo ];
diff --git a/pkgs/desktops/gnome/extensions/pop-shell/fix-gjs.patch b/pkgs/desktops/gnome/extensions/pop-shell/fix-gjs.patch
index 4d072f88708af..040c403738a37 100644
--- a/pkgs/desktops/gnome/extensions/pop-shell/fix-gjs.patch
+++ b/pkgs/desktops/gnome/extensions/pop-shell/fix-gjs.patch
@@ -24,3 +24,15 @@ index fbcafbf..ef409ee 100644
          if (!resp) {
              return null;
          }
+diff --git a/src/color_dialog/src/main.ts b/src/color_dialog/src/main.ts
+index a9637e5..5cb86ce 100644
+--- a/src/color_dialog/src/main.ts
++++ b/src/color_dialog/src/main.ts
+@@ -6,6 +6,7 @@ import Gtk from 'gi://Gtk?version=3.0';
+ import Gdk from 'gi://Gdk';
+ 
+ const EXT_PATH_DEFAULTS = [
++    '/run/current-system/sw/share/gnome-shell/extensions/',
+     GLib.get_home_dir() + '/.local/share/gnome-shell/extensions/',
+     '/usr/share/gnome-shell/extensions/',
+ ];
diff --git a/pkgs/desktops/gnome/extensions/valent/default.nix b/pkgs/desktops/gnome/extensions/valent/default.nix
index e9b5c14f14b27..1aa4799cd837e 100644
--- a/pkgs/desktops/gnome/extensions/valent/default.nix
+++ b/pkgs/desktops/gnome/extensions/valent/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     homepage = "https://valent.andyholmes.ca/";
     changelog = "https://github.com/andyholmes/gnome-shell-extension-valent/blob/${src.rev}/CHANGELOG.md";
     license = lib.licenses.gpl3Plus;
-    maintainers = with lib.maintainers; [ federicoschonborn ];
+    maintainers = with lib.maintainers; [ ];
     platforms = lib.platforms.linux;
   };
 }
diff --git a/pkgs/desktops/lomiri/applications/lomiri-system-settings/default.nix b/pkgs/desktops/lomiri/applications/lomiri-system-settings/default.nix
index a4050e596d09f..5230e85411818 100644
--- a/pkgs/desktops/lomiri/applications/lomiri-system-settings/default.nix
+++ b/pkgs/desktops/lomiri/applications/lomiri-system-settings/default.nix
@@ -44,13 +44,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "lomiri-system-settings-unwrapped";
-  version = "1.0.2";
+  version = "1.1.0";
 
   src = fetchFromGitLab {
     owner = "ubports";
     repo = "development/core/lomiri-system-settings";
     rev = finalAttrs.version;
-    hash = "sha256-gi6ZujIs0AEDLsqcTNlRNSS8SyqEU6q0+xaDf55XwuM=";
+    hash = "sha256-Po5eArO7zyaGatTf6kqci3DdzFDJSZakeglbiMx9kR8=";
   };
 
   outputs = [
@@ -73,34 +73,12 @@ stdenv.mkDerivation (finalAttrs: {
       hash = "sha256-lSKAhtE3oSSv7USvDbbcfBZWAtWMmuKneWawKQABIiM=";
     })
 
-    # Remove when version > 1.0.2
+    # Fixes tests with very-recent python-dbusmock
+    # Remove when version > 1.1.0
     (fetchpatch {
-      name = "0003-lomiri-system-settings-Use-GSettings-for-DT2W-value.patch";
-      url = "https://gitlab.com/ubports/development/core/lomiri-system-settings/-/commit/29e2533efcac23e41b083b11c540c9221b71de7e.patch";
-      hash = "sha256-d52d/b1ZdafaqhOljCg5E3I12XWtFAfG4rmn8CYngB4=";
-    })
-  ] ++ lib.optionals (lib.strings.versionOlder python3.pkgs.python-dbusmock.version "0.30.1") [
-    # Makes tests work with newer dbusmock, but breaks with much-newer dbusmock
-    # See for details:
-    # - https://gitlab.com/ubports/development/core/lomiri-system-settings/-/merge_requests/354
-    # - https://gitlab.com/ubports/development/core/lomiri-system-settings/-/merge_requests/426
-    # Remove/adjust based on merges & next LSS release, and packaged version of dbusmock
-    (fetchpatch {
-      name = "0101-lomiri-system-settings-Pass-missing-parameters-to-dbusmock.patch";
-      url = "https://gitlab.com/ubports/development/core/lomiri-system-settings/-/commit/b9aacd88e3789dbb7578f32b31ad5b239db227a2.patch";
-      hash = "sha256-jf+jMc+6QxONavlX5C9UZyX23jb6fZnYV8mWFyQGGbU=";
-    })
-    (fetchpatch {
-      name = "0102-lomiri-system-settings-Fix-BT-plugin-testIsPaired.patch";
-      url = "https://gitlab.com/ubports/development/core/lomiri-system-settings/-/commit/e39b9728e18635413f07f9c9f6ddc73208260b2a.patch";
-      hash = "sha256-YUtdlQ2XcanXzsxD40SbML7fSxG75yMKz/XnaQN9YP8=";
-    })
-    (fetchpatch {
-      name = "0103-lomiri-system-settings-Fix-BT-plugin-testGet-IconName-Type.patch";
-      url = "https://gitlab.com/ubports/development/core/lomiri-system-settings/-/commit/9ad5d9324945f06f764d3a963dbfc7bccefe574b.patch";
-      # Merge conflict, relevant change handled further down
-      excludes = [ "CMakeLists.txt" ];
-      hash = "sha256-QCgkVos9Q9/8jd25rqzdEKdnBw0Re47X7B9nLH8QOQU=";
+      name = "0003-lomiri-system-settings-Revert-Pass-missing-parameter-to-dbusmock-bluez-PairDevice-function.patch";
+      url = "https://gitlab.com/ubports/development/core/lomiri-system-settings/-/commit/67d9e28ebab8bdb9473d5bf8da2b7573e6848fa2.patch";
+      hash = "sha256-pFWNne2UH3R5Fz9ayHvIpDXDQbXPs0k4b/oRg0fzi+s=";
     })
   ] ++ [
 
diff --git a/pkgs/desktops/lomiri/qml/lomiri-ui-toolkit/2001-Mark-problematic-tests.patch b/pkgs/desktops/lomiri/qml/lomiri-ui-toolkit/2001-Mark-problematic-tests.patch
index 1eac4fde58b4b..dc1d1e2083c00 100644
--- a/pkgs/desktops/lomiri/qml/lomiri-ui-toolkit/2001-Mark-problematic-tests.patch
+++ b/pkgs/desktops/lomiri/qml/lomiri-ui-toolkit/2001-Mark-problematic-tests.patch
@@ -1,20 +1,18 @@
-From 243477a2bd6e315c77ebaf5b2ed4a9c9c4e1e22a Mon Sep 17 00:00:00 2001
-From: OPNA2608 <christoph.neidahl@gmail.com>
-Date: Sat, 25 Nov 2023 10:49:32 +0100
+From c71d5fed4ef1f0b6d56400cddf02d8ac438168c8 Mon Sep 17 00:00:00 2001
+From: OPNA2608 <opna2608@protonmail.com>
+Date: Wed, 17 Apr 2024 16:18:23 +0200
 Subject: [PATCH] Mark problematic tests
 
 - ShapeMaterial requires a Qt OpenGL context, doesn't work in our sandbox
 - SignalSpy on QML shaders compilers don't see changes
-- Scaling value from environment not picked up properly since Qt 5.15.11
-  https://gitlab.com/ubports/development/core/lomiri-ui-toolkit/-/issues/34
 - TypeError on some properties with Qt 5.15
   https://gitlab.com/ubports/development/core/lomiri-ui-toolkit/-/issues/9
 ---
- tests/checkresults.sh | 89 ++++++++++++++++++++++++++++++++++++++++---
- 1 file changed, 83 insertions(+), 6 deletions(-)
+ tests/checkresults.sh | 88 ++++++++++++++++++++++++++++++++++++++++---
+ 1 file changed, 82 insertions(+), 6 deletions(-)
 
 diff --git a/tests/checkresults.sh b/tests/checkresults.sh
-index fc498985e..730b9d406 100755
+index fc498985e..b5d204d0d 100755
 --- a/tests/checkresults.sh
 +++ b/tests/checkresults.sh
 @@ -22,6 +22,7 @@ ERRORS_PATTERN='<failure'
@@ -25,7 +23,7 @@ index fc498985e..730b9d406 100755
  EXCEPTED=0
  for _XML in $*; do
      _TESTNAME=$(basename $_XML | sed -r 's@(.+)\.xml@\1@' -)
-@@ -31,7 +32,72 @@ for _XML in $*; do
+@@ -31,7 +32,71 @@ for _XML in $*; do
        exit 1
      fi
  
@@ -91,7 +89,6 @@ index fc498985e..730b9d406 100755
 +                swipearea \
 +                tst_icon.11.qml \
 +                tst_icon.13.qml \
-+                dpr1 \
 +                '
 +
 +    EXCEPTIONS='\
@@ -99,7 +96,7 @@ index fc498985e..730b9d406 100755
                  tst_tabbar.11.qml \
                  tst_datepicker.bug1567840.SEGFAULT.12.qml \
                  tst_datepicker.bug1567840.SEGFAULT.13.qml \
-@@ -49,22 +115,28 @@ for _XML in $*; do
+@@ -49,22 +114,28 @@ for _XML in $*; do
                  inversemousearea \
                  tst_listitem_focus_bug.13.qml \
                  tst_shortcuts.13.qml \
@@ -132,7 +129,7 @@ index fc498985e..730b9d406 100755
        WOOT_FILES="${WOOT_FILES}  ${_TESTNAME}\n"
      fi
  done
-@@ -82,6 +154,11 @@ if [ -n "$FATAL_WARNINGS_FILES" ]; then
+@@ -82,6 +153,11 @@ if [ -n "$FATAL_WARNINGS_FILES" ]; then
      echo -e "$FATAL_WARNINGS_FILES"
  fi
  
@@ -144,7 +141,7 @@ index fc498985e..730b9d406 100755
  if [ -n "$EXCEPTED_FILES" ]; then
      echo The following tests issued $EXCEPTED expected warnings:
      echo -e "$EXCEPTED_FILES"
-@@ -89,7 +166,7 @@ fi
+@@ -89,7 +165,7 @@ fi
  
  if [ -n "$WOOT_FILES" ]; then
      echo Woot! Known problematic tests passed!
@@ -154,5 +151,5 @@ index fc498985e..730b9d406 100755
  fi
  
 -- 
-2.40.1
+2.42.0
 
diff --git a/pkgs/desktops/lomiri/qml/lomiri-ui-toolkit/default.nix b/pkgs/desktops/lomiri/qml/lomiri-ui-toolkit/default.nix
index f8048b49eb5c1..8767534d368f5 100644
--- a/pkgs/desktops/lomiri/qml/lomiri-ui-toolkit/default.nix
+++ b/pkgs/desktops/lomiri/qml/lomiri-ui-toolkit/default.nix
@@ -1,7 +1,6 @@
 { stdenv
 , lib
 , fetchFromGitLab
-, fetchpatch
 , gitUpdater
 , substituteAll
 , testers
@@ -35,30 +34,18 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "lomiri-ui-toolkit";
-  version = "1.3.5012";
+  version = "1.3.5100";
 
   src = fetchFromGitLab {
     owner = "ubports";
     repo = "development/core/lomiri-ui-toolkit";
     rev = finalAttrs.version;
-    hash = "sha256-Azz2IOm/7XRvDbyIKaYxrkR47evSB17ejtssuEJayPc=";
+    hash = "sha256-r+wUCl+ywFcgFYo7BjBoXiulQptd1Zd3LJchXiMtx4I=";
   };
 
   outputs = [ "out" "dev" ];
 
   patches = [
-    # Upstreaming effort for these two patches: https://gitlab.com/ubports/development/core/lomiri-ui-toolkit/-/merge_requests/44
-    (fetchpatch {
-      name = "0001-lomiri-ui-toolkit-fix-tests-on-qt-5.15.4.patch";
-      url = "https://salsa.debian.org/ubports-team/lomiri-ui-toolkit/-/raw/1ad650c326ba9706d549d1dbe8335c70f6b382c8/debian/patches/0001-fix-tests-on-qt-5.15.4.patch";
-      hash = "sha256-Y5HVvulR2760DBzlmYkImbJ/qIeqMISqPpUppbv8xJA=";
-    })
-    (fetchpatch {
-      name = "0002-lomiri-ui-toolkit-fix-tests-on-qt-5.15.5.patch";
-      url = "https://salsa.debian.org/ubports-team/lomiri-ui-toolkit/-/raw/03bcafadd3e4fda34bcb5af23454f4b202cf5517/debian/patches/0002-fix-tests-on-qt-5.15.5.patch";
-      hash = "sha256-x8Zk7+VBSlM16a3V1yxJqIB63796H0lsS+F4dvR/z80=";
-    })
-
     ./2001-Mark-problematic-tests.patch
     (substituteAll {
       src = ./2002-Nixpkgs-versioned-QML-path.patch.in;
@@ -70,18 +57,15 @@ stdenv.mkDerivation (finalAttrs: {
   postPatch = ''
     patchShebangs documentation/docs.sh tests/
 
-    substituteInPlace tests/tests.pro \
-      --replace "\''$\''$PYTHONDIR" "$dev/${python3.sitePackages}"
-
     for subproject in po app-launch-profiler lomiri-ui-toolkit-launcher; do
       substituteInPlace $subproject/$subproject.pro \
-        --replace "\''$\''$[QT_INSTALL_PREFIX]" "$out" \
-        --replace "\''$\''$[QT_INSTALL_LIBS]" "$out/lib"
+        --replace-fail "\''$\''$[QT_INSTALL_PREFIX]" "$out" \
+        --replace-warn "\''$\''$[QT_INSTALL_LIBS]" "$out/lib"
     done
 
     # Install apicheck tool into bin
     substituteInPlace apicheck/apicheck.pro \
-      --replace "\''$\''$[QT_INSTALL_LIBS]/lomiri-ui-toolkit" "$out/bin"
+      --replace-fail "\''$\''$[QT_INSTALL_LIBS]/lomiri-ui-toolkit" "$out/bin"
 
     # Causes redefinition error with our own fortify hardening
     sed -i '/DEFINES += _FORTIFY_SOURCE/d' features/lomiri_common.prf
@@ -98,19 +82,19 @@ stdenv.mkDerivation (finalAttrs: {
     # Using /run/current-system/sw/share/locale instead of /usr/share/locale isn't a great
     # solution, but at least it should get us working localisations
     substituteInPlace src/LomiriToolkit/i18n.cpp \
-      --replace "/usr" "/run/current-system/sw"
+      --replace-fail "/usr" "/run/current-system/sw"
 
     # The code here overrides the regular QML import variables so the just-built modules are found & used in the tests
     # But we need their QML dependencies too, so put them back in there
     substituteInPlace export_qml_dir.sh \
-      --replace '_IMPORT_PATH=$BUILD_DIR/qml' '_IMPORT_PATH=$BUILD_DIR/qml:${qtQmlPaths}'
+      --replace-fail '_IMPORT_PATH=$BUILD_DIR/qml' '_IMPORT_PATH=$BUILD_DIR/qml:${qtQmlPaths}'
 
     # These tests try to load Suru theme icons, but override XDG_DATA_DIRS / use full paths to load them
     substituteInPlace \
       tests/unit/visual/tst_visual.cpp \
       tests/unit/visual/tst_icon.{11,13}.qml \
       tests/unit/visual/tst_imageprovider.11.qml \
-      --replace '/usr/share' '${suru-icon-theme}/share'
+      --replace-fail '/usr/share' '${suru-icon-theme}/share'
   '';
 
   # With strictDeps, QMake only picks up Qt dependencies from nativeBuildInputs
@@ -190,7 +174,7 @@ stdenv.mkDerivation (finalAttrs: {
     # Qt-generated wrapper script lacks QML paths to dependencies
     for qmlModule in Components PerformanceMetrics Test; do
       substituteInPlace src/imports/$qmlModule/wrapper.sh \
-        --replace 'QML2_IMPORT_PATH=' 'QML2_IMPORT_PATH=${qtQmlPaths}:'
+        --replace-fail 'QML2_IMPORT_PATH=' 'QML2_IMPORT_PATH=${qtQmlPaths}:'
     done
   '';
 
@@ -198,8 +182,8 @@ stdenv.mkDerivation (finalAttrs: {
     # Code loads Qt's qt_module.prf, which force-overrides all QMAKE_PKGCONFIG_* variables except PREFIX for QMake-generated pkg-config files
     for pcFile in Lomiri{Gestures,Metrics,Toolkit}.pc; do
       substituteInPlace $out/lib/pkgconfig/$pcFile \
-        --replace "${lib.getLib qtbase}/lib" "\''${prefix}/lib" \
-        --replace "${lib.getDev qtbase}/include" "\''${prefix}/include"
+        --replace-fail "${lib.getLib qtbase}/lib" "\''${prefix}/lib" \
+        --replace-fail "${lib.getDev qtbase}/include" "\''${prefix}/include"
     done
 
     # These are all dev-related tools, but declaring a bin output also moves around the QML modules
diff --git a/pkgs/desktops/plasma-5/3rdparty/addons/polonium.nix b/pkgs/desktops/plasma-5/3rdparty/addons/polonium.nix
index 10d4c7c1d98a5..60638800fc904 100644
--- a/pkgs/desktops/plasma-5/3rdparty/addons/polonium.nix
+++ b/pkgs/desktops/plasma-5/3rdparty/addons/polonium.nix
@@ -11,13 +11,13 @@
 
 buildNpmPackage rec {
   pname = "polonium";
-  version = "1.0b1";
+  version = "1.0rc";
 
   src = fetchFromGitHub {
     owner = "zeroxoneafour";
     repo = pname;
     rev = "v" + version;
-    hash = "sha256-2uthjNhQm+hkRCPXGQm2LZunTj+J0SUuUfZL0PeRd4s=";
+    hash = "sha256-AdMeIUI7ZdctpG/kblGdk1DBy31nDyolPVcTvLEHnNs=";
   };
 
   npmDepsHash = "sha256-kaT3Uyq+/JkmebakG9xQuR4Kjo7vk6BzI1/LffOj/eo=";
@@ -45,7 +45,7 @@ buildNpmPackage rec {
   meta = with lib; {
     description = "Auto-tiler that uses KWin 6.0+ tiling functionality";
     license = licenses.mit;
-    maintainers = with maintainers; [ peterhoeg ];
+    maintainers = with maintainers; [ peterhoeg kotatsuyaki ];
     inherit (plasma-framework.meta) platforms;
   };
 }
diff --git a/pkgs/desktops/xfce/core/libxfce4windowing/default.nix b/pkgs/desktops/xfce/core/libxfce4windowing/default.nix
index d18419968b2c4..c83cf06d43842 100644
--- a/pkgs/desktops/xfce/core/libxfce4windowing/default.nix
+++ b/pkgs/desktops/xfce/core/libxfce4windowing/default.nix
@@ -34,6 +34,6 @@ mkXfceDerivation {
   meta = {
     description = "Windowing concept abstraction library for X11 and Wayland";
     license = lib.licenses.lgpl21Plus;
-    maintainers = lib.teams.xfce.members ++ [ lib.maintainers.federicoschonborn ];
+    maintainers = lib.teams.xfce.members;
   };
 }
diff --git a/pkgs/development/beam-modules/erlang-ls/default.nix b/pkgs/development/beam-modules/erlang-ls/default.nix
index 1c1d9f933c37c..ea8ab0c5ecfdb 100644
--- a/pkgs/development/beam-modules/erlang-ls/default.nix
+++ b/pkgs/development/beam-modules/erlang-ls/default.nix
@@ -1,7 +1,7 @@
 { fetchFromGitHub, fetchgit, fetchHex, rebar3Relx, buildRebar3, rebar3-proper
 , stdenv, writeScript, lib, erlang }:
 let
-  version = "0.51.0";
+  version = "0.52.0";
   owner = "erlang-ls";
   repo = "erlang_ls";
   deps = import ./rebar-deps.nix {
@@ -24,7 +24,7 @@ rebar3Relx {
   inherit version;
   src = fetchFromGitHub {
     inherit owner repo;
-    hash = "sha256-2gSDfYGm7XVeEn0xEwuvk8y1z8P2/q86hmNCkK6w2C0=";
+    hash = "sha256-tV7M8y0R+BN5ATxM03K0/gtHgITI9KxtvA7o0ft8RuE=";
     rev = version;
   };
   releaseType = "escript";
diff --git a/pkgs/development/beam-modules/erlang-ls/rebar-deps.nix b/pkgs/development/beam-modules/erlang-ls/rebar-deps.nix
index 2ab6b08338f45..6a6ef5b3747c1 100644
--- a/pkgs/development/beam-modules/erlang-ls/rebar-deps.nix
+++ b/pkgs/development/beam-modules/erlang-ls/rebar-deps.nix
@@ -139,11 +139,10 @@ let
     erlfmt = builder {
       name = "erlfmt";
       version = "1.3.0";
-      src = fetchFromGitHub {
-        owner = "WhatsApp";
-        repo = "erlfmt";
-        sha256 = "sha256-fVjEVmCnoofnfcxwBk0HI4adO0M6QOshP3uZrecZ9vM=";
-        rev = "v1.3.0";
+      src = fetchHex {
+        pkg = "erlfmt";
+        version = "1.3.0";
+        sha256 = "sha256-KoSqHrovT8190x1cV+neK8JwXdoY2kVT8n33EUz6oFI=";
       };
       beamDeps = [ ];
     };
diff --git a/pkgs/development/beam-modules/ex_doc/default.nix b/pkgs/development/beam-modules/ex_doc/default.nix
index 7693364c2fc33..d7057a6dd91c2 100644
--- a/pkgs/development/beam-modules/ex_doc/default.nix
+++ b/pkgs/development/beam-modules/ex_doc/default.nix
@@ -19,7 +19,7 @@ mixRelease {
   mixFodDeps = fetchMixDeps {
     pname = "mix-deps-${pname}";
     inherit src version elixir;
-    hash = "sha256-ZNHhWCZ3n2Y/XCsXVjbu4wbx/J95JdFP/2raACciAUU=";
+    hash = "sha256-e0lU4TXLY2geO6MI1h0kpdwsGbEyXjIRe0W43337mHk=";
   };
 
   configurePhase = ''
diff --git a/pkgs/development/compilers/c0/default.nix b/pkgs/development/compilers/c0/default.nix
index 179326cfeb834..de728cb32c9ff 100644
--- a/pkgs/development/compilers/c0/default.nix
+++ b/pkgs/development/compilers/c0/default.nix
@@ -76,7 +76,7 @@ stdenv.mkDerivation rec {
     description = "A small safe subset of the C programming language, augmented with contracts";
     homepage = "https://c0.cs.cmu.edu/";
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     platforms = platforms.unix;
     # line 1: ../../bin/wrappergen: cannot execute: required file not found
     # make[2]: *** [../../lib.mk:83:
diff --git a/pkgs/development/compilers/chicken/5/overrides.nix b/pkgs/development/compilers/chicken/5/overrides.nix
index adaad31b52bb2..d29f52661bb7b 100644
--- a/pkgs/development/compilers/chicken/5/overrides.nix
+++ b/pkgs/development/compilers/chicken/5/overrides.nix
@@ -36,11 +36,30 @@ in
     // (addToPropagatedBuildInputs (with chickenEggs; [ srfi-1 srfi-13 ]) old);
   cmark = addToBuildInputs pkgs.cmark;
   dbus = addToBuildInputsWithPkgConfig pkgs.dbus;
-  epoxy = addToPropagatedBuildInputsWithPkgConfig pkgs.libepoxy;
+  epoxy = old:
+    (addToPropagatedBuildInputsWithPkgConfig pkgs.libepoxy old)
+    // lib.optionalAttrs stdenv.cc.isClang {
+      env.NIX_CFLAGS_COMPILE = toString [
+        "-Wno-error=incompatible-function-pointer-types"
+        "-Wno-error=int-conversion"
+      ];
+    };
   espeak = addToBuildInputsWithPkgConfig pkgs.espeak-ng;
   exif = addToBuildInputsWithPkgConfig pkgs.libexif;
-  expat = addToBuildInputsWithPkgConfig pkgs.expat;
-  ezxdisp = addToBuildInputsWithPkgConfig pkgs.xorg.libX11;
+  expat = old:
+    (addToBuildInputsWithPkgConfig pkgs.expat old)
+    // lib.optionalAttrs stdenv.cc.isClang {
+      env.NIX_CFLAGS_COMPILE = toString [
+        "-Wno-error=incompatible-function-pointer-types"
+      ];
+    };
+  ezxdisp = old:
+    (addToBuildInputsWithPkgConfig pkgs.xorg.libX11 old)
+    // lib.optionalAttrs stdenv.cc.isClang {
+      env.NIX_CFLAGS_COMPILE = toString [
+        "-Wno-error=implicit-function-declaration"
+      ];
+    };
   freetype = addToBuildInputsWithPkgConfig pkgs.freetype;
   fuse = addToBuildInputsWithPkgConfig pkgs.fuse;
   gl-utils = addPkgConfig;
@@ -54,7 +73,14 @@ in
     // lib.optionalAttrs stdenv.isDarwin (addToCscOptions "-L -linotify" old);
   leveldb = addToBuildInputs pkgs.leveldb;
   magic = addToBuildInputs pkgs.file;
-  mdh = addToBuildInputs pkgs.pcre;
+  mdh = old:
+    (addToBuildInputs pkgs.pcre old)
+    // lib.optionalAttrs stdenv.cc.isClang {
+      env.NIX_CFLAGS_COMPILE = toString [
+        "-Wno-error=implicit-function-declaration"
+        "-Wno-error=implicit-int"
+      ];
+    };
   # missing dependency in upstream egg
   mistie = addToPropagatedBuildInputs (with chickenEggs; [ srfi-1 ]);
   mosquitto = addToPropagatedBuildInputs ([ pkgs.mosquitto ]);
@@ -65,7 +91,7 @@ in
   openssl = addToBuildInputs pkgs.openssl;
   plot = addToBuildInputs pkgs.plotutils;
   postgresql = addToBuildInputsWithPkgConfig pkgs.postgresql;
-  rocksdb = addToBuildInputs pkgs.rocksdb;
+  rocksdb = addToBuildInputs pkgs.rocksdb_8_3;
   scheme2c-compatibility = old:
     addToNativeBuildInputs (lib.optionals (stdenv.system == "x86_64-darwin") [ pkgs.memorymappingHook ])
       (addPkgConfig old);
diff --git a/pkgs/development/compilers/circt/circt-llvm.nix b/pkgs/development/compilers/circt/circt-llvm.nix
index b3005af55fbbd..a21b82d93376e 100644
--- a/pkgs/development/compilers/circt/circt-llvm.nix
+++ b/pkgs/development/compilers/circt/circt-llvm.nix
@@ -50,7 +50,9 @@
       --replace "$out/bin/llvm-config" "$dev/bin/llvm-config" # patch path for llvm-config
   '';
 
-  doCheck = true;
+  # circt only use the mlir part of llvm, occasionally there are some unrelated failure from llvm,
+  # disable the llvm check, but keep the circt check enabled.
+  doCheck = false;
   checkTarget = "check-mlir";
 
   meta = llvm.meta // {
diff --git a/pkgs/development/compilers/corretto/11.nix b/pkgs/development/compilers/corretto/11.nix
index 9e61e133f4cfe..06de7a7bbdf87 100644
--- a/pkgs/development/compilers/corretto/11.nix
+++ b/pkgs/development/compilers/corretto/11.nix
@@ -14,6 +14,12 @@ let
     inherit lib stdenv rsync runCommand testers;
     jdk = jdk11;
     gradle = gradle_7;
+    extraConfig = [
+      # jdk11 is built with --disable-warnings-as-errors (see openjdk/11.nix)
+      # because of several compile errors. We need to include this parameter for
+      # Corretto, too.
+      "--disable-warnings-as-errors"
+    ];
     version = "11.0.20.9.1";
     src = fetchFromGitHub {
       owner = "corretto";
@@ -23,15 +29,4 @@ let
     };
   };
 in
-corretto.overrideAttrs (oldAttrs: {
-  # jdk11 is built with --disable-warnings-as-errors (see openjdk/11.nix)
-  # because of several compile errors. We need to include this parameter for
-  # Corretto, too. Since the build is invoked via `gradle` build.gradle has to
-  # be adapted.
-  postPatch = oldAttrs.postPatch + ''
-    for file in $(find installers -name "build.gradle"); do
-      substituteInPlace $file --replace "command += archSpecificFlags" "command += archSpecificFlags + ['--disable-warnings-as-errors']"
-    done
-  '';
-
-})
+corretto
diff --git a/pkgs/development/compilers/corretto/21.nix b/pkgs/development/compilers/corretto/21.nix
new file mode 100644
index 0000000000000..fed3aa05f7a04
--- /dev/null
+++ b/pkgs/development/compilers/corretto/21.nix
@@ -0,0 +1,26 @@
+{ corretto21
+, fetchFromGitHub
+, gradle_7
+, jdk21
+, lib
+, stdenv
+, rsync
+, runCommand
+, testers
+}:
+
+let
+  corretto = import ./mk-corretto.nix {
+    inherit lib stdenv rsync runCommand testers;
+    jdk = jdk21;
+    gradle = gradle_7;
+    version = "21.0.3.9.1";
+    src = fetchFromGitHub {
+      owner = "corretto";
+      repo = "corretto-21";
+      rev = "97b366227b4dc8f5a89bbedea88b0b18c9e21886";
+      sha256 = "sha256-V8UDyukDCQVTWUg4IpSKoY0qnnQ5fePbm3rxcw06Vr0=";
+    };
+  };
+in
+corretto
diff --git a/pkgs/development/compilers/corretto/mk-corretto.nix b/pkgs/development/compilers/corretto/mk-corretto.nix
index adc6a86d98e29..c26614e47641a 100644
--- a/pkgs/development/compilers/corretto/mk-corretto.nix
+++ b/pkgs/development/compilers/corretto/mk-corretto.nix
@@ -4,6 +4,7 @@
 , lib
 , stdenv
 , gradle
+, extraConfig ? [ ]
 , rsync
 , runCommand
 , testers
@@ -38,7 +39,7 @@ jdk.overrideAttrs (finalAttrs: oldAttrs: {
 
     # `/usr/bin/rsync` is invoked to copy the source tree. We don't have that.
     for file in $(find installers -name "build.gradle"); do
-      substituteInPlace $file --replace "workingDir '/usr/bin'" "workingDir '.'"
+      substituteInPlace $file --replace-warn "workingDir '/usr/bin'" "workingDir '.'"
     done
   '';
 
@@ -51,12 +52,13 @@ jdk.overrideAttrs (finalAttrs: oldAttrs: {
         if stdenv.isDarwin then
           ":installers:mac:tar:packageBuildResults"
         else ":installers:linux:universal:tar:packageBuildResults";
+      extra_config = builtins.concatStringsSep " " extraConfig;
     in
     ''
       runHook preBuild
 
       # Corretto's actual built is triggered via `gradle`.
-      gradle --console=plain --no-daemon ${task}
+      gradle -Pcorretto.extra_config="${extra_config}" --console=plain --no-daemon ${task}
 
       # Prepare for the installPhase so that it looks like if a normal
       # OpenJDK had been built.
diff --git a/pkgs/development/compilers/dart/package-source-builders/default.nix b/pkgs/development/compilers/dart/package-source-builders/default.nix
index 38d07c40ec2af..43f4a987a2e08 100644
--- a/pkgs/development/compilers/dart/package-source-builders/default.nix
+++ b/pkgs/development/compilers/dart/package-source-builders/default.nix
@@ -6,5 +6,6 @@
   matrix = callPackage ./matrix { };
   media_kit_libs_linux = callPackage ./media_kit_libs_linux { };
   olm = callPackage ./olm { };
+  sqlite3 = callPackage ./sqlite3 { };
   system_tray = callPackage ./system-tray { };
 }
diff --git a/pkgs/development/compilers/dart/package-source-builders/sqlite3/default.nix b/pkgs/development/compilers/dart/package-source-builders/sqlite3/default.nix
new file mode 100644
index 0000000000000..579bc1732cc44
--- /dev/null
+++ b/pkgs/development/compilers/dart/package-source-builders/sqlite3/default.nix
@@ -0,0 +1,30 @@
+{ stdenv
+, lib
+, writeScript
+, sqlite
+}:
+
+{ version, src, ... }:
+
+stdenv.mkDerivation rec {
+  pname = "sqlite3";
+  inherit version src;
+  inherit (src) passthru;
+
+  setupHook = writeScript "${pname}-setup-hook" ''
+    sqliteFixupHook() {
+      runtimeDependencies+=('${lib.getLib sqlite}')
+    }
+
+    preFixupHooks+=(sqliteFixupHook)
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p "$out"
+    ln -s '${src}'/* "$out"
+
+    runHook postInstall
+  '';
+}
diff --git a/pkgs/development/compilers/dart/sources.nix b/pkgs/development/compilers/dart/sources.nix
index e2028d92b591a..f4cce2eb2f938 100644
--- a/pkgs/development/compilers/dart/sources.nix
+++ b/pkgs/development/compilers/dart/sources.nix
@@ -1,24 +1,24 @@
-let version = "3.3.3"; in
+let version = "3.3.4"; in
 { fetchurl }: {
   versionUsed = version;
   "${version}-x86_64-darwin" = fetchurl {
     url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${version}/sdk/dartsdk-macos-x64-release.zip";
-    sha256 = "0amlh1cx0jshd3fdrs18dp3ws3qwmi3qhjpg991330mlvwn93zik";
+    sha256 = "0jicbpdhwlag51wgjbaxicj3mpvjnxx35g10ji1v8vxzas8msa32";
   };
   "${version}-aarch64-darwin" = fetchurl {
     url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${version}/sdk/dartsdk-macos-arm64-release.zip";
-    sha256 = "0rxjd2znvzl5hznc055yda4pqbf86dim2gn6dbq72s4p0412sjyq";
+    sha256 = "0l8bsrhk7ycb7q2b3w4j76qkab4py2m535qa466xj6nwlyi99i81";
   };
   "${version}-aarch64-linux" = fetchurl {
     url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${version}/sdk/dartsdk-linux-arm64-release.zip";
-    sha256 = "15d5gc7r2d43ylkcjcg44srcyg3c6g1s0d95pxzyff5jx287dnpk";
+    sha256 = "1jdx0sk3356rn3ik9pfx19fc8ppjivcsnk1c44s72wg83ml3yiy3";
   };
   "${version}-x86_64-linux" = fetchurl {
     url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${version}/sdk/dartsdk-linux-x64-release.zip";
-    sha256 = "1gggfxyn3sndgmplw1gn4k1xhcyhrsyw19k112ba0cm663vrcymc";
+    sha256 = "1cm710bifr2g04h520a8r8jz75ndy4apr1y4kljknvyfc0m94wv7";
   };
   "${version}-i686-linux" = fetchurl {
     url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${version}/sdk/dartsdk-linux-ia32-release.zip";
-    sha256 = "1p82m0sr7mch0nabw2d73dys8lnpgf79b65dswaf8prnba8rn1lj";
+    sha256 = "0j5j582lvlwdaqznb8bi96x3sck13l82l0p627bqpn6nm5qv21sj";
   };
 }
diff --git a/pkgs/development/compilers/dotnet/build-dotnet.nix b/pkgs/development/compilers/dotnet/build-dotnet.nix
index 8ee0bd9e7b3a3..f6802e62c70d1 100644
--- a/pkgs/development/compilers/dotnet/build-dotnet.nix
+++ b/pkgs/development/compilers/dotnet/build-dotnet.nix
@@ -25,6 +25,7 @@ assert if type == "sdk" then packages != null else true;
 , writeShellScript
 , mkNugetDeps
 , callPackage
+, dotnetCorePackages
 }:
 
 let
@@ -44,6 +45,8 @@ let
 
   mkCommon = callPackage ./common.nix {};
 
+  targetRid = dotnetCorePackages.systemToDotnetRid stdenv.targetPlatform.system;
+
 in
 mkCommon type rec {
   inherit pname version;
@@ -88,21 +91,21 @@ mkCommon type rec {
 
   # Tell autoPatchelf about runtime dependencies.
   # (postFixup phase is run before autoPatchelfHook.)
-  postFixup = lib.optionalString stdenv.isLinux ''
+  postFixup = lib.optionalString stdenv.targetPlatform.isLinux ''
     patchelf \
       --add-needed libicui18n.so \
       --add-needed libicuuc.so \
       $out/shared/Microsoft.NETCore.App/*/libcoreclr.so \
       $out/shared/Microsoft.NETCore.App/*/*System.Globalization.Native.so \
-      $out/packs/Microsoft.NETCore.App.Host.linux-x64/*/runtimes/linux-x64/native/singlefilehost
+      $out/packs/Microsoft.NETCore.App.Host.${targetRid}/*/runtimes/${targetRid}/native/*host
     patchelf \
       --add-needed libgssapi_krb5.so \
       $out/shared/Microsoft.NETCore.App/*/*System.Net.Security.Native.so \
-      $out/packs/Microsoft.NETCore.App.Host.linux-x64/*/runtimes/linux-x64/native/singlefilehost
+      $out/packs/Microsoft.NETCore.App.Host.${targetRid}/*/runtimes/${targetRid}/native/*host
     patchelf \
       --add-needed libssl.so \
       $out/shared/Microsoft.NETCore.App/*/*System.Security.Cryptography.Native.OpenSsl.so \
-      $out/packs/Microsoft.NETCore.App.Host.linux-x64/*/runtimes/linux-x64/native/singlefilehost
+      $out/packs/Microsoft.NETCore.App.Host.${targetRid}/*/runtimes/${targetRid}/native/*host
   '';
 
   passthru = {
diff --git a/pkgs/development/compilers/dotnet/common.nix b/pkgs/development/compilers/dotnet/common.nix
index a757dd36d17b2..49f3e3be4d779 100644
--- a/pkgs/development/compilers/dotnet/common.nix
+++ b/pkgs/development/compilers/dotnet/common.nix
@@ -63,7 +63,7 @@
           '' + build);
         in
           if run == null
-            then build
+            then built
           else
             runCommand "${built.name}-run" { src = built; nativeBuildInputs = runInputs; } (
               lib.optionalString (runtime != null) ''
@@ -71,8 +71,10 @@
                 export DOTNET_ROOT=${runtime}
               '' + run);
 
+      # Setting LANG to something other than 'C' forces the runtime to search
+      # for ICU, which will be required in most user environments.
       checkConsoleOutput = command: ''
-        output="$(${command})"
+        output="$(LANG=C.UTF-8 ${command})"
         # yes, older SDKs omit the comma
         [[ "$output" =~ Hello,?\ World! ]] && touch "$out"
       '';
@@ -98,6 +100,15 @@
         run = checkConsoleOutput "$src/test";
       };
 
+      self-contained = mkDotnetTest {
+        name = "self-contained";
+        template = "console";
+        usePackageSource = true;
+        build = "dotnet publish --use-current-runtime --sc -o $out";
+        runtime = null;
+        run = checkConsoleOutput "$src/test";
+      };
+
       single-file = mkDotnetTest {
         name = "single-file";
         template = "console";
diff --git a/pkgs/development/compilers/erg/default.nix b/pkgs/development/compilers/erg/default.nix
index 033d6a46b1c6a..9d02f1f4a9968 100644
--- a/pkgs/development/compilers/erg/default.nix
+++ b/pkgs/development/compilers/erg/default.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "erg";
-  version = "0.6.34";
+  version = "0.6.35";
 
   src = fetchFromGitHub {
     owner = "erg-lang";
     repo = "erg";
     rev = "v${version}";
-    hash = "sha256-AGBr4Hx/QqImQnm5lQxIgRFY0lrLQv7q++ThCIiWwNY=";
+    hash = "sha256-aDYT2bXd2OcRRgYd6ycjeLPQ1LuRxejivhEFkiqZoGw=";
   };
 
-  cargoHash = "sha256-mRocHInOrLO72F5hj8+0VddMiE4LMILiJ38ASAQLrBc=";
+  cargoHash = "sha256-I5g+Nqdr/UYS/+F9sGelOSnb2vnT5vHc0/VeRASBsQY=";
 
   nativeBuildInputs = [
     makeWrapper
diff --git a/pkgs/development/compilers/ghc/8.10.7.nix b/pkgs/development/compilers/ghc/8.10.7.nix
index 4a770d993a678..cc819ff8dcbfd 100644
--- a/pkgs/development/compilers/ghc/8.10.7.nix
+++ b/pkgs/development/compilers/ghc/8.10.7.nix
@@ -2,7 +2,7 @@
 
 # build-tools
 , bootPkgs
-, autoconf, automake, coreutils, fetchpatch, fetchurl, perl, python3, m4, sphinx
+, autoreconfHook, autoconf, automake, coreutils, fetchpatch, fetchurl, perl, python3, m4, sphinx
 , xattr, autoSignDarwinBinariesHook
 , bash
 
@@ -223,6 +223,12 @@ stdenv.mkDerivation (rec {
       stripLen = 3;
       extraPrefix = "libraries/Cabal/Cabal/";
     })
+
+    # We need to be able to set AR_STAGE0 and LD_STAGE0 when cross-compiling
+    (fetchpatch {
+      url = "https://gitlab.haskell.org/ghc/ghc/-/commit/8f7dd5710b80906ea7a3e15b7bb56a883a49fed8.patch";
+      hash = "sha256-C636Nq2U8YOG/av7XQmG3L1rU0bmC9/7m7Hty5pm5+s=";
+    })
   ] ++ lib.optionals stdenv.isDarwin [
     # Make Block.h compile with c++ compilers. Remove with the next release
     (fetchpatch {
@@ -334,7 +340,7 @@ stdenv.mkDerivation (rec {
   dontAddExtraLibs = true;
 
   nativeBuildInputs = [
-    perl autoconf automake m4 python3
+    perl autoreconfHook autoconf automake m4 python3
     ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
   ] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
     autoSignDarwinBinariesHook
diff --git a/pkgs/development/compilers/ghc/common-hadrian.nix b/pkgs/development/compilers/ghc/common-hadrian.nix
index 079bbefbae4ce..522bcb10222ba 100644
--- a/pkgs/development/compilers/ghc/common-hadrian.nix
+++ b/pkgs/development/compilers/ghc/common-hadrian.nix
@@ -116,8 +116,11 @@
     -- no way to set this via the command line
     finalStage :: Stage
     finalStage = ${
-      if stdenv.hostPlatform == stdenv.targetPlatform
-      then "Stage2" # native compiler
+      # Always build the stage 2 compiler if possible. Note we can currently
+      # assume hostPlatform == buildPlatform.
+      # TODO(@sternenseemann): improve this condition when we can cross-compile GHC
+      if stdenv.hostPlatform.canExecute stdenv.targetPlatform
+      then "Stage2" # native compiler or “native” cross e.g. pkgsStatic
       else "Stage1" # cross compiler
     }
 
diff --git a/pkgs/development/compilers/ghcjs/8.10/common-overrides.nix b/pkgs/development/compilers/ghcjs/8.10/common-overrides.nix
index 8b54ee2e35310..8f791b73abff9 100644
--- a/pkgs/development/compilers/ghcjs/8.10/common-overrides.nix
+++ b/pkgs/development/compilers/ghcjs/8.10/common-overrides.nix
@@ -15,5 +15,6 @@ in self: super: {
   }) (super.ghcjs.overrideScope (self: super: {
     # Allow transformers-compat >= 0.7
     optparse-applicative = doJailbreak self.optparse-applicative_0_15_1_0;
+    ansi-wl-pprint = self.ansi-wl-pprint_0_6_9;
   }));
 }
diff --git a/pkgs/development/compilers/inklecate/default.nix b/pkgs/development/compilers/inklecate/default.nix
index fa701d8fd269e..52c278a1bd30f 100644
--- a/pkgs/development/compilers/inklecate/default.nix
+++ b/pkgs/development/compilers/inklecate/default.nix
@@ -1,6 +1,5 @@
 { lib
 , stdenv
-, autoPatchelfHook
 , buildDotnetModule
 , dotnetCorePackages
 , fetchFromGitHub
@@ -17,7 +16,6 @@ buildDotnetModule rec {
     hash = "sha512-aUjjT5Qf64wrKRn1vkwJadMOBWMkvsXUjtZ7S3/ZWAh1CCDkQNO84mSbtbVc9ny0fKeJEqaDX2tJNwq7pYqAbA==";
   };
 
-  nativeBuildInputs = lib.optionals stdenv.isLinux [ autoPatchelfHook ];
   buildInputs = [ stdenv.cc.cc.lib ];
 
   projectFile = "inklecate/inklecate.csproj";
diff --git a/pkgs/development/compilers/llvm/18/default.nix b/pkgs/development/compilers/llvm/18/default.nix
index 4d2b160a23ff1..3c78cd44fdf58 100644
--- a/pkgs/development/compilers/llvm/18/default.nix
+++ b/pkgs/development/compilers/llvm/18/default.nix
@@ -25,7 +25,7 @@
   #   rev-version = /* human readable version; i.e. "unstable-2022-26-07" */;
   #   sha256 = /* checksum for this release, can omit if specifying your own `monorepoSrc` */;
   # }
-, officialRelease ? { version = "18.1.3"; sha256 = "sha256-saQGbpYd95JuudwLcdG80GL8YhadH7TUY1FC0o0ithY="; }
+, officialRelease ? { version = "18.1.4"; sha256 = "sha256-LyQEb4ZJXm2hkPOM9XITIploMT2VKIQWxUFio7SXrc0="; }
   # i.e.:
   # {
   #   version = /* i.e. "15.0.0" */;
diff --git a/pkgs/development/compilers/mruby/default.nix b/pkgs/development/compilers/mruby/default.nix
index 0a081596616ad..a379a298123cf 100644
--- a/pkgs/development/compilers/mruby/default.nix
+++ b/pkgs/development/compilers/mruby/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation (finalAttrs: {
   meta = with lib; {
     description = "An embeddable implementation of the Ruby language";
     homepage = "https://mruby.org";
-    maintainers = with maintainers; [ nicknovitski marsam ];
+    maintainers = with maintainers; [ nicknovitski ];
     license = licenses.mit;
     platforms = platforms.all;
     mainProgram = "mruby";
diff --git a/pkgs/development/compilers/sbcl/default.nix b/pkgs/development/compilers/sbcl/default.nix
index f22a455e45033..2ba79281567ba 100644
--- a/pkgs/development/compilers/sbcl/default.nix
+++ b/pkgs/development/compilers/sbcl/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, callPackage, clisp, coreutils, fetchurl, strace, texinfo, which, writeText, zstd
+{ lib, stdenv, callPackage, ecl, coreutils, fetchurl, strace, texinfo, which, writeText, zstd
 , threadSupport ? (stdenv.hostPlatform.isx86 || "aarch64-linux" == stdenv.hostPlatform.system || "aarch64-darwin" == stdenv.hostPlatform.system)
 , linkableRuntime ? stdenv.hostPlatform.isx86
 , disableImmobileSpace ? false
@@ -6,14 +6,14 @@
   # Note that the created binaries still need `patchelf --set-interpreter ...`
   # to get rid of ${glibc} dependency.
 , purgeNixReferences ? false
-, coreCompression ? lib.versionAtLeast version "2.2.6"
-, markRegionGC ? lib.versionAtLeast version "2.4.0"
+, coreCompression ? true
+, markRegionGC ? true
 , version
-  # Set this to a lisp binary to use a custom bootstrap lisp compiler for
-  # SBCL. Leave as null to use the default. This is useful for local development
-  # of SBCL, because you can use your existing stock SBCL as a boostrap. On Hydra
+  # Set this to a lisp binary to use a custom bootstrap lisp compiler for SBCL.
+  # Leave as null to use the default.  This is useful for local development of
+  # SBCL, because you can use your existing stock SBCL as a boostrap.  On Hydra
   # of course we can’t do that because SBCL hasn’t been built yet, so we use
-  # CLISP, but that’s much slower.
+  # ECL but that’s much slower.
 , bootstrapLisp ? null
 }:
 
@@ -27,16 +27,10 @@ let
     };
   };
   # Collection of pre-built SBCL binaries for platforms that need them for
-  # bootstrapping. Ideally these are to be avoided.  If CLISP (or any other
+  # bootstrapping. Ideally these are to be avoided.  If ECL (or any other
   # non-binary-distributed Lisp) can run on any of these systems, that entry
   # should be removed from this list.
   bootstrapBinaries = rec {
-    # This build segfaults using CLISP.
-    x86_64-darwin = {
-      version = "2.2.9";
-      system = "x86-64-darwin";
-      sha256 = "sha256-b1BLkoLIOELAYBYA9eBmMgm1OxMxJewzNP96C9ADfKY=";
-    };
     i686-linux = {
       version = "1.2.7";
       system = "x86-linux";
@@ -67,7 +61,7 @@ let
     then bootstrapLisp
     else if (builtins.hasAttr stdenv.hostPlatform.system bootstrapBinaries)
     then "${sbclBootstrap}/bin/sbcl --disable-debugger --no-userinit --no-sysinit"
-    else "${clisp}/bin/clisp -E UTF-8 --silent -norc";
+    else "${lib.getExe ecl} --norc";
 
 in
 
@@ -173,15 +167,8 @@ stdenv.mkDerivation (self: rec {
     "--arch=arm64"
   ];
 
-  env.NIX_CFLAGS_COMPILE = toString (lib.optionals (lib.versionOlder self.version "2.1.10") [
-    # Workaround build failure on -fno-common toolchains like upstream
-    # clang-13. Without the change build fails as:
-    #   duplicate symbol '_static_code_space_free_pointer' in: alloc.o traceroot.o
-    # Should be fixed past 2.1.10 release.
-    "-fcommon"
-  ]
-    # Fails to find `O_LARGEFILE` otherwise.
-    ++ [ "-D_GNU_SOURCE" ]);
+  # Fails to find `O_LARGEFILE` otherwise.
+  env.NIX_CFLAGS_COMPILE = "-D_GNU_SOURCE";
 
   buildPhase = ''
     runHook preBuild
@@ -241,6 +228,7 @@ stdenv.mkDerivation (self: rec {
     platforms = attrNames bootstrapBinaries ++ [
       # These aren’t bootstrapped using the binary distribution but compiled
       # using a separate (lisp) host
+      "x86_64-darwin"
       "x86_64-linux"
       "aarch64-darwin"
       "aarch64-linux"
diff --git a/pkgs/development/compilers/typescript/default.nix b/pkgs/development/compilers/typescript/default.nix
index e9f75b22b0e5a..802d31f0d646d 100644
--- a/pkgs/development/compilers/typescript/default.nix
+++ b/pkgs/development/compilers/typescript/default.nix
@@ -28,7 +28,7 @@ buildNpmPackage rec {
     homepage = "https://www.typescriptlang.org/";
     changelog = "https://github.com/microsoft/TypeScript/releases/tag/v${version}";
     license = licenses.asl20;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     mainProgram = "tsc";
   };
 }
diff --git a/pkgs/development/compilers/vala/default.nix b/pkgs/development/compilers/vala/default.nix
index d29fb743c7dc9..b2bbbdd7bf3cb 100644
--- a/pkgs/development/compilers/vala/default.nix
+++ b/pkgs/development/compilers/vala/default.nix
@@ -80,7 +80,7 @@ let
       homepage = "https://wiki.gnome.org/Projects/Vala";
       license = licenses.lgpl21Plus;
       platforms = platforms.unix;
-      maintainers = with maintainers; [ antono jtojnar amaxine ] ++ teams.pantheon.members;
+      maintainers = with maintainers; [ antono jtojnar ] ++ teams.pantheon.members;
     };
   });
 
diff --git a/pkgs/development/compilers/zig/hook.nix b/pkgs/development/compilers/zig/hook.nix
index 0c099a4c0d11c..e01309b258b1a 100644
--- a/pkgs/development/compilers/zig/hook.nix
+++ b/pkgs/development/compilers/zig/hook.nix
@@ -32,7 +32,9 @@ makeSetupHook {
     zig_default_flags =
       let
         releaseType =
-          if lib.versionAtLeast zig.version "0.11" then
+          if lib.versionAtLeast zig.version "0.12" then
+            "--release=safe"
+          else if lib.versionAtLeast zig.version "0.11" then
             "-Doptimize=ReleaseSafe"
           else
             "-Drelease-safe=true";
diff --git a/pkgs/development/compilers/zz/default.nix b/pkgs/development/compilers/zz/default.nix
index ea4e33b8a9038..bd26c78e626a8 100644
--- a/pkgs/development/compilers/zz/default.nix
+++ b/pkgs/development/compilers/zz/default.nix
@@ -47,6 +47,6 @@ rustPlatform.buildRustPackage rec {
     mainProgram = "zz";
     homepage = "https://github.com/zetzit/zz";
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/coq-modules/coq-lsp/default.nix b/pkgs/development/coq-modules/coq-lsp/default.nix
index 790c264d28bd1..afa42728bb59c 100644
--- a/pkgs/development/coq-modules/coq-lsp/default.nix
+++ b/pkgs/development/coq-modules/coq-lsp/default.nix
@@ -36,7 +36,7 @@ mkCoqDerivation rec {
     description = "Language Server Protocol and VS Code Extension for Coq";
     homepage = "https://github.com/ejgallego/coq-lsp";
     changelog = "https://github.com/ejgallego/coq-lsp/blob/${defaultVersion}/CHANGES.md";
-    maintainers = with maintainers; [ alizter marsam ];
+    maintainers = with maintainers; [ alizter ];
     license = licenses.lgpl21Only;
   };
 }
diff --git a/pkgs/development/coq-modules/corn/default.nix b/pkgs/development/coq-modules/corn/default.nix
index 0ae9fc5ca62e5..5e72d4a97e2a4 100644
--- a/pkgs/development/coq-modules/corn/default.nix
+++ b/pkgs/development/coq-modules/corn/default.nix
@@ -4,6 +4,7 @@ mkCoqDerivation rec {
   pname = "corn";
   inherit version;
   defaultVersion = with lib.versions; lib.switch coq.coq-version [
+    { case = (range "8.17" "8.19"); out = "8.19.0"; }
     { case = (range "8.14" "8.18"); out = "8.18.0"; }
     { case = (range "8.11" "8.17"); out = "8.16.0"; }
     { case = (range "8.7"  "8.15"); out = "8.13.0"; }
@@ -15,6 +16,7 @@ mkCoqDerivation rec {
     "8.13.0".sha256 = "1wzr7mdsnf1rq7q0dvmv55vxzysy85b00ahwbs868bl7m8fk8x5b";
     "8.16.0".sha256 = "sha256-ZE/EEIndxHfo/9Me5NX4ZfcH0ZAQ4sRfZY7LRZfLXBQ=";
     "8.18.0".sha256 = "sha256-ow3mfarZ1PvBGf5WLnI8LdF3E+8A6fN7cOcXHrZJLo0=";
+    "8.19.0".sha256 = "sha256-h5MlfRuv2hTbxGmpLUEGQO1YqQTwUNEHZzCfvdOU1TA=";
   };
 
   configureScript = "./configure.sh";
diff --git a/pkgs/development/coq-modules/math-classes/default.nix b/pkgs/development/coq-modules/math-classes/default.nix
index 69d65d4b5587f..4630f14dea02f 100644
--- a/pkgs/development/coq-modules/math-classes/default.nix
+++ b/pkgs/development/coq-modules/math-classes/default.nix
@@ -5,6 +5,7 @@ mkCoqDerivation {
   pname = "math-classes";
   inherit version;
   defaultVersion = with lib.versions; lib.switch coq.coq-version [
+    { case = range "8.17" "8.19"; out = "8.19.0"; }
     { case = range "8.12" "8.18"; out = "8.18.0"; }
     { case = range "8.12" "8.17"; out = "8.17.0"; }
     { case = range "8.6"  "8.16"; out = "8.15.0"; }
@@ -14,6 +15,7 @@ mkCoqDerivation {
   release."8.15.0".sha256 = "10w1hm537k6jx8a8vghq1yx12rsa0sjk2ipv3scgir71ln30hllw";
   release."8.17.0".sha256 = "sha256-WklL8pgYTd0l4TGt7h7tWj1qcFcXvoPn25+XKF1pIKA=";
   release."8.18.0".sha256 = "sha256-0WwPss8+Vr37zX616xeuS4TvtImtSbToFQkQostIjO8=";
+  release."8.19.0".sha256 = "sha256-rsV96W9MPFi/DKsepNPm1QnC2DMemio+uALIgzVYw0w=";
 
   propagatedBuildInputs = [ bignums ];
 
diff --git a/pkgs/development/embedded/arduino/arduino-core/default.nix b/pkgs/development/embedded/arduino/arduino-core/default.nix
index e823966697874..cf9e014310df6 100644
--- a/pkgs/development/embedded/arduino/arduino-core/default.nix
+++ b/pkgs/development/embedded/arduino/arduino-core/default.nix
@@ -4,6 +4,7 @@
 , fetchurl
 , jdk
 , ant
+, stripJavaArchivesHook
 , libusb-compat-0_1
 , libusb1
 , unzip
@@ -112,7 +113,7 @@ stdenv.mkDerivation rec {
   # the glib setup hook will populate GSETTINGS_SCHEMAS_PATH,
   # wrapGAppHooks (among other things) adds it to XDG_DATA_DIRS
   # so 'save as...' works:
-  nativeBuildInputs = [ glib wrapGAppsHook unzip ];
+  nativeBuildInputs = [ glib stripJavaArchivesHook wrapGAppsHook unzip ];
   buildInputs = [
     jdk
     ant
diff --git a/pkgs/development/embedded/fpga/openfpgaloader/default.nix b/pkgs/development/embedded/fpga/openfpgaloader/default.nix
index 15465d4a43c08..5309093f17800 100644
--- a/pkgs/development/embedded/fpga/openfpgaloader/default.nix
+++ b/pkgs/development/embedded/fpga/openfpgaloader/default.nix
@@ -41,7 +41,7 @@ stdenv.mkDerivation (finalAttrs: {
     mainProgram = "openFPGALoader";
     homepage = "https://github.com/trabucayre/openFPGALoader";
     license = lib.licenses.agpl3Only;
-    maintainers = with lib.maintainers; [ danderson ];
+    maintainers = with lib.maintainers; [ ];
     platforms = lib.platforms.unix;
   };
 })
diff --git a/pkgs/development/embedded/stm32/stm32cubemx/default.nix b/pkgs/development/embedded/stm32/stm32cubemx/default.nix
index 4bcad690bbbdc..6d58322767d30 100644
--- a/pkgs/development/embedded/stm32/stm32cubemx/default.nix
+++ b/pkgs/development/embedded/stm32/stm32cubemx/default.nix
@@ -13,11 +13,11 @@ let
   iconame = "STM32CubeMX";
   package = stdenvNoCC.mkDerivation rec {
     pname = "stm32cubemx";
-    version = "6.10.0";
+    version = "6.11.1";
 
     src = fetchzip {
       url = "https://sw-center.st.com/packs/resource/library/stm32cube_mx_v${builtins.replaceStrings ["."] [""] version}-lin.zip";
-      sha256 = "sha256-B5Sf+zM7h9BiFqDYrLS0JdqZi3dGy6H9gAaJIN3izeM=";
+      hash = "sha256-By9T43GLM1J63TkRi3kl05h1RflBorU1QHgYOrXQ9N0=";
       stripRoot = false;
     };
 
@@ -84,7 +84,7 @@ let
   };
   in
   buildFHSEnv {
-    inherit (package) pname meta;
+    inherit (package) pname version meta;
     runScript = "${package.outPath}/bin/stm32cubemx";
     targetPkgs = pkgs:
       with pkgs; [
diff --git a/pkgs/development/haskell-modules/cabal2nix-unstable.nix b/pkgs/development/haskell-modules/cabal2nix-unstable.nix
index 8e7396a3fb488..b16a9abfe8a2e 100644
--- a/pkgs/development/haskell-modules/cabal2nix-unstable.nix
+++ b/pkgs/development/haskell-modules/cabal2nix-unstable.nix
@@ -8,10 +8,10 @@
 }:
 mkDerivation {
   pname = "cabal2nix";
-  version = "unstable-2024-02-05";
+  version = "unstable-2024-04-21";
   src = fetchzip {
-    url = "https://github.com/NixOS/cabal2nix/archive/173e8a5fa70dc95a1aeb0bd877bf5fee6d5e6b4a.tar.gz";
-    sha256 = "1pld7jfsjmw486ch6li1fqci1jj5p2nvfq7nrkxrmf5p2ja5528g";
+    url = "https://github.com/NixOS/cabal2nix/archive/f8e6bf749a158a5ed866c57deee907b5f16c38e5.tar.gz";
+    sha256 = "0c73mvza65iy46fv8c8cadsy7klk4jzmimm1mfdavvm8i2cr5476";
   };
   postUnpack = "sourceRoot+=/cabal2nix; echo source root reset to $sourceRoot";
   isLibrary = true;
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 00dcc3b7a5d8e..a0ab31525888f 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -24,7 +24,7 @@ self: super: {
     Cabal-syntax = self.Cabal-syntax_3_10_3_0;
   } // lib.optionalAttrs (lib.versionOlder self.ghc.version "9.2.5") {
     # Use process core package when possible
-    process = self.process_1_6_18_0;
+    process = self.process_1_6_19_0;
   }));
 
   # cabal-install needs most recent versions of Cabal and Cabal-syntax,
@@ -48,7 +48,7 @@ self: super: {
           # cabal-install, but we need to recompile process even if the correct
           # version is available to prevent inconsistent dependencies:
           # process depends on directory.
-          process = cself.process_1_6_18_0;
+          process = cself.process_1_6_19_0;
 
           # Prevent dependency on doctest which causes an inconsistent dependency
           # due to depending on ghc which depends on directory etc.
@@ -270,20 +270,7 @@ self: super: {
   ghcjs-base = null;
   ghcjs-prim = null;
 
-  # 2024-03-10: Compatibility fixes have been applied upstream, but are unreleased.
-  ghc-debug-brick = appendPatches [
-      (fetchpatch {
-        url = "https://gitlab.haskell.org/ghc/ghc-debug/-/commit/4f195b98a8d3159bd4586af49ea8e269214a848e.patch";
-        sha256 = "sha256-ZMxDkkI365w/qtRc21k9UTcIiTjoOd/BGJgt/6C6P6A=";
-        relative = "ghc-debug-brick";
-        includes = ["ghc-debug-brick.cabal"];
-      })
-      (fetchpatch {
-        url = "https://gitlab.haskell.org/ghc/ghc-debug/-/commit/5b8f848b82ea4c5a1867b9965a973e73e5d58dad.patch";
-        sha256 = "sha256-XydmqScUuXyxqvW1HeKlKiiGFQi/MkM81RMPxmADrhw=";
-        relative = "ghc-debug-brick";
-      })
-    ] super.ghc-debug-brick;
+  ghc-debug-client = doJailbreak super.ghc-debug-client;
 
   # Test failure.  Tests also disabled in Stackage:
   # https://github.com/jtdaugherty/brick/issues/499
@@ -411,6 +398,13 @@ self: super: {
         rm -r $out/doc/?ndroid*
       '';
     };
+
+    patches = drv.patches or [ ] ++ [
+      # Prevent .desktop files from being installed to $out/usr/share.
+      # TODO(@sternenseemann): submit upstreamable patch resolving this
+      # (this should be possible by also taking PREFIX into account).
+      ./patches/git-annex-no-usr-prefix.patch
+    ];
   }) super.git-annex;
 
   # Too strict bounds on servant
@@ -1587,8 +1581,14 @@ self: super: {
   jsaddle-dom = overrideCabal (old: {
     postPatch = old.postPatch or "" + ''
       sed -i 's/lens.*4.20/lens/' jsaddle-dom.cabal
+      rm Setup.hs
     '';
   }) (doJailbreak super.jsaddle-dom);
+  jsaddle-hello = doJailbreak super.jsaddle-hello;
+  ghcjs-dom-hello = doJailbreak super.ghcjs-dom-hello;
+
+  # Too strict upper bounds on text
+  lsql-csv = doJailbreak super.lsql-csv;
 
   reflex-dom = lib.pipe super.reflex-dom [
       (appendPatch
diff --git a/pkgs/development/haskell-modules/configuration-darwin.nix b/pkgs/development/haskell-modules/configuration-darwin.nix
index 480059de14c0e..3e7bf1f89f7cf 100644
--- a/pkgs/development/haskell-modules/configuration-darwin.nix
+++ b/pkgs/development/haskell-modules/configuration-darwin.nix
@@ -82,6 +82,17 @@ self: super: ({
   # the system-fileio tests use canonicalizePath, which fails in the sandbox
   system-fileio = dontCheck super.system-fileio;
 
+  git-annex = overrideCabal (drv: {
+    # We can't use testFlags since git-annex side steps the Cabal test mechanism
+    preCheck = drv.preCheck or "" + ''
+      checkFlagsArray+=(
+        # The addurl test cases require security(1) to be in PATH which we can't
+        # provide from nixpkgs to my (@sternenseemann) knowledge.
+        "-p" "!/addurl/"
+      )
+    '';
+  }) super.git-annex;
+
   # Prevents needing to add `security_tool` as a run-time dependency for
   # everything using x509-system to give access to the `security` executable.
   #
diff --git a/pkgs/development/haskell-modules/configuration-ghc-9.8.x.nix b/pkgs/development/haskell-modules/configuration-ghc-9.8.x.nix
index cf197f9fb3f5a..624b767f47c97 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-9.8.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-9.8.x.nix
@@ -55,7 +55,7 @@ self: super: {
   th-abstraction = doDistribute self.th-abstraction_0_7_0_0;
   ghc-lib-parser = doDistribute self.ghc-lib-parser_9_8_2_20240223;
   ghc-lib-parser-ex = doDistribute self.ghc-lib-parser-ex_9_8_0_2;
-  ghc-lib = doDistribute self.ghc-lib_9_8_1_20231121;
+  ghc-lib = doDistribute self.ghc-lib_9_8_2_20240223;
   megaparsec = doDistribute self.megaparsec_9_6_1;
   # TODO: remove when aeson updates or launches a revision
   # see https://github.com/haskell/aeson/issues/1089 and https://github.com/haskell/aeson/pulls/1088
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
index 7885fa5f21d73..5841974632690 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
@@ -605,6 +605,7 @@ broken-packages:
   - cabal2json # failure in job https://hydra.nixos.org/build/233196099 at 2023-09-02
   - cabal-audit # failure in job https://hydra.nixos.org/build/233193414 at 2023-09-02
   - cabal-auto-expose # failure in job https://hydra.nixos.org/build/233195440 at 2023-09-02
+  - cabal-build-programs # failure in job https://hydra.nixos.org/build/257091363 at 2024-04-27
   - cabal-bundle-clib # failure in job https://hydra.nixos.org/build/233199225 at 2023-09-02
   - cabal-constraints # failure in job https://hydra.nixos.org/build/233214316 at 2023-09-02
   - cabal-db # failure in job https://hydra.nixos.org/build/233197235 at 2023-09-02
@@ -738,6 +739,7 @@ broken-packages:
   - changelog-d # failure in job https://hydra.nixos.org/build/252716175 at 2024-03-16
   - changelog-d # failure in job https://hydra.nixos.org/build/253689337 at 2024-03-31
   - changelog-d # failure in job https://hydra.nixos.org/build/255671571 at 2024-04-16
+  - changelog-d # failure in job https://hydra.nixos.org/build/257082502 at 2024-04-27
   - changelogged # failure in job https://hydra.nixos.org/build/233211675 at 2023-09-02
   - character-cases # failure in job https://hydra.nixos.org/build/233197636 at 2023-09-02
   - charter # failure in job https://hydra.nixos.org/build/233237264 at 2023-09-02
@@ -3207,7 +3209,6 @@ broken-packages:
   - joy-rewrite # failure in job https://hydra.nixos.org/build/233201002 at 2023-09-02
   - jpeg # failure in job https://hydra.nixos.org/build/233204056 at 2023-09-02
   - jsaddle-clib # failure in job https://hydra.nixos.org/build/233203899 at 2023-09-02
-  - jsaddle-warp # failure in job https://hydra.nixos.org/build/233252373 at 2023-09-02
   - jsaddle-wkwebview # failure in job https://hydra.nixos.org/build/233242986 at 2023-09-02
   - js-good-parts # failure in job https://hydra.nixos.org/build/233198958 at 2023-09-02
   - json2 # failure in job https://hydra.nixos.org/build/233242447 at 2023-09-02
@@ -4910,6 +4911,7 @@ broken-packages:
   - rclient # failure in job https://hydra.nixos.org/build/233239290 at 2023-09-02
   - rdf4h # failure in job https://hydra.nixos.org/build/233234057 at 2023-09-02
   - rds-data-codecs # failure in job https://hydra.nixos.org/build/253696582 at 2024-03-31
+  - react # failure in job https://hydra.nixos.org/build/257372364 at 2024-04-27
   - react-flux # failure in job https://hydra.nixos.org/build/233246819 at 2023-09-02
   - react-haskell # failure in job https://hydra.nixos.org/build/233242976 at 2023-09-02
   - reaction-logic # failure in job https://hydra.nixos.org/build/233216789 at 2023-09-02
@@ -5389,6 +5391,7 @@ broken-packages:
   - show-type # failure in job https://hydra.nixos.org/build/233225756 at 2023-09-02
   - Shpadoinkle-console # failure in job https://hydra.nixos.org/build/233228559 at 2023-09-02
   - Shpadoinkle-debug # failure in job https://hydra.nixos.org/build/233194479 at 2023-09-02
+  - Shpadoinkle # failure in job https://hydra.nixos.org/build/257372361 at 2024-04-27
   - Shpadoinkle-isreal # failure in job https://hydra.nixos.org/build/233200051 at 2023-09-02
   - shwifty # failure in job https://hydra.nixos.org/build/233249022 at 2023-09-02
   - sifflet # failure in job https://hydra.nixos.org/build/233210515 at 2023-09-02
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
index 4799e9c3bc1c2..e03097739a823 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
@@ -28,9 +28,6 @@ default-package-overrides:
   - gi-gdkx11 < 4
   # 2021-11-09: ghc-bignum is bundled starting with 9.0.1; only 1.0 builds with GHCs prior to 9.2.1
   - ghc-bignum == 1.0
-  # Needs to be pinned to match jsaddle from Stackage LTS (9.8.*)
-  - jsaddle-dom < 0.9.9.0
-  - jsaddle-webkit2gtk < 0.9.9.0
 
 extra-packages:
   - Cabal-syntax == 3.6.*               # Dummy package that ensures packages depending on Cabal-syntax can work for Cabal < 3.8
@@ -69,6 +66,7 @@ extra-packages:
   - haddock-library ==1.7.*             # required by stylish-cabal-0.5.0.0
   - happy == 1.19.12                    # for ghcjs
   - hinotify == 0.3.9                   # for xmonad-0.26: https://github.com/kolmodin/hinotify/issues/29
+  - ansi-wl-pprint >= 0.6 && < 0.7      # 2024-03-23: required for ghcjs
   - hlint == 3.2.8                      # 2022-09-21: needed for hls on ghc 8.8
   - hlint == 3.4.1                      # 2022-09-21: needed for hls with ghc-lib-parser 9.2
   - hnix-store-core < 0.7               # 2023-12-11: required by hnix-store-remote 0.6
@@ -252,22 +250,22 @@ package-maintainers:
   libjared:
     - sensei
   maralorn:
+    - bluefin
     - cabal-fmt
-    - clay
     - eventlog2html
+    - falsify
     - generic-optics
     - ghc-debug-brick
     - ghc-debug-stub
     - ghcid
     - graphql-client
     - haskell-language-server
-    - hedgehog
     - hledger
     - hledger-ui
     - hledger-web
     - hlint
-    - hmatrix
     - hspec-discover
+    - jsaddle-warp
     - matrix-client
     - optics
     - pandoc
@@ -276,9 +274,9 @@ package-maintainers:
     - postgresql-simple
     - purebred-email
     - reflex-dom
-    - releaser
     - replace-megaparsec
     - req
+    - say
     - shake-bench
     - shh
     - shh-extras
@@ -286,7 +284,9 @@ package-maintainers:
     - stm-containers
     - streamly
     - streamly-bytestring
+    - string-interpolate
     - taskwarrior
+    - tasty
     - threadscope
     - tz
     - weeder
@@ -648,6 +648,7 @@ unsupported-platforms:
   monomer:                                      [ platforms.darwin ] # depends on mesa
   monomer-hagrid:                               [ platforms.darwin ] # depends on mesa
   mptcp-pm:                                     [ platforms.darwin ]
+  mueval:                                       [ aarch64-linux ] # https://hydra.nixos.org/build/257076117/nixlog/2 https://gitlab.haskell.org/ghc/ghc/-/issues/24432
   nanovg:                                       [ platforms.darwin ] # depends on mesa
   netlink:                                      [ platforms.darwin ]
   notifications-tray-icon:                      [ platforms.darwin ] # depends on gi-dbusmenu
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
index 17ce50df0fc3c..6b9818daebe16 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
@@ -1,4 +1,4 @@
-# Stackage LTS 22.16
+# Stackage LTS 22.17
 # This file is auto-generated by
 # maintainers/scripts/haskell/update-stackage.sh
 default-package-overrides:
@@ -564,7 +564,7 @@ default-package-overrides:
   - bytestring-to-vector ==0.3.0.1
   - bytestring-tree-builder ==0.2.7.12
   - bytestring-trie ==0.2.7.2
-  - bz2 ==1.0.1.1
+  - bz2 ==1.0.1.2
   - bzip2-clib ==1.0.8
   - bzlib ==0.5.2.0
   - bzlib-conduit ==0.3.0.3
@@ -661,7 +661,7 @@ default-package-overrides:
   - code-page ==0.2.1
   - coinor-clp ==0.0.0.2
   - cointracking-imports ==0.1.0.2
-  - collect-errors ==0.1.5.0
+  - collect-errors ==0.1.6.0
   - co-log ==0.6.1.0
   - co-log-concurrent ==0.5.1.0
   - co-log-core ==0.3.2.1
@@ -1050,7 +1050,7 @@ default-package-overrides:
   - fakedata-quickcheck ==0.2.0
   - fakefs ==0.3.0.2
   - fakepull ==0.3.0.2
-  - faktory ==1.1.2.6
+  - faktory ==1.1.2.7
   - fasta ==0.10.4.2
   - fast-digits ==0.3.2.0
   - fast-logger ==3.2.2
@@ -1351,7 +1351,7 @@ default-package-overrides:
   - hasql-interpolate ==0.2.1.0
   - hasql-listen-notify ==0.1.0.1
   - hasql-migration ==0.3.0
-  - hasql-notifications ==0.2.1.0
+  - hasql-notifications ==0.2.1.1
   - hasql-optparse-applicative ==0.7.1.3
   - hasql-pool ==0.10.1
   - hasql-th ==0.4.0.19
@@ -1490,7 +1490,7 @@ default-package-overrides:
   - hspec-expectations-json ==1.0.2.1
   - hspec-expectations-lifted ==0.10.0
   - hspec-expectations-pretty-diff ==0.7.2.6
-  - hspec-golden ==0.2.1.0
+  - hspec-golden ==0.2.2.0
   - hspec-golden-aeson ==0.9.0.0
   - hspec-hedgehog ==0.1.1.0
   - hspec-junit-formatter ==1.1.0.2
@@ -1667,7 +1667,7 @@ default-package-overrides:
   - jose ==0.11
   - jose-jwt ==0.9.6
   - journalctl-stream ==0.6.0.6
-  - jsaddle ==0.9.8.3
+  - jsaddle ==0.9.9.0
   - js-chart ==2.9.4.1
   - js-dgtable ==0.5.2
   - js-flot ==0.8.3
@@ -1953,7 +1953,7 @@ default-package-overrides:
   - monoidal-containers ==0.6.4.0
   - monoidal-functors ==0.2.3.0
   - monoid-extras ==0.6.2
-  - monoid-subclasses ==1.2.4.1
+  - monoid-subclasses ==1.2.5
   - monoid-transformer ==0.0.4
   - monomer ==1.6.0.1
   - mono-traversable ==1.0.17.0
@@ -2089,7 +2089,7 @@ default-package-overrides:
   - Only ==0.1
   - oo-prototypes ==0.1.0.0
   - oops ==0.2.0.1
-  - opaleye ==0.10.2.3
+  - opaleye ==0.10.3.0
   - OpenAL ==1.7.0.5
   - openapi3 ==3.2.4
   - open-browser ==0.2.1.0
@@ -2318,10 +2318,10 @@ default-package-overrides:
   - protobuf-simple ==0.1.1.1
   - protocol-radius ==0.0.1.1
   - protocol-radius-test ==0.1.0.1
-  - proto-lens ==0.7.1.4
-  - proto-lens-arbitrary ==0.1.2.12
-  - proto-lens-optparse ==0.1.1.11
-  - proto-lens-runtime ==0.7.0.5
+  - proto-lens ==0.7.1.5
+  - proto-lens-arbitrary ==0.1.2.13
+  - proto-lens-optparse ==0.1.1.12
+  - proto-lens-runtime ==0.7.0.6
   - protolude ==0.3.4
   - proxied ==0.3.1
   - psql-helpers ==0.1.0.0
@@ -2354,7 +2354,7 @@ default-package-overrides:
   - quickcheck-higherorder ==0.1.0.1
   - quickcheck-instances ==0.3.30
   - quickcheck-io ==0.2.0
-  - quickcheck-monoid-subclasses ==0.3.0.1
+  - quickcheck-monoid-subclasses ==0.3.0.2
   - quickcheck-simple ==0.1.1.1
   - quickcheck-special ==0.1.0.6
   - quickcheck-state-machine ==0.8.0
@@ -2921,7 +2921,7 @@ default-package-overrides:
   - these-optics ==1.0.1.2
   - these-skinny ==0.7.5
   - th-expand-syns ==0.4.11.0
-  - th-extras ==0.0.0.7
+  - th-extras ==0.0.0.8
   - th-lego ==0.3.0.3
   - th-lift ==0.8.4
   - th-lift-instances ==0.1.20
@@ -3253,11 +3253,11 @@ default-package-overrides:
   - xxhash-ffi ==0.2.0.0
   - yaml ==0.11.11.2
   - yaml-unscrambler ==0.1.0.19
-  - Yampa ==0.14.7
+  - Yampa ==0.14.8
   - yarn-lock ==0.6.5
   - yeshql-core ==4.2.0.0
   - yesod ==1.6.2.1
-  - yesod-auth ==1.6.11.2
+  - yesod-auth ==1.6.11.3
   - yesod-auth-basic ==0.1.0.3
   - yesod-auth-hashdb ==1.7.1.7
   - yesod-auth-oauth2 ==0.7.2.0
@@ -3293,7 +3293,7 @@ default-package-overrides:
   - zigzag ==0.0.1.0
   - zim-parser ==0.2.1.0
   - zip ==2.0.0
-  - zip-archive ==0.4.3.1
+  - zip-archive ==0.4.3.2
   - zippers ==0.3.2
   - zip-stream ==0.2.2.0
   - zlib ==0.6.3.0
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
index dcaa495f6b699..b58da3ac10b69 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
@@ -357,7 +357,6 @@ dont-distribute-packages:
  - Shellac-haskeline
  - Shellac-readline
  - ShortestPathProblems
- - Shpadoinkle
  - Shpadoinkle-backend-pardiff
  - Shpadoinkle-backend-snabbdom
  - Shpadoinkle-backend-static
@@ -1528,7 +1527,6 @@ dont-distribute-packages:
  - ghc-plugs-out
  - ghc-session
  - ghci-pretty
- - ghcjs-dom-hello
  - ghcjs-dom-webkit
  - ghcjs-hplay
  - ghcup
@@ -1834,6 +1832,7 @@ dont-distribute-packages:
  - gtkrsync
  - guarded-rewriting
  - guess-combinator
+ - h3spec
  - hArduino
  - hOff-display
  - hPDB
@@ -2419,7 +2418,6 @@ dont-distribute-packages:
  - jordan-servant-openapi
  - jordan-servant-server
  - jot
- - jsaddle-hello
  - jsc
  - jsmw
  - json-ast-json-encoder
@@ -3000,6 +2998,7 @@ dont-distribute-packages:
  - olwrapper
  - om-kubernetes
  - om-legion
+ - one-time-password
  - online-csv
  - oops-examples
  - opc-xml-da-client
@@ -3347,7 +3346,6 @@ dont-distribute-packages:
  - rc
  - rdf4h-vocab-activitystreams
  - rdioh
- - react
  - react-flux-servant
  - reactive
  - reactive-banana-sdl
diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix
index 72cc9c4c85a94..fb4afdde5bbaf 100644
--- a/pkgs/development/haskell-modules/configuration-nix.nix
+++ b/pkgs/development/haskell-modules/configuration-nix.nix
@@ -719,14 +719,63 @@ self: super: builtins.intersectAttrs super {
       })
       (addBuildTools (with pkgs.buildPackages; [makeWrapper python3Packages.sphinx]) super.futhark);
 
-  git-annex = overrideCabal (drv: {
-    # This is an instance of https://github.com/NixOS/nix/pull/1085
-    # Fails with:
-    #   gpg: can't connect to the agent: File name too long
-    postPatch = pkgs.lib.optionalString pkgs.stdenv.isDarwin ''
-      substituteInPlace Test.hs \
-        --replace ', testCase "crypto" test_crypto' ""
-    '' + (drv.postPatch or "");
+  git-annex = let
+    # Executables git-annex needs at runtime. git-annex detects these at configure
+    # time and expects to be able to execute them. This means that cross-compiling
+    # git-annex is not possible and strictDeps must be false (runtimeExecDeps go
+    # into executableSystemDepends/buildInputs).
+    runtimeExecDeps = [
+      pkgs.bup
+      pkgs.curl
+      pkgs.git
+      pkgs.gnupg
+      pkgs.lsof
+      pkgs.openssh
+      pkgs.perl
+      pkgs.rsync
+      pkgs.wget
+      pkgs.which
+    ];
+  in
+  overrideCabal (drv: {
+    executableSystemDepends = runtimeExecDeps;
+    enableSharedExecutables = false;
+
+    preConfigure = drv.preConfigure or "" + ''
+      export HOME=$TEMPDIR
+      patchShebangs .
+    '';
+
+    # git-annex ships its test suite as part of the final executable instead of
+    # using a Cabal test suite.
+    checkPhase = ''
+      runHook preCheck
+
+      # Setup PATH for the actual tests
+      ln -sf dist/build/git-annex/git-annex git-annex
+      ln -sf git-annex git-annex-shell
+      PATH+=":$PWD"
+
+      echo checkFlags: $checkFlags ''${checkFlagsArray:+"''${checkFlagsArray[@]}"}
+
+      # Doesn't use Cabal's test mechanism
+      git-annex test $checkFlags ''${checkFlagsArray:+"''${checkFlagsArray[@]}"}
+
+      runHook postCheck
+    '';
+
+    # Use default installPhase of pkgs/stdenv/generic/setup.sh. We need to set
+    # the environment variables it uses via the preInstall hook since the Haskell
+    # generic builder doesn't accept them as arguments.
+    preInstall = drv.preInstall or "" + ''
+      installTargets="install"
+      installFlagsArray+=(
+        "BUILDER=:"
+        "PREFIX="
+        "DESTDIR=$out"
+      )
+    '';
+    installPhase = null;
 
     # Ensure git-annex uses the exact same coreutils it saw at build-time.
     # This is especially important on Darwin but also in Linux environments
@@ -744,13 +793,6 @@ self: super: builtins.intersectAttrs super {
     # `git-annex-shell` by making `shell = haskellPackages.git-annex`.
     # https://git-annex.branchable.com/git-annex-shell/
     passthru.shellPath = "/bin/git-annex-shell";
-
-    # Install man pages which is no longer done by Setup.hs
-    # TODO(@sternenseemann): figure out why install-desktops wants to create /usr
-    # and run that, too.
-    postInstall = drv.postInstall or "" + ''
-      make install-mans "DESTDIR=$out" PREFIX=
-    '';
   }) (super.git-annex.override {
     dbus = if pkgs.stdenv.isLinux then self.dbus else null;
     fdo-notify = if pkgs.stdenv.isLinux then self.fdo-notify else null;
diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix
index cda49e0f87525..f9acdd0f4a27b 100644
--- a/pkgs/development/haskell-modules/generic-builder.nix
+++ b/pkgs/development/haskell-modules/generic-builder.nix
@@ -1,13 +1,24 @@
 { lib, stdenv, buildPackages, buildHaskellPackages, ghc
-, jailbreak-cabal, hscolour, cpphs, nodejs
+, jailbreak-cabal, hscolour, cpphs
 , ghcWithHoogle, ghcWithPackages
+, nodejs
 }:
 
 let
   isCross = stdenv.buildPlatform != stdenv.hostPlatform;
+
+  # Pass the "wrong" C compiler rather than none at all so packages that just
+  # use the C preproccessor still work, see
+  # https://github.com/haskell/cabal/issues/6466 for details.
+  cc =
+    if stdenv.hasCC then "$CC"
+    else if stdenv.hostPlatform.isGhcjs then "${emscripten}/bin/emcc"
+    else "$CC_FOR_BUILD";
+
   inherit (buildPackages)
     fetchurl removeReferencesTo
-    pkg-config coreutils gnugrep glibcLocales;
+    pkg-config coreutils gnugrep glibcLocales
+    emscripten;
 in
 
 { pname
@@ -40,7 +51,8 @@ in
 , enableSharedExecutables ? false
 , enableSharedLibraries ? !stdenv.hostPlatform.isStatic && (ghc.enableShared or false)
 , enableDeadCodeElimination ? (!stdenv.isDarwin)  # TODO: use -dead_strip for darwin
-, enableStaticLibraries ? !(stdenv.hostPlatform.isWindows or stdenv.hostPlatform.isWasm)
+# Disabling this for ghcjs prevents this crash: https://gitlab.haskell.org/ghc/ghc/-/issues/23235
+, enableStaticLibraries ? !(stdenv.hostPlatform.isWindows || stdenv.hostPlatform.isWasm || stdenv.hostPlatform.isGhcjs)
 , enableHsc2hsViaAsm ? stdenv.hostPlatform.isWindows
 , extraLibraries ? [], librarySystemDepends ? [], executableSystemDepends ? []
 # On macOS, statically linking against system frameworks is not supported;
@@ -188,10 +200,7 @@ let
   crossCabalFlags = [
     "--with-ghc=${ghcCommand}"
     "--with-ghc-pkg=${ghc.targetPrefix}ghc-pkg"
-    # Pass the "wrong" C compiler rather than none at all so packages that just
-    # use the C preproccessor still work, see
-    # https://github.com/haskell/cabal/issues/6466 for details.
-    "--with-gcc=${if stdenv.hasCC then "$CC" else "$CC_FOR_BUILD"}"
+    "--with-gcc=${cc}"
   ] ++ optionals stdenv.hasCC [
     "--with-ld=${stdenv.cc.bintools.targetPrefix}ld"
     "--with-ar=${stdenv.cc.bintools.targetPrefix}ar"
@@ -315,7 +324,7 @@ let
     optionals doBenchmark benchmarkToolDepends;
   nativeBuildInputs =
     [ ghc removeReferencesTo ] ++ optional (allPkgconfigDepends != []) (assert pkg-config != null; pkg-config) ++
-    setupHaskellDepends ++ collectedToolDepends;
+    setupHaskellDepends ++ collectedToolDepends ++ optional stdenv.hostPlatform.isGhcjs nodejs;
   propagatedBuildInputs = buildDepends ++ libraryHaskellDepends ++ executableHaskellDepends ++ libraryFrameworkDepends;
   otherBuildInputsHaskell =
     optionals doCheck (testDepends ++ testHaskellDepends) ++
@@ -442,6 +451,11 @@ stdenv.mkDerivation ({
   '' + ''
     done
   ''
+  + (optionalString stdenv.hostPlatform.isGhcjs ''
+    export EM_CACHE="$(realpath "$(mktemp -d emcache.XXXXXXXXXX)")"
+    cp -Lr ${emscripten}/share/emscripten/cache/* "$EM_CACHE/"
+    chmod u+rwX -R "$EM_CACHE"
+  '')
   # only use the links hack if we're actually building dylibs. otherwise, the
   # "dynamic-library-dirs" point to nonexistent paths, and the ln command becomes
   # "ln -s $out/lib/links", which tries to recreate the links dir and fails
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index f66a166c2ce3f..66ebf73ce793f 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -9453,8 +9453,8 @@ self: {
     ({ mkDerivation, base, bcm2835, bytestring }:
      mkDerivation {
        pname = "HPi";
-       version = "0.10.0";
-       sha256 = "1b3lwa1j2w9vwqxpccyg4mcy338q4byyqpysxd2ciljq3wcf5nkw";
+       version = "0.11.0";
+       sha256 = "1m2sa97883dvw1m10a1rb19dc7a1wc5cgs89zsrw2mlkl3877946";
        libraryHaskellDepends = [ base bytestring ];
        librarySystemDepends = [ bcm2835 ];
        description = "GPIO, I2C, SPI, and PWM functions for the Raspberry Pi";
@@ -9947,8 +9947,8 @@ self: {
        pname = "HTTP";
        version = "4000.4.1";
        sha256 = "0lyl5lpkk51xn3dfndh8ksgvwcdsviyigmsnp3d28lbpxkpxhcfz";
-       revision = "3";
-       editedCabalFile = "0nsg7j94f8wz9pv4c221c744sncac7hp5x0hlvbljgklj0jmfdqf";
+       revision = "4";
+       editedCabalFile = "18ywxacq8p51p84haqgm8h19jnsja4dgx32sxl9ncgvh2xwyj35r";
        libraryHaskellDepends = [
          array base bytestring mtl network network-uri parsec time
          transformers
@@ -14327,8 +14327,8 @@ self: {
        pname = "MissingH";
        version = "1.6.0.1";
        sha256 = "0f5d7ws2vqm1vpwjab9cp691jn5j3dxycfn4w5p1rb4aim504aa9";
-       revision = "2";
-       editedCabalFile = "1qvdaa5im36x6j7z060n084q62gp35sp7sa6cgcbdjva5bqgi2iy";
+       revision = "3";
+       editedCabalFile = "00cx3sszr8f6adkl5w09mk7yg6pl38mym2mcl2nicdpz9vyvjb2f";
        libraryHaskellDepends = [
          array base containers directory filepath hslogger mtl network
          network-bsd old-locale old-time parsec process regex-compat time
@@ -19478,6 +19478,7 @@ self: {
        description = "A programming model for declarative, high performance user interface";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "Shpadoinkle-backend-pardiff" = callPackage
@@ -23240,24 +23241,6 @@ self: {
      }:
      mkDerivation {
        pname = "Yampa";
-       version = "0.14.7";
-       sha256 = "0y9aagh532xdp2qq5xfk8qzf326pjs5x3lvrfby2d2qbbh724nav";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base deepseq random simple-affine-space
-       ];
-       benchmarkHaskellDepends = [ base criterion filepath time ];
-       description = "Elegant Functional Reactive Programming Language for Hybrid Systems";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "Yampa_0_14_8" = callPackage
-    ({ mkDerivation, base, criterion, deepseq, filepath, random
-     , simple-affine-space, time
-     }:
-     mkDerivation {
-       pname = "Yampa";
        version = "0.14.8";
        sha256 = "0w33n17haja7jzwhha7j6psqkcyq0k06ddckbs96yqldmq96il18";
        isLibrary = true;
@@ -23268,7 +23251,6 @@ self: {
        benchmarkHaskellDepends = [ base criterion filepath time ];
        description = "Elegant Functional Reactive Programming Language for Hybrid Systems";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "Yampa-core" = callPackage
@@ -35466,15 +35448,16 @@ self: {
 
   "amqp-streamly" = callPackage
     ({ mkDerivation, amqp, base, bytestring, hspec, process, streamly
-     , testcontainers, text
+     , streamly-core, testcontainers, text
      }:
      mkDerivation {
        pname = "amqp-streamly";
-       version = "0.2.1";
-       sha256 = "17qh1f05byyysmmyyz6lsqgkkn3bhxw6jpg4pm53ii1m6myfnqw9";
-       libraryHaskellDepends = [ amqp base streamly text ];
+       version = "0.3.0";
+       sha256 = "1095f9da87y1h47a2sskliyx71iy6xv00wzzjv7va8rqdlfzch5b";
+       libraryHaskellDepends = [ amqp base streamly streamly-core text ];
        testHaskellDepends = [
-         amqp base bytestring hspec process streamly testcontainers text
+         amqp base bytestring hspec process streamly streamly-core
+         testcontainers text
        ];
        description = "A simple streamly wrapper for amqp";
        license = lib.licenses.bsd3;
@@ -36243,6 +36226,22 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "ansi-wl-pprint_0_6_9" = callPackage
+    ({ mkDerivation, ansi-terminal, base }:
+     mkDerivation {
+       pname = "ansi-wl-pprint";
+       version = "0.6.9";
+       sha256 = "1b2fg8px98dzbaqyns10kvs8kn6cl1hdq5wb9saz40izrpkyicm7";
+       revision = "4";
+       editedCabalFile = "04ljsk64bzwsczh0zc5w3r98qr1zlzbwwm2xb6nk9vradv4pnwzv";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ ansi-terminal base ];
+       description = "The Wadler/Leijen Pretty Printer for colored ANSI terminal output";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "ansi-wl-pprint" = callPackage
     ({ mkDerivation, base, prettyprinter-compat-ansi-wl-pprint }:
      mkDerivation {
@@ -37898,6 +37897,27 @@ self: {
        broken = true;
      }) {};
 
+  "apply-merge" = callPackage
+    ({ mkDerivation, base, containers, falsify, pqueue, tasty
+     , tasty-bench, tasty-expected-failure, tasty-hunit, transformers
+     , vector
+     }:
+     mkDerivation {
+       pname = "apply-merge";
+       version = "0.1.0.0";
+       sha256 = "1wkm96jhy9z0k3nyzba6x33r9nv69chsyd44srwpp3qryzm3884k";
+       libraryHaskellDepends = [ base containers pqueue ];
+       testHaskellDepends = [
+         base containers falsify pqueue tasty tasty-expected-failure
+         tasty-hunit transformers vector
+       ];
+       benchmarkHaskellDepends = [
+         base containers pqueue tasty-bench transformers vector
+       ];
+       description = "Lift a binary, non-decreasing function onto ordered lists and order the output";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "apply-refact_0_9_3_0" = callPackage
     ({ mkDerivation, base, containers, directory, extra, filemanip
      , filepath, ghc, ghc-boot-th, ghc-exactprint, optparse-applicative
@@ -39224,12 +39244,12 @@ self: {
        broken = true;
      }) {inherit (pkgs) arpack;};
 
-  "array_0_5_6_0" = callPackage
+  "array_0_5_7_0" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "array";
-       version = "0.5.6.0";
-       sha256 = "0bhiw4zwnlapy4fznck7kna5f59dv33pk34x6r0liw0n81s22pm8";
+       version = "0.5.7.0";
+       sha256 = "155ka0ax0z0niwgy68cnrh3zd75a5xw1i6wvaaqk0sszgxqr6myh";
        libraryHaskellDepends = [ base ];
        description = "Mutable and immutable arrays";
        license = lib.licenses.bsd3;
@@ -40611,6 +40631,8 @@ self: {
        pname = "async";
        version = "2.2.5";
        sha256 = "1xqnixmcxbird7rxl124bn5swpyyxxx2jxpdsbx2l8drp8z4f60q";
+       revision = "1";
+       editedCabalFile = "1y1cd3dkllrwbqj9ca8rr4vv2v751vrvia0kkq4qv5ajbxh9wpcx";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base hashable stm ];
@@ -41137,6 +41159,18 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "atomic-primops_0_8_6" = callPackage
+    ({ mkDerivation, base, ghc-prim, primitive }:
+     mkDerivation {
+       pname = "atomic-primops";
+       version = "0.8.6";
+       sha256 = "1cas7m0v94fkd1s7hqpl5vf270z5yjd4rnq0glkcz4gy44h06jyl";
+       libraryHaskellDepends = [ base ghc-prim primitive ];
+       description = "A safe approach to CAS and other atomic ops in Haskell";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "atomic-primops-foreign" = callPackage
     ({ mkDerivation, base, bits-atomic, HUnit, test-framework
      , test-framework-hunit, time
@@ -46811,10 +46845,8 @@ self: {
      }:
      mkDerivation {
        pname = "bench";
-       version = "1.0.12";
-       sha256 = "1sy97qpv6paar2d5syppk6lc06wjx6qyz5aidsmh30jq853nydx6";
-       revision = "8";
-       editedCabalFile = "1xsvw5mid9f4gildrw4hdxp77hqx33vkp6x015ig0rm8b2cpp0r7";
+       version = "1.0.13";
+       sha256 = "0v2sfblzwjb0y8dnjpl9jxsiz14lqdnpa1vccbnm2y73b5pkj30p";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -47706,7 +47738,7 @@ self: {
        mainProgram = "binance-exports";
      }) {};
 
-  "binary_0_8_9_1" = callPackage
+  "binary_0_8_9_2" = callPackage
     ({ mkDerivation, array, attoparsec, base, base-orphans, bytestring
      , Cabal, cereal, containers, criterion, deepseq, directory
      , filepath, generic-deriving, HUnit, mtl, QuickCheck, random
@@ -47715,8 +47747,8 @@ self: {
      }:
      mkDerivation {
        pname = "binary";
-       version = "0.8.9.1";
-       sha256 = "1h7bmrzipfkglh627dmwm7vqf7akkilmfz5qr85rpz1d8miwl8dc";
+       version = "0.8.9.2";
+       sha256 = "0k7pkc6rkxfq6xz5hai5y31rhi8d3hrn5nxsp4ya3nyc9rmi2dw4";
        libraryHaskellDepends = [ array base bytestring containers ];
        testHaskellDepends = [
          array base base-orphans bytestring Cabal containers directory
@@ -49226,31 +49258,36 @@ self: {
      }) {};
 
   "binrep" = callPackage
-    ({ mkDerivation, base, bytestring, bytezap, deepseq, flatparse
-     , gauge, generic-data-asserts, generic-data-functions
-     , generic-random, hspec, hspec-discover, parser-combinators
-     , QuickCheck, quickcheck-instances, refined1, strongweak, text
-     , text-icu
+    ({ mkDerivation, base, bytestring, bytezap, deepseq, defun-core
+     , flatparse, gauge, generic-data-functions, generic-random
+     , generic-type-asserts, generic-type-functions, hspec
+     , hspec-discover, parser-combinators, QuickCheck
+     , quickcheck-instances, refined1, strongweak, text, text-icu
+     , type-level-bytestrings
      }:
      mkDerivation {
        pname = "binrep";
-       version = "0.6.0";
-       sha256 = "1rd27h3i39zibz7dvwk53akqkrfhwln2igfczxdwflhav372ah18";
+       version = "0.8.0";
+       sha256 = "1bsncrkxixp28ffmm2dgfpai3nv8cq0db3fdy11y6gi7rri7g8cj";
        libraryHaskellDepends = [
-         base bytestring bytezap deepseq flatparse generic-data-asserts
-         generic-data-functions parser-combinators refined1 strongweak text
-         text-icu
+         base bytestring bytezap deepseq defun-core flatparse
+         generic-data-functions generic-type-asserts generic-type-functions
+         parser-combinators refined1 strongweak text text-icu
+         type-level-bytestrings
        ];
        testHaskellDepends = [
-         base bytestring bytezap deepseq flatparse generic-data-asserts
-         generic-data-functions generic-random hspec parser-combinators
-         QuickCheck quickcheck-instances refined1 strongweak text text-icu
+         base bytestring bytezap deepseq defun-core flatparse
+         generic-data-functions generic-random generic-type-asserts
+         generic-type-functions hspec parser-combinators QuickCheck
+         quickcheck-instances refined1 strongweak text text-icu
+         type-level-bytestrings
        ];
        testToolDepends = [ hspec-discover ];
        benchmarkHaskellDepends = [
-         base bytestring bytezap deepseq flatparse gauge
-         generic-data-asserts generic-data-functions parser-combinators
-         refined1 strongweak text text-icu
+         base bytestring bytezap deepseq defun-core flatparse gauge
+         generic-data-functions generic-type-asserts generic-type-functions
+         parser-combinators refined1 strongweak text text-icu
+         type-level-bytestrings
        ];
        description = "Encode precise binary representations directly in types";
        license = lib.licenses.mit;
@@ -51886,6 +51923,7 @@ self: {
        libraryHaskellDepends = [ bluefin-internal ];
        description = "The Bluefin effect system";
        license = lib.licenses.mit;
+       maintainers = [ lib.maintainers.maralorn ];
      }) {};
 
   "bluefin-internal" = callPackage
@@ -56484,27 +56522,32 @@ self: {
      }) {};
 
   "bytezap" = callPackage
-    ({ mkDerivation, base, bytestring, primitive, text }:
+    ({ mkDerivation, base, bytestring, defun-core
+     , generic-type-functions, primitive, text, type-level-bytestrings
+     }:
      mkDerivation {
        pname = "bytezap";
-       version = "1.1.0";
-       sha256 = "08nr0iyj80bc19fj8dgfzyyb1dws93lclpmgxq2m0jcaxxzid1kj";
-       libraryHaskellDepends = [ base bytestring primitive text ];
+       version = "1.3.0";
+       sha256 = "0ichvvl1f76m520q3pq0m90wi4f0gzmhbsxkk5xnh72kdbaj164h";
+       libraryHaskellDepends = [
+         base bytestring defun-core generic-type-functions primitive text
+         type-level-bytestrings
+       ];
        description = "Bytestring builder with zero intermediate allocation";
        license = lib.licenses.mit;
      }) {};
 
   "bz2" = callPackage
-    ({ mkDerivation, base, bytestring, bzip2-clib, bzlib, c2hs, cpphs
-     , criterion, deepseq, directory, filepath, tasty, tasty-golden
-     , tasty-hunit, temporary
+    ({ mkDerivation, base, bytestring, bzlib, c2hs, cpphs, criterion
+     , deepseq, directory, filepath, tasty, tasty-golden, tasty-hunit
+     , temporary
      }:
      mkDerivation {
        pname = "bz2";
-       version = "1.0.1.1";
-       sha256 = "1pa7qswh3sl9d0pbil14c8w8dvqs4va97ich2fck0gw25y4dwphn";
+       version = "1.0.1.2";
+       sha256 = "0pjcpp365lnfmmp0x9yi71h9nvvmglpc4pvkb7qcvpygx35vxzb1";
        enableSeparateDataOutput = true;
-       libraryHaskellDepends = [ base bytestring bzip2-clib ];
+       libraryHaskellDepends = [ base bytestring ];
        libraryToolDepends = [ c2hs ];
        testHaskellDepends = [
          base bytestring deepseq directory filepath tasty tasty-golden
@@ -57018,6 +57061,8 @@ self: {
        libraryHaskellDepends = [ base Cabal ];
        description = "Adds executable dependencies to the Cabal build";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "cabal-bundle-clib" = callPackage
@@ -61496,6 +61541,8 @@ self: {
        pname = "cborg-json";
        version = "0.2.6.0";
        sha256 = "1p6xdimwypmlsc0zdyw1vyyapnhwn2g8b9n0a83ca6h4r90722yv";
+       revision = "1";
+       editedCabalFile = "0bgr0m1p4r2snp8d1irsyql2a9kcpp09lkajjfsyqq8riaf75a2v";
        libraryHaskellDepends = [
          aeson aeson-pretty base base64-bytestring cborg scientific text
          unordered-containers vector
@@ -62099,8 +62146,8 @@ self: {
      }:
      mkDerivation {
        pname = "cfg";
-       version = "0.0.2.1";
-       sha256 = "0fy21jxpr3720r4l6xnsbg2xasyrq94ljjnnk6639q4w8waqqrb2";
+       version = "0.0.2.2";
+       sha256 = "1v0k3gkwwifps4msd2888slaf4wdw5ppfpp0a0rzgmp14fbxz2sw";
        libraryHaskellDepends = [
          base bytestring containers errors free megaparsec mtl pretty-simple
          text vector
@@ -65160,6 +65207,8 @@ self: {
        pname = "clash-shake";
        version = "0.3.2";
        sha256 = "0bgnl1q1xm1yhwspqlfr02p37iy8vka727r4awr2lihg12x83bjx";
+       revision = "1";
+       editedCabalFile = "1gqzayyqdrhfd11as965bmi06ahnx72sr5ghxczrlfxsihdrbcgl";
        libraryHaskellDepends = [
          aeson base bytestring clash-ghc clash-lib clash-prelude directory
          shake split stache text unordered-containers
@@ -65230,8 +65279,8 @@ self: {
      }:
      mkDerivation {
        pname = "clashilator";
-       version = "0.1.2.1";
-       sha256 = "1sldbsx1w3qpa9djilrfc9ag9bja64pk2qw4bi8gn9d3zqybyn92";
+       version = "0.1.3";
+       sha256 = "00w9jm0pq2sxd1pv3fgxflbv7gwawiqicmf8q5jx7l3lwccha718";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -65496,7 +65545,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "CSS preprocessor as embedded Haskell";
        license = lib.licenses.bsd3;
-       maintainers = [ lib.maintainers.maralorn ];
      }) {};
 
   "clay_0_15_0" = callPackage
@@ -65511,7 +65559,6 @@ self: {
        description = "CSS preprocessor as embedded Haskell";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       maintainers = [ lib.maintainers.maralorn ];
      }) {};
 
   "clckwrks" = callPackage
@@ -68460,8 +68507,8 @@ self: {
     ({ mkDerivation, base, containers, deepseq, QuickCheck }:
      mkDerivation {
        pname = "collect-errors";
-       version = "0.1.5.0";
-       sha256 = "1hljcnmwpk47rivlds9901129hgkm7j8h3yhz2j1j2pga5w43ck9";
+       version = "0.1.6.0";
+       sha256 = "0afyd8qyih6aqkavgk2dc4a6dsnc1yk5xqq1vi54lgmjdhrh6xbg";
        libraryHaskellDepends = [ base containers deepseq QuickCheck ];
        description = "Error monad with a Float instance";
        license = lib.licenses.bsd3;
@@ -69538,6 +69585,18 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "commutative-semigroups_0_2" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "commutative-semigroups";
+       version = "0.2";
+       sha256 = "0jkqfslrvyh17p9llf1ga249fcnhfjlp1rb3nvj0078a19c0xcd8";
+       libraryHaskellDepends = [ base containers ];
+       description = "Commutative semigroups";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "comonad" = callPackage
     ({ mkDerivation, base, containers, distributive
      , indexed-traversable, tagged, transformers, transformers-compat
@@ -88752,14 +88811,12 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "directory_1_3_8_3" = callPackage
+  "directory_1_3_8_4" = callPackage
     ({ mkDerivation, base, filepath, time, unix }:
      mkDerivation {
        pname = "directory";
-       version = "1.3.8.3";
-       sha256 = "1hzn11nairaj1n20znhgnsg43cxl2l1cqb55gixq0bkkkj2ygl6b";
-       revision = "1";
-       editedCabalFile = "0jx9x76xg38ibfnhrrghnx2vqnrk3myl33ncrhml8jyn32dsqbx0";
+       version = "1.3.8.4";
+       sha256 = "0r10g7a68r5asjgs5r0zpjzq0qiqf5i8h5bmaylpm6ikwnj9irx4";
        libraryHaskellDepends = [ base filepath time unix ];
        testHaskellDepends = [ base filepath time unix ];
        description = "Platform-agnostic library for filesystem operations";
@@ -91469,6 +91526,33 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "doctest-parallel_0_3_1_1" = callPackage
+    ({ mkDerivation, base, base-compat, Cabal, code-page, containers
+     , deepseq, directory, exceptions, filepath, ghc, ghc-paths, Glob
+     , hspec, hspec-core, HUnit, mockery, process, QuickCheck, random
+     , setenv, silently, stringbuilder, syb, template-haskell
+     , transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "doctest-parallel";
+       version = "0.3.1.1";
+       sha256 = "1xpk020024vsqh27sp225hx50i1hn5fkhxiyww6wqnhrkxypjkwa";
+       libraryHaskellDepends = [
+         base base-compat Cabal code-page containers deepseq directory
+         exceptions filepath ghc ghc-paths Glob process random syb
+         template-haskell transformers unordered-containers
+       ];
+       testHaskellDepends = [
+         base base-compat code-page containers deepseq directory exceptions
+         filepath ghc ghc-paths hspec hspec-core HUnit mockery process
+         QuickCheck setenv silently stringbuilder syb transformers
+       ];
+       doHaddock = false;
+       description = "Test interactive Haskell examples";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "doctest-prop" = callPackage
     ({ mkDerivation, base, doctest, HUnit, QuickCheck }:
      mkDerivation {
@@ -92277,8 +92361,8 @@ self: {
     ({ mkDerivation, base, Cabal-syntax, text }:
      mkDerivation {
        pname = "double-x-encoding";
-       version = "1.1.1";
-       sha256 = "1y9grxp9xbjx4ldx6idmzy275wkr2jgajf6dki96janiwcjwmnym";
+       version = "1.2.1";
+       sha256 = "0sg8sh9a1krzfhdwxcd3ja56kzr6hif11s4iqicrdqz3qgi905ia";
        libraryHaskellDepends = [ base Cabal-syntax text ];
        testHaskellDepends = [ base Cabal-syntax text ];
        description = "Encoding scheme to encode any Unicode string with only [0-9a-zA-Z_]";
@@ -98655,18 +98739,18 @@ self: {
 
   "eo-phi-normalizer" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, alex, array, base, blaze-html
-     , blaze-markup, BNFC, Cabal, directory, file-embed, filepath
-     , generic-lens, happy, hspec, hspec-discover, lens, mtl
-     , optparse-applicative, process, QuickCheck, scientific
+     , blaze-markup, BNFC, Cabal, directory, doctest-parallel
+     , file-embed, filepath, generic-lens, happy, hspec, hspec-discover
+     , lens, mtl, optparse-applicative, process, QuickCheck, scientific
      , string-interpolate, template-haskell, text, yaml
      }:
      mkDerivation {
        pname = "eo-phi-normalizer";
-       version = "0.3.0";
-       sha256 = "00shchphrpr8gasd5vypwk512mdpk1ff4a10jlk63mc3lz7c553c";
+       version = "0.3.1";
+       sha256 = "0ap9p8ls5k692ldhkpiasnkdq0a33py8kc3i150yjcbqv5falhc3";
        isLibrary = true;
        isExecutable = true;
-       setupHaskellDepends = [ base Cabal process ];
+       setupHaskellDepends = [ base Cabal process string-interpolate ];
        libraryHaskellDepends = [
          aeson array base blaze-html blaze-markup directory file-embed
          filepath generic-lens lens mtl scientific string-interpolate
@@ -98680,9 +98764,9 @@ self: {
        ];
        executableToolDepends = [ alex BNFC happy ];
        testHaskellDepends = [
-         aeson array base blaze-html blaze-markup directory file-embed
-         filepath generic-lens hspec hspec-discover lens mtl QuickCheck
-         scientific string-interpolate template-haskell text yaml
+         aeson array base blaze-html blaze-markup directory doctest-parallel
+         file-embed filepath generic-lens hspec hspec-discover lens mtl
+         QuickCheck scientific string-interpolate template-haskell text yaml
        ];
        testToolDepends = [ alex BNFC happy hspec-discover ];
        description = "Command line normalizer of 𝜑-calculus expressions";
@@ -103547,8 +103631,8 @@ self: {
      }:
      mkDerivation {
        pname = "faktory";
-       version = "1.1.2.6";
-       sha256 = "1ddzq4pxx6blvqa2s6y7jmx6s49g9ckywiidi2hvq7r0dympsz03";
+       version = "1.1.2.7";
+       sha256 = "057rrfrfxa5xsv9pqy3jsx5gzrg0lwcx50w0hlwvkgpzlxnfch30";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -103642,6 +103726,7 @@ self: {
        ];
        description = "Property-based testing with internal integrated shrinking";
        license = lib.licenses.bsd3;
+       maintainers = [ lib.maintainers.maralorn ];
      }) {};
 
   "familiar-reflection" = callPackage
@@ -105170,20 +105255,20 @@ self: {
   "feedback" = callPackage
     ({ mkDerivation, autodocodec, autodocodec-yaml, base, bytestring
      , conduit, containers, envparse, fsnotify, optparse-applicative
-     , path, path-io, pretty-show, safe-coloured-text
+     , path, path-io, pretty-show, process, safe-coloured-text
      , safe-coloured-text-layout, safe-coloured-text-terminfo, text
      , time, typed-process, unix, unliftio, yaml
      }:
      mkDerivation {
        pname = "feedback";
-       version = "0.1.0.4";
-       sha256 = "0x7c8jr2mrvkfjxw919fkwngkxzbwly1xi1c1z4i0finkzfz8x6w";
+       version = "0.1.0.5";
+       sha256 = "0g15yinnxh8x0dknhfjpy88z5bzary8midj5qskrbkyqbvkni20l";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          autodocodec autodocodec-yaml base bytestring conduit containers
          envparse fsnotify optparse-applicative path path-io pretty-show
-         safe-coloured-text safe-coloured-text-layout
+         process safe-coloured-text safe-coloured-text-layout
          safe-coloured-text-terminfo text time typed-process unix unliftio
          yaml
        ];
@@ -112269,6 +112354,8 @@ self: {
        pname = "ftp-client";
        version = "0.5.1.5";
        sha256 = "08sxbk4s3prh22b1c19cv571fgdc5k9347i17jqmvfwjl3lkv5w7";
+       revision = "1";
+       editedCabalFile = "09ri1dqkmy1hipssy3shy15lb0gyswc2r6ji71mbvy3lv71n4wjh";
        libraryHaskellDepends = [
          attoparsec base bytestring containers crypton-connection exceptions
          network transformers
@@ -115287,8 +115374,8 @@ self: {
     ({ mkDerivation, base, contravariant, text }:
      mkDerivation {
        pname = "generic-data-functions";
-       version = "0.5.0";
-       sha256 = "0qjbwn0b59i5lrq26v36ai7z8xckid3gjz33w6l0kq1cvpfvzrnx";
+       version = "0.5.1";
+       sha256 = "1yw9v9s9nsz492d6v4sfi0s9nm3mq2kvxn4q9y01s7fwabdijpk1";
        libraryHaskellDepends = [ base contravariant text ];
        description = "Familiar functions lifted to generic data types";
        license = lib.licenses.mit;
@@ -115759,6 +115846,29 @@ self: {
        broken = true;
      }) {};
 
+  "generic-type-asserts" = callPackage
+    ({ mkDerivation, base, type-spec }:
+     mkDerivation {
+       pname = "generic-type-asserts";
+       version = "0.3.0";
+       sha256 = "1xsr6syv85rwzrfyqgjhv751fc2njbmq0a36wnil19p08nrzbrmr";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base type-spec ];
+       description = "Structural assertions on generic type representations";
+       license = lib.licenses.mit;
+     }) {};
+
+  "generic-type-functions" = callPackage
+    ({ mkDerivation, base, defun-core }:
+     mkDerivation {
+       pname = "generic-type-functions";
+       version = "0.1.0";
+       sha256 = "0li28kwaidcpn0n8j40jp6i9yyb473w68c31vqlf8xrzgc7lmjls";
+       libraryHaskellDepends = [ base defun-core ];
+       description = "Familiar functions lifted to type-level functions on generic types";
+       license = lib.licenses.mit;
+     }) {};
+
   "generic-xml" = callPackage
     ({ mkDerivation, base, HaXml, mtl, syb-with-class, template-haskell
      }:
@@ -117618,21 +117728,23 @@ self: {
      }) {};
 
   "ghc-debug-brick" = callPackage
-    ({ mkDerivation, base, brick, containers, contra-tracer, deepseq
-     , directory, exceptions, filepath, ghc-debug-client
-     , ghc-debug-common, ghc-debug-convention, microlens
-     , microlens-platform, text, time, unordered-containers, vty
+    ({ mkDerivation, base, brick, bytestring, byteunits, containers
+     , contra-tracer, deepseq, directory, exceptions, filepath
+     , ghc-debug-client, ghc-debug-common, ghc-debug-convention
+     , microlens, microlens-platform, text, time, unordered-containers
+     , vty, vty-crossplatform
      }:
      mkDerivation {
        pname = "ghc-debug-brick";
-       version = "0.5.0.0";
-       sha256 = "1k5gl9paz5z8w9h49ilpjxk0k73qyk2rwncnfhx11b64y2n74w2m";
+       version = "0.6.0.0";
+       sha256 = "0mmy484sj89g5y69j7lgcczipmmhlra7kmv230kg3380mh3r1ndv";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         base brick containers contra-tracer deepseq directory exceptions
-         filepath ghc-debug-client ghc-debug-common ghc-debug-convention
-         microlens microlens-platform text time unordered-containers vty
+         base brick bytestring byteunits containers contra-tracer deepseq
+         directory exceptions filepath ghc-debug-client ghc-debug-common
+         ghc-debug-convention microlens microlens-platform text time
+         unordered-containers vty vty-crossplatform
        ];
        description = "A simple TUI using ghc-debug";
        license = lib.licenses.bsd3;
@@ -117645,17 +117757,17 @@ self: {
      , containers, contra-tracer, directory, dom-lt, filepath
      , ghc-debug-common, ghc-debug-convention, ghc-prim, hashable
      , language-dot, monoidal-containers, mtl, network, process
-     , psqueues, stm, text, unordered-containers
+     , psqueues, stm, text, unordered-containers, vector
      }:
      mkDerivation {
        pname = "ghc-debug-client";
-       version = "0.5.0.0";
-       sha256 = "0djv1y0fxg0vzr0baxml023i3a9di2zy0xhyxqg8wb0j9k5pszh0";
+       version = "0.6.0.0";
+       sha256 = "0002w48g4fw053vwzdi5l1qaglr6035jnmxajd8i9c1ppz09q8kn";
        libraryHaskellDepends = [
          async base binary bitwise bytestring containers contra-tracer
          directory dom-lt filepath ghc-debug-common ghc-debug-convention
          ghc-prim hashable language-dot monoidal-containers mtl network
-         process psqueues stm text unordered-containers
+         process psqueues stm text unordered-containers vector
        ];
        description = "Useful functions for writing heap analysis tools which use ghc-debug";
        license = lib.licenses.bsd3;
@@ -117664,15 +117776,15 @@ self: {
   "ghc-debug-common" = callPackage
     ({ mkDerivation, array, base, binary, bytestring, containers, cpu
      , deepseq, directory, dom-lt, filepath, ghc-debug-convention
-     , ghc-heap, hashable, transformers, unordered-containers
+     , hashable, transformers, unordered-containers
      }:
      mkDerivation {
        pname = "ghc-debug-common";
-       version = "0.5.0.0";
-       sha256 = "0x2phkcnbfybkfy94g6jyc1s4wcls1r8ws4b5wnjl58pf8q09ni2";
+       version = "0.6.0.0";
+       sha256 = "1i2212qd7qvighvrb8x7hb6fisg3fb6vr49xgdcv66wrclj9n0hd";
        libraryHaskellDepends = [
          array base binary bytestring containers cpu deepseq directory
-         dom-lt filepath ghc-debug-convention ghc-heap hashable transformers
+         dom-lt filepath ghc-debug-convention hashable transformers
          unordered-containers
        ];
        description = "Connect to a socket created by ghc-debug-stub and analyse the heap of the debuggee program";
@@ -117683,8 +117795,8 @@ self: {
     ({ mkDerivation, base, directory, filepath }:
      mkDerivation {
        pname = "ghc-debug-convention";
-       version = "0.5.0.0";
-       sha256 = "1hg2b3g7nqba5y4s1imaikx9y8vm4i6cb47nbnp07zwqg9zjlq3k";
+       version = "0.6.0.0";
+       sha256 = "0iwjfqxl0q6kja2zzrv3ypcc39vyc9cfaab83854jd1qi9vffkm9";
        libraryHaskellDepends = [ base directory filepath ];
        description = "Definitions needed by ghc-debug-stub and ghc-debug-common";
        license = lib.licenses.bsd3;
@@ -117696,8 +117808,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-debug-stub";
-       version = "0.5.0.0";
-       sha256 = "1ykwfp841wbnqgsvvspixr95ars1np2khjlzycmb3q7cxv2xn2lw";
+       version = "0.6.0.0";
+       sha256 = "0cajxbz0lfin2vm9cs4ap7h2s4wxynrp606aqbnlj4m5x1yp6fp0";
        libraryHaskellDepends = [
          base directory filepath ghc-debug-convention ghc-prim
        ];
@@ -119628,7 +119740,6 @@ self: {
        description = "GHCJS DOM Hello World, an example package";
        license = lib.licenses.mit;
        badPlatforms = lib.platforms.darwin;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ghcjs-dom-javascript" = callPackage
@@ -121805,34 +121916,32 @@ self: {
 
   "git-annex" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, async, attoparsec, aws, base
-     , blaze-builder, bloomfilter, bup, byteable, bytestring, Cabal
+     , blaze-builder, bloomfilter, byteable, bytestring, Cabal
      , case-insensitive, clientsession, concurrent-output, conduit
-     , containers, crypto-api, crypton, curl, data-default, DAV, dbus
-     , deepseq, directory, disk-free-space, dlist, edit-distance
-     , exceptions, fdo-notify, feed, filepath, filepath-bytestring, free
-     , git, git-lfs, gnupg, hinotify, http-client
-     , http-client-restricted, http-client-tls, http-conduit, http-types
-     , IfElse, lsof, magic, memory, microlens, monad-control
-     , monad-logger, mountpoints, mtl, network, network-bsd
-     , network-info, network-multicast, network-uri, old-locale, openssh
-     , optparse-applicative, path-pieces, perl, persistent
+     , containers, crypto-api, crypton, data-default, DAV, dbus, deepseq
+     , directory, disk-free-space, dlist, edit-distance, exceptions
+     , fdo-notify, feed, filepath, filepath-bytestring, free, git-lfs
+     , hinotify, http-client, http-client-restricted, http-client-tls
+     , http-conduit, http-types, IfElse, magic, memory, microlens
+     , monad-control, monad-logger, mountpoints, mtl, network
+     , network-bsd, network-info, network-multicast, network-uri
+     , old-locale, optparse-applicative, path-pieces, persistent
      , persistent-sqlite, persistent-template, process, QuickCheck
-     , random, regex-tdfa, resourcet, rsync, SafeSemaphore, sandi
-     , securemem, shakespeare, socks, split, stm, stm-chans, tagsoup
-     , tasty, tasty-hunit, tasty-quickcheck, tasty-rerun
-     , template-haskell, text, time, torrent, transformers, unix
-     , unix-compat, unliftio-core, unordered-containers, utf8-string
-     , uuid, vector, wai, wai-extra, warp, warp-tls, wget, which, yesod
-     , yesod-core, yesod-form, yesod-static
+     , random, regex-tdfa, resourcet, SafeSemaphore, sandi, securemem
+     , shakespeare, socks, split, stm, stm-chans, tagsoup, tasty
+     , tasty-hunit, tasty-quickcheck, tasty-rerun, template-haskell
+     , text, time, torrent, transformers, unix, unix-compat
+     , unliftio-core, unordered-containers, utf8-string, uuid, vector
+     , wai, wai-extra, warp, warp-tls, yesod, yesod-core, yesod-form
+     , yesod-static
      }:
      mkDerivation {
        pname = "git-annex";
        version = "10.20240227";
        sha256 = "07py6xfss8jpw5yhvj203g4yd7qqx600j20hz0kqk80dpn7i3nqq";
        configureFlags = [
-         "-fassistant" "-f-benchmark" "-fdbus" "-f-debuglocks" "-fmagicmime"
-         "-fnetworkbsd" "-fpairing" "-fproduction" "-fs3" "-ftorrentparser"
-         "-fwebapp" "-fwebdav"
+         "-fassistant" "-f-benchmark" "-fcrypton" "-fdbus" "-f-debuglocks"
+         "-fmagicmime" "-fpairing" "-fproduction" "-ftorrentparser"
        ];
        isLibrary = false;
        isExecutable = true;
@@ -121859,25 +121968,11 @@ self: {
          utf8-string uuid vector wai wai-extra warp warp-tls yesod
          yesod-core yesod-form yesod-static
        ];
-       executableSystemDepends = [
-         bup curl git gnupg lsof openssh perl rsync wget which
-       ];
-       preConfigure = "export HOME=$TEMPDIR; patchShebangs .";
-       postBuild = ''
-         ln -sf dist/build/git-annex/git-annex git-annex
-         ln -sf git-annex git-annex-shell
-       '';
-       installPhase = "make PREFIX=$out BUILDER=: install install-completions";
-       checkPhase = ''PATH+=":$PWD" git-annex test'';
-       enableSharedExecutables = false;
        description = "manage files with git, without checking their contents into git";
        license = lib.licenses.agpl3Only;
        mainProgram = "git-annex";
        maintainers = [ lib.maintainers.peti lib.maintainers.roosemberth ];
-     }) {inherit (pkgs) bup; inherit (pkgs) curl; inherit (pkgs) git; 
-         inherit (pkgs) gnupg; inherit (pkgs) lsof; inherit (pkgs) openssh; 
-         inherit (pkgs) perl; inherit (pkgs) rsync; inherit (pkgs) wget; 
-         inherit (pkgs) which;};
+     }) {};
 
   "git-brunch" = callPackage
     ({ mkDerivation, base, brick, extra, hspec, microlens
@@ -130875,8 +130970,8 @@ self: {
      }:
      mkDerivation {
        pname = "h-raylib";
-       version = "5.1.1.0";
-       sha256 = "1jbdrgdvzap5i67509qdmy669cijf94wa5a96cnc2626yvjirycc";
+       version = "5.1.3.0";
+       sha256 = "11m93r38i9ncb036rpm56qd03hcyfvgx6a1h0lynlbg8mfd4hg19";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -130962,6 +131057,26 @@ self: {
        broken = true;
      }) {};
 
+  "h3spec" = callPackage
+    ({ mkDerivation, base, bytestring, hspec, hspec-core, http-types
+     , http3, network, quic, tls, unliftio
+     }:
+     mkDerivation {
+       pname = "h3spec";
+       version = "0.1.10";
+       sha256 = "0cqqhskk4rip3j903ynml1dcbm2v8si15c2kfwy2l42rj2fj0s1g";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base bytestring hspec hspec-core http-types http3 network quic tls
+         unliftio
+       ];
+       description = "QUIC";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       mainProgram = "h3spec";
+     }) {};
+
   "hArduino" = callPackage
     ({ mkDerivation, base, bytestring, containers, mtl, serialport
      , time
@@ -132150,20 +132265,18 @@ self: {
   "hackage-repo-tool" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, Cabal-syntax, directory
      , filepath, hackage-security, microlens, network, network-uri
-     , old-time, optparse-applicative, tar, time, unix, zlib
+     , optparse-applicative, tar, time, unix, zlib
      }:
      mkDerivation {
        pname = "hackage-repo-tool";
-       version = "0.1.1.3";
-       sha256 = "13q81gi3xmkzwfrbyk5dwxws3c92vnrlslksi021iasmjwhw2h6l";
-       revision = "6";
-       editedCabalFile = "0a3ylq1r8zsvh34cjg2vqdx7r8ykla4myzjhv5vnc1bpq34bw5y8";
+       version = "0.1.1.4";
+       sha256 = "1nqm6rri8rkhrqvppyzy04s3875c4wjcay8gny4ygbr65c6iw81v";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
          base bytestring Cabal Cabal-syntax directory filepath
-         hackage-security microlens network network-uri old-time
-         optparse-applicative tar time unix zlib
+         hackage-security microlens network network-uri optparse-applicative
+         tar time unix zlib
        ];
        description = "Manage secure file-based package repositories";
        license = lib.licenses.bsd3;
@@ -132213,6 +132326,8 @@ self: {
        pname = "hackage-security";
        version = "0.6.2.6";
        sha256 = "0sfvd5y9v01bjsxsrf446ldcqf56arzr94jk2zsvj49yddbn2hif";
+       revision = "1";
+       editedCabalFile = "05jbc1wv5njv4jdqfiq12y1cni7fa1qis1g5z03dg6jg64j0bxwg";
        libraryHaskellDepends = [
          base base16-bytestring base64-bytestring bytestring Cabal
          Cabal-syntax containers cryptohash-sha256 directory ed25519
@@ -132235,10 +132350,8 @@ self: {
      }:
      mkDerivation {
        pname = "hackage-security-HTTP";
-       version = "0.1.1.1";
-       sha256 = "14hp7gssf80b9937j7m56w8sxrv3hrzjf2s9kgfk76v6llgx79k2";
-       revision = "8";
-       editedCabalFile = "14y8lj2gbm19swc3z3wi0slc2ax61gnzgpyzmrxay4zjqsv6qfvc";
+       version = "0.1.1.2";
+       sha256 = "0nsnn0lnnpvvfwgl480vhbmf4pfc11h128y252lslnlhzj1c66l3";
        libraryHaskellDepends = [
          base bytestring hackage-security HTTP mtl network network-uri zlib
        ];
@@ -133603,8 +133716,8 @@ self: {
      }:
      mkDerivation {
        pname = "hakyll-images";
-       version = "1.2.1";
-       sha256 = "08vbkjf3nnl7dwz5r4vzgbylpql0b3xgnw7ivhxmc2k2sqzgs2rp";
+       version = "1.2.2";
+       sha256 = "10pn4hk9gzlz92jxln6zj2i5vg42n369njzlrhbxf50dlgy4x05q";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base binary bytestring hakyll JuicyPixels JuicyPixels-extra
@@ -141325,8 +141438,8 @@ self: {
      }:
      mkDerivation {
        pname = "hasql-notifications";
-       version = "0.2.1.0";
-       sha256 = "0f415g6y13sndyn66ssj0hfrqm6l5p1r48v2lix0cvi1gkrv9wm2";
+       version = "0.2.1.1";
+       sha256 = "0pw9m72b2rxg9yiirz48260ypgqzn8icarq0rj3sdzs7b255s6m5";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -144060,7 +144173,6 @@ self: {
        ];
        description = "Release with confidence";
        license = lib.licenses.bsd3;
-       maintainers = [ lib.maintainers.maralorn ];
      }) {};
 
   "hedgehog-checkers" = callPackage
@@ -151190,7 +151302,6 @@ self: {
        librarySystemDepends = [ openblasCompat ];
        description = "Numeric Linear Algebra";
        license = lib.licenses.bsd3;
-       maintainers = [ lib.maintainers.maralorn ];
      }) {inherit (pkgs) openblasCompat;};
 
   "hmatrix-backprop" = callPackage
@@ -158614,6 +158725,24 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "hslogger_1_3_1_1" = callPackage
+    ({ mkDerivation, base, bytestring, containers, deepseq, HUnit
+     , network, network-bsd, old-locale, time, unix
+     }:
+     mkDerivation {
+       pname = "hslogger";
+       version = "1.3.1.1";
+       sha256 = "0k8imyj2531j6k3c2bn0bavr175km2vwjlwg89vjvl00gdb107c4";
+       libraryHaskellDepends = [
+         base bytestring containers deepseq network network-bsd old-locale
+         time unix
+       ];
+       testHaskellDepends = [ base HUnit ];
+       description = "Versatile logging framework";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "hslogger-reader" = callPackage
     ({ mkDerivation, attoparsec, base, hslogger, optparse-applicative
      , text, text-icu, time
@@ -159778,17 +159907,19 @@ self: {
      }) {};
 
   "hspec-golden" = callPackage
-    ({ mkDerivation, base, directory, filepath, hspec, hspec-core
-     , hspec-discover, optparse-applicative, silently
+    ({ mkDerivation, ansi-terminal, base, directory, filepath, hspec
+     , hspec-core, hspec-discover, optparse-applicative, silently
      }:
      mkDerivation {
        pname = "hspec-golden";
-       version = "0.2.1.0";
-       sha256 = "07bfwj10n75l5zskwx4yzi86xxp5b4f692bjjkqs5b970h6gw33y";
+       version = "0.2.2.0";
+       sha256 = "1wpn9ll8x3gr0y86f5s9266x94jlc6hh778vc0npdynabipirwbs";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base directory filepath hspec-core ];
-       executableHaskellDepends = [ base directory optparse-applicative ];
+       executableHaskellDepends = [
+         ansi-terminal base directory optparse-applicative
+       ];
        testHaskellDepends = [ base directory hspec hspec-core silently ];
        testToolDepends = [ hspec-discover ];
        description = "Golden tests for hspec";
@@ -160432,8 +160563,8 @@ self: {
      }:
      mkDerivation {
        pname = "hspray";
-       version = "0.2.5.0";
-       sha256 = "00md7i8g7sqxac7lplgdxy6csabaz35bm2lnb6c290fn261mvlx1";
+       version = "0.2.6.0";
+       sha256 = "1g9qm69bwf8cz5ly9jy1yflqya8nabkgbm64irdvl99vs4ry59vc";
        libraryHaskellDepends = [
          base containers hashable matrix numeric-prelude text
          unordered-containers
@@ -160891,20 +161022,20 @@ self: {
 
   "hstar" = callPackage
     ({ mkDerivation, base, brotli, bytestring, bz2, composition-prelude
-     , cpphs, dir-traverse, libarchive, lz4-hs, lzlib, lzma, lzo
+     , cpphs, dir-traverse, libarchive, lz4-hs, lzlib, lzma-static, lzo
      , optparse-applicative, process, zlib, zstd
      }:
      mkDerivation {
        pname = "hstar";
-       version = "0.1.0.5";
-       sha256 = "1cp7g4c38psfb9nlq8481dqazl7shy8zswli7058mgyf2xbalw0y";
+       version = "0.1.0.6";
+       sha256 = "0fcb37yi81059r2nqmq1809q5mdx8q2fyvs7b9fsj3j2fqmgnai6";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
        executableHaskellDepends = [
          base brotli bytestring bz2 composition-prelude dir-traverse
-         libarchive lz4-hs lzlib lzma lzo optparse-applicative process zlib
-         zstd
+         libarchive lz4-hs lzlib lzma-static lzo optparse-applicative
+         process zlib zstd
        ];
        executableToolDepends = [ cpphs ];
        description = "Haskell version of tar CLI utility";
@@ -163414,6 +163545,8 @@ self: {
        pname = "http2-client";
        version = "0.10.0.1";
        sha256 = "1051qcnnigxyq20067r26gm3wp61p4ipga2pzjymd2wvnndx56hg";
+       revision = "1";
+       editedCabalFile = "1kh14m7r59lssxjrjdasrxbw6fh5ngbq0amn41863vsfff3rh1sq";
        libraryHaskellDepends = [
          async base bytestring containers deepseq http2 lifted-async
          lifted-base mtl network stm time tls transformers-base
@@ -163550,8 +163683,8 @@ self: {
      }:
      mkDerivation {
        pname = "http3";
-       version = "0.0.9";
-       sha256 = "0y6fvkjn5lxh4r8qnnjqkq9r38ziw10smcgrws408wfpm948j3kd";
+       version = "0.0.10";
+       sha256 = "0azhvf92wxxx9rlj2l8xc77ch7n52jpd7yjilzjfd55v06v9k2hz";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -166381,8 +166514,8 @@ self: {
        pname = "hybrid-vectors";
        version = "0.2.4";
        sha256 = "02sxx9263b9z4q9xh8d2mhg3g6mihydhzn7rjvpi3gp4bld2hg9m";
-       revision = "1";
-       editedCabalFile = "023f8i8110nm051wi372b9m21lpkxmdp0zp37fmimama9yv8rmxl";
+       revision = "2";
+       editedCabalFile = "1dijgrfidzjq2sddfb2a7dsyr956rx2g479vsyisdf067mszxq4j";
        libraryHaskellDepends = [
          base deepseq primitive semigroups vector
        ];
@@ -172601,8 +172734,8 @@ self: {
        pname = "io-streams";
        version = "1.5.2.2";
        sha256 = "1zn4iyd18g9jc1qdgixp6hi56nj7czy4jdz2xca59hcn2q2xarfk";
-       revision = "3";
-       editedCabalFile = "1827mfvqdqarkl29jz84slzn2qf6pm7r7fzcn2b4ds1nv77lab2c";
+       revision = "4";
+       editedCabalFile = "12xc9y7ynxrw9gbqgr6kxslcdssbgkb361qiw3bgvimngjspjqzj";
        configureFlags = [ "-fnointeractivetests" ];
        libraryHaskellDepends = [
          attoparsec base bytestring network primitive process text time
@@ -174812,8 +174945,8 @@ self: {
      }:
      mkDerivation {
        pname = "jackpolynomials";
-       version = "1.2.0.0";
-       sha256 = "159hipi5xqshxlys5rsv1v116njnbbhgfkxhn9s4m4rjd2ng149g";
+       version = "1.2.1.0";
+       sha256 = "1iwzsld7xxrlzsx5vs84lgbgdjrds316fryf1y40l6pb57cli582";
        libraryHaskellDepends = [
          array base combinat containers hspray ilist lens numeric-prelude
        ];
@@ -176308,27 +176441,6 @@ self: {
      }:
      mkDerivation {
        pname = "jsaddle";
-       version = "0.9.8.3";
-       sha256 = "03d89cyhkwcvk3xjac3hgp7nfg8bq6lkig7y98yyha0chda1206w";
-       libraryHaskellDepends = [
-         aeson attoparsec base base-compat base64-bytestring bytestring
-         containers deepseq exceptions filepath ghc-prim http-types lens
-         primitive process random ref-tf scientific stm text time
-         transformers unliftio-core unordered-containers vector
-       ];
-       description = "Interface for JavaScript that works with GHCJS and GHC";
-       license = lib.licenses.mit;
-     }) {};
-
-  "jsaddle_0_9_9_0" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, base-compat
-     , base64-bytestring, bytestring, containers, deepseq, exceptions
-     , filepath, ghc-prim, http-types, lens, primitive, process, random
-     , ref-tf, scientific, stm, text, time, transformers, unliftio-core
-     , unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "jsaddle";
        version = "0.9.9.0";
        sha256 = "0vpd76wicdvybbvrj1v28mxkyagrisijfl0821wkv35k0lls4m9a";
        libraryHaskellDepends = [
@@ -176339,7 +176451,6 @@ self: {
        ];
        description = "Interface for JavaScript that works with GHCJS and GHC";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "jsaddle-clib" = callPackage
@@ -176360,22 +176471,6 @@ self: {
      }) {};
 
   "jsaddle-dom" = callPackage
-    ({ mkDerivation, base, base-compat, Cabal, exceptions, jsaddle
-     , lens, text, transformers
-     }:
-     mkDerivation {
-       pname = "jsaddle-dom";
-       version = "0.9.5.0";
-       sha256 = "1abl7rwh8yc7852vphv5g5k3jv6454cdrqd2dzmhxxhxqkgxv88p";
-       setupHaskellDepends = [ base Cabal ];
-       libraryHaskellDepends = [
-         base base-compat exceptions jsaddle lens text transformers
-       ];
-       description = "DOM library that uses jsaddle to support both GHCJS and GHC";
-       license = lib.licenses.mit;
-     }) {};
-
-  "jsaddle-dom_0_9_9_0" = callPackage
     ({ mkDerivation, base, base-compat, exceptions, jsaddle, lens, text
      , transformers
      }:
@@ -176388,7 +176483,6 @@ self: {
        ];
        description = "DOM library that uses jsaddle to support both GHCJS and GHC";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "jsaddle-hello" = callPackage
@@ -176409,7 +176503,6 @@ self: {
        description = "JSaddle Hello World, an example package";
        license = lib.licenses.mit;
        badPlatforms = lib.platforms.darwin;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "jsaddle-warp" = callPackage
@@ -176432,8 +176525,7 @@ self: {
        ];
        description = "Interface for JavaScript that works with GHCJS and GHC";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
+       maintainers = [ lib.maintainers.maralorn ];
      }) {};
 
   "jsaddle-webkit2gtk" = callPackage
@@ -176444,26 +176536,6 @@ self: {
      }:
      mkDerivation {
        pname = "jsaddle-webkit2gtk";
-       version = "0.9.8.4";
-       sha256 = "1aky8lczbvhm11s6hhn5vnmssq8sdhd3nx93dihhsvlma1gg8gs3";
-       libraryHaskellDepends = [
-         aeson base bytestring directory gi-gio gi-glib gi-gtk
-         gi-javascriptcore gi-webkit2 haskell-gi-base haskell-gi-overloading
-         jsaddle text unix webkit2gtk3-javascriptcore
-       ];
-       description = "Interface for JavaScript that works with GHCJS and GHC";
-       license = lib.licenses.mit;
-       badPlatforms = lib.platforms.darwin;
-     }) {};
-
-  "jsaddle-webkit2gtk_0_9_9_0" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, directory, gi-gio
-     , gi-glib, gi-gtk, gi-javascriptcore, gi-webkit2, haskell-gi-base
-     , haskell-gi-overloading, jsaddle, text, unix
-     , webkit2gtk3-javascriptcore
-     }:
-     mkDerivation {
-       pname = "jsaddle-webkit2gtk";
        version = "0.9.9.0";
        sha256 = "0b3kl5hm4ssbiga8cjcb30fli15z8sx4x8p5qvpxzlwmzx9zsk9p";
        libraryHaskellDepends = [
@@ -176474,7 +176546,6 @@ self: {
        description = "Interface for JavaScript that works with GHCJS and GHC";
        license = lib.licenses.mit;
        badPlatforms = lib.platforms.darwin;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "jsaddle-webkitgtk" = callPackage
@@ -181026,10 +181097,8 @@ self: {
      }:
      mkDerivation {
        pname = "knead";
-       version = "1.0.1";
-       sha256 = "0bga3kg1dridagd1ysvb4qk2gsjmacqm1z6qr1fhfcd59259acfz";
-       revision = "1";
-       editedCabalFile = "1h7w7y5s5mx7pxgmff45pfhh7cnxg9w2bv8787s80cfnnypwv3as";
+       version = "1.0.1.1";
+       sha256 = "1sd391wpnyzcyp2d7w4xfmmafsxkhcn7wfhpwdglvxzpv0sbixrd";
        libraryHaskellDepends = [
          base bool8 comfort-array fixed-length llvm-dsl llvm-extra llvm-tf
          prelude-compat storable-enum storable-record tagged tfp
@@ -182302,6 +182371,8 @@ self: {
        pname = "lambdabot-core";
        version = "5.3.1.2";
        sha256 = "14my72cw39hfc0i7fzhgxv5xjrdfr4pz2ccrixaclngypfd08g28";
+       revision = "1";
+       editedCabalFile = "1g26gs4dj86vhr4ic8g38pxszlik47zd1c0hm62zj9lkl8qcfyxc";
        libraryHaskellDepends = [
          base binary bytestring containers dependent-map dependent-sum
          dependent-sum-template directory edit-distance exceptions filepath
@@ -182327,6 +182398,8 @@ self: {
        pname = "lambdabot-haskell-plugins";
        version = "5.3.1.2";
        sha256 = "0pbhwhcxn4fqvn7ynhc19285r75fiksfd9yfjz6d8iq7wmp1frp8";
+       revision = "1";
+       editedCabalFile = "080a4iv2md1p9qa34ikqc6bliwlgmjsrlf7ys44lh3zj1ldshxfh";
        libraryHaskellDepends = [
          array arrows base bytestring containers data-memocombinators
          directory filepath haskell-src-exts-simple hoogle HTTP IOSpec
@@ -182348,6 +182421,8 @@ self: {
        pname = "lambdabot-irc-plugins";
        version = "5.3.1.2";
        sha256 = "00s27136i4xadm09clncrkm5annvnahrvcy04m5llrxa9ja09ixb";
+       revision = "1";
+       editedCabalFile = "15b4r4m2sqw4pa1yk90q9rg7cpk2davpib79sah13m8xf1lrf2ci";
        libraryHaskellDepends = [
          base bytestring containers directory filepath lambdabot-core
          lifted-base mtl network SafeSemaphore split time
@@ -182367,6 +182442,8 @@ self: {
        pname = "lambdabot-misc-plugins";
        version = "5.3.1.2";
        sha256 = "0hkia5zziwabm847bl1f2pap47iyrvjwzdsygcvywving467302d";
+       revision = "1";
+       editedCabalFile = "09d3bngay0xai4sngp0ddly38qdpdzdaa4p5yp4qvrgg8b0nlv2w";
        libraryHaskellDepends = [
          base bytestring containers filepath lambdabot-core lifted-base mtl
          network network-uri parsec process regex-tdfa SafeSemaphore split
@@ -182404,6 +182481,8 @@ self: {
        pname = "lambdabot-reference-plugins";
        version = "5.3.1.2";
        sha256 = "086ac4j85x2s156xzwmlldk7sll6jq3gq4mp2vjsa8w9q0p6yw0y";
+       revision = "1";
+       editedCabalFile = "1sglhkprhbdn3mv4iw1wrn8yfsc9rh1la2h2vqqx5jv7wdy3v9nd";
        libraryHaskellDepends = [
          base bytestring containers HTTP lambdabot-core mtl network
          network-uri oeis process regex-tdfa split tagsoup utf8-string
@@ -188182,13 +188261,13 @@ self: {
 
   "libsecp256k1" = callPackage
     ({ mkDerivation, base, bytestring, deepseq, either, entropy
-     , hashable, hedgehog, hspec, HUnit, memory, monad-par, secp256k1
-     , transformers
+     , hashable, hedgehog, hspec, hspec-api, HUnit, memory, monad-par
+     , secp256k1, transformers
      }:
      mkDerivation {
        pname = "libsecp256k1";
-       version = "0.1.4";
-       sha256 = "14y8r7f70jga8c3f2iwi8jfgbj0fd85nwz40qv8fm094yhw08hd3";
+       version = "0.1.5";
+       sha256 = "1x9f9ym6ssxbk404argf2y455bv2qxrcyy7brkql1fpqphl6g1dp";
        libraryHaskellDepends = [
          base bytestring deepseq entropy hashable hedgehog memory
          transformers
@@ -188196,7 +188275,7 @@ self: {
        libraryPkgconfigDepends = [ secp256k1 ];
        testHaskellDepends = [
          base bytestring deepseq either entropy hashable hedgehog hspec
-         HUnit memory monad-par transformers
+         hspec-api HUnit memory monad-par transformers
        ];
        description = "Bindings for secp256k1";
        license = lib.licenses.mit;
@@ -189288,6 +189367,35 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "linear_1_23" = callPackage
+    ({ mkDerivation, adjunctions, base, base-orphans, binary, bytes
+     , bytestring, cereal, containers, deepseq, distributive, ghc-prim
+     , hashable, HUnit, indexed-traversable, lens, QuickCheck, random
+     , reflection, semigroupoids, simple-reflect, tagged
+     , template-haskell, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, transformers, transformers-compat
+     , unordered-containers, vector, void
+     }:
+     mkDerivation {
+       pname = "linear";
+       version = "1.23";
+       sha256 = "13w6j1wnq40821nwrly7zl4qdsnih19f3p9fnmka42mblmin2lld";
+       libraryHaskellDepends = [
+         adjunctions base base-orphans binary bytes cereal containers
+         deepseq distributive ghc-prim hashable indexed-traversable lens
+         random reflection semigroupoids tagged template-haskell
+         transformers transformers-compat unordered-containers vector void
+       ];
+       testHaskellDepends = [
+         base binary bytestring deepseq HUnit QuickCheck reflection
+         simple-reflect test-framework test-framework-hunit
+         test-framework-quickcheck2 vector
+       ];
+       description = "Linear Algebra";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "linear-accelerate" = callPackage
     ({ mkDerivation, accelerate, base, Cabal, cabal-doctest
      , distributive, doctest, lens, linear
@@ -194117,6 +194225,21 @@ self: {
        mainProgram = "generator";
      }) {};
 
+  "lsql-csv" = callPackage
+    ({ mkDerivation, base, containers, Glob, parsec, text }:
+     mkDerivation {
+       pname = "lsql-csv";
+       version = "0.1.0.2";
+       sha256 = "1ja2xbjl11i1cc77qszgphy9v859rzxc87z6l6kp8cz58095qb4v";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base containers Glob parsec text ];
+       executableHaskellDepends = [ base ];
+       description = "A tool for CSV files data querying from the shell with short queries";
+       license = lib.licenses.gpl3Only;
+       mainProgram = "lsql-csv";
+     }) {};
+
   "lss" = callPackage
     ({ mkDerivation, attoparsec, base, containers, directory, filepath
      , hspec2, language-css, language-css-attoparsec, text, xmlhtml
@@ -199483,8 +199606,8 @@ self: {
      }:
      mkDerivation {
        pname = "melf";
-       version = "1.3.0";
-       sha256 = "1fk439y6ykdfn36vk1b09x7abp2pin7iw0a73dqxgafagqxp8sqx";
+       version = "1.3.1";
+       sha256 = "0ivfzsw36qy0m93h353r3963vmhirzg3a5mirqn1hfbsk24xf1dx";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -201987,8 +202110,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "mini";
-       version = "1.3.0.0";
-       sha256 = "0qahnq95nxqgl5lj51j06hpmzi3fypm7flywibzyb5xad5hqp4db";
+       version = "1.3.0.1";
+       sha256 = "1f17mf4v2dv19wv1kzff3kql6yhn452vpjk8i1sd91rkznq28yr0";
        libraryHaskellDepends = [ base ];
        description = "Minimal essentials";
        license = lib.licenses.mit;
@@ -206301,8 +206424,8 @@ self: {
      }:
      mkDerivation {
        pname = "monoid-subclasses";
-       version = "1.2.4.1";
-       sha256 = "0jpdazjxxfih8zz0myada1728r9103a882904i7cd1y6v2m17wdj";
+       version = "1.2.5";
+       sha256 = "17i07i5z4jhk7w35123hkikrl81v7vnp4qd8plci90vfix53z5aa";
        libraryHaskellDepends = [
          base bytestring commutative-semigroups containers primes text
          vector
@@ -206379,8 +206502,8 @@ self: {
      }:
      mkDerivation {
        pname = "monoidmap";
-       version = "0.0.1.1";
-       sha256 = "0dp0gc0jqfr8rzlvg0zgyk21xizwhx0mr5r29xkkxc9n5mxsl0l7";
+       version = "0.0.1.2";
+       sha256 = "1gva15h7jkll43529c6q7w4z27cbx8rpddda1gg27w6i7i9rv4dh";
        libraryHaskellDepends = [
          base containers deepseq groups monoid-subclasses
          nonempty-containers nothunks
@@ -209231,6 +209354,7 @@ self: {
        ];
        description = "Safely evaluate pure Haskell expressions";
        license = lib.licenses.bsd3;
+       badPlatforms = [ "aarch64-linux" ];
        mainProgram = "mueval";
      }) {};
 
@@ -213789,6 +213913,24 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "network_3_2_0_0" = callPackage
+    ({ mkDerivation, base, bytestring, deepseq, directory, hspec
+     , hspec-discover, HUnit, QuickCheck, temporary
+     }:
+     mkDerivation {
+       pname = "network";
+       version = "3.2.0.0";
+       sha256 = "1jmrkjxjypm3j0d3rzm3xm87nnwnd7c3s6l7aqxdjdy49ms9cmn4";
+       libraryHaskellDepends = [ base bytestring deepseq directory ];
+       testHaskellDepends = [
+         base bytestring directory hspec HUnit QuickCheck temporary
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Low-level networking interface";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "network-address" = callPackage
     ({ mkDerivation, base, Cabal, QuickCheck, test-framework
      , test-framework-quickcheck2
@@ -214505,6 +214647,18 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "network-run_0_2_8" = callPackage
+    ({ mkDerivation, base, bytestring, network, time-manager }:
+     mkDerivation {
+       pname = "network-run";
+       version = "0.2.8";
+       sha256 = "1yqqvb9l17n2r4giigppj12xdpvx0m13yyhlx5ss3r4qkdj2b962";
+       libraryHaskellDepends = [ base bytestring network time-manager ];
+       description = "Simple network runner library";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "network-server" = callPackage
     ({ mkDerivation, base, network, unix }:
      mkDerivation {
@@ -215530,8 +215684,8 @@ self: {
      }:
      mkDerivation {
        pname = "ngx-export-distribution";
-       version = "0.5.3.0";
-       sha256 = "1dfjvzw65q6fjzdwisr6rbwfwcp4d36k56pn3vp7i86z9vn2syqx";
+       version = "0.5.4.0";
+       sha256 = "0w7pvv44l4kllfgvsmszxja8wzimiskkqa1nna21cfhfkfc78h03";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base Cabal directory filepath ];
@@ -216518,6 +216672,19 @@ self: {
        license = lib.licenses.asl20;
      }) {};
 
+  "no-recursion" = callPackage
+    ({ mkDerivation, base, Cabal, cabal-doctest, doctest, ghc }:
+     mkDerivation {
+       pname = "no-recursion";
+       version = "0.1.1.0";
+       sha256 = "1696872aswsh00br5wwr5ccc77ab52qvznhbjkng26vcn08mdf0w";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [ base ghc ];
+       testHaskellDepends = [ base doctest ];
+       description = "A GHC plugin to remove support for recursion";
+       license = lib.licenses.agpl3Plus;
+     }) {};
+
   "no-role-annots" = callPackage
     ({ mkDerivation, base, template-haskell }:
      mkDerivation {
@@ -220592,21 +220759,33 @@ self: {
      }) {};
 
   "one-time-password" = callPackage
-    ({ mkDerivation, base, bytestring, cereal, cryptonite, memory
-     , tasty, tasty-hunit, time
+    ({ mkDerivation, base, base16, base32, bytestring, cereal, chronos
+     , cryptohash-sha1, cryptonite, network-uri, optparse-applicative
+     , sel, tasty, tasty-hunit, tasty-quickcheck, text, text-display
+     , torsor
      }:
      mkDerivation {
        pname = "one-time-password";
-       version = "2.0.0";
-       sha256 = "18pr5cmkm89zhwi38gb87vgzagga9qggr03vysz0q1v7cdabld8a";
+       version = "3.0.0.0";
+       sha256 = "0yark6agy421mk7zblzy4vpccbd1i53gpiysa0a7s9sh0szy4bql";
+       isLibrary = true;
+       isExecutable = true;
        libraryHaskellDepends = [
-         base bytestring cereal cryptonite memory time
+         base bytestring cereal chronos cryptohash-sha1 network-uri sel text
+         text-display
+       ];
+       executableHaskellDepends = [
+         base bytestring chronos optparse-applicative sel text text-display
+         torsor
        ];
        testHaskellDepends = [
-         base bytestring cryptonite tasty tasty-hunit time
+         base base16 base32 bytestring chronos cryptonite sel tasty
+         tasty-hunit tasty-quickcheck text text-display torsor
        ];
        description = "HMAC-Based and Time-Based One-Time Passwords";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       mainProgram = "one-time-password";
      }) {};
 
   "oneOfN" = callPackage
@@ -220807,8 +220986,8 @@ self: {
      }:
      mkDerivation {
        pname = "opaleye";
-       version = "0.10.2.3";
-       sha256 = "1cbd6d5gp438bi3w2ml7lba6rjjykyxpc5dp5ph0n67pbvbzd66d";
+       version = "0.10.3.0";
+       sha256 = "1zq2d8rb1zwrvg0civh2a6r01nv1v2ini9rykf63px00srs98p67";
        libraryHaskellDepends = [
          aeson base base16-bytestring bytestring case-insensitive
          contravariant postgresql-simple pretty product-profunctors
@@ -232130,8 +232309,8 @@ self: {
      }:
      mkDerivation {
        pname = "phladiprelio-general-simple";
-       version = "0.20.0.1";
-       sha256 = "0rc7di62zcbssl21pa109k9klxkc44ihz12sdlzwq3hg3hrmnrsv";
+       version = "0.20.0.2";
+       sha256 = "016rb0x25584d7qxrqw4pgqlp0d6fyannhwjdy4677hlp5yi2812";
        libraryHaskellDepends = [
          async base cli-arguments deepseq directory halfsplit minmax
          phladiprelio-general-datatype phladiprelio-general-shared
@@ -232196,8 +232375,8 @@ self: {
      }:
      mkDerivation {
        pname = "phladiprelio-ukrainian-simple";
-       version = "0.20.2.1";
-       sha256 = "1jlx3dffra7cs263bg1mgvbi1kzw15dy98jiysxb906ivwd5vnfd";
+       version = "0.20.2.2";
+       sha256 = "0fy9559zbza3jpiz502pqya00da67bvh2m0hca756lrh8agqmfjk";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -240478,8 +240657,8 @@ self: {
      }:
      mkDerivation {
        pname = "prairie";
-       version = "0.0.3.0";
-       sha256 = "0rm3cnvjs8825x7czdc948whjfjynzz9apbp2qbmyv3lihi4mib5";
+       version = "0.0.4.0";
+       sha256 = "0d5bfci30ck6kx9pspv0d68lxgs700xv6y6067ki9yvlnrimrff2";
        libraryHaskellDepends = [
          aeson base constraints containers lens template-haskell text
        ];
@@ -242671,16 +242850,14 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "process_1_6_18_0" = callPackage
+  "process_1_6_19_0" = callPackage
     ({ mkDerivation, base, bytestring, deepseq, directory, filepath
      , unix
      }:
      mkDerivation {
        pname = "process";
-       version = "1.6.18.0";
-       sha256 = "0zm3v2m95a7bsnndl1pvdj9a7gd4v84pb34rmgsqjkwpwi7lqpxa";
-       revision = "2";
-       editedCabalFile = "0ksri04db6g38n9h3qi0qwiq0gh0hy20irj90121mxp494kwwjwb";
+       version = "1.6.19.0";
+       sha256 = "15nbbn7zcs1pwicqdhzg5s6wrym1l29mbvbin5z56rk9nid3as5l";
        libraryHaskellDepends = [ base deepseq directory filepath unix ];
        testHaskellDepends = [ base bytestring directory ];
        description = "Process libraries";
@@ -244183,27 +244360,6 @@ self: {
      }:
      mkDerivation {
        pname = "proto-lens";
-       version = "0.7.1.4";
-       sha256 = "0nb1klrhms82mkjzr2zxdcj5ny6skjgqi6md05bmm99s0hg0ql15";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         base bytestring containers deepseq ghc-prim lens-family parsec
-         pretty primitive profunctors tagged text transformers vector
-       ];
-       testHaskellDepends = [
-         base bytestring QuickCheck tasty tasty-quickcheck vector
-       ];
-       description = "A lens-based implementation of protocol buffers in Haskell";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "proto-lens_0_7_1_5" = callPackage
-    ({ mkDerivation, base, bytestring, containers, deepseq, ghc-prim
-     , lens-family, parsec, pretty, primitive, profunctors, QuickCheck
-     , tagged, tasty, tasty-quickcheck, text, transformers, vector
-     }:
-     mkDerivation {
-       pname = "proto-lens";
        version = "0.7.1.5";
        sha256 = "042wn6dw4jg0j9gfp4pgzm86j3hq0vkv02rlnp77v13b87q75lfs";
        enableSeparateDataOutput = true;
@@ -244216,7 +244372,6 @@ self: {
        ];
        description = "A lens-based implementation of protocol buffers in Haskell";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "proto-lens-arbitrary" = callPackage
@@ -244225,23 +244380,6 @@ self: {
      }:
      mkDerivation {
        pname = "proto-lens-arbitrary";
-       version = "0.1.2.12";
-       sha256 = "1hx3yifczzvl5h14c8yjqdq3q8g37hawqkbc6c25pcs8i40sagv7";
-       libraryHaskellDepends = [
-         base bytestring containers lens-family proto-lens QuickCheck text
-       ];
-       description = "Arbitrary instances for proto-lens";
-       license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "proto-lens-arbitrary_0_1_2_13" = callPackage
-    ({ mkDerivation, base, bytestring, containers, lens-family
-     , proto-lens, QuickCheck, text
-     }:
-     mkDerivation {
-       pname = "proto-lens-arbitrary";
        version = "0.1.2.13";
        sha256 = "015zdynzvlnix6ac6cr3yf8dyn6makv5iachc8djdghgcj5lmdr5";
        libraryHaskellDepends = [
@@ -244313,19 +244451,6 @@ self: {
     ({ mkDerivation, base, optparse-applicative, proto-lens, text }:
      mkDerivation {
        pname = "proto-lens-optparse";
-       version = "0.1.1.11";
-       sha256 = "19iszwk1i8h9n7ryxmvf1rc102n6yn9d22rdnslw9s2vycb1645j";
-       libraryHaskellDepends = [
-         base optparse-applicative proto-lens text
-       ];
-       description = "Adapting proto-lens to optparse-applicative ReadMs";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "proto-lens-optparse_0_1_1_12" = callPackage
-    ({ mkDerivation, base, optparse-applicative, proto-lens, text }:
-     mkDerivation {
-       pname = "proto-lens-optparse";
        version = "0.1.1.12";
        sha256 = "09j01nafh03942v1n6y1lw2vp7s1zdqyy7rz9xrbv6klv95ixhkl";
        libraryHaskellDepends = [
@@ -244333,7 +244458,6 @@ self: {
        ];
        description = "Adapting proto-lens to optparse-applicative ReadMs";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "proto-lens-protobuf-types" = callPackage
@@ -244382,22 +244506,6 @@ self: {
      }:
      mkDerivation {
        pname = "proto-lens-runtime";
-       version = "0.7.0.5";
-       sha256 = "17c0ip6s3sca23mwmzl2ky8b220iiaasqmbv19ixfq82hl9sjvl1";
-       libraryHaskellDepends = [
-         base bytestring containers deepseq filepath lens-family proto-lens
-         text vector
-       ];
-       doHaddock = false;
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "proto-lens-runtime_0_7_0_6" = callPackage
-    ({ mkDerivation, base, bytestring, containers, deepseq, filepath
-     , lens-family, proto-lens, text, vector
-     }:
-     mkDerivation {
-       pname = "proto-lens-runtime";
        version = "0.7.0.6";
        sha256 = "0qq1hdjq5y0r9gprlwwqvvvsyb0w4wm1q7acqc1mxywiyb7nvr18";
        libraryHaskellDepends = [
@@ -244406,7 +244514,6 @@ self: {
        ];
        doHaddock = false;
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "proto-lens-setup" = callPackage
@@ -247688,8 +247795,8 @@ self: {
      }:
      mkDerivation {
        pname = "quic";
-       version = "0.1.19";
-       sha256 = "0kxdiah415lsj06pdi14bcs3i7gqyyx9x093rxss8l48w1820zwr";
+       version = "0.1.20";
+       sha256 = "0zzpdb07xrgx3bcvnfmn778yamk6q86lqmj1ir1h3g82gcknzfxm";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -248021,8 +248128,8 @@ self: {
      }:
      mkDerivation {
        pname = "quickcheck-monoid-subclasses";
-       version = "0.3.0.1";
-       sha256 = "0fi2ixgd4cpc5q6ybbmgbf14dszpr3454bbwpzr74rnalj5qj7ym";
+       version = "0.3.0.2";
+       sha256 = "1baxylj4kh1vx5vfy8dcschzr9bfaby7y3m6m1kjpb4qdj8vlbk3";
        libraryHaskellDepends = [
          base containers monoid-subclasses pretty-show QuickCheck
          quickcheck-classes quickcheck-instances semigroupoids
@@ -248099,8 +248206,8 @@ self: {
      }:
      mkDerivation {
        pname = "quickcheck-quid";
-       version = "0.0.1.1";
-       sha256 = "1nqc5ggm50pw7vzjxdc8kv3iz40lpkisrs35jmzx892b4iy361dz";
+       version = "0.0.1.2";
+       sha256 = "1chdbkd1as9ln6cgcv62w3vqw821ybmyh500k80a3c244ipwf8ny";
        libraryHaskellDepends = [
          base containers deepseq extra hashable QuickCheck text
        ];
@@ -251191,6 +251298,7 @@ self: {
        description = "Create React components in Haskell";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "react-flux" = callPackage
@@ -254660,8 +254768,8 @@ self: {
        pname = "regex-tdfa";
        version = "1.3.2.2";
        sha256 = "1dvmplkhma32y68v4vvpbwmjbg3hzd7qhsyq6pim1fs68b2xaglk";
-       revision = "2";
-       editedCabalFile = "165gd2gr0x9d3yvdzp8hdiapwz3cgdfbai15zbqdy0cq312d3bwj";
+       revision = "3";
+       editedCabalFile = "0y3l8ipsxyf47vpgg94p7mrn4f1b82y891vrmqzwcqlci6r1bsp5";
        libraryHaskellDepends = [
          array base bytestring containers mtl parsec regex-base text
        ];
@@ -255663,7 +255771,6 @@ self: {
        description = "Automation of Haskell package release process";
        license = lib.licenses.asl20;
        mainProgram = "releaser";
-       maintainers = [ lib.maintainers.maralorn ];
      }) {};
 
   "relevant-time" = callPackage
@@ -257826,6 +257933,8 @@ self: {
        pname = "retroclash-lib";
        version = "0.1.2.2";
        sha256 = "18jkrbg3fhz64n6adxa674jng6ajrq89ib53rhjvm053qsafrllh";
+       revision = "1";
+       editedCabalFile = "0f2l2xvz704yhwb1qwk70z29j3gf1afxvszc6f1sk3cdkkxnxpsd";
        libraryHaskellDepends = [
          barbies base clash-ghc clash-lib clash-prelude containers
          ghc-typelits-extra ghc-typelits-knownnat ghc-typelits-natnormalise
@@ -257847,6 +257956,8 @@ self: {
        pname = "retroclash-sim";
        version = "0.1.1";
        sha256 = "147i7nbxyxgsvyj2wiaiipi0s8sp14y1av33yba4s148k38zsiw3";
+       revision = "1";
+       editedCabalFile = "10s1p7j3i37ykwaaf58n1cl3ha128mbl3b6jp9lhvxgxj3f7j06d";
        libraryHaskellDepends = [
          array arrows base clash-ghc clash-lib clash-prelude
          ghc-typelits-extra ghc-typelits-knownnat ghc-typelits-natnormalise
@@ -263576,6 +263687,7 @@ self: {
        ];
        description = "Send textual messages to a Handle in a thread-friendly way";
        license = lib.licenses.mit;
+       maintainers = [ lib.maintainers.maralorn ];
      }) {};
 
   "say-my-name" = callPackage
@@ -267724,8 +267836,8 @@ self: {
        pname = "serialise";
        version = "0.2.6.1";
        sha256 = "1x3p9vi6daf50xgv5xxjnclqcq9ynqg1qw7af3ppa1nizycrg533";
-       revision = "1";
-       editedCabalFile = "1y1x0jrc5k7z8r54jk1p1iw18f2psky4ksxd0f8aqfvy1hamzra8";
+       revision = "2";
+       editedCabalFile = "1y21m10vx4k75x0im5448pl5mhl772hz1hfk47ryb3whz1l6d9vf";
        libraryHaskellDepends = [
          array base bytestring cborg containers ghc-prim half hashable
          primitive strict text these time unordered-containers vector
@@ -278578,8 +278690,8 @@ self: {
        pname = "snap-core";
        version = "1.0.5.1";
        sha256 = "00h5xijkjvnhcgxpw3vmkpf5nwfpknqflvxgig6gvsy4wahc2157";
-       revision = "3";
-       editedCabalFile = "0knsdp65pvj7nxsid6ais24h902k8ag480r1661wy9grkv2i8kp8";
+       revision = "4";
+       editedCabalFile = "11rgmi28yhdpmzc72zxql70q6zrxnihkrv5lvabggyc9008dhyj8";
        libraryHaskellDepends = [
          attoparsec base bytestring bytestring-builder case-insensitive
          containers directory filepath hashable HUnit io-streams lifted-base
@@ -279753,10 +279865,8 @@ self: {
      }:
      mkDerivation {
        pname = "snappy-c";
-       version = "0.1.0";
-       sha256 = "02q3bikni0ajwiiah3w6bay24wc9ip6jgnb2nidnwshk4s7i84y7";
-       revision = "1";
-       editedCabalFile = "057h4hmb035562s5zqgc23r6kyzlqmna3s0bf5qw8bama3dk75yp";
+       version = "0.1.1";
+       sha256 = "1ds454nvw5ps0aq51ld7hjml4096z1zc7m7nvf9dc3wi0awzy43f";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -285987,12 +286097,12 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "stm_2_5_3_0" = callPackage
+  "stm_2_5_3_1" = callPackage
     ({ mkDerivation, array, base }:
      mkDerivation {
        pname = "stm";
-       version = "2.5.3.0";
-       sha256 = "1xy3sj69wcb92fg0y5lp0qxcsi3pyvvrrrn4fpi2snji4j3k47hv";
+       version = "2.5.3.1";
+       sha256 = "1rrh4s07vav9mlhpqsq9r6r0gh3f4k8g1gjlx63ngkpdj59ldc7b";
        libraryHaskellDepends = [ array base ];
        description = "Software Transactional Memory";
        license = lib.licenses.bsd3;
@@ -288408,6 +288518,7 @@ self: {
        ];
        description = "Haskell string/text/bytestring interpolation that just works";
        license = lib.licenses.bsd3;
+       maintainers = [ lib.maintainers.maralorn ];
      }) {};
 
   "string-interpreter" = callPackage
@@ -292832,6 +292943,42 @@ self: {
        maintainers = [ lib.maintainers.thielema ];
      }) {};
 
+  "synthesizer-core_0_8_4" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, containers
+     , deepseq, directory, event-list, explicit-exception, filepath
+     , non-empty, non-negative, numeric-prelude, numeric-quest, old-time
+     , process, QuickCheck, random, sample-frame-np, semigroups, sox
+     , storable-record, storable-tuple, storablevector, timeit
+     , transformers, utility-ht
+     }:
+     mkDerivation {
+       pname = "synthesizer-core";
+       version = "0.8.4";
+       sha256 = "11m5zvnwzrsd5ylyc6xd4k56ypmmwzyhixvzc55hgjfpsx9snks9";
+       revision = "1";
+       editedCabalFile = "1q274hspisb2qi45dj01dcm2sxfcqib0i96jkc2jzlvaynnnqhlr";
+       libraryHaskellDepends = [
+         array base binary bytestring containers deepseq event-list
+         explicit-exception filepath non-empty non-negative numeric-prelude
+         numeric-quest process QuickCheck random sample-frame-np semigroups
+         sox storable-record storable-tuple storablevector transformers
+         utility-ht
+       ];
+       testHaskellDepends = [
+         base containers event-list non-empty non-negative numeric-prelude
+         QuickCheck random storable-tuple storablevector transformers
+         utility-ht
+       ];
+       benchmarkHaskellDepends = [
+         array base binary bytestring directory numeric-prelude old-time
+         storable-tuple storablevector timeit utility-ht
+       ];
+       description = "Audio signal processing coded in Haskell: Low level part";
+       license = "GPL";
+       hydraPlatforms = lib.platforms.none;
+       maintainers = [ lib.maintainers.thielema ];
+     }) {};
+
   "synthesizer-dimensional" = callPackage
     ({ mkDerivation, base, bytestring, event-list, non-negative
      , numeric-prelude, random, semigroups, sox, storable-record
@@ -295150,6 +295297,7 @@ self: {
        ];
        description = "Modern and extensible testing framework";
        license = lib.licenses.mit;
+       maintainers = [ lib.maintainers.maralorn ];
      }) {};
 
   "tasty_1_5" = callPackage
@@ -295169,6 +295317,7 @@ self: {
        description = "Modern and extensible testing framework";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
+       maintainers = [ lib.maintainers.maralorn ];
      }) {};
 
   "tasty-ant-xml" = callPackage
@@ -300647,8 +300796,10 @@ self: {
      }:
      mkDerivation {
        pname = "th-extras";
-       version = "0.0.0.7";
-       sha256 = "0zxbqmdzrljjcj5dh2yi0hgjjd6a3wyg2r989vvcsdfxfcb0dl46";
+       version = "0.0.0.8";
+       sha256 = "1hvpvb02j2zyg4mpdqzs3w4s7wva78npdlrnpsii7nps2fpvcmrs";
+       revision = "1";
+       editedCabalFile = "065l0xfzdq529d64qnh2s13zvswhjzv9ndyf7m7hzzbg8y83flbc";
        libraryHaskellDepends = [
          base containers syb template-haskell th-abstraction
        ];
@@ -302099,6 +302250,8 @@ self: {
        pname = "tidal";
        version = "1.9.5";
        sha256 = "1skm8x9gh60c0i1rr0a18jxi6y4mpi83fvzjcadlziwjna5x6a3w";
+       revision = "1";
+       editedCabalFile = "1hp0r7mav7m6ga6lxjvw7lkhnw240a7pzc65s97k4kcax2ibvq96";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base bytestring clock colour containers deepseq exceptions hosc mtl
@@ -309680,6 +309833,18 @@ self: {
        broken = true;
      }) {};
 
+  "type-level-bytestrings" = callPackage
+    ({ mkDerivation, base, type-spec }:
+     mkDerivation {
+       pname = "type-level-bytestrings";
+       version = "0.1.0";
+       sha256 = "06iw0plkkwl514w4nx5188v35x22abxmqfg1alnlqr1ihssmgf63";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base type-spec ];
+       description = "Tools for manipulating type-level bytes and bytestrings";
+       license = lib.licenses.mit;
+     }) {};
+
   "type-level-integers" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -327650,8 +327815,8 @@ self: {
     ({ mkDerivation, base, containers, mtl, pretty, xml }:
      mkDerivation {
        pname = "xcb-types";
-       version = "0.13.0";
-       sha256 = "0qdfj4d83b1fjmlysqncgi65ldf3qnrsj4lync95mgbaq2kzxj2r";
+       version = "0.14.0";
+       sha256 = "184ap6lpd29bx4b3dxpcpzc3za9m4gz2fwf7565mxlxlwjbyamhv";
        libraryHaskellDepends = [ base containers mtl pretty xml ];
        description = "Parses XML files used by the XCB project";
        license = lib.licenses.bsd3;
@@ -331640,8 +331805,8 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-auth";
-       version = "1.6.11.2";
-       sha256 = "0yqyggdvfi0kg4qa0is3lqifz40kgyjll445yxcpv6m8vcd2r1a1";
+       version = "1.6.11.3";
+       sha256 = "1qfzg4khdzrhzq78323648780divjllqrxn9hhzpnis61f0fwni8";
        libraryHaskellDepends = [
          aeson attoparsec-aeson authenticate base base16-bytestring
          base64-bytestring binary blaze-builder blaze-html blaze-markup
@@ -335671,30 +335836,6 @@ self: {
      }:
      mkDerivation {
        pname = "zip-archive";
-       version = "0.4.3.1";
-       sha256 = "0f9z0p2vmqahk9fzxwp5914f3ls4wsacd9bf5p5nnd5vdp1navyf";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         array base binary bytestring containers digest directory filepath
-         mtl pretty text time unix zlib
-       ];
-       testHaskellDepends = [
-         base bytestring directory filepath HUnit process temporary time
-         unix
-       ];
-       testToolDepends = [ which ];
-       description = "Library for creating and modifying zip archives";
-       license = lib.licenses.bsd3;
-     }) {inherit (pkgs) which;};
-
-  "zip-archive_0_4_3_2" = callPackage
-    ({ mkDerivation, array, base, binary, bytestring, containers
-     , digest, directory, filepath, HUnit, mtl, pretty, process
-     , temporary, text, time, unix, which, zlib
-     }:
-     mkDerivation {
-       pname = "zip-archive";
        version = "0.4.3.2";
        sha256 = "0p6b4n4z3qa9f5vh25lqf7b8gdf5qcfs4zsnlzr12m0xgysfdnk1";
        isLibrary = true;
@@ -335710,7 +335851,6 @@ self: {
        testToolDepends = [ which ];
        description = "Library for creating and modifying zip archives";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) which;};
 
   "zip-cmd" = callPackage
diff --git a/pkgs/development/haskell-modules/patches/git-annex-no-usr-prefix.patch b/pkgs/development/haskell-modules/patches/git-annex-no-usr-prefix.patch
new file mode 100644
index 0000000000000..03c9368d52fb7
--- /dev/null
+++ b/pkgs/development/haskell-modules/patches/git-annex-no-usr-prefix.patch
@@ -0,0 +1,13 @@
+diff --git a/Utility/FreeDesktop.hs b/Utility/FreeDesktop.hs
+index 896b89b991..6cbb4f90ae 100644
+--- a/Utility/FreeDesktop.hs
++++ b/Utility/FreeDesktop.hs
+@@ -112,7 +112,7 @@ desktopfile f = f ++ ".desktop"
+ 
+ {- Directory used for installation of system wide data files.. -}
+ systemDataDir :: FilePath
+-systemDataDir = "/usr/share"
++systemDataDir = "/share"
+ 
+ {- Directory used for installation of system wide config files. -}
+ systemConfigDir :: FilePath
diff --git a/pkgs/development/interpreters/boron/default.nix b/pkgs/development/interpreters/boron/default.nix
index 541c3525b660c..e6570c2e89194 100644
--- a/pkgs/development/interpreters/boron/default.nix
+++ b/pkgs/development/interpreters/boron/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   pname = "boron";
-  version = "2.0.8";
+  version = "2.1.0";
 
   src = fetchurl {
     url = "https://sourceforge.net/projects/urlan/files/Boron/boron-${version}.tar.gz";
-    sha256 = "sha256-Ni/LJgOABC2wXDMsg1ZAuZWSQdFT9/Fa4lH4+V0gy8M=";
+    sha256 = "sha256-50HKcK2hQpe9k9RIoVa/N5krTRKlW9AsGYTmHITx7Nc=";
   };
 
   # this is not a standard Autotools-like `configure` script
diff --git a/pkgs/development/interpreters/clojure/default.nix b/pkgs/development/interpreters/clojure/default.nix
index cedc8ef292328..b440e56812ad2 100644
--- a/pkgs/development/interpreters/clojure/default.nix
+++ b/pkgs/development/interpreters/clojure/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "clojure";
-  version = "1.11.2.1446";
+  version = "1.11.3.1456";
 
   src = fetchurl {
     # https://github.com/clojure/brew-install/releases
     url = "https://github.com/clojure/brew-install/releases/download/${finalAttrs.version}/clojure-tools-${finalAttrs.version}.tar.gz";
-    hash = "sha256-qn7/sPyVDfjZPLeWxlUBBljAW/d8cCw6lEm3/deS73E=";
+    hash = "sha256-ymOkUUDSj5KzFMBY1D7gErjPAK5E/QjFDGcwDo5fzW0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/interpreters/erlang/27-rc2.nix b/pkgs/development/interpreters/erlang/27-rc2.nix
deleted file mode 100644
index a9b6fa05e5186..0000000000000
--- a/pkgs/development/interpreters/erlang/27-rc2.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ mkDerivation }:
-
-mkDerivation {
-  version = "27.0-rc2";
-  sha256 = "sha256-o+uqQMlrh7wJQbiecMnn3/tv6nqSJh7unOj0A95mMb0=";
-}
diff --git a/pkgs/development/interpreters/erlang/27-rc3.nix b/pkgs/development/interpreters/erlang/27-rc3.nix
new file mode 100644
index 0000000000000..77e59672c1563
--- /dev/null
+++ b/pkgs/development/interpreters/erlang/27-rc3.nix
@@ -0,0 +1,6 @@
+{ mkDerivation }:
+
+mkDerivation {
+  version = "27.0-rc3";
+  sha256 = "sha256-c2DTIqBd7UxpSv84F1cCB9K+MkJb5OwnWSghtewnw/4=";
+}
diff --git a/pkgs/development/interpreters/janet/default.nix b/pkgs/development/interpreters/janet/default.nix
index 7456619a9ae8d..1c6cbb96a490c 100644
--- a/pkgs/development/interpreters/janet/default.nix
+++ b/pkgs/development/interpreters/janet/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "janet";
-  version = "1.33.0";
+  version = "1.34.0";
 
   src = fetchFromGitHub {
     owner = "janet-lang";
     repo = "janet";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-kXbJtWxvysC4hLkgVyPpkunFhN+2iVu+S+LCo5ikj5s=";
+    hash = "sha256-DxUEFW9NzAyaE/6vNEFfddIaxsi7qovousxZ28Hveb4=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/interpreters/luau/default.nix b/pkgs/development/interpreters/luau/default.nix
index 4d17e1f73561e..4098d92fb451a 100644
--- a/pkgs/development/interpreters/luau/default.nix
+++ b/pkgs/development/interpreters/luau/default.nix
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
     changelog = "https://github.com/luau-lang/luau/releases/tag/${version}";
     license = licenses.mit;
     platforms = platforms.all;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     mainProgram = "luau";
   };
 }
diff --git a/pkgs/development/interpreters/nelua/default.nix b/pkgs/development/interpreters/nelua/default.nix
index 00b0422783a41..fd57cc4b46eec 100644
--- a/pkgs/development/interpreters/nelua/default.nix
+++ b/pkgs/development/interpreters/nelua/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nelua";
-  version = "unstable-2024-02-03";
+  version = "unstable-2024-04-20";
 
   src = fetchFromGitHub {
     owner = "edubart";
     repo = "nelua-lang";
-    rev = "05a2633a18dfdde7389394b9289da582c10e79bc";
-    hash = "sha256-oRW+pCB10T0A6fEPP3S+8iurQ2J5WMpQlCYScfIk07c=";
+    rev = "9f75e009db190feda0f90ae858b48fd82f51b8b1";
+    hash = "sha256-JwuZZXYcH8KRPxt4PBwhYDjZlwqe6VfaONU8rdLIDs4=";
   };
 
   postPatch = ''
@@ -30,6 +30,6 @@ stdenv.mkDerivation rec {
     homepage = "https://nelua.io/";
     license = licenses.mit;
     platforms = platforms.all;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/interpreters/python/cpython/2.7/default.nix b/pkgs/development/interpreters/python/cpython/2.7/default.nix
index dda254fca3894..3ede01aa61da5 100644
--- a/pkgs/development/interpreters/python/cpython/2.7/default.nix
+++ b/pkgs/development/interpreters/python/cpython/2.7/default.nix
@@ -350,7 +350,6 @@ in with passthru; stdenv.mkDerivation ({
       '';
       license = lib.licenses.psfl;
       platforms = lib.platforms.all;
-      maintainers = with lib.maintainers; [ fridh ];
       knownVulnerabilities = [
         "Python 2.7 has reached its end of life after 2020-01-01. See https://www.python.org/doc/sunset-python-2/."
         # Quote: That means that we will not improve it anymore after that day,
diff --git a/pkgs/development/interpreters/python/cpython/default.nix b/pkgs/development/interpreters/python/cpython/default.nix
index 301af7a29c9ea..37b9d19fe88d9 100644
--- a/pkgs/development/interpreters/python/cpython/default.nix
+++ b/pkgs/development/interpreters/python/cpython/default.nix
@@ -662,7 +662,6 @@ in with passthru; stdenv.mkDerivation (finalAttrs: {
     license = licenses.psfl;
     pkgConfigModules = [ "python3" ];
     platforms = platforms.linux ++ platforms.darwin ++ platforms.windows;
-    maintainers = with maintainers; [ fridh ];
     mainProgram = executable;
   };
 })
diff --git a/pkgs/development/interpreters/rakudo/zef.nix b/pkgs/development/interpreters/rakudo/zef.nix
index 158fd6df4eb52..2d6959c324e06 100644
--- a/pkgs/development/interpreters/rakudo/zef.nix
+++ b/pkgs/development/interpreters/rakudo/zef.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "zef";
-  version = "0.21.4";
+  version = "0.22.0";
 
   src = fetchFromGitHub {
     owner = "ugexe";
     repo = "zef";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-k6jihTDbaSXv+XvfqxGIyCdD005tG8l3mSIkNG6FwPQ=";
+    hash = "sha256-HpDTxu846jb5hasH7nL93vRihFIZbVBXf/dV4itqFQg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/interpreters/ruby/default.nix b/pkgs/development/interpreters/ruby/default.nix
index ce99311e45f79..5df1c65b3aac0 100644
--- a/pkgs/development/interpreters/ruby/default.nix
+++ b/pkgs/development/interpreters/ruby/default.nix
@@ -264,7 +264,7 @@ let
           description = "An object-oriented language for quick and easy programming";
           homepage    = "https://www.ruby-lang.org/";
           license     = licenses.ruby;
-          maintainers = with maintainers; [ vrthra manveru marsam ];
+          maintainers = with maintainers; [ vrthra manveru ];
           platforms   = platforms.all;
           knownVulnerabilities = op (lib.versionOlder ver.majMin "3.0") "This Ruby release has reached its end of life. See https://www.ruby-lang.org/en/downloads/branches/.";
         };
@@ -301,8 +301,8 @@ in {
   };
 
   ruby_3_2 = generic {
-    version = rubyVersion "3" "2" "3" "";
-    hash = "sha256-r38XV9ndtjA0WYgTkhHx/VcP9bqDDe8cx8Rorptlybo=";
+    version = rubyVersion "3" "2" "4" "";
+    hash = "sha256-xys8XDBILcoYsPhoyQdfP0fYFo6vYm1OaCzltZyFhpI=";
     cargoHash = "sha256-6du7RJo0DH+eYMOoh3L31F3aqfR5+iG1iKauSV1uNcQ=";
   };
 
diff --git a/pkgs/development/interpreters/wamr/default.nix b/pkgs/development/interpreters/wamr/default.nix
index 34a60c320bcb4..58d9fb2ef592f 100644
--- a/pkgs/development/interpreters/wamr/default.nix
+++ b/pkgs/development/interpreters/wamr/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "wamr";
-  version = "1.3.2";
+  version = "2.0.0";
 
   src = fetchFromGitHub {
     owner = "bytecodealliance";
     repo = "wasm-micro-runtime";
     rev = "WAMR-${finalAttrs.version}";
-    hash = "sha256-4iH1PC0fEPehlez8YWgqPBxWnePFcMBzbGfd2CQjvd4=";
+    hash = "sha256-7k7FRe1mBH/+r9M19pYGAHX5rt54AomeWDBW4lwCfu4=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/interpreters/wasmtime/default.nix b/pkgs/development/interpreters/wasmtime/default.nix
index 0f56582c05c3a..545c176ab4722 100644
--- a/pkgs/development/interpreters/wasmtime/default.nix
+++ b/pkgs/development/interpreters/wasmtime/default.nix
@@ -2,19 +2,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "wasmtime";
-  version = "19.0.2";
+  version = "20.0.0";
 
   src = fetchFromGitHub {
     owner = "bytecodealliance";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-t+2bkJ1SFN7Bi1Mj74CKGhnL2vWpruQKf8lYJWLOqB8=";
+    hash = "sha256-Q2CsIwYQsLnAlGyMRxNTxjZsezxhjSptBF540NtgkCc=";
     fetchSubmodules = true;
   };
 
   # Disable cargo-auditable until https://github.com/rust-secure-code/cargo-auditable/issues/124 is solved.
   auditable = false;
-  cargoHash = "sha256-Jr02AQWz4ILYZWlGtcVYWTcBojHWZk871bWuEyG5QxE=";
+  cargoHash = "sha256-d956DuVtLbZ/u3sAA4cQlw55CuYC7XyzeQarwyQ/hpY=";
   cargoBuildFlags = [ "--package" "wasmtime-cli" "--package" "wasmtime-c-api" ];
 
   outputs = [ "out" "dev" ];
@@ -36,7 +36,6 @@ rustPlatform.buildRustPackage rec {
     install -d -m0755 $dev/include/wasmtime
     install -m0644 $src/crates/c-api/include/*.h $dev/include
     install -m0644 $src/crates/c-api/include/wasmtime/*.h $dev/include/wasmtime
-    install -m0644 $src/crates/c-api/wasm-c-api/include/* $dev/include
   '' + lib.optionalString stdenv.isDarwin ''
     install_name_tool -id \
       $dev/lib/libwasmtime.dylib \
diff --git a/pkgs/development/interpreters/zuo/default.nix b/pkgs/development/interpreters/zuo/default.nix
index 963abaa492e1e..46d22b9399574 100644
--- a/pkgs/development/interpreters/zuo/default.nix
+++ b/pkgs/development/interpreters/zuo/default.nix
@@ -19,6 +19,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/racket/zuo";
     license = licenses.mit;
     platforms = platforms.all;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/libraries/SDL2/default.nix b/pkgs/development/libraries/SDL2/default.nix
index a15a963cb78bf..1e63f3bfdef18 100644
--- a/pkgs/development/libraries/SDL2/default.nix
+++ b/pkgs/development/libraries/SDL2/default.nix
@@ -182,7 +182,7 @@ stdenv.mkDerivation (finalAttrs: {
     description = "A cross-platform multimedia library";
     mainProgram = "sdl2-config";
     homepage = "http://www.libsdl.org/";
-    changelog = "https://github.com/libsdl-org/SDL/releases/tag/release-${version}";
+    changelog = "https://github.com/libsdl-org/SDL/releases/tag/release-${finalAttrs.version}";
     license = licenses.zlib;
     platforms = platforms.all;
     maintainers = with maintainers; [ cpages ];
diff --git a/pkgs/development/libraries/SDL2_mixer/default.nix b/pkgs/development/libraries/SDL2_mixer/default.nix
index 70d080e57ab87..d9e8d7e774a71 100644
--- a/pkgs/development/libraries/SDL2_mixer/default.nix
+++ b/pkgs/development/libraries/SDL2_mixer/default.nix
@@ -68,7 +68,7 @@ stdenv.mkDerivation rec {
     description = "SDL multi-channel audio mixer library";
     platforms = platforms.unix;
     homepage = "https://github.com/libsdl-org/SDL_mixer";
-    maintainers = with maintainers; [ MP2E ];
+    maintainers = with maintainers; [ ];
     license = licenses.zlib;
   };
 }
diff --git a/pkgs/development/libraries/SDL2_net/default.nix b/pkgs/development/libraries/SDL2_net/default.nix
index b07d860cf0c3b..1640c5e3b86bc 100644
--- a/pkgs/development/libraries/SDL2_net/default.nix
+++ b/pkgs/development/libraries/SDL2_net/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     description = "SDL multiplatform networking library";
     homepage = "https://www.libsdl.org/projects/SDL_net";
     license = licenses.zlib;
-    maintainers = with maintainers; [ MP2E ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/accounts-qt/default.nix b/pkgs/development/libraries/accounts-qt/default.nix
index 8a11d3375491e..8e5dd411fca28 100644
--- a/pkgs/development/libraries/accounts-qt/default.nix
+++ b/pkgs/development/libraries/accounts-qt/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, lib, fetchFromGitLab, doxygen, glib, libaccounts-glib, pkg-config, qmake, qtbase, wrapQtAppsHook }:
+{ stdenv, lib, fetchFromGitLab, gitUpdater, doxygen, glib, libaccounts-glib, pkg-config, qmake, qtbase, wrapQtAppsHook }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation (finalAttrs: {
   pname = "accounts-qt";
-  version = "1.16-unstable-2023-11-24";
+  version = "1.17";
 
   # pinned to fork with Qt6 support
   src = fetchFromGitLab {
-    owner = "nicolasfella";
+    owner = "accounts-sso";
     repo = "libaccounts-qt";
-    rev = "18557f7def9af8f4a9e0e93e9f575ae11e5066aa";
-    hash = "sha256-8FGZmg2ljSh1DYZfklMTrWN7Sdlk/Atw0qfpbb+GaBc=";
+    rev = "refs/tags/VERSION_${finalAttrs.version}";
+    hash = "sha256-mPZgD4r7vlUP6wklvZVknGqTXZBckSOtNzK7p6e2qSA=";
   };
 
   propagatedBuildInputs = [ glib libaccounts-glib ];
@@ -21,11 +21,15 @@ stdenv.mkDerivation {
     patchelf --shrink-rpath --allowed-rpath-prefixes "$NIX_STORE" "$out"/bin/*
   '';
 
+  passthru.updateScript = gitUpdater {
+    rev = "VERSION_";
+  };
+
   meta = with lib; {
     description = "Qt library for accessing the online accounts database";
     mainProgram = "accountstest";
-    homepage = "https://gitlab.com/accounts-sso";
+    homepage = "https://gitlab.com/accounts-sso/libaccounts-qt";
     license = licenses.lgpl21;
     platforms = platforms.linux;
   };
-}
+})
diff --git a/pkgs/development/libraries/adns/default.nix b/pkgs/development/libraries/adns/default.nix
index 50483758beb57..42edfc190c092 100644
--- a/pkgs/development/libraries/adns/default.nix
+++ b/pkgs/development/libraries/adns/default.nix
@@ -7,7 +7,6 @@ stdenv.mkDerivation rec {
   src = fetchurl {
     urls = [
       "https://www.chiark.greenend.org.uk/~ian/adns/ftp/adns-${version}.tar.gz"
-      "ftp://ftp.chiark.greenend.org.uk/users/ian/adns/adns-${version}.tar.gz"
       "mirror://gnu/adns/adns-${version}.tar.gz"
     ];
     sha256 = "1pi0xl07pav4zm2jrbrfpv43s1r1q1y12awgak8k7q41m5jp4hpv";
diff --git a/pkgs/development/libraries/audio/mbelib/default.nix b/pkgs/development/libraries/audio/mbelib/default.nix
index dccb738a30f4f..d67e18476a91b 100644
--- a/pkgs/development/libraries/audio/mbelib/default.nix
+++ b/pkgs/development/libraries/audio/mbelib/default.nix
@@ -20,6 +20,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/szechyjs/mbelib";
     license = licenses.isc;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ andrew-d ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/libraries/audio/rtaudio/default.nix b/pkgs/development/libraries/audio/rtaudio/default.nix
index 11305b3735bef..8084963f39fbb 100644
--- a/pkgs/development/libraries/audio/rtaudio/default.nix
+++ b/pkgs/development/libraries/audio/rtaudio/default.nix
@@ -18,6 +18,7 @@ stdenv.mkDerivation rec {
   pname = "rtaudio";
   version = "5.2.0";
 
+  # nixpkgs-update: no auto update
   src = fetchFromGitHub {
     owner = "thestk";
     repo = "rtaudio";
diff --git a/pkgs/development/libraries/audio/zix/default.nix b/pkgs/development/libraries/audio/zix/default.nix
index 0fc0635747e52..f6b6eceb4c04b 100644
--- a/pkgs/development/libraries/audio/zix/default.nix
+++ b/pkgs/development/libraries/audio/zix/default.nix
@@ -47,9 +47,6 @@ stdenv.mkDerivation rec {
     changelog = "https://gitlab.com/drobilla/zix/-/blob/${src.rev}/NEWS";
     license = licenses.isc;
     platforms = platforms.unix;
-    maintainers = with maintainers; [
-      fogti
-      yuu
-    ];
+    maintainers = with maintainers; [ yuu ];
   };
 }
diff --git a/pkgs/development/libraries/ayatana-ido/default.nix b/pkgs/development/libraries/ayatana-ido/default.nix
index 85c785be3cb37..7e15b74ebee47 100644
--- a/pkgs/development/libraries/ayatana-ido/default.nix
+++ b/pkgs/development/libraries/ayatana-ido/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ayatana-ido";
-  version = "0.10.1";
+  version = "0.10.2";
 
   src = fetchFromGitHub {
     owner = "AyatanaIndicators";
     repo = pname;
     rev = version;
-    sha256 = "sha256-uecUyqSL02SRdlLbWIy0luHACTFoyMXQ6rOIYuisZsw=";
+    sha256 = "sha256-Y+5fHUe1HAjU/cy7jWKE7zVQUezJNFg4q9tn7H1+NuA=";
   };
 
   nativeBuildInputs = [ pkg-config cmake ];
diff --git a/pkgs/development/libraries/babl/default.nix b/pkgs/development/libraries/babl/default.nix
index b3ec8194c92a9..e74947dd8194a 100644
--- a/pkgs/development/libraries/babl/default.nix
+++ b/pkgs/development/libraries/babl/default.nix
@@ -1,30 +1,36 @@
 { stdenv
 , lib
-, fetchpatch
 , fetchurl
 , meson
 , ninja
 , pkg-config
+, gi-docgen
 , gobject-introspection
 , lcms2
 , vala
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "babl";
-  version = "0.1.106";
+  version = "0.1.108";
 
-  outputs = [ "out" "dev" ];
+  outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
-    url = "https://download.gimp.org/pub/babl/${lib.versions.majorMinor version}/babl-${version}.tar.xz";
-    hash = "sha256-0yUTXTME8IjBNMxiABOs8DXeLl0SWlCi2RBU5zd8QV8=";
+    url = "https://download.gimp.org/pub/babl/${lib.versions.majorMinor finalAttrs.version}/babl-${finalAttrs.version}.tar.xz";
+    hash = "sha256-Jt7+neqresTQ4HbKtJwqDW69DfDDH9IJklpfB+3uFHU=";
   };
 
+  patches = [
+    # Allow overriding path to dev output that will be hardcoded e.g. in pkg-config file.
+    ./dev-prefix.patch
+  ];
+
   nativeBuildInputs = [
     meson
     ninja
     pkg-config
+    gi-docgen
     gobject-introspection
     vala
   ];
@@ -33,6 +39,15 @@ stdenv.mkDerivation rec {
     lcms2
   ];
 
+  mesonFlags = [
+    "-Dprefix-dev=${placeholder "dev"}"
+  ];
+
+  postFixup = ''
+    # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
+    moveToOutput "share/doc" "$devdoc"
+  '';
+
   meta = with lib; {
     description = "Image pixel format conversion library";
     mainProgram = "babl";
@@ -42,4 +57,4 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ jtojnar ];
     platforms = platforms.unix;
   };
-}
+})
diff --git a/pkgs/development/libraries/babl/dev-prefix.patch b/pkgs/development/libraries/babl/dev-prefix.patch
new file mode 100644
index 0000000000000..9dab6c6a9ad47
--- /dev/null
+++ b/pkgs/development/libraries/babl/dev-prefix.patch
@@ -0,0 +1,29 @@
+diff --git a/meson.build b/meson.build
+index 2350a1f..56f015d 100644
+--- a/meson.build
++++ b/meson.build
+@@ -551,7 +551,7 @@ pkgconfig.generate(
+   variables: [
+     'datadir=${prefix}/share',
+     'pluginsdir=${libdir}/@0@'.format(lib_name),
+-    'girdir=${datadir}/gir-1.0',
++    'girdir=@0@/share/gir-1.0'.format(get_option('prefix-dev')),
+     'typelibdir=${libdir}/girepository-1.0',
+   ],
+   uninstalled_variables: [
+diff --git a/meson_options.txt b/meson_options.txt
+index f9d558c..3cac593 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -9,6 +9,11 @@ option('enable-gir',
+   choices: ['auto', 'true', 'false'],
+   description: 'gobject introspection .gir generation'
+ )
++option('prefix-dev',
++  type: 'string',
++  value: '',
++  description: 'Like prefix but for dev output of the package'
++)
+ option('enable-vapi',
+   type: 'boolean',
+   value: 'true', 
diff --git a/pkgs/development/libraries/c-blosc/1.nix b/pkgs/development/libraries/c-blosc/1.nix
index 1060e44af0750..0ed22a2620eef 100644
--- a/pkgs/development/libraries/c-blosc/1.nix
+++ b/pkgs/development/libraries/c-blosc/1.nix
@@ -58,7 +58,7 @@ stdenv.mkDerivation (finalAttrs: {
   meta = with lib; {
     description = "A blocking, shuffling and loss-less compression library";
     homepage = "https://www.blosc.org";
-    changelog = "https://github.com/Blosc/c-blosc/releases/tag/v${version}";
+    changelog = "https://github.com/Blosc/c-blosc/releases/tag/v${finalAttrs.version}";
     pkgConfigModules = [
       "blosc"
     ];
diff --git a/pkgs/development/libraries/c-blosc/2.nix b/pkgs/development/libraries/c-blosc/2.nix
index 7c186b3a2e93f..b49518bead1bb 100644
--- a/pkgs/development/libraries/c-blosc/2.nix
+++ b/pkgs/development/libraries/c-blosc/2.nix
@@ -60,7 +60,7 @@ stdenv.mkDerivation (finalAttrs: {
   meta = with lib; {
     description = "A fast, compressed, persistent binary data store library for C";
     homepage = "https://www.blosc.org";
-    changelog = "https://github.com/Blosc/c-blosc2/releases/tag/v${version}";
+    changelog = "https://github.com/Blosc/c-blosc2/releases/tag/v${finalAttrs.version}";
     pkgConfigModules = [
       "blosc2"
     ];
diff --git a/pkgs/development/libraries/catboost/default.nix b/pkgs/development/libraries/catboost/default.nix
index fc18eef2ca893..6da5885223a68 100644
--- a/pkgs/development/libraries/catboost/default.nix
+++ b/pkgs/development/libraries/catboost/default.nix
@@ -1,8 +1,8 @@
 { lib
 , config
-, stdenv
 , fetchFromGitHub
 , cmake
+, darwin
 , libiconv
 , llvmPackages
 , ninja
@@ -13,18 +13,22 @@
 , zlib
 , cudaSupport ? config.cudaSupport
 , cudaPackages ? {}
+, llvmPackages_12
 , pythonSupport ? false
 }:
+let
+  inherit (llvmPackages) stdenv;
+in
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "catboost";
-  version = "1.2.2";
+  version = "1.2.3";
 
   src = fetchFromGitHub {
     owner = "catboost";
     repo = "catboost";
     rev = "refs/tags/v${finalAttrs.version}";
-    hash = "sha256-A1zCIqPOW21dHKBQHRtS+/sstZ2o6F8k71lmJFGn0+g=";
+    hash = "sha256-wn9STnpqX3zmdxPmMYAz9JPdg13Goux76CMaCiqohk8=";
   };
 
   patches = [
@@ -33,8 +37,8 @@ stdenv.mkDerivation (finalAttrs: {
 
   postPatch = ''
     substituteInPlace cmake/common.cmake \
-      --replace  "\''${RAGEL_BIN}" "${ragel}/bin/ragel" \
-      --replace "\''${YASM_BIN}" "${yasm}/bin/yasm"
+      --replace-fail  "\''${RAGEL_BIN}" "${ragel}/bin/ragel" \
+      --replace-fail "\''${YASM_BIN}" "${yasm}/bin/yasm"
 
     shopt -s globstar
     for cmakelists in **/CMakeLists.*; do
@@ -55,6 +59,8 @@ stdenv.mkDerivation (finalAttrs: {
     (python3Packages.python.withPackages (ps: with ps; [ six ]))
     ragel
     yasm
+  ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
+    darwin.cctools
   ] ++ lib.optionals cudaSupport (with cudaPackages; [
     cuda_nvcc
   ]);
@@ -71,17 +77,19 @@ stdenv.mkDerivation (finalAttrs: {
   ]);
 
   env = {
-    CUDAHOSTCXX = lib.optionalString cudaSupport "${stdenv.cc}/bin/cc";
+    # catboost requires clang 14+ for build, but does clang 12 for cuda build.
+    # after bumping the default version of llvm, check for compatibility with the cuda backend and pin it.
+    # see https://catboost.ai/en/docs/installation/build-environment-setup-for-cmake#compilers,-linkers-and-related-tools
+    CUDAHOSTCXX = lib.optionalString cudaSupport "${llvmPackages_12.stdenv.cc}/bin/cc";
     NIX_CFLAGS_LINK = lib.optionalString stdenv.isLinux "-fuse-ld=lld";
     NIX_LDFLAGS = "-lc -lm";
   };
 
   cmakeFlags = [
-    "-DCMAKE_BINARY_DIR=$out"
-    "-DCMAKE_POSITION_INDEPENDENT_CODE=on"
-    "-DCATBOOST_COMPONENTS=app;libs${lib.optionalString pythonSupport ";python-package"}"
-  ] ++ lib.optionals cudaSupport [
-    "-DHAVE_CUDA=on"
+    (lib.cmakeFeature "CMAKE_BINARY_DIR" "$out")
+    (lib.cmakeBool "CMAKE_POSITION_INDEPENDENT_CODE" true)
+    (lib.cmakeFeature "CATBOOST_COMPONENTS" "app;libs${lib.optionalString pythonSupport ";python-package"}")
+    (lib.cmakeBool "HAVE_CUDA" cudaSupport)
   ];
 
   installPhase = ''
diff --git a/pkgs/development/libraries/catboost/remove-conan.patch b/pkgs/development/libraries/catboost/remove-conan.patch
index 6f96b7989a587..44411ad4160ba 100644
--- a/pkgs/development/libraries/catboost/remove-conan.patch
+++ b/pkgs/development/libraries/catboost/remove-conan.patch
@@ -1,26 +1,26 @@
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index becd2ad03c..7e3c8c99b1 100644
+index ed6c53b220..5c6fb8f157 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -27,7 +27,6 @@ cmake_policy(SET CMP0104 OLD)
- 
+@@ -29,7 +29,6 @@ include(cmake/global_flags.cmake)
+ include(cmake/global_vars.cmake)
  include(cmake/archive.cmake)
  include(cmake/common.cmake)
 -include(cmake/conan.cmake)
  include(cmake/cuda.cmake)
  include(cmake/cython.cmake)
  include(cmake/fbs.cmake)
-@@ -37,21 +36,6 @@ include(cmake/recursive_library.cmake)
+@@ -38,21 +37,6 @@ include(cmake/recursive_library.cmake)
+ include(cmake/shared_libs.cmake)
  include(cmake/swig.cmake)
- include(cmake/global_vars.cmake)
  
 -if (CMAKE_CROSSCOMPILING)
--  include(${CMAKE_BINARY_DIR}/conan_paths.cmake)
+-  include(${PROJECT_BINARY_DIR}/conan_paths.cmake)
 -else()
 -  conan_cmake_autodetect(settings)
 -  conan_cmake_install(
--    PATH_OR_REFERENCE ${CMAKE_SOURCE_DIR}
--    INSTALL_FOLDER ${CMAKE_BINARY_DIR}
+-    PATH_OR_REFERENCE ${PROJECT_SOURCE_DIR}
+-    INSTALL_FOLDER ${PROJECT_BINARY_DIR}
 -    BUILD missing
 -    REMOTE conancenter
 -    SETTINGS ${settings}
diff --git a/pkgs/development/libraries/cista/default.nix b/pkgs/development/libraries/cista/default.nix
index 30070fe02daed..e2f302b5812b3 100644
--- a/pkgs/development/libraries/cista/default.nix
+++ b/pkgs/development/libraries/cista/default.nix
@@ -1,4 +1,9 @@
-{ lib, stdenv, fetchFromGitHub, cmake }:
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  cmake,
+}:
 
 stdenv.mkDerivation rec {
   pname = "cista";
@@ -19,7 +24,7 @@ stdenv.mkDerivation rec {
     homepage = "https://cista.rocks";
     description = "A simple, high-performance, zero-copy C++ serialization & reflection library";
     license = licenses.mit;
-    maintainers = [];
+    maintainers = [ maintainers.sigmanificient ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/codec2/default.nix b/pkgs/development/libraries/codec2/default.nix
index 8637f5b7ab2dc..7f127870032cf 100644
--- a/pkgs/development/libraries/codec2/default.nix
+++ b/pkgs/development/libraries/codec2/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "codec2";
-  version = "1.1.1";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "drowe67";
     repo = "codec2";
-    rev = "v${version}";
-    hash = "sha256-p1WMp17PCnr50bXDSd6A4Je7AfKVHuLmyEue9221zPs=";
+    rev = "${version}";
+    hash = "sha256-69Mp4o3MgV98Fqfai4txv5jQw2WpoPuoWcwHsNAFPQM=";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -24,9 +24,8 @@ stdenv.mkDerivation rec {
     lpcnetfreedv
   ];
 
-  # Install a binary that is used by openwebrx
   postInstall = ''
-    install -Dm0755 src/freedv_rx -t $out/bin/
+    install -Dm0755 src/{c2enc,c2sim,freedv_rx,freedv_tx,cohpsk_*,fdmdv_*,fsk_*,ldpc_*,ofdm_*} -t $out/bin/
   '';
 
   # Swap keyword order to satisfy SWIG parser
@@ -43,7 +42,6 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Speech codec designed for communications quality speech at low data rates";
-    mainProgram = "freedv_rx";
     homepage = "https://www.rowetel.com/codec2.html";
     license = licenses.lgpl21Only;
     platforms = platforms.unix;
diff --git a/pkgs/development/libraries/coost/default.nix b/pkgs/development/libraries/coost/default.nix
index 3d0c15bbc2efd..7a259d44faf05 100644
--- a/pkgs/development/libraries/coost/default.nix
+++ b/pkgs/development/libraries/coost/default.nix
@@ -1,5 +1,14 @@
-{ lib, stdenv, fetchFromGitHub, cmake, curl, openssl, gitUpdater
-, withCurl ? true, withOpenSSL ? true }:
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  cmake,
+  curl,
+  openssl,
+  gitUpdater,
+  withCurl ? true,
+  withOpenSSL ? true,
+}:
 
 stdenv.mkDerivation rec {
   pname = "coost";
@@ -21,9 +30,9 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake ];
   buildInputs = lib.optional withCurl curl ++ lib.optional withOpenSSL openssl;
 
-  cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ]
-    ++ lib.optional withCurl "-DWITH_LIBCURL=ON"
-    ++ lib.optional withOpenSSL "-DWITH_OPENSSL=ON";
+  cmakeFlags = [
+    "-DBUILD_SHARED_LIBS=ON"
+  ] ++ lib.optional withCurl "-DWITH_LIBCURL=ON" ++ lib.optional withOpenSSL "-DWITH_OPENSSL=ON";
 
   passthru.updateScript = gitUpdater { };
 
@@ -31,7 +40,7 @@ stdenv.mkDerivation rec {
     description = "A tiny boost library in C++11";
     homepage = "https://github.com/idealvin/coost";
     license = licenses.mit;
-    maintainers = [];
+    maintainers = [ maintainers.sigmanificient ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/ctranslate2/default.nix b/pkgs/development/libraries/ctranslate2/default.nix
index dbd213f8a3f07..369630c81243a 100644
--- a/pkgs/development/libraries/ctranslate2/default.nix
+++ b/pkgs/development/libraries/ctranslate2/default.nix
@@ -24,13 +24,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "ctranslate2";
-  version = "4.2.0";
+  version = "4.2.1";
 
   src = fetchFromGitHub {
     owner = "OpenNMT";
     repo = "CTranslate2";
     rev = "v${version}";
-    hash = "sha256-P/aXrzaCF6Rz99Pz9CkpR/FlWXCj04q/4swiAddcwKk=";
+    hash = "sha256-Bg25HL7BDM+SHtM0m7mJ3mAdpFe4kefdiDx5Ek1pQBs=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/development/libraries/dbus-cplusplus/default.nix b/pkgs/development/libraries/dbus-cplusplus/default.nix
index 3100163632532..13776e891ce50 100644
--- a/pkgs/development/libraries/dbus-cplusplus/default.nix
+++ b/pkgs/development/libraries/dbus-cplusplus/default.nix
@@ -52,7 +52,12 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ dbus glib expat ];
 
-  configureFlags = [ "--disable-ecore" "--disable-tests" ];
+  configureFlags = [
+    "--disable-ecore"
+    "--disable-tests"
+  ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
+    "--disable-examples"
+  ];
 
   meta = with lib; {
     homepage = "https://dbus-cplusplus.sourceforge.net";
diff --git a/pkgs/development/libraries/draco/default.nix b/pkgs/development/libraries/draco/default.nix
index c4ed0730cdacf..677c7e636986d 100644
--- a/pkgs/development/libraries/draco/default.nix
+++ b/pkgs/development/libraries/draco/default.nix
@@ -59,7 +59,7 @@ stdenv.mkDerivation (finalAttrs: {
   meta = with lib; {
     description = "Library for compressing and decompressing 3D geometric meshes and point clouds";
     homepage = "https://google.github.io/draco/";
-    changelog = "https://github.com/google/draco/releases/tag/${version}";
+    changelog = "https://github.com/google/draco/releases/tag/${finalAttrs.version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ jansol ];
     platforms = platforms.all;
diff --git a/pkgs/development/libraries/fizz/default.nix b/pkgs/development/libraries/fizz/default.nix
index 5415dde6ca856..cc7a249cf76fb 100644
--- a/pkgs/development/libraries/fizz/default.nix
+++ b/pkgs/development/libraries/fizz/default.nix
@@ -77,7 +77,7 @@ stdenv.mkDerivation (finalAttrs: {
   meta = with lib; {
     description = "C++14 implementation of the TLS-1.3 standard";
     homepage = "https://github.com/facebookincubator/fizz";
-    changelog = "https://github.com/facebookincubator/fizz/releases/tag/v${version}";
+    changelog = "https://github.com/facebookincubator/fizz/releases/tag/v${finalAttrs.version}";
     license = licenses.bsd3;
     platforms = platforms.unix;
     maintainers = with maintainers; [ pierreis kylesferrazza ];
diff --git a/pkgs/development/libraries/giflib/default.nix b/pkgs/development/libraries/giflib/default.nix
index a73d12061250e..9c24d11d4abc3 100644
--- a/pkgs/development/libraries/giflib/default.nix
+++ b/pkgs/development/libraries/giflib/default.nix
@@ -21,8 +21,8 @@ stdenv.mkDerivation rec {
   ] ++ lib.optionals stdenv.hostPlatform.isMinGW [
     # Build dll libraries.
     (fetchurl {
-      url = "https://aur.archlinux.org/cgit/aur.git/plain/001-mingw-build.patch?h=mingw-w64-giflib&id=4cf1e519bcf51338dc607d23388fca47d71790c0";
-      sha256 = "KyJi3eqH/Ae+guEK6znraZI5+IPImaoYoW5NTkCvjsg=";
+      url = "https://aur.archlinux.org/cgit/aur.git/plain/001-mingw-build.patch?h=mingw-w64-giflib&id=b7311edf54824ac797c7916cd3ddc3a4b2368a19";
+      hash = "sha256-bBx7lw7FWtxZJ+E9AAbKIpCGcJnS5lrGpjYcv/zBtKk=";
     })
 
     # Install executables.
diff --git a/pkgs/development/libraries/gnu-efi/default.nix b/pkgs/development/libraries/gnu-efi/default.nix
index e9746271ea27e..3f832ad5d5775 100644
--- a/pkgs/development/libraries/gnu-efi/default.nix
+++ b/pkgs/development/libraries/gnu-efi/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnu-efi";
-  version = "3.0.15";
+  version = "3.0.18";
 
   src = fetchurl {
     url = "mirror://sourceforge/gnu-efi/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-kxole5xcG6Zf9Rnxg3PEOKJoJfLbeGaxY+ltGxaPIOo=";
+    hash = "sha256-fyEslu5mVH7u+1MSZ7ZB5Uc9fYUp8L2Mze/TPPdBP1w=";
   };
 
   buildInputs = [ pciutils ];
diff --git a/pkgs/development/libraries/grpc/default.nix b/pkgs/development/libraries/grpc/default.nix
index 1e8804237b992..bf9b58ec4a092 100644
--- a/pkgs/development/libraries/grpc/default.nix
+++ b/pkgs/development/libraries/grpc/default.nix
@@ -106,7 +106,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)";
     license = licenses.asl20;
-    maintainers = with maintainers; [ lnl7 marsam ];
+    maintainers = with maintainers; [ lnl7 ];
     homepage = "https://grpc.io/";
     platforms = platforms.all;
     changelog = "https://github.com/grpc/grpc/releases/tag/v${version}";
diff --git a/pkgs/development/libraries/gtk/3.x.nix b/pkgs/development/libraries/gtk/3.x.nix
index 4692bbc971266..b2b156051bf89 100644
--- a/pkgs/development/libraries/gtk/3.x.nix
+++ b/pkgs/development/libraries/gtk/3.x.nix
@@ -264,6 +264,6 @@ stdenv.mkDerivation (finalAttrs: {
       "gtk+-x11-3.0"
     ];
     platforms = platforms.all;
-    changelog = "https://gitlab.gnome.org/GNOME/gtk/-/raw/${version}/NEWS";
+    changelog = "https://gitlab.gnome.org/GNOME/gtk/-/raw/${finalAttrs.version}/NEWS";
   };
 })
diff --git a/pkgs/development/libraries/gusb/default.nix b/pkgs/development/libraries/gusb/default.nix
index 515eeb7de975a..27f9174c444d9 100644
--- a/pkgs/development/libraries/gusb/default.nix
+++ b/pkgs/development/libraries/gusb/default.nix
@@ -23,7 +23,7 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "gusb";
-  version = "0.4.8";
+  version = "0.4.9";
 
   outputs = [ "bin" "out" "dev" "devdoc" ];
 
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     owner = "hughsie";
     repo = "libgusb";
     rev = "refs/tags/${version}";
-    hash = "sha256-xhWx45uOh8Yokd3/32CQ6tsdkgGaYUOvaylrq/jmoP0=";
+    hash = "sha256-piIPNLc3deToyQaajXFvM+CKh9ni8mb0P3kb+2RoJOs=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/howard-hinnant-date/default.nix b/pkgs/development/libraries/howard-hinnant-date/default.nix
index 4f3e74f5d8a89..f7af4975de561 100644
--- a/pkgs/development/libraries/howard-hinnant-date/default.nix
+++ b/pkgs/development/libraries/howard-hinnant-date/default.nix
@@ -33,6 +33,13 @@ stdenv.mkDerivation rec {
       src = ./make-zoneinfo-available.diff;
       inherit tzdata;
     })
+    # The reported version to cmake's find_package() is 3.0.0, but the actual
+    # version is 3.0.1. This patch fixes that.
+    (fetchpatch {
+      name = "fix-cmake-version.patch";
+      url = "https://github.com/HowardHinnant/date/commit/2e19c006e2218447ee31f864191859517603f59f.patch";
+      hash = "sha256-SRAWrwv64ap3Qh3RlhwqgS0L2YsrjqVSgw6iH3KlWvk=";
+    })
   ];
 
   # Tweaks to fix undefined variable substitutions
diff --git a/pkgs/development/libraries/hunspell/dictionaries.nix b/pkgs/development/libraries/hunspell/dictionaries.nix
index 3f6127502d686..78c9ad7fe7b59 100644
--- a/pkgs/development/libraries/hunspell/dictionaries.nix
+++ b/pkgs/development/libraries/hunspell/dictionaries.nix
@@ -828,14 +828,14 @@ rec {
   th_TH = th-th;
   th-th = mkDict {
     pname = "hunspell-dict-th-th";
-    version = "experimental-2024-02-27";
+    version = "experimental-2024-04-15";
     dictFileName = "th_TH";
     readmeFile = "README.md";
     src = fetchFromGitHub {
       owner = "SyafiqHadzir";
       repo = "Hunspell-TH";
-      rev = "62d35f9211ca1eb4c367eac2ae57193efe6e88d2";
-      sha256 = "sha256-t4m4u+qIgJPrKz58Cu2Q+knYm/+cvrNLzQsiiSRTB1A=";
+      rev = "419eb32115b936da9c949e35b35c29b8187f6c93";
+      sha256 = "sha256-aXjof5dcEoCmep3PtvVkBhcgcd2NtqUpUEu37wsi1Uk=";
     };
     meta = with lib; {
       description = "Hunspell dictionary for Central Thai (Thailand)";
diff --git a/pkgs/development/libraries/jansson/default.nix b/pkgs/development/libraries/jansson/default.nix
index fbc9a676a85cd..e86832420969c 100644
--- a/pkgs/development/libraries/jansson/default.nix
+++ b/pkgs/development/libraries/jansson/default.nix
@@ -25,6 +25,6 @@ stdenv.mkDerivation rec {
     changelog = "https://github.com/akheron/jansson/raw/v${version}/CHANGES";
     license = licenses.mit;
     platforms = platforms.all;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/libraries/kddockwidgets/default.nix b/pkgs/development/libraries/kddockwidgets/default.nix
index 29b7bf9927756..a1020fe986797 100644
--- a/pkgs/development/libraries/kddockwidgets/default.nix
+++ b/pkgs/development/libraries/kddockwidgets/default.nix
@@ -1,24 +1,32 @@
 { lib
-, mkDerivation
+, stdenv
 , fetchFromGitHub
 , cmake
 , qtbase
+, qtdeclarative
+, qtquickcontrols2
 , qtx11extras
+, spdlog
+, fmt
+, nlohmann_json
 }:
 
-mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "KDDockWidgets";
-  version = "1.7.0";
+  version = "2.0.0";
 
   src = fetchFromGitHub {
     owner = "KDAB";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-k5Hn9kxq1+tH5kV/ZeD4xzQLDgcY4ACC+guP7YJD4C8=";
+    sha256 = "sha256-V4BMD1kYyaMlqNBo8otpV5yBt/PICzhBTkEMX9N3lbk=";
   };
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ qtbase qtx11extras ];
+  buildInputs = [ spdlog fmt nlohmann_json ];
+  propagatedBuildInputs = [ qtbase qtdeclarative qtquickcontrols2 qtx11extras ];
+
+  dontWrapQtApps = true;
 
   meta = with lib; {
     description = "KDAB's Dock Widget Framework for Qt";
diff --git a/pkgs/development/libraries/leatherman/default.nix b/pkgs/development/libraries/leatherman/default.nix
index 06b528ff8cf79..80038b79442af 100644
--- a/pkgs/development/libraries/leatherman/default.nix
+++ b/pkgs/development/libraries/leatherman/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "leatherman";
-  version = "1.12.12";
+  version = "1.12.13";
 
   src = fetchFromGitHub {
-    sha256 = "sha256-V/AMdJ3ldlgBaO8gS0FOqb5tTdRGGW/+3LZq/TKkdog=";
+    sha256 = "sha256-rfh4JLnLekx9UhyLH6eDJUeItPROmY/Lc6mcWpbGb3s=";
     rev = version;
     repo = "leatherman";
     owner = "puppetlabs";
diff --git a/pkgs/development/libraries/level-zero/default.nix b/pkgs/development/libraries/level-zero/default.nix
index ba4a86f901977..a098a0ea5b6b3 100644
--- a/pkgs/development/libraries/level-zero/default.nix
+++ b/pkgs/development/libraries/level-zero/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "level-zero";
-  version = "1.16.14";
+  version = "1.16.15";
 
   src = fetchFromGitHub {
     owner = "oneapi-src";
     repo = "level-zero";
     rev = "refs/tags/v${version}";
-    hash = "sha256-kMXxPfKL7HsQAkdyDGiuSITJ2WtOes8pJ92sWg7JkgM=";
+    hash = "sha256-J+XIqaV1ThD0RqqcyIkzvTWCkIztjkHzGzUbj0qojJs=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/libaccounts-glib/default.nix b/pkgs/development/libraries/libaccounts-glib/default.nix
index c540f4bc26ec3..310d13c978b30 100644
--- a/pkgs/development/libraries/libaccounts-glib/default.nix
+++ b/pkgs/development/libraries/libaccounts-glib/default.nix
@@ -1,17 +1,17 @@
-{ lib, stdenv, fetchFromGitLab, meson, mesonEmulatorHook, ninja, glib, check, python3, vala, gtk-doc, glibcLocales
+{ lib, stdenv, fetchFromGitLab, gitUpdater, meson, mesonEmulatorHook, ninja, glib, check, python3, vala, gtk-doc, glibcLocales
 , libxml2, libxslt, pkg-config, sqlite, docbook_xsl, docbook_xml_dtd_43, gobject-introspection }:
 
 stdenv.mkDerivation rec {
   pname = "libaccounts-glib";
-  version = "1.26";
+  version = "1.27";
 
   outputs = [ "out" "dev" "devdoc" "py" ];
 
   src = fetchFromGitLab {
     owner = "accounts-sso";
     repo = "libaccounts-glib";
-    rev = version;
-    sha256 = "sha256-KVKylt+XjLfidsS2KzT7oFXP6rTR528lYAUP8dffu7k=";
+    rev = "VERSION_${version}";
+    sha256 = "sha256-mLhcwp8rhCGSB1K6rTWT0tuiINzgwULwXINfCbgPKEg=";
   };
 
   nativeBuildInputs = [
@@ -46,11 +46,17 @@ stdenv.mkDerivation rec {
   LC_ALL = "en_US.UTF-8";
 
   mesonFlags = [
+    "-Dinstall-py-overrides=true"
     "-Dpy-overrides-dir=${placeholder "py"}/${python3.sitePackages}/gi/overrides"
   ];
 
+  passthru.updateScript = gitUpdater {
+    rev = "VERSION_";
+  };
+
   meta = with lib; {
     description = "Library for managing accounts which can be used from GLib applications";
+    homepage = "https://gitlab.com/accounts-sso/libaccounts-glib";
     platforms = platforms.linux;
     license = licenses.lgpl21;
   };
diff --git a/pkgs/development/libraries/libcec/default.nix b/pkgs/development/libraries/libcec/default.nix
index 90ffcb01cf91f..78746cf012541 100644
--- a/pkgs/development/libraries/libcec/default.nix
+++ b/pkgs/development/libraries/libcec/default.nix
@@ -40,6 +40,6 @@ stdenv.mkDerivation rec {
     homepage = "http://libcec.pulse-eight.com";
     license = lib.licenses.gpl2Plus;
     platforms = platforms.linux;
-    maintainers = [ maintainers.titanous ];
+    maintainers = teams.kodi.members;
   };
 }
diff --git a/pkgs/development/libraries/libcec/platform.nix b/pkgs/development/libraries/libcec/platform.nix
index d9594c90b624a..ce109cab6dcff 100644
--- a/pkgs/development/libraries/libcec/platform.nix
+++ b/pkgs/development/libraries/libcec/platform.nix
@@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/Pulse-Eight/platform";
     license = lib.licenses.gpl2Plus;
     platforms = platforms.all;
-    maintainers = [ maintainers.titanous ];
+    maintainers = teams.kodi.members;
   };
 }
diff --git a/pkgs/development/libraries/libdatachannel/default.nix b/pkgs/development/libraries/libdatachannel/default.nix
index 9c090399dbc5e..6179bdac6d10f 100644
--- a/pkgs/development/libraries/libdatachannel/default.nix
+++ b/pkgs/development/libraries/libdatachannel/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libdatachannel";
-  version = "0.20.2";
+  version = "0.20.3";
 
   src = fetchFromGitHub {
     owner = "paullouisageneau";
     repo = "libdatachannel";
     rev = "v${version}";
-    hash = "sha256-bBSsD845iwCMA7TdMBxzezjNbMaGwvRq6rvY/8NLYRU=";
+    hash = "sha256-QVyHDeT5gh+e3jOx9PjubIVq1xQ9eA7CxbP91X/xxT8=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/libeatmydata/default.nix b/pkgs/development/libraries/libeatmydata/default.nix
index 7be484538ab12..9e8d5970431c9 100644
--- a/pkgs/development/libraries/libeatmydata/default.nix
+++ b/pkgs/development/libraries/libeatmydata/default.nix
@@ -2,6 +2,7 @@
 , stdenv
 , fetchFromGitHub
 , fetchpatch2
+, fetchurl
 , autoreconfHook
 , strace
 , which
@@ -24,6 +25,16 @@ stdenv.mkDerivation rec {
       url = "https://raw.githubusercontent.com/void-linux/void-packages/861ac185a6b60134292ff93d40e40b5391d0aa8e/srcpkgs/libeatmydata/patches/musl.patch";
       hash = "sha256-MZfTgf2Qn94UpPlYNRM2zK99iKQorKQrlbU5/1WJhJM=";
     })
+
+    # Don't use transitional LFS64 API, removed in musl 1.2.4.
+    (fetchurl {
+      url = "https://git.alpinelinux.org/aports/plain/main/libeatmydata/lfs64.patch?id=f87f2c59384cc4a8a1b71aaa875be2b3ae2dbce0";
+      hash = "sha256-5Jhy9gunKcbrSmLh0DoP/uwJLgaLd+zKV2iVxiDwiHs=";
+    })
+  ];
+
+  configureFlags = [
+    "CFLAGS=-D_FILE_OFFSET_BITS=64"
   ];
 
   postPatch = ''
diff --git a/pkgs/development/libraries/libfyaml/default.nix b/pkgs/development/libraries/libfyaml/default.nix
index f594d64095c42..40e7ab53240ed 100644
--- a/pkgs/development/libraries/libfyaml/default.nix
+++ b/pkgs/development/libraries/libfyaml/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation (finalAttrs: {
     homepage = "https://github.com/pantoniou/libfyaml";
     changelog = "https://github.com/pantoniou/libfyaml/releases/tag/v${finalAttrs.version}";
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     pkgConfigModules = [ "libfyaml" ];
     platforms = platforms.all;
   };
diff --git a/pkgs/development/libraries/libglibutil/default.nix b/pkgs/development/libraries/libglibutil/default.nix
index acd8b374b58b9..66fa722573fd3 100644
--- a/pkgs/development/libraries/libglibutil/default.nix
+++ b/pkgs/development/libraries/libglibutil/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libglibutil";
-  version = "1.0.76";
+  version = "1.0.77";
 
   src = fetchFromGitHub {
     owner = "sailfishos";
     repo = pname;
     rev = version;
-    sha256 = "sha256-qp3zcaoLM6G3DZgb2Jic1OhHetraEmYRiGkbQlSBnjs=";
+    sha256 = "sha256-SLpyQsRl7yfCAgK3udSSQo8OZOf6FRCzFKIDDUKg1gs=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/libhdhomerun/default.nix b/pkgs/development/libraries/libhdhomerun/default.nix
index 427ad20eca32b..c35db9e46b430 100644
--- a/pkgs/development/libraries/libhdhomerun/default.nix
+++ b/pkgs/development/libraries/libhdhomerun/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
     mainProgram = "hdhomerun_config";
     homepage = "https://www.silicondust.com/support/linux";
     license = licenses.lgpl21Only;
-    maintainers = with maintainers; [ sielicki titanous ];
+    maintainers = with maintainers; [ sielicki ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libimagequant/default.nix b/pkgs/development/libraries/libimagequant/default.nix
index 8d8acfd835d0d..3473a7aa4e166 100644
--- a/pkgs/development/libraries/libimagequant/default.nix
+++ b/pkgs/development/libraries/libimagequant/default.nix
@@ -62,6 +62,6 @@ rustPlatform.buildRustPackage rec {
     longDescription = "Small, portable C library for high-quality conversion of RGBA images to 8-bit indexed-color (palette) images.";
     license = licenses.gpl3Plus;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ ma9e marsam ];
+    maintainers = with maintainers; [ ma9e ];
   };
 }
diff --git a/pkgs/development/libraries/libime/default.nix b/pkgs/development/libraries/libime/default.nix
index ff9301eb9caf0..69a6a033fc095 100644
--- a/pkgs/development/libraries/libime/default.nix
+++ b/pkgs/development/libraries/libime/default.nix
@@ -21,21 +21,21 @@ let
     url = "https://download.fcitx-im.org/data/lm_sc.arpa-${arpaVer}.tar.xz";
     hash = "sha256-ut1iwWxjc3h6D9qPCc1FLRL2DVhohW9lHO7PGge6ujI=";
   };
-  dictVer = "20230412";
+  dictVer = "20240416";
   dict = fetchurl {
-    url = "https://download.fcitx-im.org/data/dict-${dictVer}.tar.xz";
-    hash = "sha256-8F/Mr/loeQCqw9mtWoGyCIi1cyAUA/vNm7x5B9npdQc=";
+    url = "https://download.fcitx-im.org/data/dict-${dictVer}.tar.zst";
+    hash = "sha256-nCYsv6MGy0w7BVmRt+IrRT4PJn8gzrXZ2eX4++Ty02c=";
   };
 in
 stdenv.mkDerivation rec {
   pname = "libime";
-  version = "1.1.6";
+  version = "1.1.7";
 
   src = fetchFromGitHub {
     owner = "fcitx";
     repo = "libime";
     rev = version;
-    hash = "sha256-PhzJtAGmSkMeXMSe2uR/JKHKlZtL0e3tPDZVoRCvAis=";
+    hash = "sha256-I8zznZlMz1U2DAVYkvtF1thEYz/tIEbA682y7czK5ck=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/development/libraries/libjxl/default.nix b/pkgs/development/libraries/libjxl/default.nix
index 38414e56d7d2f..c91ae27f68054 100644
--- a/pkgs/development/libraries/libjxl/default.nix
+++ b/pkgs/development/libraries/libjxl/default.nix
@@ -18,6 +18,7 @@
 , doxygen
 , python3
 , lcms2
+, enablePlugins ? stdenv.buildPlatform.canExecute stdenv.hostPlatform
 }:
 
 let
@@ -106,7 +107,7 @@ stdenv.mkDerivation rec {
     # TODO: Update this package to enable this (overridably via an option):
     # Viewer tools for evaluation.
     # "-DJPEGXL_ENABLE_VIEWERS=ON"
-
+  ] ++ lib.optionals enablePlugins [
     # Enable plugins, such as:
     # * the `gdk-pixbuf` one, which allows applications like `eog` to load jpeg-xl files
     # * the `gimp` one, which allows GIMP to load jpeg-xl files
@@ -122,7 +123,7 @@ stdenv.mkDerivation rec {
       --replace '/usr/bin/gdk-pixbuf-thumbnailer' "$out/libexec/gdk-pixbuf-thumbnailer-jxl"
   '';
 
-  postInstall = ''
+  postInstall = lib.optionalString enablePlugins ''
     GDK_PIXBUF_MODULEDIR="$out/${gdk-pixbuf.moduleDir}" \
     GDK_PIXBUF_MODULE_FILE="$out/${loadersPath}" \
       gdk-pixbuf-query-loaders --update-cache
diff --git a/pkgs/development/libraries/libkqueue/default.nix b/pkgs/development/libraries/libkqueue/default.nix
index 5f96353d9d69f..54b6b2beecac8 100644
--- a/pkgs/development/libraries/libkqueue/default.nix
+++ b/pkgs/development/libraries/libkqueue/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/mheily/libkqueue";
     changelog = "https://github.com/mheily/libkqueue/raw/v${version}/ChangeLog";
     license = licenses.bsd2;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/liboqs/default.nix b/pkgs/development/libraries/liboqs/default.nix
index 4962f9459d79d..e703dc3647faa 100644
--- a/pkgs/development/libraries/liboqs/default.nix
+++ b/pkgs/development/libraries/liboqs/default.nix
@@ -1,9 +1,10 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, cmake
-, openssl
-, enableStatic ? stdenv.hostPlatform.isStatic
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  cmake,
+  openssl,
+  enableStatic ? stdenv.hostPlatform.isStatic,
 }:
 
 stdenv.mkDerivation rec {
@@ -35,6 +36,6 @@ stdenv.mkDerivation rec {
     homepage = "https://openquantumsafe.org";
     license = licenses.mit;
     platforms = platforms.all;
-    maintainers = [];
+    maintainers = [ maintainers.sigmanificient ];
   };
 }
diff --git a/pkgs/development/libraries/libowlevelzs/default.nix b/pkgs/development/libraries/libowlevelzs/default.nix
index 46c05e6960a02..7bf8386f252f0 100644
--- a/pkgs/development/libraries/libowlevelzs/default.nix
+++ b/pkgs/development/libraries/libowlevelzs/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     description = "Zscheile Lowlevel (utility) library";
     homepage = "https://github.com/fogti/libowlevelzs";
     license = licenses.mit;
-    maintainers = [ maintainers.fogti ];
+    maintainers = [ ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/libpg_query/default.nix b/pkgs/development/libraries/libpg_query/default.nix
index ad7043e064e3a..46920c977cbc5 100644
--- a/pkgs/development/libraries/libpg_query/default.nix
+++ b/pkgs/development/libraries/libpg_query/default.nix
@@ -34,6 +34,6 @@ stdenv.mkDerivation rec {
     changelog = "https://github.com/pganalyze/libpg_query/blob/${version}/CHANGELOG.md";
     license = licenses.bsd3;
     platforms = platforms.unix;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/libraries/libqb/default.nix b/pkgs/development/libraries/libqb/default.nix
index 8e798e4a38a49..fe54cdf3d338f 100644
--- a/pkgs/development/libraries/libqb/default.nix
+++ b/pkgs/development/libraries/libqb/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, libxml2 }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, pkg-config, libxml2 }:
 
 stdenv.mkDerivation rec {
   pname = "libqb";
@@ -11,6 +11,14 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-ZjxC7W4U8T68mZy/OvWj/e4W9pJIj2lVDoEjxXYr/G8=";
   };
 
+  patches = [
+    # add a declaration of fdatasync, missing on darwin https://github.com/ClusterLabs/libqb/pull/496
+    (fetchpatch {
+      url = "https://github.com/ClusterLabs/libqb/commit/255ccb70ee19cc0c82dd13e4fd5838ca5427795f.patch";
+      hash = "sha256-6x4B3FM0XSRIeAly8JtMOGOdyunTcbaDzUeBZInXR4U=";
+    })
+  ];
+
   nativeBuildInputs = [ autoreconfHook pkg-config ];
 
   buildInputs = [ libxml2 ];
diff --git a/pkgs/development/libraries/librime/default.nix b/pkgs/development/libraries/librime/default.nix
index acf779f3304cd..4a95915d4205b 100644
--- a/pkgs/development/libraries/librime/default.nix
+++ b/pkgs/development/libraries/librime/default.nix
@@ -11,13 +11,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "librime";
-  version = "1.11.0";
+  version = "1.11.2";
 
   src = fetchFromGitHub {
     owner = "rime";
     repo = pname;
     rev = version;
-    sha256 = "sha256-yP7YmmeA3k0/NI4XPsC/k2BX4mMnyMJvguiFZIWo8I8=";
+    sha256 = "sha256-QHuzpitxSYQ4EcBPY1f0R5zl4UFtefu0bFXA76Iv+j0=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/development/libraries/libsolv/default.nix b/pkgs/development/libraries/libsolv/default.nix
index 6af948f678284..60e7da2907263 100644
--- a/pkgs/development/libraries/libsolv/default.nix
+++ b/pkgs/development/libraries/libsolv/default.nix
@@ -13,6 +13,7 @@
 , withRpm ? !stdenv.isDarwin
 , rpm
 , db
+, withConda ? true
 }:
 
 stdenv.mkDerivation rec {
@@ -23,11 +24,12 @@ stdenv.mkDerivation rec {
     owner = "openSUSE";
     repo = "libsolv";
     rev = version;
-    sha256 = "sha256-cL7SDwCzXM2qJQfiu/3nfAiFbcFNn1YXD23Sl3n9nzY=";
+    hash = "sha256-cL7SDwCzXM2qJQfiu/3nfAiFbcFNn1YXD23Sl3n9nzY=";
   };
 
   cmakeFlags = [
     "-DENABLE_COMPLEX_DEPS=true"
+    (lib.cmakeBool "ENABLE_CONDA" withConda)
     "-DENABLE_LZMA_COMPRESSION=true"
     "-DENABLE_BZIP2_COMPRESSION=true"
     "-DENABLE_ZSTD_COMPRESSION=true"
diff --git a/pkgs/development/libraries/libsv/default.nix b/pkgs/development/libraries/libsv/default.nix
index 9c62799375603..4136c64714070 100644
--- a/pkgs/development/libraries/libsv/default.nix
+++ b/pkgs/development/libraries/libsv/default.nix
@@ -1,4 +1,9 @@
-{ lib, stdenv, fetchFromGitHub, cmake }:
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  cmake,
+}:
 
 stdenv.mkDerivation rec {
   pname = "libsv";
@@ -17,7 +22,7 @@ stdenv.mkDerivation rec {
     description = "Public domain cross-platform semantic versioning in C99";
     homepage = "https://github.com/uael/sv";
     license = licenses.unlicense;
-    maintainers = [];
+    maintainers = [ lib.maintainers.sigmanificient ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libucontext/default.nix b/pkgs/development/libraries/libucontext/default.nix
index 1ce0e443b352a..23301648bdf94 100644
--- a/pkgs/development/libraries/libucontext/default.nix
+++ b/pkgs/development/libraries/libucontext/default.nix
@@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
     description = "ucontext implementation featuring glibc-compatible ABI";
     license = licenses.isc;
     platforms = platforms.linux;
-    maintainers = [ maintainers.yuka ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/libraries/libuv/default.nix b/pkgs/development/libraries/libuv/default.nix
index 52e1de20327d2..fcfeaa81d1ec6 100644
--- a/pkgs/development/libraries/libuv/default.nix
+++ b/pkgs/development/libraries/libuv/default.nix
@@ -120,7 +120,7 @@ stdenv.mkDerivation (finalAttrs: {
     homepage    = "https://libuv.org/";
     changelog   = "https://github.com/libuv/libuv/blob/v${finalAttrs.version}/ChangeLog";
     pkgConfigModules = [ "libuv" ];
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
     platforms   = platforms.all;
     license     = with licenses; [ mit isc bsd2 bsd3 cc-by-40 ];
   };
diff --git a/pkgs/development/libraries/libvgm/default.nix b/pkgs/development/libraries/libvgm/default.nix
index 0d7c098255f24..0f45c39e0aeb1 100644
--- a/pkgs/development/libraries/libvgm/default.nix
+++ b/pkgs/development/libraries/libvgm/default.nix
@@ -42,13 +42,13 @@ let
 in
 stdenv.mkDerivation {
   pname = "libvgm";
-  version = "unstable-2024-01-03";
+  version = "unstable-2024-04-24";
 
   src = fetchFromGitHub {
     owner = "ValleyBell";
     repo = "libvgm";
-    rev = "223b6f9d629feda1982dc4bbeebd19fa63b987fb";
-    hash = "sha256-CrqgDuOsY+Hpp41De6oWJduj8d8ftMUanMEWJKh79rw=";
+    rev = "1271ab3a0ec1440d2e537ead46165e189671dfd0";
+    hash = "sha256-vle9h7+izdpu9fe6LWD06j8oVQIL/lOApPrdjILmPX4=";
   };
 
   outputs = [
diff --git a/pkgs/development/libraries/libvisual/default.nix b/pkgs/development/libraries/libvisual/default.nix
index 52ea32f758329..2a84b4da0ea1b 100644
--- a/pkgs/development/libraries/libvisual/default.nix
+++ b/pkgs/development/libraries/libvisual/default.nix
@@ -47,6 +47,9 @@ stdenv.mkDerivation rec {
   configureFlags = lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
     # Remove once "sdl-cross-prereq.patch" patch above is removed.
     "--disable-lv-tool"
+  ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
+    "ac_cv_func_malloc_0_nonnull=yes"
+    "ac_cv_func_realloc_0_nonnull=yes"
   ];
 
   meta = {
diff --git a/pkgs/development/libraries/libvmaf/default.nix b/pkgs/development/libraries/libvmaf/default.nix
index 0c71611e47722..9e692fc5805eb 100644
--- a/pkgs/development/libraries/libvmaf/default.nix
+++ b/pkgs/development/libraries/libvmaf/default.nix
@@ -46,7 +46,7 @@ stdenv.mkDerivation (finalAttrs: {
     homepage = "https://github.com/Netflix/vmaf";
     changelog = "https://github.com/Netflix/vmaf/blob/v${finalAttrs.version}/CHANGELOG.md";
     license = licenses.bsd2Patent;
-    maintainers = [ maintainers.cfsmp3 maintainers.marsam ];
+    maintainers = [ maintainers.cfsmp3 ];
     mainProgram = "vmaf";
     platforms = platforms.unix;
   };
diff --git a/pkgs/development/libraries/llhttp/default.nix b/pkgs/development/libraries/llhttp/default.nix
index 15b548af70b38..8bd80151c0940 100644
--- a/pkgs/development/libraries/llhttp/default.nix
+++ b/pkgs/development/libraries/llhttp/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation (finalAttrs: {
     changelog = "https://github.com/nodejs/llhttp/releases/tag/release/v${finalAttrs.version}";
     license = licenses.mit;
     pkgConfigModules = [ "libllhttp" ];
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     platforms = platforms.all;
   };
 })
diff --git a/pkgs/development/libraries/miniz/default.nix b/pkgs/development/libraries/miniz/default.nix
index 8592dc5f12248..0c4d902f40bb2 100644
--- a/pkgs/development/libraries/miniz/default.nix
+++ b/pkgs/development/libraries/miniz/default.nix
@@ -1,29 +1,41 @@
-{ lib, stdenv, fetchFromGitHub, cmake }:
+{ lib
+, fetchFromGitHub
+, nix-update-script
+, stdenv
+, testers
+, validatePkgConfig
+, cmake
+}:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "miniz";
-  version = "2.2.0";
+  version = "3.0.2";
 
   src = fetchFromGitHub {
     owner = "richgel999";
-    repo = pname;
-    rev = version;
-    sha256 = "sha256-7hc/yNJh4sD5zGQLeHjowbUtV/1mUDQre1tp9yKMSSY=";
+    repo = "miniz";
+    rev = finalAttrs.version;
+    hash = "sha256-3J0bkr2Yk+MJXilUqOCHsWzuykySv5B1nepmucvA4hg=";
   };
+  passthru.updateScript = nix-update-script {};
 
-  nativeBuildInputs = [ cmake ];
+  strictDeps = true;
+  nativeBuildInputs = [ cmake validatePkgConfig ];
 
   postFixup = ''
-    substituteInPlace "$out"/share/pkgconfig/miniz.pc \
-      --replace '=''${prefix}//' '=/' \
-      --replace '=''${exec_prefix}//' '=/'
+    substituteInPlace "$out"/lib/pkgconfig/miniz.pc \
+      --replace-fail '=''${prefix}//' '=/' \
+      --replace-fail '=''${exec_prefix}//' '=/'
   '';
 
+  passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
+
   meta = with lib; {
     description = "Single C source file zlib-replacement library";
     homepage = "https://github.com/richgel999/miniz";
     license = licenses.mit;
     maintainers = with maintainers; [ astro ];
     platforms = platforms.unix;
+    pkgConfigModules = [ "miniz" ];
   };
-}
+})
diff --git a/pkgs/development/libraries/mpich/default.nix b/pkgs/development/libraries/mpich/default.nix
index db9c727f8e0b3..02e587661890b 100644
--- a/pkgs/development/libraries/mpich/default.nix
+++ b/pkgs/development/libraries/mpich/default.nix
@@ -20,11 +20,11 @@ assert (ch4backend.pname == "ucx" || ch4backend.pname == "libfabric");
 
 stdenv.mkDerivation  rec {
   pname = "mpich";
-  version = "4.2.0";
+  version = "4.2.1";
 
   src = fetchurl {
     url = "https://www.mpich.org/static/downloads/${version}/mpich-${version}.tar.gz";
-    sha256 = "sha256-pkpmeBueUxKtBS0yaJ4jJS90WyfuiBisKsDIIJvAuQ4=";
+    sha256 = "sha256-IzMbIpnyh8NBlyftwt+JItfnq7uf0Kx04DuZZvmtQtc=";
   };
 
   outputs = [ "out" "doc" "man" ];
diff --git a/pkgs/development/libraries/ncnn/default.nix b/pkgs/development/libraries/ncnn/default.nix
index 88a6d042cbf43..f140b9c1ab1f5 100644
--- a/pkgs/development/libraries/ncnn/default.nix
+++ b/pkgs/development/libraries/ncnn/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ncnn";
-  version = "20240102";
+  version = "20240410";
 
   src = fetchFromGitHub {
     owner = "Tencent";
     repo = pname;
     rev = version;
-    hash = "sha256-kk70oLY+2QJOkyYq10whLRMxBuibQMWMOBA9dcbKf/I=";
+    hash = "sha256-UiaU+LCevrWBxZg5LAimGIJB0CElWBnO6qoadUc3VVM=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/ogre/default.nix b/pkgs/development/libraries/ogre/default.nix
index 6749be599a405..890170c28808b 100644
--- a/pkgs/development/libraries/ogre/default.nix
+++ b/pkgs/development/libraries/ogre/default.nix
@@ -112,8 +112,8 @@ let
 in
 {
   ogre_14 = common {
-    version = "14.2.2";
-    hash = "sha256-85hpujmlM3N81mkiA80xx2C4GsdzWkP61bwdfmw1zt8=";
+    version = "14.2.4";
+    hash = "sha256-Gr72KNjxZPZtFrgsbevPYiVog/fQNvJHvQEH0WA2DW4=";
     # https://github.com/OGRECave/ogre/blob/v14.2.2/Components/Overlay/CMakeLists.txt
     imguiVersion = "1.90.4";
     imguiHash = "sha256-7+Ay7H97tIO6CUsEyaQv4i9q2FCw98eQUq/KYZyfTAw=";
diff --git a/pkgs/development/libraries/openexr/3.nix b/pkgs/development/libraries/openexr/3.nix
index e5fe5bd40a1b5..074fdf4222d3e 100644
--- a/pkgs/development/libraries/openexr/3.nix
+++ b/pkgs/development/libraries/openexr/3.nix
@@ -5,6 +5,7 @@
 , imath
 , libdeflate
 , pkg-config
+, pkgsCross
 }:
 
 stdenv.mkDerivation rec {
@@ -45,6 +46,10 @@ stdenv.mkDerivation rec {
   # https://github.com/AcademySoftwareFoundation/openexr/issues/1400
   doCheck = !stdenv.isAarch32;
 
+  passthru.tests = {
+    musl = pkgsCross.musl64.openexr_3;
+  };
+
   meta = with lib; {
     description = "A high dynamic-range (HDR) image file format";
     homepage = "https://www.openexr.com";
diff --git a/pkgs/development/libraries/openexr/disable-iex-test.patch b/pkgs/development/libraries/openexr/disable-iex-test.patch
index f8fff65aceb4a..f1ceb13d3a017 100644
--- a/pkgs/development/libraries/openexr/disable-iex-test.patch
+++ b/pkgs/development/libraries/openexr/disable-iex-test.patch
@@ -1,13 +1,13 @@
 diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt
-index 44d9185d..8ffcd2b2 100644
+index 25f429da..918f56e9 100644
 --- a/src/test/CMakeLists.txt
 +++ b/src/test/CMakeLists.txt
-@@ -4,7 +4,7 @@
- # We require this to get object library link library support and
+@@ -5,7 +5,7 @@
  # combined python 2 + 3 support
  
--add_subdirectory(IexTest)
-+#add_subdirectory(IexTest)
- add_subdirectory(OpenEXRCoreTest)
- add_subdirectory(OpenEXRTest)
- add_subdirectory(OpenEXRUtilTest)
+ if (OPENEXR_TEST_LIBRARIES)
+-  add_subdirectory(IexTest)
++  #add_subdirectory(IexTest)
+   add_subdirectory(OpenEXRCoreTest)
+   add_subdirectory(OpenEXRTest)
+   add_subdirectory(OpenEXRUtilTest)
diff --git a/pkgs/development/libraries/openxr-loader/default.nix b/pkgs/development/libraries/openxr-loader/default.nix
index c89baab7936b3..ec4c327d784b4 100644
--- a/pkgs/development/libraries/openxr-loader/default.nix
+++ b/pkgs/development/libraries/openxr-loader/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "openxr-loader";
-  version = "1.0.34";
+  version = "1.1.36";
 
   src = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "OpenXR-SDK-Source";
     rev = "release-${version}";
-    sha256 = "sha256-AzqGNFJozmtivj+gXYHPZX2iYginQ2gXbLCImhMH9Jc=";
+    sha256 = "sha256-Ki2tp8a67AjIMIGDpWWqCnpMmeZpJ8uPezKE2KWrOjA=";
   };
 
   nativeBuildInputs = [ cmake python3 pkg-config ];
diff --git a/pkgs/development/libraries/parson/default.nix b/pkgs/development/libraries/parson/default.nix
index a1f5c9a7285d0..6ba47491ecb47 100644
--- a/pkgs/development/libraries/parson/default.nix
+++ b/pkgs/development/libraries/parson/default.nix
@@ -18,6 +18,6 @@ stdenv.mkDerivation {
     homepage = "https://github.com/kgabis/parson";
     license = licenses.mit;
     platforms = platforms.all;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/libraries/pipewire/default.nix b/pkgs/development/libraries/pipewire/default.nix
index f22a86277b8e2..48f2dec6b89bc 100644
--- a/pkgs/development/libraries/pipewire/default.nix
+++ b/pkgs/development/libraries/pipewire/default.nix
@@ -206,7 +206,7 @@ stdenv.mkDerivation(finalAttrs: {
 
   meta = with lib; {
     description = "Server and user space API to deal with multimedia pipelines";
-    changelog = "https://gitlab.freedesktop.org/pipewire/pipewire/-/releases/${version}";
+    changelog = "https://gitlab.freedesktop.org/pipewire/pipewire/-/releases/${finalAttrs.version}";
     homepage = "https://pipewire.org/";
     license = licenses.mit;
     platforms = platforms.linux;
diff --git a/pkgs/development/libraries/qt-6/default.nix b/pkgs/development/libraries/qt-6/default.nix
index 6604596fe4684..c4b8512079546 100644
--- a/pkgs/development/libraries/qt-6/default.nix
+++ b/pkgs/development/libraries/qt-6/default.nix
@@ -15,10 +15,6 @@
 , buildPackages
 , python3
 , config
-
-  # options
-, developerBuild ? false
-, debug ? false
 }:
 
 let
@@ -47,7 +43,6 @@ let
       qtbase = callPackage ./modules/qtbase.nix {
         withGtk3 = !stdenv.hostPlatform.isMinGW;
         inherit (srcs.qtbase) src version;
-        inherit developerBuild;
         inherit (darwin.apple_sdk_11_0.frameworks)
           AGL AVFoundation AppKit Contacts CoreBluetooth EventKit GSS MetalKit;
         patches = [
@@ -197,7 +192,6 @@ let
             name = "qmake6-hook";
             propagatedBuildInputs = [ qtbase.dev ];
             substitutions = {
-              inherit debug;
               fix_qmake_libtool = ./hooks/fix-qmake-libtool.sh;
             };
           } ./hooks/qmake-hook.sh)
diff --git a/pkgs/development/libraries/qt-6/hooks/qmake-hook.sh b/pkgs/development/libraries/qt-6/hooks/qmake-hook.sh
index 8c4ce096443fd..130e8290a3feb 100644
--- a/pkgs/development/libraries/qt-6/hooks/qmake-hook.sh
+++ b/pkgs/development/libraries/qt-6/hooks/qmake-hook.sh
@@ -18,12 +18,6 @@ qmakePrePhase() {
         "NIX_OUTPUT_PLUGIN=${!outputBin}/${qtPluginPrefix:?}"
     )
 
-    if [ -n "@debug@" ]; then
-        qmakeFlags+=("CONFIG+=debug")
-    else
-        qmakeFlags+=("CONFIG+=release")
-    fi
-
     qmakeFlags+=("${qmakeFlags_orig[@]}")
 }
 prePhases+=" qmakePrePhase"
diff --git a/pkgs/development/libraries/qt-6/hooks/qtbase-setup-hook.sh b/pkgs/development/libraries/qt-6/hooks/qtbase-setup-hook.sh
index 9bc68e6cd3d61..5006d6b65530c 100644
--- a/pkgs/development/libraries/qt-6/hooks/qtbase-setup-hook.sh
+++ b/pkgs/development/libraries/qt-6/hooks/qtbase-setup-hook.sh
@@ -15,20 +15,6 @@ else # Only set up Qt once.
     . @fix_qt_builtin_paths@
     . @fix_qt_module_paths@
 
-    # Disable debug symbols if qtbase was built without debugging.
-    # This stops -dev paths from leaking into other outputs.
-    if [ -z "@debug@" ]; then
-        NIX_CFLAGS_COMPILE="${NIX_CFLAGS_COMPILE-}${NIX_CFLAGS_COMPILE:+ }-DQT_NO_DEBUG"
-    fi
-
-    # Integration with CMake:
-    # Set the CMake build type corresponding to how qtbase was built.
-    if [ -n "@debug@" ]; then
-        cmakeBuildType="Debug"
-    else
-        cmakeBuildType="Release"
-    fi
-
     # Build tools are often confused if QMAKE is unset.
     export QMAKE=@out@/bin/qmake
 
diff --git a/pkgs/development/libraries/qt-6/modules/qtbase.nix b/pkgs/development/libraries/qt-6/modules/qtbase.nix
index a14028e1259ad..a327b88991ef0 100644
--- a/pkgs/development/libraries/qt-6/modules/qtbase.nix
+++ b/pkgs/development/libraries/qt-6/modules/qtbase.nix
@@ -92,13 +92,10 @@
   # options
 , libGLSupported ? stdenv.hostPlatform.isLinux
 , libGL
-, debug ? false
-, developerBuild ? false
 , qttranslations ? null
 }:
 
 let
-  debugSymbols = debug || developerBuild;
   isCrossBuild = !stdenv.buildPlatform.canExecute stdenv.hostPlatform;
 in
 stdenv.mkDerivation rec {
@@ -106,8 +103,6 @@ stdenv.mkDerivation rec {
 
   inherit src version;
 
-  debug = debugSymbols;
-
   propagatedBuildInputs = [
     libxml2
     libxslt
@@ -195,7 +190,6 @@ stdenv.mkDerivation rec {
     CoreBluetooth
   ]
   ++ lib.optional withGtk3 gtk3
-  ++ lib.optional developerBuild gdb
   ++ lib.optional (cups != null && lib.meta.availableOn stdenv.hostPlatform cups) cups
   ++ lib.optional (libmysqlclient != null && !stdenv.hostPlatform.isMinGW) libmysqlclient
   ++ lib.optional (postgresql != null && lib.meta.availableOn stdenv.hostPlatform postgresql) postgresql;
@@ -266,8 +260,6 @@ stdenv.mkDerivation rec {
     patchelf --add-rpath "${libmysqlclient}/lib/mariadb" $out/${qtPluginPrefix}/sqldrivers/libqsqlmysql.so
   '';
 
-  dontStrip = debugSymbols;
-
   dontWrapQtApps = true;
 
   setupHook = ../hooks/qtbase-setup-hook.sh;
diff --git a/pkgs/development/libraries/qt-6/modules/qtmultimedia.nix b/pkgs/development/libraries/qt-6/modules/qtmultimedia.nix
index 4045a55f6d6e9..ba24fbe9294b3 100644
--- a/pkgs/development/libraries/qt-6/modules/qtmultimedia.nix
+++ b/pkgs/development/libraries/qt-6/modules/qtmultimedia.nix
@@ -37,7 +37,9 @@ qtModule {
     ++ lib.optionals stdenv.hostPlatform.isLinux [ gstreamer gst-plugins-base gst-plugins-good gst-libav gst-vaapi ]
     ++ lib.optionals stdenv.hostPlatform.isDarwin [ VideoToolbox ];
 
-  patches = lib.optionals stdenv.hostPlatform.isMinGW [
+  patches = [
+    ../patches/fix-qtgui-include-incorrect-case.patch
+  ] ++ lib.optionals stdenv.hostPlatform.isMinGW [
     ../patches/qtmultimedia-windows-no-uppercase-libs.patch
     ../patches/qtmultimedia-windows-resolve-function-name.patch
   ];
diff --git a/pkgs/development/libraries/qt-6/patches/fix-qtgui-include-incorrect-case.patch b/pkgs/development/libraries/qt-6/patches/fix-qtgui-include-incorrect-case.patch
new file mode 100644
index 0000000000000..563906fb31573
--- /dev/null
+++ b/pkgs/development/libraries/qt-6/patches/fix-qtgui-include-incorrect-case.patch
@@ -0,0 +1,13 @@
+diff --git a/src/plugins/multimedia/ffmpeg/qffmpegscreencapture_dxgi.cpp b/src/plugins/multimedia/ffmpeg/qffmpegscreencapture_dxgi.cpp
+index affa52d..b71b461 100644
+--- a/src/plugins/multimedia/ffmpeg/qffmpegscreencapture_dxgi.cpp
++++ b/src/plugins/multimedia/ffmpeg/qffmpegscreencapture_dxgi.cpp
+@@ -7,7 +7,7 @@
+ #include <private/qabstractvideobuffer_p.h>
+ #include <private/qmultimediautils_p.h>
+ #include <private/qwindowsmultimediautils_p.h>
+-#include <qtgui/qscreen_platform.h>
++#include <QtGui/qscreen_platform.h>
+ #include "qvideoframe.h"
+ 
+ #include <qloggingcategory.h>
diff --git a/pkgs/development/libraries/qtstyleplugin-kvantum/default.nix b/pkgs/development/libraries/qtstyleplugin-kvantum/default.nix
index 63e02e98ff747..a7372dfba22e6 100644
--- a/pkgs/development/libraries/qtstyleplugin-kvantum/default.nix
+++ b/pkgs/development/libraries/qtstyleplugin-kvantum/default.nix
@@ -22,13 +22,13 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "qtstyleplugin-kvantum${lib.optionalString isQt5 "5"}";
-  version = "1.1.0";
+  version = "1.1.1";
 
   src = fetchFromGitHub {
     owner = "tsujan";
     repo = "Kvantum";
     rev = "V${finalAttrs.version}";
-    hash = "sha256-i+QjVPSzWNPVQmQkB+u/3Wrvqqoz5OIjRdyZKXzxZh4=";
+    hash = "sha256-cGMS0lEtgd64rjeEfYwJplf9rva0FtpaQMCfxyramE8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/quantlib/default.nix b/pkgs/development/libraries/quantlib/default.nix
index 8637ae1dc14f3..a0ca48b1afd89 100644
--- a/pkgs/development/libraries/quantlib/default.nix
+++ b/pkgs/development/libraries/quantlib/default.nix
@@ -7,7 +7,7 @@
 
 stdenv.mkDerivation rec {
   pname = "quantlib";
-  version = "1.33";
+  version = "1.34";
 
   outputs = [ "out" "dev" ];
 
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     owner = "lballabio";
     repo = "QuantLib";
     rev = "v${version}";
-    sha256 = "sha256-j2nRm6ebf5OU6mqmcC7wQf/qlf/K9RmmCAnfT+Au8ZM=";
+    sha256 = "sha256-qrMaIBiDg7bFtWTDAQgAMtekb/7VrI7Ix+G59mU4WHI=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/quictls/default.nix b/pkgs/development/libraries/quictls/default.nix
index 110ecb4907e14..49dfc94993e42 100644
--- a/pkgs/development/libraries/quictls/default.nix
+++ b/pkgs/development/libraries/quictls/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "quictls";
-  version = "3.1.4-quic1";
+  version = "3.1.5-quic1";
 
   src = fetchFromGitHub {
     owner = "quictls";
     repo = "openssl";
-    rev = "openssl-${finalAttrs.version}";
-    hash = "sha256-WOWoY6rmAAUvuWWXPTWsllUkew5ZIULjL1CEg/RRPsE=";
+    rev = "cb6841b741544bfd8868c1641ce96a934985509e";
+    hash = "sha256-oR46jefarUGmBYjjpEvtKFzIOgSXSy58cLdX+P5ocA8=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/rnnoise/default.nix b/pkgs/development/libraries/rnnoise/default.nix
index af4fcf30153c5..eb77106fd29fa 100644
--- a/pkgs/development/libraries/rnnoise/default.nix
+++ b/pkgs/development/libraries/rnnoise/default.nix
@@ -1,28 +1,84 @@
-{ stdenv, lib, fetchFromGitHub, autoreconfHook }:
+{ stdenv, lib, fetchurl, fetchzip, autoreconfHook, writeScript, fetchpatch
+, modelUrl ? "", modelHash ? "" # Allow overriding the model URL and hash
+}:
 
-stdenv.mkDerivation (rec {
+let
+  modelVersionJSON = lib.importJSON ./model-version.json;
+
+  # Copy from https://gitlab.xiph.org/xiph/rnnoise/-/raw/v${version}/model_version
+  default_model_version = modelVersionJSON.version;
+
+  # Either use the default model or the one provided by package override
+  model_url = if (modelUrl == "") then "https://media.xiph.org/rnnoise/models/rnnoise_data-${default_model_version}.tar.gz" else modelUrl;
+  model_hash = if (modelHash == "") then modelVersionJSON.hash else modelHash;
+
+in stdenv.mkDerivation (finalAttrs: {
   pname = "rnnoise";
-  version = "2021-01-22";
+  version = "0.2";
+
+  src = fetchzip {
+    urls = [
+      "https://gitlab.xiph.org/xiph/rnnoise/-/archive/v${finalAttrs.version}/rnnoise-v${finalAttrs.version}.tar.gz"
+      "https://github.com/xiph/rnnoise/archive/v${finalAttrs.version}.tar.gz"
+    ];
+    hash = "sha256-Qaf+0iOprq7ILRWNRkBjsniByctRa/lFVqiU5ZInF/Q=";
+  };
+
+  patches = [
+    # remove when updating
+    (fetchpatch {
+      url = "https://github.com/xiph/rnnoise/commit/372f7b4b76cde4ca1ec4605353dd17898a99de38.patch";
+      hash = "sha256-Dzikb59hjVxd1XIEj/Je4evxtGORkaNcqE+zxOJMSvs=";
+    })
+  ];
 
-  src = fetchFromGitHub {
-    owner = "xiph";
-    repo = "rnnoise";
-    rev = "1cbdbcf1283499bbb2230a6b0f126eb9b236defd";
-    sha256 = "1y0rzgmvy8bf9a431garpm2w177s6ajgf79y5ymw4yb0pik57rwb";
+  model = fetchurl {
+    url = model_url;
+    hash = model_hash;
   };
 
+  postPatch = ''
+    tar xvomf ${finalAttrs.model}
+  '';
+
   nativeBuildInputs = [ autoreconfHook ];
 
   postInstall = ''
     install -Dt $out/bin examples/.libs/rnnoise_demo
   '';
 
-  meta = with lib; {
+  passthru.updateScript = writeScript "update-rnnoise.sh" ''
+    #!/usr/bin/env nix-shell
+    #!nix-shell -i bash -p curl jq common-updater-scripts nix nix-prefetch findutils moreutils
+
+    prefetch-sri() {
+        nix-prefetch-url "$1" | xargs nix hash to-sri --type sha256
+    }
+
+    res="$(curl ''${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} \
+      -sL "https://api.github.com/repos/xiph/rnnoise/tags?per_page=1")"
+
+    version="$(echo $res | jq '.[0].name | split("v") | .[1]' --raw-output)"
+    update-source-version ${finalAttrs.pname} "$version" --ignore-same-hash
+
+    model_version=$(curl -sL "https://raw.githubusercontent.com/xiph/rnnoise/v$version/model_version")
+    model_url="https://media.xiph.org/rnnoise/models/rnnoise_data-$model_version.tar.gz"
+    model_hash="$(prefetch-sri $model_url)"
+
+    modelJson=pkgs/development/libraries/rnnoise/model-version.json
+
+    jq --arg version "$model_version" \
+        --arg hash "$model_hash" \
+        '.version = $version | .hash = $hash' \
+        "$modelJson" | sponge "$modelJson"
+  '';
+
+  meta = {
     description = "Recurrent neural network for audio noise reduction";
     homepage = "https://people.xiph.org/~jm/demo/rnnoise/";
-    license = licenses.bsd3;
-    maintainers = [ maintainers.nh2 ];
+    license = lib.licenses.bsd3;
+    maintainers = with lib.maintainers; [ nh2 ];
     mainProgram = "rnnoise_demo";
-    platforms = platforms.all;
+    platforms = lib.platforms.all;
   };
 })
diff --git a/pkgs/development/libraries/rnnoise/model-version.json b/pkgs/development/libraries/rnnoise/model-version.json
new file mode 100644
index 0000000000000..830f8cc360184
--- /dev/null
+++ b/pkgs/development/libraries/rnnoise/model-version.json
@@ -0,0 +1,4 @@
+{
+  "version": "0b50c45",
+  "hash": "sha256-SsgcXAiE7EvVkHAmqq4WIJt7ds2df3GvWCCUovmPS0M="
+}
diff --git a/pkgs/development/libraries/robin-map/default.nix b/pkgs/development/libraries/robin-map/default.nix
index 41d9c25c5268d..6a593ec070dc3 100644
--- a/pkgs/development/libraries/robin-map/default.nix
+++ b/pkgs/development/libraries/robin-map/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "robin-map";
-  version = "1.2.2";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "Tessil";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-33oNUvLofFuM5QyRk+Jc6Q7vvWk68c/QqX0oiELoUrw=";
+    hash = "sha256-dspOWp/8oNR0p5XRnqO7WtPcCx54/y8m1cDho4UBYyc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/rocksdb/default.nix b/pkgs/development/libraries/rocksdb/default.nix
index 6c2aaaa8815a4..e1518b6662f63 100644
--- a/pkgs/development/libraries/rocksdb/default.nix
+++ b/pkgs/development/libraries/rocksdb/default.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "rocksdb";
-  version = "8.3.2";
+  version = "9.1.0";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = finalAttrs.pname;
     rev = "v${finalAttrs.version}";
-    hash = "sha256-mfIRQ8nkUbZ3Bugy3NAvOhcfzFY84J2kBUIUBcQ2/Qg=";
+    hash = "sha256-vRPyrXkXVVhP56n5FVYef8zbIsnnanQSpElmQLZ7mh8=";
   };
 
   nativeBuildInputs = [ cmake ninja ];
diff --git a/pkgs/development/libraries/science/math/itpp/default.nix b/pkgs/development/libraries/science/math/itpp/default.nix
index cb45787e14035..d2f6b1ee8aec4 100644
--- a/pkgs/development/libraries/science/math/itpp/default.nix
+++ b/pkgs/development/libraries/science/math/itpp/default.nix
@@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
     homepage = "https://itpp.sourceforge.net/";
     license = licenses.gpl3;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ andrew-d ];
+    maintainers = with maintainers; [ ];
     broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/itpp.x86_64-darwin
   };
 }
diff --git a/pkgs/development/libraries/science/math/petsc/filter_mpi_warnings.patch b/pkgs/development/libraries/science/math/petsc/filter_mpi_warnings.patch
index 6a3c7bee051e6..f3a34de9304e3 100644
--- a/pkgs/development/libraries/science/math/petsc/filter_mpi_warnings.patch
+++ b/pkgs/development/libraries/science/math/petsc/filter_mpi_warnings.patch
@@ -1,12 +1,12 @@
 diff --git a/src/snes/tutorials/makefile b/src/snes/tutorials/makefile
-index 168febb34b6..71068469066 100644
+index 672a62a..a5fd1c4 100644
 --- a/src/snes/tutorials/makefile
 +++ b/src/snes/tutorials/makefile
 @@ -13,6 +13,7 @@ include ${PETSC_DIR}/lib/petsc/conf/rules
  #  these tests are used by the makefile in PETSC_DIR for basic tests of the install and should not be removed
  testex5f: ex5f.PETSc
  	-@${MPIEXEC} -n 1 ${MPIEXEC_TAIL} ./ex5f -snes_rtol 1e-4 > ex5f_1.tmp 2>&1; \
-+        sed -i '/hwloc\/linux/d ; /ERROR opendir(\/sys\/class\/net) failed/d' ex5f_1.tmp; \
++        sed -i '/hwloc\/linux/d ; /ERROR scandir(\/sys\/class\/net) failed/d' ex5f_1.tmp; \
          if (${DIFF} output/ex5f_1.testout ex5f_1.tmp > /dev/null 2>&1) then \
            echo "Fortran example src/snes/tutorials/ex5f run successfully with 1 MPI process"; \
          else \
@@ -14,7 +14,7 @@ index 168febb34b6..71068469066 100644
          ${MAKE} PETSC_ARCH=${PETSC_ARCH} PETSC_DIR=${PETSC_DIR} ex5f.rm;
  testex19: ex19.PETSc
  	-@${MPIEXEC} -n 1 ${MPIEXEC_TAIL} ./ex19 -da_refine 3 -pc_type mg -ksp_type fgmres  > ex19_1.tmp 2>&1; \
-+        sed -i '/hwloc\/linux/d ; /ERROR opendir(\/sys\/class\/net) failed/d' ex19_1.tmp; \
++        sed -i '/hwloc\/linux/d ; /ERROR scandir(\/sys\/class\/net) failed/d' ex19_1.tmp; \
          if (${DIFF} output/ex19_1.testout ex19_1.tmp > /dev/null 2>&1) then \
            echo "C/C++ example src/snes/tutorials/ex19 run successfully with 1 MPI process"; \
          else \
@@ -22,7 +22,7 @@ index 168febb34b6..71068469066 100644
          ${RM} -f ex19_1.tmp;
  testex19_mpi:
  	-@${MPIEXEC} -n 2 ${MPIEXEC_TAIL} ./ex19 -da_refine 3 -pc_type mg -ksp_type fgmres  > ex19_1.tmp 2>&1; \
-+        sed -i '/hwloc\/linux/d ; /ERROR opendir(\/sys\/class\/net) failed/d' ex19_1.tmp; \
++        sed -i '/hwloc\/linux/d ; /ERROR scandir(\/sys\/class\/net) failed/d' ex19_1.tmp; \
          if (${DIFF} output/ex19_1.testout ex19_1.tmp > /dev/null 2>&1) then \
            echo "C/C++ example src/snes/tutorials/ex19 run successfully with 2 MPI processes"; \
          else \
@@ -30,7 +30,7 @@ index 168febb34b6..71068469066 100644
  #use unpreconditioned norm because HYPRE device installations use different AMG parameters
  runex19_hypre:
  	-@${MPIEXEC} -n 2 ${MPIEXEC_TAIL} ./ex19 -da_refine 3 -snes_monitor_short -ksp_norm_type unpreconditioned -pc_type hypre > ex19_1.tmp 2>&1; \
-+        sed -i '/hwloc\/linux/d ; /ERROR opendir(\/sys\/class\/net) failed/d' ex19_1.tmp; \
++        sed -i '/hwloc\/linux/d ; /ERROR scandir(\/sys\/class\/net) failed/d' ex19_1.tmp; \
            if (${DIFF} output/ex19_hypre.out ex19_1.tmp) then \
              echo "C/C++ example src/snes/tutorials/ex19 run successfully with hypre"; \
            else  \
@@ -38,7 +38,7 @@ index 168febb34b6..71068469066 100644
            ${RM} -f ex19_1.tmp
  runex19_hypre_cuda:
  	-@${MPIEXEC} -n 2 ${MPIEXEC_TAIL} ./ex19 -dm_vec_type cuda -dm_mat_type aijcusparse -da_refine 3 -snes_monitor_short -ksp_norm_type unpreconditioned -pc_type hypre > ex19_1.tmp 2>&1; \
-+        sed -i '/hwloc\/linux/d ; /ERROR opendir(\/sys\/class\/net) failed/d' ex19_1.tmp; \
++        sed -i '/hwloc\/linux/d ; /ERROR scandir(\/sys\/class\/net) failed/d' ex19_1.tmp; \
  	   if (${DIFF} output/ex19_hypre.out ex19_1.tmp) then \
             echo "C/C++ example src/snes/tutorials/ex19 run successfully with hypre/cuda"; \
             else  \
@@ -46,7 +46,7 @@ index 168febb34b6..71068469066 100644
  	   ${RM} -f ex19_1.tmp
  runex19_hypre_hip:
  	-@${MPIEXEC} -n 2 ${MPIEXEC_TAIL} ./ex19 -dm_vec_type hip -da_refine 3 -snes_monitor_short -ksp_norm_type unpreconditioned -pc_type hypre > ex19_1.tmp 2>&1; \
-+        sed -i '/hwloc\/linux/d ; /ERROR opendir(\/sys\/class\/net) failed/d' ex19_1.tmp; \
++        sed -i '/hwloc\/linux/d ; /ERROR scandir(\/sys\/class\/net) failed/d' ex19_1.tmp; \
  	   if (${DIFF} output/ex19_hypre.out ex19_1.tmp) then \
             echo "C/C++ example src/snes/tutorials/ex19 run successfully with hypre/hip"; \
             else \
@@ -54,7 +54,7 @@ index 168febb34b6..71068469066 100644
  	   ${RM} -f ex19_1.tmp
  runex19_cuda:
  	-@${MPIEXEC} -n 1 ${MPIEXEC_TAIL} ./ex19 -snes_monitor -dm_mat_type seqaijcusparse -dm_vec_type seqcuda -pc_type gamg -pc_gamg_esteig_ksp_max_it 10 -ksp_monitor -mg_levels_ksp_max_it 3  > ex19_1.tmp 2>&1; \
-+        sed -i '/hwloc\/linux/d ; /ERROR opendir(\/sys\/class\/net) failed/d' ex19_1.tmp; \
++        sed -i '/hwloc\/linux/d ; /ERROR scandir(\/sys\/class\/net) failed/d' ex19_1.tmp; \
  	   if (${DIFF} output/ex19_cuda_1.out ex19_1.tmp) then \
             echo "C/C++ example src/snes/tutorials/ex19 run successfully with cuda"; \
             else  \
@@ -62,7 +62,7 @@ index 168febb34b6..71068469066 100644
  	   ${RM} -f ex19_1.tmp
  runex19_ml:
  	-@${MPIEXEC} -n 2 ${MPIEXEC_TAIL} ./ex19 -da_refine 3 -snes_monitor_short -pc_type ml > ex19_1.tmp 2>&1; \
-+        sed -i '/hwloc\/linux/d ; /ERROR opendir(\/sys\/class\/net) failed/d' ex19_1.tmp; \
++        sed -i '/hwloc\/linux/d ; /ERROR scandir(\/sys\/class\/net) failed/d' ex19_1.tmp; \
  	   if (${DIFF} output/ex19_ml.out ex19_1.tmp) then  \
             echo "C/C++ example src/snes/tutorials/ex19 run successfully with ml"; \
             else \
@@ -70,7 +70,7 @@ index 168febb34b6..71068469066 100644
             ${RM} -f ex19_1.tmp
  runex19_fieldsplit_mumps:
  	-@${MPIEXEC} -n 2 ${MPIEXEC_TAIL} ./ex19 -pc_type fieldsplit -pc_fieldsplit_block_size 4 -pc_fieldsplit_type SCHUR -pc_fieldsplit_0_fields 0,1,2 -pc_fieldsplit_1_fields 3 -fieldsplit_0_pc_type lu -fieldsplit_1_pc_type lu -snes_monitor_short -ksp_monitor_short  -fieldsplit_0_pc_factor_mat_solver_type mumps -fieldsplit_1_pc_factor_mat_solver_type mumps > ex19_6.tmp 2>&1; \
-+        sed -i '/hwloc\/linux/d ; /ERROR opendir(\/sys\/class\/net) failed/d' ex19_6.tmp; \
++        sed -i '/hwloc\/linux/d ; /ERROR scandir(\/sys\/class\/net) failed/d' ex19_6.tmp; \
  	   if (${DIFF} output/ex19_fieldsplit_5.out ex19_6.tmp) then  \
             echo "C/C++ example src/snes/tutorials/ex19 run successfully with mumps"; \
             else  \
@@ -78,7 +78,7 @@ index 168febb34b6..71068469066 100644
             ${RM} -f ex19_6.tmp
  runex19_superlu_dist:
  	-@${MPIEXEC} -n 1 ${MPIEXEC_TAIL} ./ex19 -da_grid_x 20 -da_grid_y 20 -pc_type lu -pc_factor_mat_solver_type superlu_dist > ex19.tmp 2>&1; \
-+        sed -i '/hwloc\/linux/d ; /ERROR opendir(\/sys\/class\/net) failed/d' ex19.tmp; \
++        sed -i '/hwloc\/linux/d ; /ERROR scandir(\/sys\/class\/net) failed/d' ex19.tmp; \
  	   if (${DIFF} output/ex19_superlu.out ex19.tmp) then \
             echo "C/C++ example src/snes/tutorials/ex19 run successfully with superlu_dist"; \
             else  \
@@ -86,7 +86,7 @@ index 168febb34b6..71068469066 100644
  	   ${RM} -f ex19.tmp
  runex19_suitesparse:
  	-@${MPIEXEC} -n 1 ${MPIEXEC_TAIL} ./ex19 -da_refine 3 -snes_monitor_short -pc_type lu -pc_factor_mat_solver_type umfpack > ex19_1.tmp 2>&1; \
-+        sed -i '/hwloc\/linux/d ; /ERROR opendir(\/sys\/class\/net) failed/d' ex19_1.tmp; \
++        sed -i '/hwloc\/linux/d ; /ERROR scandir(\/sys\/class\/net) failed/d' ex19_1.tmp; \
  	   if (${DIFF} output/ex19_suitesparse.out ex19_1.tmp) then \
             echo "C/C++ example src/snes/tutorials/ex19 run successfully with suitesparse"; \
             else \
@@ -94,7 +94,7 @@ index 168febb34b6..71068469066 100644
  	   ${RM} -f ex19_1.tmp
  runex3k_kokkos: ex3k.PETSc
  	-@OMP_PROC_BIND=false ${MPIEXEC} -n 2 ${MPIEXEC_TAIL} ./ex3k -view_initial -dm_vec_type kokkos -dm_mat_type aijkokkos -use_gpu_aware_mpi 0 -snes_monitor > ex3k_1.tmp 2>&1 ;\
-+        sed -i '/hwloc\/linux/d ; /ERROR opendir(\/sys\/class\/net) failed/d' ex3k_1.tmp; \
++        sed -i '/hwloc\/linux/d ; /ERROR scandir(\/sys\/class\/net) failed/d' ex3k_1.tmp; \
  	if (${DIFF} output/ex3k_1.out ex3k_1.tmp) then \
            echo "C/C++ example src/snes/tutorials/ex3k run successfully with kokkos-kernels"; \
          else \
diff --git a/pkgs/development/libraries/sqlcipher/default.nix b/pkgs/development/libraries/sqlcipher/default.nix
index 0a22d41778924..b3e89ae9548e8 100644
--- a/pkgs/development/libraries/sqlcipher/default.nix
+++ b/pkgs/development/libraries/sqlcipher/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sqlcipher";
-  version = "4.5.6";
+  version = "4.5.7";
 
   src = fetchFromGitHub {
     owner = "sqlcipher";
     repo = "sqlcipher";
     rev = "v${version}";
-    hash = "sha256-tfDjl1l1vMWZsxFNEPK9jOrUN260/3k2kX6rVHPCZ0k=";
+    hash = "sha256-0cPb78CTxrCdDZAY8hyt7Kid5DKszDl1v+6XNKyNrLM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/the-foundation/default.nix b/pkgs/development/libraries/the-foundation/default.nix
index 9b0fe4de9e44b..d3021995ff8f5 100644
--- a/pkgs/development/libraries/the-foundation/default.nix
+++ b/pkgs/development/libraries/the-foundation/default.nix
@@ -12,14 +12,14 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "the-foundation";
-  version = "1.7.0";
+  version = "1.8.1";
 
   src = fetchFromGitea {
     domain = "git.skyjake.fi";
     owner = "skyjake";
     repo = "the_Foundation";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-6bEd8KzOfBse5sQ2zp+cZtEAu8xIl3GqrpxSZ7h/edI=";
+    hash = "sha256-gyDBK/bF+QxXMnthUfMjeUuRBZk0Xcahm7wOtLGs5kY=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/development/libraries/tllist/default.nix b/pkgs/development/libraries/tllist/default.nix
index e5cdad0aae636..62bcbf0241f3b 100644
--- a/pkgs/development/libraries/tllist/default.nix
+++ b/pkgs/development/libraries/tllist/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   meta = with lib; {
     homepage = "https://codeberg.org/dnkl/tllist";
-    changelog = "https://codeberg.org/dnkl/tllist/releases/tag/${version}";
+    changelog = "https://codeberg.org/dnkl/tllist/releases/tag/${finalAttrs.version}";
     description = "C header file only implementation of a typed linked list";
     longDescription = ''
       Most C implementations of linked list are untyped. That is, their data
diff --git a/pkgs/development/libraries/ucc/default.nix b/pkgs/development/libraries/ucc/default.nix
index 09e10565bb2e1..58dc82e3cb7b5 100644
--- a/pkgs/development/libraries/ucc/default.nix
+++ b/pkgs/development/libraries/ucc/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ucc";
-  version = "1.2.0";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "openucx";
     repo = "ucc";
     rev = "v${version}";
-    sha256 = "sha256-7Mo9zU0sogGyDdWIfTgUPoR5Z8D722asC2y7sHnKbzs=";
+    sha256 = "sha256-xcJLYktkxNK2ewWRgm8zH/dMaIoI+9JexuswXi7MpAU=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/ucx/default.nix b/pkgs/development/libraries/ucx/default.nix
index 35574d7c788aa..71a1b2a2001f4 100644
--- a/pkgs/development/libraries/ucx/default.nix
+++ b/pkgs/development/libraries/ucx/default.nix
@@ -19,13 +19,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "ucx";
-  version = "1.15.0";
+  version = "1.16.0";
 
   src = fetchFromGitHub {
     owner = "openucx";
     repo = "ucx";
     rev = "v${version}";
-    sha256 = "sha256-VxIxrk9qKM6Ncfczl4p2EhXiLNgPaYTmjhqi6/w2ZNY=";
+    sha256 = "sha256-dihWwGlQclfa2ke+1V5c6coqfFjjuMyI8QRzNdx33zQ=";
   };
 
   outputs = [ "out" "doc" "dev" ];
diff --git a/pkgs/development/libraries/wfa2-lib/default.nix b/pkgs/development/libraries/wfa2-lib/default.nix
index 1543484868bf7..49db133382b01 100644
--- a/pkgs/development/libraries/wfa2-lib/default.nix
+++ b/pkgs/development/libraries/wfa2-lib/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wfa2-lib";
-  version = "2.3.4";
+  version = "2.3.5";
 
   src = fetchFromGitHub {
     owner = "smarco";
     repo = "WFA2-lib";
     rev = "v${version}";
-    hash = "sha256-h4e+f+JkQr3qqaBUDly24ZvKxaEGzeJtMXejh8aD5D0=";
+    hash = "sha256-vTeSvhSt3PQ/BID6uM1CuXkQipgG7VViDexvAwV4nW8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/wlroots/default.nix b/pkgs/development/libraries/wlroots/default.nix
index 4dd884b45859a..e130da1664be7 100644
--- a/pkgs/development/libraries/wlroots/default.nix
+++ b/pkgs/development/libraries/wlroots/default.nix
@@ -125,8 +125,8 @@ rec {
   };
 
   wlroots_0_17 = generic {
-    version = "0.17.2";
-    hash = "sha256-Of9qykyVnBURc5A2pvCMm7sLbnuuG7OPWLxodQLN2Xg=";
+    version = "0.17.3";
+    hash = "sha256-jth6BKci3sVDC86o+gSHKyDWnibVcNmipm7nn0S6LTg=";
     extraBuildInputs = [
       ffmpeg
       hwdata
diff --git a/pkgs/development/libraries/wlroots/protocols.nix b/pkgs/development/libraries/wlroots/protocols.nix
index 0a747c1e86a4e..fa69879ae97e0 100644
--- a/pkgs/development/libraries/wlroots/protocols.nix
+++ b/pkgs/development/libraries/wlroots/protocols.nix
@@ -38,6 +38,6 @@ stdenv.mkDerivation rec {
     homepage    = "https://gitlab.freedesktop.org/wlroots/wlr-protocols";
     license     = licenses.mit; # See file headers
     platforms   = platforms.linux;
-    maintainers = with maintainers; [ twitchyliquid64 ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/libraries/xcb-imdkit/default.nix b/pkgs/development/libraries/xcb-imdkit/default.nix
index 0483d27185410..1286b5e2157cc 100644
--- a/pkgs/development/libraries/xcb-imdkit/default.nix
+++ b/pkgs/development/libraries/xcb-imdkit/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xcb-imdkit";
-  version = "1.0.7";
+  version = "1.0.8";
 
   src = fetchFromGitHub {
     owner = "fcitx";
     repo = "xcb-imdkit";
     rev = version;
-    sha256 = "sha256-trfKWCMIuYV0XyCcIsNP8LCTc0MYotXvslRvp76YnKU=";
+    hash = "sha256-ANU3suG62G0M5ZUWaNcwD4ot/EYSK7236zGVQZIjjuE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/yyjson/default.nix b/pkgs/development/libraries/yyjson/default.nix
index 60a937b5216d1..82d4e1322f201 100644
--- a/pkgs/development/libraries/yyjson/default.nix
+++ b/pkgs/development/libraries/yyjson/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation (finalAttrs: {
     homepage = "https://github.com/ibireme/yyjson";
     changelog = "https://github.com/ibireme/yyjson/blob/${finalAttrs.src.rev}/CHANGELOG.md";
     license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ federicoschonborn ];
+    maintainers = with lib.maintainers; [ ];
     platforms = lib.platforms.all;
   };
 })
diff --git a/pkgs/development/lua-modules/generated-packages.nix b/pkgs/development/lua-modules/generated-packages.nix
index dea99a7a0f64d..2948a293645d6 100644
--- a/pkgs/development/lua-modules/generated-packages.nix
+++ b/pkgs/development/lua-modules/generated-packages.nix
@@ -202,7 +202,7 @@ buildLuarocksPackage {
   meta = {
     homepage = "https://github.com/sile-typesetter/cassowary.lua";
     description = "The cassowary constraint solver";
-    maintainers = with lib.maintainers; [ marsam alerque ];
+    maintainers = with lib.maintainers; [ alerque ];
     license.fullName = "Apache 2";
   };
 }) {};
@@ -315,7 +315,7 @@ buildLuarocksPackage {
   meta = {
     homepage = "http://cosmo.luaforge.net";
     description = "Safe templates for Lua";
-    maintainers = with lib.maintainers; [ marsam ];
+    maintainers = with lib.maintainers; [ ];
     license.fullName = "MIT/X11";
   };
 }) {};
diff --git a/pkgs/development/misc/h3/default.nix b/pkgs/development/misc/h3/default.nix
index a672bf38b0045..d30bdbc3e637f 100644
--- a/pkgs/development/misc/h3/default.nix
+++ b/pkgs/development/misc/h3/default.nix
@@ -39,7 +39,7 @@ let
         license = licenses.asl20;
         changelog = "https://github.com/uber/h3/raw/v${version}/CHANGELOG.md";
         platforms = platforms.all;
-        maintainers = with maintainers; [ kalbasit marsam ];
+        maintainers = with maintainers; [ kalbasit ];
       };
     };
 in
diff --git a/pkgs/development/ocaml-modules/awa/default.nix b/pkgs/development/ocaml-modules/awa/default.nix
index f1fbd02ba0f03..559b4fe62c4c2 100644
--- a/pkgs/development/ocaml-modules/awa/default.nix
+++ b/pkgs/development/ocaml-modules/awa/default.nix
@@ -8,13 +8,13 @@
 
 buildDunePackage rec {
   pname = "awa";
-  version = "0.3.0";
+  version = "0.3.1";
 
   minimalOCamlVersion = "4.10";
 
   src = fetchurl {
     url = "https://github.com/mirage/awa-ssh/releases/download/v${version}/awa-${version}.tbz";
-    hash = "sha256-BtbReSnnAN+u1Vy63afO1yheoDqsIRU2rig0y1QDtuw=";
+    hash = "sha256-VejHFn07B/zoEG4LjLaen24ig9kAXtERl/pRo6UZCQk=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/ocaml-modules/binning/default.nix b/pkgs/development/ocaml-modules/binning/default.nix
new file mode 100644
index 0000000000000..244b96220f7b2
--- /dev/null
+++ b/pkgs/development/ocaml-modules/binning/default.nix
@@ -0,0 +1,23 @@
+{ lib
+, buildDunePackage
+, fetchurl
+}:
+
+buildDunePackage rec {
+  pname = "binning";
+  version = "0.0.0";
+
+  minimalOCamlVersion = "4.08";
+
+  src = fetchurl {
+    url = "https://github.com/pveber/binning/releases/download/v${version}/binning-v${version}.tbz";
+    hash = "sha256-eG+xctsbc7lQ5pFOUtJ8rjNW/06gygwLADq7yc8Yf/c=";
+  };
+
+  meta = {
+    description = "A datastructure to accumulate values in bins";
+    license = lib.licenses.cecill-b;
+    homepage = "https://github.com/pveber/binning/";
+    maintainers = [ lib.maintainers.vbgl ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/biotk/default.nix b/pkgs/development/ocaml-modules/biotk/default.nix
new file mode 100644
index 0000000000000..33a98f71cb672
--- /dev/null
+++ b/pkgs/development/ocaml-modules/biotk/default.nix
@@ -0,0 +1,56 @@
+{ lib
+, buildDunePackage
+, fetchurl
+, angstrom-unix
+, binning
+, ocaml-crunch
+, camlzip
+, core_kernel
+, core_unix
+, csvfields
+, fmt
+, gsl
+, ppx_csv_conv
+, ppx_deriving
+, rresult
+, tyxml
+, uri
+, vg
+}:
+
+buildDunePackage rec {
+  pname = "biotk";
+  version = "0.2.0";
+
+  minimalOCamlVersion = "4.13";
+
+  src = fetchurl {
+    url = "https://github.com/pveber/biotk/releases/download/v${version}/biotk-${version}.tbz";
+    hash = "sha256-FQvbVj5MmraSN6AmOckKgJ/LB14E/pCsPvPvNppcv7A=";
+  };
+
+  nativeBuildInputs = [ ocaml-crunch ];
+
+  buildInputs = [ ppx_csv_conv ];
+
+  propagatedBuildInputs = [
+    angstrom-unix
+    binning
+    camlzip
+    core_kernel
+    core_unix
+    csvfields
+    fmt
+    gsl
+    ppx_deriving
+    rresult
+    tyxml
+    uri
+    vg
+  ];
+
+  meta = {
+    description = "Toolkit for bioinformatics in OCaml";
+    license = lib.licenses.cecill-c;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/bwd/default.nix b/pkgs/development/ocaml-modules/bwd/default.nix
index 8f3d4fd54175f..af606763e22b3 100644
--- a/pkgs/development/ocaml-modules/bwd/default.nix
+++ b/pkgs/development/ocaml-modules/bwd/default.nix
@@ -2,7 +2,7 @@
 
 buildDunePackage rec {
   pname = "bwd";
-  version = "2.2.0";
+  version = "2.3.0";
 
   minimalOCamlVersion = "4.12";
   duneVersion = "3";
@@ -11,7 +11,7 @@ buildDunePackage rec {
     owner = "RedPRL";
     repo = "ocaml-bwd";
     rev = version;
-    hash = "sha256-4DttkEPI9yJtMsqzTNSnoDajcvMQPIiJAHk0kJl540Y=";
+    hash = "sha256-rzn0U/D6kPNsH5hBTElc3d1jfKbgKbjA2JHicpaJtu4=";
   };
 
   doCheck = true;
diff --git a/pkgs/development/ocaml-modules/cmarkit/default.nix b/pkgs/development/ocaml-modules/cmarkit/default.nix
index 0a36ea196d477..e2b6d054db10f 100644
--- a/pkgs/development/ocaml-modules/cmarkit/default.nix
+++ b/pkgs/development/ocaml-modules/cmarkit/default.nix
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
     homepage = "https://erratique.ch/software/cmarkit";
     changelog = "https://github.com/dbuenzli/cmarkit/blob/v${version}/CHANGES.md";
     license = licenses.isc;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     inherit (ocaml.meta) platforms;
   };
 }
diff --git a/pkgs/development/ocaml-modules/csexp/default.nix b/pkgs/development/ocaml-modules/csexp/default.nix
index e819627807510..df0a530e062f1 100644
--- a/pkgs/development/ocaml-modules/csexp/default.nix
+++ b/pkgs/development/ocaml-modules/csexp/default.nix
@@ -20,6 +20,6 @@ buildDunePackage rec {
     homepage = "https://github.com/ocaml-dune/csexp";
     changelog = "https://github.com/ocaml-dune/csexp/raw/${version}/CHANGES.md";
     license = licenses.mit;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/dune-action-plugin/default.nix b/pkgs/development/ocaml-modules/dune-action-plugin/default.nix
index 1f101a35a5858..18095bee8fc38 100644
--- a/pkgs/development/ocaml-modules/dune-action-plugin/default.nix
+++ b/pkgs/development/ocaml-modules/dune-action-plugin/default.nix
@@ -17,7 +17,7 @@ buildDunePackage rec {
   meta = with lib; {
     inherit (dune_3.meta) homepage;
     description = "API for writing dynamic Dune actions";
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     license = licenses.mit;
   };
 }
diff --git a/pkgs/development/ocaml-modules/dune-configurator/default.nix b/pkgs/development/ocaml-modules/dune-configurator/default.nix
index 3eae198d82427..324be141866f4 100644
--- a/pkgs/development/ocaml-modules/dune-configurator/default.nix
+++ b/pkgs/development/ocaml-modules/dune-configurator/default.nix
@@ -18,7 +18,7 @@ buildDunePackage rec {
 
   meta = with lib; {
     description = "Helper library for gathering system configuration";
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     license = licenses.mit;
   };
 }
diff --git a/pkgs/development/ocaml-modules/dune-glob/default.nix b/pkgs/development/ocaml-modules/dune-glob/default.nix
index 59b78a7b77552..474fd4a52c633 100644
--- a/pkgs/development/ocaml-modules/dune-glob/default.nix
+++ b/pkgs/development/ocaml-modules/dune-glob/default.nix
@@ -17,7 +17,7 @@ buildDunePackage rec {
   meta = with lib; {
     inherit (dune_3.meta) homepage;
     description = "Glob string matching language supported by dune";
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     license = licenses.mit;
   };
 }
diff --git a/pkgs/development/ocaml-modules/dune-private-libs/default.nix b/pkgs/development/ocaml-modules/dune-private-libs/default.nix
index ecd8a0016e62d..4c6092122a294 100644
--- a/pkgs/development/ocaml-modules/dune-private-libs/default.nix
+++ b/pkgs/development/ocaml-modules/dune-private-libs/default.nix
@@ -19,7 +19,7 @@ buildDunePackage rec {
 
   meta = with lib; {
     description = "Private libraries of Dune";
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     license = licenses.mit;
   };
 }
diff --git a/pkgs/development/ocaml-modules/earlybird/default.nix b/pkgs/development/ocaml-modules/earlybird/default.nix
index 9803a20368c3b..9d6c3664822d3 100644
--- a/pkgs/development/ocaml-modules/earlybird/default.nix
+++ b/pkgs/development/ocaml-modules/earlybird/default.nix
@@ -6,7 +6,7 @@
 
 buildDunePackage rec {
   pname = "earlybird";
-  version = "1.2.1";
+  version = "1.3.2";
 
   minimalOCamlVersion = "4.12";
 
@@ -14,7 +14,7 @@ buildDunePackage rec {
     owner = "hackwaly";
     repo = "ocamlearlybird";
     rev = version;
-    hash = "sha256-p29uTdx8+mZKXUL+ng/FzpKuhnykEe8Sy968Wa/KUn4=";
+    hash = "sha256-E6ZZRkGO6Bqr6jWlV9fL3ibFwUVChHR17TPGeP94hfk=";
   };
 
   nativeBuildInputs = [ menhir ];
diff --git a/pkgs/development/ocaml-modules/gen_js_api/default.nix b/pkgs/development/ocaml-modules/gen_js_api/default.nix
index af1078e8faa7d..1901bfa59bfcd 100644
--- a/pkgs/development/ocaml-modules/gen_js_api/default.nix
+++ b/pkgs/development/ocaml-modules/gen_js_api/default.nix
@@ -10,13 +10,13 @@
 
 buildDunePackage rec {
   pname = "gen_js_api";
-  version = "1.1.1";
+  version = "1.1.2";
 
   src = fetchFromGitHub {
     owner = "LexiFi";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-0FKKYPbSBza/Q6oZniq/UHi5zBjD/i7j5ds3ZDWkBTs=";
+    sha256 = "sha256-tplbnQ/1dzZq8m/ibMAkGqY8RHQRmBPHOwh0dGuZCJM=";
   };
 
   minimalOCamlVersion = "4.11";
diff --git a/pkgs/development/ocaml-modules/iri/default.nix b/pkgs/development/ocaml-modules/iri/default.nix
index 8d7b3f6893fea..54db34bc9740e 100644
--- a/pkgs/development/ocaml-modules/iri/default.nix
+++ b/pkgs/development/ocaml-modules/iri/default.nix
@@ -4,7 +4,7 @@
 
 buildDunePackage rec {
   pname = "iri";
-  version = "0.7.0";
+  version = "1.0.0";
 
   minimalOCamlVersion = "4.12";
 
@@ -13,7 +13,7 @@ buildDunePackage rec {
     owner = "zoggy";
     repo = "ocaml-iri";
     rev = version;
-    hash = "sha256-Mkg7kIIVpKbeWUras1RqtJsRx2Q3dBnm4QqSMJFweF8=";
+    hash = "sha256-6Q7qPezmdcO6JSevWl55XAxFuIROZNDrMkYw8VRR7qg=";
   };
 
   propagatedBuildInputs = [ sedlex uunf uutf ];
diff --git a/pkgs/development/ocaml-modules/janestreet/0.15.nix b/pkgs/development/ocaml-modules/janestreet/0.15.nix
index f64e228a2b81a..10675364396f0 100644
--- a/pkgs/development/ocaml-modules/janestreet/0.15.nix
+++ b/pkgs/development/ocaml-modules/janestreet/0.15.nix
@@ -582,6 +582,13 @@ with self;
     propagatedBuildInputs = [ ppxlib base ];
   };
 
+  ppx_conv_func = janePackage {
+    pname = "ppx_conv_func";
+    hash = "sha256-61jX8yHZYOnMx1Jlqaq9zSOz25HLOa0Wv/iG6Hu82zI=";
+    meta.description = "Part of the Jane Street's PPX rewriters collection";
+    propagatedBuildInputs = [ ppxlib base ];
+  };
+
   ppx_custom_printf = janePackage {
     pname = "ppx_custom_printf";
     hash = "1k8nmq6kwqz2wpkm9ymq749dz1vd8lxrjc711knp1wyz5935hnsv";
@@ -597,6 +604,13 @@ with self;
     propagatedBuildInputs = [ core_kernel ppxlib js_of_ocaml js_of_ocaml-ppx sedlex ];
   };
 
+  ppx_csv_conv = janePackage {
+    pname = "ppx_csv_conv";
+    hash = "sha256-ctwgUs1buBZiNqac4760LhWd2/PMZRuxx8SE5T7yZ+g=";
+    meta.description = "Generate functions to read/write records in csv format";
+    propagatedBuildInputs = [ csvfields ppx_conv_func ];
+  };
+
   ppx_disable_unused_warnings = janePackage {
     pname = "ppx_disable_unused_warnings";
     hash = "0sb5i4v7p9df2bxk66rjs30k9fqdrwsq1jgykjv6wyrx2d9bv955";
diff --git a/pkgs/development/ocaml-modules/janestreet/0.16.nix b/pkgs/development/ocaml-modules/janestreet/0.16.nix
index 35d2895f679f6..526ea44808cd7 100644
--- a/pkgs/development/ocaml-modules/janestreet/0.16.nix
+++ b/pkgs/development/ocaml-modules/janestreet/0.16.nix
@@ -698,6 +698,13 @@ with self;
     propagatedBuildInputs = [ ppxlib base ];
   };
 
+  ppx_conv_func = janePackage {
+    pname = "ppx_conv_func";
+    hash = "sha256-HPHSZHdR9ll+7EbWc36shTdRPFYB0lkApidk+XL3clI=";
+    meta.description = "Part of the Jane Street's PPX rewriters collection";
+    propagatedBuildInputs = [ ppxlib base ];
+  };
+
   ppx_custom_printf = janePackage {
     pname = "ppx_custom_printf";
     hash = "sha256-V30ijRgcma/rwysPxNAFnuJIb7XFrfi7mfjJxN+rSak=";
@@ -712,6 +719,13 @@ with self;
     propagatedBuildInputs = [ async async_unix core_kernel core_unix ppxlib js_of_ocaml js_of_ocaml-ppx sedlex virtual_dom ];
   };
 
+  ppx_csv_conv = janePackage {
+    pname = "ppx_csv_conv";
+    hash = "sha256-RdPcDPLzoSf45Zeon3f4HcEvlwB6Q6sAINX3LHmjmj8=";
+    meta.description = "Generate functions to read/write records in csv format";
+    propagatedBuildInputs = [ csvfields ppx_conv_func ];
+  };
+
   ppx_demo = janePackage {
     pname = "ppx_demo";
     hash = "sha256-t/jz94YpwmorhWlcuflIZe0l85cESE62L9I7NMASVWM=";
diff --git a/pkgs/development/ocaml-modules/lacaml/default.nix b/pkgs/development/ocaml-modules/lacaml/default.nix
index fc2327b736e91..04880bca3ac5b 100644
--- a/pkgs/development/ocaml-modules/lacaml/default.nix
+++ b/pkgs/development/ocaml-modules/lacaml/default.nix
@@ -6,7 +6,7 @@ assert (!blas.isILP64) && (!lapack.isILP64);
 
 buildDunePackage rec {
   pname = "lacaml";
-  version = "11.0.8";
+  version = "11.0.10";
 
   useDune2 = true;
 
@@ -14,7 +14,7 @@ buildDunePackage rec {
 
   src = fetchurl {
     url = "https://github.com/mmottl/lacaml/releases/download/${version}/lacaml-${version}.tbz";
-    sha256 = "1i47wqnd9iy6ndbi9zfahpb592gahp6im26rgpwch13vgzk3kifd";
+    sha256 = "sha256-Vg6Hl31u1bvh0hfWU9eqoI8pGZt4YhpGRf3ul3h+SJk=";
   };
 
   buildInputs = [ dune-configurator ];
diff --git a/pkgs/development/ocaml-modules/lun/default.nix b/pkgs/development/ocaml-modules/lun/default.nix
index aab83d4c3cdbc..c7303d0a00810 100644
--- a/pkgs/development/ocaml-modules/lun/default.nix
+++ b/pkgs/development/ocaml-modules/lun/default.nix
@@ -15,6 +15,6 @@ buildDunePackage rec {
     description = "Optics in OCaml";
     homepage = "https://git.robur.coop/robur/lun";
     license = lib.licenses.isc;
-    maintainers = with lib.maintainers; [ marsam ];
+    maintainers = with lib.maintainers; [ ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/miou/default.nix b/pkgs/development/ocaml-modules/miou/default.nix
index fff2d16aaf589..909bf019cda7c 100644
--- a/pkgs/development/ocaml-modules/miou/default.nix
+++ b/pkgs/development/ocaml-modules/miou/default.nix
@@ -16,6 +16,6 @@ buildDunePackage rec {
     homepage = "https://git.robur.coop/robur/miou";
     changelog = "https://git.robur.coop/robur/miou/src/tag/v${version}/CHANGES.md";
     license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ marsam ];
+    maintainers = with lib.maintainers; [ ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/mldoc/default.nix b/pkgs/development/ocaml-modules/mldoc/default.nix
index b55faf222cffe..6a74ef4cec82d 100644
--- a/pkgs/development/ocaml-modules/mldoc/default.nix
+++ b/pkgs/development/ocaml-modules/mldoc/default.nix
@@ -64,6 +64,6 @@ buildDunePackage rec {
     homepage = "https://github.com/logseq/mldoc";
     description = "Another Emacs Org-mode and Markdown parser";
     license = licenses.agpl3Only;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/mtime/1_x.nix b/pkgs/development/ocaml-modules/mtime/1_x.nix
deleted file mode 100644
index e10f2b7d7a3ba..0000000000000
--- a/pkgs/development/ocaml-modules/mtime/1_x.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ stdenv, lib, fetchurl, ocaml, findlib, ocamlbuild, topkg, mtime }:
-
-lib.throwIfNot (lib.versionAtLeast ocaml.version "4.08")
-  "mtime is not available for OCaml ${ocaml.version}"
-
-stdenv.mkDerivation rec {
-  pname = "ocaml${ocaml.version}-mtime";
-  version = "1.4.0";
-
-  src = fetchurl {
-    url = "https://erratique.ch/software/mtime/releases/mtime-${version}.tbz";
-    sha256 = "VQyYEk8+57Yq8SUuYossaQUHZKqemHDJtf4LK8qjxvc=";
-  };
-
-  nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ];
-  buildInputs = [ topkg ];
-
-  strictDeps = true;
-
-  inherit (topkg) buildPhase installPhase;
-  inherit (mtime) meta;
-}
diff --git a/pkgs/development/ocaml-modules/ninja_utils/default.nix b/pkgs/development/ocaml-modules/ninja_utils/default.nix
new file mode 100644
index 0000000000000..2510cc93abbcd
--- /dev/null
+++ b/pkgs/development/ocaml-modules/ninja_utils/default.nix
@@ -0,0 +1,22 @@
+{ lib, fetchzip, buildDunePackage, re }:
+
+buildDunePackage rec {
+  pname = "ninja_utils";
+  version = "0.9.0";
+
+  minimalOCamlVersion = "4.12";
+
+  src = fetchzip {
+    url = "https://github.com/CatalaLang/ninja_utils/archive/refs/tags/${version}.tar.gz";
+    hash = "sha256-VSj1IXfczoI3lSAtOqQPIqsxX+HgyxKzlssKd7By/Lo=";
+  };
+
+  propagatedBuildInputs = [ re ];
+
+  meta = {
+    description = "Small library used to generate Ninja build files";
+    homepage = "https://github.com/CatalaLang/ninja_utils";
+    license = lib.licenses.asl20;
+    maintainers = [ ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix b/pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix
index ec4986bb88762..aee22a26bd181 100644
--- a/pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix
+++ b/pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix
@@ -73,6 +73,6 @@ buildDunePackage rec {
     description = "Jsonrpc protocol implementation in OCaml";
     license = licenses.isc;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/ocaml-version/default.nix b/pkgs/development/ocaml-modules/ocaml-version/default.nix
index 6ada93dc02ec9..a60b02e4f3c3e 100644
--- a/pkgs/development/ocaml-modules/ocaml-version/default.nix
+++ b/pkgs/development/ocaml-modules/ocaml-version/default.nix
@@ -2,11 +2,11 @@
 
 buildDunePackage rec {
   pname = "ocaml-version";
-  version = "3.6.5";
+  version = "3.6.7";
 
   src = fetchurl {
     url = "https://github.com/ocurrent/ocaml-version/releases/download/v${version}/ocaml-version-${version}.tbz";
-    hash = "sha256-hHP2l0Jcz9YalxCY0wcgdH6zTz+OqRD6JOyjB+r539I=";
+    hash = "sha256-1Q/9W2adM+2w2InEdqcd5IiNkACNWDNgONIQztKPgQw=";
   };
 
   checkInputs = [ alcotest ];
diff --git a/pkgs/development/ocaml-modules/ocamlformat/ocamlformat-lib.nix b/pkgs/development/ocaml-modules/ocamlformat/ocamlformat-lib.nix
index 9e271fe186b5e..a6607ba83ccd3 100644
--- a/pkgs/development/ocaml-modules/ocamlformat/ocamlformat-lib.nix
+++ b/pkgs/development/ocaml-modules/ocamlformat/ocamlformat-lib.nix
@@ -19,7 +19,7 @@ buildDunePackage {
   meta = {
     homepage = "https://github.com/ocaml-ppx/ocamlformat";
     description = "Auto-formatter for OCaml code (library)";
-    maintainers = with lib.maintainers; [ Zimmi48 marsam Julow ];
+    maintainers = with lib.maintainers; [ Zimmi48 Julow ];
     license = lib.licenses.mit;
   };
 }
diff --git a/pkgs/development/ocaml-modules/ocamlformat/ocamlformat-rpc-lib.nix b/pkgs/development/ocaml-modules/ocamlformat/ocamlformat-rpc-lib.nix
index e1f5f29aa2fb5..ca78efad37488 100644
--- a/pkgs/development/ocaml-modules/ocamlformat/ocamlformat-rpc-lib.nix
+++ b/pkgs/development/ocaml-modules/ocamlformat/ocamlformat-rpc-lib.nix
@@ -21,6 +21,6 @@ in buildDunePackage rec {
     homepage = "https://github.com/ocaml-ppx/ocamlformat";
     description = "Auto-formatter for OCaml code (RPC mode)";
     license = licenses.mit;
-    maintainers = with maintainers; [ Zimmi48 marsam Julow ];
+    maintainers = with maintainers; [ Zimmi48 Julow ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/ocamlformat/ocamlformat.nix b/pkgs/development/ocaml-modules/ocamlformat/ocamlformat.nix
index 4c3b6607737d4..7b1faaf3e88b6 100644
--- a/pkgs/development/ocaml-modules/ocamlformat/ocamlformat.nix
+++ b/pkgs/development/ocaml-modules/ocamlformat/ocamlformat.nix
@@ -31,7 +31,7 @@ buildDunePackage {
   meta = {
     homepage = "https://github.com/ocaml-ppx/ocamlformat";
     description = "Auto-formatter for OCaml code";
-    maintainers = with lib.maintainers; [ Zimmi48 marsam Julow ];
+    maintainers = with lib.maintainers; [ Zimmi48 Julow ];
     license = lib.licenses.mit;
     mainProgram = "ocamlformat";
   };
diff --git a/pkgs/development/ocaml-modules/odoc-parser/default.nix b/pkgs/development/ocaml-modules/odoc-parser/default.nix
index 1c996973e1c29..90e99427ec09d 100644
--- a/pkgs/development/ocaml-modules/odoc-parser/default.nix
+++ b/pkgs/development/ocaml-modules/odoc-parser/default.nix
@@ -40,7 +40,7 @@ buildDunePackage rec {
   meta = {
     description = "Parser for Ocaml documentation comments";
     license = lib.licenses.isc;
-    maintainers = [ lib.maintainers.marsam ];
+    maintainers = [ ];
     homepage = "https://github.com/ocaml-doc/odoc-parser";
     changelog = "https://github.com/ocaml-doc/odoc-parser/raw/${version}/CHANGES.md";
   };
diff --git a/pkgs/development/ocaml-modules/phylogenetics/default.nix b/pkgs/development/ocaml-modules/phylogenetics/default.nix
index 7c4f90b6f976d..76856024c09a6 100644
--- a/pkgs/development/ocaml-modules/phylogenetics/default.nix
+++ b/pkgs/development/ocaml-modules/phylogenetics/default.nix
@@ -1,32 +1,27 @@
 { lib
-, ocaml
 , buildDunePackage
-, fetchFromGitHub
+, fetchurl
 , ppx_deriving
 , bppsuite
 , alcotest
 , angstrom-unix
-, biocaml
+, biotk
 , core
 , gsl
 , lacaml
 , menhir
 , menhirLib
 , printbox-text
+, yojson
 }:
 
-lib.throwIf (lib.versionAtLeast ocaml.version "5.0")
-  "phylogenetics is not compatible with OCaml ${ocaml.version}"
-
 buildDunePackage rec {
   pname = "phylogenetics";
-  version = "unstable-2022-05-06";
+  version = "0.2.0";
 
-  src = fetchFromGitHub {
-    owner = "biocaml";
-    repo = pname;
-    rev = "cd7c624d0f98e31b02933ca4511b9809b26d35b5";
-    sha256 = "sha256:0w0xyah3hj05hxg1rsa40hhma3dm1cyq0zvnjrihhf22laxap7ga";
+  src = fetchurl {
+    url = "https://github.com/biocaml/phylogenetics/releases/download/v${version}/phylogenetics-${version}.tbz";
+    hash = "sha256-JFpYp3pyW7PrBjqCwwDZxkJPA84dp6Qs8rOPvHPY92o=";
   };
 
   minimalOCamlVersion = "4.08";
@@ -36,13 +31,14 @@ buildDunePackage rec {
   nativeBuildInputs = [ menhir ];
   propagatedBuildInputs = [
     angstrom-unix
-    biocaml
+    biotk
     core
     gsl
     lacaml
     menhirLib
     ppx_deriving
     printbox-text
+    yojson
   ];
 
   checkPhase = ''
diff --git a/pkgs/development/ocaml-modules/ppx_yojson_conv_lib/default.nix b/pkgs/development/ocaml-modules/ppx_yojson_conv_lib/default.nix
index 49a5e15e9e38b..7ddbc1f5d5148 100644
--- a/pkgs/development/ocaml-modules/ppx_yojson_conv_lib/default.nix
+++ b/pkgs/development/ocaml-modules/ppx_yojson_conv_lib/default.nix
@@ -18,7 +18,7 @@ buildDunePackage rec {
   meta = with lib; {
     description = "Runtime lib for ppx_yojson_conv";
     homepage = "https://github.com/janestreet/ppx_yojson_conv_lib";
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     license = licenses.mit;
   };
 }
diff --git a/pkgs/development/ocaml-modules/riot/default.nix b/pkgs/development/ocaml-modules/riot/default.nix
index 81d1a48773ea2..a6f599639111f 100644
--- a/pkgs/development/ocaml-modules/riot/default.nix
+++ b/pkgs/development/ocaml-modules/riot/default.nix
@@ -40,6 +40,6 @@ buildDunePackage rec {
     homepage = "https://github.com/leostera/riot";
     changelog = "https://github.com/leostera/riot/blob/${version}/CHANGES.md";
     license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ marsam ];
+    maintainers = with lib.maintainers; [ ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/sedlex/default.nix b/pkgs/development/ocaml-modules/sedlex/default.nix
index aaa5a275db7ad..b4147f53c7e9a 100644
--- a/pkgs/development/ocaml-modules/sedlex/default.nix
+++ b/pkgs/development/ocaml-modules/sedlex/default.nix
@@ -80,6 +80,6 @@ buildDunePackage rec {
     changelog = "https://github.com/ocaml-community/sedlex/raw/v${version}/CHANGES";
     description = "An OCaml lexer generator for Unicode";
     license = lib.licenses.mit;
-    maintainers = [ lib.maintainers.marsam ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/streaming/default.nix b/pkgs/development/ocaml-modules/streaming/default.nix
new file mode 100644
index 0000000000000..f2a8c883f7240
--- /dev/null
+++ b/pkgs/development/ocaml-modules/streaming/default.nix
@@ -0,0 +1,26 @@
+{ lib
+, buildDunePackage
+, fetchurl
+, stdlib-shims
+}:
+
+buildDunePackage rec {
+  pname = "streaming";
+  version = "0.8.0";
+
+  minimalOCamlVersion = "4.08";
+
+  src = fetchurl {
+    url = "https://github.com/odis-labs/streaming/releases/download/${version}/streaming-${version}.tbz";
+    hash = "sha256-W+3GYZpsLj1SnQhuSmjXdi/85fMajWpz4b7x5W0bnJs=";
+  };
+
+  propagatedBuildInputs = [ stdlib-shims ];
+
+  meta = {
+    homepage = "https://odis-labs.github.io/streaming";
+    license = lib.licenses.isc;
+    description = "Fast, safe and composable streaming abstractions";
+    maintainers = [ lib.maintainers.vbgl ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/syslog-message/default.nix b/pkgs/development/ocaml-modules/syslog-message/default.nix
index 73cbba8be3914..e33194809526b 100644
--- a/pkgs/development/ocaml-modules/syslog-message/default.nix
+++ b/pkgs/development/ocaml-modules/syslog-message/default.nix
@@ -4,20 +4,18 @@
 
 buildDunePackage rec {
   pname = "syslog-message";
-  version = "1.1.0";
+  version = "1.2.0";
 
   minimalOCamlVersion = "4.08";
   duneVersion = "3";
 
   src = fetchurl {
     url = "https://github.com/verbosemode/${pname}/releases/download/${version}/${pname}-${version}.tbz";
-    hash = "sha256:0vy4dkl2q2fa6rzyfsvjyc9r1b9ymfqd6j35z2kp5vdc4r87053g";
+    hash = "sha256-+eyiv6JvC0EKs3G1s5qoFtK0bU4Yg41AHg5Nc6xD9w0=";
   };
 
   propagatedBuildInputs = [
-    astring
     ptime
-    rresult
   ];
 
   doCheck = true;
diff --git a/pkgs/development/ocaml-modules/tsdl-ttf/default.nix b/pkgs/development/ocaml-modules/tsdl-ttf/default.nix
index 93bee8f101562..086b0789a6a51 100644
--- a/pkgs/development/ocaml-modules/tsdl-ttf/default.nix
+++ b/pkgs/development/ocaml-modules/tsdl-ttf/default.nix
@@ -9,7 +9,7 @@
 
 buildDunePackage rec {
   pname = "tsdl-ttf";
-  version = "0.5";
+  version = "0.6";
 
   duneVersion = "3";
 
@@ -17,7 +17,7 @@ buildDunePackage rec {
     owner = "sanette";
     repo = pname;
     rev = version;
-    hash = "sha256-ai9ChsA3HZzTxT9AuHsY1UIA2Q3U3CcOA7jRSG4MDsQ=";
+    hash = "sha256-1MGbsekaBoCz4vAwg+Dfzsl0xUKgs8dUEr+OpLopnig=";
   };
 
   buildInputs = [
diff --git a/pkgs/development/ocaml-modules/uring/default.nix b/pkgs/development/ocaml-modules/uring/default.nix
index 4940f38f1b4ac..1930aa5bbff5d 100644
--- a/pkgs/development/ocaml-modules/uring/default.nix
+++ b/pkgs/development/ocaml-modules/uring/default.nix
@@ -3,6 +3,7 @@
 , cstruct
 , dune-configurator
 , fetchurl
+, fetchpatch
 , fmt
 , optint
 , mdx
@@ -19,6 +20,14 @@ buildDunePackage rec {
     hash = "sha256-4OGst19vqEzuNVxO5xxtzS+mEilEBFoEc7lC3j3sTk4=";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "musl-1.2.5.patch";
+      url = "https://github.com/ocaml-multicore/ocaml-uring/commit/abe340086574c124061434054937d1f19ee6bb71.patch";
+      hash = "sha256-J4ZQAdQZ9fhT3/vAh5FYMyvMllTowe4GyHJy5RGUTv0=";
+    })
+  ];
+
   propagatedBuildInputs = [
     cstruct
     fmt
diff --git a/pkgs/development/ocaml-modules/visitors/default.nix b/pkgs/development/ocaml-modules/visitors/default.nix
index d904b92a0acc8..2187de4c7c42b 100644
--- a/pkgs/development/ocaml-modules/visitors/default.nix
+++ b/pkgs/development/ocaml-modules/visitors/default.nix
@@ -23,6 +23,6 @@ buildDunePackage rec {
     changelog = "https://gitlab.inria.fr/fpottier/visitors/-/raw/${version}/CHANGES.md";
     license = licenses.lgpl21;
     description = "An OCaml syntax extension (technically, a ppx_deriving plugin) which generates object-oriented visitors for traversing and transforming data structures";
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/zmq/default.nix b/pkgs/development/ocaml-modules/zmq/default.nix
index b92d8e6cb8679..abfe608055dfc 100644
--- a/pkgs/development/ocaml-modules/zmq/default.nix
+++ b/pkgs/development/ocaml-modules/zmq/default.nix
@@ -2,11 +2,11 @@
 
 buildDunePackage rec {
   pname = "zmq";
-  version = "5.2.1";
+  version = "5.3.0";
 
   src = fetchurl {
     url = "https://github.com/issuu/ocaml-zmq/releases/download/${version}/zmq-${version}.tbz";
-    hash = "sha256-hVKfaTrUFqEBsv5hFB7JwsR630M0DKnqhB0QHpxcHKc=";
+    hash = "sha256-tetCmVg27/WHZ+HMwKZVHCrHTzWAlKwkAjNDibB1+6g=";
   };
 
   buildInputs = [ czmq dune-configurator ];
diff --git a/pkgs/development/php-packages/phpinsights/default.nix b/pkgs/development/php-packages/phpinsights/default.nix
index 64e3fc59b58a3..dd5b1ebce02b6 100644
--- a/pkgs/development/php-packages/phpinsights/default.nix
+++ b/pkgs/development/php-packages/phpinsights/default.nix
@@ -24,6 +24,6 @@ php.buildComposerProject (finalAttrs: {
     homepage = "https://phpinsights.com/";
     license = lib.licenses.mit;
     mainProgram = "phpinsights";
-    maintainers = with lib.maintainers; [ patka ];
+    maintainers = [ ];
   };
 })
diff --git a/pkgs/development/python-modules/accessible-pygments/default.nix b/pkgs/development/python-modules/accessible-pygments/default.nix
index 334a4c5f2ee32..9c516a5f6e85f 100644
--- a/pkgs/development/python-modules/accessible-pygments/default.nix
+++ b/pkgs/development/python-modules/accessible-pygments/default.nix
@@ -34,6 +34,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/Quansight-Labs/accessible-pygments";
     changelog = "https://github.com/Quansight-Labs/accessible-pygments/raw/v${version}/CHANGELOG.md";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/acoustics/default.nix b/pkgs/development/python-modules/acoustics/default.nix
index 174fd9c22376f..3f51f03e5e0d7 100644
--- a/pkgs/development/python-modules/acoustics/default.nix
+++ b/pkgs/development/python-modules/acoustics/default.nix
@@ -53,7 +53,6 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Python package for acousticians";
-    maintainers = with maintainers; [ fridh ];
     license = with licenses; [ bsd3 ];
     homepage = "https://github.com/python-acoustics/python-acoustics";
   };
diff --git a/pkgs/development/python-modules/ailment/default.nix b/pkgs/development/python-modules/ailment/default.nix
index cef36e2b8a9f2..3c77719d57af5 100644
--- a/pkgs/development/python-modules/ailment/default.nix
+++ b/pkgs/development/python-modules/ailment/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "ailment";
-  version = "9.2.99";
+  version = "9.2.100";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = "ailment";
     rev = "refs/tags/v${version}";
-    hash = "sha256-g+PvOnm/cLb2FIW1vVHeFRH7iY60HYzQirnxrIdGlVw=";
+    hash = "sha256-qjEQ+pk/5Zp1HRrT/MlpmExB86JCF4kW3UHn3/anND4=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/aiocsv/default.nix b/pkgs/development/python-modules/aiocsv/default.nix
index 30511eb816761..f4697daee6c87 100644
--- a/pkgs/development/python-modules/aiocsv/default.nix
+++ b/pkgs/development/python-modules/aiocsv/default.nix
@@ -1,17 +1,19 @@
-{ lib
-, aiofiles
-, buildPythonPackage
-, cython
-, fetchFromGitHub
-, pytest-asyncio
-, pytestCheckHook
-, pythonOlder
-, setuptools
+{
+  lib,
+  aiofiles,
+  buildPythonPackage,
+  cython,
+  fetchFromGitHub,
+  pytest-asyncio,
+  pytestCheckHook,
+  pythonOlder,
+  setuptools,
+  typing-extensions,
 }:
 
 buildPythonPackage rec {
   pname = "aiocsv";
-  version = "1.3.1";
+  version = "1.3.2";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -20,14 +22,16 @@ buildPythonPackage rec {
     owner = "MKuranowski";
     repo = "aiocsv";
     rev = "refs/tags/v${version}";
-    hash = "sha256-zHU9NfxiRUOAk0kwsKmvxd01UtNXZTnb700Wlm9DUz4=";
+    hash = "sha256-NnRLBXvQj25dSHc8ZnUaPT8Oiy2EyHLIb8IJPQliyPg=";
   };
 
-  nativeBuildInputs = [
+  build-system = [
     cython
     setuptools
   ];
 
+  dependencies = [ typing-extensions ];
+
   nativeCheckInputs = [
     aiofiles
     pytest-asyncio
@@ -38,9 +42,7 @@ buildPythonPackage rec {
     export CYTHONIZE=1
   '';
 
-  pythonImportsCheck = [
-    "aiocsv"
-  ];
+  pythonImportsCheck = [ "aiocsv" ];
 
   disabledTestPaths = [
     # Import issue
diff --git a/pkgs/development/python-modules/aiodiscover/default.nix b/pkgs/development/python-modules/aiodiscover/default.nix
index 3330acf8d5a29..90dcca8a4c2c8 100644
--- a/pkgs/development/python-modules/aiodiscover/default.nix
+++ b/pkgs/development/python-modules/aiodiscover/default.nix
@@ -1,22 +1,23 @@
-{ lib
-, aiodns
-, async-timeout
-, buildPythonPackage
-, cached-ipaddress
-, dnspython
-, fetchFromGitHub
-, ifaddr
-, netifaces
-, pyroute2
-, pytest-asyncio
-, pytestCheckHook
-, pythonOlder
-, setuptools
+{
+  lib,
+  aiodns,
+  async-timeout,
+  buildPythonPackage,
+  cached-ipaddress,
+  dnspython,
+  fetchFromGitHub,
+  ifaddr,
+  netifaces,
+  pyroute2,
+  pytest-asyncio,
+  pytestCheckHook,
+  pythonOlder,
+  setuptools,
 }:
 
 buildPythonPackage rec {
   pname = "aiodiscover";
-  version = "2.0.0";
+  version = "2.1.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -25,12 +26,10 @@ buildPythonPackage rec {
     owner = "bdraco";
     repo = "aiodiscover";
     rev = "refs/tags/v${version}";
-    hash = "sha256-7oeyuwirQ2mm0UQEOwTkAz126UnxkoMjg+DDu5DWY3E=";
+    hash = "sha256-+DcROb6jR0veD3oSKgyJHUi1VtCT54yBKvVqir5y+R4=";
   };
 
-  nativeBuildInputs = [
-    setuptools
-  ];
+  nativeBuildInputs = [ setuptools ];
 
   propagatedBuildInputs = [
     async-timeout
@@ -52,9 +51,7 @@ buildPythonPackage rec {
     "test_async_discover_hosts"
   ];
 
-  pythonImportsCheck = [
-    "aiodiscover"
-  ];
+  pythonImportsCheck = [ "aiodiscover" ];
 
   meta = with lib; {
     description = "Python module to discover hosts via ARP and PTR lookup";
diff --git a/pkgs/development/python-modules/aiofiles/default.nix b/pkgs/development/python-modules/aiofiles/default.nix
index fe72ff28c78b6..d3d289204b7bc 100644
--- a/pkgs/development/python-modules/aiofiles/default.nix
+++ b/pkgs/development/python-modules/aiofiles/default.nix
@@ -49,6 +49,5 @@ buildPythonPackage rec {
     description = "File support for asyncio";
     homepage = "https://github.com/Tinche/aiofiles";
     license = with licenses; [ asl20 ];
-    maintainers = with maintainers; [ fridh ];
   };
 }
diff --git a/pkgs/development/python-modules/aiogram/default.nix b/pkgs/development/python-modules/aiogram/default.nix
index ed60684b9fa3e..74d9f070a7219 100644
--- a/pkgs/development/python-modules/aiogram/default.nix
+++ b/pkgs/development/python-modules/aiogram/default.nix
@@ -1,30 +1,31 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, pythonOlder
-, pythonRelaxDepsHook
-, pytestCheckHook
-, aiohttp
-, aiohttp-socks
-, aiofiles
-, aresponses
-, babel
-, certifi
-, magic-filter
-, pycryptodomex
-, pytest-aiohttp
-, pytest-asyncio
-, pytest-lazy-fixture
-, redis
-, hatchling
-, pydantic
-, pytz
-, gitUpdater
+{
+  lib,
+  aiofiles,
+  aiohttp,
+  aiohttp-socks,
+  aresponses,
+  babel,
+  buildPythonPackage,
+  certifi,
+  fetchFromGitHub,
+  gitUpdater,
+  hatchling,
+  magic-filter,
+  pycryptodomex,
+  pydantic,
+  pytest-aiohttp,
+  pytest-asyncio,
+  pytest-lazy-fixture,
+  pytestCheckHook,
+  pythonOlder,
+  pythonRelaxDepsHook,
+  pytz,
+  redis,
 }:
 
 buildPythonPackage rec {
   pname = "aiogram";
-  version = "3.4.1";
+  version = "3.5.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -33,19 +34,16 @@ buildPythonPackage rec {
     owner = "aiogram";
     repo = "aiogram";
     rev = "refs/tags/v${version}";
-    hash = "sha256-2of4KHdpAATOt0dCqI3AmTJtdeN5SdiWydeGjtagABI=";
+    hash = "sha256-NOaI01Lb969Lp/v38u2UipN9UbOQNJQEbN2JS3lmFno=";
   };
 
-  nativeBuildInputs = [
-    hatchling
-    pythonRelaxDepsHook
-  ];
+  build-system = [ hatchling ];
 
-  pythonRelaxDeps = [
-    "pydantic"
-  ];
+  nativeBuildInputs = [ pythonRelaxDepsHook ];
 
-  propagatedBuildInputs = [
+  pythonRelaxDeps = [ "pydantic" ];
+
+  dependencies = [
     aiofiles
     aiohttp
     babel
@@ -67,15 +65,17 @@ buildPythonPackage rec {
   ];
 
   pytestFlagsArray = [
-    "-W" "ignore::pluggy.PluggyTeardownRaisedWarning"
-    "-W" "ignore::pytest.PytestDeprecationWarning"
+    "-W"
+    "ignore::pluggy.PluggyTeardownRaisedWarning"
+    "-W"
+    "ignore::pytest.PytestDeprecationWarning"
+    "-W"
+    "ignore::DeprecationWarning"
   ];
 
   pythonImportsCheck = [ "aiogram" ];
 
-  passthru.updateScript = gitUpdater {
-    rev-prefix = "v";
-  };
+  passthru.updateScript = gitUpdater { rev-prefix = "v"; };
 
   meta = with lib; {
     description = "Modern and fully asynchronous framework for Telegram Bot API";
diff --git a/pkgs/development/python-modules/aiolyric/default.nix b/pkgs/development/python-modules/aiolyric/default.nix
index 916754dc8c67a..4411b52a344f9 100644
--- a/pkgs/development/python-modules/aiolyric/default.nix
+++ b/pkgs/development/python-modules/aiolyric/default.nix
@@ -1,35 +1,38 @@
-{ lib
-, aiohttp
-, buildPythonPackage
-, fetchFromGitHub
-, pythonOlder
-, pytestCheckHook
-, setuptools
+{
+  lib,
+  aiohttp,
+  aioresponses,
+  buildPythonPackage,
+  fetchFromGitHub,
+  incremental,
+  pythonOlder,
+  pytestCheckHook,
+  setuptools,
 }:
 
 buildPythonPackage rec {
   pname = "aiolyric";
-  version = "2.0.0";
+  version = "2.0.1";
   pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.11";
 
   src = fetchFromGitHub {
     owner = "timmo001";
     repo = "aiolyric";
     rev = "refs/tags/${version}";
-    hash = "sha256-FZhLjVrLzLv6CZz/ROlvbtBK9XnpO8pG48aSIoBxhCo=";
+    hash = "sha256-pN/F4Rdov06sm1yfJQEzmWyujWVeVU+bNGGkgnN4jYw=";
   };
 
-  build-system = [
-    setuptools
-  ];
+  build-system = [ setuptools ];
 
   dependencies = [
     aiohttp
+    incremental
   ];
 
   nativeCheckInputs = [
+    aioresponses
     pytestCheckHook
   ];
 
@@ -38,9 +41,7 @@ buildPythonPackage rec {
     "test_priority"
   ];
 
-  pythonImportsCheck = [
-    "aiolyric"
-  ];
+  pythonImportsCheck = [ "aiolyric" ];
 
   meta = with lib; {
     description = "Python module for the Honeywell Lyric Platform";
diff --git a/pkgs/development/python-modules/aiomultiprocess/default.nix b/pkgs/development/python-modules/aiomultiprocess/default.nix
index 579ea497fb457..f07b225890a5c 100644
--- a/pkgs/development/python-modules/aiomultiprocess/default.nix
+++ b/pkgs/development/python-modules/aiomultiprocess/default.nix
@@ -1,25 +1,27 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, flit-core
-, pytestCheckHook
-, pythonOlder
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  flit-core,
+  pytestCheckHook,
+  pythonOlder,
 }:
 
 buildPythonPackage rec {
   pname = "aiomultiprocess";
-  version = "0.9.0";
-  format = "pyproject";
+  version = "0.9.1";
+  pyproject = true;
+
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "omnilib";
-    repo = pname;
-    rev = "v${version}";
-    hash = "sha256-yOP69FXDb2Grmtszx7oa6uiJGUar8su3KwqQPI+xjrw=";
+    repo = "aiomultiprocess";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-LWrAr3i2CgOMZFxWi9B3kiou0UtaHdDbpkr6f9pReRA=";
   };
 
-  nativeBuildInputs = [ flit-core ];
+  build-system = [ flit-core ];
 
   nativeCheckInputs = [ pytestCheckHook ];
 
diff --git a/pkgs/development/python-modules/aiopegelonline/default.nix b/pkgs/development/python-modules/aiopegelonline/default.nix
index cb280b01d2e4c..64d5cd987019f 100644
--- a/pkgs/development/python-modules/aiopegelonline/default.nix
+++ b/pkgs/development/python-modules/aiopegelonline/default.nix
@@ -1,17 +1,18 @@
-{ lib
-, aiohttp
-, aioresponses
-, buildPythonPackage
-, fetchFromGitHub
-, pytest-asyncio
-, pytestCheckHook
-, pythonOlder
-, setuptools
+{
+  lib,
+  aiohttp,
+  aioresponses,
+  buildPythonPackage,
+  fetchFromGitHub,
+  pytest-asyncio,
+  pytestCheckHook,
+  pythonOlder,
+  setuptools,
 }:
 
 buildPythonPackage rec {
   pname = "aiopegelonline";
-  version = "0.0.9";
+  version = "0.0.10";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -20,16 +21,12 @@ buildPythonPackage rec {
     owner = "mib1185";
     repo = "aiopegelonline";
     rev = "refs/tags/v${version}";
-    hash = "sha256-/k0TR0oUYZigi/2xRVLPFAIMAmXoLnE0NRlvEZrWylo=";
+    hash = "sha256-nKuqAzT1O5n9X/fEUm+M2RdB4u7moUGQzFA7knSEpBs=";
   };
 
-  nativeBuildInputs = [
-    setuptools
-  ];
+  build-system = [ setuptools ];
 
-  propagatedBuildInputs = [
-    aiohttp
-  ];
+  dependencies = [ aiohttp ];
 
   nativeCheckInputs = [
     aioresponses
@@ -37,9 +34,7 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [
-    "aiopegelonline"
-  ];
+  pythonImportsCheck = [ "aiopegelonline" ];
 
   meta = with lib; {
     description = "Library to retrieve data from PEGELONLINE";
diff --git a/pkgs/development/python-modules/aiovodafone/default.nix b/pkgs/development/python-modules/aiovodafone/default.nix
index cd19fc80327b4..5344131279934 100644
--- a/pkgs/development/python-modules/aiovodafone/default.nix
+++ b/pkgs/development/python-modules/aiovodafone/default.nix
@@ -1,48 +1,43 @@
-{ lib
-, aiohttp
-, beautifulsoup4
-, buildPythonPackage
-, fetchFromGitHub
-, poetry-core
-, pytestCheckHook
-, pythonOlder
+{
+  lib,
+  aiohttp,
+  beautifulsoup4,
+  buildPythonPackage,
+  fetchFromGitHub,
+  poetry-core,
+  pytestCheckHook,
+  pythonOlder,
 }:
 
 buildPythonPackage rec {
   pname = "aiovodafone";
-  version = "0.5.4";
+  version = "0.6.0";
   pyproject = true;
 
-  disabled = pythonOlder "3.10";
+  disabled = pythonOlder "3.11";
 
   src = fetchFromGitHub {
     owner = "chemelli74";
     repo = "aiovodafone";
     rev = "refs/tags/v${version}";
-    hash = "sha256-J2VdRxCzIjRUOqQW4YzOC8RRth9tibBS9YuizveqhhI=";
+    hash = "sha256-sy7/nCthmfI0WdBkwBU83fifcYTe9zUBOpxV7RX9F6w=";
   };
 
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace " --cov=aiovodafone --cov-report=term-missing:skip-covered" ""
+      --replace-fail " --cov=aiovodafone --cov-report=term-missing:skip-covered" ""
   '';
 
-  nativeBuildInputs = [
-    poetry-core
-  ];
+  build-system = [ poetry-core ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     aiohttp
     beautifulsoup4
   ];
 
-  nativeCheckInputs = [
-    pytestCheckHook
-  ];
+  nativeCheckInputs = [ pytestCheckHook ];
 
-  pythonImportsCheck = [
-    "aiovodafone"
-  ];
+  pythonImportsCheck = [ "aiovodafone" ];
 
   meta = with lib; {
     description = "Library to control Vodafon Station";
diff --git a/pkgs/development/python-modules/androidtvremote2/default.nix b/pkgs/development/python-modules/androidtvremote2/default.nix
index 976ba217ce464..a0c066c4d9751 100644
--- a/pkgs/development/python-modules/androidtvremote2/default.nix
+++ b/pkgs/development/python-modules/androidtvremote2/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "androidtvremote2";
-  version = "0.0.14";
+  version = "0.0.15";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "tronikos";
     repo = "androidtvremote2";
     rev = "refs/tags/v${version}";
-    hash = "sha256-m53TlNrrCjA4CqvR02Yph7Gr5Dt17VJFBX6MC3arWOI=";
+    hash = "sha256-aLNmuMuwaMhl/Utv6bVU4fR8zmhj0fUiInL4RHT4dVw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/angr/default.nix b/pkgs/development/python-modules/angr/default.nix
index 9aa7984f76e28..7deff467c306f 100644
--- a/pkgs/development/python-modules/angr/default.nix
+++ b/pkgs/development/python-modules/angr/default.nix
@@ -37,7 +37,7 @@
 
 buildPythonPackage rec {
   pname = "angr";
-  version = "9.2.99";
+  version = "9.2.100";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -46,7 +46,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = "angr";
     rev = "refs/tags/v${version}";
-    hash = "sha256-R23sMjx7SjwNXGS2DQKoZS6vayuHp7/97uCgKM8yejA=";
+    hash = "sha256-HTyxLr1qJYnQLapxZVvM4+qByiZQe3/LsVThyYnHC8k=";
   };
 
   pythonRelaxDeps = [ "capstone" ];
diff --git a/pkgs/development/python-modules/anova-wifi/default.nix b/pkgs/development/python-modules/anova-wifi/default.nix
index a7cd85ca8b9e1..4f4c00cd7bed7 100644
--- a/pkgs/development/python-modules/anova-wifi/default.nix
+++ b/pkgs/development/python-modules/anova-wifi/default.nix
@@ -1,17 +1,18 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, pythonOlder
-, poetry-core
-, aiohttp
-, sensor-state-data
-, pytestCheckHook
-, pytest-asyncio
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  pythonOlder,
+  poetry-core,
+  aiohttp,
+  sensor-state-data,
+  pytestCheckHook,
+  pytest-asyncio,
 }:
 
 buildPythonPackage rec {
   pname = "anova-wifi";
-  version = "0.11.7";
+  version = "0.12.0";
   pyproject = true;
 
   disabled = pythonOlder "3.10";
@@ -20,19 +21,17 @@ buildPythonPackage rec {
     owner = "Lash-L";
     repo = "anova_wifi";
     rev = "refs/tags/v${version}";
-    hash = "sha256-G87lNPyFnMO0YWKtLv/RgSZ0j0exFro24erwYv87V90=";
+    hash = "sha256-0RRnQBLglPnPin9/gqWDKIsfi5V7ydrdDKwm93WEnvk=";
   };
 
   postPatch = ''
-      substituteInPlace pyproject.toml \
-        --replace "--cov=anova_wifi --cov-report=term-missing:skip-covered" ""
-    '';
+    substituteInPlace pyproject.toml \
+      --replace-fail "--cov=anova_wifi --cov-report=term-missing:skip-covered" ""
+  '';
 
-  nativeBuildInputs = [
-    poetry-core
-  ];
+  build-system = [ poetry-core ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     aiohttp
     sensor-state-data
   ];
diff --git a/pkgs/development/python-modules/ansible/core.nix b/pkgs/development/python-modules/ansible/core.nix
index d4f275184bab8..dccf9ede2253b 100644
--- a/pkgs/development/python-modules/ansible/core.nix
+++ b/pkgs/development/python-modules/ansible/core.nix
@@ -62,7 +62,7 @@ buildPythonPackage rec {
     packaging
     passlib
     pyyaml
-    resolvelib # This library is a PITA, since ansible requires a very old version of it
+    resolvelib
     # optional dependencies
     junit-xml
     lxml
diff --git a/pkgs/development/python-modules/ansible/default.nix b/pkgs/development/python-modules/ansible/default.nix
index 0319011567c66..321cf23c26716 100644
--- a/pkgs/development/python-modules/ansible/default.nix
+++ b/pkgs/development/python-modules/ansible/default.nix
@@ -21,7 +21,7 @@
 
 let
   pname = "ansible";
-  version = "9.4.0";
+  version = "9.5.1";
 in
 buildPythonPackage {
   inherit pname version;
@@ -31,7 +31,7 @@ buildPythonPackage {
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-3UMcYzgOGMP6yjKI696M4vT5kjY6tVijwRyPIDLZCGc=";
+    hash = "sha256-PCeLyWQrl/yVOyugW5nNgIAedb81Z9+qHLUTH+DsHs0=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/anywidget/default.nix b/pkgs/development/python-modules/anywidget/default.nix
index 69b6416517bda..767fc775851d1 100644
--- a/pkgs/development/python-modules/anywidget/default.nix
+++ b/pkgs/development/python-modules/anywidget/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "anywidget";
-  version = "0.9.7";
+  version = "0.9.10";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-mepiQbJVtIHgzEhnjy8MjBOEMYLvlpLJ/wzMSm3+2bE=";
+    hash = "sha256-OQpigkCYHAmBPHUjJ53cq4L/T9Moet1UM7eLE2kIkGg=";
   };
 
   # We do not need the jupyterlab build dependency, because we do not need to
diff --git a/pkgs/development/python-modules/apispec/default.nix b/pkgs/development/python-modules/apispec/default.nix
index eccee0f3e1802..b3df151c0c51e 100644
--- a/pkgs/development/python-modules/apispec/default.nix
+++ b/pkgs/development/python-modules/apispec/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "apispec";
-  version = "6.6.0";
+  version = "6.6.1";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-wIRvjqpRGcRrLs/pvCTtGduohF+GVdALUd3SlqEOpMs=";
+    hash = "sha256-9cqkfO51/gO5xQtVlASLTAUu7KLCEuDawS27YXXZplk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/apprise/default.nix b/pkgs/development/python-modules/apprise/default.nix
index 929280a61b055..4d65c1babd193 100644
--- a/pkgs/development/python-modules/apprise/default.nix
+++ b/pkgs/development/python-modules/apprise/default.nix
@@ -74,7 +74,7 @@ buildPythonPackage rec {
     homepage = "https://github.com/caronc/apprise";
     changelog = "https://github.com/caronc/apprise/releases/tag/v${version}";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
     mainProgram = "apprise";
   };
 }
diff --git a/pkgs/development/python-modules/approvaltests/default.nix b/pkgs/development/python-modules/approvaltests/default.nix
index b396c69a61e5a..9898dffe82aba 100644
--- a/pkgs/development/python-modules/approvaltests/default.nix
+++ b/pkgs/development/python-modules/approvaltests/default.nix
@@ -5,7 +5,6 @@
 , buildPythonPackage
 , empty-files
 , fetchFromGitHub
-, fetchpatch2
 , mock
 , mrjob
 , numpy
@@ -21,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "approvaltests";
-  version = "11.1.3";
+  version = "11.2.1";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -30,16 +29,9 @@ buildPythonPackage rec {
     owner = "approvals";
     repo = "ApprovalTests.Python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-VqE2Oj3b+ZfKT+fhJ9DxBClfa8Wz8w/puAnAotN3eG4=";
+    hash = "sha256-oG1TH9F8IYDZWLuL2TIesNuZQVzGQRqkGk502HTG+O8=";
   };
 
-  patches = [
-    (fetchpatch2 {
-      url = "https://github.com/approvals/ApprovalTests.Python/commit/dac7c8a8aa62f31dca7a687d4dbf08158351d5e1.patch";
-      hash = "sha256-TMyfXNtzpGci6tdFRhxiKJRjCWRD5LkaffPY8EVj53E=";
-    })
-  ];
-
   build-system = [
     setuptools
   ];
@@ -79,6 +71,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/approvals/ApprovalTests.Python";
     changelog = "https://github.com/approvals/ApprovalTests.Python/releases/tag/v${version}";
     license = licenses.asl20;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/archinfo/default.nix b/pkgs/development/python-modules/archinfo/default.nix
index 166202355dea3..99bd3af5cca81 100644
--- a/pkgs/development/python-modules/archinfo/default.nix
+++ b/pkgs/development/python-modules/archinfo/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "archinfo";
-  version = "9.2.99";
+  version = "9.2.100";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = "archinfo";
     rev = "refs/tags/v${version}";
-    hash = "sha256-f0dcWNNl8reakQoSUcbi3RziTM17fgGYcAe3Ac9wQsI=";
+    hash = "sha256-HSADeA9zwkr8yP9sZQBNeC48L0rM+2UHNKZzFRRt4pk=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/asgineer/default.nix b/pkgs/development/python-modules/asgineer/default.nix
index 9bd266aa1957c..c1fae6959a695 100644
--- a/pkgs/development/python-modules/asgineer/default.nix
+++ b/pkgs/development/python-modules/asgineer/default.nix
@@ -7,15 +7,15 @@
 
 buildPythonPackage rec {
   pname = "asgineer";
-  version = "0.8.1";
+  version = "0.8.2";
   format = "setuptools";
 
   # PyPI tarball doesn't include tests directory
   src = fetchFromGitHub {
     owner = "almarklein";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "0hd1i9pc8m7sc8bkn31q4ygkmnl5vklrcziq9zkdiqaqm8clyhcx";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-UYnVlsdEhEAJF21zVmjAXX01K6LQR2I+Dfw5tSsmf5E=";
   };
 
   nativeCheckInputs = [
diff --git a/pkgs/development/python-modules/asteval/default.nix b/pkgs/development/python-modules/asteval/default.nix
index 0fc6631dd5904..d625dfe3448ed 100644
--- a/pkgs/development/python-modules/asteval/default.nix
+++ b/pkgs/development/python-modules/asteval/default.nix
@@ -1,41 +1,36 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, pytestCheckHook
-, pythonOlder
-, setuptools-scm
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  pytestCheckHook,
+  pythonOlder,
+  setuptools-scm,
 }:
 
 buildPythonPackage rec {
   pname = "asteval";
-  version = "0.9.31";
-  format = "setuptools";
+  version = "0.9.32";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
-    owner = "newville";
-    repo = pname;
+    owner = "lmfit";
+    repo = "asteval";
     rev = "refs/tags/${version}";
-    hash = "sha256-XIRDm/loZOOPQ7UO/XAo86TzhtHHRrnWFU7MNI4f1vM=";
+    hash = "sha256-3eML5lEKEUlp3Fwdgvk31an83x8no5ichskKvzYJDsE=";
   };
 
   postPatch = ''
     substituteInPlace setup.cfg \
-      --replace " --cov=asteval --cov-report xml" ""
+      --replace-fail " --cov=asteval --cov-report xml" ""
   '';
 
-  nativeBuildInputs = [
-    setuptools-scm
-  ];
+  build-system = [ setuptools-scm ];
 
-  nativeCheckInputs = [
-    pytestCheckHook
-  ];
+  nativeCheckInputs = [ pytestCheckHook ];
 
-  pythonImportsCheck = [
-    "asteval"
-  ];
+  pythonImportsCheck = [ "asteval" ];
 
   disabledTests = [
     # AssertionError: 'ImportError' != None
@@ -44,8 +39,8 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "AST evaluator of Python expression using ast module";
-    homepage = "https://github.com/newville/asteval";
-    changelog = "https://github.com/newville/asteval/releases/tag/${version}";
+    homepage = "https://github.com/lmfit/asteval";
+    changelog = "https://github.com/lmfit/asteval/releases/tag/${version}";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/avro/default.nix b/pkgs/development/python-modules/avro/default.nix
index b023936e43149..21246fae47433 100644
--- a/pkgs/development/python-modules/avro/default.nix
+++ b/pkgs/development/python-modules/avro/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , pythonOlder
+, setuptools
 , fetchPypi
 , typing-extensions
 , pytestCheckHook
@@ -9,7 +10,7 @@
 buildPythonPackage rec {
   pname = "avro";
   version = "1.11.3";
-  format = "setuptools";
+  pyproject = true;
 
   disabled = pythonOlder "3.6";
 
@@ -18,10 +19,19 @@ buildPythonPackage rec {
     hash = "sha256-M5O7UTn5zweR0gV1bOHjmltYWGr1sVPWo7WhmWEOnRc=";
   };
 
+  postPatch = lib.optionalString (!pythonOlder "3.12") ''
+    substituteInPlace avro/test/test_tether_word_count.py \
+      --replace-fail 'distutils' 'setuptools._distutils'
+  '';
+
   propagatedBuildInputs = lib.optionals (pythonOlder "3.8") [
     typing-extensions
   ];
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   nativeCheckInputs = [
     pytestCheckHook
   ];
diff --git a/pkgs/development/python-modules/awkward/default.nix b/pkgs/development/python-modules/awkward/default.nix
index 41043eef5deea..d347b623d4077 100644
--- a/pkgs/development/python-modules/awkward/default.nix
+++ b/pkgs/development/python-modules/awkward/default.nix
@@ -75,6 +75,9 @@ buildPythonPackage rec {
   # The following tests have been disabled because they need to be run on a GPU platform.
   disabledTestPaths = [
     "tests-cuda"
+  # Disable tests dependending on jax on darwin
+  ] ++ lib.optionals stdenv.isDarwin [
+    "tests/test_2603_custom_behaviors_with_jax.py"
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/azure-mgmt-compute/default.nix b/pkgs/development/python-modules/azure-mgmt-compute/default.nix
index c4c4582a0f6da..27ec12780e71c 100644
--- a/pkgs/development/python-modules/azure-mgmt-compute/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-compute/default.nix
@@ -1,49 +1,49 @@
-{ lib
-, azure-mgmt-common
-, azure-mgmt-core
-, buildPythonPackage
-, fetchPypi
-, isodate
-, pythonOlder
-, typing-extensions
+{
+  lib,
+  azure-mgmt-common,
+  azure-mgmt-core,
+  buildPythonPackage,
+  fetchPypi,
+  isodate,
+  pythonOlder,
+  setuptools,
 }:
 
 buildPythonPackage rec {
   pname = "azure-mgmt-compute";
-  version = "30.6.0";
-  format = "setuptools";
+  version = "31.0.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-TYDXI+xtTLlYNhfr7AcW59dLJzKsuu0CPtLjzHBT0A4=";
+    hash = "sha256-WlscT8GhnssCKhLe0b6LGxVfaXnQP7nvwEZC9gZkS78=";
   };
 
-  propagatedBuildInputs = [
+  build-system = [ setuptools ];
+
+  dependencies = [
     azure-mgmt-common
     azure-mgmt-core
     isodate
-  ]  ++ lib.optionals (pythonOlder "3.8") [
-    typing-extensions
   ];
 
-  pythonNamespaces = [
-    "azure.mgmt"
-  ];
+  pythonNamespaces = [ "azure.mgmt" ];
 
   # Module has no tests
   doCheck = false;
 
-  pythonImportsCheck = [
-    "azure.mgmt.compute"
-  ];
+  pythonImportsCheck = [ "azure.mgmt.compute" ];
 
   meta = with lib; {
     description = "This is the Microsoft Azure Compute Management Client Library";
-    homepage = "https://github.com/Azure/azure-sdk-for-python";
+    homepage = "https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/compute/azure-mgmt-compute";
     changelog = "https://github.com/Azure/azure-sdk-for-python/blob/azure-mgmt-compute_${version}/sdk/compute/azure-mgmt-compute/CHANGELOG.md";
     license = licenses.mit;
-    maintainers = with maintainers; [ olcai maxwilson ];
+    maintainers = with maintainers; [
+      olcai
+      maxwilson
+    ];
   };
 }
diff --git a/pkgs/development/python-modules/azure-mgmt-frontdoor/default.nix b/pkgs/development/python-modules/azure-mgmt-frontdoor/default.nix
index 2e3c750c3b3bc..1ba6379d88870 100644
--- a/pkgs/development/python-modules/azure-mgmt-frontdoor/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-frontdoor/default.nix
@@ -1,38 +1,44 @@
-{ azure-common
-, azure-mgmt-core
-, buildPythonPackage
-, fetchPypi
-, lib
-, msrest
-, msrestazure
+{
+  lib,
+  azure-common,
+  azure-mgmt-core,
+  buildPythonPackage,
+  fetchPypi,
+  isodate,
+  pythonOlder,
+  setuptools,
 }:
 
 buildPythonPackage rec {
   pname = "azure-mgmt-frontdoor";
-  version = "1.1.0";
-  format = "setuptools";
+  version = "1.2.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
-    inherit pname version;
-    extension = "zip";
-    sha256 = "sha256-GqrJNNcQrNffgqRywgaJ2xkwy+fOJai/RlSVkpw6NWg=";
+    pname = "azure_mgmt_frontdoor";
+    inherit version;
+    hash = "sha256-DSV/vIE6r0wgPLpHfT4ODqNoxzeCPIlAksmsnEuExSg=";
   };
 
-  propagatedBuildInputs = [
-    msrest
-    msrestazure
+  build-system = [ setuptools ];
+
+  dependencies = [
     azure-common
     azure-mgmt-core
+    isodate
   ];
 
-  # has no tests
+  # Tests are only available in mono repo
   doCheck = false;
 
   pythonImportsCheck = [ "azure.mgmt.frontdoor" ];
 
   meta = with lib; {
     description = "Microsoft Azure Front Door Service Client Library for Python";
-    homepage = "https://github.com/Azure/azure-sdk-for-python";
+    homepage = "https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/network/azure-mgmt-frontdoor";
+    changelog = "https://github.com/Azure/azure-sdk-for-python/blob/azure-mgmt-frontdoor_${version}/sdk/network/azure-mgmt-frontdoor/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ sephi ];
   };
diff --git a/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix b/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix
index 7f8ab5b19a487..5504636c04434 100644
--- a/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix
@@ -1,25 +1,29 @@
-{ lib
-, azure-common
-, azure-mgmt-core
-, buildPythonPackage
-, fetchPypi
-, isodate
-, pythonOlder
+{
+  lib,
+  azure-common,
+  azure-mgmt-core,
+  buildPythonPackage,
+  fetchPypi,
+  isodate,
+  pythonOlder,
+  setuptools,
 }:
 
 buildPythonPackage rec {
   pname = "azure-mgmt-recoveryservicesbackup";
-  version = "9.0.0";
-  format = "setuptools";
+  version = "9.1.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-H/SsO/DnHXSsSyejYX7BFem1GqPh20DRGecrYVkIu1E=";
+    hash = "sha256-Hp/UBsDJ7iYn9aNx8BL4dzQvf8bzOyVk/NFNbwZjzQ8=";
   };
 
-  propagatedBuildInputs = [
+  build-system = [ setuptools ];
+
+  dependencies = [
     azure-common
     azure-mgmt-core
     isodate
@@ -28,9 +32,7 @@ buildPythonPackage rec {
   # Module has no tests
   doCheck = false;
 
-  pythonImportsCheck = [
-    "azure.mgmt.recoveryservicesbackup"
-  ];
+  pythonImportsCheck = [ "azure.mgmt.recoveryservicesbackup" ];
 
   meta = with lib; {
     description = "This is the Microsoft Azure Recovery Services Backup Management Client Library";
diff --git a/pkgs/development/python-modules/before-after/default.nix b/pkgs/development/python-modules/before-after/default.nix
index cc1164eec56bf..3dc6c400693d6 100644
--- a/pkgs/development/python-modules/before-after/default.nix
+++ b/pkgs/development/python-modules/before-after/default.nix
@@ -30,7 +30,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "sugar over the Mock library to help test race conditions";
     homepage = "https://github.com/c-oreills/before_after";
-    maintainers = with maintainers; [ yuka ];
+    maintainers = with maintainers; [ ];
     license = licenses.gpl2Only;
   };
 }
diff --git a/pkgs/development/python-modules/bibtexparser/default.nix b/pkgs/development/python-modules/bibtexparser/default.nix
index aef733f938787..d6b24f13ab134 100644
--- a/pkgs/development/python-modules/bibtexparser/default.nix
+++ b/pkgs/development/python-modules/bibtexparser/default.nix
@@ -36,6 +36,5 @@ buildPythonPackage rec {
     description = "Bibtex parser for Python";
     homepage = "https://github.com/sciunto-org/python-bibtexparser";
     license = with licenses; [ lgpl3Only /* or */ bsd3 ];
-    maintainers = with maintainers; [ fridh ];
   };
 }
diff --git a/pkgs/development/python-modules/bluetooth-auto-recovery/default.nix b/pkgs/development/python-modules/bluetooth-auto-recovery/default.nix
index 9a146770fd6d7..a3e137cae4937 100644
--- a/pkgs/development/python-modules/bluetooth-auto-recovery/default.nix
+++ b/pkgs/development/python-modules/bluetooth-auto-recovery/default.nix
@@ -1,19 +1,20 @@
-{ lib
-, async-timeout
-, bluetooth-adapters
-, btsocket
-, buildPythonPackage
-, fetchFromGitHub
-, poetry-core
-, pyric
-, pytestCheckHook
-, pythonOlder
-, usb-devices
+{
+  lib,
+  async-timeout,
+  bluetooth-adapters,
+  btsocket,
+  buildPythonPackage,
+  fetchFromGitHub,
+  poetry-core,
+  pyric,
+  pytestCheckHook,
+  pythonOlder,
+  usb-devices,
 }:
 
 buildPythonPackage rec {
   pname = "bluetooth-auto-recovery";
-  version = "1.4.0";
+  version = "1.4.1";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -22,7 +23,7 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = "bluetooth-auto-recovery";
     rev = "refs/tags/v${version}";
-    hash = "sha256-fXR7leW+eXaQZ22IyeVhpS5/MOnuAiunUGMdtfVrlos=";
+    hash = "sha256-4LgEb90QsjTMsVat6fe9B3b6f93bHTgJgQNsRbyti2M=";
   };
 
   postPatch = ''
@@ -30,11 +31,9 @@ buildPythonPackage rec {
       --replace-fail " --cov=bluetooth_auto_recovery --cov-report=term-missing:skip-covered" ""
   '';
 
-  nativeBuildInputs = [
-    poetry-core
-  ];
+  build-system = [ poetry-core ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     async-timeout
     bluetooth-adapters
     btsocket
@@ -42,13 +41,9 @@ buildPythonPackage rec {
     usb-devices
   ];
 
-  nativeCheckInputs = [
-    pytestCheckHook
-  ];
+  nativeCheckInputs = [ pytestCheckHook ];
 
-  pythonImportsCheck = [
-    "bluetooth_auto_recovery"
-  ];
+  pythonImportsCheck = [ "bluetooth_auto_recovery" ];
 
   meta = with lib; {
     description = "Library for recovering Bluetooth adapters";
diff --git a/pkgs/development/python-modules/borb/default.nix b/pkgs/development/python-modules/borb/default.nix
index f82da30ff50f4..e1d2211f2ab31 100644
--- a/pkgs/development/python-modules/borb/default.nix
+++ b/pkgs/development/python-modules/borb/default.nix
@@ -46,6 +46,6 @@ buildPythonPackage rec {
     homepage = "https://borbpdf.com/";
     changelog = "https://github.com/jorisschellekens/borb/releases/tag/v${version}";
     license = licenses.agpl3Only;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/boto3-stubs/default.nix b/pkgs/development/python-modules/boto3-stubs/default.nix
index 7d2776ffe76a1..53fa22914a9bf 100644
--- a/pkgs/development/python-modules/boto3-stubs/default.nix
+++ b/pkgs/development/python-modules/boto3-stubs/default.nix
@@ -366,7 +366,7 @@
 
 buildPythonPackage rec {
   pname = "boto3-stubs";
-  version = "1.34.88";
+  version = "1.34.94";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -374,7 +374,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "boto3_stubs";
     inherit version;
-    hash = "sha256-I8qeDNDT53AtZjGh6UpCCKJrOfprEsc0Qn5op/pklHc=";
+    hash = "sha256-ZyKwsCQpPrN3E7jsNdAuLELEi0NhWoVExAKXLbBTQS0=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/botocore-stubs/default.nix b/pkgs/development/python-modules/botocore-stubs/default.nix
index 3b536f15577c5..4d1960ebe115e 100644
--- a/pkgs/development/python-modules/botocore-stubs/default.nix
+++ b/pkgs/development/python-modules/botocore-stubs/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "botocore-stubs";
-  version = "1.34.88";
+  version = "1.34.94";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "botocore_stubs";
     inherit version;
-    hash = "sha256-ZW6WbqFSpPKCiJKqepZzvJF5mZj1qO/Y6P45D2HC9PE=";
+    hash = "sha256-ZNgKNGfjsZk56cJ1CvMzKLMIf49SSZjb337RaCJ/UH0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/branca/default.nix b/pkgs/development/python-modules/branca/default.nix
index 894ee421d2084..77f146896062d 100644
--- a/pkgs/development/python-modules/branca/default.nix
+++ b/pkgs/development/python-modules/branca/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "branca";
-  version = "0.7.1";
+  version = "0.7.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "python-visualization";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-OePOZvqXtsp73HsfFslI6F3kegbdk45lWY1CMQRTcoc=";
+    hash = "sha256-ipu0JZIx/YgR7F5Z7sl/9YEEHkyiDllR5dHko7AlSe8=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/breezy/default.nix b/pkgs/development/python-modules/breezy/default.nix
index 629c99eb12286..4972e82b3d07c 100644
--- a/pkgs/development/python-modules/breezy/default.nix
+++ b/pkgs/development/python-modules/breezy/default.nix
@@ -126,7 +126,7 @@ buildPythonPackage rec {
     homepage = "https://www.breezy-vcs.org/";
     changelog = "https://github.com/breezy-team/breezy/blob/${src.rev}/doc/en/release-notes/brz-${versions.majorMinor version}.txt";
     license = licenses.gpl2Only;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     mainProgram = "brz";
   };
 }
diff --git a/pkgs/development/python-modules/bugsnag/default.nix b/pkgs/development/python-modules/bugsnag/default.nix
index a20770673fb53..c4afcb6935b22 100644
--- a/pkgs/development/python-modules/bugsnag/default.nix
+++ b/pkgs/development/python-modules/bugsnag/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "bugsnag";
-  version = "4.6.2";
+  version = "4.7.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-UwlT4a0jzp6vo5ZpB/o3MKJAFHpaDJBcaQvFoctS120=";
+    hash = "sha256-+w0lI2goXYnfX2KB+DNFPXl6UCOhg5o17zggalyYXr8=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/cassandra-driver/default.nix b/pkgs/development/python-modules/cassandra-driver/default.nix
index 8c05e5e0bbb6b..ad5364ccd3857 100644
--- a/pkgs/development/python-modules/cassandra-driver/default.nix
+++ b/pkgs/development/python-modules/cassandra-driver/default.nix
@@ -25,7 +25,7 @@
 
 buildPythonPackage rec {
   pname = "cassandra-driver";
-  version = "3.28.0";
+  version = "3.29.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -34,7 +34,7 @@ buildPythonPackage rec {
     owner = "datastax";
     repo = "python-driver";
     rev = "refs/tags/${version}";
-    hash = "sha256-5JRbzYl7ftgK6GuvXWdvo52ZlS1th9JyLAYu/UCcPVc=";
+    hash = "sha256-pnNm5Pd5k4bt+s3GrUUDWRpSdqNSM89GiX8DZKYzW1E=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/cbor/default.nix b/pkgs/development/python-modules/cbor/default.nix
index 3d33c3ce24f74..551a0567ce4bc 100644
--- a/pkgs/development/python-modules/cbor/default.nix
+++ b/pkgs/development/python-modules/cbor/default.nix
@@ -15,7 +15,7 @@ buildPythonPackage rec {
   doCheck = false;
 
   meta = with lib; {
-    homepage = "https://bitbucket.org/bodhisnarkva/cbor";
+    homepage = "https://github.com/brianolson/cbor_py";
     description = "Concise Binary Object Representation (CBOR) library";
     license = licenses.asl20;
     maintainers = with maintainers; [ oxzi ];
diff --git a/pkgs/development/python-modules/cdcs/default.nix b/pkgs/development/python-modules/cdcs/default.nix
index 511a3975d97ff..38c643cd10a4b 100644
--- a/pkgs/development/python-modules/cdcs/default.nix
+++ b/pkgs/development/python-modules/cdcs/default.nix
@@ -1,36 +1,35 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, ipython
-, numpy
-, pandas
-, pytestCheckHook
-, pythonOlder
-, requests
-, responses
-, setuptools
-, tqdm
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  ipython,
+  numpy,
+  pandas,
+  pytestCheckHook,
+  pythonOlder,
+  requests,
+  responses,
+  setuptools,
+  tqdm,
 }:
 
 buildPythonPackage rec {
   pname = "cdcs";
-  version = "0.2.2";
-  format = "setuptools";
+  version = "0.2.3";
+  pyproject = true;
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "usnistgov";
     repo = "pycdcs";
     rev = "refs/tags/v${version}";
-    hash = "sha256-WiNjMMcpp5K+Re44ryB7LNzr2LnnYzLZ5b0iT7u1ZiA=";
+    hash = "sha256-HhAzULVWkKOWDJ6IZyBy0MYc/YGAFkSTLIgpdyvw1eI=";
   };
 
-  nativeBuildInputs = [
-    setuptools
-  ];
+  build-system = [ setuptools ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     ipython
     numpy
     pandas
@@ -43,9 +42,7 @@ buildPythonPackage rec {
     responses
   ];
 
-  pythonImportsCheck = [
-    "cdcs"
-  ];
+  pythonImportsCheck = [ "cdcs" ];
 
   meta = with lib; {
     description = "Python client for performing REST calls to configurable data curation system (CDCS) databases";
diff --git a/pkgs/development/python-modules/chat-downloader/default.nix b/pkgs/development/python-modules/chat-downloader/default.nix
index fe35f5a52bd32..32bf0a40da340 100644
--- a/pkgs/development/python-modules/chat-downloader/default.nix
+++ b/pkgs/development/python-modules/chat-downloader/default.nix
@@ -40,6 +40,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/xenova/chat-downloader";
     changelog = "https://github.com/xenova/chat-downloader/releases/tag/v${version}";
     license = licenses.mit;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/clarifai-grpc/default.nix b/pkgs/development/python-modules/clarifai-grpc/default.nix
index e163bc4159e10..dfc183cb1d506 100644
--- a/pkgs/development/python-modules/clarifai-grpc/default.nix
+++ b/pkgs/development/python-modules/clarifai-grpc/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "clarifai-grpc";
-  version = "10.3.2";
+  version = "10.3.4";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "Clarifai";
     repo = "clarifai-python-grpc";
     rev = "refs/tags/${version}";
-    hash = "sha256-rymu9BUbU8d0BgBpE/1bOAqGxVN3ksyvq6Wy0KZ+KkY=";
+    hash = "sha256-1Yx00g2Cd9/41DZYK5cRwcFQv2qD6B4cl4cpVZ6slTA=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/claripy/default.nix b/pkgs/development/python-modules/claripy/default.nix
index ee77134497bc0..af832c7b3eba0 100644
--- a/pkgs/development/python-modules/claripy/default.nix
+++ b/pkgs/development/python-modules/claripy/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "claripy";
-  version = "9.2.99";
+  version = "9.2.100";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = "claripy";
     rev = "refs/tags/v${version}";
-    hash = "sha256-JUR9fR9zf7OwnXSwfC0x3ti3/5rFkBB105XC5hE3Fw4=";
+    hash = "sha256-jkPXYlV89BsW4lHvpR+1jiFP92QsPPG0BMe1SVoQOfw=";
   };
 
   # z3 does not provide a dist-info, so python-runtime-deps-check will fail
diff --git a/pkgs/development/python-modules/cle/default.nix b/pkgs/development/python-modules/cle/default.nix
index 31daaae3b1e67..61b1331ce666e 100644
--- a/pkgs/development/python-modules/cle/default.nix
+++ b/pkgs/development/python-modules/cle/default.nix
@@ -18,14 +18,14 @@
 
 let
   # The binaries are following the argr projects release cycle
-  version = "9.2.99";
+  version = "9.2.100";
 
   # Binary files from https://github.com/angr/binaries (only used for testing and only here)
   binaries = fetchFromGitHub {
     owner = "angr";
     repo = "binaries";
     rev = "refs/tags/v${version}";
-    hash = "sha256-2i4l1pm5dtOsd2t1vJS/pdqynH/xuiu69b+qGioKK5c=";
+    hash = "sha256-U6RX+7kkb7+eYLYrE6SdJfYyDnBdGm+P3Xa3EfQv6Fk=";
   };
 in
 buildPythonPackage rec {
@@ -39,7 +39,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = "cle";
     rev = "refs/tags/v${version}";
-    hash = "sha256-24uTBHjtgoCLUgyWtjNbD6lJZiOqRf5XFQkFgxsl/K8=";
+    hash = "sha256-++4GakniGH6JrRfOZsrSb+JpEKa6q7MXCSe9nIoae2g=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/clickgen/default.nix b/pkgs/development/python-modules/clickgen/default.nix
index a01ef55fd6423..b37c6382a821e 100644
--- a/pkgs/development/python-modules/clickgen/default.nix
+++ b/pkgs/development/python-modules/clickgen/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "clickgen";
-  version = "2.2.1";
+  version = "2.2.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "ful1e5";
     repo = "clickgen";
     rev = "refs/tags/v${version}";
-    hash = "sha256-vn30N2BoqqoFjGjWD0KQIuuPoypocIK+R0FI09KwDog=";
+    hash = "sha256-Lsb0FvJohwsXofpcq7OgWfhl/3qVxAqY0wdvum6ywSQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/cloudevents/default.nix b/pkgs/development/python-modules/cloudevents/default.nix
new file mode 100644
index 0000000000000..d54b20975ca30
--- /dev/null
+++ b/pkgs/development/python-modules/cloudevents/default.nix
@@ -0,0 +1,55 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, wheel
+, deprecation
+, flask
+, pydantic
+, pytestCheckHook
+, requests
+, sanic
+, sanic-testing
+}:
+
+buildPythonPackage rec {
+  pname = "cloudevents";
+  version = "1.10.1";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "cloudevents";
+    repo = "sdk-python";
+    rev = "refs/tags/${version}";
+    hash = "sha256-YIvEAofWmnUblRd4jV3Zi3VdfocOnD05CMVm/abngyg=";
+  };
+
+  build-system = [
+    setuptools
+    wheel
+  ];
+
+  pythonImportsCheck = [ "cloudevents" ];
+
+  nativeCheckInputs = [
+    deprecation
+    flask
+    pydantic
+    pytestCheckHook
+    requests
+    sanic
+    sanic-testing
+  ];
+
+  disabledTestPaths = [
+    "samples/http-image-cloudevents/image_sample_test.py"
+  ];
+
+  meta = with lib; {
+    description = "Python SDK for CloudEvents";
+    homepage = "https://github.com/cloudevents/sdk-python";
+    changelog = "https://github.com/cloudevents/sdk-python/blob/${src.rev}/CHANGELOG.md";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ GaetanLepage ];
+  };
+}
diff --git a/pkgs/development/python-modules/coffea/default.nix b/pkgs/development/python-modules/coffea/default.nix
index 3f5de521b0a87..86090e3b25562 100644
--- a/pkgs/development/python-modules/coffea/default.nix
+++ b/pkgs/development/python-modules/coffea/default.nix
@@ -32,7 +32,7 @@
 
 buildPythonPackage rec {
   pname = "coffea";
-  version = "2024.2.2";
+  version = "2024.4.1";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -41,7 +41,7 @@ buildPythonPackage rec {
     owner = "CoffeaTeam";
     repo = "coffea";
     rev = "refs/tags/v${version}";
-    hash = "sha256-GdoVb9YtlUlrSx7TWWrdHOqOJJ4M+kJspOllv6HgFXk=";
+    hash = "sha256-Iu1GHnLUqdhYO7hoHaf+O/S6KO0P+dvl0wgfRA5vtGI=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/cohere/default.nix b/pkgs/development/python-modules/cohere/default.nix
index 0383e7d0f9cfc..26deb98e3d451 100644
--- a/pkgs/development/python-modules/cohere/default.nix
+++ b/pkgs/development/python-modules/cohere/default.nix
@@ -1,40 +1,43 @@
 { lib
 , buildPythonPackage
-, fetchpatch
 , fetchPypi
 , poetry-core
 , pythonOlder
-, aiohttp
-, backoff
 , fastavro
-, importlib-metadata
+, httpx
+, httpx-sse
+, pydantic
 , requests
-, urllib3
+, tokenizers
+, types-requests
+, typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "cohere";
-  version = "4.56";
+  version = "5.3.3";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-rOAQzT1A/q74WnfazCMDtou7SnP0h+UGCyBxihqLmzc=";
+    hash = "sha256-+/WcC6sN7U0oCR+gwZOhFtgwPEwLCaQnId2KEjDqJ8M=";
   };
 
-  nativeBuildInputs = [
+  build-system = [
     poetry-core
   ];
 
-  propagatedBuildInputs = [
-    aiohttp
-    backoff
+  dependencies = [
     fastavro
-    importlib-metadata
+    httpx
+    httpx-sse
+    pydantic
     requests
-    urllib3
+    tokenizers
+    types-requests
+    typing-extensions
   ];
 
   # tests require CO_API_KEY
@@ -47,7 +50,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Simplify interfacing with the Cohere API";
     homepage = "https://docs.cohere.com/docs";
-    changelog = "https://github.com/cohere-ai/cohere-python/blob/main/CHANGELOG.md#${builtins.replaceStrings ["."] [""] version}";
+    changelog = "https://github.com/cohere-ai/cohere-python/releases/tag/${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ natsukium ];
   };
diff --git a/pkgs/development/python-modules/conda-libmamba-solver/default.nix b/pkgs/development/python-modules/conda-libmamba-solver/default.nix
new file mode 100644
index 0000000000000..050b99fe83b05
--- /dev/null
+++ b/pkgs/development/python-modules/conda-libmamba-solver/default.nix
@@ -0,0 +1,47 @@
+{
+  lib,
+  buildPythonPackage,
+  pythonRelaxDepsHook,
+  fetchFromGitHub,
+  libmambapy,
+  hatchling,
+  hatch-vcs,
+  boltons,
+}:
+buildPythonPackage rec {
+  pname = "conda-libmamba-solver";
+  version = "24.1.0";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    inherit pname version;
+    owner = "conda";
+    repo = "conda-libmamba-solver";
+    rev = version;
+    hash = "sha256-vsUYrDVNMKHd3mlaAFYCP4uPQ9HxeKsose5O8InaMcE=";
+  };
+
+  nativeBuildInputs = [ pythonRelaxDepsHook ];
+
+  build-system = [
+    hatchling
+    hatch-vcs
+  ];
+
+  dependencies = [
+    boltons
+    libmambapy
+  ];
+
+  # this package depends on conda for the import to run succesfully, but conda depends on this package to execute.
+  # pythonImportsCheck = [ "conda_libmamba_solver" ];
+
+  pythonRemoveDeps = [ "conda" ];
+
+  meta = {
+    description = "The libmamba based solver for conda.";
+    homepage = "https://github.com/conda/conda-libmamba-solver";
+    license = lib.licenses.bsd3;
+    maintainers = [ lib.maintainers.ericthemagician ];
+  };
+}
diff --git a/pkgs/development/python-modules/conda-package-handling/default.nix b/pkgs/development/python-modules/conda-package-handling/default.nix
new file mode 100644
index 0000000000000..59736724577bf
--- /dev/null
+++ b/pkgs/development/python-modules/conda-package-handling/default.nix
@@ -0,0 +1,30 @@
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  setuptools,
+  conda-package-streaming,
+}:
+buildPythonPackage rec {
+  pname = "conda-package-handling";
+  version = "2.2.0";
+  src = fetchFromGitHub {
+    owner = "conda";
+    repo = "conda-package-handling";
+    rev = version;
+    hash = "sha256-WeGfmT6lLwcwhheLBPMFcVMudY+zPsvTuXuOsiEAorQ=";
+  };
+
+  pyproject = true;
+  build-system = [ setuptools ];
+  dependencies = [ conda-package-streaming ];
+
+  pythonImportsCheck = [ "conda_package_handling" ];
+
+  meta = {
+    description = "Create and extract conda packages of various formats";
+    homepage = "https://github.com/conda/conda-package-handling";
+    license = lib.licenses.bsd3;
+    maintainers = [ lib.maintainers.ericthemagician ];
+  };
+}
diff --git a/pkgs/development/python-modules/conda-package-streaming/default.nix b/pkgs/development/python-modules/conda-package-streaming/default.nix
new file mode 100644
index 0000000000000..e849195f8461c
--- /dev/null
+++ b/pkgs/development/python-modules/conda-package-streaming/default.nix
@@ -0,0 +1,35 @@
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  flit-core,
+  requests,
+  zstandard,
+}:
+buildPythonPackage rec {
+  pname = "conda-package-streaming";
+  version = "0.9.0";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "conda";
+    repo = "conda-package-streaming";
+    rev = "v${version}";
+    hash = "sha256-UTql2M+9eFDuHOwLYYKJ751wEcOfLJYzfU6+WF8Je2g=";
+  };
+
+  build-system = [ flit-core ];
+  dependencies = [
+    requests
+    zstandard
+  ];
+
+  pythonImportsCheck = [ "conda_package_streaming" ];
+
+  meta = {
+    description = "An efficient library to read from new and old format .conda and .tar.bz2 conda packages.";
+    homepage = "https://github.com/conda/conda-package-streaming";
+    license = lib.licenses.bsd3;
+    maintainers = [ lib.maintainers.ericthemagician ];
+  };
+}
diff --git a/pkgs/development/python-modules/conda/0001-conda_exe.patch b/pkgs/development/python-modules/conda/0001-conda_exe.patch
new file mode 100644
index 0000000000000..12ea4bc5ab0dc
--- /dev/null
+++ b/pkgs/development/python-modules/conda/0001-conda_exe.patch
@@ -0,0 +1,51 @@
+--- a/conda/base/context.py
++++ b/conda/base/context.py
+@@ -754,7 +754,7 @@
+
+     @property
+     def conda_prefix(self):
+-        return abspath(sys.prefix)
++        return expand("~/.conda")
+
+     @property
+     @deprecated(
+@@ -787,28 +787,17 @@
+         The vars can refer to each other if necessary since the dict is ordered.
+         None means unset it.
+         """
+-        if context.dev:
+-            return {
+-                "CONDA_EXE": sys.executable,
+-                # do not confuse with os.path.join, we are joining paths with ; or : delimiters
+-                "PYTHONPATH": os.pathsep.join(
+-                    (CONDA_SOURCE_ROOT, os.environ.get("PYTHONPATH", ""))
+-                ),
+-                "_CE_M": "-m",
+-                "_CE_CONDA": "conda",
+-                "CONDA_PYTHON_EXE": sys.executable,
+-            }
+-        else:
+-            bin_dir = "Scripts" if on_win else "bin"
+-            exe = "conda.exe" if on_win else "conda"
+-            # I was going to use None to indicate a variable to unset, but that gets tricky with
+-            # error-on-undefined.
+-            return {
+-                "CONDA_EXE": os.path.join(sys.prefix, bin_dir, exe),
+-                "_CE_M": "",
+-                "_CE_CONDA": "",
+-                "CONDA_PYTHON_EXE": sys.executable,
+-            }
++        import sys
++        return {
++            "CONDA_EXE": sys.executable,
++            # do not confuse with os.path.join, we are joining paths with ; or : delimiters
++            "PYTHONPATH": os.pathsep.join(
++                [CONDA_SOURCE_ROOT, os.environ.get("PYTHONPATH", "")] + [path for path in sys.path if "site-packages" in path]
++            ),
++            "_CE_M": "-m",
++            "_CE_CONDA": "conda",
++            "CONDA_PYTHON_EXE": sys.executable,
++        }
+
+     @memoizedproperty
+     def channel_alias(self):
diff --git a/pkgs/development/python-modules/conda/default.nix b/pkgs/development/python-modules/conda/default.nix
index e6dbe10914e7c..e2ec8bd2d46ef 100644
--- a/pkgs/development/python-modules/conda/default.nix
+++ b/pkgs/development/python-modules/conda/default.nix
@@ -1,38 +1,83 @@
-{ lib
-, buildPythonPackage
-, pythonAtLeast
-, fetchPypi
-, pycosat
-, requests
-, ruamel-yaml
-, isPy3k
-, enum34
+{
+  lib,
+  buildPythonPackage,
+  pythonRelaxDepsHook,
+  hostPlatform,
+  fetchFromGitHub,
+  # build dependencies
+  hatchling,
+  hatch-vcs,
+  # runtime dependencies
+  archspec,
+  conda-libmamba-solver,
+  conda-package-handling,
+  distro,
+  jsonpatch,
+  packaging,
+  platformdirs,
+  pluggy,
+  pycosat,
+  requests,
+  ruamel-yaml,
+  tqdm,
+  truststore,
+  # runtime options
+  defaultEnvPath ? "~/.conda/envs", # default path to store conda environments
+  defaultPkgPath ? "~/.conda/pkgs", # default path to store download conda packages
 }:
-
-# Note: this installs conda as a library. The application cannot be used.
-# This is likely therefore NOT what you're looking for.
-
 buildPythonPackage rec {
   pname = "conda";
-  version = "4.3.16";
-  format = "setuptools";
+  version = "24.1.2";
+  pyproject = true;
 
-  # this is a very outdated version of conda that isn't compatible with python 3.10+
-  disabled = pythonAtLeast "3.10";
-
-  src = fetchPypi {
+  src = fetchFromGitHub {
     inherit pname version;
-    sha256 = "a91ef821343dea3ba9670f3d10b36c1ace4f4c36d70c175d8fc8886e94285953";
+    owner = "conda";
+    repo = "conda";
+    rev = version;
+    hash = "sha256-L/Y7Bb3R5YqXbjTN4CRPFnkgymVLrxuFmjVzpvt28dE=";
   };
 
-  propagatedBuildInputs = [ pycosat requests ruamel-yaml ] ++ lib.optional (!isPy3k) enum34;
+  nativeBuildInputs = [ pythonRelaxDepsHook ];
+
+  build-system = [
+    hatchling
+    hatch-vcs
+  ];
+
+  dependencies = [
+    archspec
+    conda-libmamba-solver
+    conda-package-handling
+    distro
+    jsonpatch
+    packaging
+    platformdirs
+    pluggy
+    pycosat
+    requests
+    ruamel-yaml
+    tqdm
+    truststore
+  ];
+
+  patches = [ ./0001-conda_exe.patch ];
+
+  makeWrapperArgs = [
+    "--set CONDA_EXE ${placeholder "out"}/bin/conda"
+    ''--set-default CONDA_ENVS_PATH "${defaultEnvPath}"''
+    ''--set-default CONDA_PKGS_DIRS "${defaultPkgPath}"''
+  ];
+
+  pythonImportsCheck = [ "conda" ];
 
-  # No tests
-  doCheck = false;
+  # menuinst is currently not packaged
+  pythonRemoveDeps = lib.optionals (!hostPlatform.isWindows) [ "menuinst" ];
 
   meta = {
     description = "OS-agnostic, system-level binary package manager";
     homepage = "https://github.com/conda/conda";
     license = lib.licenses.bsd3;
+    maintainers = [ lib.maintainers.ericthemagician ];
   };
 }
diff --git a/pkgs/development/python-modules/coredis/default.nix b/pkgs/development/python-modules/coredis/default.nix
index 79faced6c3c5b..75626ecc07adc 100644
--- a/pkgs/development/python-modules/coredis/default.nix
+++ b/pkgs/development/python-modules/coredis/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "coredis";
-  version = "4.16.0";
+  version = "4.17.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "alisaifee";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-7qpoNc5/z8/EKtGWULrPPwfH9swYe9TqqUL+zxrFQSk=";
+    hash = "sha256-HfGmsIi8PnYbnC2020x474gtq0eqHjF7mSmRSHb0QxY=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/craft-application/default.nix b/pkgs/development/python-modules/craft-application/default.nix
index 0b90ccdff058b..03753c8c35b83 100644
--- a/pkgs/development/python-modules/craft-application/default.nix
+++ b/pkgs/development/python-modules/craft-application/default.nix
@@ -1,40 +1,42 @@
 {
   lib,
+  stdenv,
   buildPythonPackage,
-  fetchFromGitHub,
-  nix-update-script,
-  git,
   craft-archives,
   craft-cli,
   craft-grammar,
   craft-parts,
   craft-providers,
+  fetchFromGitHub,
+  git,
+  hypothesis,
+  nix-update-script,
   pydantic-yaml-0,
-  pyyaml,
-  setuptools,
-  setuptools-scm,
-  snap-helpers,
-  stdenv,
-  pygit2,
   pyfakefs,
-  pytestCheckHook,
+  pygit2,
   pytest-check,
   pytest-mock,
+  pytestCheckHook,
+  pythonOlder,
+  pyyaml,
   responses,
-  hypothesis,
+  setuptools-scm,
+  setuptools,
+  snap-helpers,
 }:
 
 buildPythonPackage rec {
   pname = "craft-application";
-  version = "2.5.0";
-
+  version = "2.6.1";
   pyproject = true;
 
+  disabled = pythonOlder "3.10";
+
   src = fetchFromGitHub {
     owner = "canonical";
     repo = "craft-application";
     rev = "refs/tags/${version}";
-    hash = "sha256-66Ldo88DJ6v0+ekvDl++eDzhdn95yxq0SMdzQxTGl5k=";
+    hash = "sha256-mWXEc54JsZAl6KD33RF8juzDhFheQOLviJbM1B8RPSo=";
   };
 
   postPatch = ''
@@ -45,12 +47,12 @@ buildPythonPackage rec {
       --replace-fail "setuptools==69.4.0" "setuptools"
   '';
 
-  nativeBuildInputs = [
+  build-system = [
     setuptools
     setuptools-scm
   ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     craft-archives
     craft-cli
     craft-grammar
@@ -62,8 +64,6 @@ buildPythonPackage rec {
     snap-helpers
   ];
 
-  pythonImportsCheck = [ "craft_application" ];
-
   nativeCheckInputs = [
     git
     hypothesis
@@ -88,6 +88,8 @@ buildPythonPackage rec {
       --replace-fail "os_utils.OsRelease()" "os_utils.OsRelease(os_release_file='$HOME/os-release')"
   '';
 
+  pythonImportsCheck = [ "craft_application" ];
+
   pytestFlagsArray = [ "tests/unit" ];
 
   disabledTests = [
diff --git a/pkgs/development/python-modules/curio/default.nix b/pkgs/development/python-modules/curio/default.nix
index 0c006b281e2d5..9b5b0c5d7278e 100644
--- a/pkgs/development/python-modules/curio/default.nix
+++ b/pkgs/development/python-modules/curio/default.nix
@@ -54,6 +54,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/dabeaz/curio";
     changelog = "https://github.com/dabeaz/curio/raw/${version}/CHANGES";
     license = licenses.bsd3;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/python-modules/cycler/default.nix b/pkgs/development/python-modules/cycler/default.nix
index 18e9fa7ed5980..d7bfe37562733 100644
--- a/pkgs/development/python-modules/cycler/default.nix
+++ b/pkgs/development/python-modules/cycler/default.nix
@@ -36,6 +36,5 @@ buildPythonPackage rec {
     description = "Composable style cycles";
     homepage = "https://github.com/matplotlib/cycler";
     license = lib.licenses.bsd3;
-    maintainers = with lib.maintainers; [ fridh ];
   };
 }
diff --git a/pkgs/development/python-modules/cymem/default.nix b/pkgs/development/python-modules/cymem/default.nix
index f168ea39a3719..52e24928ec229 100644
--- a/pkgs/development/python-modules/cymem/default.nix
+++ b/pkgs/development/python-modules/cymem/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, setuptools
 , cython
 , pytestCheckHook
 , pythonOlder
@@ -9,7 +10,7 @@
 buildPythonPackage rec {
   pname = "cymem";
   version = "2.0.8";
-  format = "setuptools";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -20,7 +21,8 @@ buildPythonPackage rec {
     hash = "sha256-e4lgV39lwC2Goqmd8Jjra+znuCpxsv2IsRXfFbQkGN8=";
   };
 
-  propagatedBuildInputs = [
+  build-system = [
+    setuptools
     cython
   ];
 
@@ -29,13 +31,9 @@ buildPythonPackage rec {
   ];
 
   preCheck = ''
-    TEMPDIR=$(mktemp -d)
-    cp -R cymem/tests $TEMPDIR/
-    pushd $TEMPDIR
-  '';
-
-  postCheck = ''
-    popd
+    # remove src module, so tests use the installed module instead
+    mv ./cymem/tests ./tests
+    rm -r ./cymem
   '';
 
   pythonImportsCheck = [
@@ -47,6 +45,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/explosion/cymem";
     changelog = "https://github.com/explosion/cymem/releases/tag/v${version}";
     license = licenses.mit;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ nickcao ];
   };
 }
diff --git a/pkgs/development/python-modules/cython/0.nix b/pkgs/development/python-modules/cython/0.nix
index 72ba4a68f038f..e0b6c02d8accb 100644
--- a/pkgs/development/python-modules/cython/0.nix
+++ b/pkgs/development/python-modules/cython/0.nix
@@ -86,6 +86,5 @@ in buildPythonPackage rec {
     description = "An optimising static compiler for both the Python programming language and the extended Cython programming language";
     homepage = "https://cython.org";
     license = lib.licenses.asl20;
-    maintainers = with lib.maintainers; [ fridh ];
   };
 }
diff --git a/pkgs/development/python-modules/cython/default.nix b/pkgs/development/python-modules/cython/default.nix
index 4467dc3b459ce..2062ae03863ba 100644
--- a/pkgs/development/python-modules/cython/default.nix
+++ b/pkgs/development/python-modules/cython/default.nix
@@ -66,6 +66,5 @@ in buildPythonPackage rec {
     description = "An optimising static compiler for both the Python programming language and the extended Cython programming language";
     homepage = "https://cython.org";
     license = lib.licenses.asl20;
-    maintainers = with lib.maintainers; [ fridh ];
   };
 }
diff --git a/pkgs/development/python-modules/cytoolz/default.nix b/pkgs/development/python-modules/cytoolz/default.nix
index afa9152c9babf..ddb7b7df0d5e2 100644
--- a/pkgs/development/python-modules/cytoolz/default.nix
+++ b/pkgs/development/python-modules/cytoolz/default.nix
@@ -47,6 +47,5 @@ buildPythonPackage rec {
     homepage = "https://github.com/pytoolz/cytoolz/";
     description = "Cython implementation of Toolz: High performance functional utilities";
     license = licenses.bsd3;
-    maintainers = with lib.maintainers; [ fridh ];
   };
 }
diff --git a/pkgs/development/python-modules/dask-expr/default.nix b/pkgs/development/python-modules/dask-expr/default.nix
new file mode 100644
index 0000000000000..68dca5fe42fe0
--- /dev/null
+++ b/pkgs/development/python-modules/dask-expr/default.nix
@@ -0,0 +1,60 @@
+{
+  lib,
+  buildPythonPackage,
+  pythonOlder,
+  fetchFromGitHub,
+  setuptools,
+  versioneer,
+  wheel,
+  dask,
+  pandas,
+  pyarrow,
+  distributed,
+  pytestCheckHook,
+}:
+
+buildPythonPackage rec {
+  pname = "dask-expr";
+  version = "1.0.12";
+  pyproject = true;
+
+  disabled = pythonOlder "3.9";
+
+  src = fetchFromGitHub {
+    owner = "dask";
+    repo = "dask-expr";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-B/BkLOZhvUyjinaFKp0ecUfzvLb5S90q+YHmJwS6WSQ=";
+  };
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace-fail "versioneer[toml]==0.28" "versioneer[toml]"
+  '';
+
+  nativeBuildInputs = [
+    setuptools
+    versioneer
+    wheel
+  ];
+
+  propagatedBuildInputs = [
+    dask
+    pandas
+    pyarrow
+  ];
+
+  pythonImportsCheck = [ "dask_expr" ];
+
+  nativeCheckInputs = [
+    distributed
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "";
+    homepage = "https://github.com/dask/dask-expr";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ GaetanLepage ];
+  };
+}
diff --git a/pkgs/development/python-modules/dask/default.nix b/pkgs/development/python-modules/dask/default.nix
index ee12386ae3d8b..0327aebaaf846 100644
--- a/pkgs/development/python-modules/dask/default.nix
+++ b/pkgs/development/python-modules/dask/default.nix
@@ -2,7 +2,6 @@
 , stdenv
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 
 # build-system
 , setuptools
@@ -29,6 +28,7 @@
 
 # tests
 , arrow-cpp
+, dask-expr
 , hypothesis
 , pytest-asyncio
 , pytest-rerunfailures
@@ -37,9 +37,9 @@
 , pythonOlder
 }:
 
-buildPythonPackage rec {
+let self = buildPythonPackage rec {
   pname = "dask";
-  version = "2024.2.1";
+  version = "2024.4.2";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -48,22 +48,9 @@ buildPythonPackage rec {
     owner = "dask";
     repo = "dask";
     rev = "refs/tags/${version}";
-    hash = "sha256-8VFtKPaF0PqCjqFB+plFe1GjUno5j7j86+wxKhzByyw=";
+    hash = "sha256-iD+diwctXaQlOpL0fjOiFoWVONtlMq7AonbC0vCmXc0=";
   };
 
-  patches = [
-    # A pair of fixes with python 3.11.9, merged upstream;
-    # see https://github.com/dask/dask/issues/11038
-    (fetchpatch {
-      url = "https://github.com/dask/dask/pull/11035.diff";
-      hash = "sha256-aQTzas8gn7pCyp7L6VV3NpSYgqC1Ov7YN7YGnX0Vwmo=";
-    })
-    (fetchpatch {
-      url = "https://github.com/dask/dask/pull/11039.diff";
-      hash = "sha256-gvEEvnyhFlhiFvVaB6jwMy4auUOvECf49FbFJyjqQm4=";
-    })
-  ];
-
   nativeBuildInputs = [
     setuptools
     wheel
@@ -93,6 +80,7 @@ buildPythonPackage rec {
     ++ self.distributed
     ++ self.diagnostics;
     dataframe = [
+      # dask-expr -> circular dependency with dask-expr
       numpy
       pandas
     ];
@@ -106,6 +94,7 @@ buildPythonPackage rec {
   });
 
   nativeCheckInputs = [
+    dask-expr
     pytestCheckHook
     pytest-rerunfailures
     pytest-xdist
@@ -113,6 +102,7 @@ buildPythonPackage rec {
     hypothesis
     pytest-asyncio
   ]
+  ++ passthru.optional-dependencies.array
   ++ passthru.optional-dependencies.dataframe
   ++ lib.optionals (!arrow-cpp.meta.broken) [ # support is sparse on aarch64
     pyarrow
@@ -172,21 +162,34 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [
     "dask"
-    "dask.array"
     "dask.bag"
     "dask.bytes"
-    "dask.dataframe"
-    "dask.dataframe.io"
-    "dask.dataframe.tseries"
     "dask.diagnostics"
   ];
 
+  doCheck = false;
+
+  # Enable tests via passthru to avoid cyclic dependency with dask-expr.
+  passthru.tests = {
+    check = self.overridePythonAttrs (old: {
+      doCheck = true;
+      pythonImportsCheck = [
+        # Requires the `dask.optional-dependencies.array` that are only in `nativeCheckInputs`
+        "dask.array"
+        # Requires the `dask.optional-dependencies.dataframe` that are only in `nativeCheckInputs`
+        "dask.dataframe"
+        "dask.dataframe.io"
+        "dask.dataframe.tseries"
+      ] ++ old.pythonImportsCheck;
+    });
+  };
+
+
   meta = with lib; {
     description = "Minimal task scheduling abstraction";
     mainProgram = "dask";
     homepage = "https://dask.org/";
     changelog = "https://docs.dask.org/en/latest/changelog.html";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ fridh ];
   };
-}
+}; in self
diff --git a/pkgs/development/python-modules/datashape/default.nix b/pkgs/development/python-modules/datashape/default.nix
index 6736483a8ba46..459fc548463de 100644
--- a/pkgs/development/python-modules/datashape/default.nix
+++ b/pkgs/development/python-modules/datashape/default.nix
@@ -46,6 +46,5 @@ in buildPythonPackage rec {
     homepage = "https://github.com/ContinuumIO/datashape";
     description = "A data description language";
     license = lib.licenses.bsd2;
-    maintainers = with lib.maintainers; [ fridh ];
   };
 }
diff --git a/pkgs/development/python-modules/deebot-client/default.nix b/pkgs/development/python-modules/deebot-client/default.nix
index ef114da4ca02a..31c5b2d4e9596 100644
--- a/pkgs/development/python-modules/deebot-client/default.nix
+++ b/pkgs/development/python-modules/deebot-client/default.nix
@@ -1,43 +1,44 @@
-{ lib
-, aiohttp
-, aiomqtt
-, buildPythonPackage
-, cachetools
-, defusedxml
-, docker
-, fetchFromGitHub
-, numpy
-, pillow
-, pycountry
-, pytest-asyncio
-, pytestCheckHook
-, pythonOlder
-, setuptools
-, setuptools-scm
-, svg-py
-, testfixtures
+{
+  lib,
+  aiohttp,
+  aiomqtt,
+  buildPythonPackage,
+  cachetools,
+  defusedxml,
+  docker,
+  fetchFromGitHub,
+  numpy,
+  pillow,
+  pycountry,
+  pytest-asyncio,
+  pytestCheckHook,
+  pythonOlder,
+  setuptools,
+  setuptools-scm,
+  svg-py,
+  testfixtures,
 }:
 
 buildPythonPackage rec {
   pname = "deebot-client";
-  version = "6.0.2";
+  version = "7.0.0";
   pyproject = true;
 
-  disabled = pythonOlder "3.11";
+  disabled = pythonOlder "3.12";
 
   src = fetchFromGitHub {
     owner = "DeebotUniverse";
     repo = "client.py";
     rev = "refs/tags/${version}";
-    hash = "sha256-PjM2bh79o4bBv3zQyFYehhdlvXKFW8Hk0ZKfZDAuiQU=";
+    hash = "sha256-RlLWC1TLjrwQ7t727WpjePJA1zGj4460Ioj6efm/jSw=";
   };
 
-  nativeBuildInputs = [
+  build-system = [
     setuptools
     setuptools-scm
   ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     aiohttp
     aiomqtt
     cachetools
@@ -55,9 +56,7 @@ buildPythonPackage rec {
     testfixtures
   ];
 
-  pythonImportsCheck = [
-    "deebot_client"
-  ];
+  pythonImportsCheck = [ "deebot_client" ];
 
   disabledTests = [
     # Tests require running container
diff --git a/pkgs/development/python-modules/deepl/default.nix b/pkgs/development/python-modules/deepl/default.nix
index aa4a0b2ed1e5e..cf934f75b70f5 100644
--- a/pkgs/development/python-modules/deepl/default.nix
+++ b/pkgs/development/python-modules/deepl/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "deepl";
-  version = "1.17.0";
+  version = "1.18.0";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-IwBKgkfXXYAgat7E4pAS5f9UNOmY9yRj4ZP85wSt4cs=";
+    hash = "sha256-WuQXY5OUQe28p2QP00QoDL7kfUkGQc41IGkQqLAed44=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/detect-secrets/default.nix b/pkgs/development/python-modules/detect-secrets/default.nix
index a50b6dbd810ce..ae0e2c4cda2d0 100644
--- a/pkgs/development/python-modules/detect-secrets/default.nix
+++ b/pkgs/development/python-modules/detect-secrets/default.nix
@@ -68,6 +68,6 @@ buildPythonPackage rec {
     description = "An enterprise friendly way of detecting and preventing secrets in code";
     homepage = "https://github.com/Yelp/detect-secrets";
     license = licenses.asl20;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/dirigera/default.nix b/pkgs/development/python-modules/dirigera/default.nix
index 649c79632a3ef..36789741f83aa 100644
--- a/pkgs/development/python-modules/dirigera/default.nix
+++ b/pkgs/development/python-modules/dirigera/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "dirigera";
-  version = "1.1.4";
+  version = "1.1.6";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "Leggin";
     repo = "dirigera";
     rev = "refs/tags/v${version}";
-    hash = "sha256-60DLNp3mM4LpnmM98JVcKlOxj20jvtsBnYq7tL4WEW8=";
+    hash = "sha256-OXq8eJyZQBsJEK81GxstfMHqDShlZyOWSXLwP9Zfpqw=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/distributed/default.nix b/pkgs/development/python-modules/distributed/default.nix
index c5be90d0af98a..890f579207cac 100644
--- a/pkgs/development/python-modules/distributed/default.nix
+++ b/pkgs/development/python-modules/distributed/default.nix
@@ -25,7 +25,7 @@
 
 buildPythonPackage rec {
   pname = "distributed";
-  version = "2023.12.0";
+  version = "2024.4.2";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -34,7 +34,7 @@ buildPythonPackage rec {
     owner = "dask";
     repo = "distributed";
     rev = "refs/tags/${version}";
-    hash = "sha256-Zv31BTzY31eXkU7wqa+h33qGrH+OTzKEj6L7Ei/aizk=";
+    hash = "sha256-xoQ+b7qzstZl9gRNs4jssNOsGQHDdvTXU7pTjBSuyWs=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/django-tastypie/default.nix b/pkgs/development/python-modules/django-tastypie/default.nix
index 004773037e887..1ed2dbc4fe6b3 100644
--- a/pkgs/development/python-modules/django-tastypie/default.nix
+++ b/pkgs/development/python-modules/django-tastypie/default.nix
@@ -1,26 +1,30 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, python-dateutil
-, python-mimeparse
-, pythonOlder
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  python-dateutil,
+  python-mimeparse,
+  pythonOlder,
+  setuptools,
 }:
 
 buildPythonPackage rec {
   pname = "django-tastypie";
-  version = "0.14.6";
-  format = "setuptools";
+  version = "0.14.7";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "django-tastypie";
-    repo = pname;
+    repo = "django-tastypie";
     rev = "refs/tags/v${version}";
-    hash = "sha256-emZVcycGLa8Z2yMv/NWZi1b5fPk50u841cFfFF3Ke/s=";
+    hash = "sha256-bQBq5Wk5P9c+/a5B+LnxG8aCrVK1A3jLsLFK69/UYjo=";
   };
 
-  propagatedBuildInputs = [
+  build-system = [ setuptools ];
+
+  dependencies = [
     python-dateutil
     python-mimeparse
   ];
@@ -28,9 +32,7 @@ buildPythonPackage rec {
   # Tests requires a Django instance
   doCheck = false;
 
-  pythonImportsCheck = [
-    "tastypie"
-  ];
+  pythonImportsCheck = [ "tastypie" ];
 
   meta = with lib; {
     description = "Utilities and helpers for writing Pylint plugins";
diff --git a/pkgs/development/python-modules/dnf-plugins-core/default.nix b/pkgs/development/python-modules/dnf-plugins-core/default.nix
index 70259804158b4..3a9c062679253 100644
--- a/pkgs/development/python-modules/dnf-plugins-core/default.nix
+++ b/pkgs/development/python-modules/dnf-plugins-core/default.nix
@@ -22,7 +22,7 @@ in
 
 buildPythonPackage rec {
   pname = "dnf-plugins-core";
-  version = "4.6.0";
+  version = "4.7.0";
   format = "other";
 
   outputs = [ "out" "man" ];
@@ -31,7 +31,7 @@ buildPythonPackage rec {
     owner = "rpm-software-management";
     repo = "dnf-plugins-core";
     rev = "refs/tags/${version}";
-    hash = "sha256-7LaI5EungJrOPgxDzK/pi4X+D3PPsrbIjYdCknKIiHA=";
+    hash = "sha256-AQnnXjkUajztbyoKzKhxiKxZsb2o2+7C15fsrxGkWcM=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/dnf4/default.nix b/pkgs/development/python-modules/dnf4/default.nix
index c05d003be299e..31d617d613448 100644
--- a/pkgs/development/python-modules/dnf4/default.nix
+++ b/pkgs/development/python-modules/dnf4/default.nix
@@ -8,6 +8,7 @@
 , python
 , rpm
 , sphinx
+, nix-update-script
 }:
 
 let
@@ -16,7 +17,7 @@ in
 
 buildPythonPackage rec {
   pname = "dnf4";
-  version = "4.19.2";
+  version = "4.20.0";
   format = "other";
 
   outputs = [ "out" "man" "py" ];
@@ -25,7 +26,7 @@ buildPythonPackage rec {
     owner = "rpm-software-management";
     repo = "dnf";
     rev = version;
-    hash = "sha256-2voBauWXPoHWBt58vZfgpO1oWBDDZ+DvWN6jb5qOzFg=";
+    hash = "sha256-0BwnUb0ZORjJmB70Jca/CnyysIOGB7azVzUUIGplmso=";
   };
 
   patches = [
@@ -88,6 +89,8 @@ buildPythonPackage rec {
     moveToOutput "lib/${python.libPrefix}" "$py"
   '';
 
+  passthru.updateScript = nix-update-script { };
+
   meta = with lib; {
     description = "Package manager based on libdnf and libsolv. Replaces YUM";
     homepage = "https://github.com/rpm-software-management/dnf";
diff --git a/pkgs/development/python-modules/dnslib/default.nix b/pkgs/development/python-modules/dnslib/default.nix
index 64bbe8c0a1ce7..63bf4634cf09c 100644
--- a/pkgs/development/python-modules/dnslib/default.nix
+++ b/pkgs/development/python-modules/dnslib/default.nix
@@ -29,6 +29,6 @@ buildPythonPackage rec {
     description = "Simple library to encode/decode DNS wire-format packets";
     homepage = "https://github.com/paulc/dnslib";
     license = licenses.bsd2;
-    maintainers = with maintainers; [ delroth ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/dropmqttapi/default.nix b/pkgs/development/python-modules/dropmqttapi/default.nix
index 221557de16024..84e09ecf919cf 100644
--- a/pkgs/development/python-modules/dropmqttapi/default.nix
+++ b/pkgs/development/python-modules/dropmqttapi/default.nix
@@ -1,13 +1,14 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, pythonOlder
-, setuptools
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  pythonOlder,
+  setuptools,
 }:
 
 buildPythonPackage rec {
   pname = "dropmqttapi";
-  version = "1.0.2";
+  version = "1.0.3";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -16,19 +17,15 @@ buildPythonPackage rec {
     owner = "ChandlerSystems";
     repo = "dropmqttapi";
     rev = "refs/tags/v${version}";
-    hash = "sha256-5UnjIv57b4JV/vFyQpe+AS4e/fiE2y7ynZx5g6+oSyQ=";
+    hash = "sha256-njReF9Mu5E9o5WcbK60CCBWaIhZ3tpQHHlY/iEyyHGg=";
   };
 
-  nativeBuildInputs = [
-    setuptools
-  ];
+  build-system = [ setuptools ];
 
   # Module has no test
   doCheck = false;
 
-  pythonImportsCheck = [
-    "dropmqttapi"
-  ];
+  pythonImportsCheck = [ "dropmqttapi" ];
 
   meta = with lib; {
     description = "Python MQTT API for DROP water management products";
diff --git a/pkgs/development/python-modules/dulwich/default.nix b/pkgs/development/python-modules/dulwich/default.nix
index 97b27d14bd352..49789421af346 100644
--- a/pkgs/development/python-modules/dulwich/default.nix
+++ b/pkgs/development/python-modules/dulwich/default.nix
@@ -3,7 +3,7 @@
 , buildPythonPackage
 , certifi
 , fastimport
-, fetchPypi
+, fetchFromGitHub
 , gevent
 , geventhttpclient
 , git
@@ -14,6 +14,8 @@
 , pytest-xdist
 , pytestCheckHook
 , pythonOlder
+, setuptools
+, setuptools-rust
 , urllib3
 }:
 
@@ -24,12 +26,17 @@ buildPythonPackage rec {
 
   disabled = pythonOlder "3.7";
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-qenGaDPOpYDDrBKSfkuXEZhddq/KmNqXFAXUFN5g6Wg=";
+  src = fetchFromGitHub {
+    owner = "jelmer";
+    repo = "dulwich";
+    rev = "refs/tags/${pname}-${version}";
+    hash = "sha256-iP+6KtaQ8tfOobovSLSJZogS/XWW0LuHgE2oV8uQW/8=";
   };
 
-  LC_ALL = "en_US.UTF-8";
+  build-system = [
+    setuptools
+    setuptools-rust
+  ];
 
   propagatedBuildInputs = [
     certifi
diff --git a/pkgs/development/python-modules/eigenpy/default.nix b/pkgs/development/python-modules/eigenpy/default.nix
index 2f2920eb5683a..6a87f879db898 100644
--- a/pkgs/development/python-modules/eigenpy/default.nix
+++ b/pkgs/development/python-modules/eigenpy/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "eigenpy";
-  version = "3.5.0";
+  version = "3.5.1";
 
   src = fetchFromGitHub {
     owner = "stack-of-tasks";
     repo = "eigenpy";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-ar7KmlvWD2qoOonaH8YhVssZhpbTdHNvxY7rzvmhzc0=";
+    hash = "sha256-nTS9FNXGrak5g83BHHNSsk5V5khpOpRz5zWE8D1gDUo=";
   };
 
   outputs = [
diff --git a/pkgs/development/python-modules/emcee/default.nix b/pkgs/development/python-modules/emcee/default.nix
index 772fb64d1f14d..624faffed8efb 100644
--- a/pkgs/development/python-modules/emcee/default.nix
+++ b/pkgs/development/python-modules/emcee/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "emcee";
-  version = "3.1.4";
+  version = "3.1.5";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "dfm";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-K2cPSbR7jnl9Vzf2sEiPZqk2vTwgChNWAf6CAerhZCg=";
+    hash = "sha256-83v7O/eo8LQux75IkLWU8moj3rYiyRjZdNeAwtjrJ60=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/epitran/default.nix b/pkgs/development/python-modules/epitran/default.nix
new file mode 100644
index 0000000000000..8495d81d97237
--- /dev/null
+++ b/pkgs/development/python-modules/epitran/default.nix
@@ -0,0 +1,58 @@
+{
+  lib,
+  buildPythonPackage,
+  fetchPypi,
+  fetchFromGitHub,
+
+  unittestCheckHook,
+
+  setuptools,
+
+  regex,
+  panphon,
+  marisa-trie,
+  requests,
+}:
+
+buildPythonPackage rec {
+  pname = "epitran";
+  version = "1.24";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "dmort27";
+    repo = "epitran";
+    rev = "refs/tags/${version}";
+    hash = "sha256-AH4q8J5oMaUVJ559qe/ZlJXlCcGdxWnxMhnZKCH5Rlk=";
+  };
+
+  build-system = [ setuptools ];
+
+  dependencies = [
+    regex
+    panphon
+    marisa-trie
+    requests
+  ];
+
+  nativeCheckInputs = [ unittestCheckHook ];
+
+  unittestFlagsArray = [
+    "-s"
+    "test"
+  ];
+
+  pythonImportsCheck = [
+    "epitran"
+    "epitran.backoff"
+    "epitran.vector"
+  ];
+
+  meta = with lib; {
+    description = "Tools for transcribing languages into IPA";
+    homepage = "https://github.com/dmort27/epitran";
+    changelog = "https://github.com/dmort27/epitran/releases/tag/${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ vizid ];
+  };
+}
diff --git a/pkgs/development/python-modules/eve/default.nix b/pkgs/development/python-modules/eve/default.nix
index 9a9dc6897b95c..f6ed465c48cdc 100644
--- a/pkgs/development/python-modules/eve/default.nix
+++ b/pkgs/development/python-modules/eve/default.nix
@@ -49,6 +49,6 @@ buildPythonPackage rec {
     description = "Open source Python REST API framework designed for human beings";
     changelog = "https://github.com/pyeve/eve/blob/v${version}/CHANGES.rst";
     license = licenses.bsd3;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/python-modules/exchangelib/default.nix b/pkgs/development/python-modules/exchangelib/default.nix
index b61753c6fe492..c41a7da3a8075 100644
--- a/pkgs/development/python-modules/exchangelib/default.nix
+++ b/pkgs/development/python-modules/exchangelib/default.nix
@@ -29,7 +29,7 @@
 
 buildPythonPackage rec {
   pname = "exchangelib";
-  version = "5.2.1";
+  version = "5.3.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -38,7 +38,7 @@ buildPythonPackage rec {
     owner = "ecederstrand";
     repo = "exchangelib";
     rev = "refs/tags/v${version}";
-    hash = "sha256-4XcJNbnBCaSrGwfgDAlo4wCOjlwq2rLjSxRXniuzdzk=";
+    hash = "sha256-rcXQJYjyWLPrlMci/j8IY7EbDEyyc+5uSOOXo0YwjKo=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/eyed3/default.nix b/pkgs/development/python-modules/eyed3/default.nix
index 7717ba2601cde..46678654f25e4 100644
--- a/pkgs/development/python-modules/eyed3/default.nix
+++ b/pkgs/development/python-modules/eyed3/default.nix
@@ -28,13 +28,6 @@ buildPythonPackage rec {
     six
   ];
 
-  postInstall = ''
-    for prog in "$out/bin/"*; do
-      wrapProgram "$prog" --prefix PYTHONPATH : "$PYTHONPATH" \
-                          --prefix PATH : ${python}/bin
-    done
-  '';
-
   meta = with lib; {
     description = "A Python module and command line program for processing ID3 tags";
     mainProgram = "eyeD3";
diff --git a/pkgs/development/python-modules/fast-histogram/default.nix b/pkgs/development/python-modules/fast-histogram/default.nix
index 229e448ea704f..d3e4e3eb67207 100644
--- a/pkgs/development/python-modules/fast-histogram/default.nix
+++ b/pkgs/development/python-modules/fast-histogram/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "fast-histogram";
-  version = "0.12";
+  version = "0.14";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -22,8 +22,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "astrofrog";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-Cz4BgbtxbUPxL2NSzvZYjbYIN4KUuliUV0bXRRtyvfM=";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-vIzDDzz6e7PXArHdZdSSgShuTjy3niVdGtXqgmyJl1w=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/fastbencode/default.nix b/pkgs/development/python-modules/fastbencode/default.nix
index 82522db24ae24..369d991aaa939 100644
--- a/pkgs/development/python-modules/fastbencode/default.nix
+++ b/pkgs/development/python-modules/fastbencode/default.nix
@@ -34,6 +34,6 @@ buildPythonPackage rec {
     description = "Fast implementation of bencode";
     homepage = "https://github.com/breezy-team/fastbencode";
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/faster-whisper/default.nix b/pkgs/development/python-modules/faster-whisper/default.nix
index 847afc47a3523..2fe0b785cea6e 100644
--- a/pkgs/development/python-modules/faster-whisper/default.nix
+++ b/pkgs/development/python-modules/faster-whisper/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, pythonRelaxDepsHook
 
 # build-system
 , setuptools
@@ -30,6 +31,11 @@ buildPythonPackage rec {
 
   build-system = [
     setuptools
+    pythonRelaxDepsHook
+  ];
+
+  pythonRelaxDeps = [
+    "tokenizers"
   ];
 
   dependencies = [
diff --git a/pkgs/development/python-modules/fitbit/default.nix b/pkgs/development/python-modules/fitbit/default.nix
index de678f787c727..439d74a26a3df 100644
--- a/pkgs/development/python-modules/fitbit/default.nix
+++ b/pkgs/development/python-modules/fitbit/default.nix
@@ -49,6 +49,6 @@ buildPythonPackage rec {
     description = "Fitbit API Python Client Implementation";
     homepage = "https://github.com/orcasgit/python-fitbit";
     license = licenses.asl20;
-    maintainers = with maintainers; [ delroth ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/flake8-bugbear/default.nix b/pkgs/development/python-modules/flake8-bugbear/default.nix
index 74319971e9a24..75af6d9b9757d 100644
--- a/pkgs/development/python-modules/flake8-bugbear/default.nix
+++ b/pkgs/development/python-modules/flake8-bugbear/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "flake8-bugbear";
-  version = "24.2.6";
+  version = "24.4.21";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "PyCQA";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-9GuHgRCwHD7YP0XdoFip9rWyPtZtVme+c+nHjvBrB8k=";
+    hash = "sha256-6jKVKVJuNpdKLzl2dTkr1cvArGWCWvuhyjww05r9W/c=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/flask-restx/default.nix b/pkgs/development/python-modules/flask-restx/default.nix
index 1a9a27dc0315e..052bf4ac5da31 100644
--- a/pkgs/development/python-modules/flask-restx/default.nix
+++ b/pkgs/development/python-modules/flask-restx/default.nix
@@ -83,6 +83,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/python-restx/flask-restx";
     changelog = "https://github.com/python-restx/flask-restx/blob/${version}/CHANGELOG.rst";
     license = licenses.bsd3;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/python-modules/flit/default.nix b/pkgs/development/python-modules/flit/default.nix
index a2e2ddfcdb7f9..b623d1ec26ecc 100644
--- a/pkgs/development/python-modules/flit/default.nix
+++ b/pkgs/development/python-modules/flit/default.nix
@@ -56,6 +56,5 @@ buildPythonPackage rec {
     mainProgram = "flit";
     homepage = "https://github.com/pypa/flit";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ fridh ];
   };
 }
diff --git a/pkgs/development/python-modules/folium/default.nix b/pkgs/development/python-modules/folium/default.nix
index 9c2df4de6322c..1478e274c8c3d 100644
--- a/pkgs/development/python-modules/folium/default.nix
+++ b/pkgs/development/python-modules/folium/default.nix
@@ -75,6 +75,5 @@ buildPythonPackage rec {
     homepage = "https://github.com/python-visualization/folium";
     changelog = "https://github.com/python-visualization/folium/blob/v${version}/CHANGES.txt";
     license = with lib.licenses; [ mit ];
-    maintainers = with lib.maintainers; [ fridh ];
   };
 }
diff --git a/pkgs/development/python-modules/fsspec-xrootd/default.nix b/pkgs/development/python-modules/fsspec-xrootd/default.nix
index f601c9b86ce2a..d2d72257100eb 100644
--- a/pkgs/development/python-modules/fsspec-xrootd/default.nix
+++ b/pkgs/development/python-modules/fsspec-xrootd/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "fsspec-xrootd";
-  version = "0.2.4";
+  version = "0.3.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "CoffeaTeam";
     repo = "fsspec-xrootd";
     rev = "refs/tags/v${version}";
-    hash = "sha256-8TT+49SF/3i2OMIDcDD0AXEn0J9UkNX2q/SBkfoMXso=";
+    hash = "sha256-fhamfMWlsiiqfU9c9XDfLEEkRbMAqm74rc2bGF3fRaM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/garminconnect/default.nix b/pkgs/development/python-modules/garminconnect/default.nix
index 57d4b58136a5e..8ca9ec7ba7d38 100644
--- a/pkgs/development/python-modules/garminconnect/default.nix
+++ b/pkgs/development/python-modules/garminconnect/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "garminconnect";
-  version = "0.2.16";
+  version = "0.2.17";
   pyproject = true;
 
   disabled = pythonOlder "3.10";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "cyberjunky";
     repo = "python-garminconnect";
     rev = "refs/tags/${version}";
-    hash = "sha256-mjFDM59fF9HpkO0a8fVW+dXYmjFxu7gn+rOrnTgN39s=";
+    hash = "sha256-F853wLzcqD+cQdPdvgGcItL+v8nBPoRYSyLgOJ5ld1A=";
   };
 
   build-system = [ pdm-backend ];
diff --git a/pkgs/development/python-modules/geoalchemy2/default.nix b/pkgs/development/python-modules/geoalchemy2/default.nix
index a11e65955391c..8e49a7d14b71e 100644
--- a/pkgs/development/python-modules/geoalchemy2/default.nix
+++ b/pkgs/development/python-modules/geoalchemy2/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "geoalchemy2";
-  version = "0.14.7";
+  version = "0.15.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -22,15 +22,15 @@ buildPythonPackage rec {
     owner = "geoalchemy";
     repo = "geoalchemy2";
     rev = "refs/tags/${version}";
-    hash = "sha256-QYYYSYApU5WNqnRObhK6zTGVz2HtTQSMGIBwz3z9szQ=";
+    hash = "sha256-cQixNLtjHPQrnNcxg0MrIdzvun2f1BqKY/2SxfcM2Nc=";
   };
 
-  nativeBuildInputs = [
+  build-system = [
     setuptools
     setuptools-scm
   ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     sqlalchemy
     packaging
   ];
@@ -38,7 +38,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     alembic
     pytestCheckHook
-  ] ++ passthru.optional-dependencies.shapely;
+  ] ++ optional-dependencies.shapely;
 
   disabledTestPaths = [
     # tests require live databases
@@ -60,7 +60,7 @@ buildPythonPackage rec {
     "geoalchemy2"
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     shapely = [ shapely ];
   };
 
diff --git a/pkgs/development/python-modules/getjump/default.nix b/pkgs/development/python-modules/getjump/default.nix
index d7a46de9038be..4d3851c913c40 100644
--- a/pkgs/development/python-modules/getjump/default.nix
+++ b/pkgs/development/python-modules/getjump/default.nix
@@ -40,7 +40,7 @@ buildPythonPackage rec {
     description = "Get and save images from jump web viewer";
     homepage = "https://github.com/eggplants/getjump";
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     mainProgram = "jget";
   };
 }
diff --git a/pkgs/development/python-modules/google-api-python-client/default.nix b/pkgs/development/python-modules/google-api-python-client/default.nix
index b07133350e2f1..e88ee4650f060 100644
--- a/pkgs/development/python-modules/google-api-python-client/default.nix
+++ b/pkgs/development/python-modules/google-api-python-client/default.nix
@@ -1,33 +1,32 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-, google-auth
-, google-auth-httplib2
-, google-api-core
-, httplib2
-, uritemplate
-, oauth2client
-, setuptools
-, pythonOlder
+{
+  lib,
+  buildPythonPackage,
+  fetchPypi,
+  google-auth,
+  google-auth-httplib2,
+  google-api-core,
+  httplib2,
+  uritemplate,
+  oauth2client,
+  setuptools,
+  pythonOlder,
 }:
 
 buildPythonPackage rec {
   pname = "google-api-python-client";
-  version = "2.125.0";
+  version = "2.126.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-UaA4XP9l7BNRBui+YO5xElVzlt3l9EETriORK63doUM=";
+    hash = "sha256-l8BBBjDivr0ZTZnpG9Yg2rW8a27AvwM/mpEJtwC4Oss=";
   };
 
-  nativeBuildInputs = [
-    setuptools
-  ];
+  build-system = [ setuptools ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     google-auth
     google-auth-httplib2
     google-api-core
@@ -39,9 +38,7 @@ buildPythonPackage rec {
   # No tests included in archive
   doCheck = false;
 
-  pythonImportsCheck = [
-    "googleapiclient"
-  ];
+  pythonImportsCheck = [ "googleapiclient" ];
 
   meta = with lib; {
     description = "The official Python client library for Google's discovery based APIs";
diff --git a/pkgs/development/python-modules/google-cloud-asset/default.nix b/pkgs/development/python-modules/google-cloud-asset/default.nix
index 025237d66f902..88ec60d0c1d75 100644
--- a/pkgs/development/python-modules/google-cloud-asset/default.nix
+++ b/pkgs/development/python-modules/google-cloud-asset/default.nix
@@ -1,37 +1,36 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-, google-api-core
-, google-cloud-access-context-manager
-, google-cloud-org-policy
-, google-cloud-os-config
-, google-cloud-testutils
-, grpc-google-iam-v1
-, libcst
-, mock
-, proto-plus
-, protobuf
-, pytest-asyncio
-, pytestCheckHook
-, pythonOlder
-, setuptools
+{
+  lib,
+  buildPythonPackage,
+  fetchPypi,
+  google-api-core,
+  google-cloud-access-context-manager,
+  google-cloud-org-policy,
+  google-cloud-os-config,
+  google-cloud-testutils,
+  grpc-google-iam-v1,
+  libcst,
+  mock,
+  proto-plus,
+  protobuf,
+  pytest-asyncio,
+  pytestCheckHook,
+  pythonOlder,
+  setuptools,
 }:
 
 buildPythonPackage rec {
   pname = "google-cloud-asset";
-  version = "3.26.0";
+  version = "3.26.1";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-t10XW0dC5cDR6cKnUiicJdKV+jkScximgL4DCi1iIFY=";
+    hash = "sha256-5O3ge5/ot0zQoLKKPP6E7M2RVtDxnYfe2J0iYJISWX4=";
   };
 
-  build-system = [
-    setuptools
-  ];
+  build-system = [ setuptools ];
 
   dependencies = [
     grpc-google-iam-v1
@@ -45,9 +44,7 @@ buildPythonPackage rec {
   ] ++ google-api-core.optional-dependencies.grpc;
 
   passthru.optional-dependencies = {
-    libcst = [
-      libcst
-    ];
+    libcst = [ libcst ];
   };
 
   nativeCheckInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-monitoring/default.nix b/pkgs/development/python-modules/google-cloud-monitoring/default.nix
index f230ac19194bc..f3cafa489d6e5 100644
--- a/pkgs/development/python-modules/google-cloud-monitoring/default.nix
+++ b/pkgs/development/python-modules/google-cloud-monitoring/default.nix
@@ -1,44 +1,41 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-, google-api-core
-, google-cloud-testutils
-, mock
-, pandas
-, proto-plus
-, protobuf
-, pytest-asyncio
-, pytestCheckHook
-, pythonOlder
-, setuptools
+{
+  lib,
+  buildPythonPackage,
+  fetchPypi,
+  google-api-core,
+  google-cloud-testutils,
+  mock,
+  pandas,
+  proto-plus,
+  protobuf,
+  pytest-asyncio,
+  pytestCheckHook,
+  pythonOlder,
+  setuptools,
 }:
 
 buildPythonPackage rec {
   pname = "google-cloud-monitoring";
-  version = "2.19.3";
+  version = "2.21.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-N2QeU3mG/SIn+HOLh51gWozfTDFc3GDobhCTR6scodc=";
+    hash = "sha256-57HIdY/DVj/7mjR7xRcuJ4L0TBIbyA/BUoPiic/2db8=";
   };
 
-  nativeBuildInputs = [
-    setuptools
-  ];
+  build-system = [ setuptools ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     google-api-core
     proto-plus
     protobuf
   ] ++ google-api-core.optional-dependencies.grpc;
 
   passthru.optional-dependencies = {
-    pandas = [
-      pandas
-    ];
+    pandas = [ pandas ];
   };
 
   nativeCheckInputs = [
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 e3e5939e1b608..01a271e84ae6b 100644
--- a/pkgs/development/python-modules/google-cloud-secret-manager/default.nix
+++ b/pkgs/development/python-modules/google-cloud-secret-manager/default.nix
@@ -1,31 +1,30 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-, google-api-core
-, grpc-google-iam-v1
-, proto-plus
-, protobuf
-, pytest-asyncio
-, pytestCheckHook
-, pythonOlder
-, setuptools
+{
+  lib,
+  buildPythonPackage,
+  fetchPypi,
+  google-api-core,
+  grpc-google-iam-v1,
+  proto-plus,
+  protobuf,
+  pytest-asyncio,
+  pytestCheckHook,
+  pythonOlder,
+  setuptools,
 }:
 
 buildPythonPackage rec {
   pname = "google-cloud-secret-manager";
-  version = "2.19.0";
+  version = "2.20.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-u5GENYNaFOuUeF9NTZCHvc8bbeMGQy1+2qfWLn94DDA=";
+    hash = "sha256-oIanQTqvT/+9HE/pIp7wzpvPSPWo31tEnEoy3rWiz94=";
   };
 
-  build-system = [
-    setuptools
-  ];
+  build-system = [ setuptools ];
 
   dependencies = [
     google-api-core
diff --git a/pkgs/development/python-modules/google-cloud-spanner/default.nix b/pkgs/development/python-modules/google-cloud-spanner/default.nix
index c8c055555d3f5..671c5fc37e2ad 100644
--- a/pkgs/development/python-modules/google-cloud-spanner/default.nix
+++ b/pkgs/development/python-modules/google-cloud-spanner/default.nix
@@ -1,40 +1,39 @@
-{ lib
-, buildPythonPackage
-, deprecated
-, fetchPypi
-, google-api-core
-, google-cloud-core
-, google-cloud-testutils
-, grpc-google-iam-v1
-, grpc-interceptor
-, libcst
-, mock
-, proto-plus
-, protobuf
-, pytest-asyncio
-, pytestCheckHook
-, pythonOlder
-, sqlparse
-, setuptools
+{
+  lib,
+  buildPythonPackage,
+  deprecated,
+  fetchPypi,
+  google-api-core,
+  google-cloud-core,
+  google-cloud-testutils,
+  grpc-google-iam-v1,
+  grpc-interceptor,
+  libcst,
+  mock,
+  proto-plus,
+  protobuf,
+  pytest-asyncio,
+  pytestCheckHook,
+  pythonOlder,
+  sqlparse,
+  setuptools,
 }:
 
 buildPythonPackage rec {
   pname = "google-cloud-spanner";
-  version = "3.44.0";
+  version = "3.45.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-NTzAsG/UVn2BxPwUxE/ZnXqkCA9LwhmDRoq3LdstLIo=";
+    hash = "sha256-MKtW6krGqnQ3hCmPgh4N5lRAGTe0DGDMegpUUoSpG0M=";
   };
 
-  nativeBuildInputs = [
-    setuptools
-  ];
+  build-system = [ setuptools ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     deprecated
     google-api-core
     google-cloud-core
@@ -46,9 +45,7 @@ buildPythonPackage rec {
   ] ++ google-api-core.optional-dependencies.grpc;
 
   passthru.optional-dependencies = {
-    libcst = [
-      libcst
-    ];
+    libcst = [ libcst ];
   };
 
   nativeCheckInputs = [
diff --git a/pkgs/development/python-modules/govee-ble/default.nix b/pkgs/development/python-modules/govee-ble/default.nix
index 5499af7a1f951..07e60b09b516a 100644
--- a/pkgs/development/python-modules/govee-ble/default.nix
+++ b/pkgs/development/python-modules/govee-ble/default.nix
@@ -1,18 +1,19 @@
-{ lib
-, bluetooth-data-tools
-, bluetooth-sensor-state-data
-, buildPythonPackage
-, fetchFromGitHub
-, home-assistant-bluetooth
-, poetry-core
-, pytestCheckHook
-, pythonOlder
-, sensor-state-data
+{
+  lib,
+  bluetooth-data-tools,
+  bluetooth-sensor-state-data,
+  buildPythonPackage,
+  fetchFromGitHub,
+  home-assistant-bluetooth,
+  poetry-core,
+  pytestCheckHook,
+  pythonOlder,
+  sensor-state-data,
 }:
 
 buildPythonPackage rec {
   pname = "govee-ble";
-  version = "0.31.0";
+  version = "0.31.2";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -21,32 +22,26 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = "govee-ble";
     rev = "refs/tags/v${version}";
-    hash = "sha256-g4tOu4nrJx1DVk2KLfF6HIEM7vTkfBg2fd7R1j+Xwrk=";
+    hash = "sha256-aWSf80WmVopkvqCzQKHEw9McrfepZcN+fhrUP90gf5U=";
   };
 
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace " --cov=govee_ble --cov-report=term-missing:skip-covered" ""
+      --replace-fail " --cov=govee_ble --cov-report=term-missing:skip-covered" ""
   '';
 
-  nativeBuildInputs = [
-    poetry-core
-  ];
+  build-system = [ poetry-core ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     bluetooth-data-tools
     bluetooth-sensor-state-data
     home-assistant-bluetooth
     sensor-state-data
   ];
 
-  nativeCheckInputs = [
-    pytestCheckHook
-  ];
+  nativeCheckInputs = [ pytestCheckHook ];
 
-  pythonImportsCheck = [
-    "govee_ble"
-  ];
+  pythonImportsCheck = [ "govee_ble" ];
 
   meta = with lib; {
     description = "Library for Govee BLE devices";
diff --git a/pkgs/development/python-modules/graphviz/default.nix b/pkgs/development/python-modules/graphviz/default.nix
index 513e7c8584942..9d783b7bde227 100644
--- a/pkgs/development/python-modules/graphviz/default.nix
+++ b/pkgs/development/python-modules/graphviz/default.nix
@@ -3,7 +3,6 @@
 , buildPythonPackage
 , pythonOlder
 , fetchFromGitHub
-, fetchpatch
 , substituteAll
 , graphviz-nox
 , xdg-utils
@@ -18,17 +17,17 @@
 
 buildPythonPackage rec {
   pname = "graphviz";
-  version = "0.20.1";
+  version = "0.20.3";
   pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   # patch does not apply to PyPI tarball due to different line endings
   src = fetchFromGitHub {
     owner = "xflr6";
     repo = "graphviz";
-    rev = version;
-    hash = "sha256-plhWG9mE9DoTMg7mWCvFLAgtBx01LAgJ0gQ/mqBU3yc=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-IqjqcBEL4BK/VfRjdxJ9t/DkG8OMAoXJxbW5JXpALuw=";
   };
 
   patches = [
@@ -37,12 +36,6 @@ buildPythonPackage rec {
       graphviz = graphviz-nox;
       xdgutils = xdg-utils;
     })
-    # https://github.com/xflr6/graphviz/issues/209
-    (fetchpatch {
-      name = "fix-tests-with-python312.patch";
-      url = "https://github.com/xflr6/graphviz/commit/5ce9fc5de4f2284baa27d7a8d68ab0885d032868.patch";
-      hash = "sha256-jREPACSc4aoHY3G+39e8Axqajw4eeKkAeVu2s40v1nI=";
-    })
   ];
 
   postPatch = ''
@@ -54,7 +47,7 @@ buildPythonPackage rec {
     fontDirectories = [ freefont_ttf ];
   };
 
-  nativeBuildInputs = [
+  build-system = [
     setuptools
   ];
 
@@ -82,5 +75,4 @@ buildPythonPackage rec {
     license = licenses.mit;
     maintainers = with maintainers; [ dotlambda ];
   };
-
 }
diff --git a/pkgs/development/python-modules/graphviz/paths.patch b/pkgs/development/python-modules/graphviz/paths.patch
index f53852544a2dd..2323cd66e0203 100644
--- a/pkgs/development/python-modules/graphviz/paths.patch
+++ b/pkgs/development/python-modules/graphviz/paths.patch
@@ -1,5 +1,5 @@
 diff --git a/graphviz/backend/dot_command.py b/graphviz/backend/dot_command.py
-index 60654bd..2c62b47 100644
+index 3a62a85..a38bb9b 100644
 --- a/graphviz/backend/dot_command.py
 +++ b/graphviz/backend/dot_command.py
 @@ -9,7 +9,7 @@ from .. import parameters
@@ -38,20 +38,20 @@ index fde74a6..6f29b68 100644
      kwargs = {'stderr': subprocess.DEVNULL} if quiet else {}
      subprocess.Popen(cmd, **kwargs)
 diff --git a/tests/_common.py b/tests/_common.py
-index 87b4cbd..4188beb 100644
+index edc1309..42d730c 100644
 --- a/tests/_common.py
 +++ b/tests/_common.py
-@@ -14,9 +14,9 @@ __all__ = ['EXPECTED_DOT_BINARY', 'EXPECTED_UNFLATTEN_BINARY',
+@@ -14,9 +14,9 @@ __all__ = ['EXPECTED_DOT_BINARY',
             'as_cwd',
             'check_startupinfo', 'StartupinfoMatcher']
  
--EXPECTED_DOT_BINARY = _compat.make_subprocess_arg(pathlib.Path('dot'))
-+EXPECTED_DOT_BINARY = _compat.make_subprocess_arg(pathlib.Path('@graphviz@/bin/dot'))
+-EXPECTED_DOT_BINARY = pathlib.Path('dot')
++EXPECTED_DOT_BINARY = pathlib.Path('@graphviz@/bin/dot')
  
--EXPECTED_UNFLATTEN_BINARY = _compat.make_subprocess_arg(pathlib.Path('unflatten'))
-+EXPECTED_UNFLATTEN_BINARY = _compat.make_subprocess_arg(pathlib.Path('@graphviz@/bin/unflatten'))
+-EXPECTED_UNFLATTEN_BINARY = pathlib.Path('unflatten')
++EXPECTED_UNFLATTEN_BINARY = pathlib.Path('@graphviz@/bin/unflatten')
  
- EXPECTED_DEFAULT_ENCODING = 'utf-8'
+ EXPECTED_DEFAULT_ENGINE = 'dot'
  
 diff --git a/tests/backend/test_execute.py b/tests/backend/test_execute.py
 index 2cb853a..8093dfe 100644
diff --git a/pkgs/development/python-modules/griffe/default.nix b/pkgs/development/python-modules/griffe/default.nix
index 8f6acc289d6a7..6f385ff9fb7c9 100644
--- a/pkgs/development/python-modules/griffe/default.nix
+++ b/pkgs/development/python-modules/griffe/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "griffe";
-  version = "0.42.2";
+  version = "0.44.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "mkdocstrings";
     repo = "griffe";
     rev = "refs/tags/${version}";
-    hash = "sha256-W6aOhz8UxJUc2kNRc4JaCqFgIOXsY8ctyQ3xZ+YaD9k=";
+    hash = "sha256-jZ5QK6HiQ0C5miFYGavIlScJHmocy6frzC2c8xTvYOw=";
   };
 
   build-system = [ pdm-backend ];
diff --git a/pkgs/development/python-modules/hahomematic/default.nix b/pkgs/development/python-modules/hahomematic/default.nix
index dc31b0a9af321..be2dcf471e7ae 100644
--- a/pkgs/development/python-modules/hahomematic/default.nix
+++ b/pkgs/development/python-modules/hahomematic/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "hahomematic";
-  version = "2024.4.6";
+  version = "2024.4.12";
   pyproject = true;
 
   disabled = pythonOlder "3.12";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "danielperna84";
     repo = "hahomematic";
     rev = "refs/tags/${version}";
-    hash = "sha256-w+sSaadbbfc1cNCTx5YYIm8eAKRQxyqZZKK2QPFZv7Y=";
+    hash = "sha256-iWl9kDLRh9CAk0tOibDOHcBV7lwVY/TWKYMBZW9G2k0=";
   };
 
   __darwinAllowLocalNetworking = true;
diff --git a/pkgs/development/python-modules/hishel/default.nix b/pkgs/development/python-modules/hishel/default.nix
index a4ab7b504a91a..03dfcf4cf8ec7 100644
--- a/pkgs/development/python-modules/hishel/default.nix
+++ b/pkgs/development/python-modules/hishel/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "hishel";
-  version = "0.0.25";
+  version = "0.0.26";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "karpetrosyan";
     repo = "hishel";
     rev = "refs/tags/${version}";
-    hash = "sha256-vDzXrAGJUqG9+wOUWXeKLYraUrILJFAQXf60iCAHRPo=";
+    hash = "sha256-+HjVxcTbY9nRj2938fqguOXuTM3XzJWccx0J6RK2h4A=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/http-sf/default.nix b/pkgs/development/python-modules/http-sf/default.nix
index f9ebde2b2b031..d5695b9699f50 100644
--- a/pkgs/development/python-modules/http-sf/default.nix
+++ b/pkgs/development/python-modules/http-sf/default.nix
@@ -1,14 +1,15 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, pythonOlder
-, setuptools
-, typing-extensions
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  pythonOlder,
+  setuptools,
+  typing-extensions,
 }:
 
 buildPythonPackage rec {
   pname = "http-sf";
-  version = "1.0.1";
+  version = "1.0.2";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -17,23 +18,17 @@ buildPythonPackage rec {
     owner = "mnot";
     repo = "http-sf";
     rev = "refs/tags/v${version}";
-    hash = "sha256-8xK8/IVrhqMDgkxZY10QqSGswCrttc29FZLCntmSUQ4=";
+    hash = "sha256-p2GTCvuRhQVchFiLzoDYop9TUz/DT7eVY6Zioh+/rE8=";
   };
 
-  nativeBuildInputs = [
-    setuptools
-  ];
+  build-system = [ setuptools ];
 
-  propagatedBuildInputs = [
-    typing-extensions
-  ];
+  dependencies = [ typing-extensions ];
 
   # Tests require external data (https://github.com/httpwg/structured-field-tests)
   doCheck = false;
 
-  pythonImportsCheck = [
-    "http_sf"
-  ];
+  pythonImportsCheck = [ "http_sf" ];
 
   meta = with lib; {
     description = "Module to parse and serialise HTTP structured field values";
diff --git a/pkgs/development/python-modules/httpx-sse/default.nix b/pkgs/development/python-modules/httpx-sse/default.nix
new file mode 100644
index 0000000000000..ff0a4069090bf
--- /dev/null
+++ b/pkgs/development/python-modules/httpx-sse/default.nix
@@ -0,0 +1,54 @@
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  setuptools,
+  setuptools-scm,
+  wheel,
+  httpx,
+  pytest-asyncio,
+  pytestCheckHook,
+  sse-starlette,
+}:
+
+buildPythonPackage rec {
+  pname = "httpx-sse";
+  version = "0.4.0";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "florimondmanca";
+    repo = "httpx-sse";
+    rev = "refs/tags/${version}";
+    hash = "sha256-nU8vkmV/WynzQrSrq9+FQXtfAJPVLpMsRSuntU0HWrE=";
+  };
+
+  # pytest-cov configuration is not necessary for packaging
+  postPatch = ''
+    rm setup.cfg
+  '';
+
+  build-system = [
+    setuptools
+    setuptools-scm
+    wheel
+  ];
+
+  dependencies = [ httpx ];
+
+  pythonImportsCheck = [ "httpx_sse" ];
+
+  nativeCheckInputs = [
+    pytest-asyncio
+    pytestCheckHook
+    sse-starlette
+  ];
+
+  meta = with lib; {
+    description = "Consume Server-Sent Event (SSE) messages with HTTPX";
+    homepage = "https://github.com/florimondmanca/httpx-sse";
+    changelog = "https://github.com/florimondmanca/httpx-sse/blob/${src.rev}/CHANGELOG.md";
+    license = licenses.mit;
+    maintainers = with maintainers; [ natsukium ];
+  };
+}
diff --git a/pkgs/development/python-modules/ical/default.nix b/pkgs/development/python-modules/ical/default.nix
index fa904248f3e6b..7807d5d7b2798 100644
--- a/pkgs/development/python-modules/ical/default.nix
+++ b/pkgs/development/python-modules/ical/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "ical";
-  version = "7.0.3";
+  version = "8.0.0";
   pyproject = true;
 
   disabled = pythonOlder "3.10";
@@ -25,14 +25,14 @@ buildPythonPackage rec {
     owner = "allenporter";
     repo = "ical";
     rev = "refs/tags/${version}";
-    hash = "sha256-RiwWnRSe0HdeGVo592A+Rk+IvA1Lfp6mY+/ZEyqJBDU=";
+    hash = "sha256-nwF6iInQzHdOtmcC1fi6CS2LnYRCxc/DS9bg8IxTlFg=";
   };
 
-  nativeBuildInputs = [
+  build-system = [
     setuptools
   ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     python-dateutil
     tzdata
     pydantic
diff --git a/pkgs/development/python-modules/id/default.nix b/pkgs/development/python-modules/id/default.nix
index bf72a46b6f1bc..2845f47ebc5f6 100644
--- a/pkgs/development/python-modules/id/default.nix
+++ b/pkgs/development/python-modules/id/default.nix
@@ -1,17 +1,18 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, flit-core
-, pretend
-, pydantic
-, pytestCheckHook
-, pythonOlder
-, requests
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  flit-core,
+  pretend,
+  pydantic,
+  pytestCheckHook,
+  pythonOlder,
+  requests,
 }:
 
 buildPythonPackage rec {
   pname = "id";
-  version = "1.3.0";
+  version = "1.4.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -20,14 +21,12 @@ buildPythonPackage rec {
     owner = "di";
     repo = "id";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Yq8tlDh27UEd+NeYuxjPSL8Qh1i19BmF2ZTLJTzXt7E=";
+    hash = "sha256-lmUBy0hJAxfF65RcBP7tTizrg8j2Zypu4sKgOUQCYh8=";
   };
 
-  nativeBuildInputs = [
-    flit-core
-  ];
+  build-system = [ flit-core ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     pydantic
     requests
   ];
@@ -37,9 +36,7 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [
-    "id"
-  ];
+  pythonImportsCheck = [ "id" ];
 
   meta = with lib; {
     description = "A tool for generating OIDC identities";
diff --git a/pkgs/development/python-modules/identify/default.nix b/pkgs/development/python-modules/identify/default.nix
index 1a29450f1da5e..e6e8f306bf0d5 100644
--- a/pkgs/development/python-modules/identify/default.nix
+++ b/pkgs/development/python-modules/identify/default.nix
@@ -1,16 +1,17 @@
-{ lib
-, buildPythonPackage
-, editdistance-s
-, fetchFromGitHub
-, pytestCheckHook
-, pythonOlder
-, setuptools
-, ukkonen
+{
+  lib,
+  buildPythonPackage,
+  editdistance-s,
+  fetchFromGitHub,
+  pytestCheckHook,
+  pythonOlder,
+  setuptools,
+  ukkonen,
 }:
 
 buildPythonPackage rec {
   pname = "identify";
-  version = "2.5.35";
+  version = "2.5.36";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -19,28 +20,24 @@ buildPythonPackage rec {
     owner = "pre-commit";
     repo = "identify";
     rev = "refs/tags/v${version}";
-    hash = "sha256-kUBAq9ttIdTLApJ0yW8Yk/NIXpmllApQGpR24wm0PHA=";
+    hash = "sha256-CO+qP0FIUdPFXy6/7FgrKZbUp48XbgqqGV2GAX9ogMY=";
   };
 
-  nativeBuildInputs = [
-    setuptools
-  ];
+  build-system = [ setuptools ];
 
-  nativeCheckInputs = [
+  dependencies = [
     editdistance-s
     pytestCheckHook
     ukkonen
   ];
 
-  pythonImportsCheck = [
-    "identify"
-  ];
+  pythonImportsCheck = [ "identify" ];
 
   meta = with lib; {
     description = "File identification library for Python";
-    mainProgram = "identify-cli";
     homepage = "https://github.com/chriskuehl/identify";
     license = licenses.mit;
     maintainers = with maintainers; [ fab ];
+    mainProgram = "identify-cli";
   };
 }
diff --git a/pkgs/development/python-modules/imagededup/default.nix b/pkgs/development/python-modules/imagededup/default.nix
index 7b5be6e31709b..a8de28de438e7 100644
--- a/pkgs/development/python-modules/imagededup/default.nix
+++ b/pkgs/development/python-modules/imagededup/default.nix
@@ -14,6 +14,7 @@
 , torch
 , torchvision
 , tqdm
+, fetchpatch
 }:
 let
   MobileNetV3 = fetchurl {
@@ -77,6 +78,15 @@ buildPythonPackage rec {
     "imagededup"
   ];
 
+  patches = [
+    # https://github.com/idealo/imagededup/pull/217
+    (fetchpatch {
+      name = "pytest-warnings-none.patch";
+      url = "https://github.com/idealo/imagededup/commit/e2d7a21568e3115acd0632af569549c511ad5c0d.patch";
+      hash = "sha256-AQwJpU3Ag6ONRAw0z8so5icW4fRpMHuBOMT5X+HsQ2w=";
+    })
+  ];
+
   meta = with lib; {
     homepage = "https://idealo.github.io/imagededup/";
     changelog = "https://github.com/idealo/imagededup/releases/tag/${src.rev}";
diff --git a/pkgs/development/python-modules/in-n-out/default.nix b/pkgs/development/python-modules/in-n-out/default.nix
index ffd68b29b90d8..f0fdb5d45fb81 100644
--- a/pkgs/development/python-modules/in-n-out/default.nix
+++ b/pkgs/development/python-modules/in-n-out/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "in-n-out";
-  version = "0.2.0";
+  version = "0.2.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "in_n_out";
     inherit version;
-    hash = "sha256-hKJb2/DKl2Dd+rgndujNJWddriHKDpVuIKwOcwL8oZ8=";
+    hash = "sha256-Q83it96YHUGm1wYYore9mJSBCVkipT6tTcdfK71d/+o=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/internetarchive/default.nix b/pkgs/development/python-modules/internetarchive/default.nix
index 40f97138bb109..11a089b376d3a 100644
--- a/pkgs/development/python-modules/internetarchive/default.nix
+++ b/pkgs/development/python-modules/internetarchive/default.nix
@@ -73,7 +73,7 @@ buildPythonPackage rec {
     homepage = "https://github.com/jjjake/internetarchive";
     changelog = "https://github.com/jjjake/internetarchive/blob/v${version}/HISTORY.rst";
     license = licenses.agpl3Plus;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     mainProgram = "ia";
   };
 }
diff --git a/pkgs/development/python-modules/ipycanvas/default.nix b/pkgs/development/python-modules/ipycanvas/default.nix
index 85961b450ec17..2222c0bdad0d3 100644
--- a/pkgs/development/python-modules/ipycanvas/default.nix
+++ b/pkgs/development/python-modules/ipycanvas/default.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , pythonOlder
-, jupyter-packaging
+, hatchling
 , ipywidgets
 , numpy
 , pillow
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "ipycanvas";
-  version = "0.13.1";
-  format = "pyproject";
+  version = "0.13.2";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-+cOUBoG8ODgzkPjEbqXYRF1uEcbaZITDfYnfWuHawTE=";
+    hash = "sha256-Ujh9nYf2WVXzlVL7eSfEReXl5JN9hTgU2RDL6O+g+3k=";
   };
 
   # We relax dependencies here instead of pulling in a patch because upstream
@@ -26,13 +26,16 @@ buildPythonPackage rec {
   #
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace '"jupyterlab==3.*",' "" \
-      --replace 'jupyter_packaging~=' 'jupyter_packaging>='
+      --replace-fail '"jupyterlab>=3,<5",' "" \
   '';
 
-  nativeBuildInputs = [ jupyter-packaging ];
+  build-system = [
+    hatchling
+  ];
 
-  propagatedBuildInputs = [ ipywidgets numpy pillow ];
+  env.HATCH_BUILD_NO_HOOKS = true;
+
+  dependencies = [ ipywidgets numpy pillow ];
 
   doCheck = false;  # tests are in Typescript and require `npx` and `chromium`
   pythonImportsCheck = [ "ipycanvas" ];
diff --git a/pkgs/development/python-modules/ipykernel/default.nix b/pkgs/development/python-modules/ipykernel/default.nix
index 761ab5852a0c2..394974103537c 100644
--- a/pkgs/development/python-modules/ipykernel/default.nix
+++ b/pkgs/development/python-modules/ipykernel/default.nix
@@ -70,6 +70,6 @@ buildPythonPackage rec {
     homepage = "https://ipython.org/";
     changelog = "https://github.com/ipython/ipykernel/releases/tag/v${version}";
     license = lib.licenses.bsd3;
-    maintainers = with lib.maintainers; [ fridh ] ++ lib.teams.jupyter.members;
+    maintainers = lib.teams.jupyter.members;
   };
 }
diff --git a/pkgs/development/python-modules/ipyniivue/default.nix b/pkgs/development/python-modules/ipyniivue/default.nix
index c097f2cb404e8..14667b0942ed4 100644
--- a/pkgs/development/python-modules/ipyniivue/default.nix
+++ b/pkgs/development/python-modules/ipyniivue/default.nix
@@ -3,21 +3,21 @@
 , fetchPypi
 , pythonOlder
 , hatchling
-, hatch-jupyter-builder
+, hatch-vcs
 , anywidget
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "ipyniivue";
-  version = "2.0.0";
+  version = "2.0.1";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-CvMSUvPyXxPexs0/0sa/xt65RFWtvmYZwGSMIQGvLkc=";
+    hash = "sha256-C0mYkguN4ZfxSLqETH3dUwXeoNcicrmAgp6e9IIT43s=";
   };
 
   # We do not need the build hooks, because we do not need to
@@ -26,7 +26,7 @@ buildPythonPackage rec {
 
   build-system = [
     hatchling
-    hatch-jupyter-builder
+    hatch-vcs
   ];
 
   dependencies = [ anywidget ];
diff --git a/pkgs/development/python-modules/ipyparallel/default.nix b/pkgs/development/python-modules/ipyparallel/default.nix
index b5b2713182b6e..9548ab254bec1 100644
--- a/pkgs/development/python-modules/ipyparallel/default.nix
+++ b/pkgs/development/python-modules/ipyparallel/default.nix
@@ -66,6 +66,5 @@ buildPythonPackage rec {
     homepage = "https://ipyparallel.readthedocs.io/";
     changelog = "https://github.com/ipython/ipyparallel/blob/${version}/docs/source/changelog.md";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ fridh ];
   };
 }
diff --git a/pkgs/development/python-modules/ipython-genutils/default.nix b/pkgs/development/python-modules/ipython-genutils/default.nix
index c11c63797f0a6..4e8487f3f2c46 100644
--- a/pkgs/development/python-modules/ipython-genutils/default.nix
+++ b/pkgs/development/python-modules/ipython-genutils/default.nix
@@ -44,6 +44,5 @@ buildPythonPackage rec {
     description = "Vestigial utilities from IPython";
     homepage = "https://ipython.org/";
     license = lib.licenses.bsd3;
-    maintainers = with lib.maintainers; [ fridh ];
   };
 }
diff --git a/pkgs/development/python-modules/ipython/default.nix b/pkgs/development/python-modules/ipython/default.nix
index 09935bb1bc06d..7a10725f24515 100644
--- a/pkgs/development/python-modules/ipython/default.nix
+++ b/pkgs/development/python-modules/ipython/default.nix
@@ -112,6 +112,6 @@ buildPythonPackage rec {
     homepage = "https://ipython.org/";
     changelog = "https://github.com/ipython/ipython/blob/${version}/docs/source/whatsnew/version${lib.versions.major version}.rst";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ bjornfor fridh ];
+    maintainers = with maintainers; [ bjornfor ];
   };
 }
diff --git a/pkgs/development/python-modules/ipywidgets/default.nix b/pkgs/development/python-modules/ipywidgets/default.nix
index bbc1a102fbd06..69468ec28f2f4 100644
--- a/pkgs/development/python-modules/ipywidgets/default.nix
+++ b/pkgs/development/python-modules/ipywidgets/default.nix
@@ -48,6 +48,5 @@ buildPythonPackage rec {
     description = "IPython HTML widgets for Jupyter";
     homepage = "https://github.com/jupyter-widgets/ipywidgets";
     license = lib.licenses.bsd3;
-    maintainers = with lib.maintainers; [ fridh ];
   };
 }
diff --git a/pkgs/development/python-modules/itemadapter/default.nix b/pkgs/development/python-modules/itemadapter/default.nix
index 75e00b4bbcdde..0a93eda903d60 100644
--- a/pkgs/development/python-modules/itemadapter/default.nix
+++ b/pkgs/development/python-modules/itemadapter/default.nix
@@ -28,6 +28,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/scrapy/itemadapter";
     changelog = "https://github.com/scrapy/itemadapter/raw/v${version}/Changelog.md";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/itemloaders/default.nix b/pkgs/development/python-modules/itemloaders/default.nix
index 73957e6b0aea5..554882957f2ee 100644
--- a/pkgs/development/python-modules/itemloaders/default.nix
+++ b/pkgs/development/python-modules/itemloaders/default.nix
@@ -48,6 +48,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/scrapy/itemloaders";
     changelog = "https://github.com/scrapy/itemloaders/raw/v${version}/docs/release-notes.rst";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/jaxlib/default.nix b/pkgs/development/python-modules/jaxlib/default.nix
index c95edf66fc126..cfca1f170ea4c 100644
--- a/pkgs/development/python-modules/jaxlib/default.nix
+++ b/pkgs/development/python-modules/jaxlib/default.nix
@@ -364,10 +364,10 @@ let
       ];
 
       sha256 = (if cudaSupport then {
-        x86_64-linux = "sha256-IEKoHjCOtKZKvU/DUUjbvXldORFJuyO1R3F6CZZDXxM=";
+        x86_64-linux = "sha256-8JilAoTbqOjOOJa/Zc/n/quaEDcpdcLXCNb34mfB+OM=";
       } else {
-        x86_64-linux = "sha256-IE4+Tk4llo85u3NjakvY04tPw4R1bidyecPpQ4gknR8=";
-        aarch64-linux = "sha256-NehnpA4m+Fynvh0S6WKy/v9ab81487NE9ahvbS70wjY=";
+        x86_64-linux = "sha256-iqS+I1FQLNWXNMsA20cJp7YkyGUeshee5b2QfRBNZtk=";
+        aarch64-linux = "sha256-qmJ0Fm/VGMTmko4PhKs1P8/GLEJmVxb8xg+ss/HsakY==";
       }).${effectiveStdenv.system} or (throw "jaxlib: unsupported system: ${effectiveStdenv.system}");
     };
 
diff --git a/pkgs/development/python-modules/jplephem/default.nix b/pkgs/development/python-modules/jplephem/default.nix
index 5a1a8ab3cb70c..ada4c9552e5a5 100644
--- a/pkgs/development/python-modules/jplephem/default.nix
+++ b/pkgs/development/python-modules/jplephem/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "jplephem";
-  version = "2.21";
+  version = "2.22";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-NBlLYQaV8huJIXuYUrjautvOgISMs2nZVn7xLcSCjVU=";
+    hash = "sha256-DZrMche0gG/rqT5yl0zurVYREEvOZ4mvONTyfc96WSw=";
   };
 
   propagatedBuildInputs = [ numpy ];
diff --git a/pkgs/development/python-modules/jupyter-book/default.nix b/pkgs/development/python-modules/jupyter-book/default.nix
index bdb7b57729414..202c65e42a087 100644
--- a/pkgs/development/python-modules/jupyter-book/default.nix
+++ b/pkgs/development/python-modules/jupyter-book/default.nix
@@ -71,7 +71,7 @@ buildPythonPackage rec {
     homepage = "https://jupyterbook.org/";
     changelog = "https://github.com/executablebooks/jupyter-book/blob/v${version}/CHANGELOG.md";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
     mainProgram = "jupyter-book";
   };
 }
diff --git a/pkgs/development/python-modules/jupyter-cache/default.nix b/pkgs/development/python-modules/jupyter-cache/default.nix
index 4a7ebfbd83199..e2e597dd4a85f 100644
--- a/pkgs/development/python-modules/jupyter-cache/default.nix
+++ b/pkgs/development/python-modules/jupyter-cache/default.nix
@@ -49,6 +49,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/executablebooks/jupyter-cache";
     changelog = "https://github.com/executablebooks/jupyter-cache/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/jupyter-client/default.nix b/pkgs/development/python-modules/jupyter-client/default.nix
index 5dd708f014ad4..a556885e84399 100644
--- a/pkgs/development/python-modules/jupyter-client/default.nix
+++ b/pkgs/development/python-modules/jupyter-client/default.nix
@@ -48,6 +48,5 @@ buildPythonPackage rec {
     homepage = "https://github.com/jupyter/jupyter_client";
     changelog = "https://github.com/jupyter/jupyter_client/blob/v${version}/CHANGELOG.md";
     license = lib.licenses.bsd3;
-    maintainers = with lib.maintainers; [ fridh ];
   };
 }
diff --git a/pkgs/development/python-modules/jupyter-repo2docker/default.nix b/pkgs/development/python-modules/jupyter-repo2docker/default.nix
index e51f02bb3b1e0..c782bd78540c8 100644
--- a/pkgs/development/python-modules/jupyter-repo2docker/default.nix
+++ b/pkgs/development/python-modules/jupyter-repo2docker/default.nix
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "jupyterhub";
     repo = "repo2docker";
     rev = "refs/tags/${version}";
-    hash = "sha256-U22A1OX83F2OMdS3w0elQpGg1z+ZgOeZLv8XjOK26mg=";
+    hash = "sha256-D8sgeyfQjEkBYck/CikAVNZzUSl1R9uXSv75DTXT5U0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/jupyterlab-server/default.nix b/pkgs/development/python-modules/jupyterlab-server/default.nix
index f295ce204ad29..059cb1c5ac52a 100644
--- a/pkgs/development/python-modules/jupyterlab-server/default.nix
+++ b/pkgs/development/python-modules/jupyterlab-server/default.nix
@@ -21,7 +21,7 @@
 
 buildPythonPackage rec {
   pname = "jupyterlab-server";
-  version = "2.26.0";
+  version = "2.27.1";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "jupyterlab_server";
     inherit version;
-    hash = "sha256-mzupHPKDf38ST8o21j88qArOK+1ImKY91H5lmMGrAG8=";
+    hash = "sha256-CXtaxwm2dscoSsnF43PxGTClYfUs1ahuT8flqcioYx0=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/jupyterlab/default.nix b/pkgs/development/python-modules/jupyterlab/default.nix
index dc48c597d5489..7b9a17d91e2ca 100644
--- a/pkgs/development/python-modules/jupyterlab/default.nix
+++ b/pkgs/development/python-modules/jupyterlab/default.nix
@@ -20,14 +20,14 @@
 
 buildPythonPackage rec {
   pname = "jupyterlab";
-  version = "4.1.6";
+  version = "4.1.8";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-eTXza6JuthUYOk9cK7yleRtRCM4qALVQX4z9EA1TZI4=";
+    hash = "sha256-M4St7YaA585QT9Y7i7iaOd8hycdpTZ59xKaHQs2zD5s=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/kbcstorage/default.nix b/pkgs/development/python-modules/kbcstorage/default.nix
index 2c14e72bcf96a..a10b8ddf7316a 100644
--- a/pkgs/development/python-modules/kbcstorage/default.nix
+++ b/pkgs/development/python-modules/kbcstorage/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "sapi-python-client";
-  version = "0.7.2";
+  version = "0.8.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "keboola";
     repo = "sapi-python-client";
     rev = "refs/tags/${version}";
-    hash = "sha256-uZo2kEq7zIMGRlhX36kZyihQPZegw5XgVzgVQQOmpc4=";
+    hash = "sha256-Xc4VD91Nhnj0UyWHpdwEaETJVH8Ue6/kuiKEMaiSR0g=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/kornia-rs/Cargo.lock b/pkgs/development/python-modules/kornia-rs/Cargo.lock
new file mode 100644
index 0000000000000..ce16e71e914b8
--- /dev/null
+++ b/pkgs/development/python-modules/kornia-rs/Cargo.lock
@@ -0,0 +1,1598 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "adler"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
+
+[[package]]
+name = "aligned-vec"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4aa90d7ce82d4be67b64039a3d588d38dbcc6736577de4a847025ce5b0c468d1"
+
+[[package]]
+name = "anyhow"
+version = "1.0.80"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5ad32ce52e4161730f7098c077cd2ed6229b5804ccf99e5366be1ab72a98b4e1"
+
+[[package]]
+name = "arbitrary"
+version = "0.4.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "db55d72333851e17d572bec876e390cd3b11eb1ef53ae821dd9f3b653d2b4569"
+
+[[package]]
+name = "arbitrary"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110"
+
+[[package]]
+name = "arg_enum_proc_macro"
+version = "0.3.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0ae92a5119aa49cdbcf6b9f893fe4e1d98b04ccbf82ee0584ad948a44a734dea"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "arrayvec"
+version = "0.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "av1-grain"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6678909d8c5d46a42abcf571271e15fdbc0a225e3646cf23762cd415046c78bf"
+dependencies = [
+ "anyhow",
+ "arrayvec",
+ "log",
+ "nom",
+ "num-rational",
+ "serde",
+ "v_frame",
+]
+
+[[package]]
+name = "avif-serialize"
+version = "0.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "876c75a42f6364451a033496a14c44bffe41f5f4a8236f697391f11024e596d2"
+dependencies = [
+ "arrayvec",
+]
+
+[[package]]
+name = "bit_field"
+version = "0.10.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc827186963e592360843fb5ba4b973e145841266c1357f7180c43526f2e5b61"
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "bitstream-io"
+version = "1.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e445576659fd04a57b44cbd00aa37aaa815ebefa0aa3cb677a6b5e63d883074f"
+
+[[package]]
+name = "bitstream-io"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06c9989a51171e2e81038ab168b6ae22886fe9ded214430dbb4f41c28cf176da"
+
+[[package]]
+name = "built"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b9c056b9ed43aee5e064b683aa1ec783e19c6acec7559e3ae931b7490472fbe"
+dependencies = [
+ "cargo-lock",
+]
+
+[[package]]
+name = "built"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38d17f4d6e4dc36d1a02fbedc2753a096848e7c1b0772f7654eab8e2c927dd53"
+
+[[package]]
+name = "bumpalo"
+version = "3.14.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
+
+[[package]]
+name = "bytemuck"
+version = "1.14.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed2490600f404f2b94c167e31d3ed1d5f3c225a0f3b80230053b3e0b7b962bd9"
+
+[[package]]
+name = "byteorder"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
+
+[[package]]
+name = "cargo-lock"
+version = "8.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "031718ddb8f78aa5def78a09e90defe30151d1f6c672f937af4dd916429ed996"
+dependencies = [
+ "semver",
+ "serde",
+ "toml 0.5.11",
+ "url",
+]
+
+[[package]]
+name = "cc"
+version = "1.0.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
+dependencies = [
+ "jobserver",
+ "libc",
+]
+
+[[package]]
+name = "cfg-expr"
+version = "0.15.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa50868b64a9a6fda9d593ce778849ea8715cd2a3d2cc17ffdb4a2f2f2f1961d"
+dependencies = [
+ "smallvec",
+ "target-lexicon",
+]
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "cmake"
+version = "0.1.50"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a31c789563b815f77f4250caee12365734369f942439b7defd71e18a48197130"
+dependencies = [
+ "cc",
+]
+
+[[package]]
+name = "color_quant"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b"
+
+[[package]]
+name = "crc32fast"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "crossbeam-deque"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d"
+dependencies = [
+ "crossbeam-epoch",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-epoch"
+version = "0.9.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
+dependencies = [
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-utils"
+version = "0.8.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345"
+
+[[package]]
+name = "crunchy"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
+
+[[package]]
+name = "either"
+version = "1.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
+
+[[package]]
+name = "equivalent"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
+
+[[package]]
+name = "exr"
+version = "1.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "279d3efcc55e19917fff7ab3ddd6c14afb6a90881a0078465196fe2f99d08c56"
+dependencies = [
+ "bit_field",
+ "flume",
+ "half",
+ "lebe",
+ "miniz_oxide",
+ "rayon-core",
+ "smallvec",
+ "zune-inflate",
+]
+
+[[package]]
+name = "fast_image_resize"
+version = "3.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c9d450fac8a334ad72825596173f0f7767ff04dd6e3d59c49c894c4bc2957e8b"
+dependencies = [
+ "cfg-if",
+ "num-traits",
+ "thiserror",
+]
+
+[[package]]
+name = "fdeflate"
+version = "0.3.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4f9bfee30e4dedf0ab8b422f03af778d9612b63f502710fc500a334ebe2de645"
+dependencies = [
+ "simd-adler32",
+]
+
+[[package]]
+name = "flate2"
+version = "1.0.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e"
+dependencies = [
+ "crc32fast",
+ "miniz_oxide",
+]
+
+[[package]]
+name = "flume"
+version = "0.10.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1657b4441c3403d9f7b3409e47575237dac27b1b5726df654a6ecbf92f0f7577"
+dependencies = [
+ "futures-core",
+ "futures-sink",
+ "nanorand",
+ "pin-project",
+ "spin",
+]
+
+[[package]]
+name = "form_urlencoded"
+version = "1.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
+dependencies = [
+ "percent-encoding",
+]
+
+[[package]]
+name = "futures-core"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d"
+
+[[package]]
+name = "futures-sink"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5"
+
+[[package]]
+name = "getrandom"
+version = "0.2.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
+dependencies = [
+ "cfg-if",
+ "js-sys",
+ "libc",
+ "wasi",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "gif"
+version = "0.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3fb2d69b19215e18bb912fa30f7ce15846e301408695e44e0ef719f1da9e19f2"
+dependencies = [
+ "color_quant",
+ "weezl",
+]
+
+[[package]]
+name = "half"
+version = "2.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bc52e53916c08643f1b56ec082790d1e86a32e58dc5268f897f313fbae7b4872"
+dependencies = [
+ "cfg-if",
+ "crunchy",
+]
+
+[[package]]
+name = "hashbrown"
+version = "0.14.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
+
+[[package]]
+name = "heck"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
+
+[[package]]
+name = "idna"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
+dependencies = [
+ "unicode-bidi",
+ "unicode-normalization",
+]
+
+[[package]]
+name = "image"
+version = "0.25.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a9b4f005360d32e9325029b38ba47ebd7a56f3316df09249368939562d518645"
+dependencies = [
+ "bytemuck",
+ "byteorder",
+ "color_quant",
+ "exr",
+ "gif",
+ "image-webp",
+ "num-traits",
+ "png",
+ "qoi",
+ "ravif",
+ "rayon",
+ "rgb",
+ "tiff",
+ "zune-core",
+ "zune-jpeg",
+]
+
+[[package]]
+name = "image-webp"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba6107a25f04af48ceeb4093eebc9b405ee5a1813a0bab5ecf1805d3eabb3337"
+dependencies = [
+ "byteorder",
+ "thiserror",
+]
+
+[[package]]
+name = "imgref"
+version = "1.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44feda355f4159a7c757171a77de25daf6411e217b4cabd03bd6650690468126"
+
+[[package]]
+name = "indexmap"
+version = "2.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b0b929d511467233429c45a44ac1dcaa21ba0f5ba11e4879e6ed28ddb4f9df4"
+dependencies = [
+ "equivalent",
+ "hashbrown",
+]
+
+[[package]]
+name = "indoc"
+version = "2.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8"
+
+[[package]]
+name = "interpolate_name"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c34819042dc3d3971c46c2190835914dfbe0c3c13f61449b2997f4e9722dfa60"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "itertools"
+version = "0.10.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
+dependencies = [
+ "either",
+]
+
+[[package]]
+name = "itertools"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"
+dependencies = [
+ "either",
+]
+
+[[package]]
+name = "jobserver"
+version = "0.1.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ab46a6e9526ddef3ae7f787c06f0f2600639ba80ea3eade3d8e670a2230f51d6"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "jpeg-decoder"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0"
+
+[[package]]
+name = "js-sys"
+version = "0.3.67"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a1d36f1235bc969acba30b7f5990b864423a6068a10f7c90ae8f0112e3a59d1"
+dependencies = [
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "kornia-py"
+version = "0.1.2"
+dependencies = [
+ "anyhow",
+ "kornia-rs",
+ "numpy",
+ "pyo3",
+]
+
+[[package]]
+name = "kornia-rs"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "feee33cc9f9cbe8b17bd9d2151b1bb10a2b61585d961899d4d3164a30bcb08b9"
+dependencies = [
+ "anyhow",
+ "fast_image_resize",
+ "image",
+ "memmap2",
+ "ndarray",
+ "num-traits",
+ "turbojpeg",
+]
+
+[[package]]
+name = "lebe"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8"
+
+[[package]]
+name = "libc"
+version = "0.2.152"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7"
+
+[[package]]
+name = "libfuzzer-sys"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fcf184a4b6b274f82a5df6b357da6055d3e82272327bba281c28bbba6f1664ef"
+dependencies = [
+ "arbitrary 0.4.7",
+ "cc",
+]
+
+[[package]]
+name = "libfuzzer-sys"
+version = "0.4.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a96cfd5557eb82f2b83fed4955246c988d331975a002961b07c81584d107e7f7"
+dependencies = [
+ "arbitrary 1.3.2",
+ "cc",
+ "once_cell",
+]
+
+[[package]]
+name = "lock_api"
+version = "0.4.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
+dependencies = [
+ "autocfg",
+ "scopeguard",
+]
+
+[[package]]
+name = "log"
+version = "0.4.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
+
+[[package]]
+name = "loop9"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0fae87c125b03c1d2c0150c90365d7d6bcc53fb73a9acaef207d2d065860f062"
+dependencies = [
+ "imgref",
+]
+
+[[package]]
+name = "matrixmultiply"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7574c1cf36da4798ab73da5b215bbf444f50718207754cb522201d78d1cd0ff2"
+dependencies = [
+ "autocfg",
+ "rawpointer",
+]
+
+[[package]]
+name = "maybe-rayon"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ea1f30cedd69f0a2954655f7188c6a834246d2bcf1e315e2ac40c4b24dc9519"
+dependencies = [
+ "cfg-if",
+ "rayon",
+]
+
+[[package]]
+name = "memchr"
+version = "2.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
+
+[[package]]
+name = "memmap2"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "memoffset"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "minimal-lexical"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
+
+[[package]]
+name = "miniz_oxide"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
+dependencies = [
+ "adler",
+ "simd-adler32",
+]
+
+[[package]]
+name = "nanorand"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3"
+dependencies = [
+ "getrandom",
+]
+
+[[package]]
+name = "ndarray"
+version = "0.15.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "adb12d4e967ec485a5f71c6311fe28158e9d6f4bc4a447b474184d0f91a8fa32"
+dependencies = [
+ "matrixmultiply",
+ "num-complex",
+ "num-integer",
+ "num-traits",
+ "rawpointer",
+ "rayon",
+]
+
+[[package]]
+name = "new_debug_unreachable"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54"
+
+[[package]]
+name = "nom"
+version = "7.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
+dependencies = [
+ "memchr",
+ "minimal-lexical",
+]
+
+[[package]]
+name = "noop_proc_macro"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0676bb32a98c1a483ce53e500a81ad9c3d5b3f7c920c28c24e9cb0980d0b5bc8"
+
+[[package]]
+name = "num-bigint"
+version = "0.4.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0"
+dependencies = [
+ "autocfg",
+ "num-integer",
+ "num-traits",
+]
+
+[[package]]
+name = "num-complex"
+version = "0.4.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1ba157ca0885411de85d6ca030ba7e2a83a28636056c7c699b07c8b6f7383214"
+dependencies = [
+ "num-traits",
+]
+
+[[package]]
+name = "num-derive"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "num-derive"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[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-rational"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0"
+dependencies = [
+ "autocfg",
+ "num-bigint",
+ "num-integer",
+ "num-traits",
+]
+
+[[package]]
+name = "num-traits"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "numpy"
+version = "0.20.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef41cbb417ea83b30525259e30ccef6af39b31c240bda578889494c5392d331"
+dependencies = [
+ "libc",
+ "ndarray",
+ "num-complex",
+ "num-integer",
+ "num-traits",
+ "pyo3",
+ "rustc-hash",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
+
+[[package]]
+name = "parking_lot"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
+dependencies = [
+ "lock_api",
+ "parking_lot_core",
+]
+
+[[package]]
+name = "parking_lot_core"
+version = "0.9.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "redox_syscall",
+ "smallvec",
+ "windows-targets",
+]
+
+[[package]]
+name = "paste"
+version = "1.0.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
+
+[[package]]
+name = "percent-encoding"
+version = "2.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
+
+[[package]]
+name = "pin-project"
+version = "1.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0302c4a0442c456bd56f841aee5c3bfd17967563f6fadc9ceb9f9c23cf3807e0"
+dependencies = [
+ "pin-project-internal",
+]
+
+[[package]]
+name = "pin-project-internal"
+version = "1.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "266c042b60c9c76b8d53061e52b2e0d1116abc57cefc8c5cd671619a56ac3690"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "pkg-config"
+version = "0.3.29"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2900ede94e305130c13ddd391e0ab7cbaeb783945ae07a279c268cb05109c6cb"
+
+[[package]]
+name = "png"
+version = "0.17.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1f6c3c3e617595665b8ea2ff95a86066be38fb121ff920a9c0eb282abcd1da5a"
+dependencies = [
+ "bitflags",
+ "crc32fast",
+ "fdeflate",
+ "flate2",
+ "miniz_oxide",
+]
+
+[[package]]
+name = "ppv-lite86"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.78"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "profiling"
+version = "1.0.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "43d84d1d7a6ac92673717f9f6d1518374ef257669c24ebc5ac25d5033828be58"
+dependencies = [
+ "profiling-procmacros",
+]
+
+[[package]]
+name = "profiling-procmacros"
+version = "1.0.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8021cf59c8ec9c432cfc2526ac6b8aa508ecaf29cd415f271b8406c1b851c3fd"
+dependencies = [
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "pyo3"
+version = "0.20.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a89dc7a5850d0e983be1ec2a463a171d20990487c3cfcd68b5363f1ee3d6fe0"
+dependencies = [
+ "cfg-if",
+ "indoc",
+ "libc",
+ "memoffset",
+ "parking_lot",
+ "pyo3-build-config",
+ "pyo3-ffi",
+ "pyo3-macros",
+ "unindent",
+]
+
+[[package]]
+name = "pyo3-build-config"
+version = "0.20.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "07426f0d8fe5a601f26293f300afd1a7b1ed5e78b2a705870c5f30893c5163be"
+dependencies = [
+ "once_cell",
+ "target-lexicon",
+]
+
+[[package]]
+name = "pyo3-ffi"
+version = "0.20.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dbb7dec17e17766b46bca4f1a4215a85006b4c2ecde122076c562dd058da6cf1"
+dependencies = [
+ "libc",
+ "pyo3-build-config",
+]
+
+[[package]]
+name = "pyo3-macros"
+version = "0.20.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "05f738b4e40d50b5711957f142878cfa0f28e054aa0ebdfc3fd137a843f74ed3"
+dependencies = [
+ "proc-macro2",
+ "pyo3-macros-backend",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "pyo3-macros-backend"
+version = "0.20.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0fc910d4851847827daf9d6cdd4a823fbdaab5b8818325c5e97a86da79e8881f"
+dependencies = [
+ "heck",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "qoi"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f6d64c71eb498fe9eae14ce4ec935c555749aef511cca85b5568910d6e48001"
+dependencies = [
+ "bytemuck",
+]
+
+[[package]]
+name = "quick-error"
+version = "2.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3"
+
+[[package]]
+name = "quote"
+version = "1.0.35"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "rand"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
+dependencies = [
+ "libc",
+ "rand_chacha",
+ "rand_core",
+]
+
+[[package]]
+name = "rand_chacha"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
+dependencies = [
+ "ppv-lite86",
+ "rand_core",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
+dependencies = [
+ "getrandom",
+]
+
+[[package]]
+name = "rav1e"
+version = "0.6.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "16c383692a5e7abd9f6d1eddb1a5e0269f859392387883361bb09e5555852ec1"
+dependencies = [
+ "arbitrary 0.4.7",
+ "arg_enum_proc_macro",
+ "arrayvec",
+ "av1-grain",
+ "bitstream-io 1.10.0",
+ "built 0.5.2",
+ "cfg-if",
+ "interpolate_name",
+ "itertools 0.10.5",
+ "libc",
+ "libfuzzer-sys 0.3.5",
+ "log",
+ "maybe-rayon",
+ "new_debug_unreachable",
+ "noop_proc_macro",
+ "num-derive 0.3.3",
+ "num-traits",
+ "once_cell",
+ "paste",
+ "rand",
+ "rand_chacha",
+ "rust_hawktracer",
+ "rustc_version",
+ "simd_helpers",
+ "system-deps",
+ "thiserror",
+ "v_frame",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "rav1e"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cd87ce80a7665b1cce111f8a16c1f3929f6547ce91ade6addf4ec86a8dda5ce9"
+dependencies = [
+ "arbitrary 1.3.2",
+ "arg_enum_proc_macro",
+ "arrayvec",
+ "av1-grain",
+ "bitstream-io 2.2.0",
+ "built 0.7.1",
+ "cfg-if",
+ "interpolate_name",
+ "itertools 0.12.1",
+ "libc",
+ "libfuzzer-sys 0.4.7",
+ "log",
+ "maybe-rayon",
+ "new_debug_unreachable",
+ "noop_proc_macro",
+ "num-derive 0.4.2",
+ "num-traits",
+ "once_cell",
+ "paste",
+ "profiling",
+ "rand",
+ "rand_chacha",
+ "simd_helpers",
+ "system-deps",
+ "thiserror",
+ "v_frame",
+]
+
+[[package]]
+name = "ravif"
+version = "0.11.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d44feba0b8a381a5efa2c0baf8dace8418904403260233f4a614503b018fc288"
+dependencies = [
+ "avif-serialize",
+ "imgref",
+ "loop9",
+ "quick-error",
+ "rav1e 0.6.6",
+ "rav1e 0.7.1",
+ "rayon",
+ "rgb",
+]
+
+[[package]]
+name = "rawpointer"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3"
+
+[[package]]
+name = "rayon"
+version = "1.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa7237101a77a10773db45d62004a272517633fbcc3df19d96455ede1122e051"
+dependencies = [
+ "either",
+ "rayon-core",
+]
+
+[[package]]
+name = "rayon-core"
+version = "1.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
+dependencies = [
+ "crossbeam-deque",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
+dependencies = [
+ "bitflags",
+]
+
+[[package]]
+name = "rgb"
+version = "0.8.37"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "05aaa8004b64fd573fc9d002f4e632d51ad4f026c2b5ba95fcb6c2f32c2c47d8"
+dependencies = [
+ "bytemuck",
+]
+
+[[package]]
+name = "rust_hawktracer"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3480a29b927f66c6e06527be7f49ef4d291a01d694ec1fe85b0de71d6b02ac1"
+dependencies = [
+ "rust_hawktracer_normal_macro",
+ "rust_hawktracer_proc_macro",
+]
+
+[[package]]
+name = "rust_hawktracer_normal_macro"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a570059949e1dcdc6f35228fa389f54c2c84dfe0c94c05022baacd56eacd2e9"
+
+[[package]]
+name = "rust_hawktracer_proc_macro"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb626abdbed5e93f031baae60d72032f56bc964e11ac2ff65f2ba3ed98d6d3e1"
+
+[[package]]
+name = "rustc-hash"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
+
+[[package]]
+name = "rustc_version"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
+dependencies = [
+ "semver",
+]
+
+[[package]]
+name = "scopeguard"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
+
+[[package]]
+name = "semver"
+version = "1.0.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "serde"
+version = "1.0.197"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.197"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "serde_spanned"
+version = "0.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "simd-adler32"
+version = "0.3.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe"
+
+[[package]]
+name = "simd_helpers"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95890f873bec569a0362c235787f3aca6e1e887302ba4840839bcc6459c42da6"
+dependencies = [
+ "quote",
+]
+
+[[package]]
+name = "smallvec"
+version = "1.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
+
+[[package]]
+name = "spin"
+version = "0.9.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
+dependencies = [
+ "lock_api",
+]
+
+[[package]]
+name = "syn"
+version = "1.0.109"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "syn"
+version = "2.0.48"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "system-deps"
+version = "6.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2a2d580ff6a20c55dfb86be5f9c238f67835d0e81cbdea8bf5680e0897320331"
+dependencies = [
+ "cfg-expr",
+ "heck",
+ "pkg-config",
+ "toml 0.8.10",
+ "version-compare",
+]
+
+[[package]]
+name = "target-lexicon"
+version = "0.12.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "69758bda2e78f098e4ccb393021a0963bb3442eac05f135c30f61b7370bbafae"
+
+[[package]]
+name = "thiserror"
+version = "1.0.56"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.56"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "tiff"
+version = "0.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba1310fcea54c6a9a4fd1aad794ecc02c31682f6bfbecdf460bf19533eed1e3e"
+dependencies = [
+ "flate2",
+ "jpeg-decoder",
+ "weezl",
+]
+
+[[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.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
+
+[[package]]
+name = "toml"
+version = "0.5.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "toml"
+version = "0.8.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a9aad4a3066010876e8dcf5a8a06e70a558751117a145c6ce2b82c2e2054290"
+dependencies = [
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "toml_edit",
+]
+
+[[package]]
+name = "toml_datetime"
+version = "0.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "toml_edit"
+version = "0.22.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2c1b5fd4128cc8d3e0cb74d4ed9a9cc7c7284becd4df68f5f940e1ad123606f6"
+dependencies = [
+ "indexmap",
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "winnow",
+]
+
+[[package]]
+name = "turbojpeg"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eb5080f5adaa92c82bf84f825dd092e9692c923ee652f1634835e9a1f372518d"
+dependencies = [
+ "libc",
+ "thiserror",
+ "turbojpeg-sys",
+]
+
+[[package]]
+name = "turbojpeg-sys"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3fa6daade3b979fb7454cce5ebcb9772ce7a1cf476ea27ed20ed06e13d9bc983"
+dependencies = [
+ "anyhow",
+ "cmake",
+ "libc",
+ "pkg-config",
+]
+
+[[package]]
+name = "unicode-bidi"
+version = "0.3.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75"
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
+
+[[package]]
+name = "unicode-normalization"
+version = "0.1.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5"
+dependencies = [
+ "tinyvec",
+]
+
+[[package]]
+name = "unindent"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce"
+
+[[package]]
+name = "url"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
+dependencies = [
+ "form_urlencoded",
+ "idna",
+ "percent-encoding",
+]
+
+[[package]]
+name = "v_frame"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d6f32aaa24bacd11e488aa9ba66369c7cd514885742c9fe08cfe85884db3e92b"
+dependencies = [
+ "aligned-vec",
+ "num-traits",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "version-compare"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "579a42fc0b8e0c63b76519a339be31bed574929511fa53c1a3acae26eb258f29"
+
+[[package]]
+name = "wasi"
+version = "0.11.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+
+[[package]]
+name = "wasm-bindgen"
+version = "0.2.90"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1223296a201415c7fad14792dbefaace9bd52b62d33453ade1c5b5f07555406"
+dependencies = [
+ "cfg-if",
+ "wasm-bindgen-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.90"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fcdc935b63408d58a32f8cc9738a0bffd8f05cc7c002086c6ef20b7312ad9dcd"
+dependencies = [
+ "bumpalo",
+ "log",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.90"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3e4c238561b2d428924c49815533a8b9121c664599558a5d9ec51f8a1740a999"
+dependencies = [
+ "quote",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.90"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bae1abb6806dc1ad9e560ed242107c0f6c84335f1749dd4e8ddb012ebd5e25a7"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.90"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4d91413b1c31d7539ba5ef2451af3f0b833a005eb27a631cec32bc0635a8602b"
+
+[[package]]
+name = "weezl"
+version = "0.1.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082"
+
+[[package]]
+name = "windows-targets"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
+dependencies = [
+ "windows_aarch64_gnullvm",
+ "windows_aarch64_msvc",
+ "windows_i686_gnu",
+ "windows_i686_msvc",
+ "windows_x86_64_gnu",
+ "windows_x86_64_gnullvm",
+ "windows_x86_64_msvc",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
+
+[[package]]
+name = "winnow"
+version = "0.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dffa400e67ed5a4dd237983829e66475f0a4a26938c4b04c21baede6262215b8"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "zune-core"
+version = "0.4.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f423a2c17029964870cfaabb1f13dfab7d092a62a29a89264f4d36990ca414a"
+
+[[package]]
+name = "zune-inflate"
+version = "0.2.54"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "73ab332fe2f6680068f3582b16a24f90ad7096d5d39b974d1c0aff0125116f02"
+dependencies = [
+ "simd-adler32",
+]
+
+[[package]]
+name = "zune-jpeg"
+version = "0.4.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec866b44a2a1fd6133d363f073ca1b179f438f99e7e5bfb1e33f7181facfe448"
+dependencies = [
+ "zune-core",
+]
diff --git a/pkgs/development/python-modules/kornia-rs/default.nix b/pkgs/development/python-modules/kornia-rs/default.nix
new file mode 100644
index 0000000000000..57aaa325d2b61
--- /dev/null
+++ b/pkgs/development/python-modules/kornia-rs/default.nix
@@ -0,0 +1,56 @@
+{ lib
+, fetchFromGitHub
+, buildPythonPackage
+, rustPlatform
+, cmake
+, nasm
+, substituteAll
+}:
+
+buildPythonPackage rec {
+  pname = "kornia-rs";
+  version = "0.1.2";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "kornia";
+    repo = "kornia-rs";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-7toCMaHzFAzm6gThVLBxKLgQVgFJatdJseDlfdeS8RE=";
+  };
+
+  nativeBuildInputs = [
+    rustPlatform.maturinBuildHook
+    rustPlatform.cargoSetupHook
+    cmake # Only for dependencies.
+    nasm # Only for dependencies.
+  ];
+
+  cargoRoot = "py-kornia";
+  cargoDeps = rustPlatform.importCargoLock {
+    lockFile = ./Cargo.lock;
+  };
+
+  # The path dependency doesn't vendor the dependencies correctly, so get kornia-rs from crates instead.
+  patches = [
+    (substituteAll {
+      src = ./kornia-rs-from-crates.patch;
+      inherit version;
+    })
+  ];
+
+  prePatch = ''
+    cp ${./Cargo.lock} py-kornia/Cargo.lock
+  '';
+
+  maturinBuildFlags = [ "-m" "py-kornia/Cargo.toml" ];
+
+  dontUseCmakeConfigure = true; # We only want to use CMake to build some Rust dependencies.
+
+  meta = with lib; {
+    homepage = "https://github.com/kornia/kornia-rs";
+    description = "Python bindings to Low-level Computer Vision library in Rust";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ chpatrick ];
+  };
+}
diff --git a/pkgs/development/python-modules/kornia-rs/kornia-rs-from-crates.patch b/pkgs/development/python-modules/kornia-rs/kornia-rs-from-crates.patch
new file mode 100644
index 0000000000000..4745f9ab9f068
--- /dev/null
+++ b/pkgs/development/python-modules/kornia-rs/kornia-rs-from-crates.patch
@@ -0,0 +1,12 @@
+diff --git a/py-kornia/Cargo.toml b/py-kornia/Cargo.toml
+index e0563f3..e192654 100644
+--- a/py-kornia/Cargo.toml
++++ b/py-kornia/Cargo.toml
+@@ -9,6 +9,6 @@ crate-type = ["cdylib"]
+
+ [dependencies]
+ anyhow = "1.0.80"
+-kornia-rs = { path = ".." }
++kornia-rs = { version = "@version@" }
+ pyo3 = { version = "0.20", features = ["extension-module"] }
+ numpy = { version = "0.20.0" }
diff --git a/pkgs/development/python-modules/kornia/default.nix b/pkgs/development/python-modules/kornia/default.nix
index a00b3d6487d30..0663cfecea0cd 100644
--- a/pkgs/development/python-modules/kornia/default.nix
+++ b/pkgs/development/python-modules/kornia/default.nix
@@ -4,11 +4,12 @@
 , pythonOlder
 , packaging
 , torch
+, kornia-rs
 }:
 
 buildPythonPackage rec {
   pname = "kornia";
-  version = "0.7.1";
+  version = "0.7.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -17,10 +18,11 @@ buildPythonPackage rec {
     owner = pname;
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-gHMrA4Uzazpw4TdswrXdoZG4+ek5g+wtLXNmhH3SlOM=";
+    hash = "sha256-DmXttvKoLqny0mt3SUonidNxDkNX7N0LdTxy/H32R/4=";
   };
 
   propagatedBuildInputs = [
+    kornia-rs
     packaging
     torch
   ];
@@ -39,7 +41,6 @@ buildPythonPackage rec {
     "kornia.metrics"
     "kornia.morphology"
     "kornia.tracking"
-    "kornia.testing"
     "kornia.utils"
   ];
 
diff --git a/pkgs/development/python-modules/kserve/default.nix b/pkgs/development/python-modules/kserve/default.nix
new file mode 100644
index 0000000000000..2bbfd3a807613
--- /dev/null
+++ b/pkgs/development/python-modules/kserve/default.nix
@@ -0,0 +1,119 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, deprecation
+, poetry-core
+, pythonRelaxDepsHook
+, async-timeout
+, cloudevents
+, fastapi
+, grpcio
+, httpx
+, kubernetes
+, numpy
+, orjson
+, pandas
+, prometheus-client
+, protobuf
+, psutil
+, python-dateutil
+, ray
+, six
+, tabulate
+, timing-asgi
+, uvicorn
+, avro
+, azure-storage-blob
+, azure-storage-file-share
+, boto3
+, botocore
+, google-cloud-storage
+, pytestCheckHook
+, tomlkit
+}:
+
+buildPythonPackage rec {
+  pname = "kserve";
+  version = "0.12.1";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "kserve";
+    repo = "kserve";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-gKJkG8zJY1sGGpI27YZ/QnEPU8J7KHva3nI+JCglQaQ=";
+  };
+
+  sourceRoot = "${src.name}/python/kserve";
+
+  build-system = [
+    deprecation
+    poetry-core
+  ];
+
+  nativeBuildInputs = [
+    pythonRelaxDepsHook
+  ];
+
+  dependencies = [
+    async-timeout
+    cloudevents
+    fastapi
+    grpcio
+    httpx
+    kubernetes
+    numpy
+    orjson
+    pandas
+    prometheus-client
+    protobuf
+    psutil
+    python-dateutil
+    ray
+    six
+    tabulate
+    timing-asgi
+    uvicorn
+  ] ++ ray.passthru.optional-dependencies.serve-deps;
+
+  pythonRelaxDeps = [
+    "fastapi"
+    "httpx"
+    "prometheus-client"
+    "protobuf"
+    "ray"
+    "uvicorn"
+  ];
+
+  pythonImportsCheck = [ "kserve" ];
+
+  nativeCheckInputs = [
+    avro
+    azure-storage-blob
+    azure-storage-file-share
+    boto3
+    botocore
+    google-cloud-storage
+    pytestCheckHook
+    tomlkit
+  ];
+
+  disabledTestPaths = [
+    # Looks for a config file at the root of the repository
+    "test/test_inference_service_client.py"
+  ];
+
+  disabledTests = [
+    # Require network access
+    "test_health_handler"
+    "test_infer"
+    "test_infer_v2"
+  ];
+
+  meta = with lib; {
+    description = "Standardized Serverless ML Inference Platform on Kubernetes";
+    homepage = "https://github.com/kserve/kserve/tree/master/python/kserve";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ GaetanLepage ];
+  };
+}
diff --git a/pkgs/development/python-modules/langchain-core/default.nix b/pkgs/development/python-modules/langchain-core/default.nix
index 32c0daba438ea..72ce1715493f3 100644
--- a/pkgs/development/python-modules/langchain-core/default.nix
+++ b/pkgs/development/python-modules/langchain-core/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "langchain-core";
-  version = "0.1.44";
+  version = "0.1.46";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "langchain_core";
     inherit version;
-    hash = "sha256-4xOXXZrikmNC5vKtdgM40x8YsSI+m4tNxAja7q3kaoM=";
+    hash = "sha256-F8QWNJ9cepgI5w43JXSaOi31CI8ezKBFyIOHGqlfnJ4=";
   };
 
   pythonRelaxDeps = [
diff --git a/pkgs/development/python-modules/lark/default.nix b/pkgs/development/python-modules/lark/default.nix
index 93c900e307c3f..ef25181892693 100644
--- a/pkgs/development/python-modules/lark/default.nix
+++ b/pkgs/development/python-modules/lark/default.nix
@@ -47,6 +47,6 @@ buildPythonPackage rec {
     homepage = "https://lark-parser.readthedocs.io/";
     changelog = "https://github.com/lark-parser/lark/releases/tag/${version}";
     license = licenses.mit;
-    maintainers = with maintainers; [ fridh drewrisinger ];
+    maintainers = with maintainers; [ drewrisinger ];
   };
 }
diff --git a/pkgs/development/python-modules/launchpadlib/default.nix b/pkgs/development/python-modules/launchpadlib/default.nix
index 02acb86b601eb..aef2dfb98bff9 100644
--- a/pkgs/development/python-modules/launchpadlib/default.nix
+++ b/pkgs/development/python-modules/launchpadlib/default.nix
@@ -54,6 +54,6 @@ buildPythonPackage rec {
     description = "Script Launchpad through its web services interfaces. Officially supported";
     homepage = "https://help.launchpad.net/API/launchpadlib";
     license = licenses.lgpl3Only;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/python-modules/lazr-restfulclient/default.nix b/pkgs/development/python-modules/lazr-restfulclient/default.nix
index 99887e4ba8d1d..b8e46b8d1b267 100644
--- a/pkgs/development/python-modules/lazr-restfulclient/default.nix
+++ b/pkgs/development/python-modules/lazr-restfulclient/default.nix
@@ -37,6 +37,6 @@ buildPythonPackage rec {
     description = "A programmable client library that takes advantage of the commonalities among";
     homepage = "https://launchpad.net/lazr.restfulclient";
     license = licenses.lgpl3;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/python-modules/lazr-uri/default.nix b/pkgs/development/python-modules/lazr-uri/default.nix
index 4ba3b5d1cdcd1..604086ebcaf34 100644
--- a/pkgs/development/python-modules/lazr-uri/default.nix
+++ b/pkgs/development/python-modules/lazr-uri/default.nix
@@ -22,6 +22,6 @@ buildPythonPackage rec {
     description = "A self-contained, easily reusable library for parsing, manipulating";
     homepage = "https://launchpad.net/lazr.uri";
     license = licenses.lgpl3;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/python-modules/levenshtein/default.nix b/pkgs/development/python-modules/levenshtein/default.nix
index 453ec1be90520..a7913fd5b0970 100644
--- a/pkgs/development/python-modules/levenshtein/default.nix
+++ b/pkgs/development/python-modules/levenshtein/default.nix
@@ -1,19 +1,20 @@
-{ lib
-, stdenv
-, buildPythonPackage
-, cmake
-, cython
-, fetchFromGitHub
-, pytestCheckHook
-, pythonOlder
-, rapidfuzz
-, rapidfuzz-cpp
-, scikit-build
+{
+  lib,
+  stdenv,
+  buildPythonPackage,
+  cmake,
+  cython,
+  fetchFromGitHub,
+  pytestCheckHook,
+  pythonOlder,
+  rapidfuzz,
+  rapidfuzz-cpp,
+  scikit-build,
 }:
 
 buildPythonPackage rec {
   pname = "levenshtein";
-  version = "0.25.0";
+  version = "0.25.1";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -22,8 +23,8 @@ buildPythonPackage rec {
     owner = "maxbachmann";
     repo = "Levenshtein";
     rev = "refs/tags/v${version}";
-    hash = "sha256-MkzIwTZU8hqPDOlfN4qADCKjGJIQrNhhOmVRAnAfNK0=";
-    fetchSubmodules = true; ## for vendored `rapidfuzz-cpp`
+    hash = "sha256-ye2XQL/ZQPlA4dy3tlr03WyGhfl7SaOXMt10cWHnW5o=";
+    fetchSubmodules = true; # # for vendored `rapidfuzz-cpp`
   };
 
   nativeBuildInputs = [
@@ -34,25 +35,19 @@ buildPythonPackage rec {
 
   dontUseCmakeConfigure = true;
 
-  buildInputs = [
-    rapidfuzz-cpp
-  ];
+  buildInputs = [ rapidfuzz-cpp ];
 
-  env.NIX_CFLAGS_COMPILE = toString (lib.optionals (stdenv.cc.isClang && stdenv.isDarwin) [
-    "-fno-lto"  # work around https://github.com/NixOS/nixpkgs/issues/19098
-  ]);
+  env.NIX_CFLAGS_COMPILE = toString (
+    lib.optionals (stdenv.cc.isClang && stdenv.isDarwin) [
+      "-fno-lto" # work around https://github.com/NixOS/nixpkgs/issues/19098
+    ]
+  );
 
-  propagatedBuildInputs = [
-    rapidfuzz
-  ];
+  dependencies = [ rapidfuzz ];
 
-  nativeCheckInputs = [
-    pytestCheckHook
-  ];
+  nativeCheckInputs = [ pytestCheckHook ];
 
-  pythonImportsCheck = [
-    "Levenshtein"
-  ];
+  pythonImportsCheck = [ "Levenshtein" ];
 
   meta = with lib; {
     description = "Functions for fast computation of Levenshtein distance and string similarity";
diff --git a/pkgs/development/python-modules/libmambapy/default.nix b/pkgs/development/python-modules/libmambapy/default.nix
new file mode 100644
index 0000000000000..0466bebfe3099
--- /dev/null
+++ b/pkgs/development/python-modules/libmambapy/default.nix
@@ -0,0 +1,93 @@
+{
+  lib,
+  fetchFromGitHub,
+  pythonPackages,
+  buildPythonPackage,
+  cmake,
+  ninja,
+  libmamba,
+  pybind11,
+  setuptools,
+  fmt,
+  spdlog,
+  tl-expected,
+  nlohmann_json,
+  yaml-cpp,
+  reproc,
+  libsolv,
+  curl,
+  zstd,
+  bzip2,
+  wheel,
+}:
+buildPythonPackage rec {
+  pname = "libmambapy";
+  version = "1.5.7";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "mamba-org";
+    repo = "mamba";
+    rev = "${pname}-${version}";
+    hash = "sha256-HfmvLi9IBWlaGAn2Ej4Bnm4b3l19jEXwNl5IUkdVxi0=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    ninja
+  ];
+
+  buildInputs = [
+    (libmamba.override { python3Packages = pythonPackages; })
+    pybind11
+    fmt
+    spdlog
+    tl-expected
+    nlohmann_json
+    yaml-cpp
+    reproc
+    libsolv
+    curl
+    zstd
+    bzip2
+  ];
+
+  build-system = [
+    setuptools
+    wheel
+  ];
+
+  # patch needed to fix setuptools errors
+  # see these for reference
+  # https://stackoverflow.com/questions/72294299/multiple-top-level-packages-discovered-in-a-flat-layout
+  # https://github.com/pypa/setuptools/issues/3197#issuecomment-1078770109
+  postPatch = ''
+    substituteInPlace libmambapy/setup.py --replace-warn  "setuptools.setup()" "setuptools.setup(py_modules=[])"
+  '';
+
+  cmakeFlags = [
+    "-GNinja"
+    (lib.cmakeBool "BUILD_LIBMAMBAPY" true)
+  ];
+
+  buildPhase = ''
+    ninjaBuildPhase
+    cp -r libmambapy ../libmambapy
+    cd ../libmambapy
+    pypaBuildPhase
+  '';
+
+  pythonRemoveDeps = [ "scikit-build" ];
+
+  pythonImportsCheck = [
+    "libmambapy"
+    "libmambapy.bindings"
+  ];
+
+  meta = {
+    description = "The python library for the fast Cross-Platform Package Manager";
+    homepage = "https://github.com/mamba-org/mamba";
+    license = lib.licenses.bsd3;
+    maintainers = [ lib.maintainers.ericthemagician ];
+  };
+}
diff --git a/pkgs/development/python-modules/libpcap/default.nix b/pkgs/development/python-modules/libpcap/default.nix
index 2da09a58df910..54a1306594554 100644
--- a/pkgs/development/python-modules/libpcap/default.nix
+++ b/pkgs/development/python-modules/libpcap/default.nix
@@ -7,11 +7,12 @@
 , pkgsLibpcap
 , pkg-about
 , setuptools
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "libpcap";
-  version = "1.11.0b7";
+  version = "1.11.0b8";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +20,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    hash = "sha256-gEWFqmeOJTVHdjcSOxfVLZtrNSO3CTY1L2VcXOu7q7k=";
+    hash = "sha256-6XhEVOO2Z2rFZiMz4d32tTR+xUu1KdMdDjChmt2wsQo=";
   };
 
   nativeBuildInputs = [
@@ -29,7 +30,7 @@ buildPythonPackage rec {
   # tox is listed in build requirements but not actually used to build
   # keeping it as a requirement breaks the build unnecessarily
   postPatch = ''
-    sed  -i "/requires/s/, 'tox>=3.25.1'//"  pyproject.toml
+    sed -i "/requires/s/, 'tox>=[^']*'//" pyproject.toml
     cat <<EOF >src/libpcap/libpcap.cfg
     [libpcap]
     LIBPCAP = ${pkgsLibpcap}/lib/libpcap${stdenv.hostPlatform.extensions.sharedLibrary}
@@ -42,8 +43,15 @@ buildPythonPackage rec {
     pkg-about
   ];
 
-  # Project has tests, but I can't get them to run even outside of nix
-  doCheck = false;
+  preCheck = ''
+    pushd tests
+  '';
+  postCheck = ''
+    popd
+  '';
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
 
   pythonImportsCheck = [
     "libpcap"
@@ -61,6 +69,7 @@ buildPythonPackage rec {
       It is fully compliant implementation of the original C libpcap from 1.0.0 up to 1.9.0 API and the WinPcap’s 4.1.3 libpcap (1.0.0rel0b) API by implementing whole its functionality in a clean Python instead of C.
     '';
     homepage = "https://github.com/karpierz/libpcap/";
+    changelog = "https://github.com/karpierz/libpcap/blob/${version}/CHANGES.rst";
     license = licenses.bsd3;
     maintainers = teams.ororatech.members;
   };
diff --git a/pkgs/development/python-modules/line-profiler/default.nix b/pkgs/development/python-modules/line-profiler/default.nix
index f8a3c5378bb0c..73fa920139de6 100644
--- a/pkgs/development/python-modules/line-profiler/default.nix
+++ b/pkgs/development/python-modules/line-profiler/default.nix
@@ -60,6 +60,5 @@ buildPythonPackage rec {
     homepage = "https://github.com/pyutils/line_profiler";
     changelog = "https://github.com/pyutils/line_profiler/blob/v${version}/CHANGELOG.rst";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ fridh ];
   };
 }
diff --git a/pkgs/development/python-modules/litellm/default.nix b/pkgs/development/python-modules/litellm/default.nix
index 1d69fdd32aa1b..a4cb72860af82 100644
--- a/pkgs/development/python-modules/litellm/default.nix
+++ b/pkgs/development/python-modules/litellm/default.nix
@@ -33,7 +33,7 @@
 
 buildPythonPackage rec {
   pname = "litellm";
-  version = "1.35.15";
+  version = "1.35.26";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -42,7 +42,7 @@ buildPythonPackage rec {
     owner = "BerriAI";
     repo = "litellm";
     rev = "refs/tags/v${version}";
-    hash = "sha256-cjOUInHaGD+E31D3BbwfgeA4229drOm69ltjU4x9F9o=";
+    hash = "sha256-GJ7Gnt9LyKgiD0VvRP2wKeF3sOzDimVVIz2BRIKuAqg=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/llama-index-core/default.nix b/pkgs/development/python-modules/llama-index-core/default.nix
index ee75e7e6682f9..1b301ffb1452e 100644
--- a/pkgs/development/python-modules/llama-index-core/default.nix
+++ b/pkgs/development/python-modules/llama-index-core/default.nix
@@ -44,7 +44,7 @@ in
 
 buildPythonPackage rec {
   pname = "llama-index-core";
-  version = "0.10.30";
+  version = "0.10.32";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -53,7 +53,7 @@ buildPythonPackage rec {
     owner = "run-llama";
     repo = "llama_index";
     rev = "refs/tags/v${version}";
-    hash = "sha256-MM7LKZzKohtKJAdFGgORqvSVFhOscbECYkLrANc4aLk=";
+    hash = "sha256-p+ye8o+paA6L8f1DiiiFJufyEqRn+ERNBWuhkoWfZb8=";
   };
 
   sourceRoot = "${src.name}/${pname}";
diff --git a/pkgs/development/python-modules/llama-index-embeddings-openai/default.nix b/pkgs/development/python-modules/llama-index-embeddings-openai/default.nix
index d15b27e075cf9..22b2b9f675789 100644
--- a/pkgs/development/python-modules/llama-index-embeddings-openai/default.nix
+++ b/pkgs/development/python-modules/llama-index-embeddings-openai/default.nix
@@ -1,14 +1,15 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-, llama-index-core
-, poetry-core
-, pythonOlder
+{
+  lib,
+  buildPythonPackage,
+  fetchPypi,
+  llama-index-core,
+  poetry-core,
+  pythonOlder,
 }:
 
 buildPythonPackage rec {
   pname = "llama-index-embeddings-openai";
-  version = "0.1.8";
+  version = "0.1.9";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -16,23 +17,17 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "llama_index_embeddings_openai";
     inherit version;
-    hash = "sha256-quTOPsL+LLYE2URkaYLHFmOouZ7V+MNwgj7oLu9N3Ts=";
+    hash = "sha256-D9KSsvmgrUU0p5DWN0cmvIhYUxiAh+sBgWfc8jlkOSQ=";
   };
 
-  build-system = [
-    poetry-core
-  ];
+  build-system = [ poetry-core ];
 
-  dependencies = [
-    llama-index-core
-  ];
+  dependencies = [ llama-index-core ];
 
   # Tests are only available in the mono repo
   doCheck = false;
 
-  pythonImportsCheck = [
-    "llama_index.embeddings.openai"
-  ];
+  pythonImportsCheck = [ "llama_index.embeddings.openai" ];
 
   meta = with lib; {
     description = "LlamaIndex Embeddings Integration for OpenAI";
diff --git a/pkgs/development/python-modules/llama-index-indices-managed-llama-cloud/default.nix b/pkgs/development/python-modules/llama-index-indices-managed-llama-cloud/default.nix
index b0bc2e6f2d9e2..f6eb083b391b1 100644
--- a/pkgs/development/python-modules/llama-index-indices-managed-llama-cloud/default.nix
+++ b/pkgs/development/python-modules/llama-index-indices-managed-llama-cloud/default.nix
@@ -1,14 +1,15 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-, poetry-core
-, llama-index-core
-, pythonOlder
+{
+  lib,
+  buildPythonPackage,
+  fetchPypi,
+  poetry-core,
+  llama-index-core,
+  pythonOlder,
 }:
 
 buildPythonPackage rec {
   pname = "llama-index-indices-managed-llama-cloud";
-  version = "0.1.5";
+  version = "0.1.6";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -16,23 +17,17 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "llama_index_indices_managed_llama_cloud";
     inherit version;
-    hash = "sha256-R83enwa73dUI8O/PQd5CXoUXGsLI/ail+yqJZz4cjHE=";
+    hash = "sha256-dLOw6ev500jTBU+fwMZXAxrM65NRwxEWrY1aeuRyn1w=";
   };
 
-  build-system = [
-    poetry-core
-  ];
+  build-system = [ poetry-core ];
 
-  dependencies = [
-    llama-index-core
-  ];
+  dependencies = [ llama-index-core ];
 
   # Tests are only available in the mono repo
   doCheck = false;
 
-  pythonImportsCheck = [
-    "llama_index.indices.managed.llama_cloud"
-  ];
+  pythonImportsCheck = [ "llama_index.indices.managed.llama_cloud" ];
 
   meta = with lib; {
     description = "LlamaCloud Index and Retriever";
diff --git a/pkgs/development/python-modules/llama-index-program-openai/default.nix b/pkgs/development/python-modules/llama-index-program-openai/default.nix
index 70640d4a4bbe1..4f8ca5ae68c99 100644
--- a/pkgs/development/python-modules/llama-index-program-openai/default.nix
+++ b/pkgs/development/python-modules/llama-index-program-openai/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "llama-index-program-openai";
-  version = "0.1.5";
+  version = "0.1.6";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "llama_index_program_openai";
     inherit version;
-    hash = "sha256-wzqi0odq0P8fmip1XU59SRckCEfQF057LQuEdEmbtwA=";
+    hash = "sha256-xqSYDF6oJgiLKLTe4zZ+2yAiHm0F6w4FAZBJGQEx13I=";
   };
 
   pythonRelaxDeps = [
@@ -28,6 +28,9 @@ buildPythonPackage rec {
 
   build-system = [
     poetry-core
+  ];
+
+  nativeBuildInputs = [
     pythonRelaxDepsHook
   ];
 
diff --git a/pkgs/development/python-modules/llama-index-vector-stores-qdrant/default.nix b/pkgs/development/python-modules/llama-index-vector-stores-qdrant/default.nix
index 28d2785db2376..0f9459ac2d003 100644
--- a/pkgs/development/python-modules/llama-index-vector-stores-qdrant/default.nix
+++ b/pkgs/development/python-modules/llama-index-vector-stores-qdrant/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "llama-index-vector-stores-qdrant";
-  version = "0.2.5";
+  version = "0.2.8";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "llama_index_vector_stores_qdrant";
     inherit version;
-    hash = "sha256-5lkQ0AZ15qx5v0PaaYYNElNUfjxY1i2rOKTSPVq5H9Y=";
+    hash = "sha256-qeKV7jlBTujUEYMcPCS+PAD6xRlTBVi/DGJZ/MSN64A=";
   };
 
   build-system = [ poetry-core ];
diff --git a/pkgs/development/python-modules/llama-parse/default.nix b/pkgs/development/python-modules/llama-parse/default.nix
index 05a80dcd08c10..1f6183df9ae34 100644
--- a/pkgs/development/python-modules/llama-parse/default.nix
+++ b/pkgs/development/python-modules/llama-parse/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "llama-parse";
-  version = "0.4.1";
+  version = "0.4.2";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "llama_parse";
     inherit version;
-    hash = "sha256-1yOvhNah/JnrQxkV0hhl0gt22KJG26oSTR+WyVamRPc=";
+    hash = "sha256-+gTAlzCxAhVfZQXenPkZmMhtM0WB8PEll8XrR8pduFk=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/llamaindex-py-client/default.nix b/pkgs/development/python-modules/llamaindex-py-client/default.nix
index 46af937a382ce..65b897bfef390 100644
--- a/pkgs/development/python-modules/llamaindex-py-client/default.nix
+++ b/pkgs/development/python-modules/llamaindex-py-client/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "llamaindex-py-client";
-  version = "0.1.18";
+  version = "0.1.19";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "llamaindex_py_client";
     inherit version;
-    hash = "sha256-CR7kmpJZLjiUd3reElFsITcJP51kQaVJ9AZGGRfOm34=";
+    hash = "sha256-c/dHkruMCSuubcYmYnoJrBOgmfqNEPj8yD4XorMyzKc=";
   };
 
   build-system = [ poetry-core ];
diff --git a/pkgs/development/python-modules/llvmlite/default.nix b/pkgs/development/python-modules/llvmlite/default.nix
index 2184236130edb..fb4856989564d 100644
--- a/pkgs/development/python-modules/llvmlite/default.nix
+++ b/pkgs/development/python-modules/llvmlite/default.nix
@@ -61,6 +61,5 @@ buildPythonPackage rec {
     downloadPage = "https://github.com/numba/llvmlite";
     homepage = "http://llvmlite.pydata.org/";
     license = licenses.bsd2;
-    maintainers = with maintainers; [ fridh ];
   };
 }
diff --git a/pkgs/development/python-modules/localstack-ext/default.nix b/pkgs/development/python-modules/localstack-ext/default.nix
index 23423950c23a4..90e743f839e72 100644
--- a/pkgs/development/python-modules/localstack-ext/default.nix
+++ b/pkgs/development/python-modules/localstack-ext/default.nix
@@ -1,26 +1,14 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-
-# build-system
-, setuptools
-, plux
-
-# dependencies
-, cachetools
-, click
-, cryptography
 , dill
 , dnslib
 , dnspython
-, psutil
-, python-dotenv
-, pyyaml
+, plux
+, pyaes
+, python-jose
 , requests
-, rich
-, semver
-, stevedore
-, tailer
+, tabulate
 
 # Sensitive downstream dependencies
 , localstack
@@ -28,12 +16,12 @@
 
 buildPythonPackage rec {
   pname = "localstack-ext";
-  version = "3.2.0";
-  pyproject = true;
+  version = "2.3.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-53pbt7kNaYQRsLb+OI8gLwR3cBE18ZKLZmG4aP1/93E=";
+    hash = "sha256-Ex5ZPlteDaiyex90QumucVdTTbpp9uWiBrvw1kMr++8=";
   };
 
   postPatch = ''
@@ -50,27 +38,15 @@ buildPythonPackage rec {
       --replace "requests>=2.20.0,<2.26" "requests~=2.20"
   '';
 
-  nativeBuildInputs = [
-    plux
-    setuptools
-  ];
-
   propagatedBuildInputs = [
-    cachetools
-    click
-    cryptography
     dill
     dnslib
     dnspython
     plux
-    psutil
-    python-dotenv
-    pyyaml
-    rich
+    pyaes
+    python-jose
     requests
-    semver
-    stevedore
-    tailer
+    tabulate
   ];
 
   pythonImportsCheck = [ "localstack_ext" ];
diff --git a/pkgs/development/python-modules/localstack/default.nix b/pkgs/development/python-modules/localstack/default.nix
index 13a791482296c..6a408c9359205 100644
--- a/pkgs/development/python-modules/localstack/default.nix
+++ b/pkgs/development/python-modules/localstack/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, setuptools
 , apispec
 , boto3
 , cachetools
@@ -21,14 +20,14 @@
 
 buildPythonPackage rec {
   pname = "localstack";
-  version = "3.2.0";
-  pyproject = true;
+  version = "3.0.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "localstack";
     repo = "localstack";
     rev = "refs/tags/v${version}";
-    hash = "sha256-r0KRPtsLr6Pyn/va93reLdHHKtiOLB1uflAJ2L/uZmU=";
+    hash = "sha256-N/Mc1bubCcq38VxUqkO9LGG25pEetEyJ+VJMdg/7hrU=";
   };
 
   postPatch = ''
@@ -38,10 +37,6 @@ buildPythonPackage rec {
       --replace "boto3>=1.20,<1.25.0" "boto3~=1.20"
   '';
 
-  nativeBuildInputs = [
-    setuptools
-  ];
-
   propagatedBuildInputs = [
     apispec
     boto3
diff --git a/pkgs/development/python-modules/m2crypto/default.nix b/pkgs/development/python-modules/m2crypto/default.nix
index 48a4cba83ddb5..ae2e7b87ded1e 100644
--- a/pkgs/development/python-modules/m2crypto/default.nix
+++ b/pkgs/development/python-modules/m2crypto/default.nix
@@ -50,6 +50,6 @@ buildPythonPackage rec {
     homepage = "https://gitlab.com/m2crypto/m2crypto";
     changelog = "https://gitlab.com/m2crypto/m2crypto/-/blob/${version}/CHANGES";
     license = licenses.mit;
-    maintainers = with maintainers; [ andrew-d ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/macfsevents/default.nix b/pkgs/development/python-modules/macfsevents/default.nix
index b999706dafdef..db0750e1957a5 100644
--- a/pkgs/development/python-modules/macfsevents/default.nix
+++ b/pkgs/development/python-modules/macfsevents/default.nix
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     homepage = "https://github.com/malthe/macfsevents";
     changelog = "https://github.com/malthe/macfsevents/blob/${version}/CHANGES.rst";
     license = licenses.bsd2;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     platforms = platforms.darwin;
   };
 }
diff --git a/pkgs/development/python-modules/maestral/default.nix b/pkgs/development/python-modules/maestral/default.nix
index 4a733bb60a6f8..5e658bdea69f6 100644
--- a/pkgs/development/python-modules/maestral/default.nix
+++ b/pkgs/development/python-modules/maestral/default.nix
@@ -28,7 +28,7 @@
 
 buildPythonPackage rec {
   pname = "maestral";
-  version = "1.9.2";
+  version = "1.9.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -37,7 +37,7 @@ buildPythonPackage rec {
     owner = "SamSchott";
     repo = "maestral";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Bb0yE2OKdlZd6ZsTEWOD+hMuV41fZanesY49L+v4BBE=";
+    hash = "sha256-h7RDaCVICi3wl6/b1s01cINhFirDOpOXoxTPZIBH3jE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/mailchecker/default.nix b/pkgs/development/python-modules/mailchecker/default.nix
index 00bb481c169bd..1f038308a76b9 100644
--- a/pkgs/development/python-modules/mailchecker/default.nix
+++ b/pkgs/development/python-modules/mailchecker/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "mailchecker";
-  version = "6.0.3";
+  version = "6.0.4";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-QRysmtKo5KXXAVcyQx2WwuwySUP8vAN/gqXWmgoOPmo=";
+    hash = "sha256-XtZOk3KgIzu9vwI0HnoklGQVZ42KVOPQBXxJ1fpfJjA=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/manim-slides/default.nix b/pkgs/development/python-modules/manim-slides/default.nix
index ec1811d707d7f..8f89346b81b8f 100644
--- a/pkgs/development/python-modules/manim-slides/default.nix
+++ b/pkgs/development/python-modules/manim-slides/default.nix
@@ -3,6 +3,8 @@
 , fetchFromGitHub
 , pythonOlder
 
+, hatchling
+, pythonRelaxDepsHook
 , manim
 , ffmpeg
 
@@ -27,17 +29,13 @@
   # Optional dependencies
 , ipython
 
-  # Hooks
-, pdm-backend
-, pythonRelaxDepsHook
-
   # As Module or application?
 , withGui ? false
 }:
 buildPythonPackage rec {
   pname = "manim-slides";
-  format = "pyproject";
-  version = "5.1.3";
+  version = "5.1.5";
+  pyproject = true;
 
   disabled = pythonOlder "3.9";
 
@@ -45,16 +43,19 @@ buildPythonPackage rec {
     owner = "jeertmans";
     repo = "manim-slides";
     rev = "refs/tags/v${version}";
-    hash = "sha256-WZR95swapT2Fbu6mbuHLjMu3Okq/wKFabzN7xpZw0/g=";
+    hash = "sha256-YOveWGukizXvEUOhId7UDJema64ypbg7w06JzrTsKjw=";
   };
 
-  nativeBuildInputs = [ pdm-backend pythonRelaxDepsHook ];
+  build-system = [
+    hatchling
+    pythonRelaxDepsHook
+  ];
 
   pythonRemoveDeps = [ "opencv-python" ];
 
   pythonRelaxDeps = [ "rtoml" "qtpy" ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     av
     click
     click-default-group
diff --git a/pkgs/development/python-modules/marimo/default.nix b/pkgs/development/python-modules/marimo/default.nix
index aeb881754345b..47ee0ed04f8c2 100644
--- a/pkgs/development/python-modules/marimo/default.nix
+++ b/pkgs/development/python-modules/marimo/default.nix
@@ -19,14 +19,14 @@
 
 buildPythonPackage rec {
   pname = "marimo";
-  version = "0.4.2";
+  version = "0.4.7";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-wFDx90zTaPF9gHLZnWBJQlMBuz8iZQRHkcS8BAxcZRA=";
+    hash = "sha256-shB7TIllXRja0RNLu+IyvFBQViee4Ypj5KGWh3AlMB4=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/mdformat-mkdocs/default.nix b/pkgs/development/python-modules/mdformat-mkdocs/default.nix
index f4f421399850a..611c5b11dc0c6 100644
--- a/pkgs/development/python-modules/mdformat-mkdocs/default.nix
+++ b/pkgs/development/python-modules/mdformat-mkdocs/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "mdformat-mkdocs";
-  version = "2.0.9";
+  version = "2.0.10";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "KyleKing";
     repo = "mdformat-mkdocs";
     rev = "refs/tags/v${version}";
-    hash = "sha256-50LHGQSR6foL3SqOK/pGQqOcuUgOE9bI1rt/RoIrVsA=";
+    hash = "sha256-N1VU9bOdVENIX6QsFa0jeVugmXjl3gNkVPS/m8gEB2Q=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/merge3/default.nix b/pkgs/development/python-modules/merge3/default.nix
index 906c00911737d..838bfc6a32c21 100644
--- a/pkgs/development/python-modules/merge3/default.nix
+++ b/pkgs/development/python-modules/merge3/default.nix
@@ -31,6 +31,6 @@ buildPythonPackage rec {
     mainProgram = "merge3";
     homepage = "https://github.com/breezy-team/merge3";
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/meross-iot/default.nix b/pkgs/development/python-modules/meross-iot/default.nix
index d77237c172f4b..1a6b691345620 100644
--- a/pkgs/development/python-modules/meross-iot/default.nix
+++ b/pkgs/development/python-modules/meross-iot/default.nix
@@ -1,18 +1,19 @@
-{ lib
-, aiohttp
-, buildPythonPackage
-, fetchFromGitHub
-, paho-mqtt
-, pytestCheckHook
-, pythonOlder
-, requests
-, retrying
-, setuptools
+{
+  lib,
+  aiohttp,
+  buildPythonPackage,
+  fetchFromGitHub,
+  paho-mqtt,
+  pytestCheckHook,
+  pythonOlder,
+  requests,
+  retrying,
+  setuptools,
 }:
 
 buildPythonPackage rec {
   pname = "meross-iot";
-  version = "0.4.6.2";
+  version = "0.4.7.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -21,14 +22,12 @@ buildPythonPackage rec {
     owner = "albertogeniola";
     repo = "MerossIot";
     rev = "refs/tags/${version}";
-    hash = "sha256-fekiN4AHb/RNEMibQqV7By0FAyTcERZmmi0+qCG4NzQ=";
+    hash = "sha256-Zf392XMhSrCn5KM761YXzinD46Et4itva7USsFNRgPI=";
   };
 
-  nativeBuildInputs = [
-    setuptools
-  ];
+  build-system = [ setuptools ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     aiohttp
     paho-mqtt
     requests
@@ -38,9 +37,7 @@ buildPythonPackage rec {
   # Test require network access
   doCheck = false;
 
-  pythonImportsCheck = [
-    "meross_iot"
-  ];
+  pythonImportsCheck = [ "meross_iot" ];
 
   meta = with lib; {
     description = "Python library to interact with Meross devices";
diff --git a/pkgs/development/python-modules/meson-python/default.nix b/pkgs/development/python-modules/meson-python/default.nix
index deaab05a6574e..01912c9060945 100644
--- a/pkgs/development/python-modules/meson-python/default.nix
+++ b/pkgs/development/python-modules/meson-python/default.nix
@@ -48,6 +48,6 @@ buildPythonPackage rec {
     description = "Meson Python build backend (PEP 517)";
     homepage = "https://github.com/mesonbuild/meson-python";
     license = [ lib.licenses.mit ];
-    maintainers = with lib.maintainers; [ fridh doronbehar ];
+    maintainers = with lib.maintainers; [ doronbehar ];
   };
 }
diff --git a/pkgs/development/python-modules/mesonpep517/default.nix b/pkgs/development/python-modules/mesonpep517/default.nix
index 58ddc57bfe7eb..237f7f4876ec4 100644
--- a/pkgs/development/python-modules/mesonpep517/default.nix
+++ b/pkgs/development/python-modules/mesonpep517/default.nix
@@ -41,6 +41,5 @@ buildPythonPackage rec {
     description = "Create pep517 compliant packages from the meson build system";
     homepage = "https://gitlab.com/thiblahute/mesonpep517";
     license = lib.licenses.asl20;
-    maintainers = [ lib.maintainers.fridh ];
   };
 }
diff --git a/pkgs/development/python-modules/mike/default.nix b/pkgs/development/python-modules/mike/default.nix
index 9a48dca546993..da31390805968 100644
--- a/pkgs/development/python-modules/mike/default.nix
+++ b/pkgs/development/python-modules/mike/default.nix
@@ -56,6 +56,6 @@ buildPythonPackage rec {
     mainProgram = "mike";
     homepage = "https://github.com/jimporter/mike";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/minio/default.nix b/pkgs/development/python-modules/minio/default.nix
index e86f1ae1d7bc4..de84597491c8c 100644
--- a/pkgs/development/python-modules/minio/default.nix
+++ b/pkgs/development/python-modules/minio/default.nix
@@ -21,7 +21,7 @@
 
 buildPythonPackage rec {
   pname = "minio";
-  version = "7.2.5";
+  version = "7.2.6";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -30,7 +30,7 @@ buildPythonPackage rec {
     owner = "minio";
     repo = "minio-py";
     rev = "refs/tags/${version}";
-    hash = "sha256-Xb6XaGI/bwkhp6YKgoqi5Tbs74pSXc6aJpWVUgG5uR4=";
+    hash = "sha256-zK+D2DNgh1cASdA2gstNW0ODUu7Dn6vMY01mcrdSSo0=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/mkdocs-simple-hooks/default.nix b/pkgs/development/python-modules/mkdocs-simple-hooks/default.nix
deleted file mode 100644
index c623207d1dd82..0000000000000
--- a/pkgs/development/python-modules/mkdocs-simple-hooks/default.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ lib
-, buildPythonPackage
-, isPy3k
-, fetchFromGitHub
-, mkdocs
-, pytestCheckHook
-}:
-
-buildPythonPackage rec {
-  pname = "mkdocs-simple-hooks";
-  version = "0.1.5";
-  format = "setuptools";
-
-  disabled = !isPy3k;
-
-  src = fetchFromGitHub {
-    owner = "aklajnert";
-    repo = "mkdocs-simple-hooks";
-    rev = "v${version}";
-    hash = "sha256-N6xZjCREjJlhR6f8m65WJswUQv/TTdTbk670+C46UWQ=";
-  };
-
-  propagatedBuildInputs = [
-    mkdocs
-  ];
-
-  nativeCheckInputs = [ pytestCheckHook ];
-
-  pytestFlagsArray = [ "tests.py" ];
-
-  # disable failing tests
-  disabledTests = [
-    "test_no_hooks_defined"
-    "test_no_attribute"
-  ];
-
-  meta = with lib; {
-    description = "Define your own hooks for mkdocs, without having to create a new package.";
-    homepage = "https://github.com/aklajnert/mkdocs-simple-hooks";
-    license = licenses.mit;
-    maintainers = with maintainers; [ arjan-s ];
-  };
-}
diff --git a/pkgs/development/python-modules/ml-dtypes/default.nix b/pkgs/development/python-modules/ml-dtypes/default.nix
index 0160b24a5699f..b58887aea1d59 100644
--- a/pkgs/development/python-modules/ml-dtypes/default.nix
+++ b/pkgs/development/python-modules/ml-dtypes/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "ml-dtypes";
-  version = "0.3.2";
+  version = "0.4.0";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "jax-ml";
     repo = "ml_dtypes";
     rev = "refs/tags/v${version}";
-    hash = "sha256-epWunA5FULmCuTABl3uckFuNaSEpqJxtp0n0loCb6Q0=";
+    hash = "sha256-3qZ1lS1IdSXNLRNE9tyuO9qauVBDlECZvmmwaOffD30=";
     # Since this upstream patch (https://github.com/jax-ml/ml_dtypes/commit/1bfd097e794413b0d465fa34f2eff0f3828ff521),
     # the attempts to use the nixpkgs packaged eigen dependency have failed.
     # Hence, we rely on the bundled eigen library.
@@ -31,6 +31,7 @@ buildPythonPackage rec {
       --replace "numpy~=1.21.2" "numpy" \
       --replace "numpy~=1.23.3" "numpy" \
       --replace "numpy~=1.26.0" "numpy" \
+      --replace "numpy==2.0.0rc1" "numpy" \
       --replace "setuptools~=68.1.0" "setuptools"
   '';
 
diff --git a/pkgs/development/python-modules/mlflow/default.nix b/pkgs/development/python-modules/mlflow/default.nix
index 5d8c91d8bc08a..371db9450996b 100644
--- a/pkgs/development/python-modules/mlflow/default.nix
+++ b/pkgs/development/python-modules/mlflow/default.nix
@@ -38,14 +38,14 @@
 
 buildPythonPackage rec {
   pname = "mlflow";
-  version = "2.11.3";
+  version = "2.12.1";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Yht+MR6JC3lxnC53dyhtjgjTjdBNWrCAlmmQvUpV/rs=";
+    hash = "sha256-qpKuuyN5qcVITL6QHN93nVQIrJamQeSx+KLR/5dNt8k=";
   };
 
   # Remove currently broken dependency `shap`, a model explainability package.
diff --git a/pkgs/development/python-modules/mmengine/default.nix b/pkgs/development/python-modules/mmengine/default.nix
index 7187fe809875b..89992981ea2f8 100644
--- a/pkgs/development/python-modules/mmengine/default.nix
+++ b/pkgs/development/python-modules/mmengine/default.nix
@@ -15,6 +15,7 @@
   pyyaml,
   rich,
   setuptools,
+  stdenv,
   termcolor,
   torch,
   yapf,
@@ -22,7 +23,7 @@
 
 buildPythonPackage rec {
   pname = "mmengine";
-  version = "0.10.3";
+  version = "0.10.4";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -31,7 +32,7 @@ buildPythonPackage rec {
     owner = "open-mmlab";
     repo = "mmengine";
     rev = "refs/tags/v${version}";
-    hash = "sha256-fKtPDdeKB3vX2mD+Tsicq8KOkPDSACzKK1XLyugdPQ4=";
+    hash = "sha256-+YDtYHp3BwKvzhmHC6hAZ3Qtc9uRZMo/TpWqdpm2hn0=";
   };
 
   build-system = [ setuptools ];
@@ -99,16 +100,12 @@ buildPythonPackage rec {
     "test_close"
   ];
 
-  pytestFlagsArray = [
-    "-W"
-    "ignore::pytest.PytestRemovedIn8Warning"
-  ];
-
   meta = with lib; {
     description = "Library for training deep learning models based on PyTorch";
     homepage = "https://github.com/open-mmlab/mmengine";
     changelog = "https://github.com/open-mmlab/mmengine/releases/tag/v${version}";
     license = with licenses; [ asl20 ];
     maintainers = with maintainers; [ rxiao ];
+    broken = stdenv.isDarwin || (stdenv.isLinux && stdenv.isAarch64);
   };
 }
diff --git a/pkgs/development/python-modules/mockito/default.nix b/pkgs/development/python-modules/mockito/default.nix
index e4f67df674013..91c03c9cb6db7 100644
--- a/pkgs/development/python-modules/mockito/default.nix
+++ b/pkgs/development/python-modules/mockito/default.nix
@@ -35,6 +35,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/kaste/mockito-python";
     changelog = "https://github.com/kaste/mockito-python/blob/${version}/CHANGES.txt";
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/python-modules/model-bakery/default.nix b/pkgs/development/python-modules/model-bakery/default.nix
index a5b38b525f7d2..82b91dd10da51 100644
--- a/pkgs/development/python-modules/model-bakery/default.nix
+++ b/pkgs/development/python-modules/model-bakery/default.nix
@@ -1,17 +1,18 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, hatchling
-, django
-, pytestCheckHook
-, pythonOlder
-, pytest-django
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  hatchling,
+  django,
+  pytestCheckHook,
+  pythonOlder,
+  pytest-django,
 }:
 
 buildPythonPackage rec {
   pname = "model-bakery";
-  version = "1.17.0";
-  format = "pyproject";
+  version = "1.18.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
@@ -19,25 +20,19 @@ buildPythonPackage rec {
     owner = "model-bakers";
     repo = "model_bakery";
     rev = "refs/tags/${version}";
-    hash = "sha256-o3BI2lMwctR9tiGmY07dAOQUfv9K4rWkc/xI6uHnVfs=";
+    hash = "sha256-mf6NV7r/9kDCRlszx/QGtfEsC1O/SATd6+EX+w7ptEQ=";
   };
 
-  nativeBuildInputs = [
-    hatchling
-  ];
+  build-system = [ hatchling ];
 
-  propagatedBuildInputs = [
-    django
-  ];
+  dependencies = [ django ];
 
   nativeCheckInputs = [
     pytest-django
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [
-    "model_bakery"
-  ];
+  pythonImportsCheck = [ "model_bakery" ];
 
   meta = with lib; {
     description = "Object factory for Django";
diff --git a/pkgs/development/python-modules/msgraph-sdk/default.nix b/pkgs/development/python-modules/msgraph-sdk/default.nix
index 93b3b99acc329..7dc4e3fd062f2 100644
--- a/pkgs/development/python-modules/msgraph-sdk/default.nix
+++ b/pkgs/development/python-modules/msgraph-sdk/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "msgraph-sdk";
-  version = "1.3.0";
+  version = "1.2.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "microsoftgraph";
     repo = "msgraph-sdk-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-RdjACxEB4w1Sbdf8lPHd12XcEMXBqaa84mF9XvavyHo=";
+    hash = "sha256-UaGdusPGWlF7gTzpCq9WrF/evdDSK5srrkH8/Vz9O8M=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/multipledispatch/default.nix b/pkgs/development/python-modules/multipledispatch/default.nix
index 1821bb864bc46..2fab50a63f042 100644
--- a/pkgs/development/python-modules/multipledispatch/default.nix
+++ b/pkgs/development/python-modules/multipledispatch/default.nix
@@ -23,6 +23,5 @@ buildPythonPackage rec {
     homepage = "https://github.com/mrocklin/multipledispatch/";
     description = "A relatively sane approach to multiple dispatch in Python";
     license = lib.licenses.bsd3;
-    maintainers = with lib.maintainers; [ fridh ];
   };
 }
diff --git a/pkgs/development/python-modules/myst-nb/default.nix b/pkgs/development/python-modules/myst-nb/default.nix
index 644724c4126f6..8f23ad5dee84b 100644
--- a/pkgs/development/python-modules/myst-nb/default.nix
+++ b/pkgs/development/python-modules/myst-nb/default.nix
@@ -57,6 +57,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/executablebooks/MyST-NB";
     changelog = "https://github.com/executablebooks/MyST-NB/raw/v${version}/CHANGELOG.md";
     license = licenses.mit;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/nanobind/default.nix b/pkgs/development/python-modules/nanobind/default.nix
new file mode 100644
index 0000000000000..27460b65a8dba
--- /dev/null
+++ b/pkgs/development/python-modules/nanobind/default.nix
@@ -0,0 +1,72 @@
+{
+  lib,
+  buildPythonPackage,
+  pythonOlder,
+  fetchFromGitHub,
+  cmake,
+  eigen,
+  ninja,
+  scikit-build,
+  pytestCheckHook,
+  numpy,
+  scipy,
+  torch,
+  jax,
+  jaxlib,
+  tensorflow,
+  setuptools,
+}:
+buildPythonPackage rec {
+  pname = "nanobind";
+  version = "1.9.2";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "wjakob";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-6swDqw7sEYOawQbNWD8VfSQoi+9wjhOhOOwPPkahDas=";
+    fetchSubmodules = true;
+  };
+
+  disabled = pythonOlder "3.8";
+
+  nativeBuildInputs = [
+    cmake
+    ninja
+    scikit-build
+    setuptools
+  ];
+  buildInputs = [ eigen ];
+  dontUseCmakeBuildDir = true;
+
+  preCheck = ''
+    # build tests
+    make -j $NIX_BUILD_CORES
+  '';
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    numpy
+    scipy
+    torch
+    tensorflow
+    jax
+    jaxlib
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/wjakob/nanobind";
+    changelog = "https://github.com/wjakob/nanobind/blob/${src.rev}/docs/changelog.rst";
+    description = "Tiny and efficient C++/Python bindings";
+    longDescription = ''
+      nanobind is a small binding library that exposes C++ types in Python and
+      vice versa. It is reminiscent of Boost.Python and pybind11 and uses
+      near-identical syntax. In contrast to these existing tools, nanobind is
+      more efficient: bindings compile in a shorter amount of time, produce
+      smaller binaries, and have better runtime performance.
+    '';
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ parras ];
+  };
+}
diff --git a/pkgs/development/python-modules/nbdev/default.nix b/pkgs/development/python-modules/nbdev/default.nix
index 8a298ec19f67f..ee82753ae822e 100644
--- a/pkgs/development/python-modules/nbdev/default.nix
+++ b/pkgs/development/python-modules/nbdev/default.nix
@@ -1,40 +1,50 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, fastprogress
+, pythonRelaxDepsHook
+, setuptools
+, ipywidgets
 , fastcore
-, asttokens
 , astunparse
 , watchdog
 , execnb
 , ghapi
 , pyyaml
-, quarto
 , pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "nbdev";
-  version = "2.3.13";
-  format = "setuptools";
+  version = "2.3.14";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Umkf3CcRRSS+pK3UKeTg+Ru3TW+qHNoQ2F6nUk8jQUU=";
+    hash = "sha256-9Tacr4mWmjXspKKCkFDWYeT7KkBh4/3f6UOkfj0/leg=";
   };
 
-  propagatedBuildInputs = [
-    fastprogress
-    fastcore
-    asttokens
+  nativeBuildInputs = [
+    pythonRelaxDepsHook
+  ];
+
+  pythonRelaxDeps = [
+    "ipywidgets"
+  ];
+
+  build-system = [
+    setuptools
+  ];
+
+  dependencies = [
     astunparse
-    watchdog
     execnb
+    fastcore
     ghapi
+    ipywidgets
     pyyaml
-    quarto
+    watchdog
   ];
 
   # no real tests
diff --git a/pkgs/development/python-modules/nbformat/default.nix b/pkgs/development/python-modules/nbformat/default.nix
index 588c5823ec34b..9cf08897935e5 100644
--- a/pkgs/development/python-modules/nbformat/default.nix
+++ b/pkgs/development/python-modules/nbformat/default.nix
@@ -54,6 +54,6 @@ buildPythonPackage rec {
     mainProgram = "jupyter-trust";
     homepage = "https://jupyter.org/";
     license = lib.licenses.bsd3;
-    maintainers = with lib.maintainers; [ fridh globin ];
+    maintainers = with lib.maintainers; [ globin ];
   };
 }
diff --git a/pkgs/development/python-modules/nebula3-python/default.nix b/pkgs/development/python-modules/nebula3-python/default.nix
index c352f732ef203..6d4f6f43a8ee1 100644
--- a/pkgs/development/python-modules/nebula3-python/default.nix
+++ b/pkgs/development/python-modules/nebula3-python/default.nix
@@ -1,18 +1,20 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, pdm-backend
-, future
-, httplib2
-, pythonOlder
-, pytz
-, pytestCheckHook
-, six
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  future,
+  httplib2,
+  httpx,
+  pdm-backend,
+  pytestCheckHook,
+  pythonOlder,
+  pytz,
+  six,
 }:
 
 buildPythonPackage rec {
   pname = "nebula3-python";
-  version = "3.5.0";
+  version = "3.5.1";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -21,27 +23,22 @@ buildPythonPackage rec {
     owner = "vesoft-inc";
     repo = "nebula-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-T9lZVYov6tQ8QRM2QtOGyolHk3O5FSb3xq70nS2Rr6c=";
+    hash = "sha256-9JpdCR8ewOJcvJ3fAg/AcMKtSz7NBIqWAuG9cofv0Ak=";
   };
 
-  build-system = [
-    pdm-backend
-  ];
+  build-system = [ pdm-backend ];
 
   dependencies = [
     future
     httplib2
+    httpx
     pytz
     six
-  ];
+  ] ++ httpx.optional-dependencies.http2;
 
-  nativeCheckInputs = [
-    pytestCheckHook
-  ];
+  nativeCheckInputs = [ pytestCheckHook ];
 
-  pythonImportsCheck = [
-    "nebula3"
-  ];
+  pythonImportsCheck = [ "nebula3" ];
 
   disabledTestPaths = [
     # Tests require a running thrift instance
diff --git a/pkgs/development/python-modules/neo4j/default.nix b/pkgs/development/python-modules/neo4j/default.nix
index cbe5d8f54fa66..bb1541fe72345 100644
--- a/pkgs/development/python-modules/neo4j/default.nix
+++ b/pkgs/development/python-modules/neo4j/default.nix
@@ -1,18 +1,19 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, numpy
-, pandas
-, pyarrow
-, pythonOlder
-, pytz
-, setuptools
-, tomlkit
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  numpy,
+  pandas,
+  pyarrow,
+  pythonOlder,
+  pytz,
+  setuptools,
+  tomlkit,
 }:
 
 buildPythonPackage rec {
   pname = "neo4j";
-  version = "5.19.0";
+  version = "5.20.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -21,7 +22,7 @@ buildPythonPackage rec {
     owner = "neo4j";
     repo = "neo4j-python-driver";
     rev = "refs/tags/${version}";
-    hash = "sha256-bI6LIzh2+Kf6IIWEt1vT0E821lAPy/Nj2hkeAnRfV4M=";
+    hash = "sha256-ebWEtsgVj2NLYAKe8z6ge6TvnPmXh0Mqkx0b+ZcOePY=";
   };
 
   postPatch = ''
@@ -32,9 +33,7 @@ buildPythonPackage rec {
       --replace-fail '#readme = "README.rst"' 'version = "${version}"'
   '';
 
-  build-system = [
-    setuptools
-  ];
+  build-system = [ setuptools ];
 
   dependencies = [
     pytz
@@ -42,24 +41,18 @@ buildPythonPackage rec {
   ];
 
   passthru.optional-dependencies = {
-    numpy = [
-      numpy
-    ];
+    numpy = [ numpy ];
     pandas = [
       numpy
       pandas
     ];
-    pyarrow = [
-      pyarrow
-    ];
+    pyarrow = [ pyarrow ];
   };
 
   # Missing dependencies
   doCheck = false;
 
-  pythonImportsCheck = [
-    "neo4j"
-  ];
+  pythonImportsCheck = [ "neo4j" ];
 
   meta = with lib; {
     description = "Neo4j Bolt Driver for Python";
diff --git a/pkgs/development/python-modules/nestedtext/default.nix b/pkgs/development/python-modules/nestedtext/default.nix
index 185fffba413a8..d0a925859d03c 100644
--- a/pkgs/development/python-modules/nestedtext/default.nix
+++ b/pkgs/development/python-modules/nestedtext/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "nestedtext";
-  version = "3.6";
+  version = "3.7";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "KenKundert";
     repo = "nestedtext";
     rev = "refs/tags/v${version}";
-    hash = "sha256-SHY/MTmYbNh3azkyvwEtuvT+V7YzfLi2B3FvBzv6Omo=";
+    hash = "sha256-lNqSmEmzuRGdXs/4mwKSh7yDGHnAykpIDIR+abbLCns=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/nidaqmx/default.nix b/pkgs/development/python-modules/nidaqmx/default.nix
index 2cbc5c4909575..7c010a224340d 100644
--- a/pkgs/development/python-modules/nidaqmx/default.nix
+++ b/pkgs/development/python-modules/nidaqmx/default.nix
@@ -55,6 +55,5 @@ buildPythonPackage rec {
   meta = {
     description = "API for interacting with the NI-DAQmx driver";
     license = [ lib.licenses.mit ];
-    maintainers = [ lib.maintainers.fridh ];
   };
 }
diff --git a/pkgs/development/python-modules/nose-exclude/default.nix b/pkgs/development/python-modules/nose-exclude/default.nix
index f584779848893..38d6cd3bb78ea 100644
--- a/pkgs/development/python-modules/nose-exclude/default.nix
+++ b/pkgs/development/python-modules/nose-exclude/default.nix
@@ -24,6 +24,5 @@ buildPythonPackage rec {
     license = lib.licenses.lgpl21;
     description = "Exclude specific directories from nosetests runs";
     homepage = "https://github.com/kgrandis/nose-exclude";
-    maintainers = with lib.maintainers; [ fridh ];
   };
 }
diff --git a/pkgs/development/python-modules/numba/default.nix b/pkgs/development/python-modules/numba/default.nix
index c0b63c71e8a8b..bc199e2c6edc7 100644
--- a/pkgs/development/python-modules/numba/default.nix
+++ b/pkgs/development/python-modules/numba/default.nix
@@ -139,6 +139,5 @@ in buildPythonPackage rec {
     homepage = "https://numba.pydata.org/";
     license = licenses.bsd2;
     mainProgram = "numba";
-    maintainers = with maintainers; [ fridh ];
   };
 }
diff --git a/pkgs/development/python-modules/numpy/default.nix b/pkgs/development/python-modules/numpy/default.nix
index 7aee840ab9d3e..4299c6d4dc63e 100644
--- a/pkgs/development/python-modules/numpy/default.nix
+++ b/pkgs/development/python-modules/numpy/default.nix
@@ -186,6 +186,5 @@ in buildPythonPackage rec {
     mainProgram = "f2py";
     homepage = "https://numpy.org/";
     license = lib.licenses.bsd3;
-    maintainers = with lib.maintainers; [ fridh ];
   };
 }
diff --git a/pkgs/development/python-modules/nvchecker/default.nix b/pkgs/development/python-modules/nvchecker/default.nix
index 81ba9863d411d..a9dde5d6626ad 100644
--- a/pkgs/development/python-modules/nvchecker/default.nix
+++ b/pkgs/development/python-modules/nvchecker/default.nix
@@ -86,6 +86,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/lilydjwg/nvchecker";
     changelog = "https://github.com/lilydjwg/nvchecker/releases/tag/v${version}";
     license = licenses.mit;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/nvidia-ml-py/default.nix b/pkgs/development/python-modules/nvidia-ml-py/default.nix
index b5c8f5a53d689..b88947b15c70c 100644
--- a/pkgs/development/python-modules/nvidia-ml-py/default.nix
+++ b/pkgs/development/python-modules/nvidia-ml-py/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "nvidia-ml-py";
-  version = "12.535.133";
+  version = "12.550.52";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
     extension = "tar.gz";
-    hash = "sha256-sVWa8NV90glVv1jQWv/3sWbd1ElH6zBRyZBWOHmesdw=";
+    hash = "sha256-3+3XFDNccuZaMshun12xzUlSbUTW2McoCdmWlY9zTAc=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/oci/default.nix b/pkgs/development/python-modules/oci/default.nix
index 6ef9bbd0d512c..b1bb84dba7865 100644
--- a/pkgs/development/python-modules/oci/default.nix
+++ b/pkgs/development/python-modules/oci/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "oci";
-  version = "2.125.3";
+  version = "2.126.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "oracle";
     repo = "oci-python-sdk";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Y36x65O6XHNju/tWN0Qd3HyJ/YXTNe/VO+Z4XDtPPos=";
+    hash = "sha256-emWfpI+4oyb3p8RzhLKm1iWkvLu7OZTrEnyvZ5AI9Zw=";
   };
 
   pythonRelaxDeps = [
diff --git a/pkgs/development/python-modules/oelint-parser/default.nix b/pkgs/development/python-modules/oelint-parser/default.nix
index 179ecd1a312e4..9fc4de88fb9f2 100644
--- a/pkgs/development/python-modules/oelint-parser/default.nix
+++ b/pkgs/development/python-modules/oelint-parser/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonPackage rec {
   pname = "oelint-parser";
-  version = "3.4.1";
+  version = "3.5.0";
   format = "setuptools";
 
   src = fetchPypi {
     inherit version;
     pname = "oelint_parser";
-    hash = "sha256-AZkbLTMWSUfrbgXZzvKy+maNaB7AwLPoh3Q8QT4Zq5U=";
+    hash = "sha256-MvLHi0/tMkWBARyIVm/cuMbS2euK37xvQUbkmOrUyVU=";
   };
 
   buildInputs = [ pip ];
diff --git a/pkgs/development/python-modules/ollama/default.nix b/pkgs/development/python-modules/ollama/default.nix
index 8bc0639b016d3..4d1999a8aae87 100644
--- a/pkgs/development/python-modules/ollama/default.nix
+++ b/pkgs/development/python-modules/ollama/default.nix
@@ -1,19 +1,20 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, httpx
-, pillow
-, poetry-core
-, pytest-asyncio
-, pytest-httpserver
-, pytestCheckHook
-, pythonOlder
-, pythonRelaxDepsHook
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  httpx,
+  pillow,
+  poetry-core,
+  pytest-asyncio,
+  pytest-httpserver,
+  pytestCheckHook,
+  pythonOlder,
+  pythonRelaxDepsHook,
 }:
 
 buildPythonPackage rec {
   pname = "ollama";
-  version = "0.1.8";
+  version = "0.1.9";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -22,7 +23,7 @@ buildPythonPackage rec {
     owner = "ollama";
     repo = "ollama-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-hMNoWalUL+5FzmV5ICj7Zl6cTWzE6xGWfTf5++c36+E=";
+    hash = "sha256-ilJgRMzCn/T+6Lr7IuvaCnKhN5cyyEOWuV0N1FtR+Yg=";
   };
 
   postPatch = ''
@@ -30,18 +31,13 @@ buildPythonPackage rec {
       --replace-fail "0.0.0" "${version}"
   '';
 
-  pythonRelaxDeps = [
-    "httpx"
-  ];
+  pythonRelaxDeps = [ "httpx" ];
 
-  build-system = [
-    poetry-core
-    pythonRelaxDepsHook
-  ];
+  build-system = [ poetry-core ];
 
-  dependencies = [
-    httpx
-  ];
+  nativeBuildInputs = [ pythonRelaxDepsHook ];
+
+  dependencies = [ httpx ];
 
   nativeCheckInputs = [
     pillow
@@ -50,9 +46,7 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [
-    "ollama"
-  ];
+  pythonImportsCheck = [ "ollama" ];
 
   meta = with lib; {
     description = "Ollama Python library";
diff --git a/pkgs/development/python-modules/omegaconf/default.nix b/pkgs/development/python-modules/omegaconf/default.nix
index 8ee54d3c6925e..445d15f439401 100644
--- a/pkgs/development/python-modules/omegaconf/default.nix
+++ b/pkgs/development/python-modules/omegaconf/default.nix
@@ -18,11 +18,12 @@ buildPythonPackage rec {
   pname = "omegaconf";
   version = "2.3.0";
   pyproject = true;
+
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "omry";
-    repo = pname;
+    repo = "omegaconf";
     rev = "refs/tags/v${version}";
     hash = "sha256-Qxa4uIiX5TAyQ5rFkizdev60S4iVAJ08ES6FpNqf8zI=";
   };
@@ -45,12 +46,15 @@ buildPythonPackage rec {
     sed -i 's/antlr4-python3-runtime==.*/antlr4-python3-runtime/' requirements/base.txt
   '';
 
-  nativeBuildInputs = [
+  build-system = [
     setuptools
+  ];
+
+  nativeBuildInputs = [
     jre_minimal
   ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     antlr4-python3-runtime
     pyyaml
   ];
@@ -71,6 +75,10 @@ buildPythonPackage rec {
     "ignore::DeprecationWarning"
   ];
 
+  disabledTests = [
+    "test_eq"
+  ];
+
   meta = with lib; {
     description = "Framework for configuring complex applications";
     homepage = "https://github.com/omry/omegaconf";
diff --git a/pkgs/development/python-modules/onnxconverter-common/default.nix b/pkgs/development/python-modules/onnxconverter-common/default.nix
index dfe5a03e7cc79..1da4168d22b74 100644
--- a/pkgs/development/python-modules/onnxconverter-common/default.nix
+++ b/pkgs/development/python-modules/onnxconverter-common/default.nix
@@ -48,7 +48,6 @@ buildPythonPackage rec {
     description = "ONNX Converter and Optimization Tools";
     homepage = "https://github.com/microsoft/onnxconverter-common";
     changelog = "https://github.com/microsoft/onnxconverter-common/releases/tag/v${version}";
-    maintainers = with lib.maintainers; [ fridh ];
     license = with lib.licenses; [ mit ];
   };
 }
diff --git a/pkgs/development/python-modules/onnxruntime/default.nix b/pkgs/development/python-modules/onnxruntime/default.nix
index 0982a12c4572d..328825698f899 100644
--- a/pkgs/development/python-modules/onnxruntime/default.nix
+++ b/pkgs/development/python-modules/onnxruntime/default.nix
@@ -70,5 +70,5 @@ buildPythonPackage {
     # sympy
   ];
 
-  meta = onnxruntime.meta // { maintainers = with lib.maintainers; [ fridh ]; };
+  meta = onnxruntime.meta;
 }
diff --git a/pkgs/development/python-modules/openai/default.nix b/pkgs/development/python-modules/openai/default.nix
index 8d9d06b053112..a2720bfb8567a 100644
--- a/pkgs/development/python-modules/openai/default.nix
+++ b/pkgs/development/python-modules/openai/default.nix
@@ -25,7 +25,7 @@
 
 buildPythonPackage rec {
   pname = "openai";
-  version = "1.23.2";
+  version = "1.23.6";
   pyproject = true;
 
   disabled = pythonOlder "3.7.1";
@@ -34,7 +34,7 @@ buildPythonPackage rec {
     owner = "openai";
     repo = "openai-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-ScBD+g+xbbZOdIip4ISXYug9MqKLahutUNIoQnD1tHc=";
+    hash = "sha256-b7LkZc8XGNOG0HHStlFikatKWQ5gob98XLsei/vOq4c=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/opentelemetry-api/default.nix b/pkgs/development/python-modules/opentelemetry-api/default.nix
index 135518ce3f8c4..153400f30aced 100644
--- a/pkgs/development/python-modules/opentelemetry-api/default.nix
+++ b/pkgs/development/python-modules/opentelemetry-api/default.nix
@@ -9,12 +9,13 @@
 , setuptools
 , pytestCheckHook
 , pythonRelaxDepsHook
+, writeScript
 }:
 
 let
   self = buildPythonPackage rec {
     pname = "opentelemetry-api";
-    version = "1.23.0";
+    version = "1.24.0";
     pyproject = true;
 
     disabled = pythonOlder "3.8";
@@ -24,7 +25,7 @@ let
       owner = "open-telemetry";
       repo = "opentelemetry-python";
       rev = "refs/tags/v${version}";
-      hash = "sha256-Ge/DjVG7ajoS0nJLZxtfn4Mmx0SffAE/91dViA5qWAA=";
+      hash = "sha256-id5cwNl2idgZa1AFfolzEo5vzspv3V2c1Vtzg3EWDZs=";
     };
 
     sourceRoot = "${src.name}/opentelemetry-api";
@@ -55,8 +56,18 @@ let
 
     doCheck = false;
 
-    # Enable tests via passthru to avoid cyclic dependency with opentelemetry-test-utils.
-    passthru.tests.${self.pname} = self.overridePythonAttrs { doCheck = true; };
+    passthru = {
+      updateScript = writeScript "update.sh" ''
+        #!/usr/bin/env nix-shell
+        #!nix-shell -i bash -p nix-update
+
+        set -eu -o pipefail
+        nix-update --version-regex 'v(.*)' python3Packages.opentelemetry-api
+        nix-update python3Packages.opentelemetry-instrumentation
+      '';
+      # Enable tests via passthru to avoid cyclic dependency with opentelemetry-test-utils.
+      tests.${self.pname} = self.overridePythonAttrs { doCheck = true; };
+    };
 
     meta = with lib; {
       homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/opentelemetry-api";
diff --git a/pkgs/development/python-modules/opentelemetry-instrumentation/default.nix b/pkgs/development/python-modules/opentelemetry-instrumentation/default.nix
index 965276da78f11..38205814d0476 100644
--- a/pkgs/development/python-modules/opentelemetry-instrumentation/default.nix
+++ b/pkgs/development/python-modules/opentelemetry-instrumentation/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "opentelemetry-instrumentation";
-  version = "0.44b0";
+  version = "0.45b0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "open-telemetry";
     repo = "opentelemetry-python-contrib";
     rev = "refs/tags/v${version}";
-    hash = "sha256-r+k/YdK7YqYme8nKoy3ig3krvZjxYRKgLBkcdEtFy3k=";
+    hash = "sha256-snpanTREdvfqpqPI8UWzm55pDK8Q77guqgT8kFULRKU=";
   };
 
   sourceRoot = "${src.name}/opentelemetry-instrumentation";
@@ -44,6 +44,8 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "opentelemetry.instrumentation" ];
 
+  passthru.updateScript = opentelemetry-api.updateScript;
+
   meta = with lib; {
     homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/opentelemetry-instrumentation";
     description = "Instrumentation Tools & Auto Instrumentation for OpenTelemetry Python";
diff --git a/pkgs/development/python-modules/opower/default.nix b/pkgs/development/python-modules/opower/default.nix
index fcae2a557c642..2c00224e92295 100644
--- a/pkgs/development/python-modules/opower/default.nix
+++ b/pkgs/development/python-modules/opower/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "opower";
-  version = "0.4.3";
+  version = "0.4.4";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "tronikos";
     repo = "opower";
     rev = "refs/tags/v${version}";
-    hash = "sha256-qJMQoc0Bpo1X2jQ23XlmCLE7h8F5IsniQ+Hx9iJ0h6A=";
+    hash = "sha256-GG7r0/rZcB4cuog3m0qCOrmcYiscPQggQhRC9sQGG40=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/optimum/default.nix b/pkgs/development/python-modules/optimum/default.nix
index 1bdda5a5afa4f..5c096eab5952c 100644
--- a/pkgs/development/python-modules/optimum/default.nix
+++ b/pkgs/development/python-modules/optimum/default.nix
@@ -22,7 +22,7 @@
 
 buildPythonPackage rec {
   pname = "optimum";
-  version = "1.18.1";
+  version = "1.19.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -31,7 +31,7 @@ buildPythonPackage rec {
     owner = "huggingface";
     repo = "optimum";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Y+KWvpd/ULthCOr18hQjP0REQPcs2Ql2aUi3DIKIOpQ=";
+    hash = "sha256-EHu3p3M7xBjMnf3tKsneYOZtd9YWsC0qok1fnk4TMAg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pandas/default.nix b/pkgs/development/python-modules/pandas/default.nix
index c42472682a7ec..a5bb890a398d4 100644
--- a/pkgs/development/python-modules/pandas/default.nix
+++ b/pkgs/development/python-modules/pandas/default.nix
@@ -266,7 +266,7 @@ let pandas = buildPythonPackage rec {
       Python, providing labeled data structures similar to R data.frame
       objects, statistical functions, and much more.
     '';
-    maintainers = with maintainers; [ raskin fridh knedlsepp ];
+    maintainers = with maintainers; [ raskin knedlsepp ];
   };
 };
 in pandas
diff --git a/pkgs/development/python-modules/panphon/default.nix b/pkgs/development/python-modules/panphon/default.nix
new file mode 100644
index 0000000000000..6ae6291345053
--- /dev/null
+++ b/pkgs/development/python-modules/panphon/default.nix
@@ -0,0 +1,61 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+
+, unittestCheckHook
+
+, setuptools
+
+, unicodecsv
+, pyyaml
+, regex
+, numpy
+, editdistance
+, munkres
+, levenshtein
+}:
+
+buildPythonPackage rec {
+  pname = "panphon";
+  version = "0.20.0";
+  pyproject = true;
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-gio52n1NZWeyCK+eJW/Fp827wjvwnMNDFAR4pKa8VcY=";
+  };
+
+  build-system = [
+    setuptools
+  ];
+
+  dependencies = [
+    setuptools # need for pkg_resources
+    unicodecsv
+    pyyaml
+    regex
+    numpy
+    editdistance
+    munkres
+    levenshtein # need for align_wordlists.py script
+  ];
+
+  nativeCheckInputs = [
+    unittestCheckHook
+  ];
+
+  unittestFlagsArray = [ "-s" "test" ];
+
+  pythonImportsCheck = [
+    "panphon"
+    "panphon.segment"
+    "panphon.distance"
+  ];
+
+  meta = with lib; {
+    description = "Tools for using the International Phonetic Alphabet with phonological features";
+    homepage = "https://github.com/dmort27/panphon";
+    license = licenses.mit;
+    maintainers = with maintainers; [ vizid ];
+  };
+}
diff --git a/pkgs/development/python-modules/papermill/default.nix b/pkgs/development/python-modules/papermill/default.nix
index b419398eef996..743812b84b62a 100644
--- a/pkgs/development/python-modules/papermill/default.nix
+++ b/pkgs/development/python-modules/papermill/default.nix
@@ -1,5 +1,7 @@
 { lib
 , stdenv
+, aiohttp
+, ansicolors
 , azure-datalake-store
 , azure-identity
 , azure-storage-blob
@@ -17,8 +19,8 @@
 , pygithub
 , pytest-mock
 , pytestCheckHook
+, pythonAtLeast
 , pythonOlder
-, pythonRelaxDepsHook
 , pyyaml
 , requests
 , setuptools
@@ -28,7 +30,7 @@
 
 buildPythonPackage rec {
   pname = "papermill";
-  version = "2.5.0";
+  version = "2.6.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -37,19 +39,14 @@ buildPythonPackage rec {
     owner = "nteract";
     repo = "papermill";
     rev = "refs/tags/${version}";
-    hash = "sha256-x6f5hhTdOPDVFiBvRhfrXq1wd5keYiuUshXnT0IkjX0=";
+    hash = "sha256-NxC5+hRDdMCl/7ZIho5ml4hdENrgO+wzi87GRPeMv8Q=";
   };
 
-  pythonRelaxDeps = [
-    "aiohttp"
-  ];
-
-  nativeBuildInputs = [
-    pythonRelaxDepsHook
+  build-system = [
     setuptools
   ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     click
     pyyaml
     nbformat
@@ -58,6 +55,9 @@ buildPythonPackage rec {
     requests
     entrypoints
     tenacity
+    ansicolors
+  ] ++ lib.optionals (pythonAtLeast "3.12") [
+    aiohttp
   ];
 
   passthru.optional-dependencies = {
diff --git a/pkgs/development/python-modules/papis/default.nix b/pkgs/development/python-modules/papis/default.nix
index 91f9bf73a8b20..fe56f71ed4ebb 100644
--- a/pkgs/development/python-modules/papis/default.nix
+++ b/pkgs/development/python-modules/papis/default.nix
@@ -118,6 +118,6 @@ buildPythonPackage rec {
     homepage = "https://papis.readthedocs.io/";
     changelog = "https://github.com/papis/papis/blob/v${version}/CHANGELOG.md";
     license = licenses.gpl3Only;
-    maintainers = with maintainers; [ nico202 teto marsam ];
+    maintainers = with maintainers; [ nico202 teto ];
   };
 }
diff --git a/pkgs/development/python-modules/parquet/default.nix b/pkgs/development/python-modules/parquet/default.nix
index 85eb41fa51d43..92e5e77647940 100644
--- a/pkgs/development/python-modules/parquet/default.nix
+++ b/pkgs/development/python-modules/parquet/default.nix
@@ -1,31 +1,46 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, pytestCheckHook
-, python-snappy
-, thriftpy2
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  fetchpatch,
+  pytestCheckHook,
+  python-snappy,
+  pythonOlder,
+  setuptools,
+  thriftpy2,
 }:
 
 buildPythonPackage rec {
   pname = "parquet";
   version = "1.3.1";
-  format = "setuptools";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "jcrobak";
     repo = "parquet-python";
-    rev = "v${version}";
-    sha256 = "1ahvg4dz9fzi4vdm9jmslq3v3jahjj17fdcc5fljgcw6h9yxyl2r";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-WVDffYKGsyepK4w1d4KUUMmxB6a6ylTbJvG79Bt5G6o=";
   };
 
-  propagatedBuildInputs = [
+  patches = [
+    # Refactor deprecated unittest aliases, https://github.com/jcrobak/parquet-python/pull/83
+    (fetchpatch {
+      name = "unittest-aliases.patch";
+      url = "https://github.com/jcrobak/parquet-python/commit/746bebd1e84d8945a3491e1ae5e44102ff534592.patch";
+      hash = "sha256-4awxlzman/YMfOz1WYNR+mVn1ixGku9sqlaMJ1QITYs=";
+    })
+  ];
+
+  build-system = [ setuptools ];
+
+  dependencies = [
     python-snappy
     thriftpy2
   ];
 
-  nativeCheckInputs = [
-    pytestCheckHook
-  ];
+  nativeCheckInputs = [ pytestCheckHook ];
 
   disabledTests = [
     # Fails with AttributeError
@@ -37,9 +52,10 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Python implementation of the parquet columnar file format";
-    mainProgram = "parquet";
     homepage = "https://github.com/jcrobak/parquet-python";
+    changelog = "https://github.com/jcrobak/parquet-python/releases/tag/v${version}";
     license = licenses.bsd2;
     maintainers = with maintainers; [ fab ];
+    mainProgram = "parquet";
   };
 }
diff --git a/pkgs/development/python-modules/particle/default.nix b/pkgs/development/python-modules/particle/default.nix
index 9a271ccb55df9..1b99947b58ec5 100644
--- a/pkgs/development/python-modules/particle/default.nix
+++ b/pkgs/development/python-modules/particle/default.nix
@@ -16,14 +16,14 @@
 
 buildPythonPackage rec {
   pname = "particle";
-  version = "0.23.1";
+  version = "0.24.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-7uKLDoRr/qTf1w6exf/jJEYT2wi2tqm3c/VaQxB1L6s=";
+    hash = "sha256-irS13UVHui2ug1SVWkNSEIkqV13/RvMjysbPQGALl2o=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pdfminer-six/default.nix b/pkgs/development/python-modules/pdfminer-six/default.nix
index bc182442af4f1..f203850469cf2 100644
--- a/pkgs/development/python-modules/pdfminer-six/default.nix
+++ b/pkgs/development/python-modules/pdfminer-six/default.nix
@@ -71,6 +71,6 @@ buildPythonPackage rec {
     description = "PDF parser and analyzer";
     homepage = "https://github.com/pdfminer/pdfminer.six";
     license = licenses.mit;
-    maintainers = with maintainers; [ psyanticy marsam ];
+    maintainers = with maintainers; [ psyanticy ];
   };
 }
diff --git a/pkgs/development/python-modules/pdfx/default.nix b/pkgs/development/python-modules/pdfx/default.nix
index 500db4812f2a4..ba9a0f79bf2aa 100644
--- a/pkgs/development/python-modules/pdfx/default.nix
+++ b/pkgs/development/python-modules/pdfx/default.nix
@@ -27,6 +27,6 @@ buildPythonPackage rec {
     description = "Extract references (pdf, url, doi, arxiv) and metadata from a PDF";
     mainProgram = "pdfx";
     license = licenses.asl20;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/peaqevcore/default.nix b/pkgs/development/python-modules/peaqevcore/default.nix
index 7f3fdbc7b7712..cbc81c1a03403 100644
--- a/pkgs/development/python-modules/peaqevcore/default.nix
+++ b/pkgs/development/python-modules/peaqevcore/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "peaqevcore";
-  version = "19.9.0";
+  version = "19.9.2";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-tFbk33SQqCNcUnJ0X+OtJ8XDEpMXWnuxA2L30Prhssc=";
+    hash = "sha256-X5JKfIE6rISXb3F2liuyLrVHm5xw3DoFeMhqhEsdEIY=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pglast/default.nix b/pkgs/development/python-modules/pglast/default.nix
index 4a3e4794bd77a..7e5208c1bcd71 100644
--- a/pkgs/development/python-modules/pglast/default.nix
+++ b/pkgs/development/python-modules/pglast/default.nix
@@ -47,7 +47,7 @@ buildPythonPackage rec {
     description = "PostgreSQL Languages AST and statements prettifier";
     changelog = "https://github.com/lelit/pglast/blob/v${version}/CHANGES.rst";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
     mainProgram = "pgpp";
   };
 }
diff --git a/pkgs/development/python-modules/pick/default.nix b/pkgs/development/python-modules/pick/default.nix
index a91140d804b85..171c639afefc0 100644
--- a/pkgs/development/python-modules/pick/default.nix
+++ b/pkgs/development/python-modules/pick/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "pick";
-  version = "2.3.0";
+  version = "2.3.2";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "wong2";
     repo = "pick";
     rev = "refs/tags/v${version}";
-    hash = "sha256-1CDwnPvu64zHu+MML0KssPxI5CH7ng8lYZXQzmeSOCw=";
+    hash = "sha256-6bkV9XEum5kbANqv/Xth+taCUl4nmuWskucq4jmV+Lc=";
   };
 
   build-system = [ poetry-core ];
diff --git a/pkgs/development/python-modules/pipe/default.nix b/pkgs/development/python-modules/pipe/default.nix
new file mode 100644
index 0000000000000..b59ea62f924f6
--- /dev/null
+++ b/pkgs/development/python-modules/pipe/default.nix
@@ -0,0 +1,42 @@
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  pytestCheckHook,
+  pythonOlder,
+  setuptools,
+}:
+
+buildPythonPackage rec {
+  pname = "pipe";
+  version = "2.2";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "JulienPalard";
+    repo = "Pipe";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-/xMhh70g2KPOOivTjpAuyfu+Z44tBE5zAwpSIEKhK6M=";
+  };
+
+  build-system = [ setuptools ];
+
+  nativeCheckInputs = [ pytestCheckHook ];
+
+  pythonImportsCheck = [ "pipe" ];
+
+  disabledTests = [
+    # Test require network access
+    "test_netcat"
+  ];
+
+  meta = with lib; {
+    description = "Module to use infix notation";
+    homepage = "https://github.com/JulienPalard/Pipe";
+    changelog = "https://github.com/JulienPalard/Pipe/releases/tag/v${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/plaid-python/default.nix b/pkgs/development/python-modules/plaid-python/default.nix
index dfc981b615e6c..f3a92c1954c85 100644
--- a/pkgs/development/python-modules/plaid-python/default.nix
+++ b/pkgs/development/python-modules/plaid-python/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "plaid-python";
-  version = "20.0.1";
+  version = "21.0.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-TSydetm05gELugfRr6IGEfSrDhCOHzm73BTqbGkAXpk=";
+    hash = "sha256-ksYTV10FGUjBIkJru4CiJIlPLT4S7fbpsNrjYczTFlI=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/playwrightcapture/default.nix b/pkgs/development/python-modules/playwrightcapture/default.nix
index 8acdacb7c9b68..36c701b1a49f2 100644
--- a/pkgs/development/python-modules/playwrightcapture/default.nix
+++ b/pkgs/development/python-modules/playwrightcapture/default.nix
@@ -21,7 +21,7 @@
 
 buildPythonPackage rec {
   pname = "playwrightcapture";
-  version = "1.24.5";
+  version = "1.24.6";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -30,7 +30,7 @@ buildPythonPackage rec {
     owner = "Lookyloo";
     repo = "PlaywrightCapture";
     rev = "refs/tags/v${version}";
-    hash = "sha256-3xbjcvBx5pHlCwqAVJUpiGsa4s9lScORlEB4YLfkvv4=";
+    hash = "sha256-DFMnlFN9CooQ7HBiw6Ur6KMTMrEw6JxkT6IxlVU+PdY=";
   };
 
   pythonRelaxDeps = [
diff --git a/pkgs/development/python-modules/plotnine/default.nix b/pkgs/development/python-modules/plotnine/default.nix
index a25dcd9125f02..fb86d44472d26 100644
--- a/pkgs/development/python-modules/plotnine/default.nix
+++ b/pkgs/development/python-modules/plotnine/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "plotnine";
-  version = "0.13.4";
+  version = "0.13.5";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "has2k1";
     repo = "plotnine";
     rev = "refs/tags/v${version}";
-    hash = "sha256-ylsaV5yWVbxvD74spAI5tDwIjjue7MOMaGgp4Dc8Nhk=";
+    hash = "sha256-vGxsBcY4CRT4rBUq0AQ4oo0etKK+CtUD487VvnoK/rI=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/plumbum/default.nix b/pkgs/development/python-modules/plumbum/default.nix
index 7fb6a0ec82404..0eb7baadcfbfb 100644
--- a/pkgs/development/python-modules/plumbum/default.nix
+++ b/pkgs/development/python-modules/plumbum/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "plumbum";
-  version = "1.8.2";
+  version = "1.8.3";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "tomerfiliba";
     repo = "plumbum";
     rev = "refs/tags/v${version}";
-    hash = "sha256-b8JcGRHiZSv/ViyEogpLgGXOMHHSC+cjWT0FqhkolcA=";
+    hash = "sha256-k2H/FBQAWrCN1P587s/OhiCGNasMKEFJYIBIU808rlE=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/polars/default.nix b/pkgs/development/python-modules/polars/default.nix
index 4d1d1c0f14d06..73edfeadcd53b 100644
--- a/pkgs/development/python-modules/polars/default.nix
+++ b/pkgs/development/python-modules/polars/default.nix
@@ -11,28 +11,28 @@
 , rust-jemalloc-sys
 , darwin
 }:
+
 let
-  pname = "polars";
-  version = "0.20.15";
-  rootSource = fetchFromGitHub {
-    owner = "pola-rs";
-    repo = "polars";
-    rev = "refs/tags/py-${version}";
-    hash = "sha256-N/VIi0s5unYWqlR5Mpaq9cqXl2ccbzWPuOtE2UbmQw8=";
-  };
   rust-jemalloc-sys' = rust-jemalloc-sys.override {
     jemalloc = jemalloc.override {
       disableInitExecTls = true;
     };
   };
 in
-buildPythonPackage {
-  inherit pname version;
+
+buildPythonPackage rec {
+  pname = "polars";
+  version = "0.20.15";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
 
-  src = rootSource;
+  src = fetchFromGitHub {
+    owner = "pola-rs";
+    repo = "polars";
+    rev = "refs/tags/py-${version}";
+    hash = "sha256-N/VIi0s5unYWqlR5Mpaq9cqXl2ccbzWPuOtE2UbmQw8=";
+  };
 
   # Cargo.lock file is sometimes behind actual release which throws an error,
   # thus the `sed` command
diff --git a/pkgs/development/python-modules/potentials/default.nix b/pkgs/development/python-modules/potentials/default.nix
index 4cad316d2a662..02da784d426ab 100644
--- a/pkgs/development/python-modules/potentials/default.nix
+++ b/pkgs/development/python-modules/potentials/default.nix
@@ -1,37 +1,41 @@
-{ lib
-, bibtexparser
-, buildPythonPackage
-, cdcs
-, datamodeldict
-, fetchPypi
-, habanero
-, ipywidgets
-, lxml
-, matplotlib
-, numpy
-, pandas
-, pytestCheckHook
-, pythonOlder
-, requests
-, scipy
-, unidecode
-, xmltodict
-, yabadaba
+{
+  lib,
+  bibtexparser,
+  buildPythonPackage,
+  cdcs,
+  datamodeldict,
+  fetchPypi,
+  habanero,
+  ipywidgets,
+  lxml,
+  matplotlib,
+  numpy,
+  pandas,
+  pytestCheckHook,
+  pythonOlder,
+  requests,
+  scipy,
+  setuptools,
+  unidecode,
+  xmltodict,
+  yabadaba,
 }:
 
 buildPythonPackage rec {
-  version = "0.3.7";
   pname = "potentials";
-  format = "setuptools";
+  version = "0.3.8";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-vkrNVRf9ntYSpf8nXmAmGjc+sQ4iFllisYHd9s+uQv0=";
+    hash = "sha256-ZXsqsqsgWntZUOuW1/2KAhsbnienHu6VFctxYkw+GCU=";
   };
 
-  propagatedBuildInputs = [
+  build-system = [ setuptools ];
+
+  dependencies = [
     bibtexparser
     cdcs
     datamodeldict
@@ -51,13 +55,12 @@ buildPythonPackage rec {
   # Project has no tests
   doCheck = false;
 
-  pythonImportsCheck = [
-    "potentials"
-  ];
+  pythonImportsCheck = [ "potentials" ];
 
   meta = with lib; {
     description = "Python API database tools for accessing the NIST Interatomic Potentials Repository";
     homepage = "https://github.com/usnistgov/potentials";
+    changelog = "https://github.com/usnistgov/potentials/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/protego/default.nix b/pkgs/development/python-modules/protego/default.nix
index 4374576b8e8d1..bfd17d74dcbfa 100644
--- a/pkgs/development/python-modules/protego/default.nix
+++ b/pkgs/development/python-modules/protego/default.nix
@@ -31,6 +31,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/scrapy/protego";
     changelog = "https://github.com/scrapy/protego/blob/${version}/CHANGELOG.rst";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/psrpcore/default.nix b/pkgs/development/python-modules/psrpcore/default.nix
index 8608c19c8dcdb..102d9ce9b7c0c 100644
--- a/pkgs/development/python-modules/psrpcore/default.nix
+++ b/pkgs/development/python-modules/psrpcore/default.nix
@@ -1,38 +1,40 @@
-{ lib
-, buildPythonPackage
-, cryptography
-, fetchFromGitHub
-, pytestCheckHook
-, pythonOlder
-, xmldiff
+{
+  lib,
+  buildPythonPackage,
+  cryptography,
+  fetchFromGitHub,
+  powershell,
+  pytestCheckHook,
+  pythonOlder,
+  setuptools,
+  xmldiff,
 }:
 
 buildPythonPackage rec {
   pname = "psrpcore";
-  version = "0.2.2";
-  format = "pyproject";
+  version = "0.3.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "jborean93";
-    repo = pname;
+    repo = "psrpcore";
     rev = "refs/tags/v${version}";
-    hash = "sha256-6d5HQJEH/x+V0rpmQkprMlH1n151KyUF6d4tM9W5TFs=";
+    hash = "sha256-YThumRHMOTyhP6/EmNEew47v/X4Y1aYg1nvgZJz2XUg=";
   };
 
-  propagatedBuildInputs = [
-    cryptography
-  ];
+  build-system = [ setuptools ];
+
+  dependencies = [ cryptography ];
 
   nativeCheckInputs = [
+    powershell
     pytestCheckHook
     xmldiff
   ];
 
-  pythonImportsCheck = [
-    "psrpcore"
-  ];
+  pythonImportsCheck = [ "psrpcore" ];
 
   meta = with lib; {
     description = "Library for the PowerShell Remoting Protocol (PSRP)";
diff --git a/pkgs/development/python-modules/pure-protobuf/default.nix b/pkgs/development/python-modules/pure-protobuf/default.nix
index ed413f8d8c951..e68746ddd8dbb 100644
--- a/pkgs/development/python-modules/pure-protobuf/default.nix
+++ b/pkgs/development/python-modules/pure-protobuf/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "pure-protobuf";
-  version = "3.0.1";
+  version = "3.1.0";
 
   format = "pyproject";
   # < 3.10 requires get-annotations which isn't packaged yet
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "eigenein";
     repo = "protobuf";
     rev = "refs/tags/${version}";
-    hash = "sha256-sGKnta+agrpJkQB0twFkqRreD5WB2O/06g75N0ic4mc=";
+    hash = "sha256-JXC68iEX5VepIe4qpugvY0Qb3JlM5mPGHnUVWvb1TDA=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/py-pdf-parser/default.nix b/pkgs/development/python-modules/py-pdf-parser/default.nix
index 93ffeacb08a77..36df1c18f0b41 100644
--- a/pkgs/development/python-modules/py-pdf-parser/default.nix
+++ b/pkgs/development/python-modules/py-pdf-parser/default.nix
@@ -51,6 +51,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/jstockwin/py-pdf-parser";
     changelog = "https://github.com/jstockwin/py-pdf-parser/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/python-modules/py3buddy/default.nix b/pkgs/development/python-modules/py3buddy/default.nix
index b8a25480799b3..2b3f3f48f1375 100644
--- a/pkgs/development/python-modules/py3buddy/default.nix
+++ b/pkgs/development/python-modules/py3buddy/default.nix
@@ -4,35 +4,38 @@
 , pyusb
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "py3buddy";
-  version = "unstable-2019-09-29";
+  version = "1.0";
 
   src = fetchFromGitHub {
     owner = "armijnhemel";
-    repo = pname;
-    rev = "2b28908454645117368ca56df67548c93f4e0b03";
-    sha256 = "12ar4kbplavndarkrbibxi5i607f5sfia5myscvalqy78lc33798";
+    repo = "py3buddy";
+    rev = finalAttrs.version;
+    hash = "sha256-KJ0xGEXHY6o2074WFZ0u7gATS+wrrjyzanYretckWYk=";
   };
 
   propagatedBuildInputs = [ pyusb ];
 
   dontConfigure = true;
   dontBuild = true;
-  dontCheck = true;
 
   installPhase = ''
+    runHook preInstall
+
     install -D py3buddy.py $out/${python.sitePackages}/py3buddy.py
+
+    runHook postInstall
   '';
 
   postInstall = ''
     install -D 99-ibuddy.rules $out/lib/udev/rules.d/99-ibuddy.rules
   '';
 
-  meta = with lib; {
+  meta = {
     description = "Code to work with the iBuddy MSN figurine";
     homepage = "https://github.com/armijnhemel/py3buddy";
-    license = with licenses; [ mit ];
-    maintainers = with maintainers; [ prusnak ];
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ prusnak ];
   };
-}
+})
diff --git a/pkgs/development/python-modules/pyaml/default.nix b/pkgs/development/python-modules/pyaml/default.nix
index 7a52c601ef35f..f9b70e83157e6 100644
--- a/pkgs/development/python-modules/pyaml/default.nix
+++ b/pkgs/development/python-modules/pyaml/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "pyaml";
-  version = "23.12.0";
+  version = "24.4.0";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-zm9kjv37GzpVefjO2wT6zw+h6PZIRrY5MJtYW7MitOU=";
+    hash = "sha256-Dkg9kokBDnR6Ml3EMXG8w51lYt0d1HGejMfnyWyZ/OY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pyarrow/default.nix b/pkgs/development/python-modules/pyarrow/default.nix
index da50d8f45735a..d88cd0abeba92 100644
--- a/pkgs/development/python-modules/pyarrow/default.nix
+++ b/pkgs/development/python-modules/pyarrow/default.nix
@@ -34,15 +34,6 @@ buildPythonPackage rec {
 
   sourceRoot = "apache-arrow-${version}/python";
 
-  postPatch = ''
-    substituteInPlace pyproject.toml setup.py \
-      --replace "setuptools_scm < 8.0.0" "setuptools_scm"
-  '' + lib.optionalString (pythonAtLeast "3.12") ''
-    substituteInPlace ./cmake_modules/FindPython3Alt.cmake --replace-fail \
-      "from distutils import sysconfig" \
-      "import sysconfig"
-  '';
-
   nativeBuildInputs = [
     cmake
     cython_0
@@ -78,8 +69,6 @@ buildPythonPackage rec {
   PYARROW_WITH_HDFS = zero_or_one true;
   PYARROW_WITH_PARQUET = zero_or_one true;
   PYARROW_WITH_PARQUET_ENCRYPTION = zero_or_one true;
-  # Plasma is deprecated since arrow 10.0.0
-  PYARROW_WITH_PLASMA = zero_or_one false;
   PYARROW_WITH_S3 = zero_or_one arrow-cpp.enableS3;
   PYARROW_WITH_GCS = zero_or_one arrow-cpp.enableGcs;
   PYARROW_BUNDLE_ARROW_CPP_HEADERS = zero_or_one false;
@@ -172,7 +161,6 @@ buildPythonPackage rec {
     "feather"
     "flight"
     "fs"
-    "hdfs"
     "json"
     "parquet"
   ];
diff --git a/pkgs/development/python-modules/pyathena/default.nix b/pkgs/development/python-modules/pyathena/default.nix
index 3acb1f67f09fb..00c4fd2bd8740 100644
--- a/pkgs/development/python-modules/pyathena/default.nix
+++ b/pkgs/development/python-modules/pyathena/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "pyathena";
-  version = "3.6.0";
+  version = "3.7.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-2jf7mw/cTS5xW3GLZYk60uULUIIlk01on4942Ow2rwY=";
+    hash = "sha256-PqIrXLsdi4jAE7K5WUFuTdRPs29GLUefNQlU6hzrLWI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pyatmo/default.nix b/pkgs/development/python-modules/pyatmo/default.nix
index cef80bbb1b343..7b40a3880e21f 100644
--- a/pkgs/development/python-modules/pyatmo/default.nix
+++ b/pkgs/development/python-modules/pyatmo/default.nix
@@ -62,6 +62,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/jabesq/pyatmo";
     changelog = "https://github.com/jabesq/pyatmo/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
-    maintainers = with maintainers; [ delroth ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/pycec/default.nix b/pkgs/development/python-modules/pycec/default.nix
index 831b12efa9878..832d38d72677a 100644
--- a/pkgs/development/python-modules/pycec/default.nix
+++ b/pkgs/development/python-modules/pycec/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "pycec";
-  version = "0.5.2";
+  version = "0.6.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,8 +16,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "konikvranik";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-H18petSiUdftZN8Q3fPmfSJA3OZks+gI+FAq9LwkRsk=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-5KQyHjAvHWeHFqcFHFJxDOPwWuVcFAN2wVdz9a77dzU=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pydantic-yaml-0/default.nix b/pkgs/development/python-modules/pydantic-yaml-0/default.nix
index bc842e5dc5326..74c44b255283a 100644
--- a/pkgs/development/python-modules/pydantic-yaml-0/default.nix
+++ b/pkgs/development/python-modules/pydantic-yaml-0/default.nix
@@ -15,6 +15,7 @@
 
 buildPythonPackage rec {
   pname = "pydantic_yaml-0";
+  # nixpkgs-update: no auto update
   version = "0.11.2";
 
   pyproject = true;
diff --git a/pkgs/development/python-modules/pydash/default.nix b/pkgs/development/python-modules/pydash/default.nix
index b9ac4770f71e9..a385b6f431305 100644
--- a/pkgs/development/python-modules/pydash/default.nix
+++ b/pkgs/development/python-modules/pydash/default.nix
@@ -1,41 +1,38 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, invoke
-, mock
-, pytest7CheckHook
-, pythonOlder
-, setuptools
-, sphinx-rtd-theme
-, typing-extensions
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  invoke,
+  mock,
+  pytest7CheckHook,
+  pythonOlder,
+  setuptools,
+  sphinx-rtd-theme,
+  typing-extensions,
 }:
 
 buildPythonPackage rec {
   pname = "pydash";
-  version = "7.0.6";
+  version = "8.0.1";
   pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "dgilland";
     repo = "pydash";
     rev = "refs/tags/v${version}";
-    hash = "sha256-zwtUdP2fFFE5X0SDkBDetAQbKnZ1v24DGdzN3fQLa0A=";
+    hash = "sha256-4zNljz0U/iQd2DMC43qkdOY/mwtPlizgLmoaB7BVmxw=";
   };
 
   postPatch = ''
-    sed -i "/--cov/d" setup.cfg
-    sed -i "/--no-cov/d" setup.cfg
+    sed -i "/--cov/d" pyproject.toml
+    sed -i "/--no-cov/d" pyproject.toml
   '';
 
-  nativeBuildInputs = [
-    setuptools
-  ];
+  build-system = [ setuptools ];
 
-  propagatedBuildInputs = [
-    typing-extensions
-  ];
+  dependencies = [ typing-extensions ];
 
   nativeCheckInputs = [
     invoke
@@ -44,9 +41,7 @@ buildPythonPackage rec {
     sphinx-rtd-theme
   ];
 
-  pythonImportsCheck = [
-    "pydash"
-  ];
+  pythonImportsCheck = [ "pydash" ];
 
   disabledTestPaths = [
     # Disable mypy testing
diff --git a/pkgs/development/python-modules/pydata-sphinx-theme/default.nix b/pkgs/development/python-modules/pydata-sphinx-theme/default.nix
index 337a7a4fca679..38509d5ba2edd 100644
--- a/pkgs/development/python-modules/pydata-sphinx-theme/default.nix
+++ b/pkgs/development/python-modules/pydata-sphinx-theme/default.nix
@@ -44,6 +44,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/pydata/pydata-sphinx-theme";
     changelog = "https://github.com/pydata/pydata-sphinx-theme/releases/tag/v${version}";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/pydevd/default.nix b/pkgs/development/python-modules/pydevd/default.nix
index 25ca54297f25c..f603e9accfd09 100644
--- a/pkgs/development/python-modules/pydevd/default.nix
+++ b/pkgs/development/python-modules/pydevd/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "pydevd";
-  version = "2.10.0";
+  version = "3.0.3";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -23,15 +23,15 @@ buildPythonPackage rec {
     owner = "fabioz";
     repo = "PyDev.Debugger";
     rev = "pydev_debugger_${lib.replaceStrings ["."] ["_"] version}";
-    hash = "sha256-1tWiPj30x/ZXIBu2qzUCpyF1bLsJ0wW1QaxklD3h3A8=";
+    hash = "sha256-aylmLN7lVUza2lt2K48rJsx3XatXPgPjcmPZ05raLX0=";
   };
 
-  nativeBuildInputs = [
+  __darwinAllowLocalNetworking = true;
+
+  build-system = [
     setuptools
   ];
 
-  __darwinAllowLocalNetworking = true;
-
   nativeCheckInputs = [
     numpy
     psutil
@@ -55,8 +55,11 @@ buildPythonPackage rec {
     # https://github.com/fabioz/PyDev.Debugger/issues/227
     "test_to_server_and_to_client"
     # AssertionError pydevd_tracing.set_trace_to_threads(tracing_func) == 0
-    "test_tracing_other_threads"
+    "test_step_next_step_in_multi_threads"
     "test_tracing_basic"
+    "test_tracing_other_threads"
+    # subprocess.CalledProcessError
+    "test_find_main_thread_id"
   ] ++ lib.optionals (pythonAtLeast "3.12") [
     "test_case_handled_and_unhandled_exception_generator"
     "test_case_stop_async_iteration_exception"
@@ -73,9 +76,9 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "PyDev.Debugger (used in PyDev, PyCharm and VSCode Python)";
-    mainProgram = "pydevd";
     homepage = "https://github.com/fabioz/PyDev.Debugger";
     license = licenses.epl10;
     maintainers = with maintainers; [ onny ];
+    mainProgram = "pydevd";
   };
 }
diff --git a/pkgs/development/python-modules/pyfftw/default.nix b/pkgs/development/python-modules/pyfftw/default.nix
index 746377c3c1313..cf5573c8c2b9b 100644
--- a/pkgs/development/python-modules/pyfftw/default.nix
+++ b/pkgs/development/python-modules/pyfftw/default.nix
@@ -27,6 +27,5 @@ buildPythonPackage rec {
     description = "A pythonic wrapper around FFTW, the FFT library, presenting a unified interface for all the supported transforms";
     homepage = "http://hgomersall.github.com/pyFFTW/";
     license = with licenses; [ bsd2 bsd3 ];
-    maintainers = with maintainers; [ fridh ];
   };
 }
diff --git a/pkgs/development/python-modules/pyfibaro/default.nix b/pkgs/development/python-modules/pyfibaro/default.nix
index 7822fa8da6e6e..1ce5d605f020c 100644
--- a/pkgs/development/python-modules/pyfibaro/default.nix
+++ b/pkgs/development/python-modules/pyfibaro/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pyfibaro";
-  version = "0.7.7";
+  version = "0.7.8";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "rappenze";
     repo = "pyfibaro";
     rev = "refs/tags/${version}";
-    hash = "sha256-jsl2Xc6bzN7SVyMnFeCwMpFUEa6xUWGn/T96MrDXlCE=";
+    hash = "sha256-gid+qbl4RgT47zC5i1Usw2Zco+jb2LJeeMkKvni/aDM=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/pykka/default.nix b/pkgs/development/python-modules/pykka/default.nix
index 899fe46feb5d6..c9e19c4c1661c 100644
--- a/pkgs/development/python-modules/pykka/default.nix
+++ b/pkgs/development/python-modules/pykka/default.nix
@@ -43,7 +43,7 @@ buildPythonPackage rec {
     homepage = "https://www.pykka.org/";
     description = "A Python implementation of the actor model";
     changelog = "https://github.com/jodal/pykka/releases/tag/v${version}";
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
     license = licenses.asl20;
   };
 }
diff --git a/pkgs/development/python-modules/pymatgen/default.nix b/pkgs/development/python-modules/pymatgen/default.nix
index cccf04f3a21ab..59981da7e7809 100644
--- a/pkgs/development/python-modules/pymatgen/default.nix
+++ b/pkgs/development/python-modules/pymatgen/default.nix
@@ -1,57 +1,61 @@
-{ lib
-, stdenv
-, buildPythonPackage
-, fetchFromGitHub
-, ase
-, cython
-, glibcLocales
-, joblib
-, matplotlib
-, monty
-, networkx
-, numpy
-, palettable
-, pandas
-, plotly
-, pybtex
-, pydispatcher
-, pytestCheckHook
-, pytest-xdist
-, pythonOlder
-, requests
-, ruamel-yaml
-, scipy
-, seekpath
-, spglib
-, sympy
-, tabulate
-, uncertainties
+{
+  lib,
+  stdenv,
+  ase,
+  buildPythonPackage,
+  cython,
+  fetchFromGitHub,
+  glibcLocales,
+  joblib,
+  matplotlib,
+  monty,
+  networkx,
+  oldest-supported-numpy,
+  palettable,
+  pandas,
+  plotly,
+  pybtex,
+  pydispatcher,
+  pytest-xdist,
+  pytestCheckHook,
+  pythonOlder,
+  requests,
+  ruamel-yaml,
+  scipy,
+  seekpath,
+  setuptools,
+  spglib,
+  sympy,
+  tabulate,
+  uncertainties,
 }:
 
 buildPythonPackage rec {
   pname = "pymatgen";
-  version = "2024.2.23";
-  format = "setuptools";
+  version = "2024.4.13";
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "materialsproject";
     repo = "pymatgen";
-    rev= "v${version}";
-    hash = "sha256-eswoup9ACj/PHVW3obcnZjD4tWemsmROZFtwGGigEYE=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-vjasWQgwjtoM/6Y1HwK1otMFejRWEj+YBxaIYDDSeeo=";
   };
 
+  build-system = [ setuptools ];
+
   nativeBuildInputs = [
     cython
     glibcLocales
   ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     matplotlib
     monty
     networkx
-    numpy
+    oldest-supported-numpy
     palettable
     pandas
     plotly
@@ -66,10 +70,17 @@ buildPythonPackage rec {
     uncertainties
   ];
 
+  passthru.optional-dependencies = {
+    ase = [ ase ];
+    joblib = [ joblib ];
+    seekpath = [ seekpath ];
+  };
+
   nativeCheckInputs = [
     pytestCheckHook
     pytest-xdist
   ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+
   preCheck = ''
     # hide from tests
     mv pymatgen _pymatgen
@@ -78,28 +89,29 @@ buildPythonPackage rec {
     # some tests cover the command-line scripts
     export PATH=$out/bin:$PATH
   '';
+
   disabledTests = [
     # presumably won't work with our dir layouts
     "test_egg_sources_txt_is_complete"
     # borderline precision failure
     "test_thermal_conductivity"
+    # AssertionError
+    "test_dict_functionality"
+    "test_mean_field"
+    "test_potcar_not_found"
+    "test_read_write_lobsterin"
+    "test_snl"
+    "test_unconverged"
   ];
 
-  passthru.optional-dependencies = {
-    ase = [ ase ];
-    joblib = [ joblib ];
-    seekpath = [ seekpath ];
-  };
-
-  pythonImportsCheck = [
-    "pymatgen"
-  ];
+  pythonImportsCheck = [ "pymatgen" ];
 
   meta = with lib; {
-    broken = stdenv.isDarwin;  # tests segfault. that's bad.
     description = "A robust materials analysis code that defines core object representations for structures and molecules";
     homepage = "https://pymatgen.org/";
+    changelog = "https://github.com/materialsproject/pymatgen/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ psyanticy ];
+    broken = stdenv.isDarwin; # tests segfault. that's bad.
   };
 }
diff --git a/pkgs/development/python-modules/pymc/default.nix b/pkgs/development/python-modules/pymc/default.nix
index 16aa22cf7fff0..e3f64840a0737 100644
--- a/pkgs/development/python-modules/pymc/default.nix
+++ b/pkgs/development/python-modules/pymc/default.nix
@@ -3,27 +3,29 @@
 , buildPythonPackage
 , cachetools
 , cloudpickle
-, fastprogress
 , fetchFromGitHub
 , numpy
+, pandas
 , pytensor
 , pythonOlder
+, rich
 , scipy
+, setuptools
 , typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "pymc";
-  version = "5.10.4";
+  version = "5.13.1";
   pyproject = true;
 
-  disabled = pythonOlder "3.9";
+  disabled = pythonOlder "3.10";
 
   src = fetchFromGitHub {
     owner = "pymc-devs";
     repo = "pymc";
     rev = "refs/tags/v${version}";
-    hash = "sha256-tiOXbryY2TmeBVrG5cIMeDJ4alolBQ5LosdfH3tpVOA=";
+    hash = "sha256-SSAn7nbKhXGeEvASKQITUs3+ix3j37u9JTkNiG+1tZ0=";
   };
 
   postPatch = ''
@@ -31,13 +33,18 @@ buildPythonPackage rec {
       --replace-fail ', "pytest-cov"' ""
   '';
 
-  propagatedBuildInputs = [
+  build-system = [
+    setuptools
+  ];
+
+  dependencies = [
     arviz
     cachetools
     cloudpickle
-    fastprogress
     numpy
+    pandas
     pytensor
+    rich
     scipy
     typing-extensions
   ];
diff --git a/pkgs/development/python-modules/pymongo/default.nix b/pkgs/development/python-modules/pymongo/default.nix
index 13fbc9ebe7684..3d17ea66f1e71 100644
--- a/pkgs/development/python-modules/pymongo/default.nix
+++ b/pkgs/development/python-modules/pymongo/default.nix
@@ -3,6 +3,14 @@
 , fetchPypi
 , pythonOlder
 , dnspython
+
+# for passthru.tests
+, celery  # check-input only
+, flask-pymongo
+, kombu  # check-input only
+, mongoengine
+, motor
+, pymongo-inmemory
 }:
 
 buildPythonPackage rec {
@@ -26,6 +34,17 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "pymongo" ];
 
+  passthru.tests = {
+    inherit
+      celery
+      flask-pymongo
+      kombu
+      mongoengine
+      motor
+      pymongo-inmemory
+    ;
+  };
+
   meta = with lib; {
     description = "Python driver for MongoDB";
     homepage = "https://github.com/mongodb/mongo-python-driver";
diff --git a/pkgs/development/python-modules/pynotifier/default.nix b/pkgs/development/python-modules/pynotifier/default.nix
new file mode 100644
index 0000000000000..7968677f1b62d
--- /dev/null
+++ b/pkgs/development/python-modules/pynotifier/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, libnotify
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "pynotifier";
+  version = "0.5.0";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "YuriyLisovskiy";
+    repo = "pynotifier";
+    rev = version;
+    hash = "sha256-xS3hH3cyqgDD7uoWkIYXpQAh7SN7XJ/qMfB0Vq5bva0=";
+  };
+
+  postPatch = ''
+    substituteInPlace pynotifier/backends/platform/linux.py \
+      --replace-fail \
+        'shutil.which("notify-send")' \
+        '"${lib.getExe' libnotify "notify-send"}"'
+  '';
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "pynotifier" ];
+
+  meta = with lib; {
+    description = "Module for sending notifications";
+    homepage = "https://github.com/YuriyLisovskiy/pynotifier";
+    license = licenses.mit;
+    maintainers = with maintainers; [ pbsds ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyopencl/default.nix b/pkgs/development/python-modules/pyopencl/default.nix
index 99d9a3038b164..045229a5a60c8 100644
--- a/pkgs/development/python-modules/pyopencl/default.nix
+++ b/pkgs/development/python-modules/pyopencl/default.nix
@@ -69,6 +69,5 @@ in buildPythonPackage rec {
     description = "Python wrapper for OpenCL";
     homepage = "https://github.com/pyopencl/pyopencl";
     license = licenses.mit;
-    maintainers = [ maintainers.fridh ];
   };
 }
diff --git a/pkgs/development/python-modules/pyotgw/default.nix b/pkgs/development/python-modules/pyotgw/default.nix
index 71ef391cb49f4..0283116b2160c 100644
--- a/pkgs/development/python-modules/pyotgw/default.nix
+++ b/pkgs/development/python-modules/pyotgw/default.nix
@@ -1,38 +1,39 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, pyserial-asyncio
-, pytest-asyncio
-, pytestCheckHook
-, pythonOlder
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  pyserial-asyncio,
+  pyserial-asyncio-fast,
+  pytest-asyncio,
+  pytestCheckHook,
+  pythonOlder,
+  setuptools,
 }:
 
 buildPythonPackage rec {
   pname = "pyotgw";
-  version = "2.1.3";
-  format = "setuptools";
+  version = "2.2.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "mvn23";
-    repo = pname;
+    repo = "pyotgw";
     rev = "refs/tags/${version}";
-    hash = "sha256-XIwBGjvIulKLmYZIorKIJwoHTNOIYYX8US2Na8MZ2LA=";
+    hash = "sha256-SowM+glni1PGkM87JT9+QWTD4Tu9XmsfXg99GZzSCJM=";
   };
 
-  propagatedBuildInputs = [
-    pyserial-asyncio
-  ];
+  build-system = [ setuptools ];
+
+  dependencies = [ pyserial-asyncio-fast ];
 
   nativeCheckInputs = [
     pytest-asyncio
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [
-    "pyotgw"
-  ];
+  pythonImportsCheck = [ "pyotgw" ];
 
   meta = with lib; {
     description = "Python module to interact the OpenTherm Gateway";
diff --git a/pkgs/development/python-modules/pyproject-metadata/default.nix b/pkgs/development/python-modules/pyproject-metadata/default.nix
index 0111ad3e52d44..e5f5e157a52dd 100644
--- a/pkgs/development/python-modules/pyproject-metadata/default.nix
+++ b/pkgs/development/python-modules/pyproject-metadata/default.nix
@@ -48,6 +48,5 @@ buildPythonPackage rec {
     homepage = "https://github.com/FFY00/python-pyproject-metadata";
     changelog = "https://github.com/FFY00/python-pyproject-metadata/blob/${version}/CHANGELOG.rst";
     license = licenses.mit;
-    maintainers = with maintainers; [ fridh ];
   };
 }
diff --git a/pkgs/development/python-modules/pyqt6-charts/default.nix b/pkgs/development/python-modules/pyqt6-charts/default.nix
index fd969f6a805a6..478e1b1e0f422 100644
--- a/pkgs/development/python-modules/pyqt6-charts/default.nix
+++ b/pkgs/development/python-modules/pyqt6-charts/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pyqt6-charts";
-  version = "6.6.0";
+  version = "6.7.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "PyQt6_Charts";
     inherit version;
-    sha256 = "sha256-FMxuXRnK6AEpUkpC+mMy0NXa2kKCqUI0Jea5rhtrxW0=";
+    sha256 = "sha256-xPfPNpko978DLk4z9xjTuP5m2hdtSVn+MHNalw2G81w=";
   };
 
   # fix include path and increase verbosity
diff --git a/pkgs/development/python-modules/pyqt6-webengine/default.nix b/pkgs/development/python-modules/pyqt6-webengine/default.nix
index 637a686f00cbc..f227a1469ab55 100644
--- a/pkgs/development/python-modules/pyqt6-webengine/default.nix
+++ b/pkgs/development/python-modules/pyqt6-webengine/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "pyqt6-webengine";
-  version = "6.6.0";
+  version = "6.7.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "PyQt6_WebEngine";
     inherit version;
-    hash = "sha256-1QuYTD+F5AnmkrFWEychUi1OjPm2wl4M+Sfuot+zlIc=";
+    hash = "sha256-aO3HrbbZ4nX13pVogeecyg1x+tQ5q+qhDYI7/1rFUAE=";
   };
 
   # fix include path and increase verbosity
diff --git a/pkgs/development/python-modules/pyrfxtrx/default.nix b/pkgs/development/python-modules/pyrfxtrx/default.nix
index a9da74ca7e84c..e9c1fac671318 100644
--- a/pkgs/development/python-modules/pyrfxtrx/default.nix
+++ b/pkgs/development/python-modules/pyrfxtrx/default.nix
@@ -3,21 +3,26 @@
 , fetchFromGitHub
 , pyserial
 , pytestCheckHook
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "pyrfxtrx";
-  version = "0.31.0";
-  format = "setuptools";
+  version = "0.31.1";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "Danielhiversen";
     repo = "pyRFXtrx";
     rev = "refs/tags/${version}";
-    hash = "sha256-0t5pPBk8Mzdm6STGtqGMljPjDoW2DTT7x21MEnG512w=";
+    hash = "sha256-Y9UVJZxm5G5ywNLW8nm162cZTs3/mFeI+ZEUGoc9eAs=";
   };
 
-  propagatedBuildInputs = [
+  build-system = [
+    setuptools
+  ];
+
+  dependencies = [
     pyserial
   ];
 
@@ -25,14 +30,10 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  disabledTestPaths = [
-    # https://github.com/Danielhiversen/pyRFXtrx/issues/130
-    "tests/test_rollertrol.py"
-  ];
-
   meta = with lib; {
     description = "Library to communicate with the RFXtrx family of devices";
     homepage = "https://github.com/Danielhiversen/pyRFXtrx";
+    changelog = "https://github.com/Danielhiversen/pyRFXtrx/releases/tag/${version}";
     license = licenses.lgpl3Plus;
     maintainers = with maintainers; [ dotlambda ];
   };
diff --git a/pkgs/development/python-modules/pyrisco/default.nix b/pkgs/development/python-modules/pyrisco/default.nix
index 8c9ec561324a8..ee84881ff5f9b 100644
--- a/pkgs/development/python-modules/pyrisco/default.nix
+++ b/pkgs/development/python-modules/pyrisco/default.nix
@@ -1,14 +1,15 @@
-{ lib
-, aiohttp
-, buildPythonPackage
-, fetchFromGitHub
-, pythonOlder
-, setuptools
+{
+  lib,
+  aiohttp,
+  buildPythonPackage,
+  fetchFromGitHub,
+  pythonOlder,
+  setuptools,
 }:
 
 buildPythonPackage rec {
   pname = "pyrisco";
-  version = "0.6.0";
+  version = "0.6.1";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -17,23 +18,17 @@ buildPythonPackage rec {
     owner = "OnFreund";
     repo = "pyrisco";
     rev = "refs/tags/v${version}";
-    hash = "sha256-+qnwJzf4nKio4IJo7NNA19B3tbOd+jhnGryiRMcdi6o=";
+    hash = "sha256-NviB3C+YApOo3WGQ1L8Qwyh8C9l8sCgaSA+xn2wYhjg=";
   };
 
-  nativeBuildInputs = [
-    setuptools
-  ];
+  build-system = [ setuptools ];
 
-  propagatedBuildInputs = [
-    aiohttp
-  ];
+  dependencies = [ aiohttp ];
 
   # Project has no tests
   doCheck = false;
 
-  pythonImportsCheck = [
-    "pyrisco"
-  ];
+  pythonImportsCheck = [ "pyrisco" ];
 
   meta = with lib; {
     description = "Python interface to Risco alarm systems through Risco Cloud";
diff --git a/pkgs/development/python-modules/pysam/default.nix b/pkgs/development/python-modules/pysam/default.nix
index 269b2249887a5..dbce429f4338a 100644
--- a/pkgs/development/python-modules/pysam/default.nix
+++ b/pkgs/development/python-modules/pysam/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname   = "pysam";
-  version = "0.22.0";
+  version = "0.22.1";
   pyproject = true;
 
   # Fetching from GitHub instead of PyPi cause the 0.13 src release on PyPi is
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "pysam-developers";
     repo = "pysam";
     rev = "refs/tags/v${version}";
-    hash = "sha256-TLqZF5NS9ROH8z7c2ZxfOYNRIe5pabMNBuhQ4azFmDU=";
+    hash = "sha256-1sivEf8xN4SJPtJiAcBZG1bbgy66yWXzQis1mPeU+sA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pysigma-backend-elasticsearch/default.nix b/pkgs/development/python-modules/pysigma-backend-elasticsearch/default.nix
index 2a9ae5011d892..4fea0395ef6f1 100644
--- a/pkgs/development/python-modules/pysigma-backend-elasticsearch/default.nix
+++ b/pkgs/development/python-modules/pysigma-backend-elasticsearch/default.nix
@@ -1,16 +1,17 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, poetry-core
-, pysigma
-, pytestCheckHook
-, pythonOlder
-, requests
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  poetry-core,
+  pysigma,
+  pytestCheckHook,
+  pythonOlder,
+  requests,
 }:
 
 buildPythonPackage rec {
   pname = "pysigma-backend-elasticsearch";
-  version = "1.0.12";
+  version = "1.1.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -19,7 +20,7 @@ buildPythonPackage rec {
     owner = "SigmaHQ";
     repo = "pySigma-backend-elasticsearch";
     rev = "refs/tags/v${version}";
-    hash = "sha256-ibCwTZymgd+VuE4UXbYxUyIbzlpfIdc2zE8Nz/vhBGQ=";
+    hash = "sha256-1tCn0aPYhjyOQJxN0cqTMDCcE0eZwRtTK6OV3rU1a1E=";
   };
 
   postPatch = ''
@@ -27,22 +28,16 @@ buildPythonPackage rec {
       --replace-fail " --cov=sigma --cov-report term --cov-report xml:cov.xml" ""
   '';
 
-  nativeBuildInputs = [
-    poetry-core
-  ];
+  build-system = [ poetry-core ];
 
-  propagatedBuildInputs = [
-    pysigma
-  ];
+  dependencies = [ pysigma ];
 
   nativeCheckInputs = [
     pytestCheckHook
     requests
   ];
 
-  pythonImportsCheck = [
-    "sigma.backends.elasticsearch"
-  ];
+  pythonImportsCheck = [ "sigma.backends.elasticsearch" ];
 
   disabledTests = [
     # Tests requires network access
diff --git a/pkgs/development/python-modules/pysigma/default.nix b/pkgs/development/python-modules/pysigma/default.nix
index bf7a00dd8fe1f..5816b43926ac0 100644
--- a/pkgs/development/python-modules/pysigma/default.nix
+++ b/pkgs/development/python-modules/pysigma/default.nix
@@ -1,21 +1,22 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, fetchpatch
-, jinja2
-, packaging
-, poetry-core
-, pyparsing
-, pytestCheckHook
-, pythonOlder
-, pythonRelaxDepsHook
-, pyyaml
-, requests
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  fetchpatch,
+  jinja2,
+  packaging,
+  poetry-core,
+  pyparsing,
+  pytestCheckHook,
+  pythonOlder,
+  pythonRelaxDepsHook,
+  pyyaml,
+  requests,
 }:
 
 buildPythonPackage rec {
   pname = "pysigma";
-  version = "0.11.4";
+  version = "0.11.5";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -24,7 +25,7 @@ buildPythonPackage rec {
     owner = "SigmaHQ";
     repo = "pySigma";
     rev = "refs/tags/v${version}";
-    hash = "sha256-tlFrUAwOTK+O/YJjfA6nwsVAcZrMNXFmCYoxHc2ykVY=";
+    hash = "sha256-Mr4etI6VNPWDVZj4A9j3Ka9v+BpFC75MLXppYELIWrg=";
   };
 
   pythonRelaxDeps = [
@@ -32,10 +33,9 @@ buildPythonPackage rec {
     "packaging"
   ];
 
-  build-system = [
-    poetry-core
-    pythonRelaxDepsHook
-  ];
+  build-system = [ poetry-core ];
+
+  nativeBuildInputs = [ pythonRelaxDepsHook ];
 
   dependencies = [
     jinja2
@@ -45,9 +45,7 @@ buildPythonPackage rec {
     requests
   ];
 
-  nativeCheckInputs = [
-    pytestCheckHook
-  ];
+  nativeCheckInputs = [ pytestCheckHook ];
 
   disabledTests = [
     # Tests require network connection
@@ -55,9 +53,7 @@ buildPythonPackage rec {
     "test_sigma_plugin_installation"
   ];
 
-  pythonImportsCheck = [
-    "sigma"
-  ];
+  pythonImportsCheck = [ "sigma" ];
 
   meta = with lib; {
     description = "Library to parse and convert Sigma rules into queries";
diff --git a/pkgs/development/python-modules/pystemd/default.nix b/pkgs/development/python-modules/pystemd/default.nix
index 43d51869ffb82..44251a333ed9c 100644
--- a/pkgs/development/python-modules/pystemd/default.nix
+++ b/pkgs/development/python-modules/pystemd/default.nix
@@ -25,12 +25,13 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [ pkg-config ];
 
-  nativeCheckInputs = [ lxml mock psutil pytest ];
+  propagatedBuildInputs = [ lxml psutil ];
+
+  nativeCheckInputs = [ mock pytest ];
 
   checkPhase = "pytest tests";
 
   meta = with lib; {
-    broken = (stdenv.isLinux && stdenv.isAarch64);
     description = ''
       Thin Cython-based wrapper on top of libsystemd, focused on exposing the
       dbus API via sd-bus in an automated and easy to consume way
diff --git a/pkgs/development/python-modules/pytensor/default.nix b/pkgs/development/python-modules/pytensor/default.nix
index ef05c9e5180a3..5b281130f309a 100644
--- a/pkgs/development/python-modules/pytensor/default.nix
+++ b/pkgs/development/python-modules/pytensor/default.nix
@@ -19,21 +19,20 @@
 , pytestCheckHook
 , pythonOlder
 , tensorflow-probability
-, stdenv
 }:
 
 buildPythonPackage rec {
   pname = "pytensor";
-  version = "2.18.6";
+  version = "2.20.0";
   pyproject = true;
 
-  disabled = pythonOlder "3.9";
+  disabled = pythonOlder "3.10";
 
   src = fetchFromGitHub {
     owner = "pymc-devs";
     repo = "pytensor";
     rev = "refs/tags/rel-${version}";
-    hash = "sha256-SMh4wVZwmc87ztFn2OOI234VP3JzmxVMBkn7lYwVu6M=";
+    hash = "sha256-bvkOMer+zYSsiU4a147eUEZjjUeTVpb9f/hepMZZ3sE=";
   };
 
   postPatch = ''
@@ -41,12 +40,12 @@ buildPythonPackage rec {
       --replace "versioneer[toml]==0.28" "versioneer[toml]"
   '';
 
-  nativeBuildInputs = [
+  build-system = [
     cython
     versioneer
   ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     cons
     etuples
     filelock
@@ -98,6 +97,5 @@ buildPythonPackage rec {
     changelog = "https://github.com/pymc-devs/pytensor/releases";
     license = licenses.bsd3;
     maintainers = with maintainers; [ bcdarwin ferrine ];
-    broken = (stdenv.isLinux && stdenv.isAarch64);
   };
 }
diff --git a/pkgs/development/python-modules/pytest-dependency/default.nix b/pkgs/development/python-modules/pytest-dependency/default.nix
index e49f02ce30dc5..7ca70a0f4fc7d 100644
--- a/pkgs/development/python-modules/pytest-dependency/default.nix
+++ b/pkgs/development/python-modules/pytest-dependency/default.nix
@@ -37,6 +37,6 @@ buildPythonPackage rec {
     changelog = "https://github.com/RKrahl/pytest-dependency/blob/${version}/CHANGES.rst";
     description = "Manage dependencies of tests";
     license = licenses.asl20;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/python-modules/pytest-json-report/default.nix b/pkgs/development/python-modules/pytest-json-report/default.nix
index f3b556699e8b3..dce8df48a430b 100644
--- a/pkgs/development/python-modules/pytest-json-report/default.nix
+++ b/pkgs/development/python-modules/pytest-json-report/default.nix
@@ -1,12 +1,13 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, pytest
-, pytest-metadata
-, pytest-xdist
-, pytestCheckHook
-, pythonOlder
-, setuptools
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  pytest,
+  pytest-metadata,
+  pytest-xdist,
+  pytestCheckHook,
+  pythonOlder,
+  setuptools,
 }:
 
 buildPythonPackage rec {
@@ -23,17 +24,11 @@ buildPythonPackage rec {
     hash = "sha256-hMB/atDuo7CjwhHFUOxVfgJ7Qp4AA9J428iv7hyQFcs=";
   };
 
-  nativeBuildInputs = [
-    setuptools
-  ];
+  build-system = [ setuptools ];
 
-  buildInputs = [
-    pytest
-  ];
+  buildInputs = [ pytest ];
 
-  propagatedBuildInputs = [
-    pytest-metadata
-  ];
+  dependencies = [ pytest-metadata ];
 
   nativeCheckInputs = [
     pytest-xdist
@@ -44,11 +39,12 @@ buildPythonPackage rec {
     # pytest-flaky is not available at the moment
     "test_bug_31"
     "test_environment_via_metadata_plugin"
+    # AssertionError
+    "test_report_collectors"
+    "test_report_crash_and_traceback"
   ];
 
-  pythonImportsCheck = [
-    "pytest_jsonreport"
-  ];
+  pythonImportsCheck = [ "pytest_jsonreport" ];
 
   meta = with lib; {
     description = "Pytest plugin to report test results as JSON";
diff --git a/pkgs/development/python-modules/pytest-twisted/default.nix b/pkgs/development/python-modules/pytest-twisted/default.nix
index 37aaf0038052b..d83153c54c91e 100644
--- a/pkgs/development/python-modules/pytest-twisted/default.nix
+++ b/pkgs/development/python-modules/pytest-twisted/default.nix
@@ -40,6 +40,6 @@ buildPythonPackage rec {
     description = "A twisted plugin for py.test";
     homepage = "https://github.com/pytest-dev/pytest-twisted";
     license = licenses.bsd3;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/python-modules/python-lsp-black/default.nix b/pkgs/development/python-modules/python-lsp-black/default.nix
index 6387e833b7fcd..20828ac3e38d7 100644
--- a/pkgs/development/python-modules/python-lsp-black/default.nix
+++ b/pkgs/development/python-modules/python-lsp-black/default.nix
@@ -24,15 +24,20 @@ buildPythonPackage rec {
   };
 
   patches =
-    /** fix test failure with black<24.2.0;
-        remove this patch once python-lsp-black>2.0.0 */
+    /** includes a series of patches fixing tests not yet released as 2.0.1+ version
+        they are meant to keep up to date with black releases */
     lib.optional
-      (with lib; (versionOlder version "2.0.1") && (versionAtLeast black.version "24.2.0"))
+      (with lib; versionAtLeast black.version "24.2.0")
       (fetchpatch {
-        url = "https://patch-diff.githubusercontent.com/raw/python-lsp/python-lsp-black/pull/56.patch";
+        url = "https://github.com/python-lsp/python-lsp-black/commit/d43b41431379f9c9bb05fab158c4d97e6d515f8f.patch";
         hash = "sha256-38bYU27+xtA8Kq3appXTkNnkG5/XgrUJ2nQ5+yuSU2U=";
       })
-    ++ [ ];
+    ++ lib.optional
+      (with lib; versionAtLeast black.version "24.3.0")
+      (fetchpatch {
+        url = "https://github.com/python-lsp/python-lsp-black/commit/9298585a9d14d25920c33b188d79e820dc98d4a9.patch";
+        hash = "sha256-4u0VIS7eidVEiKRW2wc8lJVkJwhzJD/M+uuqmTtiZ7E=";
+      });
 
   nativeBuildInputs = [
     setuptools
diff --git a/pkgs/development/python-modules/python-lsp-ruff/default.nix b/pkgs/development/python-modules/python-lsp-ruff/default.nix
index 695574698e134..3a208e6089207 100644
--- a/pkgs/development/python-modules/python-lsp-ruff/default.nix
+++ b/pkgs/development/python-modules/python-lsp-ruff/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "python-lsp-ruff";
-  version = "2.2.0";
+  version = "2.2.1";
   pyproject = true;
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit version;
-    pname = "python-lsp-ruff";
-    hash = "sha256-Z8FAZ/drw9Fr1Uc6V04NezvUItcjti0rKoM1borwUds=";
+    pname = "python_lsp_ruff";
+    hash = "sha256-C7OiJ7wTboq4xm6Rcz8mc9wV329/yeuZ1CZ9CZGzJ6U=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/python-novaclient/default.nix b/pkgs/development/python-modules/python-novaclient/default.nix
index 8ce053cab37cc..d3451236d0914 100644
--- a/pkgs/development/python-modules/python-novaclient/default.nix
+++ b/pkgs/development/python-modules/python-novaclient/default.nix
@@ -46,6 +46,8 @@ buildPythonPackage rec {
 
   checkPhase = ''
     stestr run -e <(echo "
+    novaclient.tests.unit.test_shell.ParserTest.test_ambiguous_option
+    novaclient.tests.unit.test_shell.ParserTest.test_not_really_ambiguous_option
     novaclient.tests.unit.test_shell.ShellTest.test_osprofiler
     novaclient.tests.unit.test_shell.ShellTestKeystoneV3.test_osprofiler
     ")
diff --git a/pkgs/development/python-modules/python-twitter/default.nix b/pkgs/development/python-modules/python-twitter/default.nix
index 646cdaa18e461..92661187059f4 100644
--- a/pkgs/development/python-modules/python-twitter/default.nix
+++ b/pkgs/development/python-modules/python-twitter/default.nix
@@ -60,6 +60,6 @@ buildPythonPackage rec {
     description = "Python wrapper around the Twitter API";
     homepage = "https://github.com/bear/python-twitter";
     license = licenses.asl20;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/python-modules/python-whois/default.nix b/pkgs/development/python-modules/python-whois/default.nix
index a9bb5cdd8e383..be1186c5ee9c5 100644
--- a/pkgs/development/python-modules/python-whois/default.nix
+++ b/pkgs/development/python-modules/python-whois/default.nix
@@ -1,33 +1,31 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-, pynose
-, pytestCheckHook
-, python-dateutil
-, pythonOlder
-, setuptools
-, simplejson
+{
+  lib,
+  buildPythonPackage,
+  fetchPypi,
+  pynose,
+  pytestCheckHook,
+  python-dateutil,
+  pythonOlder,
+  setuptools,
+  simplejson,
 }:
 
 buildPythonPackage rec {
   pname = "python-whois";
-  version = "0.9.3";
+  version = "0.9.4";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-jdoscMD4nw+PxIpCNweJMyv/9nm1+kYgSIhBUdJso84=";
+    pname = "python_whois";
+    inherit version;
+    hash = "sha256-d7xzR7+BXWXM0ZZxHCmDdlLwdYWu2tPDwE3YhWUf16c=";
   };
 
-  build-system = [
-    setuptools
-  ];
+  build-system = [ setuptools ];
 
-  dependencies = [
-    python-dateutil
-  ];
+  dependencies = [ python-dateutil ];
 
   nativeCheckInputs = [
     pynose
@@ -45,9 +43,7 @@ buildPythonPackage rec {
     "test_simple_unicode_domain"
   ];
 
-  pythonImportsCheck = [
-    "whois"
-  ];
+  pythonImportsCheck = [ "whois" ];
 
   meta = with lib; {
     description = "Python module to produce parsed WHOIS data";
diff --git a/pkgs/development/python-modules/pytibber/default.nix b/pkgs/development/python-modules/pytibber/default.nix
index e0c55bf0e9e93..83b1a73820e86 100644
--- a/pkgs/development/python-modules/pytibber/default.nix
+++ b/pkgs/development/python-modules/pytibber/default.nix
@@ -1,37 +1,35 @@
 { lib
 , aiohttp
-, async-timeout
 , buildPythonPackage
 , fetchFromGitHub
 , gql
-, graphql-subscription-manager
 , pytest-asyncio
 , pytestCheckHook
-, python-dateutil
 , pythonOlder
-, pytz
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "pytibber";
-  version = "0.29.0";
-  format = "setuptools";
+  version = "0.29.1";
+  pyproject = true;
 
-  disabled = pythonOlder "3.9";
+  disabled = pythonOlder "3.11";
 
   src = fetchFromGitHub {
     owner = "Danielhiversen";
     repo = "pyTibber";
     rev = "refs/tags/${version}";
-    hash = "sha256-rj/uIgIDjmEGD6muUllTb0PdLkedarMgVq38qqNoMI4=";
+    hash = "sha256-fKeNQifSCxsqR2mhK2w5kG669byYNNLkfxAYTUtfWE0=";
   };
 
-  propagatedBuildInputs = [
+  build-system = [
+    setuptools
+  ];
+
+  dependencies = [
     aiohttp
-    async-timeout
     gql
-    graphql-subscription-manager
-    python-dateutil
   ] ++ gql.optional-dependencies.websockets;
 
   nativeCheckInputs = [
diff --git a/pkgs/development/python-modules/pytm/default.nix b/pkgs/development/python-modules/pytm/default.nix
index 5f5722159a1cb..8d3d7c9af8389 100644
--- a/pkgs/development/python-modules/pytm/default.nix
+++ b/pkgs/development/python-modules/pytm/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pytm";
-  version = "1.3.0";
+  version = "1.3.1";
   format = "setuptools";
   disabled = pythonOlder "3.6";
 
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "izar";
     repo = pname;
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-R/MDz6lCvUxtn6IJ8STHlWzkSjnUJziO+oPnaYhrr7U=";
+    sha256 = "sha256-MseV1ucDCzSM36zx04g9v5euDX0t74KqUSB4+brHzt8=";
   };
 
   propagatedBuildInputs = [ pydal graphviz pandoc plantuml ];
diff --git a/pkgs/development/python-modules/pyvex/default.nix b/pkgs/development/python-modules/pyvex/default.nix
index b56d16e9dfd73..e29bc2d7abe85 100644
--- a/pkgs/development/python-modules/pyvex/default.nix
+++ b/pkgs/development/python-modules/pyvex/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "pyvex";
-  version = "9.2.99";
+  version = "9.2.100";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-y30IR3L+bgQA2gJkminkIkz1/UH27tuHn0Ekk0mtghk=";
+    hash = "sha256-5CjpL6uxJjZN4GwYATVnX071XYRwCuEe7P/O4szAo3Y=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/pywavefront/default.nix b/pkgs/development/python-modules/pywavefront/default.nix
new file mode 100644
index 0000000000000..0139f8209f371
--- /dev/null
+++ b/pkgs/development/python-modules/pywavefront/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, pyglet
+, pytestCheckHook
+, mock
+}:
+
+buildPythonPackage rec {
+  pname = "PyWavefront";
+  version = "1.3.3";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "pywavefront";
+    repo = "PyWavefront";
+    rev = version;
+    hash = "sha256-ci40L2opJ+NYYtaAeX1Y5pzkdK+loFspTriX/xv4KR8=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  passthru.optional-dependencies.visualization = [
+    pyglet
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    mock
+  ];
+
+
+  pythonImportsCheck = [ "pywavefront" ];
+
+  meta = with lib; {
+    description = "Python library for importing Wavefront .obj files";
+    homepage = "https://github.com/pywavefront/PyWavefront";
+    changelog = "https://github.com/pywavefront/PyWavefront/blob/${src.rev}/CHANGELOG.md";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ pbsds ];
+  };
+}
diff --git a/pkgs/development/python-modules/qdrant-client/default.nix b/pkgs/development/python-modules/qdrant-client/default.nix
index a2538e32e4853..33fdd38d4edb5 100644
--- a/pkgs/development/python-modules/qdrant-client/default.nix
+++ b/pkgs/development/python-modules/qdrant-client/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "qdrant-client";
-  version = "1.8.2";
+  version = "1.9.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "qdrant";
     repo = "qdrant-client";
     rev = "refs/tags/v${version}";
-    hash = "sha256-skPBKSqtwMfm5Tvvhg0pSOsnrf0tfvsUgwxjnUbj3NA=";
+    hash = "sha256-ka5qhs9yhvbGkxXlq9Z3ZMuY1muf9HaODTxCgSLU4io=";
   };
 
   build-system = [ poetry-core ];
diff --git a/pkgs/development/python-modules/qtconsole/default.nix b/pkgs/development/python-modules/qtconsole/default.nix
index 6228fc088af0d..db6f65abdda35 100644
--- a/pkgs/development/python-modules/qtconsole/default.nix
+++ b/pkgs/development/python-modules/qtconsole/default.nix
@@ -54,7 +54,6 @@ buildPythonPackage rec {
     mainProgram = "jupyter-qtconsole";
     homepage = "https://qtconsole.readthedocs.io/";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ fridh ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/python-modules/qtile/default.nix b/pkgs/development/python-modules/qtile/default.nix
index 3067892e638ac..6dc9cc0119436 100644
--- a/pkgs/development/python-modules/qtile/default.nix
+++ b/pkgs/development/python-modules/qtile/default.nix
@@ -28,6 +28,7 @@
 , xcbutilwm
 , xcffib
 , xkbcommon
+, nixosTests
 }:
 
 buildPythonPackage rec {
@@ -89,7 +90,11 @@ buildPythonPackage rec {
     xcbutilwm
   ];
 
-  doCheck = false; # Requires X server #TODO this can be worked out with the existing NixOS testing infrastructure.
+  doCheck = false;
+  passthru = {
+    tests.qtile = nixosTests.qtile;
+    providedSessions = [ "qtile" ];
+  };
 
   meta = with lib; {
     homepage = "http://www.qtile.org/";
diff --git a/pkgs/development/python-modules/quantile-forest/default.nix b/pkgs/development/python-modules/quantile-forest/default.nix
new file mode 100644
index 0000000000000..3b6bd12cd4c83
--- /dev/null
+++ b/pkgs/development/python-modules/quantile-forest/default.nix
@@ -0,0 +1,62 @@
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  python,
+  pythonOlder,
+
+  setuptools,
+  wheel,
+  cython,
+
+  numpy,
+  scipy,
+  scikit-learn,
+}:
+
+buildPythonPackage rec {
+  pname = "quantile-forest";
+  version = "1.3.4";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "zillow";
+    repo = "quantile-forest";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-hzLJq0y+qjc48PfHW3i73x9safGOy0V1HEQ5WR8IXpI=";
+  };
+
+  build-system = [
+    setuptools
+    cython
+    wheel
+    numpy
+    scipy
+    scikit-learn
+  ];
+
+  dependencies = [
+    numpy
+    scipy
+    scikit-learn
+  ];
+
+  postInstall = ''
+    rm -rf $out/${python.sitePackages}/examples
+  '';
+
+  # need network connection
+  doCheck = false;
+
+  pythonImportsCheck = [ "quantile_forest" ];
+
+  meta = with lib; {
+    description = "Quantile Regression Forests compatible with scikit-learn";
+    homepage = "https://github.com/zillow/quantile-forest";
+    changelog = "https://github.com/zillow/quantile-forest/releases/tag/v${version}";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ vizid ];
+  };
+}
diff --git a/pkgs/development/python-modules/quantiphy/default.nix b/pkgs/development/python-modules/quantiphy/default.nix
index 57ac30017ce44..56790351dcd66 100644
--- a/pkgs/development/python-modules/quantiphy/default.nix
+++ b/pkgs/development/python-modules/quantiphy/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "quantiphy";
-  version = "2.19";
+  version = "2.20";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -22,8 +22,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "KenKundert";
     repo = "quantiphy";
-    rev = "v${version}";
-    hash = "sha256-oSWq/D1EX6mxUDElfujyOSEtql0csAm72u2B5RuQddE=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-QXCs93plNSVNiCLEoXx2raH6EbH1rXyjvpBfl+8eXjc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/quixote/default.nix b/pkgs/development/python-modules/quixote/default.nix
new file mode 100644
index 0000000000000..557a59390fb93
--- /dev/null
+++ b/pkgs/development/python-modules/quixote/default.nix
@@ -0,0 +1,40 @@
+{
+  lib,
+  buildPythonPackage,
+  fetchPypi,
+  pytestCheckHook,
+  pythonOlder,
+  setuptools,
+}:
+
+buildPythonPackage rec {
+  pname = "quixote";
+  version = "3.6";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchPypi {
+    pname = "Quixote";
+    inherit version;
+    hash = "sha256-78t6tznI3+vIRkWNi0HDPGhR8aGaET3IMXQvmAPdSSY=";
+  };
+
+  build-system = [ setuptools ];
+
+  nativeCheckInputs = [ pytestCheckHook ];
+
+  pythonImportsCheck = [ "quixote" ];
+
+  disabledTestPaths = [
+    # Test has additional requirements
+    "quixote/ptl/test/test_ptl.py"
+  ];
+
+  meta = with lib; {
+    description = "A small and flexible Python Web application framework";
+    homepage = "https://pypi.org/project/Quixote/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/rapidgzip/default.nix b/pkgs/development/python-modules/rapidgzip/default.nix
index 69f9fb1388d72..ada1a0881d8a1 100644
--- a/pkgs/development/python-modules/rapidgzip/default.nix
+++ b/pkgs/development/python-modules/rapidgzip/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "rapidgzip";
-  version = "0.13.1";
+  version = "0.13.2";
   pyproject = true;
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-t6mfOsCg0FoV7N4GfTIs1KwxeGIOORuxbEIEJN52nRw=";
+    hash = "sha256-W1Wi9byhwYRyF6VhZ+BkPLsxCzaHFHoYFs/LggXo5tQ=";
   };
 
   nativeBuildInputs = [ cython nasm setuptools ];
diff --git a/pkgs/development/python-modules/recipe-scrapers/default.nix b/pkgs/development/python-modules/recipe-scrapers/default.nix
index 70a852bfb1a01..4c9ad2d8295e1 100644
--- a/pkgs/development/python-modules/recipe-scrapers/default.nix
+++ b/pkgs/development/python-modules/recipe-scrapers/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "recipe-scrapers";
-  version = "14.55.0";
+  version = "14.56.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "hhursev";
     repo = "recipe-scrapers";
     rev = "refs/tags/${version}";
-    hash = "sha256-HjR4Lwlcrpeqv6BXI+aYCL9e7ZTaTa522z0lSW03wW0=";
+    hash = "sha256-+9oQLCuR+rRCG5tnyofHd8WMkQ5QPsWfLCnwIDU5d9o=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/recommonmark/default.nix b/pkgs/development/python-modules/recommonmark/default.nix
index 3faf8493043ab..b58cf8f280002 100644
--- a/pkgs/development/python-modules/recommonmark/default.nix
+++ b/pkgs/development/python-modules/recommonmark/default.nix
@@ -38,6 +38,5 @@ buildPythonPackage rec {
     description = "A docutils-compatibility bridge to CommonMark";
     homepage = "https://github.com/rtfd/recommonmark";
     license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ fridh ];
   };
 }
diff --git a/pkgs/development/python-modules/reikna/default.nix b/pkgs/development/python-modules/reikna/default.nix
index 86a41f4a9f0d9..ad71a2943ea18 100644
--- a/pkgs/development/python-modules/reikna/default.nix
+++ b/pkgs/development/python-modules/reikna/default.nix
@@ -38,7 +38,6 @@ buildPythonPackage rec {
     description = "GPGPU algorithms for PyCUDA and PyOpenCL";
     homepage = "https://github.com/fjarri/reikna";
     license = licenses.mit;
-    maintainers = [ maintainers.fridh ];
 
   };
 
diff --git a/pkgs/development/python-modules/reptor/default.nix b/pkgs/development/python-modules/reptor/default.nix
index 3c52cc3f49aa2..a9051dc3eb5fb 100644
--- a/pkgs/development/python-modules/reptor/default.nix
+++ b/pkgs/development/python-modules/reptor/default.nix
@@ -33,7 +33,7 @@
 
 buildPythonPackage rec {
   pname = "reptor";
-  version = "0.18";
+  version = "0.19";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -42,7 +42,7 @@ buildPythonPackage rec {
     owner = "Syslifters";
     repo = "reptor";
     rev = "refs/tags/${version}";
-    hash = "sha256-sojU2Asop0b/b/gfKXoRseuT1zHEO00JNrRWhMYh0Vo=";
+    hash = "sha256-7ZmMG1Fil8/JAks50baT/p1H7wHjap58+i81/DFlSAk=";
   };
 
   pythonRelaxDeps = true;
diff --git a/pkgs/development/python-modules/requests-download/default.nix b/pkgs/development/python-modules/requests-download/default.nix
index 0d1a5fb10a45d..8a09dabbaf13b 100644
--- a/pkgs/development/python-modules/requests-download/default.nix
+++ b/pkgs/development/python-modules/requests-download/default.nix
@@ -27,6 +27,5 @@ buildPythonPackage rec {
     description = "Download files using requests and save them to a target path";
     homepage = "https://www.github.com/takluyver/requests_download";
     license = lib.licenses.mit;
-    maintainers = [ lib.maintainers.fridh ];
   };
 }
diff --git a/pkgs/development/python-modules/resolvelib/default.nix b/pkgs/development/python-modules/resolvelib/default.nix
index 6b1292c4c7be0..d6c479fc4adf5 100644
--- a/pkgs/development/python-modules/resolvelib/default.nix
+++ b/pkgs/development/python-modules/resolvelib/default.nix
@@ -1,42 +1,31 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, setuptools
 , commentjson
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "resolvelib";
-  # Currently this package is only used by Ansible and breaking changes
-  # are frequently introduced, so when upgrading ensure the new version
-  # is compatible with Ansible
-  # https://github.com/NixOS/nixpkgs/pull/128636
-  # https://github.com/ansible/ansible/blob/devel/requirements.txt
-  version = "0.5.5";
-  format = "setuptools";
+  version = "1.0.1";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "sarugaku";
     repo = "resolvelib";
     rev = version;
-    sha256 = "198vfv78hilpg0d0mjzchzp9zk6239wnra61vlsgwpcgz66d2bgv";
+    hash = "sha256-oxyPn3aFPOyx/2aP7Eg2ThtPbyzrFT1JzWqy6GqNbzM=";
   };
 
+  build-system = [
+    setuptools
+  ];
+
   nativeCheckInputs = [
     commentjson
     pytestCheckHook
   ];
-  # TODO: reenable after updating to >= 1.0.0
-  # https://github.com/sarugaku/resolvelib/issues/114
-  disabledTests = [
-    "shared_parent_dependency"
-    "deep_complex_conflict"
-    "shared_parent_dependency_with_swapping"
-    "spapping_and_rewinding"
-    "pruned_unresolved_orphan"
-    "conflict_common_parent"
-    "same-package"
-  ];
 
   pythonImportsCheck = [
     "resolvelib"
@@ -45,6 +34,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Resolve abstract dependencies into concrete ones";
     homepage = "https://github.com/sarugaku/resolvelib";
+    changelog = "https://github.com/sarugaku/resolvelib/blob/${src.rev}/CHANGELOG.rst";
     license = licenses.isc;
     maintainers = with maintainers; [ ];
   };
diff --git a/pkgs/development/python-modules/reuse/default.nix b/pkgs/development/python-modules/reuse/default.nix
index b0d9920830019..e697d8b26210f 100644
--- a/pkgs/development/python-modules/reuse/default.nix
+++ b/pkgs/development/python-modules/reuse/default.nix
@@ -1,19 +1,20 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, poetry-core
-, binaryornot
-, boolean-py
-, debian
-, jinja2
-, license-expression
-, pytestCheckHook
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  poetry-core,
+  binaryornot,
+  boolean-py,
+  debian,
+  jinja2,
+  license-expression,
+  pytestCheckHook,
 }:
 
 buildPythonPackage rec {
   pname = "reuse";
   version = "3.0.2";
-  format = "pyproject";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "fsfe";
@@ -22,11 +23,9 @@ buildPythonPackage rec {
     hash = "sha256-ZYmQtJ503HDmu+Cd6IxOrCcOVH+CcFnFe3oe6PqvcE0=";
   };
 
-  nativeBuildInputs = [
-    poetry-core
-  ];
+  build-system = [ poetry-core ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     binaryornot
     boolean-py
     debian
@@ -46,8 +45,17 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "A tool for compliance with the REUSE Initiative recommendations";
     homepage = "https://github.com/fsfe/reuse-tool";
-    license = with licenses; [ asl20 cc-by-sa-40 cc0 gpl3Plus ];
-    maintainers = with maintainers; [ FlorianFranzen Luflosi ];
+    changelog = "https://github.com/fsfe/reuse-tool/blob/v${version}/CHANGELOG.md";
+    license = with licenses; [
+      asl20
+      cc-by-sa-40
+      cc0
+      gpl3Plus
+    ];
+    maintainers = with maintainers; [
+      FlorianFranzen
+      Luflosi
+    ];
     mainProgram = "reuse";
   };
 }
diff --git a/pkgs/development/python-modules/rfc6555/default.nix b/pkgs/development/python-modules/rfc6555/default.nix
index d33d518fcea5a..a3986a490feb9 100644
--- a/pkgs/development/python-modules/rfc6555/default.nix
+++ b/pkgs/development/python-modules/rfc6555/default.nix
@@ -36,6 +36,6 @@ buildPythonPackage rec {
     description = "Python implementation of the Happy Eyeballs Algorithm";
     homepage = "https://github.com/sethmlarson/rfc6555";
     license = licenses.asl20;
-    maintainers = with maintainers; [ endocrimes ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/robotframework-selenium2library/default.nix b/pkgs/development/python-modules/robotframework-selenium2library/default.nix
index 5d88338758088..c66d7c6ad646b 100644
--- a/pkgs/development/python-modules/robotframework-selenium2library/default.nix
+++ b/pkgs/development/python-modules/robotframework-selenium2library/default.nix
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     description = "Web testing library for Robot Framework";
     homepage = "https://github.com/robotframework/Selenium2Library";
     license = licenses.asl20;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
   };
 
 }
diff --git a/pkgs/development/python-modules/robotframework-seleniumlibrary/default.nix b/pkgs/development/python-modules/robotframework-seleniumlibrary/default.nix
index 961d967b31e69..a1130eaac619a 100644
--- a/pkgs/development/python-modules/robotframework-seleniumlibrary/default.nix
+++ b/pkgs/development/python-modules/robotframework-seleniumlibrary/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "robotframework-seleniumlibrary";
-  version = "6.2.0";
+  version = "6.3.0";
   pyproject = true;
 
   # no tests included in PyPI tarball
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "robotframework";
     repo = "SeleniumLibrary";
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-lvtu6z/PD2Ckj70SgDF69BwrhaoA36SDrAvj0XJsmCc=";
+    sha256 = "sha256-/bYk8S9fGTsftBokz1FH+7HwdhhtAvZgtQscUESTsjY=";
   };
 
   nativeBuildInputs = [
@@ -50,6 +50,6 @@ buildPythonPackage rec {
     description = "Web testing library for Robot Framework";
     homepage = "https://github.com/robotframework/SeleniumLibrary";
     license = licenses.asl20;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/python-modules/robotstatuschecker/default.nix b/pkgs/development/python-modules/robotstatuschecker/default.nix
index fb0d137c9b066..949945515c225 100644
--- a/pkgs/development/python-modules/robotstatuschecker/default.nix
+++ b/pkgs/development/python-modules/robotstatuschecker/default.nix
@@ -43,6 +43,6 @@ buildPythonPackage rec {
     description = "A tool for checking that Robot Framework test cases have expected statuses and log messages";
     homepage = "https://github.com/robotframework/statuschecker";
     license = licenses.asl20;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/python-modules/rq/default.nix b/pkgs/development/python-modules/rq/default.nix
index 36ddd4d95b349..45c8627be5df1 100644
--- a/pkgs/development/python-modules/rq/default.nix
+++ b/pkgs/development/python-modules/rq/default.nix
@@ -61,6 +61,11 @@ buildPythonPackage rec {
     "rq"
   ];
 
+  disabledTests = [
+    # AttributeError
+    "test_clean_large_registry"
+  ];
+
   meta = with lib; {
     description = "Library for creating background jobs and processing them";
     homepage = "https://github.com/nvie/rq/";
diff --git a/pkgs/development/python-modules/rst2pdf/default.nix b/pkgs/development/python-modules/rst2pdf/default.nix
index b2531886eaa8c..f40da3a301f77 100644
--- a/pkgs/development/python-modules/rst2pdf/default.nix
+++ b/pkgs/development/python-modules/rst2pdf/default.nix
@@ -72,6 +72,6 @@ buildPythonPackage rec {
     homepage = "https://rst2pdf.org/";
     changelog = "https://github.com/rst2pdf/rst2pdf/blob/${version}/CHANGES.rst";
     license = licenses.mit;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/sagemaker/default.nix b/pkgs/development/python-modules/sagemaker/default.nix
index a8b0d3f07cba4..33e0c85697c1e 100644
--- a/pkgs/development/python-modules/sagemaker/default.nix
+++ b/pkgs/development/python-modules/sagemaker/default.nix
@@ -32,7 +32,7 @@
 
 buildPythonPackage rec {
   pname = "sagemaker";
-  version = "2.214.3";
+  version = "2.217.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -41,7 +41,7 @@ buildPythonPackage rec {
     owner = "aws";
     repo = "sagemaker-python-sdk";
     rev = "refs/tags/v${version}";
-    hash = "sha256-RE4uyIpFiZNDyS5R6+gMLlj0vcAIiHPattFPTSMGnCI=";
+    hash = "sha256-p73M0hBVpakdXGM56ECr4D3mQCBmB7Ud/p+Rj1+/Bic=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/scipy/default.nix b/pkgs/development/python-modules/scipy/default.nix
index 609c595eeb24a..64e261c374039 100644
--- a/pkgs/development/python-modules/scipy/default.nix
+++ b/pkgs/development/python-modules/scipy/default.nix
@@ -203,6 +203,6 @@ in buildPythonPackage {
     downloadPage = "https://github.com/scipy/scipy";
     homepage = "https://www.scipy.org/";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ fridh doronbehar ];
+    maintainers = with maintainers; [ doronbehar ];
   };
 }
diff --git a/pkgs/development/python-modules/scrapy/default.nix b/pkgs/development/python-modules/scrapy/default.nix
index 09ed93f8481f6..68bb9460c14fd 100644
--- a/pkgs/development/python-modules/scrapy/default.nix
+++ b/pkgs/development/python-modules/scrapy/default.nix
@@ -151,6 +151,6 @@ buildPythonPackage rec {
     homepage = "https://scrapy.org/";
     changelog = "https://github.com/scrapy/scrapy/raw/${version}/docs/news.rst";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ vinnymeller ];
   };
 }
diff --git a/pkgs/development/python-modules/seaborn/default.nix b/pkgs/development/python-modules/seaborn/default.nix
index a296478b176ce..beaf5d2e109bb 100644
--- a/pkgs/development/python-modules/seaborn/default.nix
+++ b/pkgs/development/python-modules/seaborn/default.nix
@@ -70,6 +70,5 @@ buildPythonPackage rec {
     homepage = "https://seaborn.pydata.org/";
     changelog = "https://github.com/mwaskom/seaborn/blob/master/doc/whatsnew/${src.rev}.rst";
     license = with licenses; [ bsd3 ];
-    maintainers = with maintainers; [ fridh ];
   };
 }
diff --git a/pkgs/development/python-modules/sentence-transformers/default.nix b/pkgs/development/python-modules/sentence-transformers/default.nix
index d0174236cebd9..aa68ab9133e80 100644
--- a/pkgs/development/python-modules/sentence-transformers/default.nix
+++ b/pkgs/development/python-modules/sentence-transformers/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "sentence-transformers";
-  version = "2.6.1";
+  version = "2.7.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "UKPLab";
     repo = "sentence-transformers";
     rev = "refs/tags/v${version}";
-    hash = "sha256-09AAuv/yXTbBvjA4gu5ueZrQkVja0BTIGNLZ2tLSyh8=";
+    hash = "sha256-xER+WHprW83KWJ0bom+lTn0HNU7PgGROnp/QLG1uUcw=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/setuptools-scm-git-archive/default.nix b/pkgs/development/python-modules/setuptools-scm-git-archive/default.nix
index c5b9808440c85..f5f7fcd0561d1 100644
--- a/pkgs/development/python-modules/setuptools-scm-git-archive/default.nix
+++ b/pkgs/development/python-modules/setuptools-scm-git-archive/default.nix
@@ -38,7 +38,7 @@ buildPythonPackage rec {
     description = "setuptools_scm plugin for git archives";
     homepage = "https://github.com/Changaco/setuptools_scm_git_archive";
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     # https://github.com/Changaco/setuptools_scm_git_archive/pull/22
     broken = versionAtLeast setuptools-scm.version "8";
   };
diff --git a/pkgs/development/python-modules/skl2onnx/default.nix b/pkgs/development/python-modules/skl2onnx/default.nix
index 3cd47324cb731..ca3e567b036c6 100644
--- a/pkgs/development/python-modules/skl2onnx/default.nix
+++ b/pkgs/development/python-modules/skl2onnx/default.nix
@@ -51,7 +51,6 @@ buildPythonPackage rec {
 
   meta = {
     description = "Convert scikit-learn models to ONNX";
-    maintainers = with lib.maintainers; [ fridh ];
     license = with lib.licenses; [ asl20 ];
   };
 }
diff --git a/pkgs/development/python-modules/skodaconnect/default.nix b/pkgs/development/python-modules/skodaconnect/default.nix
index 989b5711a810b..3cd175e518f10 100644
--- a/pkgs/development/python-modules/skodaconnect/default.nix
+++ b/pkgs/development/python-modules/skodaconnect/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "skodaconnect";
-  version = "1.3.10";
+  version = "1.3.11";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "lendy007";
     repo = "skodaconnect";
     rev = "refs/tags/${version}";
-    hash = "sha256-H45rL9GFuTnP5VP0cRyqlmWJmX1Zvh7A7JcSKgcZCwA=";
+    hash = "sha256-Cy2sXj8+t8lIqrKmI9Aa7tNEIvRArynU/02ajJ+tYHg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/snakemake-interface-storage-plugins/default.nix b/pkgs/development/python-modules/snakemake-interface-storage-plugins/default.nix
index f620cd0c044d8..6df9688d1064a 100644
--- a/pkgs/development/python-modules/snakemake-interface-storage-plugins/default.nix
+++ b/pkgs/development/python-modules/snakemake-interface-storage-plugins/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "snakemake-interface-storage-plugins";
-  version = "3.2.1";
+  version = "3.2.2";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "snakemake";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-hOZIdYL9YcKmZCTnKA4GbvvvPJ6pUcMLGvU5uYQHokw=";
+    hash = "sha256-syUjK32RPV9FMV7RSpXy+PJ2AVigGH+ywm6iTjUAuec=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/social-auth-app-django/default.nix b/pkgs/development/python-modules/social-auth-app-django/default.nix
index a8fd2503dbe01..1806752e60203 100644
--- a/pkgs/development/python-modules/social-auth-app-django/default.nix
+++ b/pkgs/development/python-modules/social-auth-app-django/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "social-auth-app-django";
-  version = "5.4.0";
+  version = "5.4.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "python-social-auth";
     repo = "social-app-django";
     rev = "refs/tags/${version}";
-    hash = "sha256-CZF1DA4UUnmGfdmWlBJ0zJIYx1E03a7Z7Y6WJNFU68M=";
+    hash = "sha256-BvPQo0pXffGYu0tpy5yHT9lJVwOTewBiX5GLeezBrhE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/social-auth-core/default.nix b/pkgs/development/python-modules/social-auth-core/default.nix
index ecdd7782e4573..2417de9daf191 100644
--- a/pkgs/development/python-modules/social-auth-core/default.nix
+++ b/pkgs/development/python-modules/social-auth-core/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "social-auth-core";
-  version = "4.5.3";
+  version = "4.5.4";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "python-social-auth";
     repo = "social-core";
     rev = "refs/tags/${version}";
-    hash = "sha256-bnPn9roMjOfF2pa1GfCZTnDK0Sfu+umGS0H0PhppKBc=";
+    hash = "sha256-tFaRvNoO5K7ytqMhL//Ntasc7jb4PYXB1yyjFvFqQH8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/soundcloud-v2/default.nix b/pkgs/development/python-modules/soundcloud-v2/default.nix
index a5c6a4faa5d3c..d1df08cf90396 100644
--- a/pkgs/development/python-modules/soundcloud-v2/default.nix
+++ b/pkgs/development/python-modules/soundcloud-v2/default.nix
@@ -39,6 +39,6 @@ buildPythonPackage rec {
     description = "Python wrapper for the v2 SoundCloud API";
     homepage = "https://github.com/7x11x13/soundcloud.py";
     license = licenses.mit;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/sounddevice/default.nix b/pkgs/development/python-modules/sounddevice/default.nix
index 783469c27795d..34e413c21ab47 100644
--- a/pkgs/development/python-modules/sounddevice/default.nix
+++ b/pkgs/development/python-modules/sounddevice/default.nix
@@ -38,6 +38,5 @@ buildPythonPackage rec {
     description = "Play and Record Sound with Python";
     homepage = "http://python-sounddevice.rtfd.org/";
     license = with lib.licenses; [ mit ];
-    maintainers = with lib.maintainers; [ fridh ];
   };
 }
diff --git a/pkgs/development/python-modules/soundfile/default.nix b/pkgs/development/python-modules/soundfile/default.nix
index 01e41ebd2e860..3a0193028c0d9 100644
--- a/pkgs/development/python-modules/soundfile/default.nix
+++ b/pkgs/development/python-modules/soundfile/default.nix
@@ -37,6 +37,5 @@ buildPythonPackage rec {
     description = "An audio library based on libsndfile, CFFI and NumPy";
     license = lib.licenses.bsd3;
     homepage = "https://github.com/bastibe/python-soundfile";
-    maintainers = with lib.maintainers; [ fridh ];
   };
 }
diff --git a/pkgs/development/python-modules/spacy-transformers/default.nix b/pkgs/development/python-modules/spacy-transformers/default.nix
index ea4172d779548..bdff12f84e627 100644
--- a/pkgs/development/python-modules/spacy-transformers/default.nix
+++ b/pkgs/development/python-modules/spacy-transformers/default.nix
@@ -1,42 +1,57 @@
 { lib
 , callPackage
-, fetchPypi
 , buildPythonPackage
-, pythonRelaxDepsHook
-, torch
 , pythonOlder
+, fetchFromGitHub
+, setuptools
+, cython
+, pythonRelaxDepsHook
 , spacy
-, spacy-alignments
-, srsly
+, numpy
 , transformers
+, torch
+, srsly
+, spacy-alignments
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "spacy-transformers";
-  version = "1.3.4";
-  format = "setuptools";
+  version = "1.3.5";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-N2StqGUqOYS9mW/DAeSntNg3kii+UPdTUHDV7g1Hvus=";
+  src = fetchFromGitHub {
+    owner = "explosion";
+    repo = "spacy-transformers";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-+KCRbjY4P52SWawU1NoMoe+HOV7iujFkwqVe87fWVTE=";
   };
 
+  build-system = [
+    setuptools
+    cython
+  ];
+
   nativeBuildInputs = [
     pythonRelaxDepsHook
   ];
 
-  propagatedBuildInputs = [
-    torch
+  dependencies = [
     spacy
-    spacy-alignments
-    srsly
+    numpy
     transformers
+    torch
+    srsly
+    spacy-alignments
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
   ];
 
   pythonRelaxDeps = [
-    "spacy"
     "transformers"
   ];
 
@@ -54,6 +69,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/explosion/spacy-transformers";
     changelog = "https://github.com/explosion/spacy-transformers/releases/tag/v${version}";
     license = licenses.mit;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ nickcao ];
   };
 }
diff --git a/pkgs/development/python-modules/spacy/default.nix b/pkgs/development/python-modules/spacy/default.nix
index 31fc7e658b170..32b78f40cdc11 100644
--- a/pkgs/development/python-modules/spacy/default.nix
+++ b/pkgs/development/python-modules/spacy/default.nix
@@ -5,6 +5,7 @@
 , callPackage
 , catalogue
 , cymem
+, cython_0
 , fetchPypi
 , hypothesis
 , jinja2
@@ -57,6 +58,7 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [
     pythonRelaxDepsHook
+    cython_0
   ];
 
   propagatedBuildInputs = [
@@ -135,7 +137,5 @@ buildPythonPackage rec {
     changelog = "https://github.com/explosion/spaCy/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ ];
-    # Cython.Compiler.Errors.CompileError: spacy/ml/parser_model.pyx
-    broken = true;
   };
 }
diff --git a/pkgs/development/python-modules/sphinx-book-theme/default.nix b/pkgs/development/python-modules/sphinx-book-theme/default.nix
index 7c951f697b8e9..ce8ce4e226b0d 100644
--- a/pkgs/development/python-modules/sphinx-book-theme/default.nix
+++ b/pkgs/development/python-modules/sphinx-book-theme/default.nix
@@ -41,6 +41,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/executablebooks/sphinx-book-theme";
     changelog = "https://github.com/executablebooks/sphinx-book-theme/raw/v${version}/CHANGELOG.md";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/sphinx-comments/default.nix b/pkgs/development/python-modules/sphinx-comments/default.nix
index 77f5b79519c1b..03a6461174cc1 100644
--- a/pkgs/development/python-modules/sphinx-comments/default.nix
+++ b/pkgs/development/python-modules/sphinx-comments/default.nix
@@ -25,6 +25,6 @@ buildPythonPackage rec {
     description = "Add comments and annotation to your documentation";
     homepage = "https://github.com/executablebooks/sphinx-comments";
     license = licenses.mit;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/sphinx-design/default.nix b/pkgs/development/python-modules/sphinx-design/default.nix
index ad109b1d30fbc..49883dc65760e 100644
--- a/pkgs/development/python-modules/sphinx-design/default.nix
+++ b/pkgs/development/python-modules/sphinx-design/default.nix
@@ -31,6 +31,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/executablebooks/sphinx-design";
     changelog = "https://github.com/executablebooks/sphinx-design/releases/tag/v${version}";
     license = licenses.mit;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/sphinx-external-toc/default.nix b/pkgs/development/python-modules/sphinx-external-toc/default.nix
index 724877795f3e5..fa676391daede 100644
--- a/pkgs/development/python-modules/sphinx-external-toc/default.nix
+++ b/pkgs/development/python-modules/sphinx-external-toc/default.nix
@@ -38,6 +38,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/executablebooks/sphinx-external-toc";
     changelog = "https://github.com/executablebooks/sphinx-external-toc/raw/v${version}/CHANGELOG.md";
     license = licenses.mit;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/sphinx-jupyterbook-latex/default.nix b/pkgs/development/python-modules/sphinx-jupyterbook-latex/default.nix
index 592151ecccf16..3d015a15f44ac 100644
--- a/pkgs/development/python-modules/sphinx-jupyterbook-latex/default.nix
+++ b/pkgs/development/python-modules/sphinx-jupyterbook-latex/default.nix
@@ -54,6 +54,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/executablebooks/sphinx-jupyterbook-latex";
     changelog = "https://github.com/executablebooks/sphinx-jupyterbook-latex/raw/v${version}/CHANGELOG.md";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/sphinx-multitoc-numbering/default.nix b/pkgs/development/python-modules/sphinx-multitoc-numbering/default.nix
index 3c2940a0ad7ee..22030c9787dad 100644
--- a/pkgs/development/python-modules/sphinx-multitoc-numbering/default.nix
+++ b/pkgs/development/python-modules/sphinx-multitoc-numbering/default.nix
@@ -35,6 +35,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/executablebooks/sphinx-multitoc-numbering";
     changelog = "https://github.com/executablebooks/sphinx-multitoc-numbering/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/sphinx-thebe/default.nix b/pkgs/development/python-modules/sphinx-thebe/default.nix
index 9b8e3246af32d..a9d3f78c069aa 100644
--- a/pkgs/development/python-modules/sphinx-thebe/default.nix
+++ b/pkgs/development/python-modules/sphinx-thebe/default.nix
@@ -38,6 +38,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/executablebooks/sphinx-thebe";
     changelog = "https://github.com/executablebooks/sphinx-thebe/releases/tag/v${version}";
     license = licenses.mit;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/sphinx-togglebutton/default.nix b/pkgs/development/python-modules/sphinx-togglebutton/default.nix
index 3b3e146b98e81..7416e7d15eba1 100644
--- a/pkgs/development/python-modules/sphinx-togglebutton/default.nix
+++ b/pkgs/development/python-modules/sphinx-togglebutton/default.nix
@@ -35,6 +35,6 @@ buildPythonPackage rec {
     description = "Toggle page content and collapse admonitions in Sphinx";
     homepage = "https://github.com/executablebooks/sphinx-togglebutton";
     license = licenses.mit;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/spylls/default.nix b/pkgs/development/python-modules/spylls/default.nix
new file mode 100644
index 0000000000000..99f2a8031eadf
--- /dev/null
+++ b/pkgs/development/python-modules/spylls/default.nix
@@ -0,0 +1,54 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+
+, pythonOlder
+
+, poetry-core
+}:
+
+buildPythonPackage rec {
+  pname = "spylls";
+  version = "0.1.7";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-cEWJLcvTJNNoX2nFp2AGPnj7g5kTckzhgHfPCgyT8iA=";
+  };
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+    --replace-fail poetry.masonry.api poetry.core.masonry.api \
+    --replace-fail "poetry>=" "poetry-core>="
+  '';
+
+  build-system = [
+    poetry-core
+  ];
+
+  # no unit tests in source distribution...
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "spylls.hunspell"
+    "spylls.hunspell.readers"
+    "spylls.hunspell.data"
+    "spylls.hunspell.algo.capitalization"
+    "spylls.hunspell.algo.trie"
+    "spylls.hunspell.algo.ngram_suggest"
+    "spylls.hunspell.algo.phonet_suggest"
+    "spylls.hunspell.algo.permutations"
+    "spylls.hunspell.algo.string_metrics"
+  ];
+
+  meta = with lib; {
+    description = "Pure Python spell-checker, (almost) full port of Hunspell";
+    homepage = "https://github.com/zverok/spylls";
+    changelog = "https://github.com/zverok/spylls/blob/master/CHANGELOG.rst";
+    license = licenses.mpl20;
+    maintainers = with maintainers; [ vizid ];
+  };
+}
diff --git a/pkgs/development/python-modules/ssg/default.nix b/pkgs/development/python-modules/ssg/default.nix
new file mode 100644
index 0000000000000..53fbbb0f3868e
--- /dev/null
+++ b/pkgs/development/python-modules/ssg/default.nix
@@ -0,0 +1,57 @@
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  fetchpatch,
+
+  python3,
+  unittestCheckHook,
+  setuptools,
+
+  fire,
+  python-crfsuite,
+  tqdm,
+}:
+
+buildPythonPackage {
+  pname = "ssg";
+  version = "0.0.8";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "ponrawee";
+    repo = "ssg";
+    rev = "d1b811ef4f8ac08ba1db839f426ba6b6a8e0eb38";
+    hash = "sha256-GBZzVDDfKOTnbcrIxhFRiNHXN2pSNU3T9RvUytJ068w=";
+  };
+
+  patches = [
+    (fetchpatch {
+      name = "fix-deprecation-warnings-and-bump-version";
+      url = "https://patch-diff.githubusercontent.com/raw/ponrawee/ssg/pull/10.patch";
+      hash = "sha256-4O1fpI0FBUG/3RN+PAi7I8vpgYmPPL5ZMXhoZUFsQy8=";
+    })
+  ];
+
+  build-system = [ setuptools ];
+
+  dependencies = [
+    fire
+    python-crfsuite
+    tqdm
+  ];
+
+  nativeCheckInputs = [ unittestCheckHook ];
+
+  pythonImportsCheck = [ "ssg" ];
+
+  postInstall = "rm -rf $out/${python3.sitePackages}/scripts";
+
+  meta = with lib; {
+    description = "TCRF syllable segmenter for Thai";
+    homepage = "https://github.com/ponrawee/ssg";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ vizid ];
+    mainProgram = "ssg-cli";
+  };
+}
diff --git a/pkgs/development/python-modules/sshfs/default.nix b/pkgs/development/python-modules/sshfs/default.nix
index 37eb7a94e11f2..a014d59b38c8a 100644
--- a/pkgs/development/python-modules/sshfs/default.nix
+++ b/pkgs/development/python-modules/sshfs/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "sshfs";
-  version = "2023.10.0";
+  version = "2024.4.1";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "fsspec";
     repo = "sshfs";
     rev = "refs/tags/${version}";
-    hash = "sha256-6MueDHR+jZFDZg4zufEVhBtSwcgDd7KnW9gJp2hDu0A=";
+    hash = "sha256-qkEojf/3YBMoYbRt0Q93MJYXyL9AWR24AEe3/zdn58U=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/stanza/default.nix b/pkgs/development/python-modules/stanza/default.nix
index def0517d8655f..0f7d7fddacb1b 100644
--- a/pkgs/development/python-modules/stanza/default.nix
+++ b/pkgs/development/python-modules/stanza/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "stanza";
-  version = "1.8.1";
+  version = "1.8.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "stanfordnlp";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-MO9trPkemVDzlVrO6v6N27RY2SNwflj+XlUrB1NqFGc=";
+    hash = "sha256-twgMWKWUvhnGNqQ42MOptnikdSBiDFpiMCI2RPo+3XU=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/statsmodels/default.nix b/pkgs/development/python-modules/statsmodels/default.nix
index bab094f39eef1..d92e618c99be3 100644
--- a/pkgs/development/python-modules/statsmodels/default.nix
+++ b/pkgs/development/python-modules/statsmodels/default.nix
@@ -56,6 +56,5 @@ buildPythonPackage rec {
     homepage = "https://www.github.com/statsmodels/statsmodels";
     changelog = "https://github.com/statsmodels/statsmodels/releases/tag/v${version}";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ fridh ];
   };
 }
diff --git a/pkgs/development/python-modules/stone/default.nix b/pkgs/development/python-modules/stone/default.nix
index 888c98cd6279d..a2053f60aeeb8 100644
--- a/pkgs/development/python-modules/stone/default.nix
+++ b/pkgs/development/python-modules/stone/default.nix
@@ -1,36 +1,39 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, mock
-, ply
-, pytestCheckHook
-, six
-, pythonOlder
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  mock,
+  ply,
+  pytestCheckHook,
+  pythonAtLeast,
+  pythonOlder,
+  setuptools,
+  six,
 }:
 
 buildPythonPackage rec {
   pname = "stone";
-  version = "3.3.1";
-  format = "setuptools";
+  version = "3.3.3";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  # distutils removal, https://github.com/dropbox/stone/issues/323
+  disabled = pythonOlder "3.7" || pythonAtLeast "3.12";
 
   src = fetchFromGitHub {
     owner = "dropbox";
-    repo = pname;
+    repo = "stone";
     rev = "refs/tags/v${version}";
-    hash = "sha256-0FWdYbv+paVU3Wj6g9OrSNUB0pH8fLwTkhVIBPeFB/U=";
+    hash = "sha256-l86j2fd6x57bKt/TFGiyg+ZFjZFFCo43rE48MoPvXWc=";
   };
 
   postPatch = ''
-    # https://github.com/dropbox/stone/issues/288
-    substituteInPlace stone/frontend/ir_generator.py \
-      --replace "inspect.getargspec" "inspect.getfullargspec"
     substituteInPlace setup.py \
-      --replace "'pytest-runner == 5.2.0'," ""
+      --replace-fail "'pytest-runner == 5.3.2'," ""
   '';
 
-  propagatedBuildInputs = [
+  build-system = [ setuptools ];
+
+  dependencies = [
     ply
     six
   ];
@@ -40,20 +43,14 @@ buildPythonPackage rec {
     mock
   ];
 
-  disabledTests = [
-    "test_type_name_with_module"
-  ];
-
-  pythonImportsCheck = [
-    "stone"
-  ];
+  pythonImportsCheck = [ "stone" ];
 
   meta = with lib; {
     description = "Official Api Spec Language for Dropbox";
-    mainProgram = "stone";
     homepage = "https://github.com/dropbox/stone";
     changelog = "https://github.com/dropbox/stone/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ jonringer ];
+    mainProgram = "stone";
   };
 }
diff --git a/pkgs/development/python-modules/tabulate/default.nix b/pkgs/development/python-modules/tabulate/default.nix
index 87644ba519238..9b1108481c755 100644
--- a/pkgs/development/python-modules/tabulate/default.nix
+++ b/pkgs/development/python-modules/tabulate/default.nix
@@ -38,6 +38,5 @@ buildPythonPackage rec {
     mainProgram = "tabulate";
     homepage = "https://github.com/astanin/python-tabulate";
     license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ fridh ];
   };
 }
diff --git a/pkgs/development/python-modules/taskw-ng/default.nix b/pkgs/development/python-modules/taskw-ng/default.nix
index 28c15922d2544..15f6412831d63 100644
--- a/pkgs/development/python-modules/taskw-ng/default.nix
+++ b/pkgs/development/python-modules/taskw-ng/default.nix
@@ -1,13 +1,16 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, poetry-core
-, poetry-dynamic-versioning
-, kitchen
-, packaging
-, python-dateutil
-, pytz
-, taskwarrior
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  kitchen,
+  packaging,
+  poetry-core,
+  poetry-dynamic-versioning,
+  python-dateutil,
+  pythonOlder,
+  pythonRelaxDepsHook,
+  pytz,
+  taskwarrior,
 }:
 
 buildPythonPackage rec {
@@ -15,23 +18,27 @@ buildPythonPackage rec {
   version = "0.2.6";
   pyproject = true;
 
+  disabled = pythonOlder "3.8";
+
   src = fetchFromGitHub {
     owner = "bergercookie";
     repo = "taskw-ng";
-    rev = "v${version}";
+    rev = "refs/tags/v${version}";
     hash = "sha256-tlidTt0TzWnvfajYiIfvRv7OfakHY6zWAicmAwq/Z8w=";
   };
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace-fail 'pytz = "^2023.3.post1"' 'pytz = "*"'
-  '';
+  pythonRelaxDeps = [
+    "packaging"
+    "pytz"
+  ];
 
-  nativeBuildInputs = [
+  build-system = [
     poetry-core
     poetry-dynamic-versioning
   ];
 
+  nativeBuildInputs = [ pythonRelaxDepsHook ];
+
   propagatedBuildInputs = [
     kitchen
     packaging
@@ -39,18 +46,16 @@ buildPythonPackage rec {
     pytz
   ];
 
-  checkInputs = [
-    taskwarrior
-  ];
+  checkInputs = [ taskwarrior ];
 
   # TODO: doesn't pass because `can_use` fails and `task --version` seems not to be answering.
   # pythonImportsCheck = [ "taskw_ng" ];
 
   meta = with lib; {
-    description = "";
+    description = "Module to interact with the Taskwarrior API";
     homepage = "https://github.com/bergercookie/taskw-ng";
     changelog = "https://github.com/bergercookie/taskw-ng/blob/${src.rev}/CHANGELOG.rst";
-    license = licenses.gpl3Only;
+    license = licenses.gpl3Plus;
     maintainers = with maintainers; [ raitobezarius ];
   };
 }
diff --git a/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix b/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix
index 771971445156f..502e791ddd309 100644
--- a/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix
+++ b/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "tencentcloud-sdk-python";
-  version = "3.0.1133";
+  version = "3.0.1139";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "TencentCloud";
     repo = "tencentcloud-sdk-python";
     rev = "refs/tags/${version}";
-    hash = "sha256-RQudhUn4BfsdwQOCt9CUuKVVlXbHLMEohg6C2srZ9pk=";
+    hash = "sha256-DH+15I/kMuUbRU8jYGLaDWxO7zumJ7Bh5yze3mmrh/M=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/tensorflow-probability/default.nix b/pkgs/development/python-modules/tensorflow-probability/default.nix
index e81e9736c26cb..769a4969fc2dd 100644
--- a/pkgs/development/python-modules/tensorflow-probability/default.nix
+++ b/pkgs/development/python-modules/tensorflow-probability/default.nix
@@ -54,7 +54,7 @@ let
     LIBTOOL = lib.optionalString stdenv.isDarwin "${cctools}/bin/libtool";
 
     fetchAttrs = {
-      sha256 = "sha256-1iO/eXz1wvSIRTmGuGZDF9VeDVTiWYnjw0Cby4n/6HM=";
+      sha256 = "sha256-TbWcWYidyXuAMgBnO2/k0NKCzc4wThf2uUeC3QxdBJY=";
     };
 
     buildAttrs = {
@@ -75,7 +75,8 @@ let
       '';
     };
   };
-in buildPythonPackage {
+in
+buildPythonPackage {
   inherit version pname;
   format = "wheel";
 
diff --git a/pkgs/development/python-modules/tiledb/default.nix b/pkgs/development/python-modules/tiledb/default.nix
index 2c9fab82000c5..3231ae8036335 100644
--- a/pkgs/development/python-modules/tiledb/default.nix
+++ b/pkgs/development/python-modules/tiledb/default.nix
@@ -78,7 +78,6 @@ buildPythonPackage rec {
     description = "Python interface to the TileDB storage manager";
     homepage = "https://github.com/TileDB-Inc/TileDB-Py";
     license = licenses.mit;
-    maintainers = with maintainers; [ fridh ];
     # tiledb/core.cc:556:30: error: ‘struct std::array<long unsigned int, 2>’ has no member named ‘second’
     broken = true;
   };
diff --git a/pkgs/development/python-modules/timing-asgi/default.nix b/pkgs/development/python-modules/timing-asgi/default.nix
new file mode 100644
index 0000000000000..d1dc1ccc81b4e
--- /dev/null
+++ b/pkgs/development/python-modules/timing-asgi/default.nix
@@ -0,0 +1,48 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, asynctest
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "timing-asgi";
+  version = "0.3.1";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "steinnes";
+    repo = "timing-asgi";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-oEDesmy9t2m51Zd6Zg87qoYbfbDnejfrbjyBkZ3hF58=";
+  };
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+    --replace-fail poetry.masonry.api poetry.core.masonry.api \
+    --replace-fail "poetry>=" "poetry-core>="
+  '';
+
+  build-system = [
+    poetry-core
+  ];
+
+  pythonImportsCheck = [ "timing_asgi" ];
+
+  # Tests rely on asynctest which is not supported by python 3.11
+  doCheck = false;
+
+  nativeCheckInputs = [
+    # asynctest-0.13.0 not supported for interpreter python3.11
+    # asynctest
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "ASGI middleware to emit timing metrics with something like statsd";
+    homepage = "https://pypi.org/project/timing-asgi";
+    license = licenses.mit;
+    maintainers = with maintainers; [ GaetanLepage ];
+  };
+}
diff --git a/pkgs/development/python-modules/tokenizers/default.nix b/pkgs/development/python-modules/tokenizers/default.nix
index 057190bda9836..92d55ef4a235c 100644
--- a/pkgs/development/python-modules/tokenizers/default.nix
+++ b/pkgs/development/python-modules/tokenizers/default.nix
@@ -4,6 +4,7 @@
 , buildPythonPackage
 , cargo
 , datasets
+, huggingface-hub
 , fetchFromGitHub
 , fetchurl
 , libiconv
@@ -11,6 +12,7 @@
 , openssl
 , pkg-config
 , pytestCheckHook
+, python
 , pythonOlder
 , requests
 , rustPlatform
@@ -80,6 +82,7 @@ buildPythonPackage rec {
   };
 
   sourceRoot = "${src.name}/bindings/python";
+  maturinBuildFlags = [ "--interpreter ${python.executable}" ];
 
   nativeBuildInputs = [
     pkg-config
@@ -105,6 +108,7 @@ buildPythonPackage rec {
 
   dependencies = [
     numpy
+    huggingface-hub
   ];
 
   nativeCheckInputs = [
diff --git a/pkgs/development/python-modules/toolz/default.nix b/pkgs/development/python-modules/toolz/default.nix
index 572e09a41f2fd..d11a02a02b7bd 100644
--- a/pkgs/development/python-modules/toolz/default.nix
+++ b/pkgs/development/python-modules/toolz/default.nix
@@ -25,6 +25,5 @@ buildPythonPackage rec {
     homepage = "https://github.com/pytoolz/toolz";
     description = "List processing tools and functional utilities";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ fridh ];
   };
 }
diff --git a/pkgs/development/python-modules/tox/default.nix b/pkgs/development/python-modules/tox/default.nix
index e130ff0698636..b534a4baed876 100644
--- a/pkgs/development/python-modules/tox/default.nix
+++ b/pkgs/development/python-modules/tox/default.nix
@@ -24,14 +24,14 @@
 
 buildPythonPackage rec {
   pname = "tox";
-  version = "4.14.2";
+  version = "4.15.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "tox-dev";
     repo = "tox";
     rev = "refs/tags/${version}";
-    hash = "sha256-+ed47GK76Wn8PwXsd0qo1xYWJTcZ5wNXnFEEQEZ7CMM=";
+    hash = "sha256-aKk3a0RAcLyrHK6I3Q7rcBdZVJGNBXsBqA8N7Kpdrms=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/tqdm/default.nix b/pkgs/development/python-modules/tqdm/default.nix
index 1fcc2b0827666..4f3ff0f1545c2 100644
--- a/pkgs/development/python-modules/tqdm/default.nix
+++ b/pkgs/development/python-modules/tqdm/default.nix
@@ -42,9 +42,8 @@ buildPythonPackage rec {
     numpy
     rich
     tkinter
-  ] ++
-    # pandas is not supported on i686 or risc-v
-    lib.optional (!stdenv.isi686 && !stdenv.hostPlatform.isRiscV) pandas;
+    pandas
+  ];
 
   pytestFlagsArray = [
     "-W" "ignore::FutureWarning"
@@ -67,6 +66,5 @@ buildPythonPackage rec {
     homepage = "https://github.com/tqdm/tqdm";
     changelog = "https://tqdm.github.io/releases/";
     license = with licenses; [ mit ];
-    maintainers = with maintainers; [ fridh ];
   };
 }
diff --git a/pkgs/development/python-modules/traitlets/default.nix b/pkgs/development/python-modules/traitlets/default.nix
index 68a50d620d447..5394e7f4091ab 100644
--- a/pkgs/development/python-modules/traitlets/default.nix
+++ b/pkgs/development/python-modules/traitlets/default.nix
@@ -49,6 +49,5 @@ buildPythonPackage rec {
     description = "Traitlets Python config system";
     homepage = "https://github.com/ipython/traitlets";
     license = lib.licenses.bsd3;
-    maintainers = with lib.maintainers; [ fridh ];
   };
 }
diff --git a/pkgs/development/python-modules/transformers/default.nix b/pkgs/development/python-modules/transformers/default.nix
index d261337be26d0..5bcbeb035f673 100644
--- a/pkgs/development/python-modules/transformers/default.nix
+++ b/pkgs/development/python-modules/transformers/default.nix
@@ -54,7 +54,7 @@
 
 buildPythonPackage rec {
   pname = "transformers";
-  version = "4.40.0";
+  version = "4.40.1";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -63,7 +63,7 @@ buildPythonPackage rec {
     owner = "huggingface";
     repo = "transformers";
     rev = "refs/tags/v${version}";
-    hash = "sha256-k0AloOG7fRQhTW8IF6uQSfav8p1KC5633SaLNYZrZ2M=";
+    hash = "sha256-w9BVJwYS2QV58UTOpcoQwdC+dxZuhLS2h8PqN5W2Yjc=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/transitions/default.nix b/pkgs/development/python-modules/transitions/default.nix
index 9b054c8233422..8ed221cd23e94 100644
--- a/pkgs/development/python-modules/transitions/default.nix
+++ b/pkgs/development/python-modules/transitions/default.nix
@@ -2,27 +2,32 @@
 , stdenv
 , buildPythonPackage
 , fetchPypi
-, pythonAtLeast
-, six
-, pygraphviz
-, pytestCheckHook
-, mock
+, fontconfig
 , graphviz
+, mock
 , pycodestyle
-, fontconfig
+, pygraphviz
+, pytestCheckHook
+, pythonAtLeast
+, setuptools
+, six
 }:
 
 buildPythonPackage rec {
   pname = "transitions";
   version = "0.9.0";
-  format = "setuptools";
+  pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
     hash = "sha256-L1TRG9siV3nX5ykBHpOp+3F2aM49xl+NT1pde6L0jhA=";
   };
 
-  propagatedBuildInputs = [
+  build-system = [
+    setuptools
+  ];
+
+  dependencies = [
     six
     pygraphviz # optional
   ];
@@ -39,12 +44,12 @@ buildPythonPackage rec {
     export HOME=$TMPDIR
   '';
 
-  # upstream issue https://github.com/pygraphviz/pygraphviz/issues/441
-  pytestFlagsArray = lib.optionals stdenv.isDarwin [
-    "--deselect=tests/test_pygraphviz.py::PygraphvizTest::test_binary_stream"
-    "--deselect=tests/test_pygraphviz.py::PygraphvizTest::test_diagram"
-    "--deselect=tests/test_pygraphviz.py::TestPygraphvizNested::test_binary_stream"
-    "--deselect=tests/test_pygraphviz.py::TestPygraphvizNested::test_diagram"
+  disabledTests = [
+    "test_diagram"
+    "test_ordered_with_graph"
+  ] ++ lib.optionals stdenv.isDarwin [
+    # Upstream issue https://github.com/pygraphviz/pygraphviz/issues/441
+    "test_binary_stream"
   ];
 
   pythonImportsCheck = [
@@ -54,6 +59,7 @@ buildPythonPackage rec {
   meta = with lib; {
     homepage = "https://github.com/pytransitions/transitions";
     description = "A lightweight, object-oriented finite state machine implementation in Python";
+    changelog = "https://github.com/pytransitions/transitions/releases/tag/${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ dotlambda ];
   };
diff --git a/pkgs/development/python-modules/tubeup/default.nix b/pkgs/development/python-modules/tubeup/default.nix
index aeeee4a81edd5..463b89017cb3c 100644
--- a/pkgs/development/python-modules/tubeup/default.nix
+++ b/pkgs/development/python-modules/tubeup/default.nix
@@ -47,6 +47,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/bibanon/tubeup";
     changelog = "https://github.com/bibanon/tubeup/releases/tag/${version}";
     license = licenses.gpl3Only;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/twill/default.nix b/pkgs/development/python-modules/twill/default.nix
index ddea5117a6c07..08e8ad74de225 100644
--- a/pkgs/development/python-modules/twill/default.nix
+++ b/pkgs/development/python-modules/twill/default.nix
@@ -1,40 +1,57 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-, lxml
-, requests
-, pyparsing
-, pythonOlder
+{
+  lib,
+  buildPythonPackage,
+  fetchPypi,
+  httpx,
+  lxml,
+  pyparsing,
+  pytestCheckHook,
+  pythonOlder,
+  pythonRelaxDepsHook,
+  quixote,
+  setuptools,
 }:
 
 buildPythonPackage rec {
   pname = "twill";
-  version = "3.2.3";
-  format = "setuptools";
+  version = "3.2.4";
+  pyproject = true;
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-m4jrxx7udWkRXzYS0Yfd14tKVHt8kGYPn2eTa4unOdc=";
+    hash = "sha256-YlZKvOGxLWwGh+MqCXf8tfruxLK60H73k1VQhGOSTc8=";
   };
 
-  propagatedBuildInputs = [
+  pythonRelaxDeps = [ "lxml" ];
+
+  build-system = [ setuptools ];
+
+  nativeBuildInputs = [ pythonRelaxDepsHook ];
+
+  dependencies = [
+    httpx
     lxml
-    requests
     pyparsing
   ];
 
-  pythonImportsCheck = [
-    "twill"
+  nativeCheckInputs = [
+    pytestCheckHook
+    quixote
+  ];
+
+  disabledTestPaths = [
+    # pytidylib is abandoned
+    "tests/test_tidy.py"
   ];
 
-  # pypi package comes without tests, other homepage does not provide all verisons
-  doCheck = false;
+  pythonImportsCheck = [ "twill" ];
 
   meta = with lib; {
     description = "A simple scripting language for Web browsing";
     homepage = "https://twill-tools.github.io/twill/";
+    changelog = "https://github.com/twill-tools/twill/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ mic92 ];
   };
diff --git a/pkgs/development/python-modules/twine/default.nix b/pkgs/development/python-modules/twine/default.nix
index 265008731bd14..e61ae137679dd 100644
--- a/pkgs/development/python-modules/twine/default.nix
+++ b/pkgs/development/python-modules/twine/default.nix
@@ -49,6 +49,5 @@ buildPythonPackage rec {
     mainProgram = "twine";
     homepage = "https://github.com/pypa/twine";
     license = lib.licenses.asl20;
-    maintainers = with lib.maintainers; [ fridh ];
   };
 }
diff --git a/pkgs/development/python-modules/twitch-python/default.nix b/pkgs/development/python-modules/twitch-python/default.nix
index a42f80b36da86..9a578ebeedc27 100644
--- a/pkgs/development/python-modules/twitch-python/default.nix
+++ b/pkgs/development/python-modules/twitch-python/default.nix
@@ -26,6 +26,6 @@ buildPythonPackage rec {
     description = "Twitch module for Python";
     homepage = "https://github.com/PetterKraabol/Twitch-Python";
     license = licenses.mit;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/typed-settings/default.nix b/pkgs/development/python-modules/typed-settings/default.nix
index 4b28386a1192d..fe2ebd26d7d18 100644
--- a/pkgs/development/python-modules/typed-settings/default.nix
+++ b/pkgs/development/python-modules/typed-settings/default.nix
@@ -1,71 +1,84 @@
-{ lib
-, attrs
-, buildPythonPackage
-, cattrs
-, click
-, click-option-group
-, fetchPypi
-, hatchling
-, pytestCheckHook
-, pythonOlder
-, tomli
-, typing-extensions
+{
+  lib,
+  attrs,
+  buildPythonPackage,
+  cattrs,
+  click,
+  click-option-group,
+  fetchPypi,
+  hatchling,
+  jinja2,
+  pydantic,
+  pytestCheckHook,
+  pythonOlder,
+  tomli,
+  typing-extensions,
 }:
 
 buildPythonPackage rec {
   pname = "typed-settings";
-  version = "24.1.0";
-  format = "pyproject";
+  version = "24.2.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     pname = "typed_settings";
     inherit version;
-    hash = "sha256-luUfVsN6uNYZkXfcAUc5P6Y+WYpfAdU6D01kgQMNniw=";
+    hash = "sha256-BuosfIlCgCD+h7eA/6/oE98zdURaT3eik+dysBpJR+Y=";
   };
 
-  nativeBuildInputs = [
-    hatchling
-  ];
+  build-system = [ hatchling ];
 
-  propagatedBuildInputs = [
-    attrs
-    cattrs
-    click-option-group
-  ] ++ lib.optionals (pythonOlder "3.11") [
-    tomli
-  ];
+  dependencies = lib.optionals (pythonOlder "3.11") [ tomli ];
 
   passthru.optional-dependencies = {
-    click = [
+    all = [
+      attrs
+      cattrs
+      click
+      click-option-group
+      jinja2
+      pydantic
+    ];
+    attrs = [ attrs ];
+    cattrs = [ cattrs ];
+    click = [ click ];
+    option-groups = [
       click
+      click-option-group
     ];
+    jinja = [ jinja2 ];
+    pydantic = [ pydantic ];
   };
 
-  checkInputs = [
+  nativeCheckInputs = [
     pytestCheckHook
     typing-extensions
-  ] ++ passthru.optional-dependencies.click;
+  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
 
-  pytestFlagsArray = [
-    "tests"
-  ];
+  pytestFlagsArray = [ "tests" ];
 
   disabledTests = [
     # AssertionError: assert [OptionInfo(p...
     "test_deep_options"
+    # 1Password CLI is not available
+    "TestOnePasswordLoader"
+    "test_handle_op"
   ];
 
-  pythonImportsCheck = [
-    "typed_settings"
+  disabledTestPaths = [
+    # 1Password CLI is not available
+    "tests/test_onepassword.py"
   ];
 
-  meta = {
+  pythonImportsCheck = [ "typed_settings" ];
+
+  meta = with lib; {
     description = "Typed settings based on attrs classes";
     homepage = "https://gitlab.com/sscherfke/typed-settings";
     changelog = "https://gitlab.com/sscherfke/typed-settings/-/blob/${version}/CHANGELOG.rst";
-    license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ fridh ];
+    license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/types-docutils/default.nix b/pkgs/development/python-modules/types-docutils/default.nix
index fb1f04123f8fc..fd1d57700de50 100644
--- a/pkgs/development/python-modules/types-docutils/default.nix
+++ b/pkgs/development/python-modules/types-docutils/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "types-docutils";
-  version = "0.20.0.20240406";
+  version = "0.21.0.20240423";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-6OxKWhJdBthjK7qsihH76hih7fqU35xRKdxFmAkVuEs=";
+    hash = "sha256-dxbsbGi1F5t7oXOMrOLxMm5k359Et6sI2ZBNMsI/wV8=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/types-mock/default.nix b/pkgs/development/python-modules/types-mock/default.nix
index cde1a52b9319c..11d81aa0e8330 100644
--- a/pkgs/development/python-modules/types-mock/default.nix
+++ b/pkgs/development/python-modules/types-mock/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "types-mock";
-  version = "5.1.0.20240311";
+  version = "5.1.0.20240425";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-dHJ5eYbYMBb5b95/c1d9EpsM2KjQt4NIenvjMNV7pDE=";
+    hash = "sha256-UoGmRdcugn1wBD48wUT+M7HAA9sIT3idwgOqkOgSpaQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/types-psutil/default.nix b/pkgs/development/python-modules/types-psutil/default.nix
index ed7269e458217..dce0292b0ad96 100644
--- a/pkgs/development/python-modules/types-psutil/default.nix
+++ b/pkgs/development/python-modules/types-psutil/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "types-psutil";
-  version = "5.9.5.20240316";
+  version = "5.9.5.20240423";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Vjb1cUu5MMZLs0xNR6WdyS+dYQt3i1Nkox2qVYSUSEg=";
+    hash = "sha256-G5ds+GMIMWxawizsaIAVsEJzyE+OaRw9+wwSMY8ypvM=";
   };
 
   # Module doesn't have tests
diff --git a/pkgs/development/python-modules/types-redis/default.nix b/pkgs/development/python-modules/types-redis/default.nix
index 9b81e9e8e57bd..79728a451fe6f 100644
--- a/pkgs/development/python-modules/types-redis/default.nix
+++ b/pkgs/development/python-modules/types-redis/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "types-redis";
-  version = "4.6.0.20240417";
+  version = "4.6.0.20240425";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-i+Sz5ZRRIKze8KI0jAS+QolOhMbWFiiLkIo9jtXomo0=";
+    hash = "sha256-lAKhDukx0kH9/MBFkuv3pmHXu5Ko3qYxJ58NisvPOiI=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/typeshed-client/default.nix b/pkgs/development/python-modules/typeshed-client/default.nix
index 153f8a79daf46..196c696ff542b 100644
--- a/pkgs/development/python-modules/typeshed-client/default.nix
+++ b/pkgs/development/python-modules/typeshed-client/default.nix
@@ -1,10 +1,12 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, importlib-resources
-, pytestCheckHook
-, pythonOlder
-, setuptools
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  importlib-resources,
+  pytestCheckHook,
+  pythonOlder,
+  setuptools,
+  typing-extensions,
 }:
 
 buildPythonPackage rec {
@@ -12,7 +14,7 @@ buildPythonPackage rec {
   version = "2.5.1";
   pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "JelleZijlstra";
@@ -21,25 +23,18 @@ buildPythonPackage rec {
     hash = "sha256-lITreXYn/ZOc1fF2Sqcn8UDrZAjWYfjFSEaAxqTHb4s=";
   };
 
-  nativeBuildInputs = [
-    setuptools
-  ];
+  build-system = [ setuptools ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     importlib-resources
+    typing-extensions
   ];
 
-  nativeCheckInputs = [
-    pytestCheckHook
-  ];
+  nativeCheckInputs = [ pytestCheckHook ];
 
-  pythonImportsCheck = [
-    "typeshed_client"
-  ];
+  pythonImportsCheck = [ "typeshed_client" ];
 
-  pytestFlagsArray = [
-    "tests/test.py"
-  ];
+  pytestFlagsArray = [ "tests/test.py" ];
 
   meta = with lib; {
     description = "Retrieve information from typeshed and other typing stubs";
diff --git a/pkgs/development/python-modules/typical/default.nix b/pkgs/development/python-modules/typical/default.nix
index 67d55e64243e5..8201e4ba8104d 100644
--- a/pkgs/development/python-modules/typical/default.nix
+++ b/pkgs/development/python-modules/typical/default.nix
@@ -1,24 +1,26 @@
-{ lib
-, buildPythonPackage
-, fastjsonschema
-, fetchFromGitHub
-, future-typing
-, inflection
-, orjson
-, pandas
-, pendulum
-, poetry-core
-, pydantic
-, pytestCheckHook
-, pythonOlder
-, sqlalchemy
-, ujson
+{
+  lib,
+  buildPythonPackage,
+  fastjsonschema,
+  fetchFromGitHub,
+  future-typing,
+  inflection,
+  orjson,
+  pandas,
+  pendulum,
+  poetry-core,
+  pydantic,
+  pytestCheckHook,
+  pythonOlder,
+  pythonRelaxDepsHook,
+  sqlalchemy,
+  ujson,
 }:
 
 buildPythonPackage rec {
   pname = "typical";
   version = "2.8.1";
-  format = "pyproject";
+  pyproject = true;
 
   disabled = pythonOlder "3.10";
 
@@ -29,11 +31,13 @@ buildPythonPackage rec {
     hash = "sha256-2t9Jhdy9NmYBNzdtjjgUnoK2RDEUsAvDkYMcBRzEcmI=";
   };
 
-  nativeBuildInputs = [
-    poetry-core
-  ];
+  pythonRelaxDeps = [ "pendulum" ];
+
+  build-system = [ poetry-core ];
 
-  propagatedBuildInputs = [
+  nativeBuildInputs = [ pythonRelaxDepsHook ];
+
+  dependencies = [
     fastjsonschema
     future-typing
     inflection
@@ -43,10 +47,10 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
-    pytestCheckHook
+    pandas
     pydantic
+    pytestCheckHook
     sqlalchemy
-    pandas
   ];
 
   disabledTests = [
@@ -54,6 +58,12 @@ buildPythonPackage rec {
     "test_tagged_union_validate"
     # TypeError: 'NoneType' object cannot be interpreted as an integer
     "test_ujson"
+    # Failed: DID NOT RAISE <class 'ValueError'>
+    "test_invalid_path"
+    # AssertionError
+    "test_primitive"
+    "test_tojson"
+    "test_transmute_simple"
   ];
 
   disabledTestPaths = [
@@ -63,9 +73,7 @@ buildPythonPackage rec {
     "tests/mypy/test_mypy.py"
   ];
 
-  pythonImportsCheck = [
-    "typic"
-  ];
+  pythonImportsCheck = [ "typic" ];
 
   meta = with lib; {
     description = "Python library for runtime analysis, inference and validation of Python types";
diff --git a/pkgs/development/python-modules/unidiff/default.nix b/pkgs/development/python-modules/unidiff/default.nix
index a0c1f24a5c567..fdf49bfa9ab1b 100644
--- a/pkgs/development/python-modules/unidiff/default.nix
+++ b/pkgs/development/python-modules/unidiff/default.nix
@@ -22,6 +22,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/matiasb/python-unidiff";
     changelog = "https://github.com/matiasb/python-unidiff/raw/v${version}/HISTORY";
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/python-modules/urwid/default.nix b/pkgs/development/python-modules/urwid/default.nix
index 1d9a4bf166c01..aff9556f04b50 100644
--- a/pkgs/development/python-modules/urwid/default.nix
+++ b/pkgs/development/python-modules/urwid/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "urwid";
-  version = "2.6.10";
+  version = "2.6.11";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "urwid";
     repo = "urwid";
     rev = "refs/tags/${version}";
-    hash = "sha256-myweD5+FHhDpPvS+3sB9vfhsOfPVagtfVF5EY9uIGRo=";
+    hash = "sha256-EArHHsHqr1z+UhdsUCc4IPZa33sSCaR1sDSr7eCGSOM=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/vacuum-map-parser-base/default.nix b/pkgs/development/python-modules/vacuum-map-parser-base/default.nix
index c6656eb97971b..e27ea9d8b6f07 100644
--- a/pkgs/development/python-modules/vacuum-map-parser-base/default.nix
+++ b/pkgs/development/python-modules/vacuum-map-parser-base/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "vacuum-map-parser-base";
-  version = "0.1.2";
+  version = "0.1.3";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "PiotrMachowski";
     repo = "Python-package-${pname}";
     rev = "refs/tags/v${version}";
-    hash = "sha256-moCWUPzn9stxehVEnjqpx8ILYhxzuy8QG+uxR53rCew=";
+    hash = "sha256-wX7RsJKSNZmi6uIDqsKxWe8VaYJPg4I3pwHHckMUOw4=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/vacuum-map-parser-roborock/default.nix b/pkgs/development/python-modules/vacuum-map-parser-roborock/default.nix
index 1bccdf0af09ba..68683c1d76903 100644
--- a/pkgs/development/python-modules/vacuum-map-parser-roborock/default.nix
+++ b/pkgs/development/python-modules/vacuum-map-parser-roborock/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "vacuum-map-parser-roborock";
-  version = "0.1.1";
+  version = "0.1.2";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "PiotrMachowski";
     repo = "Python-package-${pname}";
     rev = "refs/tags/v${version}";
-    hash = "sha256-cZNmoqzU73iF965abFeM6qgEVmg6j2kIQHDhj1MYQpE=";
+    hash = "sha256-y7Q8C7ZvOn/KSUMJ7A/oH+HZMVBpuPitsXqsqHvvYHE=";
   };
 
   postPatch = ''
@@ -27,9 +27,9 @@ buildPythonPackage rec {
       --replace "0.0.0" "${version}"
   '';
 
-  nativeBuildInputs = [ poetry-core ];
+  build-system = [ poetry-core ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     pillow
     vacuum-map-parser-base
   ];
@@ -40,8 +40,8 @@ buildPythonPackage rec {
   pythonImportsCheck = [ "vacuum_map_parser_roborock" ];
 
   meta = with lib; {
-    homepage = "https://github.com/PiotrMachowski/Python-package-vacuum-map-parser-roborock";
     description = "Functionalities for Roborock vacuum map parsing";
+    homepage = "https://github.com/PiotrMachowski/Python-package-vacuum-map-parser-roborock";
     changelog = "https://github.com/PiotrMachowski/Python-package-vacuum-map-parser-roborock/releases/tag/v${version}";
     maintainers = with maintainers; [ jamiemagee ];
     license = licenses.asl20;
diff --git a/pkgs/development/python-modules/vdirsyncer/default.nix b/pkgs/development/python-modules/vdirsyncer/default.nix
index b9046f991f6cd..b417245498979 100644
--- a/pkgs/development/python-modules/vdirsyncer/default.nix
+++ b/pkgs/development/python-modules/vdirsyncer/default.nix
@@ -90,7 +90,7 @@ buildPythonPackage rec {
     homepage = "https://github.com/pimutils/vdirsyncer";
     changelog = "https://github.com/pimutils/vdirsyncer/blob/v${version}/CHANGELOG.rst";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ loewenheim ];
+    maintainers = [ ];
     mainProgram = "vdirsyncer";
   };
 }
diff --git a/pkgs/development/python-modules/verspec/default.nix b/pkgs/development/python-modules/verspec/default.nix
index 05a6a446c23ed..d8bd972a99638 100644
--- a/pkgs/development/python-modules/verspec/default.nix
+++ b/pkgs/development/python-modules/verspec/default.nix
@@ -37,6 +37,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/jimporter/verspec";
     changelog = "https://github.com/jimporter/averspec/releases/tag/v${version}";
     license = with licenses; [ bsd2 /* and */ asl20 ];
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/vt-py/default.nix b/pkgs/development/python-modules/vt-py/default.nix
index f8e2a8bd56936..adaf1ed7feb72 100644
--- a/pkgs/development/python-modules/vt-py/default.nix
+++ b/pkgs/development/python-modules/vt-py/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "vt-py";
-  version = "0.18.1";
+  version = "0.18.2";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "VirusTotal";
     repo = "vt-py";
     rev = "refs/tags/${version}";
-    hash = "sha256-rWzANh7tkayFR6V3JaF3BLhIjUlnrPMmEmI36Ncqz2M=";
+    hash = "sha256-Uspd422JlBKlsD/K7NciYhYUb12wInN/Z7zTw7aYP28=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/wadllib/default.nix b/pkgs/development/python-modules/wadllib/default.nix
index c7bc19ee515d8..9fc8988de74dd 100644
--- a/pkgs/development/python-modules/wadllib/default.nix
+++ b/pkgs/development/python-modules/wadllib/default.nix
@@ -24,6 +24,6 @@ buildPythonPackage rec {
     description = "Navigate HTTP resources using WADL files as guides";
     homepage = "https://launchpad.net/wadllib";
     license = licenses.lgpl3;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/python-modules/wasmer/default.nix b/pkgs/development/python-modules/wasmer/default.nix
index 947022eab4f66..0f2748208817e 100644
--- a/pkgs/development/python-modules/wasmer/default.nix
+++ b/pkgs/development/python-modules/wasmer/default.nix
@@ -1,10 +1,10 @@
 { stdenv
 , lib
 , rustPlatform
-, rustc
 , callPackage
 , fetchFromGitHub
 , buildPythonPackage
+, pythonAtLeast
 , libiconv
 , libffi
 , libxml2
@@ -22,7 +22,7 @@ let
     , extraBuildInputs ? [ ]
     }: buildPythonPackage rec {
       inherit pname;
-      version = "1.1.0";
+      version = "1.1.1";
       format = "pyproject";
 
       outputs = [ "out" ] ++ lib.optional (pname == "wasmer") "testsout";
@@ -31,7 +31,7 @@ let
         owner = "wasmerio";
         repo = "wasmer-python";
         rev = version;
-        hash = "sha256-nOeOhQ1XY+9qmLGURrI5xbgBUgWe5XRpV38f73kKX2s=";
+        hash = "sha256-Iu28LMDNmtL2r7gJV5Vbb8HZj18dlkHe+mw/Y1L8YKE=";
       };
 
       cargoDeps = rustPlatform.fetchCargoTarball {
@@ -69,6 +69,8 @@ let
       pythonImportsCheck = [ "${lib.replaceStrings ["-"] ["_"] pname}" ];
 
       meta = with lib; {
+        # https://github.com/wasmerio/wasmer-python/issues/778
+        broken = pythonAtLeast "3.12";
         description = "Python extension to run WebAssembly binaries";
         homepage = "https://github.com/wasmerio/wasmer-python";
         license = licenses.mit;
@@ -81,19 +83,19 @@ in
   wasmer = common {
     pname = "wasmer";
     buildAndTestSubdir = "packages/api";
-    cargoHash = "sha256-twoog8LjQtoli+TlDipSuB7yLFkXQJha9BqobqgZW3Y=";
+    cargoHash = "sha256-vpbwU1HrIQmQkce9SK8UOHrX5tOLv/XKsfJHteqOteA=";
   };
 
   wasmer-compiler-cranelift = common {
     pname = "wasmer-compiler-cranelift";
     buildAndTestSubdir = "packages/compiler-cranelift";
-    cargoHash = "sha256-IqeMOY6emhIC7ekH8kIOZCr3JVkjxUg/lQli+ZZpdq4=";
+    cargoHash = "sha256-nv4cr52mUIuR3LWRT3eXU5b2LORwuN4iMbLX1efzovI=";
   };
 
   wasmer-compiler-llvm = common {
     pname = "wasmer-compiler-llvm";
     buildAndTestSubdir = "packages/compiler-llvm";
-    cargoHash = "sha256-xawbf5gXXV+7I2F2fDSaMvjtFvGDBtqX7wL3c28TSbA=";
+    cargoHash = "sha256-FA/xXlPaK8NxZIw7MCm9Fyesgu72Dsxhmb5xzOIINhE=";
     extraNativeBuildInputs = [ llvm_14 ];
     extraBuildInputs = [ libffi libxml2.out ncurses zlib ];
   };
@@ -101,6 +103,6 @@ in
   wasmer-compiler-singlepass = common {
     pname = "wasmer-compiler-singlepass";
     buildAndTestSubdir = "packages/compiler-singlepass";
-    cargoHash = "sha256-4nZHMCNumNhdGPOmHXlJ5POYP7K+VPjwhEUMgzGb/Rk=";
+    cargoHash = "sha256-yew7cB/7RLjW55jZmHFfIvaErgZ6XVxL1ucGGX2Cx18=";
   };
 }
diff --git a/pkgs/development/python-modules/weaviate-client/default.nix b/pkgs/development/python-modules/weaviate-client/default.nix
index 5db1981412937..f92ef94177d5d 100644
--- a/pkgs/development/python-modules/weaviate-client/default.nix
+++ b/pkgs/development/python-modules/weaviate-client/default.nix
@@ -1,46 +1,57 @@
-{ lib
-, authlib
-, buildPythonPackage
-, fetchPypi
-, pythonOlder
-, setuptools-scm
-, tqdm
-, validators
+{
+  lib,
+  authlib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  grpcio,
+  grpcio-health-checking,
+  grpcio-tools,
+  httpx,
+  pydantic,
+  pythonOlder,
+  pythonRelaxDepsHook,
+  setuptools-scm,
+  tqdm,
+  validators,
 }:
 
 buildPythonPackage rec {
   pname = "weaviate-client";
-  version = "4.5.1";
-  format = "setuptools";
+  version = "4.5.6";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-gElboFIwEMiwN6HhpPPT+tcmh0pMiDjq7R8TG2eMMKI=";
+  src = fetchFromGitHub {
+    owner = "weaviate";
+    repo = "weaviate-python-client";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-P1GiTsRDbJssoLZR//c+b4IJ2Zyb/0PaBLL+wmmI6zc=";
   };
 
-  postPatch = ''
-    substituteInPlace setup.cfg \
-      --replace "validators>=0.18.2,<=0.21.0" "validators>=0.18.2" \
-      --replace "requests>=2.28.0,<2.29.0" "requests>=2.28.0"
-  '';
-
-  nativeBuildInputs = [
-    setuptools-scm
+  pythonRelaxDeps = [
+    "httpx"
+    "validators"
   ];
 
-  propagatedBuildInputs = [
+  build-system = [ setuptools-scm ];
+
+  nativeBuildInputs = [ pythonRelaxDepsHook ];
+
+  dependencies = [
     authlib
+    grpcio
+    grpcio-health-checking
+    grpcio-tools
+    httpx
+    pydantic
     tqdm
     validators
   ];
 
   doCheck = false;
 
-  pythonImportsCheck = [
-    "weaviate"
-  ];
+  pythonImportsCheck = [ "weaviate" ];
 
   meta = with lib; {
     description = "Python native client for easy interaction with a Weaviate instance";
diff --git a/pkgs/development/python-modules/widgetsnbextension/default.nix b/pkgs/development/python-modules/widgetsnbextension/default.nix
index 97efa00b972c5..1e3ab50118c4c 100644
--- a/pkgs/development/python-modules/widgetsnbextension/default.nix
+++ b/pkgs/development/python-modules/widgetsnbextension/default.nix
@@ -30,6 +30,5 @@ buildPythonPackage rec {
     description = "IPython HTML widgets for Jupyter";
     homepage = "https://github.com/jupyter-widgets/ipywidgets/tree/master/python/widgetsnbextension";
     license = ipywidgets.meta.license; # Build from same repo
-    maintainers = with lib.maintainers; [ fridh ];
   };
 }
diff --git a/pkgs/development/python-modules/xarray/default.nix b/pkgs/development/python-modules/xarray/default.nix
index e3e3865ce5883..ad904dd6e60ba 100644
--- a/pkgs/development/python-modules/xarray/default.nix
+++ b/pkgs/development/python-modules/xarray/default.nix
@@ -52,6 +52,5 @@ buildPythonPackage rec {
     description = "N-D labeled arrays and datasets in Python";
     homepage = "https://github.com/pydata/xarray";
     license = licenses.asl20;
-    maintainers = with maintainers; [ fridh ];
   };
 }
diff --git a/pkgs/development/python-modules/xml2rfc/default.nix b/pkgs/development/python-modules/xml2rfc/default.nix
index fd027903d7149..7ab5192b6a04a 100644
--- a/pkgs/development/python-modules/xml2rfc/default.nix
+++ b/pkgs/development/python-modules/xml2rfc/default.nix
@@ -27,7 +27,7 @@
 
 buildPythonPackage rec {
   pname = "xml2rfc";
-  version = "3.20.1";
+  version = "3.21.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -36,7 +36,7 @@ buildPythonPackage rec {
     owner = "ietf-tools";
     repo = "xml2rfc";
     rev = "refs/tags/v${version}";
-    hash = "sha256-JDJZegJR34aaIzMdq/GYzOpIBH7epe9yHnUaI7OzRes=";
+    hash = "sha256-7lYNEyoLYbxn1ld08eXaN8BumYhN9EftpHQKxdu64MY=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/xmlschema/default.nix b/pkgs/development/python-modules/xmlschema/default.nix
index f03f00068600d..61bdd691368fd 100644
--- a/pkgs/development/python-modules/xmlschema/default.nix
+++ b/pkgs/development/python-modules/xmlschema/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "xmlschema";
-  version = "3.3.0";
+  version = "3.3.1";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "sissaschool";
     repo = "xmlschema";
     rev = "refs/tags/v${version}";
-    hash = "sha256-kqaS6h0bJvJQoVa4L2qhkvuZsK4a6vtqek/wWN22R6I=";
+    hash = "sha256-Sy70OQvKx0H8vxRFTEkg+QV9eVij5C9dlAwJ2HTFOi8=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/yabadaba/default.nix b/pkgs/development/python-modules/yabadaba/default.nix
index bc8146a91489d..7d5eb445d58de 100644
--- a/pkgs/development/python-modules/yabadaba/default.nix
+++ b/pkgs/development/python-modules/yabadaba/default.nix
@@ -1,33 +1,37 @@
-{ lib
-, buildPythonPackage
-, cdcs
-, datamodeldict
-, fetchFromGitHub
-, ipython
-, lxml
-, numpy
-, pandas
-, pymongo
-, pytestCheckHook
-, pythonOlder
-, tqdm
+{
+  lib,
+  buildPythonPackage,
+  cdcs,
+  datamodeldict,
+  fetchFromGitHub,
+  ipython,
+  lxml,
+  numpy,
+  pandas,
+  pymongo,
+  pytestCheckHook,
+  pythonOlder,
+  setuptools,
+  tqdm,
 }:
 
 buildPythonPackage rec {
   pname = "yabadaba";
-  version = "0.2.1";
-  format = "setuptools";
+  version = "0.2.2";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "usnistgov";
-    repo = pname;
-    rev = "v${version}";
-    hash = "sha256-D3dzO+vhf1utBMmX2RUgvxuaPneFnXDseqfz6CMDmv4=";
+    repo = "yabadaba";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-NfvnUrTnOeNfiTMrcRtWU3a/Wb6qsDeQlk5jwZ1OpgI=";
   };
 
-  propagatedBuildInputs = [
+  build-system = [ setuptools ];
+
+  dependencies = [
     cdcs
     datamodeldict
     ipython
@@ -38,13 +42,9 @@ buildPythonPackage rec {
     tqdm
   ];
 
-  nativeCheckInputs = [
-    pytestCheckHook
-  ];
+  nativeCheckInputs = [ pytestCheckHook ];
 
-  pythonImportsCheck = [
-    "yabadaba"
-  ];
+  pythonImportsCheck = [ "yabadaba" ];
 
   preCheck = ''
     export HOME=$(mktemp -d);
@@ -53,6 +53,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Abstraction layer allowing for common interactions with databases and records";
     homepage = "https://github.com/usnistgov/yabadaba";
+    changelog = "https://github.com/usnistgov/yabadaba/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/yamale/default.nix b/pkgs/development/python-modules/yamale/default.nix
index ae5705d9970d5..96d69aaddea73 100644
--- a/pkgs/development/python-modules/yamale/default.nix
+++ b/pkgs/development/python-modules/yamale/default.nix
@@ -1,44 +1,45 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, pythonOlder
-, pytestCheckHook
-, pyyaml
-, ruamel-yaml
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  pythonOlder,
+  pytestCheckHook,
+  pyyaml,
+  ruamel-yaml,
+  setuptools,
 }:
 
 buildPythonPackage rec {
   pname = "yamale";
-  version = "5.1.0";
-  format = "setuptools";
+  version = "5.2.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "23andMe";
-    repo = pname;
+    repo = "yamale";
     rev = "refs/tags/${version}";
-    hash = "sha256-WLI3cL6i7eLfaX1nN8K/fHlrkOm+JdTEscelql6jO44=";
+    hash = "sha256-UTtase1b8Zjaixhp/g0tLtT6QZS4cyaSHcFz+h9Qoos=";
   };
 
-  propagatedBuildInputs = [
+  build-system = [ setuptools ];
+
+  dependencies = [
     pyyaml
     ruamel-yaml
   ];
 
-  nativeCheckInputs = [
-    pytestCheckHook
-  ];
+  nativeCheckInputs = [ pytestCheckHook ];
 
-  pythonImportsCheck = [
-    "yamale"
-  ];
+  pythonImportsCheck = [ "yamale" ];
 
   meta = with lib; {
     description = "A schema and validator for YAML";
-    mainProgram = "yamale";
     homepage = "https://github.com/23andMe/Yamale";
+    changelog = "https://github.com/23andMe/Yamale/releases/tag/${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ rtburns-jpl ];
+    mainProgram = "yamale";
   };
 }
diff --git a/pkgs/development/python-modules/yamlfix/default.nix b/pkgs/development/python-modules/yamlfix/default.nix
index 26b39ed87ed5e..ee3a15d11bd0e 100644
--- a/pkgs/development/python-modules/yamlfix/default.nix
+++ b/pkgs/development/python-modules/yamlfix/default.nix
@@ -6,6 +6,7 @@
 , pdm-backend
 , pytest-freezegun
 , pytest-xdist
+, pytest
 , pytestCheckHook
 , pythonOlder
 , ruyaml
@@ -26,12 +27,12 @@ buildPythonPackage rec {
     hash = "sha256-nadyBIzXHbWm0QvympRaYU38tuPJ3TPJg8EbvVv+4L0=";
   };
 
-  nativeBuildInputs = [
+  build-system = [
     setuptools
     pdm-backend
   ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     click
     maison
     ruyaml
@@ -51,24 +52,9 @@ buildPythonPackage rec {
     "yamlfix"
   ];
 
-  disabledTests = [
-    # AssertionError: assert ... Fixed <stdin> in...
-    "test_check_one_file_no_changes"
-    "test_config_parsing"
-    "test_corrects_code_from_stdin"
-    "test_corrects_one_file"
-    "test_corrects_three_files"
-    "test_empty_list_inline_comment_indentation"
-    "test_find_files"
-    "test_fix_code_converts_non_valid_false_booleans"
-    "test_ignores_correct_files"
-    "test_include_exclude_files"
-    "test_read_prefixed_environment_variables"
-    "test_section_whitelines"
-    "test_whitelines"
-    "test_sequence_style_env_enum_parsing"
-    "test_verbose_option"
-    "test_enforcing_flow_style_together_with_adjustable_newlines"
+  pytestFlagsArray = [
+    "-W"
+    "ignore::DeprecationWarning"
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/youtube-search-python/default.nix b/pkgs/development/python-modules/youtube-search-python/default.nix
index 11da850c992d3..60ec65467d618 100644
--- a/pkgs/development/python-modules/youtube-search-python/default.nix
+++ b/pkgs/development/python-modules/youtube-search-python/default.nix
@@ -32,6 +32,6 @@ buildPythonPackage rec {
     description = "Search for YouTube videos, channels & playlists & get video information using link without YouTube Data API";
     homepage = "https://github.com/alexmercerind/youtube-search-python";
     license = licenses.mit;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/youtube-transcript-api/default.nix b/pkgs/development/python-modules/youtube-transcript-api/default.nix
index e76038267a804..526f7e761135f 100644
--- a/pkgs/development/python-modules/youtube-transcript-api/default.nix
+++ b/pkgs/development/python-modules/youtube-transcript-api/default.nix
@@ -42,6 +42,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/jdepoix/youtube-transcript-api";
     changelog = "https://github.com/jdepoix/youtube-transcript-api/releases/tag/v${version}";
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/python-modules/zwave-js-server-python/default.nix b/pkgs/development/python-modules/zwave-js-server-python/default.nix
index 8ebdf0f596f64..a6c1e50e34d39 100644
--- a/pkgs/development/python-modules/zwave-js-server-python/default.nix
+++ b/pkgs/development/python-modules/zwave-js-server-python/default.nix
@@ -1,33 +1,32 @@
-{ lib
-, aiohttp
-, buildPythonPackage
-, fetchFromGitHub
-, pydantic
-, pytest-aiohttp
-, pytestCheckHook
-, pythonOlder
-, setuptools
+{
+  lib,
+  aiohttp,
+  buildPythonPackage,
+  fetchFromGitHub,
+  pydantic,
+  pytest-aiohttp,
+  pytestCheckHook,
+  pythonOlder,
+  setuptools,
 }:
 
 buildPythonPackage rec {
   pname = "zwave-js-server-python";
-  version = "0.55.3";
+  version = "0.55.4";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
 
   src = fetchFromGitHub {
     owner = "home-assistant-libs";
-    repo = pname;
+    repo = "zwave-js-server-python";
     rev = "refs/tags/${version}";
-    hash = "sha256-FTcj0xZnIt0P6J/QRMC0bwcbRIVmpSWTorvE/AV/5PU=";
+    hash = "sha256-wPvMgQR85yHC0k+ENj+r/ilcxmOipSFGkz8qBRLgPaY=";
   };
 
-  nativeBuildInputs = [
-    setuptools
-  ];
+  build-system = [ setuptools ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     aiohttp
     pydantic
   ];
@@ -37,16 +36,14 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [
-    "zwave_js_server"
-  ];
+  pythonImportsCheck = [ "zwave_js_server" ];
 
   meta = with lib; {
     description = "Python wrapper for zwave-js-server";
-    mainProgram = "zwave-js-server-python";
     homepage = "https://github.com/home-assistant-libs/zwave-js-server-python";
     changelog = "https://github.com/home-assistant-libs/zwave-js-server-python/releases/tag/${version}";
     license = with licenses; [ asl20 ];
     maintainers = with maintainers; [ fab ];
+    mainProgram = "zwave-js-server-python";
   };
 }
diff --git a/pkgs/development/python-modules/zxcvbn/default.nix b/pkgs/development/python-modules/zxcvbn/default.nix
index 91b9d03ccc2eb..34f51ab5b7663 100644
--- a/pkgs/development/python-modules/zxcvbn/default.nix
+++ b/pkgs/development/python-modules/zxcvbn/default.nix
@@ -25,6 +25,6 @@ buildPythonPackage rec {
     mainProgram = "zxcvbn";
     homepage = "https://github.com/dwolfhub/zxcvbn-python";
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/r-modules/default.nix b/pkgs/development/r-modules/default.nix
index ecc3d2d66b428..aaa37c9bc7eb8 100644
--- a/pkgs/development/r-modules/default.nix
+++ b/pkgs/development/r-modules/default.nix
@@ -328,11 +328,13 @@ let
     CellBarcode = [ pkgs.zlib ];
     cld3 = [ pkgs.protobuf ];
     bnpmr = [ pkgs.gsl ];
+    caviarpd = [ pkgs.cargo ];
     cairoDevice = [ pkgs.gtk2.dev ];
     Cairo = with pkgs; [ libtiff libjpeg cairo.dev xorg.libXt.dev fontconfig.lib ];
     Cardinal = [ pkgs.which ];
     chebpol = [ pkgs.fftw.dev ];
     ChemmineOB = [ pkgs.pkg-config ];
+    clarabel = [ pkgs.cargo ];
     curl = [ pkgs.curl.dev ];
     CytoML = [ pkgs.libxml2.dev ];
     data_table = with pkgs; [ pkg-config zlib.dev ] ++ lib.optional stdenv.isDarwin pkgs.llvmPackages.openmp;
@@ -357,7 +359,9 @@ let
     gslnls = [ pkgs.gsl ];
     gert = [ pkgs.libgit2 ];
     haven = with pkgs; [ zlib.dev ];
+    hellorust = [ pkgs.cargo ];
     h5vc = with pkgs; [ zlib.dev bzip2.dev xz.dev ];
+    yyjsonr = with pkgs; [ zlib.dev ];
     highs = [ pkgs.which pkgs.cmake ];
     rbedrock = [ pkgs.zlib.dev pkgs.which pkgs.cmake ];
     HiCseg = [ pkgs.gsl ];
@@ -441,6 +445,8 @@ let
     clustermq = [ pkgs.zeromq ];
     SAVE = with pkgs; [ zlib bzip2 icu xz pcre ];
     salso = [ pkgs.cargo ];
+    ymd = [ pkgs.cargo ];
+    arcpbf = [ pkgs.cargo ];
     sdcTable = with pkgs; [ gmp glpk ];
     seewave = with pkgs; [ fftw.dev libsndfile.dev ];
     seqinr = [ pkgs.zlib.dev ];
@@ -450,6 +456,7 @@ let
     strawr = with pkgs; [ curl.dev ];
     string2path = [ pkgs.cargo ];
     terra = with pkgs; [ gdal proj geos ];
+    tok = [ pkgs.cargo ];
     apcf = with pkgs; [ geos ];
     SemiCompRisks = [ pkgs.gsl ];
     showtext = with pkgs; [ zlib libpng icu freetype.dev ];
@@ -531,6 +538,7 @@ let
     textshaping = [ pkgs.pkg-config ];
     ragg = [ pkgs.pkg-config ];
     qqconf = [ pkgs.pkg-config ];
+    qspray = [ pkgs.pkg-config ];
     vapour = [ pkgs.pkg-config ];
   };
 
@@ -548,6 +556,8 @@ let
     bayesWatch = [ pkgs.boost.dev ];
     clustermq = [  pkgs.pkg-config ];
     coga = [ pkgs.gsl.dev ];
+    mBvs = [ pkgs.gsl.dev ];
+    rcontroll = [ pkgs.gsl.dev ];
     deepSNV = with pkgs; [ xz.dev bzip2.dev zlib.dev ];
     epialleleR = with pkgs; [ xz.dev bzip2.dev zlib.dev ];
     gdalraster = with pkgs; [ gdal proj.dev sqlite.dev ];
@@ -568,11 +578,13 @@ let
     cairoDevice = [ pkgs.pkg-config ];
     chebpol = [ pkgs.pkg-config ];
     eds = [ pkgs.zlib.dev ];
+    pgenlibr = [ pkgs.zlib.dev ];
     fftw = [ pkgs.pkg-config ];
     gdtools = [ pkgs.pkg-config ];
     archive = [ pkgs.libarchive];
     gdalcubes = with pkgs; [ proj.dev gdal sqlite.dev netcdf ];
     SuperGauss = [ pkgs.pkg-config pkgs.fftw.dev];
+    specklestar = [ pkgs.fftw.dev ];
     cartogramR = [ pkgs.fftw.dev ];
     jqr = [ pkgs.jq.lib ];
     kza = [ pkgs.pkg-config ];
@@ -610,6 +622,7 @@ let
     tikzDevice = with pkgs; [ which texliveMedium ];
     gridGraphics = [ pkgs.which ];
     adimpro = with pkgs; [ which xorg.xdpyinfo ];
+    tfevents = [ pkgs.protobuf ];
     rsvg = [ pkgs.librsvg.dev ];
     ssh = with pkgs; [ libssh ];
     s2 = [ pkgs.openssl.dev ];
@@ -666,6 +679,7 @@ let
     seqbias = with pkgs; [ zlib.dev bzip2.dev xz.dev ];
     sparkwarc = [ pkgs.zlib.dev ];
     RoBMA = [ pkgs.jags ];
+    RoBSA = [ pkgs.jags ];
     pexm = [ pkgs.jags ];
     rGEDI = with pkgs; [ libgeotiff.dev libaec zlib.dev hdf5.dev ];
     rawrr = [ pkgs.mono ];
@@ -697,11 +711,13 @@ let
     PoissonMultinomial = [ pkgs.fftw.dev ];
     rrd = [ pkgs.rrdtool ];
     flowWorkspace = [ pkgs.zlib.dev ];
+    RITCH = [ pkgs.zlib.dev ];
     RcppMeCab = [ pkgs.mecab ];
     PING = [ pkgs.gsl ];
     RcppAlgos = [ pkgs.gmp.dev ];
     RcppBigIntAlgos = [ pkgs.gmp.dev ];
     spaMM = [ pkgs.gsl ];
+    shrinkTVP = [ pkgs.gsl ];
     unigd = with pkgs; [ cairo.dev libpng.dev ];
     HilbertVisGUI = [ pkgs.gtkmm2.dev ];
     textshaping = with pkgs; [ harfbuzz.dev freetype.dev fribidi libpng ];
@@ -710,7 +726,10 @@ let
     ijtiff = [ pkgs.libtiff ];
     ragg = with pkgs; [ freetype.dev libpng.dev libtiff.dev zlib.dev libjpeg.dev bzip2.dev ] ++ lib.optional stdenv.isDarwin lerc.dev;
     qqconf = [ pkgs.fftw.dev ];
+    spFW = [ pkgs.fftw.dev ];
+    qspray = with pkgs; [ gmp.dev mpfr.dev ];
     vapour = with pkgs; [ proj.dev gdal ];
+    MedianaDesigner = [ pkgs.zlib.dev ];
     ChemmineOB = [ pkgs.eigen ];
   };
 
@@ -795,6 +814,7 @@ let
     "likeLTD"
     "logmult"
     "loon"
+    "loon_ggplot"
     "LS2Wstat"
     "MareyMap"
     "memgene"
@@ -832,6 +852,7 @@ let
     "RandomFields"
     "rareNMtests"
     "rAverage"
+    "rfviz"
     "RclusTool"
     "Rcmdr"
     "RcmdrPlugin_coin"
@@ -915,10 +936,13 @@ let
     "connections"
     "csodata"
     "DiceView"
+    "facmodTS"
+    "margaret"
     "MSnID"
     "OmnipathR"
     "precommit"
     "protGear"
+    "PCRA"
     "PSCBS"
     "iemisc"
     "repmis"
@@ -937,6 +961,7 @@ let
     "ACNE"
     "APAlyzer"
     "EstMix"
+    "Patterns"
     "PECA"
     "Quartet"
     "ShinyQuickStarter"
@@ -1104,6 +1129,10 @@ let
       postPatch = "patchShebangs configure";
     });
 
+   surtvep = old.surtvep.overrideAttrs (attrs: {
+      postPatch = "patchShebangs configure";
+    });
+
     purrr = old.purrr.overrideAttrs (attrs: {
       patchPhase = "patchShebangs configure";
     });
@@ -1116,6 +1145,20 @@ let
       postPatch = "patchShebangs configure";
     });
 
+    zoomerjoin = old.zoomerjoin.overrideAttrs (attrs: {
+      nativeBuildInputs = [ pkgs.cargo ] ++ attrs.nativeBuildInputs;
+      postPatch = "patchShebangs configure";
+    });
+
+    b64 = old.b64.overrideAttrs (attrs: {
+      nativeBuildInputs = [ pkgs.cargo ] ++ attrs.nativeBuildInputs;
+      postPatch = "patchShebangs configure";
+    });
+
+   ocf = old.ocf.overrideAttrs (attrs: {
+      postPatch = "patchShebangs configure";
+    });
+
     data_table = old.data_table.overrideAttrs (attrs: {
       env = (attrs.env or { }) // {
         NIX_CFLAGS_COMPILE = attrs.env.NIX_CFLAGS_COMPILE + " -fopenmp";
diff --git a/pkgs/development/rocm-modules/5/clr/default.nix b/pkgs/development/rocm-modules/5/clr/default.nix
index 3fcd551cd423f..0c702dace2b81 100644
--- a/pkgs/development/rocm-modules/5/clr/default.nix
+++ b/pkgs/development/rocm-modules/5/clr/default.nix
@@ -2,6 +2,7 @@
 , stdenv
 , callPackage
 , fetchFromGitHub
+, fetchurl
 , rocmUpdateScript
 , makeWrapper
 , cmake
@@ -33,6 +34,16 @@ let
     "--set HSA_PATH ${rocm-runtime}"
     "--set ROCM_PATH $out"
   ];
+
+  # https://github.com/NixOS/nixpkgs/issues/305641
+  # Not needed when 3.29.2 is in unstable
+  cmake' = cmake.overrideAttrs(old: rec {
+    version = "3.29.2";
+    src = fetchurl {
+      url = "https://cmake.org/files/v${lib.versions.majorMinor version}/cmake-${version}.tar.gz";
+      hash = "sha256-NttLaSaqt0G6bksuotmckZMiITIwi03IJNQSPLcwNS4=";
+    };
+  });
 in stdenv.mkDerivation (finalAttrs: {
   pname = "clr";
   version = "5.7.1";
@@ -51,7 +62,7 @@ in stdenv.mkDerivation (finalAttrs: {
 
   nativeBuildInputs = [
     makeWrapper
-    cmake
+    cmake'
     perl
     python3Packages.python
     python3Packages.cppheaderparser
diff --git a/pkgs/development/rocm-modules/6/clr/default.nix b/pkgs/development/rocm-modules/6/clr/default.nix
index 05acf86478d38..dedda194c8280 100644
--- a/pkgs/development/rocm-modules/6/clr/default.nix
+++ b/pkgs/development/rocm-modules/6/clr/default.nix
@@ -3,6 +3,7 @@
 , callPackage
 , fetchFromGitHub
 , fetchpatch
+, fetchurl
 , rocmUpdateScript
 , makeWrapper
 , cmake
@@ -34,6 +35,16 @@ let
     "--set HSA_PATH ${rocm-runtime}"
     "--set ROCM_PATH $out"
   ];
+
+  # https://github.com/NixOS/nixpkgs/issues/305641
+  # Not needed when 3.29.2 is in unstable
+  cmake' = cmake.overrideAttrs(old: rec {
+    version = "3.29.2";
+    src = fetchurl {
+      url = "https://cmake.org/files/v${lib.versions.majorMinor version}/cmake-${version}.tar.gz";
+      hash = "sha256-NttLaSaqt0G6bksuotmckZMiITIwi03IJNQSPLcwNS4=";
+    };
+  });
 in stdenv.mkDerivation (finalAttrs: {
   pname = "clr";
   version = "6.0.2";
@@ -52,7 +63,7 @@ in stdenv.mkDerivation (finalAttrs: {
 
   nativeBuildInputs = [
     makeWrapper
-    cmake
+    cmake'
     perl
     python3Packages.python
     python3Packages.cppheaderparser
@@ -100,6 +111,16 @@ in stdenv.mkDerivation (finalAttrs: {
       url = "https://github.com/ROCm/clr/commit/77c581a3ebd47b5e2908973b70adea66891159ee.patch";
       hash = "sha256-auBedbd7rghlKav7A9V6l64J7VmtE9GizIdi5gWj+fs=";
     })
+    (fetchpatch {
+      name = "extend-hip-isa-compatibility-check.patch";
+      url = "https://salsa.debian.org/rocm-team/rocm-hipamd/-/raw/d6d20142c37e1dff820950b16ff8f0523241d935/debian/patches/0026-extend-hip-isa-compatibility-check.patch";
+      hash = "sha256-eG0ALZZQLRzD7zJueJFhi2emontmYy6xx8Rsm346nQI=";
+    })
+    (fetchpatch {
+      name = "improve-rocclr-isa-compatibility-check.patch";
+      url = "https://salsa.debian.org/rocm-team/rocm-hipamd/-/raw/d6d20142c37e1dff820950b16ff8f0523241d935/debian/patches/0025-improve-rocclr-isa-compatibility-check.patch";
+      hash = "sha256-8eowuRiOAdd9ucKv4Eg9FPU7c6367H3eP3fRAGfXc6Y=";
+    })
   ];
 
   postPatch = ''
@@ -113,6 +134,10 @@ in stdenv.mkDerivation (finalAttrs: {
 
     substituteInPlace hipamd/src/hip_embed_pch.sh \
       --replace "\''$LLVM_DIR/bin/clang" "${clang}/bin/clang"
+
+    # https://lists.debian.org/debian-ai/2024/02/msg00178.html
+    substituteInPlace rocclr/utils/flags.hpp \
+      --replace-fail "HIP_USE_RUNTIME_UNBUNDLER, false" "HIP_USE_RUNTIME_UNBUNDLER, true"
   '';
 
   postInstall = ''
diff --git a/pkgs/development/rocm-modules/6/default.nix b/pkgs/development/rocm-modules/6/default.nix
index 567b5bee4f728..e74df33a7bfbf 100644
--- a/pkgs/development/rocm-modules/6/default.nix
+++ b/pkgs/development/rocm-modules/6/default.nix
@@ -194,7 +194,7 @@ in rec {
   };
 
   rocblas = callPackage ./rocblas {
-    inherit rocblas rocmUpdateScript rocm-cmake clr tensile;
+    inherit rocmUpdateScript rocm-cmake clr tensile;
     inherit (llvm) openmp;
     stdenv = llvm.rocmClangStdenv;
   };
diff --git a/pkgs/development/rocm-modules/6/miopen/default.nix b/pkgs/development/rocm-modules/6/miopen/default.nix
index 09bcf10429530..0b57cf6592cbf 100644
--- a/pkgs/development/rocm-modules/6/miopen/default.nix
+++ b/pkgs/development/rocm-modules/6/miopen/default.nix
@@ -116,6 +116,11 @@ in stdenv.mkDerivation (finalAttrs: {
       url = "https://github.com/ROCm/MIOpen/commit/3413d2daaeb44b7d6eadcc03033a5954a118491e.patch";
       hash = "sha256-ST4snUcTmmSI1Ogx815KEX9GdMnmubsavDzXCGJkiKs=";
     })
+    (fetchpatch {
+      name = "Extend-MIOpen-ISA-compatibility.patch";
+      url = "https://github.com/GZGavinZhao/MIOpen/commit/416088b534618bd669a765afce59cfc7197064c1.patch";
+      hash = "sha256-OwONCA68y8s2GqtQj+OtotXwUXQ5jM8tpeM92iaD4MU=";
+    })
   ];
 
   outputs = [
diff --git a/pkgs/development/rocm-modules/6/rccl/default.nix b/pkgs/development/rocm-modules/6/rccl/default.nix
index cdbbd70440c20..a830883b4f82e 100644
--- a/pkgs/development/rocm-modules/6/rccl/default.nix
+++ b/pkgs/development/rocm-modules/6/rccl/default.nix
@@ -65,7 +65,9 @@ stdenv.mkDerivation (finalAttrs: {
 
     # Really strange behavior, `#!/usr/bin/env perl` should work...
     substituteInPlace CMakeLists.txt \
-      --replace "\''$ \''${hipify-perl_executable}" "${perl}/bin/perl ${hipify}/bin/hipify-perl"
+      --replace "\''$ \''${hipify-perl_executable}" "${perl}/bin/perl ${hipify}/bin/hipify-perl" \
+      --replace-warn "-parallel-jobs=12" "-parallel-jobs=1" \
+      --replace-warn "-parallel-jobs=16" "-parallel-jobs=1"
   '';
 
   postInstall = lib.optionalString buildTests ''
diff --git a/pkgs/development/rocm-modules/6/rocblas/default.nix b/pkgs/development/rocm-modules/6/rocblas/default.nix
index 296167bb6f287..f93cceddd68af 100644
--- a/pkgs/development/rocm-modules/6/rocblas/default.nix
+++ b/pkgs/development/rocm-modules/6/rocblas/default.nix
@@ -1,7 +1,7 @@
-{ rocblas
-, lib
+{ lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , rocmUpdateScript
 , runCommand
 , cmake
@@ -21,57 +21,26 @@
 , buildBenchmarks ? false
 , tensileLogic ? "asm_full"
 , tensileCOVersion ? "default"
-, tensileSepArch ? true
-, tensileLazyLib ? true
+# https://github.com/ROCm/Tensile/issues/1757
+# Allows gfx101* users to use rocBLAS normally.
+# Turn the below two values to `true` after the fix has been cherry-picked
+# into a release. Just backporting that single fix is not enough because it
+# depends on some previous commits.
+, tensileSepArch ? false
+, tensileLazyLib ? false
 , tensileLibFormat ? "msgpack"
-, gpuTargets ? [ "all" ]
+# `gfx940`, `gfx941` are not present in this list because they are early
+# engineering samples, and all final MI300 hardware are `gfx942`:
+# https://github.com/NixOS/nixpkgs/pull/298388#issuecomment-2032791130
+#
+# `gfx1012` is not present in this list because the ISA compatibility patches
+# would force all `gfx101*` GPUs to run as `gfx1010`, so `gfx101*` GPUs will
+# always try to use `gfx1010` code objects, hence building for `gfx1012` is
+# useless: https://github.com/NixOS/nixpkgs/pull/298388#issuecomment-2076327152
+, gpuTargets ? [ "gfx900;gfx906:xnack-;gfx908:xnack-;gfx90a:xnack+;gfx90a:xnack-;gfx942;gfx1010;gfx1030;gfx1100;gfx1101;gfx1102" ]
 }:
 
-let
-  # NOTE: Update the default GPU targets on every update
-  gfx80 = (rocblas.override {
-    gpuTargets = [
-      "gfx803"
-    ];
-  }).overrideAttrs { pname = "rocblas-tensile-gfx80"; };
-
-  gfx90 = (rocblas.override {
-    gpuTargets = [
-      "gfx900"
-      "gfx906:xnack-"
-      "gfx908:xnack-"
-      "gfx90a:xnack+"
-      "gfx90a:xnack-"
-    ];
-  }).overrideAttrs { pname = "rocblas-tensile-gfx90"; };
-
-  gfx94 = (rocblas.override {
-    gpuTargets = [
-      "gfx940"
-      "gfx941"
-      "gfx942"
-    ];
-  }).overrideAttrs { pname = "rocblas-tensile-gfx94"; };
-
-  gfx10 = (rocblas.override {
-    gpuTargets = [
-      "gfx1010"
-      "gfx1012"
-      "gfx1030"
-    ];
-  }).overrideAttrs { pname = "rocblas-tensile-gfx10"; };
-
-  gfx11 = (rocblas.override {
-    gpuTargets = [
-      "gfx1100"
-      "gfx1101"
-      "gfx1102"
-    ];
-  }).overrideAttrs { pname = "rocblas-tensile-gfx11"; };
-
-  # Unfortunately, we have to do two full builds, otherwise we get overlapping _fallback.dat files
-  fallbacks = rocblas.overrideAttrs { pname = "rocblas-tensile-fallbacks"; };
-in stdenv.mkDerivation (finalAttrs: {
+stdenv.mkDerivation (finalAttrs: {
   pname = "rocblas";
   version = "6.0.2";
 
@@ -94,6 +63,8 @@ in stdenv.mkDerivation (finalAttrs: {
     cmake
     rocm-cmake
     clr
+  ] ++ lib.optionals buildTensile [
+    tensile
   ];
 
   buildInputs = [
@@ -114,80 +85,41 @@ in stdenv.mkDerivation (finalAttrs: {
   ];
 
   cmakeFlags = [
-    "-DCMAKE_C_COMPILER=hipcc"
-    "-DCMAKE_CXX_COMPILER=hipcc"
-    "-Dpython=python3"
-    "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}"
-    "-DBUILD_WITH_TENSILE=${if buildTensile then "ON" else "OFF"}"
-    # Manually define CMAKE_INSTALL_<DIR>
-    # See: https://github.com/NixOS/nixpkgs/pull/197838
-    "-DCMAKE_INSTALL_BINDIR=bin"
-    "-DCMAKE_INSTALL_LIBDIR=lib"
-    "-DCMAKE_INSTALL_INCLUDEDIR=include"
+    (lib.cmakeFeature "CMAKE_C_COMPILER" "hipcc")
+    (lib.cmakeFeature "CMAKE_CXX_COMPILER" "hipcc")
+    (lib.cmakeFeature "python" "python3")
+    (lib.cmakeFeature "AMDGPU_TARGETS" (lib.concatStringsSep ";" gpuTargets))
+    (lib.cmakeBool "BUILD_WITH_TENSILE" buildTensile)
+    (lib.cmakeBool "ROCM_SYMLINK_LIBS" false)
+    (lib.cmakeFeature "ROCBLAS_TENSILE_LIBRARY_DIR" "lib/rocblas")
+    (lib.cmakeBool "BUILD_CLIENTS_TESTS" buildTests)
+    (lib.cmakeBool "BUILD_CLIENTS_BENCHMARKS" buildBenchmarks)
+    # rocblas header files are not installed unless we set this
+    (lib.cmakeFeature "CMAKE_INSTALL_INCLUDEDIR" "include")
   ] ++ lib.optionals buildTensile [
-    "-DVIRTUALENV_HOME_DIR=/build/source/tensile"
-    "-DTensile_TEST_LOCAL_PATH=/build/source/tensile"
-    "-DTensile_ROOT=/build/source/tensile/${python3.sitePackages}/Tensile"
-    "-DTensile_LOGIC=${tensileLogic}"
-    "-DTensile_CODE_OBJECT_VERSION=${tensileCOVersion}"
-    "-DTensile_SEPARATE_ARCHITECTURES=${if tensileSepArch then "ON" else "OFF"}"
-    "-DTensile_LAZY_LIBRARY_LOADING=${if tensileLazyLib then "ON" else "OFF"}"
-    "-DTensile_LIBRARY_FORMAT=${tensileLibFormat}"
-  ] ++ lib.optionals buildTests [
-    "-DBUILD_CLIENTS_TESTS=ON"
-  ] ++ lib.optionals buildBenchmarks [
-    "-DBUILD_CLIENTS_BENCHMARKS=ON"
+    (lib.cmakeBool "BUILD_WITH_PIP" false)
+    (lib.cmakeFeature "Tensile_LOGIC" tensileLogic)
+    (lib.cmakeFeature "Tensile_CODE_OBJECT_VERSION" tensileCOVersion)
+    (lib.cmakeBool "Tensile_SEPARATE_ARCHITECTURES" tensileSepArch)
+    (lib.cmakeBool "Tensile_LAZY_LIBRARY_LOADING" tensileLazyLib)
+    (lib.cmakeFeature "Tensile_LIBRARY_FORMAT" tensileLibFormat)
+    (lib.cmakeBool "Tensile_PRINT_DEBUG" true)
   ] ++ lib.optionals (buildTests || buildBenchmarks) [
-    "-DCMAKE_CXX_FLAGS=-I${amd-blis}/include/blis"
+    (lib.cmakeFeature "CMAKE_CXX_FLAGS" "-I${amd-blis}/include/blis")
   ];
 
-  postPatch = lib.optionalString (finalAttrs.pname != "rocblas") ''
-    # Return early and install tensile files manually
-    substituteInPlace library/src/CMakeLists.txt \
-      --replace "set_target_properties( TensileHost PROPERTIES OUTPUT_NAME" "return()''\nset_target_properties( TensileHost PROPERTIES OUTPUT_NAME"
-  '' + lib.optionalString (buildTensile && finalAttrs.pname == "rocblas") ''
-    # Link the prebuilt Tensile files
-    mkdir -p build/Tensile/library
-
-    for path in ${gfx80} ${gfx90} ${gfx94} ${gfx10} ${gfx11} ${fallbacks}; do
-      ln -s $path/lib/rocblas/library/* build/Tensile/library
-    done
-
-    unlink build/Tensile/library/TensileManifest.txt
-  '' + lib.optionalString buildTensile ''
-    # Tensile REALLY wants to write to the nix directory if we include it normally
-    cp -a ${tensile} tensile
-    chmod +w -R tensile
-
-    # Rewrap Tensile
-    substituteInPlace tensile/bin/{.t*,.T*,*} \
-      --replace "${tensile}" "/build/source/tensile"
-
-    substituteInPlace CMakeLists.txt \
-      --replace "include(virtualenv)" "" \
-      --replace "virtualenv_install(\''${Tensile_TEST_LOCAL_PATH})" ""
-  '';
+  patches = [
+    (fetchpatch {
+      name = "Extend-rocBLAS-HIP-ISA-compatibility.patch";
+      url = "https://github.com/GZGavinZhao/rocBLAS/commit/89b75ff9cc731f71f370fad90517395e117b03bb.patch";
+      hash = "sha256-W/ohOOyNCcYYLOiQlPzsrTlNtCBdJpKVxO8s+4G7sjo=";
+    })
+  ];
 
-  postInstall = lib.optionalString (finalAttrs.pname == "rocblas") ''
-    ln -sf ${fallbacks}/lib/rocblas/library/TensileManifest.txt $out/lib/rocblas/library
-  '' + lib.optionalString (finalAttrs.pname != "rocblas") ''
-    mkdir -p $out/lib/rocblas/library
-    rm -rf $out/share
-  '' + lib.optionalString (finalAttrs.pname != "rocblas" && finalAttrs.pname != "rocblas-tensile-fallbacks") ''
-    rm Tensile/library/{TensileManifest.txt,*_fallback.dat}
-    mv Tensile/library/* $out/lib/rocblas/library
-  '' + lib.optionalString (finalAttrs.pname == "rocblas-tensile-fallbacks") ''
-    mv Tensile/library/{TensileManifest.txt,*_fallback.dat} $out/lib/rocblas/library
-  '' + lib.optionalString buildTests ''
-    mkdir -p $test/bin
-    cp -a $out/bin/* $test/bin
-    rm $test/bin/*-bench || true
-  '' + lib.optionalString buildBenchmarks ''
-    mkdir -p $benchmark/bin
-    cp -a $out/bin/* $benchmark/bin
-    rm $benchmark/bin/*-test || true
-  '' + lib.optionalString (buildTests || buildBenchmarks ) ''
-    rm -rf $out/bin
+  # Pass $NIX_BUILD_CORES to Tensile
+  postPatch = ''
+    substituteInPlace cmake/build-options.cmake \
+      --replace-fail 'Tensile_CPU_THREADS ""' 'Tensile_CPU_THREADS "$ENV{NIX_BUILD_CORES}"'
   '';
 
   passthru.updateScript = rocmUpdateScript {
diff --git a/pkgs/development/rocm-modules/6/rocm-runtime/default.nix b/pkgs/development/rocm-modules/6/rocm-runtime/default.nix
index 8c3d0cdc976db..f603b708265de 100644
--- a/pkgs/development/rocm-modules/6/rocm-runtime/default.nix
+++ b/pkgs/development/rocm-modules/6/rocm-runtime/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , rocmUpdateScript
 , pkg-config
 , cmake
@@ -42,6 +43,15 @@ stdenv.mkDerivation (finalAttrs: {
     libxml2
   ];
 
+  patches = [
+    (fetchpatch {
+      name = "extend-isa-compatibility-check.patch";
+      url = "https://salsa.debian.org/rocm-team/rocr-runtime/-/raw/076026d43bbee7f816b81fea72f984213a9ff961/debian/patches/0004-extend-isa-compatibility-check.patch";
+      hash = "sha256-cC030zVGS4kNXwaztv5cwfXfVwOldpLGV9iYgEfPEnY=";
+      stripLen = 1;
+    })
+  ];
+
   postPatch = ''
     patchShebangs image/blit_src/create_hsaco_ascii_file.sh
     patchShebangs core/runtime/trap_handler/create_trap_handler_header.sh
diff --git a/pkgs/development/rocm-modules/6/rocprim/default.nix b/pkgs/development/rocm-modules/6/rocprim/default.nix
index e9996cae61e78..3e8525655141e 100644
--- a/pkgs/development/rocm-modules/6/rocprim/default.nix
+++ b/pkgs/development/rocm-modules/6/rocprim/default.nix
@@ -1,4 +1,5 @@
 { lib
+, fetchpatch
 , stdenv
 , fetchFromGitHub
 , rocmUpdateScript
@@ -31,6 +32,14 @@ stdenv.mkDerivation (finalAttrs: {
     hash = "sha256-nWvq26qRPZ6Au1rc5cR74TKArcdUFg7O9djFi8SvMeM=";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "arch-conversion-marco.patch";
+      url = "https://salsa.debian.org/rocm-team/rocprim/-/raw/70c8aaee3cf545d92685f4ed9bf8f41e3d4d570c/debian/patches/arch-conversion-macro.patch";
+      hash = "sha256-oXdmbCArOB5bKE8ozDFrSh4opbO+c4VI6PNhljeUSms=";
+    })
+  ];
+
   nativeBuildInputs = [
     cmake
     rocm-cmake
diff --git a/pkgs/development/rocm-modules/6/tensile/default.nix b/pkgs/development/rocm-modules/6/tensile/default.nix
index af33fd789e846..6df403249e9aa 100644
--- a/pkgs/development/rocm-modules/6/tensile/default.nix
+++ b/pkgs/development/rocm-modules/6/tensile/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , rocmUpdateScript
 , buildPythonPackage
 , pytestCheckHook
@@ -34,6 +35,19 @@ buildPythonPackage rec {
     joblib
   ];
 
+  patches = [
+    (fetchpatch {
+      name = "Extend-Tensile-HIP-ISA-compatibility.patch";
+      url = "https://github.com/GZGavinZhao/Tensile/commit/855cb15839849addb0816a6dde45772034a3e41f.patch";
+      hash = "sha256-d+fVf/vz+sxGqJ96vuxe0jRMgbC5K6j5FQ5SJ1e3Sl8=";
+    })
+    (fetchpatch {
+      name = "Don-t-copy-file-twice-in-copyStaticFiles.patch";
+      url = "https://github.com/GZGavinZhao/Tensile/commit/9e14d5a00a096bddac605910a0e4dfb4c35bb0d5.patch";
+      hash = "sha256-gOzjJyD1K056OFQ+hK5nbUeBhxLTIgQLoT+0K12SypI=";
+    })
+  ];
+
   doCheck = false; # Too many errors, not sure how to set this up properly
 
   nativeCheckInputs = [
@@ -42,9 +56,9 @@ buildPythonPackage rec {
     rocminfo
   ];
 
-  preCheck = ''
-    export ROCM_PATH=${rocminfo}
-  '';
+  env = {
+    ROCM_PATH = rocminfo;
+  };
 
   pythonImportsCheck = [ "Tensile" ];
 
diff --git a/pkgs/development/ruby-modules/bundix/default.nix b/pkgs/development/ruby-modules/bundix/default.nix
index 784144909a368..f324ebecda615 100644
--- a/pkgs/development/ruby-modules/bundix/default.nix
+++ b/pkgs/development/ruby-modules/bundix/default.nix
@@ -43,7 +43,7 @@ buildRubyGem rec {
     '';
     homepage = "https://github.com/nix-community/bundix";
     license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ manveru marsam zimbatm ];
+    maintainers = with lib.maintainers; [ manveru zimbatm ];
     platforms = lib.platforms.all;
   };
 }
diff --git a/pkgs/development/ruby-modules/with-packages/Gemfile b/pkgs/development/ruby-modules/with-packages/Gemfile
index 86b8618c92d3e..9690544d9191c 100644
--- a/pkgs/development/ruby-modules/with-packages/Gemfile
+++ b/pkgs/development/ruby-modules/with-packages/Gemfile
@@ -138,6 +138,7 @@ gem 'rubyzip'
 gem 'rugged'
 gem 'sassc'
 gem 'scrypt'
+gem 'seccomp-tools'
 gem 'semian'
 gem 'sequel'
 gem 'sequel_pg'
diff --git a/pkgs/development/tools/abuild/default.nix b/pkgs/development/tools/abuild/default.nix
index dce24f0ad80d4..42fb141fd7cad 100644
--- a/pkgs/development/tools/abuild/default.nix
+++ b/pkgs/development/tools/abuild/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitLab
+, gitUpdater
 , makeWrapper
 , pkg-config
 , file
@@ -14,14 +15,14 @@
 
 stdenv.mkDerivation rec {
   pname = "abuild";
-  version = "3.12.0";
+  version = "3.13.0";
 
   src = fetchFromGitLab {
     domain = "gitlab.alpinelinux.org";
     owner = "alpine";
     repo = pname;
     rev = version;
-    sha256 = "sha256-p4TohsZZTi4HxtJsyuoE5HDfkGa0pv53saGj3X9bmrI=";
+    sha256 = "sha256-xVxgcBchGfeVo1cgP9iVsWjZ6SHVN6R8zWaE1k3DcXQ=";
   };
 
   buildInputs = [
@@ -77,6 +78,8 @@ stdenv.mkDerivation rec {
     done
   '';
 
+  passthru.updateScript = gitUpdater { };
+
   meta = with lib; {
     description = "Alpine Linux build tools";
     homepage = "https://gitlab.alpinelinux.org/alpine/abuild";
diff --git a/pkgs/development/tools/algolia-cli/default.nix b/pkgs/development/tools/algolia-cli/default.nix
index 7ef189b67fe3a..1d02230ec96bd 100644
--- a/pkgs/development/tools/algolia-cli/default.nix
+++ b/pkgs/development/tools/algolia-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "algolia-cli";
-  version = "1.6.6";
+  version = "1.6.8";
 
   src = fetchFromGitHub {
     owner = "algolia";
     repo = "cli";
     rev = "v${version}";
-    hash = "sha256-yLsyby3u1oz5fnQ/zQ0sjy2w+Pv0KHySojsDc4vnFF0=";
+    hash = "sha256-PqiFx1Bzv4cYwnlr1BDPGiumUUneT5sq64eFFcYPmaA=";
   };
 
   vendorHash = "sha256-cNuBTH7L2K4TgD0H9FZ9CjhE5AGXADaniGLD9Lhrtrk=";
@@ -31,6 +31,6 @@ buildGoModule rec {
     mainProgram = "algolia";
     homepage = "https://algolia.com/doc/tools/cli/";
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/tools/allure/default.nix b/pkgs/development/tools/allure/default.nix
index ddae95298e47d..2d247e3f7d419 100644
--- a/pkgs/development/tools/allure/default.nix
+++ b/pkgs/development/tools/allure/default.nix
@@ -1,40 +1,48 @@
-{ lib, stdenv, makeWrapper, fetchurl, jre }:
+{ lib
+, stdenv
+, makeWrapper
+, fetchurl
+, jre
+}:
 
-let
+stdenv.mkDerivation (finalAttrs: {
   pname = "allure";
-  version = "2.28.0";
-in
-stdenv.mkDerivation rec {
-  inherit pname version;
-  nativeBuildInputs = [ makeWrapper ];
-
-  buildInputs = [ jre ];
+  version = "2.29.0";
 
   src = fetchurl {
-    url = "https://github.com/allure-framework/allure2/releases/download/${version}/allure-${version}.tgz";
-    sha256 = "sha256-n+wmmY2936PQkHuS9DS7f51n3Eko/OM7nHHFbi85+Lk=";
+    url = "https://github.com/allure-framework/allure2/releases/download/${finalAttrs.version}/allure-${finalAttrs.version}.tgz";
+    hash = "sha256-ohcVXblnCrNs57BWmz+wUwplfIG9fOW8l08LuipNhPs=";
   };
+
   dontConfigure = true;
   dontBuild = true;
 
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ jre ];
+
   installPhase = ''
-    mkdir -p "$out/share"
+    runHook preInstall
+
+    mkdir -p $out/{bin,share}
     cd "$out/share"
     tar xvzf $src
-    mkdir -p "$out/bin"
-    makeWrapper $out/share/${pname}-${version}/bin/allure $out/bin/${pname} \
+    makeWrapper $out/share/${finalAttrs.meta.mainProgram}-${finalAttrs.version}/bin/allure $out/bin/${finalAttrs.meta.mainProgram} \
       --prefix PATH : "${jre}/bin"
-  '';
 
-  dontCheck = true;
+    runHook postInstall
+  '';
 
-  meta = with lib; {
+  meta =  {
     homepage = "https://docs.qameta.io/allure/";
     description = "Allure Report is a flexible, lightweight multi-language test reporting tool.";
+    longDescription = ''
+      Allure Report is a flexible, lightweight multi-language test reporting
+      tool providing clear graphical reports and allowing everyone involved
+      in the development process to extract the maximum of information from
+      the everyday testing process.
+      '';
+    license = lib.licenses.asl20;
     mainProgram = "allure";
-    longDescription = "Allure Report is a flexible, lightweight multi-language test reporting tool. It provides clear graphical reports and allows everyone involved in the development process to extract the maximum of information from the everyday testing process";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ happysalada ];
+    maintainers = with lib.maintainers; [ happysalada ];
   };
-}
-
+})
diff --git a/pkgs/development/tools/altair-graphql-client/default.nix b/pkgs/development/tools/altair-graphql-client/default.nix
index 3be3625cd696e..0f6cdeffe86ca 100644
--- a/pkgs/development/tools/altair-graphql-client/default.nix
+++ b/pkgs/development/tools/altair-graphql-client/default.nix
@@ -15,8 +15,6 @@ appimageTools.wrapType2 {
   inherit src pname version;
 
   extraInstallCommands = ''
-    mv $out/bin/${pname}-${version} $out/bin/${pname}
-
     source "${makeWrapper}/nix-support/setup-hook"
     wrapProgram $out/bin/${pname} \
         --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
diff --git a/pkgs/development/tools/amqpcat/default.nix b/pkgs/development/tools/amqpcat/default.nix
index 09094fae8e10b..7672e8379089c 100644
--- a/pkgs/development/tools/amqpcat/default.nix
+++ b/pkgs/development/tools/amqpcat/default.nix
@@ -2,13 +2,13 @@
 
 crystal.buildCrystalPackage rec {
   pname = "amqpcat";
-  version = "0.2.5";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "cloudamqp";
     repo = "amqpcat";
     rev = "v${version}";
-    hash = "sha256-AXX4aF5717lSIO0/2jNDPXXLtM/h//BlxO+cX71aWG4=";
+    hash = "sha256-QLVFAcymj7dERbUiRcseiDuuKgrQ8n4LbkdhUyXPcWw=";
   };
 
   format = "shards";
diff --git a/pkgs/development/tools/amqpcat/shards.nix b/pkgs/development/tools/amqpcat/shards.nix
index 4cfa4933f11fe..077c49286971b 100644
--- a/pkgs/development/tools/amqpcat/shards.nix
+++ b/pkgs/development/tools/amqpcat/shards.nix
@@ -1,12 +1,12 @@
 {
   amq-protocol = {
     url = "https://github.com/cloudamqp/amq-protocol.cr.git";
-    rev = "v1.1.4";
-    sha256 = "1x10zh371wmwi55rpdymfhf7hbh900zc94b64hkk12pp20mws55r";
+    rev = "v1.1.14";
+    sha256 = "1pr5h3lxfhjmarfqpvfldn8d6425g3i56k4p4szk2jkffa0z38nz";
   };
   amqp-client = {
     url = "https://github.com/cloudamqp/amqp-client.cr.git";
-    rev = "v1.0.11";
-    sha256 = "0d08k9jjd9jw40slj71wi9p6773d1djva9zjb40pskcgg2wfirx3";
+    rev = "v1.2.3";
+    sha256 = "1pbiq5srni87hd8q2x3vs4s2hpajlzzlwgalgnmb35dcyih1ff9k";
   };
 }
diff --git a/pkgs/development/tools/analysis/actionlint/default.nix b/pkgs/development/tools/analysis/actionlint/default.nix
index 79cf031d14d6e..71b361b615165 100644
--- a/pkgs/development/tools/analysis/actionlint/default.nix
+++ b/pkgs/development/tools/analysis/actionlint/default.nix
@@ -39,7 +39,7 @@ buildGoModule rec {
     description = "Static checker for GitHub Actions workflow files";
     changelog = "https://github.com/rhysd/actionlint/raw/v${version}/CHANGELOG.md";
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     mainProgram = "actionlint";
   };
 }
diff --git a/pkgs/development/tools/analysis/brakeman/default.nix b/pkgs/development/tools/analysis/brakeman/default.nix
index 86311a2686620..0380524b24014 100644
--- a/pkgs/development/tools/analysis/brakeman/default.nix
+++ b/pkgs/development/tools/analysis/brakeman/default.nix
@@ -13,7 +13,7 @@ bundlerApp rec {
     changelog = "https://github.com/presidentbeef/brakeman/blob/v${version}/CHANGES.md";
     license = [ licenses.unfreeRedistributable ];
     platforms = ruby.meta.platforms;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     mainProgram = "brakeman";
   };
 }
diff --git a/pkgs/development/tools/analysis/codeql/default.nix b/pkgs/development/tools/analysis/codeql/default.nix
index d4a4de3502729..fdad4466f91b0 100644
--- a/pkgs/development/tools/analysis/codeql/default.nix
+++ b/pkgs/development/tools/analysis/codeql/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "codeql";
-  version = "2.17.0";
+  version = "2.17.1";
 
   dontConfigure = true;
   dontBuild = true;
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   src = fetchzip {
     url = "https://github.com/github/codeql-cli-binaries/releases/download/v${version}/codeql.zip";
-    hash = "sha256-JGk3UTXBRVzPSV5StRXV+ATl9mxaeZsXHUvrXNkVYcg=";
+    hash = "sha256-4S6xsxLGYdkdG9SrpqTiFAq5WZMQM2TbnT7c5mRV/kE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/tools/analysis/flow/default.nix b/pkgs/development/tools/analysis/flow/default.nix
index 179e57625c9ed..803b15e6a2aa7 100644
--- a/pkgs/development/tools/analysis/flow/default.nix
+++ b/pkgs/development/tools/analysis/flow/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "flow";
-  version = "0.234.0";
+  version = "0.235.1";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "flow";
     rev = "v${version}";
-    hash = "sha256-ChAgAYvNjQ60ly8B4i4M0awjgke8IcjJK72TOQZNnzw=";
+    hash = "sha256-aSL6C9MBn3fmuUrtWvb+6VBd1tpoIyqDXEqThGRNx7U=";
   };
 
   postPatch = ''
@@ -36,6 +36,6 @@ stdenv.mkDerivation rec {
     changelog = "https://github.com/facebook/flow/blob/v${version}/Changelog.md";
     license = licenses.mit;
     platforms = ocamlPackages.ocaml.meta.platforms;
-    maintainers = with maintainers; [ marsam puffnfresh ];
+    maintainers = with maintainers; [ puffnfresh ];
   };
 }
diff --git a/pkgs/development/tools/analysis/hotspot/default.nix b/pkgs/development/tools/analysis/hotspot/default.nix
index 7d36f43232835..b0165266b1a05 100644
--- a/pkgs/development/tools/analysis/hotspot/default.nix
+++ b/pkgs/development/tools/analysis/hotspot/default.nix
@@ -1,10 +1,15 @@
 { lib
-, mkDerivation
+, stdenv
+, binutils
 , cmake
-, elfutils
 , extra-cmake-modules
+, patchelfUnstable
+, wrapQtAppsHook
+, elfutils
 , fetchFromGitHub
+, fetchpatch
 , kconfigwidgets
+, kddockwidgets
 , ki18n
 , kio
 , kitemmodels
@@ -12,33 +17,48 @@
 , kparts
 , kwindowsystem
 , libelf
+, linuxPackages
 , qtbase
+, qtsvg
+, rustc-demangle
+, syntax-highlighting
 , threadweaver
-, qtx11extras
 , zstd
-, kddockwidgets
-, rustc-demangle
 }:
 
-mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "hotspot";
-  version = "1.4.1";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = "KDAB";
     repo = "hotspot";
     rev = "refs/tags/v${version}";
-    hash = "sha256-DW4R7+rnonmEMbCkNS7TGodw+3mEyHl6OlFK3kbG5HM=";
+    hash = "sha256-FJkDPWqNwoWg/15tvMnwke7PVtWVuqT0gtJBFQE0qZ4=";
     fetchSubmodules = true;
   };
 
+  patches = [
+    # Backport stuck UI bug fix
+    # FIXME: remove in next update
+    (fetchpatch {
+      url = "https://github.com/KDAB/hotspot/commit/7639dee8617dba9b88182c7ff4887e8d3714ac98.patch";
+      hash = "sha256-aAo9uEy+MBztMhnC5jB08moZBeRCENU22R39pqSBXOY=";
+    })
+  ];
+
   nativeBuildInputs = [
     cmake
     extra-cmake-modules
+    # stable patchelf corrupts the binary
+    patchelfUnstable
+    wrapQtAppsHook
   ];
+
   buildInputs = [
     (elfutils.override { enableDebuginfod = true; }) # perfparser needs to find debuginfod.h
     kconfigwidgets
+    kddockwidgets
     ki18n
     kio
     kitemmodels
@@ -47,25 +67,24 @@ mkDerivation rec {
     kwindowsystem
     libelf
     qtbase
+    qtsvg
+    rustc-demangle
+    syntax-highlighting
     threadweaver
-    qtx11extras
     zstd
-    kddockwidgets
-    rustc-demangle
   ];
 
-  # hotspot checks for the presence of third party libraries'
-  # git directory to give a nice warning when you forgot to clone
-  # submodules; but Nix clones them and removes .git (for reproducibility).
-  # So we need to fake their existence here.
-  postPatch = ''
-    mkdir -p 3rdparty/{perfparser,PrefixTickLabels}/.git
-  '';
-
   qtWrapperArgs = [
-    "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ rustc-demangle ]}"
+    "--suffix PATH : ${lib.makeBinPath [ linuxPackages.perf binutils ]}"
   ];
 
+  preFixup = ''
+    patchelf \
+      --add-rpath ${lib.makeLibraryPath [ rustc-demangle ]} \
+      --add-needed librustc_demangle.so \
+      $out/libexec/hotspot-perfparser
+  '';
+
   meta = with lib; {
     description = "A GUI for Linux perf";
     mainProgram = "hotspot";
diff --git a/pkgs/development/tools/analysis/nix-linter/default.nix b/pkgs/development/tools/analysis/nix-linter/default.nix
index aa60f5aa757d0..160c3b8eb8356 100644
--- a/pkgs/development/tools/analysis/nix-linter/default.nix
+++ b/pkgs/development/tools/analysis/nix-linter/default.nix
@@ -39,7 +39,7 @@ mkDerivation rec {
   description = "Linter for Nix(pkgs), based on hnix";
   homepage = "https://github.com/Synthetica9/nix-linter";
   license = lib.licenses.bsd3;
-  maintainers = [ lib.maintainers.marsam ];
+  maintainers = [ ];
 
   # doesn't build on ghc92
   hydraPlatforms = lib.platforms.none;
diff --git a/pkgs/development/tools/analysis/smatch/default.nix b/pkgs/development/tools/analysis/smatch/default.nix
index 2100b72c98784..7c4a497d04d17 100644
--- a/pkgs/development/tools/analysis/smatch/default.nix
+++ b/pkgs/development/tools/analysis/smatch/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "A semantic analysis tool for C";
     homepage = "https://sparse.docs.kernel.org/";
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
     license = licenses.gpl2Plus;
     platforms = platforms.all;
   };
diff --git a/pkgs/development/tools/analysis/stylelint/default.nix b/pkgs/development/tools/analysis/stylelint/default.nix
index f7fbfc0272546..26bc3b7893feb 100644
--- a/pkgs/development/tools/analysis/stylelint/default.nix
+++ b/pkgs/development/tools/analysis/stylelint/default.nix
@@ -2,16 +2,16 @@
 
 buildNpmPackage rec {
   pname = "stylelint";
-  version = "16.3.1";
+  version = "16.4.0";
 
   src = fetchFromGitHub {
     owner = "stylelint";
     repo = "stylelint";
     rev = version;
-    hash = "sha256-o4gi7pJ4ewdHANfa1Pgj4fxx9+bhQv6ciVWyuFn1OTs=";
+    hash = "sha256-N689OjxUo3KPN3mfNQ1cKYoe8DXcVTNkUO4NuZPGuXI=";
   };
 
-  npmDepsHash = "sha256-vgkrhOFQ0A0hp00bD1z3yt9s+UDHDTocNJuwZR9hOOA=";
+  npmDepsHash = "sha256-V+hiUMenskHV+ccYysBDD5WoQH9vem+uEfQ5SWEdVFU=";
 
   dontNpmBuild = true;
 
diff --git a/pkgs/development/tools/analysis/tflint/default.nix b/pkgs/development/tools/analysis/tflint/default.nix
index 93f3596bf171d..c5ded29ce9b50 100644
--- a/pkgs/development/tools/analysis/tflint/default.nix
+++ b/pkgs/development/tools/analysis/tflint/default.nix
@@ -49,6 +49,6 @@ buildGoModule rec {
     homepage = "https://github.com/terraform-linters/tflint";
     changelog = "https://github.com/terraform-linters/tflint/blob/v${version}/CHANGELOG.md";
     license = licenses.mpl20;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/tools/analysis/tfsec/default.nix b/pkgs/development/tools/analysis/tfsec/default.nix
index 28a780a241016..e83ade1162854 100644
--- a/pkgs/development/tools/analysis/tfsec/default.nix
+++ b/pkgs/development/tools/analysis/tfsec/default.nix
@@ -35,6 +35,6 @@ buildGoModule rec {
     homepage = "https://github.com/aquasecurity/tfsec";
     changelog = "https://github.com/aquasecurity/tfsec/releases/tag/v${version}";
     license = licenses.mit;
-    maintainers = with maintainers; [ fab marsam peterromfeldhk ];
+    maintainers = with maintainers; [ fab peterromfeldhk ];
   };
 }
diff --git a/pkgs/development/tools/buf/default.nix b/pkgs/development/tools/buf/default.nix
index c9ce9386a8446..603c0865419ce 100644
--- a/pkgs/development/tools/buf/default.nix
+++ b/pkgs/development/tools/buf/default.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "buf";
-  version = "1.30.1";
+  version = "1.31.0";
 
   src = fetchFromGitHub {
     owner = "bufbuild";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-1He9Vei2OXiBszZvATk1ALGWAneC4yucPohp/O6gsTo=";
+    hash = "sha256-CNt7ZfUMRQNNVusaBgEW64WH1TFYz8yEBfKksGVRVUM=";
   };
 
-  vendorHash = "sha256-OXzEcpEYnYndYHRhKm2oYsm463ZWeujOvQpIj0zz7+g=";
+  vendorHash = "sha256-kagSvwxVE+URRY2C5tRtdRwtHBIdQh3BWUG1b3+L8Os=";
 
   patches = [
     # Skip a test that requires networking to be available to work,
diff --git a/pkgs/development/tools/build-managers/apache-maven/build-package.nix b/pkgs/development/tools/build-managers/apache-maven/build-package.nix
index 43fc8e1232444..df5d67cb42e6b 100644
--- a/pkgs/development/tools/build-managers/apache-maven/build-package.nix
+++ b/pkgs/development/tools/build-managers/apache-maven/build-package.nix
@@ -28,7 +28,7 @@ let
 
     nativeBuildInputs = [
       maven
-    ];
+    ] ++ args.nativeBuildInputs or [ ];
 
     buildPhase = ''
       runHook preBuild
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_6/darwin_sleep.patch b/pkgs/development/tools/build-managers/bazel/bazel_6/darwin_sleep.patch
new file mode 100644
index 0000000000000..731ede89388ab
--- /dev/null
+++ b/pkgs/development/tools/build-managers/bazel/bazel_6/darwin_sleep.patch
@@ -0,0 +1,56 @@
+diff --git a/src/main/native/darwin/sleep_prevention_jni.cc b/src/main/native/darwin/sleep_prevention_jni.cc
+index 67c35b201e..e50a58320e 100644
+--- a/src/main/native/darwin/sleep_prevention_jni.cc
++++ b/src/main/native/darwin/sleep_prevention_jni.cc
+@@ -33,31 +33,13 @@ static int g_sleep_state_stack = 0;
+ static IOPMAssertionID g_sleep_state_assertion = kIOPMNullAssertionID;
+ 
+ int portable_push_disable_sleep() {
+-  std::lock_guard<std::mutex> lock(g_sleep_state_mutex);
+-  BAZEL_CHECK_GE(g_sleep_state_stack, 0);
+-  if (g_sleep_state_stack == 0) {
+-    BAZEL_CHECK_EQ(g_sleep_state_assertion, kIOPMNullAssertionID);
+-    CFStringRef reasonForActivity = CFSTR("build.bazel");
+-    IOReturn success = IOPMAssertionCreateWithName(
+-        kIOPMAssertionTypeNoIdleSleep, kIOPMAssertionLevelOn, reasonForActivity,
+-        &g_sleep_state_assertion);
+-    BAZEL_CHECK_EQ(success, kIOReturnSuccess);
+-  }
+-  g_sleep_state_stack += 1;
+-  return 0;
++  // Unreliable, disable for now
++  return -1;
+ }
+ 
+ int portable_pop_disable_sleep() {
+-  std::lock_guard<std::mutex> lock(g_sleep_state_mutex);
+-  BAZEL_CHECK_GT(g_sleep_state_stack, 0);
+-  g_sleep_state_stack -= 1;
+-  if (g_sleep_state_stack == 0) {
+-    BAZEL_CHECK_NE(g_sleep_state_assertion, kIOPMNullAssertionID);
+-    IOReturn success = IOPMAssertionRelease(g_sleep_state_assertion);
+-    BAZEL_CHECK_EQ(success, kIOReturnSuccess);
+-    g_sleep_state_assertion = kIOPMNullAssertionID;
+-  }
+-  return 0;
++  // Unreliable, disable for now
++  return -1;
+ }
+ 
+ }  // namespace blaze_jni
+diff --git a/src/main/native/darwin/system_suspension_monitor_jni.cc b/src/main/native/darwin/system_suspension_monitor_jni.cc
+index 3483aa7935..51782986ec 100644
+--- a/src/main/native/darwin/system_suspension_monitor_jni.cc
++++ b/src/main/native/darwin/system_suspension_monitor_jni.cc
+@@ -83,10 +83,7 @@ void portable_start_suspend_monitoring() {
+     // Register to receive system sleep notifications.
+     // Testing needs to be done manually. Use the logging to verify
+     // that sleeps are being caught here.
+-    suspend_state.connect_port = IORegisterForSystemPower(
+-        &suspend_state, &notifyPortRef, SleepCallBack, &notifierObject);
+-    BAZEL_CHECK_NE(suspend_state.connect_port, MACH_PORT_NULL);
+-    IONotificationPortSetDispatchQueue(notifyPortRef, queue);
++    // XXX: Unreliable, disable for now
+ 
+     // Register to deal with SIGCONT.
+     // We register for SIGCONT because we can't catch SIGSTOP.
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_6/default.nix b/pkgs/development/tools/build-managers/bazel/bazel_6/default.nix
index 75c014040e527..186d585d626e4 100644
--- a/pkgs/development/tools/build-managers/bazel/bazel_6/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/bazel_6/default.nix
@@ -8,7 +8,7 @@
 # updater
 , python3, writeScript
 # Apple dependencies
-, cctools, libcxx, CoreFoundation, CoreServices, Foundation
+, cctools, libcxx, CoreFoundation, CoreServices, Foundation, sigtool
 # Allow to independently override the jdks used to build and run respectively
 , buildJdk, runJdk
 , runtimeShell
@@ -25,12 +25,12 @@
 }:
 
 let
-  version = "6.4.0";
+  version = "6.5.0";
   sourceRoot = ".";
 
   src = fetchurl {
     url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel-${version}-dist.zip";
-    hash = "sha256-vYj/YCyLuynugroqaxKtCS1R7GaMZXf5Yo8Y5I/05R4=";
+    hash = "sha256-/InakZQVKJ8p5P8YpeAScOzppv6Dy2CWchi6xKO7PtI=";
   };
 
   # Update with
@@ -179,7 +179,7 @@ let
 
 in
 stdenv.mkDerivation rec {
-  pname = "bazel";
+  pname = "bazel${ lib.optionalString enableNixHacks "-hacks" }";
   inherit version;
 
   meta = with lib; {
@@ -205,6 +205,27 @@ stdenv.mkDerivation rec {
     # the prebuilt one does not work in nix world.
     ./java_toolchain.patch
 
+    # Bazel integrates with apple IOKit to inhibit and track system sleep.
+    # Inside the darwin sandbox, these API calls are blocked, and bazel
+    # crashes. It seems possible to allow these APIs inside the sandbox, but it
+    # feels simpler to patch bazel not to use it at all. So our bazel is
+    # incapable of preventing system sleep, which is a small price to pay to
+    # guarantee that it will always run in any nix context.
+    #
+    # See also ./bazel_darwin_sandbox.patch in bazel_5. That patch uses
+    # NIX_BUILD_TOP env var to conditionnally disable sleep features inside the
+    # sandbox.
+    #
+    # If you want to investigate the sandbox profile path,
+    # IORegisterForSystemPower can be allowed with
+    #
+    #     propagatedSandboxProfile = ''
+    #       (allow iokit-open (iokit-user-client-class "RootDomainUserClient"))
+    #     '';
+    #
+    # I do not know yet how to allow IOPMAssertion{CreateWithName,Release}
+    ./darwin_sleep.patch
+
     # On Darwin, the last argument to gcc is coming up as an empty string. i.e: ''
     # This is breaking the build of any C target. This patch removes the last
     # argument if it's found to be an empty string.
@@ -289,7 +310,11 @@ stdenv.mkDerivation rec {
       bazelTest = { name, bazelScript, workspaceDir, bazelPkg, buildInputs ? [] }:
         let
           be = extracted bazelPkg;
-        in runLocal name { inherit buildInputs; } (
+        in runLocal name {
+          inherit buildInputs;
+          # Necessary for the tests to pass on Darwin with sandbox enabled.
+          __darwinAllowLocalNetworking = true;
+        } (
           # skip extraction caching on Darwin, because nobody knows how Darwin works
           (lib.optionalString (!stdenv.hostPlatform.isDarwin) ''
             # set up home with pre-unpacked bazel
@@ -403,7 +428,10 @@ stdenv.mkDerivation rec {
       export NIX_CFLAGS_COMPILE+=" -Wno-deprecated-builtins -Wno-gnu-offsetof-extensions"
 
       # don't use system installed Xcode to run clang, use Nix clang instead
-      sed -i -E "s;/usr/bin/xcrun (--sdk macosx )?clang;${stdenv.cc}/bin/clang $NIX_CFLAGS_COMPILE $(bazelLinkFlags) -framework CoreFoundation;g" \
+      sed -i -E \
+        -e "s;/usr/bin/xcrun (--sdk macosx )?clang;${stdenv.cc}/bin/clang $NIX_CFLAGS_COMPILE $(bazelLinkFlags) -framework CoreFoundation;g" \
+        -e "s;/usr/bin/codesign;CODESIGN_ALLOCATE=${cctools}/bin/${cctools.targetPrefix}codesign_allocate ${sigtool}/bin/codesign;" \
+        -e "s;env -i codesign;env -i CODESIGN_ALLOCATE=${cctools}/bin/${cctools.targetPrefix}codesign_allocate ${sigtool}/bin/codesign;" \
         scripts/bootstrap/compile.sh \
         tools/osx/BUILD
 
@@ -557,7 +585,7 @@ stdenv.mkDerivation rec {
     which
     zip
     python3.pkgs.absl-py   # Needed to build fish completion
-  ] ++ lib.optionals (stdenv.isDarwin) [ cctools libcxx CoreFoundation CoreServices Foundation ];
+  ] ++ lib.optionals (stdenv.isDarwin) [ cctools libcxx sigtool CoreFoundation CoreServices Foundation ];
 
   # Bazel makes extensive use of symlinks in the WORKSPACE.
   # This causes problems with infinite symlinks if the build output is in the same location as the
@@ -593,7 +621,10 @@ stdenv.mkDerivation rec {
     ${python3}/bin/python3 ./bazel_src/scripts/generate_fish_completion.py \
         --bazel=./bazel_src/output/bazel \
         --output=./bazel_src/output/bazel-complete.fish
-
+  '' +
+  # disable execlog parser on darwin, since it fails to build
+  # see https://github.com/NixOS/nixpkgs/pull/273774#issuecomment-1865322055
+  lib.optionalString (!stdenv.isDarwin) ''
     # need to change directory for bazel to find the workspace
     cd ./bazel_src
     # build execlog tooling
@@ -617,6 +648,10 @@ stdenv.mkDerivation rec {
     wrapProgram $out/bin/bazel $wrapperfile --suffix PATH : ${defaultShellPath}
     mv ./bazel_src/output/bazel $out/bin/bazel-${version}-${system}-${arch}
 
+  '' +
+  # disable execlog parser on darwin, since it fails to build
+  # see https://github.com/NixOS/nixpkgs/pull/273774#issuecomment-1865322055
+  (lib.optionalString (!stdenv.isDarwin) ''
     mkdir $out/share
     cp ./bazel_src/bazel-bin/src/tools/execlog/parser_deploy.jar $out/share/parser_deploy.jar
     cat <<EOF > $out/bin/bazel-execlog
@@ -624,7 +659,7 @@ stdenv.mkDerivation rec {
     ${runJdk}/bin/java -jar $out/share/parser_deploy.jar \$@
     EOF
     chmod +x $out/bin/bazel-execlog
-
+  '') + ''
     # shell completion files
     installShellCompletion --bash \
       --name bazel.bash \
@@ -678,6 +713,13 @@ stdenv.mkDerivation rec {
     # second call succeeds because it defers to $out/bin/bazel-{version}-{os_arch}
     hello_test
 
+    ## Test that the GSON serialisation files are present
+    gson_classes=$(unzip -l $($out/bin/bazel info install_base)/A-server.jar | grep -F -c _GsonTypeAdapter.class)
+    if [ "$gson_classes" -lt 10 ]; then
+      echo "Missing GsonTypeAdapter classes in A-server.jar. Lockfile generation will not work"
+      exit 1
+    fi
+
     runHook postInstall
   '';
 
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_6/src-deps.json b/pkgs/development/tools/build-managers/bazel/bazel_6/src-deps.json
index c294c1f22419c..d894a51c5d846 100644
--- a/pkgs/development/tools/build-managers/bazel/bazel_6/src-deps.json
+++ b/pkgs/development/tools/build-managers/bazel/bazel_6/src-deps.json
@@ -22,12 +22,11 @@
             "https://github.com/bazelbuild/stardoc/archive/1ef781ced3b1443dca3ed05dec1989eca1a4e1cd.tar.gz"
         ]
     },
-    "20211102.0.tar.gz": {
-        "name": "20211102.0.tar.gz",
-        "sha256": "dcf71b9cba8dc0ca9940c4b316a0c796be8fab42b070bb6b7cab62b48f0e66c4",
+    "20230802.0.tar.gz": {
+        "name": "20230802.0.tar.gz",
+        "sha256": "59d2976af9d6ecf001a81a35749a6e551a335b949d34918cfade07737b9d93c5",
         "urls": [
-            "https://mirror.bazel.build/github.com/abseil/abseil-cpp/archive/refs/tags/20211102.0.tar.gz",
-            "https://github.com/abseil/abseil-cpp/archive/refs/tags/20211102.0.tar.gz"
+            "https://github.com/abseil/abseil-cpp/archive/refs/tags/20230802.0.tar.gz"
         ]
     },
     "2f9af297c84c55c8b871ba4495e01ade42476c92.tar.gz": {
@@ -365,11 +364,10 @@
         "generator_function": "dist_http_archive",
         "generator_name": "com_google_absl",
         "name": "com_google_absl",
-        "sha256": "dcf71b9cba8dc0ca9940c4b316a0c796be8fab42b070bb6b7cab62b48f0e66c4",
-        "strip_prefix": "abseil-cpp-20211102.0",
+        "sha256": "59d2976af9d6ecf001a81a35749a6e551a335b949d34918cfade07737b9d93c5",
+        "strip_prefix": "abseil-cpp-20230802.0",
         "urls": [
-            "https://mirror.bazel.build/github.com/abseil/abseil-cpp/archive/refs/tags/20211102.0.tar.gz",
-            "https://github.com/abseil/abseil-cpp/archive/refs/tags/20211102.0.tar.gz"
+            "https://github.com/abseil/abseil-cpp/archive/refs/tags/20230802.0.tar.gz"
         ]
     },
     "com_google_googleapis": {
@@ -1149,20 +1147,20 @@
         "generator_function": "maybe",
         "generator_name": "remote_java_tools",
         "name": "remote_java_tools",
-        "sha256": "f58a358ca694a41416a9b6a92b852935ad301d8882e5d22f4f11134f035317d5",
+        "sha256": "aa11ecd5fc0af2769f0f2bdd25e2f4de7c1291ed24326fb23fa69bdd5dcae2b5",
         "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.6/java_tools-v12.6.zip",
-            "https://github.com/bazelbuild/java_tools/releases/download/java_v12.6/java_tools-v12.6.zip"
+            "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.7/java_tools-v12.7.zip",
+            "https://github.com/bazelbuild/java_tools/releases/download/java_v12.7/java_tools-v12.7.zip"
         ]
     },
     "remote_java_tools_darwin_arm64": {
         "generator_function": "maybe",
         "generator_name": "remote_java_tools_darwin_arm64",
         "name": "remote_java_tools_darwin_arm64",
-        "sha256": "c6ffcaf87965c436cc86fc0e9673dafc97c0761efae8225ad2691cf6cfe3d87a",
+        "sha256": "ecedf6305768dfd51751d0ad732898af092bd7710d497c6c6c3214af7e49395f",
         "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.6/java_tools_darwin_arm64-v12.6.zip",
-            "https://github.com/bazelbuild/java_tools/releases/download/java_v12.6/java_tools_darwin_arm64-v12.6.zip"
+            "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.7/java_tools_darwin_arm64-v12.7.zip",
+            "https://github.com/bazelbuild/java_tools/releases/download/java_v12.7/java_tools_darwin_arm64-v12.7.zip"
         ]
     },
     "remote_java_tools_darwin_arm64_for_testing": {
@@ -1187,10 +1185,10 @@
         "generator_function": "maybe",
         "generator_name": "remote_java_tools_darwin_x86_64",
         "name": "remote_java_tools_darwin_x86_64",
-        "sha256": "c6545e82e543cb5775d3b8909d6270b5f481864b5ff083d20bfa5dcf77ac3ef7",
+        "sha256": "e116c649c0355ab57ffcc870ce1139e5e1528cabac458bd50263d2b84ea4ffb2",
         "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.6/java_tools_darwin_x86_64-v12.6.zip",
-            "https://github.com/bazelbuild/java_tools/releases/download/java_v12.6/java_tools_darwin_x86_64-v12.6.zip"
+            "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.7/java_tools_darwin_x86_64-v12.7.zip",
+            "https://github.com/bazelbuild/java_tools/releases/download/java_v12.7/java_tools_darwin_x86_64-v12.7.zip"
         ]
     },
     "remote_java_tools_darwin_x86_64_for_testing": {
@@ -1233,10 +1231,10 @@
         "generator_function": "maybe",
         "generator_name": "remote_java_tools_linux",
         "name": "remote_java_tools_linux",
-        "sha256": "64294e91fe940c77e6d35818b4c3a1f07d78e33add01e330188d907032687066",
+        "sha256": "a346b9a291b6db1bb06f7955f267e47522d99963fe14e337da1d75d125a8599f",
         "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.6/java_tools_linux-v12.6.zip",
-            "https://github.com/bazelbuild/java_tools/releases/download/java_v12.6/java_tools_linux-v12.6.zip"
+            "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.7/java_tools_linux-v12.7.zip",
+            "https://github.com/bazelbuild/java_tools/releases/download/java_v12.7/java_tools_linux-v12.7.zip"
         ]
     },
     "remote_java_tools_linux_for_testing": {
@@ -1351,10 +1349,10 @@
         "generator_function": "maybe",
         "generator_name": "remote_java_tools_windows",
         "name": "remote_java_tools_windows",
-        "sha256": "63f727d44011b8c504bb4e6d89c2cd982278efb34dae8629687e9483d8f7d62d",
+        "sha256": "bae6a03b5aeead5804ba7bcdcc8b14ec3ed05b37f3db5519f788ab060bc53b05",
         "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.6/java_tools_windows-v12.6.zip",
-            "https://github.com/bazelbuild/java_tools/releases/download/java_v12.6/java_tools_windows-v12.6.zip"
+            "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.7/java_tools_windows-v12.7.zip",
+            "https://github.com/bazelbuild/java_tools/releases/download/java_v12.7/java_tools_windows-v12.7.zip"
         ]
     },
     "remote_java_tools_windows_for_testing": {
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_7/MODULE.bazel.lock b/pkgs/development/tools/build-managers/bazel/bazel_7/MODULE.bazel.lock
index fc9d8b7e034b7..2e380bbea3239 100644
--- a/pkgs/development/tools/build-managers/bazel/bazel_7/MODULE.bazel.lock
+++ b/pkgs/development/tools/build-managers/bazel/bazel_7/MODULE.bazel.lock
@@ -1,6 +1,6 @@
 {
   "lockFileVersion": 3,
-  "moduleFileHash": "63625ac7809ba5bc83e0814e16f223ac28a98df884897ddd5bfbd69fd4e3ddbf",
+  "moduleFileHash": "c07897f4cf2ea76f689df2779f50aed06ea638d666542078234ebb0efd3ea5a5",
   "flags": {
     "cmdRegistries": [
       "https://bcr.bazel.build/"
@@ -13,7 +13,7 @@
     "compatibilityMode": "ERROR"
   },
   "localOverrideHashes": {
-    "bazel_tools": "0cc38516259ab87144b82461dd874e139f093d8e356667c3a3c5a52441ac448f",
+    "bazel_tools": "922ea6752dc9105de5af957f7a99a6933c0a6a712d23df6aad16a9c399f7e787",
     "googleapis": "89bad67656f73e953cbf62f12165f56e97cf2cc17d56974c593de76200fa3471",
     "remoteapis": "3862bfbe3d308e71852b8f025f4b33ea9c0dc8790829eda4a71425c5a2ca814e"
   },
@@ -27,6 +27,7 @@
         "//:default_host_platform"
       ],
       "toolchainsToRegister": [
+        "@graalvm_toolchains//:gvm",
         "@bazel_tools//tools/python:autodetecting_toolchain",
         "@local_config_winsdk//:all",
         "//src/main/res:empty_rc_toolchain",
@@ -39,7 +40,7 @@
           "usingModule": "<root>",
           "location": {
             "file": "@@//:MODULE.bazel",
-            "line": 65,
+            "line": 66,
             "column": 22
           },
           "imports": {
@@ -83,7 +84,7 @@
                   "com.google.http-client:google-http-client-gson:1.42.0",
                   "com.google.http-client:google-http-client:1.42.0",
                   "com.google.j2objc:j2objc-annotations:1.3",
-                  "com.google.turbine:turbine:0.2",
+                  "com.google.turbine:turbine:0.4.0",
                   "com.ryanharter.auto.value:auto-value-gson-extension:1.3.1",
                   "com.ryanharter.auto.value:auto-value-gson-runtime:1.3.1",
                   "com.ryanharter.auto.value:auto-value-gson-factory:1.3.1",
@@ -127,6 +128,7 @@
                   "io.netty:netty-transport-native-unix-common:jar:osx-x86_64:4.1.93.Final",
                   "io.netty:netty-transport:4.1.93.Final",
                   "io.reactivex.rxjava3:rxjava:3.1.2",
+                  "it.unimi.dsi:fastutil:7.2.1",
                   "javax.activation:javax.activation-api:1.2.0",
                   "javax.annotation:javax.annotation-api:1.3.2",
                   "javax.inject:javax.inject:1",
@@ -146,7 +148,7 @@
                   "org.threeten:threeten-extra:1.5.0",
                   "org.tukaani:xz:1.9",
                   "org.yaml:snakeyaml:1.28",
-                  "tools.profiler:async-profiler:2.9",
+                  "tools.profiler:async-profiler:3.0",
                   "junit:junit:4.13.2",
                   "org.hamcrest:hamcrest-core:1.3"
                 ],
@@ -167,7 +169,7 @@
               "devDependency": false,
               "location": {
                 "file": "@@//:MODULE.bazel",
-                "line": 66,
+                "line": 67,
                 "column": 14
               }
             },
@@ -182,7 +184,7 @@
               "devDependency": false,
               "location": {
                 "file": "@@//:MODULE.bazel",
-                "line": 188,
+                "line": 190,
                 "column": 19
               }
             },
@@ -197,7 +199,7 @@
               "devDependency": false,
               "location": {
                 "file": "@@//:MODULE.bazel",
-                "line": 188,
+                "line": 190,
                 "column": 19
               }
             },
@@ -212,7 +214,7 @@
               "devDependency": false,
               "location": {
                 "file": "@@//:MODULE.bazel",
-                "line": 188,
+                "line": 190,
                 "column": 19
               }
             },
@@ -227,7 +229,7 @@
               "devDependency": false,
               "location": {
                 "file": "@@//:MODULE.bazel",
-                "line": 188,
+                "line": 190,
                 "column": 19
               }
             },
@@ -242,7 +244,7 @@
               "devDependency": false,
               "location": {
                 "file": "@@//:MODULE.bazel",
-                "line": 188,
+                "line": 190,
                 "column": 19
               }
             },
@@ -257,7 +259,7 @@
               "devDependency": false,
               "location": {
                 "file": "@@//:MODULE.bazel",
-                "line": 188,
+                "line": 190,
                 "column": 19
               }
             },
@@ -272,7 +274,7 @@
               "devDependency": false,
               "location": {
                 "file": "@@//:MODULE.bazel",
-                "line": 188,
+                "line": 190,
                 "column": 19
               }
             },
@@ -287,7 +289,7 @@
               "devDependency": false,
               "location": {
                 "file": "@@//:MODULE.bazel",
-                "line": 188,
+                "line": 190,
                 "column": 19
               }
             },
@@ -302,7 +304,7 @@
               "devDependency": false,
               "location": {
                 "file": "@@//:MODULE.bazel",
-                "line": 188,
+                "line": 190,
                 "column": 19
               }
             },
@@ -330,7 +332,7 @@
               "devDependency": false,
               "location": {
                 "file": "@@//:MODULE.bazel",
-                "line": 321,
+                "line": 333,
                 "column": 22
               }
             }
@@ -344,7 +346,7 @@
           "usingModule": "<root>",
           "location": {
             "file": "@@//:MODULE.bazel",
-            "line": 209,
+            "line": 211,
             "column": 32
           },
           "imports": {
@@ -384,7 +386,7 @@
           "usingModule": "<root>",
           "location": {
             "file": "@@//:MODULE.bazel",
-            "line": 243,
+            "line": 245,
             "column": 23
           },
           "imports": {},
@@ -398,7 +400,7 @@
               "devDependency": false,
               "location": {
                 "file": "@@//:MODULE.bazel",
-                "line": 244,
+                "line": 246,
                 "column": 17
               }
             }
@@ -412,7 +414,7 @@
           "usingModule": "<root>",
           "location": {
             "file": "@@//:MODULE.bazel",
-            "line": 246,
+            "line": 248,
             "column": 20
           },
           "imports": {
@@ -430,7 +432,7 @@
               "devDependency": false,
               "location": {
                 "file": "@@//:MODULE.bazel",
-                "line": 247,
+                "line": 249,
                 "column": 10
               }
             }
@@ -444,7 +446,7 @@
           "usingModule": "<root>",
           "location": {
             "file": "@@//:MODULE.bazel",
-            "line": 258,
+            "line": 260,
             "column": 33
           },
           "imports": {
@@ -475,7 +477,7 @@
           "usingModule": "<root>",
           "location": {
             "file": "@@//:MODULE.bazel",
-            "line": 279,
+            "line": 281,
             "column": 29
           },
           "imports": {
@@ -492,7 +494,7 @@
           "usingModule": "<root>",
           "location": {
             "file": "@@//:MODULE.bazel",
-            "line": 286,
+            "line": 288,
             "column": 32
           },
           "imports": {
@@ -511,7 +513,7 @@
           "usingModule": "<root>",
           "location": {
             "file": "@@//:MODULE.bazel",
-            "line": 294,
+            "line": 296,
             "column": 31
           },
           "imports": {
@@ -528,7 +530,7 @@
           "usingModule": "<root>",
           "location": {
             "file": "@@//:MODULE.bazel",
-            "line": 297,
+            "line": 299,
             "column": 48
           },
           "imports": {
@@ -540,12 +542,45 @@
           "hasNonDevUseExtension": true
         },
         {
+          "extensionBzlFile": "@rules_graalvm//:extensions.bzl",
+          "extensionName": "graalvm",
+          "usingModule": "<root>",
+          "location": {
+            "file": "@@//:MODULE.bazel",
+            "line": 302,
+            "column": 20
+          },
+          "imports": {
+            "graalvm_toolchains": "graalvm_toolchains"
+          },
+          "devImports": [],
+          "tags": [
+            {
+              "tagName": "graalvm",
+              "attributeValues": {
+                "name": "graalvm",
+                "distribution": "ce",
+                "java_version": "20",
+                "version": "20.0.2"
+              },
+              "devDependency": false,
+              "location": {
+                "file": "@@//:MODULE.bazel",
+                "line": 303,
+                "column": 12
+              }
+            }
+          ],
+          "hasDevUseExtension": false,
+          "hasNonDevUseExtension": true
+        },
+        {
           "extensionBzlFile": "@io_bazel//:extensions.bzl",
           "extensionName": "bazel_android_deps",
           "usingModule": "<root>",
           "location": {
             "file": "@@//:MODULE.bazel",
-            "line": 343,
+            "line": 355,
             "column": 35
           },
           "imports": {
@@ -562,7 +597,7 @@
           "usingModule": "<root>",
           "location": {
             "file": "@@//:MODULE.bazel",
-            "line": 346,
+            "line": 358,
             "column": 42
           },
           "imports": {
@@ -577,7 +612,7 @@
       ],
       "deps": {
         "rules_license": "rules_license@0.0.7",
-        "bazel_skylib": "bazel_skylib@1.4.1",
+        "bazel_skylib": "bazel_skylib@1.5.0",
         "com_google_protobuf": "protobuf@21.7",
         "com_github_grpc_grpc": "grpc@1.48.1.bcr.1",
         "platforms": "platforms@0.0.8",
@@ -587,7 +622,8 @@
         "blake3": "blake3@1.3.3.bcr.1",
         "zlib": "zlib@1.3",
         "rules_cc": "rules_cc@0.0.9",
-        "rules_java": "rules_java@7.1.0",
+        "rules_graalvm": "rules_graalvm@0.10.3",
+        "rules_java": "rules_java@7.4.0",
         "rules_proto": "rules_proto@5.3.0-21.7",
         "rules_jvm_external": "rules_jvm_external@5.2",
         "rules_python": "rules_python@0.26.0",
@@ -595,7 +631,7 @@
         "com_google_googletest": "googletest@1.14.0",
         "remoteapis": "remoteapis@_",
         "googleapis": "googleapis@_",
-        "apple_support": "apple_support@1.5.0",
+        "apple_support": "apple_support@1.8.1",
         "abseil-cpp": "abseil-cpp@20230125.1",
         "c-ares": "c-ares@1.15.0",
         "rules_go": "rules_go@0.39.1",
@@ -631,10 +667,10 @@
         }
       }
     },
-    "bazel_skylib@1.4.1": {
+    "bazel_skylib@1.5.0": {
       "name": "bazel_skylib",
-      "version": "1.4.1",
-      "key": "bazel_skylib@1.4.1",
+      "version": "1.5.0",
+      "key": "bazel_skylib@1.5.0",
       "repoName": "bazel_skylib",
       "executionPlatformsToRegister": [],
       "toolchainsToRegister": [
@@ -651,11 +687,11 @@
         "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "bazel_skylib~1.4.1",
+          "name": "bazel_skylib~1.5.0",
           "urls": [
-            "https://github.com/bazelbuild/bazel-skylib/releases/download/1.4.1/bazel-skylib-1.4.1.tar.gz"
+            "https://github.com/bazelbuild/bazel-skylib/releases/download/1.5.0/bazel-skylib-1.5.0.tar.gz"
           ],
-          "integrity": "sha256-uKFSeQF3QYCvx5iusoxGNL3M8ZxNmOe90c550f6aqtc=",
+          "integrity": "sha256-zVWgYudjuTSZIfD124w5MyiNyLpPdt2UFqrGis7jy5Q=",
           "strip_prefix": "",
           "remote_patches": {},
           "remote_patch_strip": 0
@@ -713,11 +749,11 @@
         }
       ],
       "deps": {
-        "bazel_skylib": "bazel_skylib@1.4.1",
+        "bazel_skylib": "bazel_skylib@1.5.0",
         "rules_python": "rules_python@0.26.0",
         "rules_cc": "rules_cc@0.0.9",
         "rules_proto": "rules_proto@5.3.0-21.7",
-        "rules_java": "rules_java@7.1.0",
+        "rules_java": "rules_java@7.4.0",
         "rules_pkg": "rules_pkg@0.9.1",
         "com_google_abseil": "abseil-cpp@20230125.1",
         "zlib": "zlib@1.3",
@@ -794,7 +830,7 @@
         }
       ],
       "deps": {
-        "bazel_skylib": "bazel_skylib@1.4.1",
+        "bazel_skylib": "bazel_skylib@1.5.0",
         "boringssl": "boringssl@0.0.0-20211025-d4f1ab9",
         "com_github_cares_cares": "c-ares@1.15.0",
         "com_google_absl": "abseil-cpp@20230125.1",
@@ -803,7 +839,7 @@
         "rules_proto": "rules_proto@5.3.0-21.7",
         "upb": "upb@0.0.0-20220923-a547704",
         "zlib": "zlib@1.3",
-        "rules_java": "rules_java@7.1.0",
+        "rules_java": "rules_java@7.4.0",
         "io_bazel_rules_go": "rules_go@0.39.1",
         "bazel_tools": "bazel_tools@_",
         "local_config_platform": "local_config_platform@_"
@@ -863,7 +899,7 @@
       "extensionUsages": [],
       "deps": {
         "rules_license": "rules_license@0.0.7",
-        "bazel_skylib": "bazel_skylib@1.4.1",
+        "bazel_skylib": "bazel_skylib@1.5.0",
         "rules_python": "rules_python@0.26.0",
         "bazel_tools": "bazel_tools@_",
         "local_config_platform": "local_config_platform@_"
@@ -892,8 +928,8 @@
       "toolchainsToRegister": [],
       "extensionUsages": [],
       "deps": {
-        "bazel_skylib": "bazel_skylib@1.4.1",
-        "rules_java": "rules_java@7.1.0",
+        "bazel_skylib": "bazel_skylib@1.5.0",
+        "rules_java": "rules_java@7.4.0",
         "bazel_tools": "bazel_tools@_",
         "local_config_platform": "local_config_platform@_"
       },
@@ -1058,10 +1094,42 @@
         }
       }
     },
-    "rules_java@7.1.0": {
+    "rules_graalvm@0.10.3": {
+      "name": "rules_graalvm",
+      "version": "0.10.3",
+      "key": "rules_graalvm@0.10.3",
+      "repoName": "rules_graalvm",
+      "executionPlatformsToRegister": [],
+      "toolchainsToRegister": [],
+      "extensionUsages": [],
+      "deps": {
+        "platforms": "platforms@0.0.8",
+        "bazel_features": "bazel_features@1.1.0",
+        "rules_java": "rules_java@7.4.0",
+        "bazel_skylib": "bazel_skylib@1.5.0",
+        "build_bazel_apple_support": "apple_support@1.8.1",
+        "bazel_tools": "bazel_tools@_",
+        "local_config_platform": "local_config_platform@_"
+      },
+      "repoSpec": {
+        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "ruleClassName": "http_archive",
+        "attributes": {
+          "name": "rules_graalvm~0.10.3",
+          "urls": [
+            "https://github.com/sgammon/rules_graalvm/releases/download/v0.10.3/rules_graalvm-0.10.3.zip"
+          ],
+          "integrity": "sha256-H0uZeedQMwQt9OlAWgqUmqXdlCfnLIqv2Ikdj2dOdeQ=",
+          "strip_prefix": "rules_graalvm-0.10.3",
+          "remote_patches": {},
+          "remote_patch_strip": 0
+        }
+      }
+    },
+    "rules_java@7.4.0": {
       "name": "rules_java",
-      "version": "7.1.0",
-      "key": "rules_java@7.1.0",
+      "version": "7.4.0",
+      "key": "rules_java@7.4.0",
       "repoName": "rules_java",
       "executionPlatformsToRegister": [],
       "toolchainsToRegister": [
@@ -1094,9 +1162,9 @@
         {
           "extensionBzlFile": "@rules_java//java:extensions.bzl",
           "extensionName": "toolchains",
-          "usingModule": "rules_java@7.1.0",
+          "usingModule": "rules_java@7.4.0",
           "location": {
-            "file": "https://bcr.bazel.build/modules/rules_java/7.1.0/MODULE.bazel",
+            "file": "https://bcr.bazel.build/modules/rules_java/7.4.0/MODULE.bazel",
             "line": 19,
             "column": 27
           },
@@ -1138,7 +1206,7 @@
       "deps": {
         "platforms": "platforms@0.0.8",
         "rules_cc": "rules_cc@0.0.9",
-        "bazel_skylib": "bazel_skylib@1.4.1",
+        "bazel_skylib": "bazel_skylib@1.5.0",
         "rules_proto": "rules_proto@5.3.0-21.7",
         "rules_license": "rules_license@0.0.7",
         "bazel_tools": "bazel_tools@_",
@@ -1148,11 +1216,11 @@
         "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "rules_java~7.1.0",
+          "name": "rules_java~7.4.0",
           "urls": [
-            "https://github.com/bazelbuild/rules_java/releases/download/7.1.0/rules_java-7.1.0.tar.gz"
+            "https://github.com/bazelbuild/rules_java/releases/download/7.4.0/rules_java-7.4.0.tar.gz"
           ],
-          "integrity": "sha256-o3pOX2OrgnFuXdau75iO2EYcegC46TYnImKJn1h81OE=",
+          "integrity": "sha256-l27wi0nJKXQfIBeQ5Z44B8cq2B9CjIvJU82+/1/tFes=",
           "strip_prefix": "",
           "remote_patches": {},
           "remote_patch_strip": 0
@@ -1168,7 +1236,7 @@
       "toolchainsToRegister": [],
       "extensionUsages": [],
       "deps": {
-        "bazel_skylib": "bazel_skylib@1.4.1",
+        "bazel_skylib": "bazel_skylib@1.5.0",
         "com_google_protobuf": "protobuf@21.7",
         "rules_cc": "rules_cc@0.0.9",
         "bazel_tools": "bazel_tools@_",
@@ -1258,7 +1326,7 @@
         }
       ],
       "deps": {
-        "bazel_skylib": "bazel_skylib@1.4.1",
+        "bazel_skylib": "bazel_skylib@1.5.0",
         "io_bazel_stardoc": "stardoc@0.5.3",
         "bazel_tools": "bazel_tools@_",
         "local_config_platform": "local_config_platform@_"
@@ -1372,7 +1440,7 @@
       ],
       "deps": {
         "bazel_features": "bazel_features@1.1.0",
-        "bazel_skylib": "bazel_skylib@1.4.1",
+        "bazel_skylib": "bazel_skylib@1.5.0",
         "platforms": "platforms@0.0.8",
         "rules_proto": "rules_proto@5.3.0-21.7",
         "com_google_protobuf": "protobuf@21.7",
@@ -1405,7 +1473,7 @@
       "toolchainsToRegister": [],
       "extensionUsages": [],
       "deps": {
-        "bazel_skylib": "bazel_skylib@1.4.1",
+        "bazel_skylib": "bazel_skylib@1.5.0",
         "bazel_tools": "bazel_tools@_",
         "local_config_platform": "local_config_platform@_"
       },
@@ -1467,7 +1535,7 @@
       "toolchainsToRegister": [],
       "extensionUsages": [],
       "deps": {
-        "rules_java": "rules_java@7.1.0",
+        "rules_java": "rules_java@7.4.0",
         "rules_proto": "rules_proto@5.3.0-21.7",
         "com_google_protobuf": "protobuf@21.7",
         "googleapis": "googleapis@_",
@@ -1486,7 +1554,7 @@
       "extensionUsages": [],
       "deps": {
         "rules_license": "rules_license@0.0.7",
-        "rules_java": "rules_java@7.1.0",
+        "rules_java": "rules_java@7.4.0",
         "rules_proto": "rules_proto@5.3.0-21.7",
         "com_google_protobuf": "protobuf@21.7",
         "io_bazel": "<root>",
@@ -1494,10 +1562,10 @@
         "local_config_platform": "local_config_platform@_"
       }
     },
-    "apple_support@1.5.0": {
+    "apple_support@1.8.1": {
       "name": "apple_support",
-      "version": "1.5.0",
-      "key": "apple_support@1.5.0",
+      "version": "1.8.1",
+      "key": "apple_support@1.8.1",
       "repoName": "build_bazel_apple_support",
       "executionPlatformsToRegister": [],
       "toolchainsToRegister": [
@@ -1507,10 +1575,10 @@
         {
           "extensionBzlFile": "@build_bazel_apple_support//crosstool:setup.bzl",
           "extensionName": "apple_cc_configure_extension",
-          "usingModule": "apple_support@1.5.0",
+          "usingModule": "apple_support@1.8.1",
           "location": {
-            "file": "https://bcr.bazel.build/modules/apple_support/1.5.0/MODULE.bazel",
-            "line": 17,
+            "file": "https://bcr.bazel.build/modules/apple_support/1.8.1/MODULE.bazel",
+            "line": 14,
             "column": 35
           },
           "imports": {
@@ -1524,7 +1592,7 @@
         }
       ],
       "deps": {
-        "bazel_skylib": "bazel_skylib@1.4.1",
+        "bazel_skylib": "bazel_skylib@1.5.0",
         "platforms": "platforms@0.0.8",
         "bazel_tools": "bazel_tools@_",
         "local_config_platform": "local_config_platform@_"
@@ -1533,13 +1601,15 @@
         "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "apple_support~1.5.0",
+          "name": "apple_support~1.8.1",
           "urls": [
-            "https://github.com/bazelbuild/apple_support/releases/download/1.5.0/apple_support.1.5.0.tar.gz"
+            "https://github.com/bazelbuild/apple_support/releases/download/1.8.1/apple_support.1.8.1.tar.gz"
           ],
-          "integrity": "sha256-miM41vja0yRPgj8txghKA+TQ+7J8qJLclw5okNW0gYQ=",
+          "integrity": "sha256-Rda7rVMWycMAh4v3//xP/eE9YgSEyRhHCMkX4guLY/8=",
           "strip_prefix": "",
-          "remote_patches": {},
+          "remote_patches": {
+            "https://bcr.bazel.build/modules/apple_support/1.8.1/patches/module_dot_bazel_version.patch": "sha256-KiC39AC9hYWZhC2sZwZcY46HVerfh2p9pzF9WXqcxAI="
+          },
           "remote_patch_strip": 0
         }
       }
@@ -1555,7 +1625,7 @@
       "deps": {
         "rules_cc": "rules_cc@0.0.9",
         "platforms": "platforms@0.0.8",
-        "bazel_skylib": "bazel_skylib@1.4.1",
+        "bazel_skylib": "bazel_skylib@1.5.0",
         "bazel_tools": "bazel_tools@_",
         "local_config_platform": "local_config_platform@_"
       },
@@ -1585,7 +1655,7 @@
       "toolchainsToRegister": [],
       "extensionUsages": [],
       "deps": {
-        "bazel_skylib": "bazel_skylib@1.4.1",
+        "bazel_skylib": "bazel_skylib@1.5.0",
         "com_github_grpc_grpc": "grpc@1.48.1.bcr.1",
         "platforms": "platforms@0.0.8",
         "bazel_tools": "bazel_tools@_",
@@ -1720,7 +1790,7 @@
         }
       ],
       "deps": {
-        "bazel_skylib": "bazel_skylib@1.4.1",
+        "bazel_skylib": "bazel_skylib@1.5.0",
         "platforms": "platforms@0.0.8",
         "rules_proto": "rules_proto@5.3.0-21.7",
         "com_google_protobuf": "protobuf@21.7",
@@ -1752,7 +1822,7 @@
       "toolchainsToRegister": [],
       "extensionUsages": [],
       "deps": {
-        "bazel_skylib": "bazel_skylib@1.4.1",
+        "bazel_skylib": "bazel_skylib@1.5.0",
         "rules_proto": "rules_proto@5.3.0-21.7",
         "com_google_protobuf": "protobuf@21.7",
         "com_google_absl": "abseil-cpp@20230125.1",
@@ -1794,7 +1864,7 @@
           "usingModule": "bazel_tools@_",
           "location": {
             "file": "@@bazel_tools//:MODULE.bazel",
-            "line": 13,
+            "line": 17,
             "column": 29
           },
           "imports": {
@@ -1812,7 +1882,7 @@
           "usingModule": "bazel_tools@_",
           "location": {
             "file": "@@bazel_tools//:MODULE.bazel",
-            "line": 17,
+            "line": 21,
             "column": 32
           },
           "imports": {
@@ -1829,7 +1899,7 @@
           "usingModule": "bazel_tools@_",
           "location": {
             "file": "@@bazel_tools//:MODULE.bazel",
-            "line": 20,
+            "line": 24,
             "column": 32
           },
           "imports": {
@@ -1851,7 +1921,7 @@
           "usingModule": "bazel_tools@_",
           "location": {
             "file": "@@bazel_tools//:MODULE.bazel",
-            "line": 31,
+            "line": 35,
             "column": 39
           },
           "imports": {
@@ -1868,7 +1938,7 @@
           "usingModule": "bazel_tools@_",
           "location": {
             "file": "@@bazel_tools//:MODULE.bazel",
-            "line": 35,
+            "line": 39,
             "column": 48
           },
           "imports": {
@@ -1885,7 +1955,7 @@
           "usingModule": "bazel_tools@_",
           "location": {
             "file": "@@bazel_tools//:MODULE.bazel",
-            "line": 38,
+            "line": 42,
             "column": 42
           },
           "imports": {
@@ -1900,13 +1970,14 @@
       ],
       "deps": {
         "rules_cc": "rules_cc@0.0.9",
-        "rules_java": "rules_java@7.1.0",
+        "rules_java": "rules_java@7.4.0",
         "rules_license": "rules_license@0.0.7",
         "rules_proto": "rules_proto@5.3.0-21.7",
         "rules_python": "rules_python@0.26.0",
         "platforms": "platforms@0.0.8",
         "com_google_protobuf": "protobuf@21.7",
         "zlib": "zlib@1.3",
+        "build_bazel_apple_support": "apple_support@1.8.1",
         "local_config_platform": "local_config_platform@_"
       }
     },
@@ -2132,7 +2203,7 @@
         }
       ],
       "deps": {
-        "bazel_skylib": "bazel_skylib@1.4.1",
+        "bazel_skylib": "bazel_skylib@1.5.0",
         "com_google_protobuf": "protobuf@21.7",
         "io_bazel_rules_go": "rules_go@0.39.1",
         "rules_proto": "rules_proto@5.3.0-21.7",
@@ -2158,7 +2229,7 @@
   "moduleExtensions": {
     "//:extensions.bzl%bazel_android_deps": {
       "general": {
-        "bzlTransitiveDigest": "rjB9TSLGt3ZwbECWtF/HMgfqMsfEnDLK6fGIe65ZyfE=",
+        "bzlTransitiveDigest": "MO3e2koSmZi0NExoX7q3lkNlyquuSaUeNAzVxet7a1c=",
         "accumulatedFileDigests": {},
         "envVariables": {},
         "generatedRepoSpecs": {
@@ -2172,15 +2243,132 @@
               "url": "https://github.com/google/desugar_jdk_libs/archive/24dcd1dead0b64aae3d7c89ca9646b5dc4068009.zip"
             }
           }
-        }
+        },
+        "recordedRepoMappingEntries": [
+          [
+            "",
+            "abseil-cpp",
+            "abseil-cpp~20230125.1"
+          ],
+          [
+            "",
+            "apple_support",
+            "apple_support~1.8.1"
+          ],
+          [
+            "",
+            "bazel_skylib",
+            "bazel_skylib~1.5.0"
+          ],
+          [
+            "",
+            "bazel_tools",
+            "bazel_tools"
+          ],
+          [
+            "",
+            "blake3",
+            "blake3~1.3.3.bcr.1"
+          ],
+          [
+            "",
+            "c-ares",
+            "c-ares~1.15.0"
+          ],
+          [
+            "",
+            "com_github_grpc_grpc",
+            "grpc~1.48.1.bcr.1"
+          ],
+          [
+            "",
+            "com_google_protobuf",
+            "protobuf~21.7"
+          ],
+          [
+            "",
+            "io_bazel_skydoc",
+            "stardoc~0.5.3"
+          ],
+          [
+            "",
+            "platforms",
+            "platforms"
+          ],
+          [
+            "",
+            "rules_cc",
+            "rules_cc~0.0.9"
+          ],
+          [
+            "",
+            "rules_go",
+            "rules_go~0.39.1"
+          ],
+          [
+            "",
+            "rules_graalvm",
+            "rules_graalvm~0.10.3"
+          ],
+          [
+            "",
+            "rules_java",
+            "rules_java~7.4.0"
+          ],
+          [
+            "",
+            "rules_jvm_external",
+            "rules_jvm_external~5.2"
+          ],
+          [
+            "",
+            "rules_license",
+            "rules_license~0.0.7"
+          ],
+          [
+            "",
+            "rules_pkg",
+            "rules_pkg~0.9.1"
+          ],
+          [
+            "",
+            "rules_proto",
+            "rules_proto~5.3.0-21.7"
+          ],
+          [
+            "",
+            "rules_python",
+            "rules_python~0.26.0"
+          ],
+          [
+            "",
+            "upb",
+            "upb~0.0.0-20220923-a547704"
+          ],
+          [
+            "",
+            "zlib",
+            "zlib~1.3"
+          ],
+          [
+            "",
+            "zstd-jni",
+            "zstd-jni~1.5.2-3.bcr.1"
+          ],
+          [
+            "bazel_tools",
+            "bazel_tools",
+            "bazel_tools"
+          ]
+        ]
       }
     },
     "//:extensions.bzl%bazel_build_deps": {
       "general": {
-        "bzlTransitiveDigest": "rjB9TSLGt3ZwbECWtF/HMgfqMsfEnDLK6fGIe65ZyfE=",
+        "bzlTransitiveDigest": "MO3e2koSmZi0NExoX7q3lkNlyquuSaUeNAzVxet7a1c=",
         "accumulatedFileDigests": {
-          "@@//src/test/tools/bzlmod:MODULE.bazel.lock": "4e2a1386686aae6d7be071ef615438178fdb93104b5b84cf8a372b6a944b27cd",
-          "@@//:MODULE.bazel": "63625ac7809ba5bc83e0814e16f223ac28a98df884897ddd5bfbd69fd4e3ddbf"
+          "@@//src/test/tools/bzlmod:MODULE.bazel.lock": "0cae3b3c6186baa47cd8a48fe55530f613f22016845926e7825dce52dd496540",
+          "@@//:MODULE.bazel": "c07897f4cf2ea76f689df2779f50aed06ea638d666542078234ebb0efd3ea5a5"
         },
         "envVariables": {},
         "generatedRepoSpecs": {
@@ -2201,15 +2389,22 @@
               "name": "_main~bazel_build_deps~bazel_tools_repo_cache",
               "repos": [
                 "rules_cc~0.0.9",
-                "rules_java~7.1.0",
+                "rules_java~7.4.0",
                 "rules_license~0.0.7",
-                "rules_proto~4.0.0",
-                "rules_python~0.4.0",
+                "rules_proto~5.3.0-21.7",
+                "rules_python~0.22.1",
+                "buildozer~6.4.0.2",
                 "platforms",
-                "protobuf~3.19.6",
+                "protobuf~21.7",
                 "zlib~1.3",
                 "apple_support~1.5.0",
-                "bazel_skylib~1.3.0"
+                "bazel_skylib~1.3.0",
+                "rules_pkg~0.7.0",
+                "abseil-cpp~20211102.0",
+                "upb~0.0.0-20220923-a547704",
+                "rules_jvm_external~4.4.2",
+                "googletest~1.11.0",
+                "stardoc~0.5.1"
               ],
               "lockfile": "@@//src/test/tools/bzlmod:MODULE.bazel.lock"
             }
@@ -2261,8 +2456,8 @@
               "name": "_main~bazel_build_deps~bootstrap_repo_cache",
               "repos": [
                 "abseil-cpp~20230125.1",
-                "apple_support~1.5.0",
-                "bazel_skylib~1.4.1",
+                "apple_support~1.8.1",
+                "bazel_skylib~1.5.0",
                 "blake3~1.3.3.bcr.1",
                 "c-ares~1.15.0",
                 "grpc~1.48.1.bcr.1",
@@ -2271,8 +2466,9 @@
                 "platforms",
                 "rules_cc~0.0.9",
                 "rules_go~0.39.1",
-                "rules_java~7.1.0",
+                "rules_java~7.4.0",
                 "rules_jvm_external~5.2",
+                "rules_graalvm~0.10.3",
                 "rules_license~0.0.7",
                 "rules_pkg~0.9.1",
                 "rules_proto~5.3.0-21.7",
@@ -2341,9 +2537,9 @@
               "name": "_main~bazel_build_deps~workspace_repo_cache",
               "archives": [
                 "rules_cc-0.0.9.tar.gz",
-                "rules_java-7.1.0.tar.gz",
+                "rules_java-7.4.0.tar.gz",
                 "5.3.0-21.7.tar.gz",
-                "bazel-skylib-1.4.1.tar.gz",
+                "bazel-skylib-1.5.0.tar.gz",
                 "rules_license-0.0.7.tar.gz",
                 "rules_python-0.24.0.tar.gz",
                 "rules_pkg-0.9.1.tar.gz",
@@ -2352,9 +2548,9 @@
               ],
               "sha256": {
                 "rules_cc-0.0.9.tar.gz": "2037875b9a4456dce4a79d112a8ae885bbc4aad968e6587dca6e64f3a0900cdf",
-                "rules_java-7.1.0.tar.gz": "a37a4e5f63ab82716e5dd6aeef988ed8461c7a00b8e936272262899f587cd4e1",
+                "rules_java-7.4.0.tar.gz": "976ef08b49c929741f201790e59e3807c72ad81f428c8bc953cdbeff5fed15eb",
                 "5.3.0-21.7.tar.gz": "dc3fb206a2cb3441b485eb1e423165b231235a1ea9b031b4433cf7bc1fa460dd",
-                "bazel-skylib-1.4.1.tar.gz": "b8a1527901774180afc798aeb28c4634bdccf19c4d98e7bdd1ce79d1fe9aaad7",
+                "bazel-skylib-1.5.0.tar.gz": "cd55a062e763b9349921f0f5db8c3933288dc8ba4f76dd9416aac68acee3cb94",
                 "rules_license-0.0.7.tar.gz": "4531deccb913639c30e5c7512a054d5d875698daeb75d8cf90f284375fe7c360",
                 "rules_python-0.24.0.tar.gz": "0a8003b044294d7840ac7d9d73eef05d6ceb682d7516781a4ec62eeb34702578",
                 "rules_pkg-0.9.1.tar.gz": "8f9ee2dc10c1ae514ee599a8b42ed99fa262b757058f65ad3c384289ff70c4b8",
@@ -2365,14 +2561,14 @@
                 "rules_cc-0.0.9.tar.gz": [
                   "https://github.com/bazelbuild/rules_cc/releases/download/0.0.9/rules_cc-0.0.9.tar.gz"
                 ],
-                "rules_java-7.1.0.tar.gz": [
-                  "https://github.com/bazelbuild/rules_java/releases/download/7.1.0/rules_java-7.1.0.tar.gz"
+                "rules_java-7.4.0.tar.gz": [
+                  "https://github.com/bazelbuild/rules_java/releases/download/7.4.0/rules_java-7.4.0.tar.gz"
                 ],
                 "5.3.0-21.7.tar.gz": [
                   "https://github.com/bazelbuild/rules_proto/archive/refs/tags/5.3.0-21.7.tar.gz"
                 ],
-                "bazel-skylib-1.4.1.tar.gz": [
-                  "https://github.com/bazelbuild/bazel-skylib/releases/download/1.4.1/bazel-skylib-1.4.1.tar.gz"
+                "bazel-skylib-1.5.0.tar.gz": [
+                  "https://github.com/bazelbuild/bazel-skylib/releases/download/1.5.0/bazel-skylib-1.5.0.tar.gz"
                 ],
                 "rules_license-0.0.7.tar.gz": [
                   "https://github.com/bazelbuild/rules_license/releases/download/0.0.7/rules_license-0.0.7.tar.gz"
@@ -2423,12 +2619,129 @@
               "build_file": "@@//tools/distributions/debian:debian_proto.BUILD"
             }
           }
-        }
+        },
+        "recordedRepoMappingEntries": [
+          [
+            "",
+            "abseil-cpp",
+            "abseil-cpp~20230125.1"
+          ],
+          [
+            "",
+            "apple_support",
+            "apple_support~1.8.1"
+          ],
+          [
+            "",
+            "bazel_skylib",
+            "bazel_skylib~1.5.0"
+          ],
+          [
+            "",
+            "bazel_tools",
+            "bazel_tools"
+          ],
+          [
+            "",
+            "blake3",
+            "blake3~1.3.3.bcr.1"
+          ],
+          [
+            "",
+            "c-ares",
+            "c-ares~1.15.0"
+          ],
+          [
+            "",
+            "com_github_grpc_grpc",
+            "grpc~1.48.1.bcr.1"
+          ],
+          [
+            "",
+            "com_google_protobuf",
+            "protobuf~21.7"
+          ],
+          [
+            "",
+            "io_bazel_skydoc",
+            "stardoc~0.5.3"
+          ],
+          [
+            "",
+            "platforms",
+            "platforms"
+          ],
+          [
+            "",
+            "rules_cc",
+            "rules_cc~0.0.9"
+          ],
+          [
+            "",
+            "rules_go",
+            "rules_go~0.39.1"
+          ],
+          [
+            "",
+            "rules_graalvm",
+            "rules_graalvm~0.10.3"
+          ],
+          [
+            "",
+            "rules_java",
+            "rules_java~7.4.0"
+          ],
+          [
+            "",
+            "rules_jvm_external",
+            "rules_jvm_external~5.2"
+          ],
+          [
+            "",
+            "rules_license",
+            "rules_license~0.0.7"
+          ],
+          [
+            "",
+            "rules_pkg",
+            "rules_pkg~0.9.1"
+          ],
+          [
+            "",
+            "rules_proto",
+            "rules_proto~5.3.0-21.7"
+          ],
+          [
+            "",
+            "rules_python",
+            "rules_python~0.26.0"
+          ],
+          [
+            "",
+            "upb",
+            "upb~0.0.0-20220923-a547704"
+          ],
+          [
+            "",
+            "zlib",
+            "zlib~1.3"
+          ],
+          [
+            "",
+            "zstd-jni",
+            "zstd-jni~1.5.2-3.bcr.1"
+          ],
+          [
+            "bazel_tools",
+            "bazel_tools",
+            "bazel_tools"
+          ]
+        ]
       }
     },
     "//:extensions.bzl%bazel_test_deps": {
       "general": {
-        "bzlTransitiveDigest": "rjB9TSLGt3ZwbECWtF/HMgfqMsfEnDLK6fGIe65ZyfE=",
+        "bzlTransitiveDigest": "MO3e2koSmZi0NExoX7q3lkNlyquuSaUeNAzVxet7a1c=",
         "accumulatedFileDigests": {},
         "envVariables": {},
         "generatedRepoSpecs": {
@@ -2456,7 +2769,124 @@
               "url": "https://github.com/bazelbuild/continuous-integration/releases/download/rules-1.0.0/bazelci_rules-1.0.0.tar.gz"
             }
           }
-        }
+        },
+        "recordedRepoMappingEntries": [
+          [
+            "",
+            "abseil-cpp",
+            "abseil-cpp~20230125.1"
+          ],
+          [
+            "",
+            "apple_support",
+            "apple_support~1.8.1"
+          ],
+          [
+            "",
+            "bazel_skylib",
+            "bazel_skylib~1.5.0"
+          ],
+          [
+            "",
+            "bazel_tools",
+            "bazel_tools"
+          ],
+          [
+            "",
+            "blake3",
+            "blake3~1.3.3.bcr.1"
+          ],
+          [
+            "",
+            "c-ares",
+            "c-ares~1.15.0"
+          ],
+          [
+            "",
+            "com_github_grpc_grpc",
+            "grpc~1.48.1.bcr.1"
+          ],
+          [
+            "",
+            "com_google_protobuf",
+            "protobuf~21.7"
+          ],
+          [
+            "",
+            "io_bazel_skydoc",
+            "stardoc~0.5.3"
+          ],
+          [
+            "",
+            "platforms",
+            "platforms"
+          ],
+          [
+            "",
+            "rules_cc",
+            "rules_cc~0.0.9"
+          ],
+          [
+            "",
+            "rules_go",
+            "rules_go~0.39.1"
+          ],
+          [
+            "",
+            "rules_graalvm",
+            "rules_graalvm~0.10.3"
+          ],
+          [
+            "",
+            "rules_java",
+            "rules_java~7.4.0"
+          ],
+          [
+            "",
+            "rules_jvm_external",
+            "rules_jvm_external~5.2"
+          ],
+          [
+            "",
+            "rules_license",
+            "rules_license~0.0.7"
+          ],
+          [
+            "",
+            "rules_pkg",
+            "rules_pkg~0.9.1"
+          ],
+          [
+            "",
+            "rules_proto",
+            "rules_proto~5.3.0-21.7"
+          ],
+          [
+            "",
+            "rules_python",
+            "rules_python~0.26.0"
+          ],
+          [
+            "",
+            "upb",
+            "upb~0.0.0-20220923-a547704"
+          ],
+          [
+            "",
+            "zlib",
+            "zlib~1.3"
+          ],
+          [
+            "",
+            "zstd-jni",
+            "zstd-jni~1.5.2-3.bcr.1"
+          ],
+          [
+            "bazel_tools",
+            "bazel_tools",
+            "bazel_tools"
+          ]
+        ]
       }
     },
     "//:rbe_extension.bzl%bazel_rbe_deps": {
@@ -2473,12 +2903,13 @@
               "toolchain": "ubuntu2004-bazel-java11"
             }
           }
-        }
+        },
+        "recordedRepoMappingEntries": []
       }
     },
     "//tools/android:android_extensions.bzl%remote_android_tools_extensions": {
       "general": {
-        "bzlTransitiveDigest": "4x/FXzwoadac6uV9ItZ4eGOyCculGHHrKUhLFNWo3lA=",
+        "bzlTransitiveDigest": "S0n86BFe4SJ3lRaZiRA5D46oH52UO2hP1T50t/zldOw=",
         "accumulatedFileDigests": {},
         "envVariables": {},
         "generatedRepoSpecs": {
@@ -2500,12 +2931,13 @@
               "url": "https://maven.google.com/com/android/tools/r8/8.1.56/r8-8.1.56.jar"
             }
           }
-        }
+        },
+        "recordedRepoMappingEntries": []
       }
     },
     "//tools/test:extensions.bzl%remote_coverage_tools_extension": {
       "general": {
-        "bzlTransitiveDigest": "y48q5zUu2oMiYv7yUyi7rFB0wt14eqiF/RQcWT6vP7I=",
+        "bzlTransitiveDigest": "l5mcjH2gWmbmIycx97bzI2stD0Q0M5gpDc0aLOHKIm8=",
         "accumulatedFileDigests": {},
         "envVariables": {},
         "generatedRepoSpecs": {
@@ -2520,33 +2952,41 @@
               ]
             }
           }
-        }
+        },
+        "recordedRepoMappingEntries": []
       }
     },
-    "@apple_support~1.5.0//crosstool:setup.bzl%apple_cc_configure_extension": {
+    "@@apple_support~1.8.1//crosstool:setup.bzl%apple_cc_configure_extension": {
       "general": {
-        "bzlTransitiveDigest": "jHojdO5WHRVU9tk3Qspqa1HdHApA7p3vMRe5vEKWQkg=",
+        "bzlTransitiveDigest": "JFciz9+xRmE31CdyrcEUeZSKFxwiLTQ+PNMg6Bcc6s8=",
         "accumulatedFileDigests": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "local_config_apple_cc": {
-            "bzlFile": "@@apple_support~1.5.0//crosstool:setup.bzl",
+            "bzlFile": "@@apple_support~1.8.1//crosstool:setup.bzl",
             "ruleClassName": "_apple_cc_autoconf",
             "attributes": {
-              "name": "apple_support~1.5.0~apple_cc_configure_extension~local_config_apple_cc"
+              "name": "apple_support~1.8.1~apple_cc_configure_extension~local_config_apple_cc"
             }
           },
           "local_config_apple_cc_toolchains": {
-            "bzlFile": "@@apple_support~1.5.0//crosstool:setup.bzl",
+            "bzlFile": "@@apple_support~1.8.1//crosstool:setup.bzl",
             "ruleClassName": "_apple_cc_autoconf_toolchains",
             "attributes": {
-              "name": "apple_support~1.5.0~apple_cc_configure_extension~local_config_apple_cc_toolchains"
+              "name": "apple_support~1.8.1~apple_cc_configure_extension~local_config_apple_cc_toolchains"
             }
           }
-        }
+        },
+        "recordedRepoMappingEntries": [
+          [
+            "apple_support~1.8.1",
+            "bazel_tools",
+            "bazel_tools"
+          ]
+        ]
       }
     },
-    "@bazel_features~1.1.0//private:extensions.bzl%version_extension": {
+    "@@bazel_features~1.1.0//private:extensions.bzl%version_extension": {
       "general": {
         "bzlTransitiveDigest": "LKmXjK1avT44pRhO3x6Hplu1mU9qrNOaHP+/tJ0VFfE=",
         "accumulatedFileDigests": {},
@@ -2571,12 +3011,13 @@
               }
             }
           }
-        }
+        },
+        "recordedRepoMappingEntries": []
       }
     },
-    "@bazel_tools//tools/android:android_extensions.bzl%remote_android_tools_extensions": {
+    "@@bazel_tools//tools/android:android_extensions.bzl%remote_android_tools_extensions": {
       "general": {
-        "bzlTransitiveDigest": "4+Dj2H7maLh8JtpJKiuaI7PSXiIZw6oWX9xsVhnJ5DU=",
+        "bzlTransitiveDigest": "4x/FXzwoadac6uV9ItZ4eGOyCculGHHrKUhLFNWo3lA=",
         "accumulatedFileDigests": {},
         "envVariables": {},
         "generatedRepoSpecs": {
@@ -2585,8 +3026,8 @@
             "ruleClassName": "http_archive",
             "attributes": {
               "name": "bazel_tools~remote_android_tools_extensions~android_tools",
-              "sha256": "1afa4b7e13c82523c8b69e87f8d598c891ec7e2baa41d9e24e08becd723edb4d",
-              "url": "https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.27.0.tar.gz"
+              "sha256": "2b661a761a735b41c41b3a78089f4fc1982626c76ddb944604ae3ff8c545d3c2",
+              "url": "https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.30.0.tar"
             }
           },
           "android_gmaven_r8": {
@@ -2594,16 +3035,17 @@
             "ruleClassName": "http_jar",
             "attributes": {
               "name": "bazel_tools~remote_android_tools_extensions~android_gmaven_r8",
-              "sha256": "ab1379835c7d3e5f21f80347c3c81e2f762e0b9b02748ae5232c3afa14adf702",
-              "url": "https://maven.google.com/com/android/tools/r8/8.0.40/r8-8.0.40.jar"
+              "sha256": "57a696749695a09381a87bc2f08c3a8ed06a717a5caa3ef878a3077e0d3af19d",
+              "url": "https://maven.google.com/com/android/tools/r8/8.1.56/r8-8.1.56.jar"
             }
           }
-        }
+        },
+        "recordedRepoMappingEntries": []
       }
     },
-    "@bazel_tools//tools/cpp:cc_configure.bzl%cc_configure_extension": {
+    "@@bazel_tools//tools/cpp:cc_configure.bzl%cc_configure_extension": {
       "general": {
-        "bzlTransitiveDigest": "sftnIlf92nP/IUiWiMkgL9Sh8Drk9kKhTXHvoavVJZg=",
+        "bzlTransitiveDigest": "mcsWHq3xORJexV5/4eCvNOLxFOQKV6eli3fkr+tEaqE=",
         "accumulatedFileDigests": {},
         "envVariables": {},
         "generatedRepoSpecs": {
@@ -2621,12 +3063,19 @@
               "name": "bazel_tools~cc_configure_extension~local_config_cc_toolchains"
             }
           }
-        }
+        },
+        "recordedRepoMappingEntries": [
+          [
+            "bazel_tools",
+            "bazel_tools",
+            "bazel_tools"
+          ]
+        ]
       }
     },
-    "@bazel_tools//tools/osx:xcode_configure.bzl%xcode_configure_extension": {
+    "@@bazel_tools//tools/osx:xcode_configure.bzl%xcode_configure_extension": {
       "general": {
-        "bzlTransitiveDigest": "CtmyZVPtInM72JKIFfarSKOF0R/GbDRl8HBuOsRWhRs=",
+        "bzlTransitiveDigest": "Qh2bWTU6QW6wkrd87qrU4YeY+SG37Nvw3A0PR4Y0L2Y=",
         "accumulatedFileDigests": {},
         "envVariables": {},
         "generatedRepoSpecs": {
@@ -2639,10 +3088,11 @@
               "remote_xcode": ""
             }
           }
-        }
+        },
+        "recordedRepoMappingEntries": []
       }
     },
-    "@bazel_tools//tools/sh:sh_configure.bzl%sh_configure_extension": {
+    "@@bazel_tools//tools/sh:sh_configure.bzl%sh_configure_extension": {
       "general": {
         "bzlTransitiveDigest": "hp4NgmNjEg5+xgvzfh6L83bt9/aiiWETuNpwNuF1MSU=",
         "accumulatedFileDigests": {},
@@ -2655,12 +3105,13 @@
               "name": "bazel_tools~sh_configure_extension~local_config_sh"
             }
           }
-        }
+        },
+        "recordedRepoMappingEntries": []
       }
     },
-    "@bazel_tools//tools/test:extensions.bzl%remote_coverage_tools_extension": {
+    "@@bazel_tools//tools/test:extensions.bzl%remote_coverage_tools_extension": {
       "general": {
-        "bzlTransitiveDigest": "IWFtZ+6M0WGmNpfnHZMxnVFSDZ6pRTEWt7jixp7XffQ=",
+        "bzlTransitiveDigest": "y48q5zUu2oMiYv7yUyi7rFB0wt14eqiF/RQcWT6vP7I=",
         "accumulatedFileDigests": {},
         "envVariables": {},
         "generatedRepoSpecs": {
@@ -2675,12 +3126,13 @@
               ]
             }
           }
-        }
+        },
+        "recordedRepoMappingEntries": []
       }
     },
-    "@gazelle~0.30.0//:extensions.bzl%go_deps": {
+    "@@gazelle~0.30.0//:extensions.bzl%go_deps": {
       "general": {
-        "bzlTransitiveDigest": "BoYvkoiu4JJx2ptGuMiFUuXn9wupdeJIWbn2MXOkBb8=",
+        "bzlTransitiveDigest": "qA0ex33bTMERZ7C8nXKz92cjvx42TwSWN1J1CSDT0K8=",
         "accumulatedFileDigests": {
           "@@rules_go~0.39.1//:go.sum": "022d36c9ebcc7b5dee1e9b85b3da9c9f3a529ee6f979946d66e4955b8d54614a",
           "@@rules_go~0.39.1//:go.mod": "a7143f329c2a3e0b983ce74a96c0c25b0d0c59d236d75f7e1b069aadd988d55e",
@@ -2937,10 +3389,17 @@
               "build_directives": []
             }
           }
-        }
+        },
+        "recordedRepoMappingEntries": [
+          [
+            "gazelle~0.30.0",
+            "bazel_tools",
+            "bazel_tools"
+          ]
+        ]
       }
     },
-    "@gazelle~0.30.0//internal/bzlmod:non_module_deps.bzl%non_module_deps": {
+    "@@gazelle~0.30.0//internal/bzlmod:non_module_deps.bzl%non_module_deps": {
       "general": {
         "bzlTransitiveDigest": "30wev+wJfzc4s72MCfbP9U8W+3Js2b+Xbo5ofgZbHw8=",
         "accumulatedFileDigests": {},
@@ -2963,12 +3422,13 @@
               "go_env": {}
             }
           }
-        }
+        },
+        "recordedRepoMappingEntries": []
       }
     },
-    "@grpc~1.48.1.bcr.1//bazel:grpc_deps.bzl%grpc_repo_deps_ext": {
+    "@@grpc~1.48.1.bcr.1//bazel:grpc_deps.bzl%grpc_repo_deps_ext": {
       "general": {
-        "bzlTransitiveDigest": "S5rdtWt3QVZgX2cP/Ot1NLUmlqgtcoz1cPNksEQYtFQ=",
+        "bzlTransitiveDigest": "Vi/A+pHz0UslIVgXw0k4nRhXybndFcXR259m5TlMQXA=",
         "accumulatedFileDigests": {},
         "envVariables": {},
         "generatedRepoSpecs": {
@@ -3267,12 +3727,24 @@
               ]
             }
           }
-        }
+        },
+        "recordedRepoMappingEntries": [
+          [
+            "grpc~1.48.1.bcr.1",
+            "bazel_tools",
+            "bazel_tools"
+          ],
+          [
+            "grpc~1.48.1.bcr.1",
+            "com_github_grpc_grpc",
+            "grpc~1.48.1.bcr.1"
+          ]
+        ]
       }
     },
-    "@grpc~1.48.1.bcr.1//bazel:grpc_extra_deps.bzl%grpc_extra_deps_ext": {
+    "@@grpc~1.48.1.bcr.1//bazel:grpc_extra_deps.bzl%grpc_extra_deps_ext": {
       "general": {
-        "bzlTransitiveDigest": "ALqwntEqKRNf03LlwK9t4Oh/flVzCF6ZWFL9xTX69uI=",
+        "bzlTransitiveDigest": "a/Diq7iDATaU2rBTMgcQ5R3n2KlPdis6c56UUe28yBU=",
         "accumulatedFileDigests": {},
         "envVariables": {},
         "generatedRepoSpecs": {
@@ -3421,12 +3893,84 @@
               }
             }
           }
-        }
+        },
+        "recordedRepoMappingEntries": [
+          [
+            "grpc~1.48.1.bcr.1",
+            "com_envoyproxy_protoc_gen_validate",
+            "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~com_envoyproxy_protoc_gen_validate"
+          ],
+          [
+            "grpc~1.48.1.bcr.1",
+            "com_google_googleapis",
+            "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~com_google_googleapis"
+          ],
+          [
+            "grpc~1.48.1.bcr.1",
+            "com_google_protobuf",
+            "protobuf~21.7"
+          ],
+          [
+            "grpc~1.48.1.bcr.1",
+            "envoy_api",
+            "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~envoy_api"
+          ],
+          [
+            "grpc~1.48.1.bcr.1",
+            "io_bazel_rules_go",
+            "rules_go~0.39.1"
+          ],
+          [
+            "grpc~1.48.1.bcr.1",
+            "upb",
+            "upb~0.0.0-20220923-a547704"
+          ],
+          [
+            "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~bazel_gazelle",
+            "bazel_gazelle",
+            "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~bazel_gazelle"
+          ],
+          [
+            "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~bazel_gazelle",
+            "bazel_tools",
+            "bazel_tools"
+          ],
+          [
+            "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~com_envoyproxy_protoc_gen_validate",
+            "bazel_gazelle",
+            "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~bazel_gazelle"
+          ],
+          [
+            "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~envoy_api",
+            "bazel_tools",
+            "bazel_tools"
+          ],
+          [
+            "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~envoy_api",
+            "envoy_api",
+            "grpc~1.48.1.bcr.1~grpc_repo_deps_ext~envoy_api"
+          ],
+          [
+            "protobuf~21.7",
+            "bazel_tools",
+            "bazel_tools"
+          ],
+          [
+            "rules_go~0.39.1",
+            "bazel_tools",
+            "bazel_tools"
+          ],
+          [
+            "upb~0.0.0-20220923-a547704",
+            "bazel_tools",
+            "bazel_tools"
+          ]
+        ]
       }
     },
-    "@rules_go~0.39.1//go:extensions.bzl%go_sdk": {
+    "@@rules_go~0.39.1//go:extensions.bzl%go_sdk": {
       "general": {
-        "bzlTransitiveDigest": "baCc5Mc6nJAIoj3TovuW1bOINXCqP/9lOv0UCbAkhsk=",
+        "bzlTransitiveDigest": "cvuDQzKTBy1BBsQPA+7jKTCEaEg3uqu2SQX9x2Z1vz4=",
         "accumulatedFileDigests": {},
         "envVariables": {},
         "generatedRepoSpecs": {
@@ -3469,12 +4013,19 @@
               ]
             }
           }
-        }
+        },
+        "recordedRepoMappingEntries": [
+          [
+            "rules_go~0.39.1",
+            "bazel_tools",
+            "bazel_tools"
+          ]
+        ]
       }
     },
-    "@rules_go~0.39.1//go/private:extensions.bzl%non_module_dependencies": {
+    "@@rules_go~0.39.1//go/private:extensions.bzl%non_module_dependencies": {
       "general": {
-        "bzlTransitiveDigest": "lISD5Aqr6V4eTUAf5oZ4MilfT1BSlMybWvnRzRfSmM4=",
+        "bzlTransitiveDigest": "CamLV5C1Q66aY4Gu2ce5shMFpOJV/A+fmw4qzuGHmJk=",
         "accumulatedFileDigests": {},
         "envVariables": {},
         "generatedRepoSpecs": {
@@ -3694,52 +4245,91 @@
               ]
             }
           }
-        }
+        },
+        "recordedRepoMappingEntries": [
+          [
+            "rules_go~0.39.1",
+            "bazel_tools",
+            "bazel_tools"
+          ]
+        ]
+      }
+    },
+    "@@rules_graalvm~0.10.3//:extensions.bzl%graalvm": {
+      "general": {
+        "bzlTransitiveDigest": "RNOMan/EiPbz5i2nh2YxhbeTAOvTd9ReDe7arDK0PeY=",
+        "accumulatedFileDigests": {},
+        "envVariables": {},
+        "generatedRepoSpecs": {
+          "graalvm_toolchains": {
+            "bzlFile": "@@rules_graalvm~0.10.3//internal:graalvm_bindist.bzl",
+            "ruleClassName": "_toolchain_config",
+            "attributes": {
+              "name": "rules_graalvm~0.10.3~graalvm~graalvm_toolchains",
+              "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"graalvm_20\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"20\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"toolchain_gvm\",\n    actual = \"gvm\",\n    visibility = [\"//visibility:public\"],\n)\ntoolchain(\n    name = \"gvm\",\n    exec_compatible_with = [\n        \n    ],\n    target_compatible_with = [\n        \n    ],\n    toolchain = \"@graalvm//:gvm\",\n    toolchain_type = \"@rules_graalvm//graalvm/toolchain\",\n    visibility = [\"//visibility:public\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@graalvm//:jdk\",\n    visibility = [\"//visibility:public\"],\n)\n\n"
+            }
+          },
+          "graalvm": {
+            "bzlFile": "@@rules_graalvm~0.10.3//internal:graalvm_bindist.bzl",
+            "ruleClassName": "_graalvm_bindist_repository",
+            "attributes": {
+              "name": "rules_graalvm~0.10.3~graalvm~graalvm",
+              "version": "20.0.2",
+              "java_version": "20",
+              "distribution": "ce",
+              "components": [],
+              "setup_actions": [],
+              "enable_toolchain": true,
+              "toolchain_config": "graalvm_toolchains"
+            }
+          }
+        },
+        "recordedRepoMappingEntries": []
       }
     },
-    "@rules_java~7.1.0//java:extensions.bzl%toolchains": {
+    "@@rules_java~7.4.0//java:extensions.bzl%toolchains": {
       "general": {
-        "bzlTransitiveDigest": "p7Arq0FCdeuM/UFxax3JGDCetBx8pIqr2m77/MWrf8w=",
+        "bzlTransitiveDigest": "aBRZna7UIPTRv5GXYZ2u+AfFtxUOl9IjgmCeWzNSieQ=",
         "accumulatedFileDigests": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "remotejdk21_linux_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~7.4.0//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk21_linux_toolchain_config_repo",
+              "name": "rules_java~7.4.0~toolchains~remotejdk21_linux_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_21\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"21\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_linux//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_linux//:jdk\",\n)\n"
             }
           },
           "remotejdk17_linux_s390x_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~7.4.0//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk17_linux_s390x_toolchain_config_repo",
+              "name": "rules_java~7.4.0~toolchains~remotejdk17_linux_s390x_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_17\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"17\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:s390x\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_linux_s390x//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:s390x\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_linux_s390x//:jdk\",\n)\n"
             }
           },
           "remotejdk17_macos_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~7.4.0//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk17_macos_toolchain_config_repo",
+              "name": "rules_java~7.4.0~toolchains~remotejdk17_macos_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_17\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"17\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_macos//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_macos//:jdk\",\n)\n"
             }
           },
           "remotejdk21_macos_aarch64_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~7.4.0//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk21_macos_aarch64_toolchain_config_repo",
+              "name": "rules_java~7.4.0~toolchains~remotejdk21_macos_aarch64_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_21\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"21\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_macos_aarch64//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_macos_aarch64//:jdk\",\n)\n"
             }
           },
           "remotejdk17_linux_aarch64_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~7.4.0//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk17_linux_aarch64_toolchain_config_repo",
+              "name": "rules_java~7.4.0~toolchains~remotejdk17_linux_aarch64_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_17\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"17\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_linux_aarch64//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_linux_aarch64//:jdk\",\n)\n"
             }
           },
@@ -3747,21 +4337,21 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk21_macos_aarch64",
+              "name": "rules_java~7.4.0~toolchains~remotejdk21_macos_aarch64",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 21,\n)\n",
-              "sha256": "2a7a99a3ea263dbd8d32a67d1e6e363ba8b25c645c826f5e167a02bbafaff1fa",
-              "strip_prefix": "zulu21.28.85-ca-jdk21.0.0-macosx_aarch64",
+              "sha256": "e8260516de8b60661422a725f1df2c36ef888f6fb35393566b00e7325db3d04e",
+              "strip_prefix": "zulu21.32.17-ca-jdk21.0.2-macosx_aarch64",
               "urls": [
-                "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-macosx_aarch64.tar.gz",
-                "https://cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-macosx_aarch64.tar.gz"
+                "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.32.17-ca-jdk21.0.2-macosx_aarch64.tar.gz",
+                "https://cdn.azul.com/zulu/bin/zulu21.32.17-ca-jdk21.0.2-macosx_aarch64.tar.gz"
               ]
             }
           },
           "remotejdk17_linux_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~7.4.0//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk17_linux_toolchain_config_repo",
+              "name": "rules_java~7.4.0~toolchains~remotejdk17_linux_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_17\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"17\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_linux//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_linux//:jdk\",\n)\n"
             }
           },
@@ -3769,7 +4359,7 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk17_macos_aarch64",
+              "name": "rules_java~7.4.0~toolchains~remotejdk17_macos_aarch64",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 17,\n)\n",
               "sha256": "314b04568ec0ae9b36ba03c9cbd42adc9e1265f74678923b19297d66eb84dcca",
               "strip_prefix": "zulu17.44.53-ca-jdk17.0.8.1-macosx_aarch64",
@@ -3783,11 +4373,11 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remote_java_tools_windows",
-              "sha256": "c5c70c214a350f12cbf52da8270fa43ba629b795f3dd328028a38f8f0d39c2a1",
+              "name": "rules_java~7.4.0~toolchains~remote_java_tools_windows",
+              "sha256": "fe2f88169696d6c6fc6e90ba61bb46be7d0ae3693cbafdf336041bf56679e8d1",
               "urls": [
-                "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.1/java_tools_windows-v13.1.zip",
-                "https://github.com/bazelbuild/java_tools/releases/download/java_v13.1/java_tools_windows-v13.1.zip"
+                "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.4/java_tools_windows-v13.4.zip",
+                "https://github.com/bazelbuild/java_tools/releases/download/java_v13.4/java_tools_windows-v13.4.zip"
               ]
             }
           },
@@ -3795,7 +4385,7 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk11_win",
+              "name": "rules_java~7.4.0~toolchains~remotejdk11_win",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 11,\n)\n",
               "sha256": "43408193ce2fa0862819495b5ae8541085b95660153f2adcf91a52d3a1710e83",
               "strip_prefix": "zulu11.66.15-ca-jdk11.0.20-win_x64",
@@ -3806,10 +4396,10 @@
             }
           },
           "remotejdk11_win_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~7.4.0//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk11_win_toolchain_config_repo",
+              "name": "rules_java~7.4.0~toolchains~remotejdk11_win_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_11\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"11\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_win//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_win//:jdk\",\n)\n"
             }
           },
@@ -3817,7 +4407,7 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk11_linux_aarch64",
+              "name": "rules_java~7.4.0~toolchains~remotejdk11_linux_aarch64",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 11,\n)\n",
               "sha256": "54174439f2b3fddd11f1048c397fe7bb45d4c9d66d452d6889b013d04d21c4de",
               "strip_prefix": "zulu11.66.15-ca-jdk11.0.20-linux_aarch64",
@@ -3831,7 +4421,7 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk17_linux",
+              "name": "rules_java~7.4.0~toolchains~remotejdk17_linux",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 17,\n)\n",
               "sha256": "b9482f2304a1a68a614dfacddcf29569a72f0fac32e6c74f83dc1b9a157b8340",
               "strip_prefix": "zulu17.44.53-ca-jdk17.0.8.1-linux_x64",
@@ -3842,18 +4432,18 @@
             }
           },
           "remotejdk11_linux_s390x_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~7.4.0//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk11_linux_s390x_toolchain_config_repo",
+              "name": "rules_java~7.4.0~toolchains~remotejdk11_linux_s390x_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_11\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"11\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:s390x\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_linux_s390x//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:s390x\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_linux_s390x//:jdk\",\n)\n"
             }
           },
           "remotejdk11_linux_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~7.4.0//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk11_linux_toolchain_config_repo",
+              "name": "rules_java~7.4.0~toolchains~remotejdk11_linux_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_11\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"11\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_linux//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_linux//:jdk\",\n)\n"
             }
           },
@@ -3861,7 +4451,7 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk11_macos",
+              "name": "rules_java~7.4.0~toolchains~remotejdk11_macos",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 11,\n)\n",
               "sha256": "bcaab11cfe586fae7583c6d9d311c64384354fb2638eb9a012eca4c3f1a1d9fd",
               "strip_prefix": "zulu11.66.15-ca-jdk11.0.20-macosx_x64",
@@ -3875,7 +4465,7 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk11_win_arm64",
+              "name": "rules_java~7.4.0~toolchains~remotejdk11_win_arm64",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 11,\n)\n",
               "sha256": "b8a28e6e767d90acf793ea6f5bed0bb595ba0ba5ebdf8b99f395266161e53ec2",
               "strip_prefix": "jdk-11.0.13+8",
@@ -3888,7 +4478,7 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk17_macos",
+              "name": "rules_java~7.4.0~toolchains~remotejdk17_macos",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 17,\n)\n",
               "sha256": "640453e8afe8ffe0fb4dceb4535fb50db9c283c64665eebb0ba68b19e65f4b1f",
               "strip_prefix": "zulu17.44.53-ca-jdk17.0.8.1-macosx_x64",
@@ -3902,29 +4492,29 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk21_macos",
+              "name": "rules_java~7.4.0~toolchains~remotejdk21_macos",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 21,\n)\n",
-              "sha256": "9639b87db586d0c89f7a9892ae47f421e442c64b97baebdff31788fbe23265bd",
-              "strip_prefix": "zulu21.28.85-ca-jdk21.0.0-macosx_x64",
+              "sha256": "3ad8fe288eb57d975c2786ae453a036aa46e47ab2ac3d81538ebae2a54d3c025",
+              "strip_prefix": "zulu21.32.17-ca-jdk21.0.2-macosx_x64",
               "urls": [
-                "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-macosx_x64.tar.gz",
-                "https://cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-macosx_x64.tar.gz"
+                "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.32.17-ca-jdk21.0.2-macosx_x64.tar.gz",
+                "https://cdn.azul.com/zulu/bin/zulu21.32.17-ca-jdk21.0.2-macosx_x64.tar.gz"
               ]
             }
           },
           "remotejdk21_macos_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~7.4.0//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk21_macos_toolchain_config_repo",
+              "name": "rules_java~7.4.0~toolchains~remotejdk21_macos_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_21\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"21\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_macos//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_macos//:jdk\",\n)\n"
             }
           },
           "remotejdk17_macos_aarch64_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~7.4.0//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk17_macos_aarch64_toolchain_config_repo",
+              "name": "rules_java~7.4.0~toolchains~remotejdk17_macos_aarch64_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_17\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"17\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_macos_aarch64//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_macos_aarch64//:jdk\",\n)\n"
             }
           },
@@ -3932,7 +4522,7 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk17_win",
+              "name": "rules_java~7.4.0~toolchains~remotejdk17_win",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 17,\n)\n",
               "sha256": "192f2afca57701de6ec496234f7e45d971bf623ff66b8ee4a5c81582054e5637",
               "strip_prefix": "zulu17.44.53-ca-jdk17.0.8.1-win_x64",
@@ -3943,18 +4533,18 @@
             }
           },
           "remotejdk11_macos_aarch64_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~7.4.0//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk11_macos_aarch64_toolchain_config_repo",
+              "name": "rules_java~7.4.0~toolchains~remotejdk11_macos_aarch64_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_11\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"11\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_macos_aarch64//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_macos_aarch64//:jdk\",\n)\n"
             }
           },
           "remotejdk11_linux_ppc64le_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~7.4.0//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk11_linux_ppc64le_toolchain_config_repo",
+              "name": "rules_java~7.4.0~toolchains~remotejdk11_linux_ppc64le_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_11\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"11\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:ppc\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_linux_ppc64le//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:ppc\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_linux_ppc64le//:jdk\",\n)\n"
             }
           },
@@ -3962,13 +4552,13 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk21_linux",
+              "name": "rules_java~7.4.0~toolchains~remotejdk21_linux",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 21,\n)\n",
-              "sha256": "0c0eadfbdc47a7ca64aeab51b9c061f71b6e4d25d2d87674512e9b6387e9e3a6",
-              "strip_prefix": "zulu21.28.85-ca-jdk21.0.0-linux_x64",
+              "sha256": "5ad730fbee6bb49bfff10bf39e84392e728d89103d3474a7e5def0fd134b300a",
+              "strip_prefix": "zulu21.32.17-ca-jdk21.0.2-linux_x64",
               "urls": [
-                "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-linux_x64.tar.gz",
-                "https://cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-linux_x64.tar.gz"
+                "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.32.17-ca-jdk21.0.2-linux_x64.tar.gz",
+                "https://cdn.azul.com/zulu/bin/zulu21.32.17-ca-jdk21.0.2-linux_x64.tar.gz"
               ]
             }
           },
@@ -3976,11 +4566,11 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remote_java_tools_linux",
-              "sha256": "d134da9b04c9023fb6e56a5d4bffccee73f7bc9572ddc4e747778dacccd7a5a7",
+              "name": "rules_java~7.4.0~toolchains~remote_java_tools_linux",
+              "sha256": "ba10f09a138cf185d04cbc807d67a3da42ab13d618c5d1ce20d776e199c33a39",
               "urls": [
-                "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.1/java_tools_linux-v13.1.zip",
-                "https://github.com/bazelbuild/java_tools/releases/download/java_v13.1/java_tools_linux-v13.1.zip"
+                "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.4/java_tools_linux-v13.4.zip",
+                "https://github.com/bazelbuild/java_tools/releases/download/java_v13.4/java_tools_linux-v13.4.zip"
               ]
             }
           },
@@ -3988,13 +4578,13 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk21_win",
+              "name": "rules_java~7.4.0~toolchains~remotejdk21_win",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 21,\n)\n",
-              "sha256": "e9959d500a0d9a7694ac243baf657761479da132f0f94720cbffd092150bd802",
-              "strip_prefix": "zulu21.28.85-ca-jdk21.0.0-win_x64",
+              "sha256": "f7cc15ca17295e69c907402dfe8db240db446e75d3b150da7bf67243cded93de",
+              "strip_prefix": "zulu21.32.17-ca-jdk21.0.2-win_x64",
               "urls": [
-                "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-win_x64.zip",
-                "https://cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-win_x64.zip"
+                "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.32.17-ca-jdk21.0.2-win_x64.zip",
+                "https://cdn.azul.com/zulu/bin/zulu21.32.17-ca-jdk21.0.2-win_x64.zip"
               ]
             }
           },
@@ -4002,21 +4592,21 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk21_linux_aarch64",
+              "name": "rules_java~7.4.0~toolchains~remotejdk21_linux_aarch64",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 21,\n)\n",
-              "sha256": "1fb64b8036c5d463d8ab59af06bf5b6b006811e6012e3b0eb6bccf57f1c55835",
-              "strip_prefix": "zulu21.28.85-ca-jdk21.0.0-linux_aarch64",
+              "sha256": "ce7df1af5d44a9f455617c4b8891443fbe3e4b269c777d8b82ed66f77167cfe0",
+              "strip_prefix": "zulu21.32.17-ca-jdk21.0.2-linux_aarch64",
               "urls": [
-                "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-linux_aarch64.tar.gz",
-                "https://cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-linux_aarch64.tar.gz"
+                "https://cdn.azul.com/zulu/bin/zulu21.32.17-ca-jdk21.0.2-linux_aarch64.tar.gz",
+                "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.32.17-ca-jdk21.0.2-linux_aarch64.tar.gz"
               ]
             }
           },
           "remotejdk11_linux_aarch64_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~7.4.0//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk11_linux_aarch64_toolchain_config_repo",
+              "name": "rules_java~7.4.0~toolchains~remotejdk11_linux_aarch64_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_11\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"11\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_linux_aarch64//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_linux_aarch64//:jdk\",\n)\n"
             }
           },
@@ -4024,7 +4614,7 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk11_linux_s390x",
+              "name": "rules_java~7.4.0~toolchains~remotejdk11_linux_s390x",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 11,\n)\n",
               "sha256": "a58fc0361966af0a5d5a31a2d8a208e3c9bb0f54f345596fd80b99ea9a39788b",
               "strip_prefix": "jdk-11.0.15+10",
@@ -4038,7 +4628,7 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk17_linux_aarch64",
+              "name": "rules_java~7.4.0~toolchains~remotejdk17_linux_aarch64",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 17,\n)\n",
               "sha256": "6531cef61e416d5a7b691555c8cf2bdff689201b8a001ff45ab6740062b44313",
               "strip_prefix": "zulu17.44.53-ca-jdk17.0.8.1-linux_aarch64",
@@ -4049,10 +4639,10 @@
             }
           },
           "remotejdk17_win_arm64_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~7.4.0//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk17_win_arm64_toolchain_config_repo",
+              "name": "rules_java~7.4.0~toolchains~remotejdk17_win_arm64_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_17\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"17\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:arm64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_win_arm64//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:arm64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_win_arm64//:jdk\",\n)\n"
             }
           },
@@ -4060,7 +4650,7 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk11_linux",
+              "name": "rules_java~7.4.0~toolchains~remotejdk11_linux",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 11,\n)\n",
               "sha256": "a34b404f87a08a61148b38e1416d837189e1df7a040d949e743633daf4695a3c",
               "strip_prefix": "zulu11.66.15-ca-jdk11.0.20-linux_x64",
@@ -4071,18 +4661,18 @@
             }
           },
           "remotejdk11_macos_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~7.4.0//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk11_macos_toolchain_config_repo",
+              "name": "rules_java~7.4.0~toolchains~remotejdk11_macos_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_11\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"11\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_macos//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_macos//:jdk\",\n)\n"
             }
           },
           "remotejdk17_linux_ppc64le_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~7.4.0//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk17_linux_ppc64le_toolchain_config_repo",
+              "name": "rules_java~7.4.0~toolchains~remotejdk17_linux_ppc64le_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_17\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"17\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:ppc\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_linux_ppc64le//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:ppc\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_linux_ppc64le//:jdk\",\n)\n"
             }
           },
@@ -4090,7 +4680,7 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk17_win_arm64",
+              "name": "rules_java~7.4.0~toolchains~remotejdk17_win_arm64",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 17,\n)\n",
               "sha256": "6802c99eae0d788e21f52d03cab2e2b3bf42bc334ca03cbf19f71eb70ee19f85",
               "strip_prefix": "zulu17.44.53-ca-jdk17.0.8.1-win_aarch64",
@@ -4104,11 +4694,11 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remote_java_tools_darwin_arm64",
-              "sha256": "dab5bb87ec43e980faea6e1cec14bafb217b8e2f5346f53aa784fd715929a930",
+              "name": "rules_java~7.4.0~toolchains~remote_java_tools_darwin_arm64",
+              "sha256": "076a7e198ad077f8c7d997986ef5102427fae6bbfce7a7852d2e080ed8767528",
               "urls": [
-                "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.1/java_tools_darwin_arm64-v13.1.zip",
-                "https://github.com/bazelbuild/java_tools/releases/download/java_v13.1/java_tools_darwin_arm64-v13.1.zip"
+                "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.4/java_tools_darwin_arm64-v13.4.zip",
+                "https://github.com/bazelbuild/java_tools/releases/download/java_v13.4/java_tools_darwin_arm64-v13.4.zip"
               ]
             }
           },
@@ -4116,7 +4706,7 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk17_linux_ppc64le",
+              "name": "rules_java~7.4.0~toolchains~remotejdk17_linux_ppc64le",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 17,\n)\n",
               "sha256": "00a4c07603d0218cd678461b5b3b7e25b3253102da4022d31fc35907f21a2efd",
               "strip_prefix": "jdk-17.0.8.1+1",
@@ -4127,26 +4717,26 @@
             }
           },
           "remotejdk21_linux_aarch64_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~7.4.0//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk21_linux_aarch64_toolchain_config_repo",
+              "name": "rules_java~7.4.0~toolchains~remotejdk21_linux_aarch64_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_21\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"21\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_linux_aarch64//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_linux_aarch64//:jdk\",\n)\n"
             }
           },
           "remotejdk11_win_arm64_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~7.4.0//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk11_win_arm64_toolchain_config_repo",
+              "name": "rules_java~7.4.0~toolchains~remotejdk11_win_arm64_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_11\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"11\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:arm64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_win_arm64//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:arm64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_win_arm64//:jdk\",\n)\n"
             }
           },
           "local_jdk": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:local_java_repository.bzl",
+            "bzlFile": "@@rules_java~7.4.0//toolchains:local_java_repository.bzl",
             "ruleClassName": "_local_java_repository_rule",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~local_jdk",
+              "name": "rules_java~7.4.0~toolchains~local_jdk",
               "java_home": "",
               "version": "",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = {RUNTIME_VERSION},\n)\n"
@@ -4156,11 +4746,11 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remote_java_tools_darwin_x86_64",
-              "sha256": "0db40d8505a2b65ef0ed46e4256757807db8162f7acff16225be57c1d5726dbc",
+              "name": "rules_java~7.4.0~toolchains~remote_java_tools_darwin_x86_64",
+              "sha256": "4523aec4d09c587091a2dae6f5c9bc6922c220f3b6030e5aba9c8f015913cc65",
               "urls": [
-                "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.1/java_tools_darwin_x86_64-v13.1.zip",
-                "https://github.com/bazelbuild/java_tools/releases/download/java_v13.1/java_tools_darwin_x86_64-v13.1.zip"
+                "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.4/java_tools_darwin_x86_64-v13.4.zip",
+                "https://github.com/bazelbuild/java_tools/releases/download/java_v13.4/java_tools_darwin_x86_64-v13.4.zip"
               ]
             }
           },
@@ -4168,11 +4758,11 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remote_java_tools",
-              "sha256": "286bdbbd66e616fc4ed3f90101418729a73baa7e8c23a98ffbef558f74c0ad14",
+              "name": "rules_java~7.4.0~toolchains~remote_java_tools",
+              "sha256": "e025fd260ac39b47c111f5212d64ec0d00d85dec16e49368aae82fc626a940cf",
               "urls": [
-                "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.1/java_tools-v13.1.zip",
-                "https://github.com/bazelbuild/java_tools/releases/download/java_v13.1/java_tools-v13.1.zip"
+                "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.4/java_tools-v13.4.zip",
+                "https://github.com/bazelbuild/java_tools/releases/download/java_v13.4/java_tools-v13.4.zip"
               ]
             }
           },
@@ -4180,7 +4770,7 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk17_linux_s390x",
+              "name": "rules_java~7.4.0~toolchains~remotejdk17_linux_s390x",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 17,\n)\n",
               "sha256": "ffacba69c6843d7ca70d572489d6cc7ab7ae52c60f0852cedf4cf0d248b6fc37",
               "strip_prefix": "jdk-17.0.8.1+1",
@@ -4191,10 +4781,10 @@
             }
           },
           "remotejdk17_win_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~7.4.0//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk17_win_toolchain_config_repo",
+              "name": "rules_java~7.4.0~toolchains~remotejdk17_win_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_17\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"17\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_win//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_win//:jdk\",\n)\n"
             }
           },
@@ -4202,7 +4792,7 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk11_linux_ppc64le",
+              "name": "rules_java~7.4.0~toolchains~remotejdk11_linux_ppc64le",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 11,\n)\n",
               "sha256": "a8fba686f6eb8ae1d1a9566821dbd5a85a1108b96ad857fdbac5c1e4649fc56f",
               "strip_prefix": "jdk-11.0.15+10",
@@ -4216,7 +4806,7 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk11_macos_aarch64",
+              "name": "rules_java~7.4.0~toolchains~remotejdk11_macos_aarch64",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 11,\n)\n",
               "sha256": "7632bc29f8a4b7d492b93f3bc75a7b61630894db85d136456035ab2a24d38885",
               "strip_prefix": "zulu11.66.15-ca-jdk11.0.20-macosx_aarch64",
@@ -4227,21 +4817,33 @@
             }
           },
           "remotejdk21_win_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~7.4.0//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk21_win_toolchain_config_repo",
+              "name": "rules_java~7.4.0~toolchains~remotejdk21_win_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_21\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"21\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_win//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_win//:jdk\",\n)\n"
             }
           }
-        }
+        },
+        "recordedRepoMappingEntries": [
+          [
+            "rules_java~7.4.0",
+            "bazel_tools",
+            "bazel_tools"
+          ],
+          [
+            "rules_java~7.4.0",
+            "remote_java_tools",
+            "rules_java~7.4.0~toolchains~remote_java_tools"
+          ]
+        ]
       }
     },
-    "@rules_jvm_external~5.2//:extensions.bzl%maven": {
+    "@@rules_jvm_external~5.2//:extensions.bzl%maven": {
       "general": {
-        "bzlTransitiveDigest": "WAWsskOl4eHIskcL0TuHZGIMjV8sMJaAbAo2luMqofo=",
+        "bzlTransitiveDigest": "TILQV9AUWIcMmCzpK8EI/A8Y1Nz/OC6X3NPuJDA23kg=",
         "accumulatedFileDigests": {
-          "@@//:maven_install.json": "cc2396f3421ceaeca5bf2852dc5aa14b83e5a918f4c3dee5a1214b127214584c",
+          "@@//:maven_install.json": "8330632656f46859ec2600c18fed75624e2a8f46b81c12db34c8afeba527e5be",
           "@@rules_jvm_external~5.2//:rules_jvm_external_deps_install.json": "3ab1f67b0de4815df110bc72ccd6c77882b3b21d3d1e0a84445847b6ce3235a3",
           "@@//src/tools/android:maven_android_install.json": "09bff3e33d291336046f7c9201630fb5e014f0e60b78b6f09b84e4f5f73ed04f"
         },
@@ -4627,6 +5229,18 @@
               "downloaded_file_path": "org/apache/httpcomponents/httpcore/4.4.13/httpcore-4.4.13.jar"
             }
           },
+          "com_google_turbine_turbine_0_4_0": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~5.2~maven~com_google_turbine_turbine_0_4_0",
+              "sha256": "1947490c23263ae1c0a95acceb7cb419724f236d14cfbbe5a558101e79842b28",
+              "urls": [
+                "https://repo1.maven.org/maven2/com/google/turbine/turbine/0.4.0/turbine-0.4.0.jar"
+              ],
+              "downloaded_file_path": "com/google/turbine/turbine/0.4.0/turbine-0.4.0.jar"
+            }
+          },
           "io_netty_netty_handler_proxy_4_1_93_Final": {
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
@@ -4787,7 +5401,7 @@
                 "{ \"group\": \"com.google.http-client\", \"artifact\": \"google-http-client-gson\", \"version\": \"1.42.0\" }",
                 "{ \"group\": \"com.google.http-client\", \"artifact\": \"google-http-client\", \"version\": \"1.42.0\" }",
                 "{ \"group\": \"com.google.j2objc\", \"artifact\": \"j2objc-annotations\", \"version\": \"1.3\" }",
-                "{ \"group\": \"com.google.turbine\", \"artifact\": \"turbine\", \"version\": \"0.2\" }",
+                "{ \"group\": \"com.google.turbine\", \"artifact\": \"turbine\", \"version\": \"0.4.0\" }",
                 "{ \"group\": \"com.ryanharter.auto.value\", \"artifact\": \"auto-value-gson-extension\", \"version\": \"1.3.1\" }",
                 "{ \"group\": \"com.ryanharter.auto.value\", \"artifact\": \"auto-value-gson-runtime\", \"version\": \"1.3.1\" }",
                 "{ \"group\": \"com.ryanharter.auto.value\", \"artifact\": \"auto-value-gson-factory\", \"version\": \"1.3.1\" }",
@@ -4831,6 +5445,7 @@
                 "{ \"group\": \"io.netty\", \"artifact\": \"netty-transport-native-unix-common\", \"version\": \"4.1.93.Final\", \"packaging\": \"jar\", \"classifier\": \"osx-x86_64\" }",
                 "{ \"group\": \"io.netty\", \"artifact\": \"netty-transport\", \"version\": \"4.1.93.Final\" }",
                 "{ \"group\": \"io.reactivex.rxjava3\", \"artifact\": \"rxjava\", \"version\": \"3.1.2\" }",
+                "{ \"group\": \"it.unimi.dsi\", \"artifact\": \"fastutil\", \"version\": \"7.2.1\" }",
                 "{ \"group\": \"javax.activation\", \"artifact\": \"javax.activation-api\", \"version\": \"1.2.0\" }",
                 "{ \"group\": \"javax.annotation\", \"artifact\": \"javax.annotation-api\", \"version\": \"1.3.2\" }",
                 "{ \"group\": \"javax.inject\", \"artifact\": \"javax.inject\", \"version\": \"1\" }",
@@ -4850,7 +5465,7 @@
                 "{ \"group\": \"org.threeten\", \"artifact\": \"threeten-extra\", \"version\": \"1.5.0\" }",
                 "{ \"group\": \"org.tukaani\", \"artifact\": \"xz\", \"version\": \"1.9\" }",
                 "{ \"group\": \"org.yaml\", \"artifact\": \"snakeyaml\", \"version\": \"1.28\" }",
-                "{ \"group\": \"tools.profiler\", \"artifact\": \"async-profiler\", \"version\": \"2.9\" }",
+                "{ \"group\": \"tools.profiler\", \"artifact\": \"async-profiler\", \"version\": \"3.0\" }",
                 "{ \"group\": \"junit\", \"artifact\": \"junit\", \"version\": \"4.13.2\" }",
                 "{ \"group\": \"org.hamcrest\", \"artifact\": \"hamcrest-core\", \"version\": \"1.3\" }",
                 "{ \"group\": \"com.google.code.findbugs\", \"artifact\": \"jsr305\", \"version\": \"3.0.2\" }",
@@ -6368,6 +6983,18 @@
               "downloaded_file_path": "com/beust/jcommander/1.82/jcommander-1.82.jar"
             }
           },
+          "it_unimi_dsi_fastutil_7_2_1": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~5.2~maven~it_unimi_dsi_fastutil_7_2_1",
+              "sha256": "d73dec5ec18f973f380869b6125d60f5cda77cf6e40e321bd06e0308ed0a40b7",
+              "urls": [
+                "https://repo1.maven.org/maven2/it/unimi/dsi/fastutil/7.2.1/fastutil-7.2.1.jar"
+              ],
+              "downloaded_file_path": "it/unimi/dsi/fastutil/7.2.1/fastutil-7.2.1.jar"
+            }
+          },
           "androidx_databinding_databinding_common_3_4_0_alpha10": {
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
@@ -6394,6 +7021,18 @@
               "downloaded_file_path": "software/amazon/awssdk/third-party-jackson-core/2.17.183/third-party-jackson-core-2.17.183.jar"
             }
           },
+          "tools_profiler_async_profiler_3_0": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~5.2~maven~tools_profiler_async_profiler_3_0",
+              "sha256": "8f798860049d01f4a2f853596d28c85d2983f0c098f165a32909b7da9c74209f",
+              "urls": [
+                "https://repo1.maven.org/maven2/tools/profiler/async-profiler/3.0/async-profiler-3.0.jar"
+              ],
+              "downloaded_file_path": "tools/profiler/async-profiler/3.0/async-profiler-3.0.jar"
+            }
+          },
           "software_amazon_eventstream_eventstream_1_0_1": {
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
@@ -6456,18 +7095,6 @@
               "downloaded_file_path": "io/netty/netty-transport-native-unix-common/4.1.93.Final/netty-transport-native-unix-common-4.1.93.Final-linux-x86_64.jar"
             }
           },
-          "com_google_turbine_turbine_0_2": {
-            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
-            "ruleClassName": "http_file",
-            "attributes": {
-              "name": "rules_jvm_external~5.2~maven~com_google_turbine_turbine_0_2",
-              "sha256": "e9088d5726b06cd6ed7e421f2a0a6bd1e4d3e8b9de1ce53603e5fb0f9ac9e4f2",
-              "urls": [
-                "https://repo1.maven.org/maven2/com/google/turbine/turbine/0.2/turbine-0.2.jar"
-              ],
-              "downloaded_file_path": "com/google/turbine/turbine/0.2/turbine-0.2.jar"
-            }
-          },
           "io_netty_netty_handler_4_1_93_Final": {
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
@@ -7298,7 +7925,7 @@
                 "{ \"group\": \"com.google.http-client\", \"artifact\": \"google-http-client-gson\", \"version\": \"1.42.0\" }",
                 "{ \"group\": \"com.google.http-client\", \"artifact\": \"google-http-client\", \"version\": \"1.42.0\" }",
                 "{ \"group\": \"com.google.j2objc\", \"artifact\": \"j2objc-annotations\", \"version\": \"1.3\" }",
-                "{ \"group\": \"com.google.turbine\", \"artifact\": \"turbine\", \"version\": \"0.2\" }",
+                "{ \"group\": \"com.google.turbine\", \"artifact\": \"turbine\", \"version\": \"0.4.0\" }",
                 "{ \"group\": \"com.ryanharter.auto.value\", \"artifact\": \"auto-value-gson-extension\", \"version\": \"1.3.1\" }",
                 "{ \"group\": \"com.ryanharter.auto.value\", \"artifact\": \"auto-value-gson-runtime\", \"version\": \"1.3.1\" }",
                 "{ \"group\": \"com.ryanharter.auto.value\", \"artifact\": \"auto-value-gson-factory\", \"version\": \"1.3.1\" }",
@@ -7342,6 +7969,7 @@
                 "{ \"group\": \"io.netty\", \"artifact\": \"netty-transport-native-unix-common\", \"version\": \"4.1.93.Final\", \"packaging\": \"jar\", \"classifier\": \"osx-x86_64\" }",
                 "{ \"group\": \"io.netty\", \"artifact\": \"netty-transport\", \"version\": \"4.1.93.Final\" }",
                 "{ \"group\": \"io.reactivex.rxjava3\", \"artifact\": \"rxjava\", \"version\": \"3.1.2\" }",
+                "{ \"group\": \"it.unimi.dsi\", \"artifact\": \"fastutil\", \"version\": \"7.2.1\" }",
                 "{ \"group\": \"javax.activation\", \"artifact\": \"javax.activation-api\", \"version\": \"1.2.0\" }",
                 "{ \"group\": \"javax.annotation\", \"artifact\": \"javax.annotation-api\", \"version\": \"1.3.2\" }",
                 "{ \"group\": \"javax.inject\", \"artifact\": \"javax.inject\", \"version\": \"1\" }",
@@ -7361,7 +7989,7 @@
                 "{ \"group\": \"org.threeten\", \"artifact\": \"threeten-extra\", \"version\": \"1.5.0\" }",
                 "{ \"group\": \"org.tukaani\", \"artifact\": \"xz\", \"version\": \"1.9\" }",
                 "{ \"group\": \"org.yaml\", \"artifact\": \"snakeyaml\", \"version\": \"1.28\" }",
-                "{ \"group\": \"tools.profiler\", \"artifact\": \"async-profiler\", \"version\": \"2.9\" }",
+                "{ \"group\": \"tools.profiler\", \"artifact\": \"async-profiler\", \"version\": \"3.0\" }",
                 "{ \"group\": \"junit\", \"artifact\": \"junit\", \"version\": \"4.13.2\" }",
                 "{ \"group\": \"org.hamcrest\", \"artifact\": \"hamcrest-core\", \"version\": \"1.3\" }",
                 "{ \"group\": \"com.google.code.findbugs\", \"artifact\": \"jsr305\", \"version\": \"3.0.2\" }",
@@ -7794,18 +8422,6 @@
               "downloaded_file_path": "javax/inject/javax.inject/1/javax.inject-1.jar"
             }
           },
-          "tools_profiler_async_profiler_2_9": {
-            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
-            "ruleClassName": "http_file",
-            "attributes": {
-              "name": "rules_jvm_external~5.2~maven~tools_profiler_async_profiler_2_9",
-              "sha256": "6c4e993c28cf2882964cac82a0f96e81a325840043884526565017b2f62c5ba4",
-              "urls": [
-                "https://repo1.maven.org/maven2/tools/profiler/async-profiler/2.9/async-profiler-2.9.jar"
-              ],
-              "downloaded_file_path": "tools/profiler/async-profiler/2.9/async-profiler-2.9.jar"
-            }
-          },
           "commons_codec_commons_codec_1_11": {
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
@@ -7985,12 +8601,24 @@
               "downloaded_file_path": "software/amazon/awssdk/sdk-core/2.17.183/sdk-core-2.17.183.jar"
             }
           }
-        }
+        },
+        "recordedRepoMappingEntries": [
+          [
+            "rules_jvm_external~5.2",
+            "bazel_tools",
+            "bazel_tools"
+          ],
+          [
+            "rules_jvm_external~5.2",
+            "rules_jvm_external",
+            "rules_jvm_external~5.2"
+          ]
+        ]
       }
     },
-    "@rules_jvm_external~5.2//:non-module-deps.bzl%non_module_deps": {
+    "@@rules_jvm_external~5.2//:non-module-deps.bzl%non_module_deps": {
       "general": {
-        "bzlTransitiveDigest": "QlnkwH7xmrau2+KLjoV5wWr0r3Ne+JfXhrHUVpwVloQ=",
+        "bzlTransitiveDigest": "zXwz7xFBNBig3QRyd5WAZU3y/6fZvd6jnP6EkJIutS0=",
         "accumulatedFileDigests": {},
         "envVariables": {},
         "generatedRepoSpecs": {
@@ -8005,12 +8633,19 @@
               ]
             }
           }
-        }
+        },
+        "recordedRepoMappingEntries": [
+          [
+            "rules_jvm_external~5.2",
+            "bazel_tools",
+            "bazel_tools"
+          ]
+        ]
       }
     },
-    "@rules_python~0.26.0//python/extensions:pip.bzl%pip": {
+    "@@rules_python~0.26.0//python/extensions:pip.bzl%pip": {
       "os:osx,arch:aarch64": {
-        "bzlTransitiveDigest": "E4QgOqZbBS/oj8Ee3OTJc/aHg+JLL1isQX37e9bF+jc=",
+        "bzlTransitiveDigest": "2Q6H3h9+kogr9SW/SFMKOX5+pjW4YEdf9qiRMX0IQBw=",
         "accumulatedFileDigests": {
           "@@//:requirements.txt": "ff12967a755bb8e9b4c92524f6471a99e14c30474a3d428547c55745ec8f23a0"
         },
@@ -8050,10 +8685,127 @@
               "environment": {}
             }
           }
-        }
+        },
+        "recordedRepoMappingEntries": [
+          [
+            "bazel_features~1.1.0",
+            "bazel_features_globals",
+            "bazel_features~1.1.0~version_extension~bazel_features_globals"
+          ],
+          [
+            "bazel_features~1.1.0",
+            "bazel_features_version",
+            "bazel_features~1.1.0~version_extension~bazel_features_version"
+          ],
+          [
+            "rules_python~0.26.0",
+            "bazel_features",
+            "bazel_features~1.1.0"
+          ],
+          [
+            "rules_python~0.26.0",
+            "bazel_skylib",
+            "bazel_skylib~1.5.0"
+          ],
+          [
+            "rules_python~0.26.0",
+            "bazel_tools",
+            "bazel_tools"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__build",
+            "rules_python~0.26.0~internal_deps~pypi__build"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__click",
+            "rules_python~0.26.0~internal_deps~pypi__click"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__colorama",
+            "rules_python~0.26.0~internal_deps~pypi__colorama"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__importlib_metadata",
+            "rules_python~0.26.0~internal_deps~pypi__importlib_metadata"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__installer",
+            "rules_python~0.26.0~internal_deps~pypi__installer"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__more_itertools",
+            "rules_python~0.26.0~internal_deps~pypi__more_itertools"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__packaging",
+            "rules_python~0.26.0~internal_deps~pypi__packaging"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__pep517",
+            "rules_python~0.26.0~internal_deps~pypi__pep517"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__pip",
+            "rules_python~0.26.0~internal_deps~pypi__pip"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__pip_tools",
+            "rules_python~0.26.0~internal_deps~pypi__pip_tools"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__pyproject_hooks",
+            "rules_python~0.26.0~internal_deps~pypi__pyproject_hooks"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__setuptools",
+            "rules_python~0.26.0~internal_deps~pypi__setuptools"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__tomli",
+            "rules_python~0.26.0~internal_deps~pypi__tomli"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__wheel",
+            "rules_python~0.26.0~internal_deps~pypi__wheel"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__zipp",
+            "rules_python~0.26.0~internal_deps~pypi__zipp"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pythons_hub",
+            "rules_python~0.26.0~python~pythons_hub"
+          ],
+          [
+            "rules_python~0.26.0~python~pythons_hub",
+            "python_3_11_aarch64-apple-darwin",
+            "rules_python~0.26.0~python~python_3_11_aarch64-apple-darwin"
+          ],
+          [
+            "rules_python~0.26.0~python~pythons_hub",
+            "python_3_8_aarch64-apple-darwin",
+            "rules_python~0.26.0~python~python_3_8_aarch64-apple-darwin"
+          ]
+        ]
       },
       "os:osx,arch:x86_64": {
-        "bzlTransitiveDigest": "5EamR6lYbDoZchZjoF0opxKmFTBnPc4IRBqvtfKzQBg=",
+        "bzlTransitiveDigest": "E9m/UFADncm3CKBrsnAfkVQxBz0IsqZ8jnkRQr/RO40=",
         "accumulatedFileDigests": {
           "@@//:requirements.txt": "ff12967a755bb8e9b4c92524f6471a99e14c30474a3d428547c55745ec8f23a0"
         },
@@ -8093,10 +8845,127 @@
               "environment": {}
             }
           }
-        }
+        },
+        "recordedRepoMappingEntries": [
+          [
+            "bazel_features~1.1.0",
+            "bazel_features_globals",
+            "bazel_features~1.1.0~version_extension~bazel_features_globals"
+          ],
+          [
+            "bazel_features~1.1.0",
+            "bazel_features_version",
+            "bazel_features~1.1.0~version_extension~bazel_features_version"
+          ],
+          [
+            "rules_python~0.26.0",
+            "bazel_features",
+            "bazel_features~1.1.0"
+          ],
+          [
+            "rules_python~0.26.0",
+            "bazel_skylib",
+            "bazel_skylib~1.5.0"
+          ],
+          [
+            "rules_python~0.26.0",
+            "bazel_tools",
+            "bazel_tools"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__build",
+            "rules_python~0.26.0~internal_deps~pypi__build"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__click",
+            "rules_python~0.26.0~internal_deps~pypi__click"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__colorama",
+            "rules_python~0.26.0~internal_deps~pypi__colorama"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__importlib_metadata",
+            "rules_python~0.26.0~internal_deps~pypi__importlib_metadata"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__installer",
+            "rules_python~0.26.0~internal_deps~pypi__installer"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__more_itertools",
+            "rules_python~0.26.0~internal_deps~pypi__more_itertools"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__packaging",
+            "rules_python~0.26.0~internal_deps~pypi__packaging"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__pep517",
+            "rules_python~0.26.0~internal_deps~pypi__pep517"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__pip",
+            "rules_python~0.26.0~internal_deps~pypi__pip"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__pip_tools",
+            "rules_python~0.26.0~internal_deps~pypi__pip_tools"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__pyproject_hooks",
+            "rules_python~0.26.0~internal_deps~pypi__pyproject_hooks"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__setuptools",
+            "rules_python~0.26.0~internal_deps~pypi__setuptools"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__tomli",
+            "rules_python~0.26.0~internal_deps~pypi__tomli"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__wheel",
+            "rules_python~0.26.0~internal_deps~pypi__wheel"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__zipp",
+            "rules_python~0.26.0~internal_deps~pypi__zipp"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pythons_hub",
+            "rules_python~0.26.0~python~pythons_hub"
+          ],
+          [
+            "rules_python~0.26.0~python~pythons_hub",
+            "python_3_11_x86_64-apple-darwin",
+            "rules_python~0.26.0~python~python_3_11_x86_64-apple-darwin"
+          ],
+          [
+            "rules_python~0.26.0~python~pythons_hub",
+            "python_3_8_x86_64-apple-darwin",
+            "rules_python~0.26.0~python~python_3_8_x86_64-apple-darwin"
+          ]
+        ]
       },
       "os:windows,arch:amd64": {
-        "bzlTransitiveDigest": "TXSsRggvq8p1Am/XZURcY+/3pp6aMvMI4CIzUjNNoVc=",
+        "bzlTransitiveDigest": "QSSju3r1BqdiBI2rQ5F0t+LW+/VktSbD2ScOupIGWT4=",
         "accumulatedFileDigests": {
           "@@//:requirements.txt": "ff12967a755bb8e9b4c92524f6471a99e14c30474a3d428547c55745ec8f23a0"
         },
@@ -8136,10 +9005,127 @@
               "environment": {}
             }
           }
-        }
+        },
+        "recordedRepoMappingEntries": [
+          [
+            "bazel_features~1.1.0",
+            "bazel_features_globals",
+            "bazel_features~1.1.0~version_extension~bazel_features_globals"
+          ],
+          [
+            "bazel_features~1.1.0",
+            "bazel_features_version",
+            "bazel_features~1.1.0~version_extension~bazel_features_version"
+          ],
+          [
+            "rules_python~0.26.0",
+            "bazel_features",
+            "bazel_features~1.1.0"
+          ],
+          [
+            "rules_python~0.26.0",
+            "bazel_skylib",
+            "bazel_skylib~1.5.0"
+          ],
+          [
+            "rules_python~0.26.0",
+            "bazel_tools",
+            "bazel_tools"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__build",
+            "rules_python~0.26.0~internal_deps~pypi__build"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__click",
+            "rules_python~0.26.0~internal_deps~pypi__click"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__colorama",
+            "rules_python~0.26.0~internal_deps~pypi__colorama"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__importlib_metadata",
+            "rules_python~0.26.0~internal_deps~pypi__importlib_metadata"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__installer",
+            "rules_python~0.26.0~internal_deps~pypi__installer"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__more_itertools",
+            "rules_python~0.26.0~internal_deps~pypi__more_itertools"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__packaging",
+            "rules_python~0.26.0~internal_deps~pypi__packaging"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__pep517",
+            "rules_python~0.26.0~internal_deps~pypi__pep517"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__pip",
+            "rules_python~0.26.0~internal_deps~pypi__pip"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__pip_tools",
+            "rules_python~0.26.0~internal_deps~pypi__pip_tools"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__pyproject_hooks",
+            "rules_python~0.26.0~internal_deps~pypi__pyproject_hooks"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__setuptools",
+            "rules_python~0.26.0~internal_deps~pypi__setuptools"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__tomli",
+            "rules_python~0.26.0~internal_deps~pypi__tomli"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__wheel",
+            "rules_python~0.26.0~internal_deps~pypi__wheel"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__zipp",
+            "rules_python~0.26.0~internal_deps~pypi__zipp"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pythons_hub",
+            "rules_python~0.26.0~python~pythons_hub"
+          ],
+          [
+            "rules_python~0.26.0~python~pythons_hub",
+            "python_3_11_x86_64-pc-windows-msvc",
+            "rules_python~0.26.0~python~python_3_11_x86_64-pc-windows-msvc"
+          ],
+          [
+            "rules_python~0.26.0~python~pythons_hub",
+            "python_3_8_x86_64-pc-windows-msvc",
+            "rules_python~0.26.0~python~python_3_8_x86_64-pc-windows-msvc"
+          ]
+        ]
       },
       "os:linux,arch:amd64": {
-        "bzlTransitiveDigest": "8ozZeXZLMP2XAUvOsoOqqAh+f3capth/BEC9p7XrFHQ=",
+        "bzlTransitiveDigest": "aOMK5S3yh0GqKqizev0aeyRIiUVXUnJ9qs4MjoGIsmU=",
         "accumulatedFileDigests": {
           "@@//:requirements.txt": "ff12967a755bb8e9b4c92524f6471a99e14c30474a3d428547c55745ec8f23a0"
         },
@@ -8179,12 +9165,129 @@
               "environment": {}
             }
           }
-        }
+        },
+        "recordedRepoMappingEntries": [
+          [
+            "bazel_features~1.1.0",
+            "bazel_features_globals",
+            "bazel_features~1.1.0~version_extension~bazel_features_globals"
+          ],
+          [
+            "bazel_features~1.1.0",
+            "bazel_features_version",
+            "bazel_features~1.1.0~version_extension~bazel_features_version"
+          ],
+          [
+            "rules_python~0.26.0",
+            "bazel_features",
+            "bazel_features~1.1.0"
+          ],
+          [
+            "rules_python~0.26.0",
+            "bazel_skylib",
+            "bazel_skylib~1.5.0"
+          ],
+          [
+            "rules_python~0.26.0",
+            "bazel_tools",
+            "bazel_tools"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__build",
+            "rules_python~0.26.0~internal_deps~pypi__build"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__click",
+            "rules_python~0.26.0~internal_deps~pypi__click"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__colorama",
+            "rules_python~0.26.0~internal_deps~pypi__colorama"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__importlib_metadata",
+            "rules_python~0.26.0~internal_deps~pypi__importlib_metadata"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__installer",
+            "rules_python~0.26.0~internal_deps~pypi__installer"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__more_itertools",
+            "rules_python~0.26.0~internal_deps~pypi__more_itertools"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__packaging",
+            "rules_python~0.26.0~internal_deps~pypi__packaging"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__pep517",
+            "rules_python~0.26.0~internal_deps~pypi__pep517"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__pip",
+            "rules_python~0.26.0~internal_deps~pypi__pip"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__pip_tools",
+            "rules_python~0.26.0~internal_deps~pypi__pip_tools"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__pyproject_hooks",
+            "rules_python~0.26.0~internal_deps~pypi__pyproject_hooks"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__setuptools",
+            "rules_python~0.26.0~internal_deps~pypi__setuptools"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__tomli",
+            "rules_python~0.26.0~internal_deps~pypi__tomli"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__wheel",
+            "rules_python~0.26.0~internal_deps~pypi__wheel"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pypi__zipp",
+            "rules_python~0.26.0~internal_deps~pypi__zipp"
+          ],
+          [
+            "rules_python~0.26.0",
+            "pythons_hub",
+            "rules_python~0.26.0~python~pythons_hub"
+          ],
+          [
+            "rules_python~0.26.0~python~pythons_hub",
+            "python_3_11_x86_64-unknown-linux-gnu",
+            "rules_python~0.26.0~python~python_3_11_x86_64-unknown-linux-gnu"
+          ],
+          [
+            "rules_python~0.26.0~python~pythons_hub",
+            "python_3_8_x86_64-unknown-linux-gnu",
+            "rules_python~0.26.0~python~python_3_8_x86_64-unknown-linux-gnu"
+          ]
+        ]
       }
     },
-    "@rules_python~0.26.0//python/extensions:python.bzl%python": {
+    "@@rules_python~0.26.0//python/extensions:python.bzl%python": {
       "general": {
-        "bzlTransitiveDigest": "xlkyXQiU87j2f+jKiO4buHXyNexVt0a6ildROtqkRMA=",
+        "bzlTransitiveDigest": "8WVQIVnIXBFr70L5lVEwzdfZo6ozRWUK790TujH0YSE=",
         "accumulatedFileDigests": {},
         "envVariables": {},
         "generatedRepoSpecs": {
@@ -8469,12 +9572,19 @@
               "ignore_root_user_error": false
             }
           }
-        }
+        },
+        "recordedRepoMappingEntries": [
+          [
+            "rules_python~0.26.0",
+            "bazel_tools",
+            "bazel_tools"
+          ]
+        ]
       }
     },
-    "@rules_python~0.26.0//python/extensions/private:internal_deps.bzl%internal_deps": {
+    "@@rules_python~0.26.0//python/extensions/private:internal_deps.bzl%internal_deps": {
       "general": {
-        "bzlTransitiveDigest": "+RIu4LoHAUtbbEXVX84ChFRN1Rqdyonp+wk0SJE5eHA=",
+        "bzlTransitiveDigest": "XP8MssHdcgRUzPajlA0Te3SmGmjfmGdDZ8HceIw8FTQ=",
         "accumulatedFileDigests": {},
         "envVariables": {},
         "generatedRepoSpecs": {
@@ -8650,7 +9760,19 @@
               "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n    name = \"lib\",\n    srcs = glob([\"**/*.py\"]),\n    data = glob([\"**/*\"], exclude=[\n        # These entries include those put into user-installed dependencies by\n        # data_exclude in /python/pip_install/tools/bazel.py\n        # to avoid non-determinism following pip install's behavior.\n        \"**/*.py\",\n        \"**/*.pyc\",\n        \"**/*.pyc.*\",  # During pyc creation, temp files named *.pyc.NNN are created\n        \"**/* *\",\n        \"**/*.dist-info/RECORD\",\n        \"BUILD\",\n        \"WORKSPACE\",\n    ]),\n    # This makes this directory a top-level in the python import\n    # search path for anything that depends on this.\n    imports = [\".\"],\n)\n"
             }
           }
-        }
+        },
+        "recordedRepoMappingEntries": [
+          [
+            "rules_python~0.26.0",
+            "bazel_skylib",
+            "bazel_skylib~1.5.0"
+          ],
+          [
+            "rules_python~0.26.0",
+            "bazel_tools",
+            "bazel_tools"
+          ]
+        ]
       }
     }
   }
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_7/cpp-test-MODULE.bazel.lock b/pkgs/development/tools/build-managers/bazel/bazel_7/cpp-test-MODULE.bazel.lock
index 8fa5a39777a0e..4112726ac2cd2 100644
--- a/pkgs/development/tools/build-managers/bazel/bazel_7/cpp-test-MODULE.bazel.lock
+++ b/pkgs/development/tools/build-managers/bazel/bazel_7/cpp-test-MODULE.bazel.lock
@@ -1,6 +1,6 @@
 {
-  "lockFileVersion": 3,
-  "moduleFileHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
+  "lockFileVersion": 6,
+  "moduleFileHash": "80605390be5478a274618e3f8fd7c7a7e1ce3036e086e1e1593ceba1b132b7f2",
   "flags": {
     "cmdRegistries": [
       "https://bcr.bazel.build/"
@@ -13,7 +13,7 @@
     "compatibilityMode": "ERROR"
   },
   "localOverrideHashes": {
-    "bazel_tools": "f30da6d09c13487d5a03131bccc244a528e780a477b9c4830c12e10f26d0a64f"
+    "bazel_tools": "1ae69322ac3823527337acf02016e8ee95813d8d356f47060255b8956fa642f0"
   },
   "moduleDepGraph": {
     "<root>": {
@@ -25,10 +25,157 @@
       "toolchainsToRegister": [],
       "extensionUsages": [],
       "deps": {
+        "rules_proto": "rules_proto@5.3.0-21.7",
+        "protobuf": "protobuf@21.7",
+        "zlib": "zlib@1.3",
         "bazel_tools": "bazel_tools@_",
         "local_config_platform": "local_config_platform@_"
       }
     },
+    "rules_proto@5.3.0-21.7": {
+      "name": "rules_proto",
+      "version": "5.3.0-21.7",
+      "key": "rules_proto@5.3.0-21.7",
+      "repoName": "rules_proto",
+      "executionPlatformsToRegister": [],
+      "toolchainsToRegister": [],
+      "extensionUsages": [],
+      "deps": {
+        "bazel_skylib": "bazel_skylib@1.3.0",
+        "com_google_protobuf": "protobuf@21.7",
+        "rules_cc": "rules_cc@0.0.9",
+        "bazel_tools": "bazel_tools@_",
+        "local_config_platform": "local_config_platform@_"
+      },
+      "repoSpec": {
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+        "ruleClassName": "http_archive",
+        "attributes": {
+          "urls": [
+            "https://github.com/bazelbuild/rules_proto/archive/refs/tags/5.3.0-21.7.tar.gz"
+          ],
+          "integrity": "sha256-3D+yBqLLNEG0heseQjFlsjEjWh6psDG0Qzz3vB+kYN0=",
+          "strip_prefix": "rules_proto-5.3.0-21.7",
+          "remote_patches": {},
+          "remote_patch_strip": 0
+        }
+      }
+    },
+    "protobuf@21.7": {
+      "name": "protobuf",
+      "version": "21.7",
+      "key": "protobuf@21.7",
+      "repoName": "protobuf",
+      "executionPlatformsToRegister": [],
+      "toolchainsToRegister": [],
+      "extensionUsages": [
+        {
+          "extensionBzlFile": "@rules_jvm_external//:extensions.bzl",
+          "extensionName": "maven",
+          "usingModule": "protobuf@21.7",
+          "location": {
+            "file": "https://bcr.bazel.build/modules/protobuf/21.7/MODULE.bazel",
+            "line": 22,
+            "column": 22
+          },
+          "imports": {
+            "maven": "maven"
+          },
+          "devImports": [],
+          "tags": [
+            {
+              "tagName": "install",
+              "attributeValues": {
+                "name": "maven",
+                "artifacts": [
+                  "com.google.code.findbugs:jsr305:3.0.2",
+                  "com.google.code.gson:gson:2.8.9",
+                  "com.google.errorprone:error_prone_annotations:2.3.2",
+                  "com.google.j2objc:j2objc-annotations:1.3",
+                  "com.google.guava:guava:31.1-jre",
+                  "com.google.guava:guava-testlib:31.1-jre",
+                  "com.google.truth:truth:1.1.2",
+                  "junit:junit:4.13.2",
+                  "org.mockito:mockito-core:4.3.1"
+                ]
+              },
+              "devDependency": false,
+              "location": {
+                "file": "https://bcr.bazel.build/modules/protobuf/21.7/MODULE.bazel",
+                "line": 24,
+                "column": 14
+              }
+            }
+          ],
+          "hasDevUseExtension": false,
+          "hasNonDevUseExtension": true
+        }
+      ],
+      "deps": {
+        "bazel_skylib": "bazel_skylib@1.3.0",
+        "rules_python": "rules_python@0.22.1",
+        "rules_cc": "rules_cc@0.0.9",
+        "rules_proto": "rules_proto@5.3.0-21.7",
+        "rules_java": "rules_java@7.4.0",
+        "rules_pkg": "rules_pkg@0.7.0",
+        "com_google_abseil": "abseil-cpp@20211102.0",
+        "zlib": "zlib@1.3",
+        "upb": "upb@0.0.0-20220923-a547704",
+        "rules_jvm_external": "rules_jvm_external@4.4.2",
+        "com_google_googletest": "googletest@1.11.0",
+        "bazel_tools": "bazel_tools@_",
+        "local_config_platform": "local_config_platform@_"
+      },
+      "repoSpec": {
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+        "ruleClassName": "http_archive",
+        "attributes": {
+          "urls": [
+            "https://github.com/protocolbuffers/protobuf/releases/download/v21.7/protobuf-all-21.7.zip"
+          ],
+          "integrity": "sha256-VJOiH17T/FAuZv7GuUScBqVRztYwAvpIkDxA36jeeko=",
+          "strip_prefix": "protobuf-21.7",
+          "remote_patches": {
+            "https://bcr.bazel.build/modules/protobuf/21.7/patches/add_module_dot_bazel.patch": "sha256-q3V2+eq0v2XF0z8z+V+QF4cynD6JvHI1y3kI/+rzl5s=",
+            "https://bcr.bazel.build/modules/protobuf/21.7/patches/add_module_dot_bazel_for_examples.patch": "sha256-O7YP6s3lo/1opUiO0jqXYORNHdZ/2q3hjz1QGy8QdIU=",
+            "https://bcr.bazel.build/modules/protobuf/21.7/patches/relative_repo_names.patch": "sha256-RK9RjW8T5UJNG7flIrnFiNE9vKwWB+8uWWtJqXYT0w4=",
+            "https://bcr.bazel.build/modules/protobuf/21.7/patches/add_missing_files.patch": "sha256-Hyne4DG2u5bXcWHNxNMirA2QFAe/2Cl8oMm1XJdkQIY="
+          },
+          "remote_patch_strip": 1
+        }
+      }
+    },
+    "zlib@1.3": {
+      "name": "zlib",
+      "version": "1.3",
+      "key": "zlib@1.3",
+      "repoName": "zlib",
+      "executionPlatformsToRegister": [],
+      "toolchainsToRegister": [],
+      "extensionUsages": [],
+      "deps": {
+        "platforms": "platforms@0.0.7",
+        "rules_cc": "rules_cc@0.0.9",
+        "bazel_tools": "bazel_tools@_",
+        "local_config_platform": "local_config_platform@_"
+      },
+      "repoSpec": {
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+        "ruleClassName": "http_archive",
+        "attributes": {
+          "urls": [
+            "https://github.com/madler/zlib/releases/download/v1.3/zlib-1.3.tar.gz"
+          ],
+          "integrity": "sha256-/wukwpIBPbwnUws6geH5qBPNOd4Byl4Pi/NVcC76WT4=",
+          "strip_prefix": "zlib-1.3",
+          "remote_patches": {
+            "https://bcr.bazel.build/modules/zlib/1.3/patches/add_build_file.patch": "sha256-Ei+FYaaOo7A3jTKunMEodTI0Uw5NXQyZEcboMC8JskY=",
+            "https://bcr.bazel.build/modules/zlib/1.3/patches/module_dot_bazel.patch": "sha256-fPWLM+2xaF/kuy+kZc1YTfW6hNjrkG400Ho7gckuyJk="
+          },
+          "remote_patch_strip": 0
+        }
+      }
+    },
     "bazel_tools@_": {
       "name": "bazel_tools",
       "version": "",
@@ -46,7 +193,7 @@
           "usingModule": "bazel_tools@_",
           "location": {
             "file": "@@bazel_tools//:MODULE.bazel",
-            "line": 17,
+            "line": 18,
             "column": 29
           },
           "imports": {
@@ -64,7 +211,7 @@
           "usingModule": "bazel_tools@_",
           "location": {
             "file": "@@bazel_tools//:MODULE.bazel",
-            "line": 21,
+            "line": 22,
             "column": 32
           },
           "imports": {
@@ -81,7 +228,7 @@
           "usingModule": "bazel_tools@_",
           "location": {
             "file": "@@bazel_tools//:MODULE.bazel",
-            "line": 24,
+            "line": 25,
             "column": 32
           },
           "imports": {
@@ -103,7 +250,7 @@
           "usingModule": "bazel_tools@_",
           "location": {
             "file": "@@bazel_tools//:MODULE.bazel",
-            "line": 35,
+            "line": 36,
             "column": 39
           },
           "imports": {
@@ -120,7 +267,7 @@
           "usingModule": "bazel_tools@_",
           "location": {
             "file": "@@bazel_tools//:MODULE.bazel",
-            "line": 39,
+            "line": 40,
             "column": 48
           },
           "imports": {
@@ -137,7 +284,7 @@
           "usingModule": "bazel_tools@_",
           "location": {
             "file": "@@bazel_tools//:MODULE.bazel",
-            "line": 42,
+            "line": 43,
             "column": 42
           },
           "imports": {
@@ -148,14 +295,32 @@
           "tags": [],
           "hasDevUseExtension": false,
           "hasNonDevUseExtension": true
+        },
+        {
+          "extensionBzlFile": "@buildozer//:buildozer_binary.bzl",
+          "extensionName": "buildozer_binary",
+          "usingModule": "bazel_tools@_",
+          "location": {
+            "file": "@@bazel_tools//:MODULE.bazel",
+            "line": 47,
+            "column": 33
+          },
+          "imports": {
+            "buildozer_binary": "buildozer_binary"
+          },
+          "devImports": [],
+          "tags": [],
+          "hasDevUseExtension": false,
+          "hasNonDevUseExtension": true
         }
       ],
       "deps": {
         "rules_cc": "rules_cc@0.0.9",
-        "rules_java": "rules_java@7.3.2",
+        "rules_java": "rules_java@7.4.0",
         "rules_license": "rules_license@0.0.7",
         "rules_proto": "rules_proto@5.3.0-21.7",
         "rules_python": "rules_python@0.22.1",
+        "buildozer": "buildozer@6.4.0.2",
         "platforms": "platforms@0.0.7",
         "com_google_protobuf": "protobuf@21.7",
         "zlib": "zlib@1.3",
@@ -176,6 +341,36 @@
         "bazel_tools": "bazel_tools@_"
       }
     },
+    "bazel_skylib@1.3.0": {
+      "name": "bazel_skylib",
+      "version": "1.3.0",
+      "key": "bazel_skylib@1.3.0",
+      "repoName": "bazel_skylib",
+      "executionPlatformsToRegister": [],
+      "toolchainsToRegister": [
+        "//toolchains/unittest:cmd_toolchain",
+        "//toolchains/unittest:bash_toolchain"
+      ],
+      "extensionUsages": [],
+      "deps": {
+        "platforms": "platforms@0.0.7",
+        "bazel_tools": "bazel_tools@_",
+        "local_config_platform": "local_config_platform@_"
+      },
+      "repoSpec": {
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+        "ruleClassName": "http_archive",
+        "attributes": {
+          "urls": [
+            "https://github.com/bazelbuild/bazel-skylib/releases/download/1.3.0/bazel-skylib-1.3.0.tar.gz"
+          ],
+          "integrity": "sha256-dNVE2W9KW7Yw1GXKi7z+Ix41lOWq5X4e2/F6brPKJQY=",
+          "strip_prefix": "",
+          "remote_patches": {},
+          "remote_patch_strip": 0
+        }
+      }
+    },
     "rules_cc@0.0.9": {
       "name": "rules_cc",
       "version": "0.0.9",
@@ -210,10 +405,9 @@
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "rules_cc~0.0.9",
           "urls": [
             "https://github.com/bazelbuild/rules_cc/releases/download/0.0.9/rules_cc-0.0.9.tar.gz"
           ],
@@ -226,164 +420,6 @@
         }
       }
     },
-    "rules_java@7.3.2": {
-      "name": "rules_java",
-      "version": "7.3.2",
-      "key": "rules_java@7.3.2",
-      "repoName": "rules_java",
-      "executionPlatformsToRegister": [],
-      "toolchainsToRegister": [
-        "//toolchains:all",
-        "@local_jdk//:runtime_toolchain_definition",
-        "@local_jdk//:bootstrap_runtime_toolchain_definition",
-        "@remotejdk11_linux_toolchain_config_repo//:all",
-        "@remotejdk11_linux_aarch64_toolchain_config_repo//:all",
-        "@remotejdk11_linux_ppc64le_toolchain_config_repo//:all",
-        "@remotejdk11_linux_s390x_toolchain_config_repo//:all",
-        "@remotejdk11_macos_toolchain_config_repo//:all",
-        "@remotejdk11_macos_aarch64_toolchain_config_repo//:all",
-        "@remotejdk11_win_toolchain_config_repo//:all",
-        "@remotejdk11_win_arm64_toolchain_config_repo//:all",
-        "@remotejdk17_linux_toolchain_config_repo//:all",
-        "@remotejdk17_linux_aarch64_toolchain_config_repo//:all",
-        "@remotejdk17_linux_ppc64le_toolchain_config_repo//:all",
-        "@remotejdk17_linux_s390x_toolchain_config_repo//:all",
-        "@remotejdk17_macos_toolchain_config_repo//:all",
-        "@remotejdk17_macos_aarch64_toolchain_config_repo//:all",
-        "@remotejdk17_win_toolchain_config_repo//:all",
-        "@remotejdk17_win_arm64_toolchain_config_repo//:all",
-        "@remotejdk21_linux_toolchain_config_repo//:all",
-        "@remotejdk21_linux_aarch64_toolchain_config_repo//:all",
-        "@remotejdk21_macos_toolchain_config_repo//:all",
-        "@remotejdk21_macos_aarch64_toolchain_config_repo//:all",
-        "@remotejdk21_win_toolchain_config_repo//:all"
-      ],
-      "extensionUsages": [
-        {
-          "extensionBzlFile": "@rules_java//java:extensions.bzl",
-          "extensionName": "toolchains",
-          "usingModule": "rules_java@7.3.2",
-          "location": {
-            "file": "https://bcr.bazel.build/modules/rules_java/7.3.2/MODULE.bazel",
-            "line": 19,
-            "column": 27
-          },
-          "imports": {
-            "remote_java_tools": "remote_java_tools",
-            "remote_java_tools_linux": "remote_java_tools_linux",
-            "remote_java_tools_windows": "remote_java_tools_windows",
-            "remote_java_tools_darwin_x86_64": "remote_java_tools_darwin_x86_64",
-            "remote_java_tools_darwin_arm64": "remote_java_tools_darwin_arm64",
-            "local_jdk": "local_jdk",
-            "remotejdk11_linux_toolchain_config_repo": "remotejdk11_linux_toolchain_config_repo",
-            "remotejdk11_linux_aarch64_toolchain_config_repo": "remotejdk11_linux_aarch64_toolchain_config_repo",
-            "remotejdk11_linux_ppc64le_toolchain_config_repo": "remotejdk11_linux_ppc64le_toolchain_config_repo",
-            "remotejdk11_linux_s390x_toolchain_config_repo": "remotejdk11_linux_s390x_toolchain_config_repo",
-            "remotejdk11_macos_toolchain_config_repo": "remotejdk11_macos_toolchain_config_repo",
-            "remotejdk11_macos_aarch64_toolchain_config_repo": "remotejdk11_macos_aarch64_toolchain_config_repo",
-            "remotejdk11_win_toolchain_config_repo": "remotejdk11_win_toolchain_config_repo",
-            "remotejdk11_win_arm64_toolchain_config_repo": "remotejdk11_win_arm64_toolchain_config_repo",
-            "remotejdk17_linux_toolchain_config_repo": "remotejdk17_linux_toolchain_config_repo",
-            "remotejdk17_linux_aarch64_toolchain_config_repo": "remotejdk17_linux_aarch64_toolchain_config_repo",
-            "remotejdk17_linux_ppc64le_toolchain_config_repo": "remotejdk17_linux_ppc64le_toolchain_config_repo",
-            "remotejdk17_linux_s390x_toolchain_config_repo": "remotejdk17_linux_s390x_toolchain_config_repo",
-            "remotejdk17_macos_toolchain_config_repo": "remotejdk17_macos_toolchain_config_repo",
-            "remotejdk17_macos_aarch64_toolchain_config_repo": "remotejdk17_macos_aarch64_toolchain_config_repo",
-            "remotejdk17_win_toolchain_config_repo": "remotejdk17_win_toolchain_config_repo",
-            "remotejdk17_win_arm64_toolchain_config_repo": "remotejdk17_win_arm64_toolchain_config_repo",
-            "remotejdk21_linux_toolchain_config_repo": "remotejdk21_linux_toolchain_config_repo",
-            "remotejdk21_linux_aarch64_toolchain_config_repo": "remotejdk21_linux_aarch64_toolchain_config_repo",
-            "remotejdk21_macos_toolchain_config_repo": "remotejdk21_macos_toolchain_config_repo",
-            "remotejdk21_macos_aarch64_toolchain_config_repo": "remotejdk21_macos_aarch64_toolchain_config_repo",
-            "remotejdk21_win_toolchain_config_repo": "remotejdk21_win_toolchain_config_repo"
-          },
-          "devImports": [],
-          "tags": [],
-          "hasDevUseExtension": false,
-          "hasNonDevUseExtension": true
-        }
-      ],
-      "deps": {
-        "platforms": "platforms@0.0.7",
-        "rules_cc": "rules_cc@0.0.9",
-        "bazel_skylib": "bazel_skylib@1.3.0",
-        "rules_proto": "rules_proto@5.3.0-21.7",
-        "rules_license": "rules_license@0.0.7",
-        "bazel_tools": "bazel_tools@_",
-        "local_config_platform": "local_config_platform@_"
-      },
-      "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
-        "ruleClassName": "http_archive",
-        "attributes": {
-          "name": "rules_java~7.3.2",
-          "urls": [
-            "https://github.com/bazelbuild/rules_java/releases/download/7.3.2/rules_java-7.3.2.tar.gz"
-          ],
-          "integrity": "sha256-MSGgBYixWBvXwfm1UFmWKeWtzBG6nGX0grvVz+R/3zA=",
-          "strip_prefix": "",
-          "remote_patches": {},
-          "remote_patch_strip": 0
-        }
-      }
-    },
-    "rules_license@0.0.7": {
-      "name": "rules_license",
-      "version": "0.0.7",
-      "key": "rules_license@0.0.7",
-      "repoName": "rules_license",
-      "executionPlatformsToRegister": [],
-      "toolchainsToRegister": [],
-      "extensionUsages": [],
-      "deps": {
-        "bazel_tools": "bazel_tools@_",
-        "local_config_platform": "local_config_platform@_"
-      },
-      "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
-        "ruleClassName": "http_archive",
-        "attributes": {
-          "name": "rules_license~0.0.7",
-          "urls": [
-            "https://github.com/bazelbuild/rules_license/releases/download/0.0.7/rules_license-0.0.7.tar.gz"
-          ],
-          "integrity": "sha256-RTHezLkTY5ww5cdRKgVNXYdWmNrrddjPkPKEN1/nw2A=",
-          "strip_prefix": "",
-          "remote_patches": {},
-          "remote_patch_strip": 0
-        }
-      }
-    },
-    "rules_proto@5.3.0-21.7": {
-      "name": "rules_proto",
-      "version": "5.3.0-21.7",
-      "key": "rules_proto@5.3.0-21.7",
-      "repoName": "rules_proto",
-      "executionPlatformsToRegister": [],
-      "toolchainsToRegister": [],
-      "extensionUsages": [],
-      "deps": {
-        "bazel_skylib": "bazel_skylib@1.3.0",
-        "com_google_protobuf": "protobuf@21.7",
-        "rules_cc": "rules_cc@0.0.9",
-        "bazel_tools": "bazel_tools@_",
-        "local_config_platform": "local_config_platform@_"
-      },
-      "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
-        "ruleClassName": "http_archive",
-        "attributes": {
-          "name": "rules_proto~5.3.0-21.7",
-          "urls": [
-            "https://github.com/bazelbuild/rules_proto/archive/refs/tags/5.3.0-21.7.tar.gz"
-          ],
-          "integrity": "sha256-3D+yBqLLNEG0heseQjFlsjEjWh6psDG0Qzz3vB+kYN0=",
-          "strip_prefix": "rules_proto-5.3.0-21.7",
-          "remote_patches": {},
-          "remote_patch_strip": 0
-        }
-      }
-    },
     "rules_python@0.22.1": {
       "name": "rules_python",
       "version": "0.22.1",
@@ -477,10 +513,9 @@
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "rules_python~0.22.1",
           "urls": [
             "https://github.com/bazelbuild/rules_python/releases/download/0.22.1/rules_python-0.22.1.tar.gz"
           ],
@@ -493,173 +528,76 @@
         }
       }
     },
-    "platforms@0.0.7": {
-      "name": "platforms",
-      "version": "0.0.7",
-      "key": "platforms@0.0.7",
-      "repoName": "platforms",
-      "executionPlatformsToRegister": [],
-      "toolchainsToRegister": [],
-      "extensionUsages": [],
-      "deps": {
-        "rules_license": "rules_license@0.0.7",
-        "bazel_tools": "bazel_tools@_",
-        "local_config_platform": "local_config_platform@_"
-      },
-      "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
-        "ruleClassName": "http_archive",
-        "attributes": {
-          "name": "platforms",
-          "urls": [
-            "https://github.com/bazelbuild/platforms/releases/download/0.0.7/platforms-0.0.7.tar.gz"
-          ],
-          "integrity": "sha256-OlYcmee9vpFzqmU/1Xn+hJ8djWc5V4CrR3Cx84FDHVE=",
-          "strip_prefix": "",
-          "remote_patches": {},
-          "remote_patch_strip": 0
-        }
-      }
-    },
-    "protobuf@21.7": {
-      "name": "protobuf",
-      "version": "21.7",
-      "key": "protobuf@21.7",
-      "repoName": "protobuf",
-      "executionPlatformsToRegister": [],
-      "toolchainsToRegister": [],
-      "extensionUsages": [
-        {
-          "extensionBzlFile": "@rules_jvm_external//:extensions.bzl",
-          "extensionName": "maven",
-          "usingModule": "protobuf@21.7",
-          "location": {
-            "file": "https://bcr.bazel.build/modules/protobuf/21.7/MODULE.bazel",
-            "line": 22,
-            "column": 22
-          },
-          "imports": {
-            "maven": "maven"
-          },
-          "devImports": [],
-          "tags": [
-            {
-              "tagName": "install",
-              "attributeValues": {
-                "name": "maven",
-                "artifacts": [
-                  "com.google.code.findbugs:jsr305:3.0.2",
-                  "com.google.code.gson:gson:2.8.9",
-                  "com.google.errorprone:error_prone_annotations:2.3.2",
-                  "com.google.j2objc:j2objc-annotations:1.3",
-                  "com.google.guava:guava:31.1-jre",
-                  "com.google.guava:guava-testlib:31.1-jre",
-                  "com.google.truth:truth:1.1.2",
-                  "junit:junit:4.13.2",
-                  "org.mockito:mockito-core:4.3.1"
-                ]
-              },
-              "devDependency": false,
-              "location": {
-                "file": "https://bcr.bazel.build/modules/protobuf/21.7/MODULE.bazel",
-                "line": 24,
-                "column": 14
-              }
-            }
-          ],
-          "hasDevUseExtension": false,
-          "hasNonDevUseExtension": true
-        }
-      ],
-      "deps": {
-        "bazel_skylib": "bazel_skylib@1.3.0",
-        "rules_python": "rules_python@0.22.1",
-        "rules_cc": "rules_cc@0.0.9",
-        "rules_proto": "rules_proto@5.3.0-21.7",
-        "rules_java": "rules_java@7.3.2",
-        "rules_pkg": "rules_pkg@0.7.0",
-        "com_google_abseil": "abseil-cpp@20211102.0",
-        "zlib": "zlib@1.3",
-        "upb": "upb@0.0.0-20220923-a547704",
-        "rules_jvm_external": "rules_jvm_external@4.4.2",
-        "com_google_googletest": "googletest@1.11.0",
-        "bazel_tools": "bazel_tools@_",
-        "local_config_platform": "local_config_platform@_"
-      },
-      "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
-        "ruleClassName": "http_archive",
-        "attributes": {
-          "name": "protobuf~21.7",
-          "urls": [
-            "https://github.com/protocolbuffers/protobuf/releases/download/v21.7/protobuf-all-21.7.zip"
-          ],
-          "integrity": "sha256-VJOiH17T/FAuZv7GuUScBqVRztYwAvpIkDxA36jeeko=",
-          "strip_prefix": "protobuf-21.7",
-          "remote_patches": {
-            "https://bcr.bazel.build/modules/protobuf/21.7/patches/add_module_dot_bazel.patch": "sha256-q3V2+eq0v2XF0z8z+V+QF4cynD6JvHI1y3kI/+rzl5s=",
-            "https://bcr.bazel.build/modules/protobuf/21.7/patches/add_module_dot_bazel_for_examples.patch": "sha256-O7YP6s3lo/1opUiO0jqXYORNHdZ/2q3hjz1QGy8QdIU=",
-            "https://bcr.bazel.build/modules/protobuf/21.7/patches/relative_repo_names.patch": "sha256-RK9RjW8T5UJNG7flIrnFiNE9vKwWB+8uWWtJqXYT0w4=",
-            "https://bcr.bazel.build/modules/protobuf/21.7/patches/add_missing_files.patch": "sha256-Hyne4DG2u5bXcWHNxNMirA2QFAe/2Cl8oMm1XJdkQIY="
-          },
-          "remote_patch_strip": 1
-        }
-      }
-    },
-    "zlib@1.3": {
-      "name": "zlib",
-      "version": "1.3",
-      "key": "zlib@1.3",
-      "repoName": "zlib",
-      "executionPlatformsToRegister": [],
-      "toolchainsToRegister": [],
-      "extensionUsages": [],
-      "deps": {
-        "platforms": "platforms@0.0.7",
-        "rules_cc": "rules_cc@0.0.9",
-        "bazel_tools": "bazel_tools@_",
-        "local_config_platform": "local_config_platform@_"
-      },
-      "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
-        "ruleClassName": "http_archive",
-        "attributes": {
-          "name": "zlib~1.3",
-          "urls": [
-            "https://github.com/madler/zlib/releases/download/v1.3/zlib-1.3.tar.gz"
-          ],
-          "integrity": "sha256-/wukwpIBPbwnUws6geH5qBPNOd4Byl4Pi/NVcC76WT4=",
-          "strip_prefix": "zlib-1.3",
-          "remote_patches": {
-            "https://bcr.bazel.build/modules/zlib/1.3/patches/add_build_file.patch": "sha256-Ei+FYaaOo7A3jTKunMEodTI0Uw5NXQyZEcboMC8JskY=",
-            "https://bcr.bazel.build/modules/zlib/1.3/patches/module_dot_bazel.patch": "sha256-fPWLM+2xaF/kuy+kZc1YTfW6hNjrkG400Ho7gckuyJk="
-          },
-          "remote_patch_strip": 0
-        }
-      }
-    },
-    "apple_support@1.5.0": {
-      "name": "apple_support",
-      "version": "1.5.0",
-      "key": "apple_support@1.5.0",
-      "repoName": "build_bazel_apple_support",
+    "rules_java@7.4.0": {
+      "name": "rules_java",
+      "version": "7.4.0",
+      "key": "rules_java@7.4.0",
+      "repoName": "rules_java",
       "executionPlatformsToRegister": [],
       "toolchainsToRegister": [
-        "@local_config_apple_cc_toolchains//:all"
+        "//toolchains:all",
+        "@local_jdk//:runtime_toolchain_definition",
+        "@local_jdk//:bootstrap_runtime_toolchain_definition",
+        "@remotejdk11_linux_toolchain_config_repo//:all",
+        "@remotejdk11_linux_aarch64_toolchain_config_repo//:all",
+        "@remotejdk11_linux_ppc64le_toolchain_config_repo//:all",
+        "@remotejdk11_linux_s390x_toolchain_config_repo//:all",
+        "@remotejdk11_macos_toolchain_config_repo//:all",
+        "@remotejdk11_macos_aarch64_toolchain_config_repo//:all",
+        "@remotejdk11_win_toolchain_config_repo//:all",
+        "@remotejdk11_win_arm64_toolchain_config_repo//:all",
+        "@remotejdk17_linux_toolchain_config_repo//:all",
+        "@remotejdk17_linux_aarch64_toolchain_config_repo//:all",
+        "@remotejdk17_linux_ppc64le_toolchain_config_repo//:all",
+        "@remotejdk17_linux_s390x_toolchain_config_repo//:all",
+        "@remotejdk17_macos_toolchain_config_repo//:all",
+        "@remotejdk17_macos_aarch64_toolchain_config_repo//:all",
+        "@remotejdk17_win_toolchain_config_repo//:all",
+        "@remotejdk17_win_arm64_toolchain_config_repo//:all",
+        "@remotejdk21_linux_toolchain_config_repo//:all",
+        "@remotejdk21_linux_aarch64_toolchain_config_repo//:all",
+        "@remotejdk21_macos_toolchain_config_repo//:all",
+        "@remotejdk21_macos_aarch64_toolchain_config_repo//:all",
+        "@remotejdk21_win_toolchain_config_repo//:all"
       ],
       "extensionUsages": [
         {
-          "extensionBzlFile": "@build_bazel_apple_support//crosstool:setup.bzl",
-          "extensionName": "apple_cc_configure_extension",
-          "usingModule": "apple_support@1.5.0",
+          "extensionBzlFile": "@rules_java//java:extensions.bzl",
+          "extensionName": "toolchains",
+          "usingModule": "rules_java@7.4.0",
           "location": {
-            "file": "https://bcr.bazel.build/modules/apple_support/1.5.0/MODULE.bazel",
-            "line": 17,
-            "column": 35
+            "file": "https://bcr.bazel.build/modules/rules_java/7.4.0/MODULE.bazel",
+            "line": 19,
+            "column": 27
           },
           "imports": {
-            "local_config_apple_cc": "local_config_apple_cc",
-            "local_config_apple_cc_toolchains": "local_config_apple_cc_toolchains"
+            "remote_java_tools": "remote_java_tools",
+            "remote_java_tools_linux": "remote_java_tools_linux",
+            "remote_java_tools_windows": "remote_java_tools_windows",
+            "remote_java_tools_darwin_x86_64": "remote_java_tools_darwin_x86_64",
+            "remote_java_tools_darwin_arm64": "remote_java_tools_darwin_arm64",
+            "local_jdk": "local_jdk",
+            "remotejdk11_linux_toolchain_config_repo": "remotejdk11_linux_toolchain_config_repo",
+            "remotejdk11_linux_aarch64_toolchain_config_repo": "remotejdk11_linux_aarch64_toolchain_config_repo",
+            "remotejdk11_linux_ppc64le_toolchain_config_repo": "remotejdk11_linux_ppc64le_toolchain_config_repo",
+            "remotejdk11_linux_s390x_toolchain_config_repo": "remotejdk11_linux_s390x_toolchain_config_repo",
+            "remotejdk11_macos_toolchain_config_repo": "remotejdk11_macos_toolchain_config_repo",
+            "remotejdk11_macos_aarch64_toolchain_config_repo": "remotejdk11_macos_aarch64_toolchain_config_repo",
+            "remotejdk11_win_toolchain_config_repo": "remotejdk11_win_toolchain_config_repo",
+            "remotejdk11_win_arm64_toolchain_config_repo": "remotejdk11_win_arm64_toolchain_config_repo",
+            "remotejdk17_linux_toolchain_config_repo": "remotejdk17_linux_toolchain_config_repo",
+            "remotejdk17_linux_aarch64_toolchain_config_repo": "remotejdk17_linux_aarch64_toolchain_config_repo",
+            "remotejdk17_linux_ppc64le_toolchain_config_repo": "remotejdk17_linux_ppc64le_toolchain_config_repo",
+            "remotejdk17_linux_s390x_toolchain_config_repo": "remotejdk17_linux_s390x_toolchain_config_repo",
+            "remotejdk17_macos_toolchain_config_repo": "remotejdk17_macos_toolchain_config_repo",
+            "remotejdk17_macos_aarch64_toolchain_config_repo": "remotejdk17_macos_aarch64_toolchain_config_repo",
+            "remotejdk17_win_toolchain_config_repo": "remotejdk17_win_toolchain_config_repo",
+            "remotejdk17_win_arm64_toolchain_config_repo": "remotejdk17_win_arm64_toolchain_config_repo",
+            "remotejdk21_linux_toolchain_config_repo": "remotejdk21_linux_toolchain_config_repo",
+            "remotejdk21_linux_aarch64_toolchain_config_repo": "remotejdk21_linux_aarch64_toolchain_config_repo",
+            "remotejdk21_macos_toolchain_config_repo": "remotejdk21_macos_toolchain_config_repo",
+            "remotejdk21_macos_aarch64_toolchain_config_repo": "remotejdk21_macos_aarch64_toolchain_config_repo",
+            "remotejdk21_win_toolchain_config_repo": "remotejdk21_win_toolchain_config_repo"
           },
           "devImports": [],
           "tags": [],
@@ -668,51 +606,22 @@
         }
       ],
       "deps": {
-        "bazel_skylib": "bazel_skylib@1.3.0",
-        "platforms": "platforms@0.0.7",
-        "bazel_tools": "bazel_tools@_",
-        "local_config_platform": "local_config_platform@_"
-      },
-      "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
-        "ruleClassName": "http_archive",
-        "attributes": {
-          "name": "apple_support~1.5.0",
-          "urls": [
-            "https://github.com/bazelbuild/apple_support/releases/download/1.5.0/apple_support.1.5.0.tar.gz"
-          ],
-          "integrity": "sha256-miM41vja0yRPgj8txghKA+TQ+7J8qJLclw5okNW0gYQ=",
-          "strip_prefix": "",
-          "remote_patches": {},
-          "remote_patch_strip": 0
-        }
-      }
-    },
-    "bazel_skylib@1.3.0": {
-      "name": "bazel_skylib",
-      "version": "1.3.0",
-      "key": "bazel_skylib@1.3.0",
-      "repoName": "bazel_skylib",
-      "executionPlatformsToRegister": [],
-      "toolchainsToRegister": [
-        "//toolchains/unittest:cmd_toolchain",
-        "//toolchains/unittest:bash_toolchain"
-      ],
-      "extensionUsages": [],
-      "deps": {
         "platforms": "platforms@0.0.7",
+        "rules_cc": "rules_cc@0.0.9",
+        "bazel_skylib": "bazel_skylib@1.3.0",
+        "rules_proto": "rules_proto@5.3.0-21.7",
+        "rules_license": "rules_license@0.0.7",
         "bazel_tools": "bazel_tools@_",
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "bazel_skylib~1.3.0",
           "urls": [
-            "https://github.com/bazelbuild/bazel-skylib/releases/download/1.3.0/bazel-skylib-1.3.0.tar.gz"
+            "https://github.com/bazelbuild/rules_java/releases/download/7.4.0/rules_java-7.4.0.tar.gz"
           ],
-          "integrity": "sha256-dNVE2W9KW7Yw1GXKi7z+Ix41lOWq5X4e2/F6brPKJQY=",
+          "integrity": "sha256-l27wi0nJKXQfIBeQ5Z44B8cq2B9CjIvJU82+/1/tFes=",
           "strip_prefix": "",
           "remote_patches": {},
           "remote_patch_strip": 0
@@ -735,10 +644,9 @@
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "rules_pkg~0.7.0",
           "urls": [
             "https://github.com/bazelbuild/rules_pkg/releases/download/0.7.0/rules_pkg-0.7.0.tar.gz"
           ],
@@ -766,10 +674,9 @@
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "abseil-cpp~20211102.0",
           "urls": [
             "https://github.com/abseil/abseil-cpp/archive/refs/tags/20211102.0.tar.gz"
           ],
@@ -800,10 +707,9 @@
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "upb~0.0.0-20220923-a547704",
           "urls": [
             "https://github.com/protocolbuffers/upb/archive/a5477045acaa34586420942098f5fecd3570f577.tar.gz"
           ],
@@ -887,10 +793,9 @@
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "rules_jvm_external~4.4.2",
           "urls": [
             "https://github.com/bazelbuild/rules_jvm_external/archive/refs/tags/4.4.2.zip"
           ],
@@ -917,10 +822,9 @@
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "googletest~1.11.0",
           "urls": [
             "https://github.com/google/googletest/archive/refs/tags/release-1.11.0.tar.gz"
           ],
@@ -933,6 +837,174 @@
         }
       }
     },
+    "platforms@0.0.7": {
+      "name": "platforms",
+      "version": "0.0.7",
+      "key": "platforms@0.0.7",
+      "repoName": "platforms",
+      "executionPlatformsToRegister": [],
+      "toolchainsToRegister": [],
+      "extensionUsages": [],
+      "deps": {
+        "rules_license": "rules_license@0.0.7",
+        "bazel_tools": "bazel_tools@_",
+        "local_config_platform": "local_config_platform@_"
+      },
+      "repoSpec": {
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+        "ruleClassName": "http_archive",
+        "attributes": {
+          "urls": [
+            "https://github.com/bazelbuild/platforms/releases/download/0.0.7/platforms-0.0.7.tar.gz"
+          ],
+          "integrity": "sha256-OlYcmee9vpFzqmU/1Xn+hJ8djWc5V4CrR3Cx84FDHVE=",
+          "strip_prefix": "",
+          "remote_patches": {},
+          "remote_patch_strip": 0
+        }
+      }
+    },
+    "rules_license@0.0.7": {
+      "name": "rules_license",
+      "version": "0.0.7",
+      "key": "rules_license@0.0.7",
+      "repoName": "rules_license",
+      "executionPlatformsToRegister": [],
+      "toolchainsToRegister": [],
+      "extensionUsages": [],
+      "deps": {
+        "bazel_tools": "bazel_tools@_",
+        "local_config_platform": "local_config_platform@_"
+      },
+      "repoSpec": {
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+        "ruleClassName": "http_archive",
+        "attributes": {
+          "urls": [
+            "https://github.com/bazelbuild/rules_license/releases/download/0.0.7/rules_license-0.0.7.tar.gz"
+          ],
+          "integrity": "sha256-RTHezLkTY5ww5cdRKgVNXYdWmNrrddjPkPKEN1/nw2A=",
+          "strip_prefix": "",
+          "remote_patches": {},
+          "remote_patch_strip": 0
+        }
+      }
+    },
+    "buildozer@6.4.0.2": {
+      "name": "buildozer",
+      "version": "6.4.0.2",
+      "key": "buildozer@6.4.0.2",
+      "repoName": "buildozer",
+      "executionPlatformsToRegister": [],
+      "toolchainsToRegister": [],
+      "extensionUsages": [
+        {
+          "extensionBzlFile": "@buildozer//:buildozer_binary.bzl",
+          "extensionName": "buildozer_binary",
+          "usingModule": "buildozer@6.4.0.2",
+          "location": {
+            "file": "https://bcr.bazel.build/modules/buildozer/6.4.0.2/MODULE.bazel",
+            "line": 7,
+            "column": 33
+          },
+          "imports": {
+            "buildozer_binary": "buildozer_binary"
+          },
+          "devImports": [],
+          "tags": [
+            {
+              "tagName": "buildozer",
+              "attributeValues": {
+                "sha256": {
+                  "darwin-amd64": "d29e347ecd6b5673d72cb1a8de05bf1b06178dd229ff5eb67fad5100c840cc8e",
+                  "darwin-arm64": "9b9e71bdbec5e7223871e913b65d12f6d8fa026684daf991f00e52ed36a6978d",
+                  "linux-amd64": "8dfd6345da4e9042daa738d7fdf34f699c5dfce4632f7207956fceedd8494119",
+                  "linux-arm64": "6559558fded658c8fa7432a9d011f7c4dcbac6b738feae73d2d5c352e5f605fa",
+                  "windows-amd64": "e7f05bf847f7c3689dd28926460ce6e1097ae97380ac8e6ae7147b7b706ba19b"
+                },
+                "version": "6.4.0"
+              },
+              "devDependency": false,
+              "location": {
+                "file": "https://bcr.bazel.build/modules/buildozer/6.4.0.2/MODULE.bazel",
+                "line": 8,
+                "column": 27
+              }
+            }
+          ],
+          "hasDevUseExtension": false,
+          "hasNonDevUseExtension": true
+        }
+      ],
+      "deps": {
+        "bazel_tools": "bazel_tools@_",
+        "local_config_platform": "local_config_platform@_"
+      },
+      "repoSpec": {
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+        "ruleClassName": "http_archive",
+        "attributes": {
+          "urls": [
+            "https://github.com/fmeum/buildozer/releases/download/v6.4.0.2/buildozer-v6.4.0.2.tar.gz"
+          ],
+          "integrity": "sha256-k7tFKQMR2AygxpmZfH0yEPnQmF3efFgD9rBPkj+Yz/8=",
+          "strip_prefix": "buildozer-6.4.0.2",
+          "remote_patches": {
+            "https://bcr.bazel.build/modules/buildozer/6.4.0.2/patches/module_dot_bazel_version.patch": "sha256-gKANF2HMilj7bWmuXs4lbBIAAansuWC4IhWGB/CerjU="
+          },
+          "remote_patch_strip": 1
+        }
+      }
+    },
+    "apple_support@1.5.0": {
+      "name": "apple_support",
+      "version": "1.5.0",
+      "key": "apple_support@1.5.0",
+      "repoName": "build_bazel_apple_support",
+      "executionPlatformsToRegister": [],
+      "toolchainsToRegister": [
+        "@local_config_apple_cc_toolchains//:all"
+      ],
+      "extensionUsages": [
+        {
+          "extensionBzlFile": "@build_bazel_apple_support//crosstool:setup.bzl",
+          "extensionName": "apple_cc_configure_extension",
+          "usingModule": "apple_support@1.5.0",
+          "location": {
+            "file": "https://bcr.bazel.build/modules/apple_support/1.5.0/MODULE.bazel",
+            "line": 17,
+            "column": 35
+          },
+          "imports": {
+            "local_config_apple_cc": "local_config_apple_cc",
+            "local_config_apple_cc_toolchains": "local_config_apple_cc_toolchains"
+          },
+          "devImports": [],
+          "tags": [],
+          "hasDevUseExtension": false,
+          "hasNonDevUseExtension": true
+        }
+      ],
+      "deps": {
+        "bazel_skylib": "bazel_skylib@1.3.0",
+        "platforms": "platforms@0.0.7",
+        "bazel_tools": "bazel_tools@_",
+        "local_config_platform": "local_config_platform@_"
+      },
+      "repoSpec": {
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+        "ruleClassName": "http_archive",
+        "attributes": {
+          "urls": [
+            "https://github.com/bazelbuild/apple_support/releases/download/1.5.0/apple_support.1.5.0.tar.gz"
+          ],
+          "integrity": "sha256-miM41vja0yRPgj8txghKA+TQ+7J8qJLclw5okNW0gYQ=",
+          "strip_prefix": "",
+          "remote_patches": {},
+          "remote_patch_strip": 0
+        }
+      }
+    },
     "stardoc@0.5.1": {
       "name": "stardoc",
       "version": "0.5.1",
@@ -943,15 +1015,14 @@
       "extensionUsages": [],
       "deps": {
         "bazel_skylib": "bazel_skylib@1.3.0",
-        "rules_java": "rules_java@7.3.2",
+        "rules_java": "rules_java@7.4.0",
         "bazel_tools": "bazel_tools@_",
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "stardoc~0.5.1",
           "urls": [
             "https://github.com/bazelbuild/stardoc/releases/download/0.5.1/stardoc-0.5.1.tar.gz"
           ],
@@ -966,30 +1037,27 @@
     }
   },
   "moduleExtensions": {
-    "@@apple_support~1.5.0//crosstool:setup.bzl%apple_cc_configure_extension": {
+    "@@apple_support~//crosstool:setup.bzl%apple_cc_configure_extension": {
       "general": {
         "bzlTransitiveDigest": "pMLFCYaRPkgXPQ8vtuNkMfiHfPmRBy6QJfnid4sWfv0=",
-        "accumulatedFileDigests": {},
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "local_config_apple_cc": {
-            "bzlFile": "@@apple_support~1.5.0//crosstool:setup.bzl",
+            "bzlFile": "@@apple_support~//crosstool:setup.bzl",
             "ruleClassName": "_apple_cc_autoconf",
-            "attributes": {
-              "name": "apple_support~1.5.0~apple_cc_configure_extension~local_config_apple_cc"
-            }
+            "attributes": {}
           },
           "local_config_apple_cc_toolchains": {
-            "bzlFile": "@@apple_support~1.5.0//crosstool:setup.bzl",
+            "bzlFile": "@@apple_support~//crosstool:setup.bzl",
             "ruleClassName": "_apple_cc_autoconf_toolchains",
-            "attributes": {
-              "name": "apple_support~1.5.0~apple_cc_configure_extension~local_config_apple_cc_toolchains"
-            }
+            "attributes": {}
           }
         },
         "recordedRepoMappingEntries": [
           [
-            "apple_support~1.5.0",
+            "apple_support~",
             "bazel_tools",
             "bazel_tools"
           ]
@@ -998,15 +1066,15 @@
     },
     "@@bazel_tools//tools/android:android_extensions.bzl%remote_android_tools_extensions": {
       "general": {
-        "bzlTransitiveDigest": "vsrPPBNf8OgywAYLMcIL1oNm2R8WtbCIL9wgQBUecpA=",
-        "accumulatedFileDigests": {},
+        "bzlTransitiveDigest": "S0n86BFe4SJ3lRaZiRA5D46oH52UO2hP1T50t/zldOw=",
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "android_tools": {
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "bazel_tools~remote_android_tools_extensions~android_tools",
               "sha256": "2b661a761a735b41c41b3a78089f4fc1982626c76ddb944604ae3ff8c545d3c2",
               "url": "https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.30.0.tar"
             }
@@ -1015,9 +1083,8 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_jar",
             "attributes": {
-              "name": "bazel_tools~remote_android_tools_extensions~android_gmaven_r8",
-              "sha256": "a1d7f902d56cfa8d1e8cd64aa250e63549359fcd096eb793286787b1a1e76db1",
-              "url": "https://maven.google.com/com/android/tools/r8/8.2.42/r8-8.2.42.jar"
+              "sha256": "57a696749695a09381a87bc2f08c3a8ed06a717a5caa3ef878a3077e0d3af19d",
+              "url": "https://maven.google.com/com/android/tools/r8/8.1.56/r8-8.1.56.jar"
             }
           }
         },
@@ -1026,23 +1093,20 @@
     },
     "@@bazel_tools//tools/cpp:cc_configure.bzl%cc_configure_extension": {
       "general": {
-        "bzlTransitiveDigest": "2LC5INJ/KSraqEsbNl9rSibnM7ApBho21h1gyUQbjPg=",
-        "accumulatedFileDigests": {},
+        "bzlTransitiveDigest": "PHpT2yqMGms2U4L3E/aZ+WcQalmZWm+ILdP3yiLsDhA=",
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "local_config_cc": {
             "bzlFile": "@@bazel_tools//tools/cpp:cc_configure.bzl",
             "ruleClassName": "cc_autoconf",
-            "attributes": {
-              "name": "bazel_tools~cc_configure_extension~local_config_cc"
-            }
+            "attributes": {}
           },
           "local_config_cc_toolchains": {
             "bzlFile": "@@bazel_tools//tools/cpp:cc_configure.bzl",
             "ruleClassName": "cc_autoconf_toolchains",
-            "attributes": {
-              "name": "bazel_tools~cc_configure_extension~local_config_cc_toolchains"
-            }
+            "attributes": {}
           }
         },
         "recordedRepoMappingEntries": [
@@ -1057,14 +1121,14 @@
     "@@bazel_tools//tools/osx:xcode_configure.bzl%xcode_configure_extension": {
       "general": {
         "bzlTransitiveDigest": "Qh2bWTU6QW6wkrd87qrU4YeY+SG37Nvw3A0PR4Y0L2Y=",
-        "accumulatedFileDigests": {},
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "local_config_xcode": {
             "bzlFile": "@@bazel_tools//tools/osx:xcode_configure.bzl",
             "ruleClassName": "xcode_autoconf",
             "attributes": {
-              "name": "bazel_tools~xcode_configure_extension~local_config_xcode",
               "xcode_locator": "@bazel_tools//tools/osx:xcode_locator.m",
               "remote_xcode": ""
             }
@@ -1076,15 +1140,14 @@
     "@@bazel_tools//tools/sh:sh_configure.bzl%sh_configure_extension": {
       "general": {
         "bzlTransitiveDigest": "hp4NgmNjEg5+xgvzfh6L83bt9/aiiWETuNpwNuF1MSU=",
-        "accumulatedFileDigests": {},
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "local_config_sh": {
             "bzlFile": "@@bazel_tools//tools/sh:sh_configure.bzl",
             "ruleClassName": "sh_config",
-            "attributes": {
-              "name": "bazel_tools~sh_configure_extension~local_config_sh"
-            }
+            "attributes": {}
           }
         },
         "recordedRepoMappingEntries": []
@@ -1092,15 +1155,15 @@
     },
     "@@bazel_tools//tools/test:extensions.bzl%remote_coverage_tools_extension": {
       "general": {
-        "bzlTransitiveDigest": "AL+K5m+GCP3XRzLPqpKAq4GsjIVDXgUveWm8nih4ju0=",
-        "accumulatedFileDigests": {},
+        "bzlTransitiveDigest": "l5mcjH2gWmbmIycx97bzI2stD0Q0M5gpDc0aLOHKIm8=",
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "remote_coverage_tools": {
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "bazel_tools~remote_coverage_tools_extension~remote_coverage_tools",
               "sha256": "7006375f6756819b7013ca875eab70a541cf7d89142d9c511ed78ea4fefa38af",
               "urls": [
                 "https://mirror.bazel.build/bazel_coverage_output_generator/releases/coverage_output_generator-v2.6.zip"
@@ -1111,49 +1174,70 @@
         "recordedRepoMappingEntries": []
       }
     },
-    "@@rules_java~7.3.2//java:extensions.bzl%toolchains": {
+    "@@buildozer~//:buildozer_binary.bzl%buildozer_binary": {
+      "general": {
+        "bzlTransitiveDigest": "EleDU/FQ1+e/RgkW3aIDmdaxZEthvoWQhsqFTxiSgMI=",
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
+        "envVariables": {},
+        "generatedRepoSpecs": {
+          "buildozer_binary": {
+            "bzlFile": "@@buildozer~//private:buildozer_binary.bzl",
+            "ruleClassName": "_buildozer_binary_repo",
+            "attributes": {
+              "sha256": {
+                "darwin-amd64": "d29e347ecd6b5673d72cb1a8de05bf1b06178dd229ff5eb67fad5100c840cc8e",
+                "darwin-arm64": "9b9e71bdbec5e7223871e913b65d12f6d8fa026684daf991f00e52ed36a6978d",
+                "linux-amd64": "8dfd6345da4e9042daa738d7fdf34f699c5dfce4632f7207956fceedd8494119",
+                "linux-arm64": "6559558fded658c8fa7432a9d011f7c4dcbac6b738feae73d2d5c352e5f605fa",
+                "windows-amd64": "e7f05bf847f7c3689dd28926460ce6e1097ae97380ac8e6ae7147b7b706ba19b"
+              },
+              "version": "6.4.0"
+            }
+          }
+        },
+        "recordedRepoMappingEntries": []
+      }
+    },
+    "@@rules_java~//java:extensions.bzl%toolchains": {
       "general": {
-        "bzlTransitiveDigest": "Bm4ulErUcJjZtKeAt2etkB6sGO8evCgHQxbw4Px8q60=",
-        "accumulatedFileDigests": {},
+        "bzlTransitiveDigest": "tJHbmWnq7m+9eUBnUdv7jZziQ26FmcGL9C5/hU3Q9UQ=",
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "remotejdk21_linux_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.3.2//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.3.2~toolchains~remotejdk21_linux_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_21\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"21\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_linux//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_linux//:jdk\",\n)\n"
             }
           },
           "remotejdk17_linux_s390x_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.3.2//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.3.2~toolchains~remotejdk17_linux_s390x_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_17\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"17\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:s390x\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_linux_s390x//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:s390x\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_linux_s390x//:jdk\",\n)\n"
             }
           },
           "remotejdk17_macos_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.3.2//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.3.2~toolchains~remotejdk17_macos_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_17\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"17\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_macos//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_macos//:jdk\",\n)\n"
             }
           },
           "remotejdk21_macos_aarch64_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.3.2//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.3.2~toolchains~remotejdk21_macos_aarch64_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_21\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"21\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_macos_aarch64//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_macos_aarch64//:jdk\",\n)\n"
             }
           },
           "remotejdk17_linux_aarch64_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.3.2//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.3.2~toolchains~remotejdk17_linux_aarch64_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_17\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"17\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_linux_aarch64//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_linux_aarch64//:jdk\",\n)\n"
             }
           },
@@ -1161,21 +1245,19 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.3.2~toolchains~remotejdk21_macos_aarch64",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 21,\n)\n",
-              "sha256": "2a7a99a3ea263dbd8d32a67d1e6e363ba8b25c645c826f5e167a02bbafaff1fa",
-              "strip_prefix": "zulu21.28.85-ca-jdk21.0.0-macosx_aarch64",
+              "sha256": "e8260516de8b60661422a725f1df2c36ef888f6fb35393566b00e7325db3d04e",
+              "strip_prefix": "zulu21.32.17-ca-jdk21.0.2-macosx_aarch64",
               "urls": [
-                "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-macosx_aarch64.tar.gz",
-                "https://cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-macosx_aarch64.tar.gz"
+                "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.32.17-ca-jdk21.0.2-macosx_aarch64.tar.gz",
+                "https://cdn.azul.com/zulu/bin/zulu21.32.17-ca-jdk21.0.2-macosx_aarch64.tar.gz"
               ]
             }
           },
           "remotejdk17_linux_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.3.2//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.3.2~toolchains~remotejdk17_linux_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_17\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"17\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_linux//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_linux//:jdk\",\n)\n"
             }
           },
@@ -1183,7 +1265,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.3.2~toolchains~remotejdk17_macos_aarch64",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 17,\n)\n",
               "sha256": "314b04568ec0ae9b36ba03c9cbd42adc9e1265f74678923b19297d66eb84dcca",
               "strip_prefix": "zulu17.44.53-ca-jdk17.0.8.1-macosx_aarch64",
@@ -1197,11 +1278,10 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.3.2~toolchains~remote_java_tools_windows",
-              "sha256": "8fc29a5e34e91c74815c4089ed0f481a7d728a5e886c4e5e3b9bcd79711fee3d",
+              "sha256": "fe2f88169696d6c6fc6e90ba61bb46be7d0ae3693cbafdf336041bf56679e8d1",
               "urls": [
-                "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.3/java_tools_windows-v13.3.zip",
-                "https://github.com/bazelbuild/java_tools/releases/download/java_v13.3/java_tools_windows-v13.3.zip"
+                "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.4/java_tools_windows-v13.4.zip",
+                "https://github.com/bazelbuild/java_tools/releases/download/java_v13.4/java_tools_windows-v13.4.zip"
               ]
             }
           },
@@ -1209,7 +1289,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.3.2~toolchains~remotejdk11_win",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 11,\n)\n",
               "sha256": "43408193ce2fa0862819495b5ae8541085b95660153f2adcf91a52d3a1710e83",
               "strip_prefix": "zulu11.66.15-ca-jdk11.0.20-win_x64",
@@ -1220,10 +1299,9 @@
             }
           },
           "remotejdk11_win_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.3.2//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.3.2~toolchains~remotejdk11_win_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_11\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"11\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_win//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_win//:jdk\",\n)\n"
             }
           },
@@ -1231,7 +1309,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.3.2~toolchains~remotejdk11_linux_aarch64",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 11,\n)\n",
               "sha256": "54174439f2b3fddd11f1048c397fe7bb45d4c9d66d452d6889b013d04d21c4de",
               "strip_prefix": "zulu11.66.15-ca-jdk11.0.20-linux_aarch64",
@@ -1245,7 +1322,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.3.2~toolchains~remotejdk17_linux",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 17,\n)\n",
               "sha256": "b9482f2304a1a68a614dfacddcf29569a72f0fac32e6c74f83dc1b9a157b8340",
               "strip_prefix": "zulu17.44.53-ca-jdk17.0.8.1-linux_x64",
@@ -1256,18 +1332,16 @@
             }
           },
           "remotejdk11_linux_s390x_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.3.2//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.3.2~toolchains~remotejdk11_linux_s390x_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_11\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"11\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:s390x\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_linux_s390x//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:s390x\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_linux_s390x//:jdk\",\n)\n"
             }
           },
           "remotejdk11_linux_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.3.2//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.3.2~toolchains~remotejdk11_linux_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_11\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"11\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_linux//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_linux//:jdk\",\n)\n"
             }
           },
@@ -1275,7 +1349,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.3.2~toolchains~remotejdk11_macos",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 11,\n)\n",
               "sha256": "bcaab11cfe586fae7583c6d9d311c64384354fb2638eb9a012eca4c3f1a1d9fd",
               "strip_prefix": "zulu11.66.15-ca-jdk11.0.20-macosx_x64",
@@ -1289,7 +1362,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.3.2~toolchains~remotejdk11_win_arm64",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 11,\n)\n",
               "sha256": "b8a28e6e767d90acf793ea6f5bed0bb595ba0ba5ebdf8b99f395266161e53ec2",
               "strip_prefix": "jdk-11.0.13+8",
@@ -1302,7 +1374,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.3.2~toolchains~remotejdk17_macos",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 17,\n)\n",
               "sha256": "640453e8afe8ffe0fb4dceb4535fb50db9c283c64665eebb0ba68b19e65f4b1f",
               "strip_prefix": "zulu17.44.53-ca-jdk17.0.8.1-macosx_x64",
@@ -1316,29 +1387,26 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.3.2~toolchains~remotejdk21_macos",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 21,\n)\n",
-              "sha256": "9639b87db586d0c89f7a9892ae47f421e442c64b97baebdff31788fbe23265bd",
-              "strip_prefix": "zulu21.28.85-ca-jdk21.0.0-macosx_x64",
+              "sha256": "3ad8fe288eb57d975c2786ae453a036aa46e47ab2ac3d81538ebae2a54d3c025",
+              "strip_prefix": "zulu21.32.17-ca-jdk21.0.2-macosx_x64",
               "urls": [
-                "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-macosx_x64.tar.gz",
-                "https://cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-macosx_x64.tar.gz"
+                "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.32.17-ca-jdk21.0.2-macosx_x64.tar.gz",
+                "https://cdn.azul.com/zulu/bin/zulu21.32.17-ca-jdk21.0.2-macosx_x64.tar.gz"
               ]
             }
           },
           "remotejdk21_macos_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.3.2//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.3.2~toolchains~remotejdk21_macos_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_21\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"21\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_macos//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_macos//:jdk\",\n)\n"
             }
           },
           "remotejdk17_macos_aarch64_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.3.2//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.3.2~toolchains~remotejdk17_macos_aarch64_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_17\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"17\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_macos_aarch64//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_macos_aarch64//:jdk\",\n)\n"
             }
           },
@@ -1346,7 +1414,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.3.2~toolchains~remotejdk17_win",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 17,\n)\n",
               "sha256": "192f2afca57701de6ec496234f7e45d971bf623ff66b8ee4a5c81582054e5637",
               "strip_prefix": "zulu17.44.53-ca-jdk17.0.8.1-win_x64",
@@ -1357,18 +1424,16 @@
             }
           },
           "remotejdk11_macos_aarch64_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.3.2//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.3.2~toolchains~remotejdk11_macos_aarch64_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_11\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"11\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_macos_aarch64//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_macos_aarch64//:jdk\",\n)\n"
             }
           },
           "remotejdk11_linux_ppc64le_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.3.2//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.3.2~toolchains~remotejdk11_linux_ppc64le_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_11\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"11\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:ppc\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_linux_ppc64le//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:ppc\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_linux_ppc64le//:jdk\",\n)\n"
             }
           },
@@ -1376,13 +1441,12 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.3.2~toolchains~remotejdk21_linux",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 21,\n)\n",
-              "sha256": "0c0eadfbdc47a7ca64aeab51b9c061f71b6e4d25d2d87674512e9b6387e9e3a6",
-              "strip_prefix": "zulu21.28.85-ca-jdk21.0.0-linux_x64",
+              "sha256": "5ad730fbee6bb49bfff10bf39e84392e728d89103d3474a7e5def0fd134b300a",
+              "strip_prefix": "zulu21.32.17-ca-jdk21.0.2-linux_x64",
               "urls": [
-                "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-linux_x64.tar.gz",
-                "https://cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-linux_x64.tar.gz"
+                "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.32.17-ca-jdk21.0.2-linux_x64.tar.gz",
+                "https://cdn.azul.com/zulu/bin/zulu21.32.17-ca-jdk21.0.2-linux_x64.tar.gz"
               ]
             }
           },
@@ -1390,11 +1454,10 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.3.2~toolchains~remote_java_tools_linux",
-              "sha256": "a781eb28bb28d1fd9eee129272f7f2eaf93cd272f974a5b3f6385889538d3408",
+              "sha256": "ba10f09a138cf185d04cbc807d67a3da42ab13d618c5d1ce20d776e199c33a39",
               "urls": [
-                "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.3/java_tools_linux-v13.3.zip",
-                "https://github.com/bazelbuild/java_tools/releases/download/java_v13.3/java_tools_linux-v13.3.zip"
+                "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.4/java_tools_linux-v13.4.zip",
+                "https://github.com/bazelbuild/java_tools/releases/download/java_v13.4/java_tools_linux-v13.4.zip"
               ]
             }
           },
@@ -1402,13 +1465,12 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.3.2~toolchains~remotejdk21_win",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 21,\n)\n",
-              "sha256": "e9959d500a0d9a7694ac243baf657761479da132f0f94720cbffd092150bd802",
-              "strip_prefix": "zulu21.28.85-ca-jdk21.0.0-win_x64",
+              "sha256": "f7cc15ca17295e69c907402dfe8db240db446e75d3b150da7bf67243cded93de",
+              "strip_prefix": "zulu21.32.17-ca-jdk21.0.2-win_x64",
               "urls": [
-                "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-win_x64.zip",
-                "https://cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-win_x64.zip"
+                "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.32.17-ca-jdk21.0.2-win_x64.zip",
+                "https://cdn.azul.com/zulu/bin/zulu21.32.17-ca-jdk21.0.2-win_x64.zip"
               ]
             }
           },
@@ -1416,21 +1478,19 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.3.2~toolchains~remotejdk21_linux_aarch64",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 21,\n)\n",
-              "sha256": "1fb64b8036c5d463d8ab59af06bf5b6b006811e6012e3b0eb6bccf57f1c55835",
-              "strip_prefix": "zulu21.28.85-ca-jdk21.0.0-linux_aarch64",
+              "sha256": "ce7df1af5d44a9f455617c4b8891443fbe3e4b269c777d8b82ed66f77167cfe0",
+              "strip_prefix": "zulu21.32.17-ca-jdk21.0.2-linux_aarch64",
               "urls": [
-                "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-linux_aarch64.tar.gz",
-                "https://cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-linux_aarch64.tar.gz"
+                "https://cdn.azul.com/zulu/bin/zulu21.32.17-ca-jdk21.0.2-linux_aarch64.tar.gz",
+                "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.32.17-ca-jdk21.0.2-linux_aarch64.tar.gz"
               ]
             }
           },
           "remotejdk11_linux_aarch64_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.3.2//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.3.2~toolchains~remotejdk11_linux_aarch64_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_11\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"11\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_linux_aarch64//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_linux_aarch64//:jdk\",\n)\n"
             }
           },
@@ -1438,7 +1498,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.3.2~toolchains~remotejdk11_linux_s390x",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 11,\n)\n",
               "sha256": "a58fc0361966af0a5d5a31a2d8a208e3c9bb0f54f345596fd80b99ea9a39788b",
               "strip_prefix": "jdk-11.0.15+10",
@@ -1452,7 +1511,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.3.2~toolchains~remotejdk17_linux_aarch64",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 17,\n)\n",
               "sha256": "6531cef61e416d5a7b691555c8cf2bdff689201b8a001ff45ab6740062b44313",
               "strip_prefix": "zulu17.44.53-ca-jdk17.0.8.1-linux_aarch64",
@@ -1463,10 +1521,9 @@
             }
           },
           "remotejdk17_win_arm64_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.3.2//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.3.2~toolchains~remotejdk17_win_arm64_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_17\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"17\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:arm64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_win_arm64//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:arm64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_win_arm64//:jdk\",\n)\n"
             }
           },
@@ -1474,7 +1531,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.3.2~toolchains~remotejdk11_linux",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 11,\n)\n",
               "sha256": "a34b404f87a08a61148b38e1416d837189e1df7a040d949e743633daf4695a3c",
               "strip_prefix": "zulu11.66.15-ca-jdk11.0.20-linux_x64",
@@ -1485,18 +1541,16 @@
             }
           },
           "remotejdk11_macos_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.3.2//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.3.2~toolchains~remotejdk11_macos_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_11\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"11\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_macos//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_macos//:jdk\",\n)\n"
             }
           },
           "remotejdk17_linux_ppc64le_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.3.2//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.3.2~toolchains~remotejdk17_linux_ppc64le_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_17\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"17\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:ppc\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_linux_ppc64le//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:ppc\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_linux_ppc64le//:jdk\",\n)\n"
             }
           },
@@ -1504,7 +1558,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.3.2~toolchains~remotejdk17_win_arm64",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 17,\n)\n",
               "sha256": "6802c99eae0d788e21f52d03cab2e2b3bf42bc334ca03cbf19f71eb70ee19f85",
               "strip_prefix": "zulu17.44.53-ca-jdk17.0.8.1-win_aarch64",
@@ -1518,11 +1571,10 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.3.2~toolchains~remote_java_tools_darwin_arm64",
-              "sha256": "276bb552ee03341f93c0c218343295f60241fe1d32dccd97df89319c510c19a1",
+              "sha256": "076a7e198ad077f8c7d997986ef5102427fae6bbfce7a7852d2e080ed8767528",
               "urls": [
-                "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.3/java_tools_darwin_arm64-v13.3.zip",
-                "https://github.com/bazelbuild/java_tools/releases/download/java_v13.3/java_tools_darwin_arm64-v13.3.zip"
+                "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.4/java_tools_darwin_arm64-v13.4.zip",
+                "https://github.com/bazelbuild/java_tools/releases/download/java_v13.4/java_tools_darwin_arm64-v13.4.zip"
               ]
             }
           },
@@ -1530,7 +1582,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.3.2~toolchains~remotejdk17_linux_ppc64le",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 17,\n)\n",
               "sha256": "00a4c07603d0218cd678461b5b3b7e25b3253102da4022d31fc35907f21a2efd",
               "strip_prefix": "jdk-17.0.8.1+1",
@@ -1541,26 +1592,23 @@
             }
           },
           "remotejdk21_linux_aarch64_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.3.2//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.3.2~toolchains~remotejdk21_linux_aarch64_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_21\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"21\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_linux_aarch64//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_linux_aarch64//:jdk\",\n)\n"
             }
           },
           "remotejdk11_win_arm64_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.3.2//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.3.2~toolchains~remotejdk11_win_arm64_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_11\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"11\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:arm64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_win_arm64//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:arm64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_win_arm64//:jdk\",\n)\n"
             }
           },
           "local_jdk": {
-            "bzlFile": "@@rules_java~7.3.2//toolchains:local_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:local_java_repository.bzl",
             "ruleClassName": "_local_java_repository_rule",
             "attributes": {
-              "name": "rules_java~7.3.2~toolchains~local_jdk",
               "java_home": "",
               "version": "",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = {RUNTIME_VERSION},\n)\n"
@@ -1570,11 +1618,10 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.3.2~toolchains~remote_java_tools_darwin_x86_64",
-              "sha256": "55bd36bf2fad897d9107145f81e20a549a37e4d9d4c447b6915634984aa9f576",
+              "sha256": "4523aec4d09c587091a2dae6f5c9bc6922c220f3b6030e5aba9c8f015913cc65",
               "urls": [
-                "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.3/java_tools_darwin_x86_64-v13.3.zip",
-                "https://github.com/bazelbuild/java_tools/releases/download/java_v13.3/java_tools_darwin_x86_64-v13.3.zip"
+                "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.4/java_tools_darwin_x86_64-v13.4.zip",
+                "https://github.com/bazelbuild/java_tools/releases/download/java_v13.4/java_tools_darwin_x86_64-v13.4.zip"
               ]
             }
           },
@@ -1582,11 +1629,10 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.3.2~toolchains~remote_java_tools",
-              "sha256": "30a7d845bec3dd054ac45b5546c2fdf1922c0b1040b2a13b261fcc2e2d63a2f4",
+              "sha256": "e025fd260ac39b47c111f5212d64ec0d00d85dec16e49368aae82fc626a940cf",
               "urls": [
-                "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.3/java_tools-v13.3.zip",
-                "https://github.com/bazelbuild/java_tools/releases/download/java_v13.3/java_tools-v13.3.zip"
+                "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.4/java_tools-v13.4.zip",
+                "https://github.com/bazelbuild/java_tools/releases/download/java_v13.4/java_tools-v13.4.zip"
               ]
             }
           },
@@ -1594,7 +1640,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.3.2~toolchains~remotejdk17_linux_s390x",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 17,\n)\n",
               "sha256": "ffacba69c6843d7ca70d572489d6cc7ab7ae52c60f0852cedf4cf0d248b6fc37",
               "strip_prefix": "jdk-17.0.8.1+1",
@@ -1605,10 +1650,9 @@
             }
           },
           "remotejdk17_win_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.3.2//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.3.2~toolchains~remotejdk17_win_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_17\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"17\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_win//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_win//:jdk\",\n)\n"
             }
           },
@@ -1616,7 +1660,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.3.2~toolchains~remotejdk11_linux_ppc64le",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 11,\n)\n",
               "sha256": "a8fba686f6eb8ae1d1a9566821dbd5a85a1108b96ad857fdbac5c1e4649fc56f",
               "strip_prefix": "jdk-11.0.15+10",
@@ -1630,7 +1673,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.3.2~toolchains~remotejdk11_macos_aarch64",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 11,\n)\n",
               "sha256": "7632bc29f8a4b7d492b93f3bc75a7b61630894db85d136456035ab2a24d38885",
               "strip_prefix": "zulu11.66.15-ca-jdk11.0.20-macosx_aarch64",
@@ -1641,41 +1683,40 @@
             }
           },
           "remotejdk21_win_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.3.2//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.3.2~toolchains~remotejdk21_win_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_21\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"21\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_win//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_win//:jdk\",\n)\n"
             }
           }
         },
         "recordedRepoMappingEntries": [
           [
-            "rules_java~7.3.2",
+            "rules_java~",
             "bazel_tools",
             "bazel_tools"
           ],
           [
-            "rules_java~7.3.2",
+            "rules_java~",
             "remote_java_tools",
-            "rules_java~7.3.2~toolchains~remote_java_tools"
+            "rules_java~~toolchains~remote_java_tools"
           ]
         ]
       }
     },
-    "@@rules_jvm_external~4.4.2//:extensions.bzl%maven": {
+    "@@rules_jvm_external~//:extensions.bzl%maven": {
       "general": {
-        "bzlTransitiveDigest": "yXprMX4LqzJwuZlbtT9WNeu7p2iEYw7j4R1NP9pc4Ow=",
-        "accumulatedFileDigests": {
-          "@@rules_jvm_external~4.4.2//:rules_jvm_external_deps_install.json": "10442a5ae27d9ff4c2003e5ab71643bf0d8b48dcf968b4173fa274c3232a8c06"
+        "bzlTransitiveDigest": "v8HssW6WP6B8s0BwuAMJuQCz6cQ9jlhOfx4dKBtPYB4=",
+        "recordedFileInputs": {
+          "@@rules_jvm_external~//rules_jvm_external_deps_install.json": "10442a5ae27d9ff4c2003e5ab71643bf0d8b48dcf968b4173fa274c3232a8c06"
         },
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "org_slf4j_slf4j_api_1_7_30": {
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~org_slf4j_slf4j_api_1_7_30",
               "sha256": "cdba07964d1bb40a0761485c6b1e8c2f8fd9eb1d19c53928ac0d7f9510105c57",
               "urls": [
                 "https://repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.jar",
@@ -1688,7 +1729,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_api_grpc_proto_google_common_protos_2_0_1",
               "sha256": "5ce71656118618731e34a5d4c61aa3a031be23446dc7de8b5a5e77b66ebcd6ef",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/api/grpc/proto-google-common-protos/2.0.1/proto-google-common-protos-2.0.1.jar",
@@ -1701,7 +1741,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_api_gax_1_60_0",
               "sha256": "02f37d4ff1a7b8d71dff8064cf9568aa4f4b61bcc4485085d16130f32afa5a79",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/api/gax/1.60.0/gax-1.60.0.jar",
@@ -1714,7 +1753,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_guava_failureaccess_1_0_1",
               "sha256": "a171ee4c734dd2da837e4b16be9df4661afab72a41adaf31eb84dfdaf936ca26",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar",
@@ -1727,7 +1765,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~commons_logging_commons_logging_1_2",
               "sha256": "daddea1ea0be0f56978ab3006b8ac92834afeefbd9b7e4e6316fca57df0fa636",
               "urls": [
                 "https://repo1.maven.org/maven2/commons-logging/commons-logging/1.2/commons-logging-1.2.jar",
@@ -1740,7 +1777,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_http_client_google_http_client_appengine_1_38_0",
               "sha256": "f97b495fd97ac3a3d59099eb2b55025f4948230da15a076f189b9cff37c6b4d2",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/http-client/google-http-client-appengine/1.38.0/google-http-client-appengine-1.38.0.jar",
@@ -1753,7 +1789,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_cloud_google_cloud_storage_1_113_4",
               "sha256": "796833e9bdab80c40bbc820e65087eb8f28c6bfbca194d2e3e00d98cb5bc55d6",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/cloud/google-cloud-storage/1.113.4/google-cloud-storage-1.113.4.jar",
@@ -1766,7 +1801,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~io_grpc_grpc_context_1_33_1",
               "sha256": "99b8aea2b614fe0e61c3676e681259dc43c2de7f64620998e1a8435eb2976496",
               "urls": [
                 "https://repo1.maven.org/maven2/io/grpc/grpc-context/1.33.1/grpc-context-1.33.1.jar",
@@ -1779,7 +1813,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_api_grpc_proto_google_iam_v1_1_0_3",
               "sha256": "64cee7383a97e846da8d8e160e6c8fe30561e507260552c59e6ccfc81301fdc8",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/api/grpc/proto-google-iam-v1/1.0.3/proto-google-iam-v1-1.0.3.jar",
@@ -1792,7 +1825,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_api_api_common_1_10_1",
               "sha256": "2a033f24bb620383eda440ad307cb8077cfec1c7eadc684d65216123a1b9613a",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/api/api-common/1.10.1/api-common-1.10.1.jar",
@@ -1805,7 +1837,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_auth_google_auth_library_oauth2_http_0_22_0",
               "sha256": "1722d895c42dc42ea1d1f392ddbec1fbb28f7a979022c3a6c29acc39cc777ad1",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/auth/google-auth-library-oauth2-http/0.22.0/google-auth-library-oauth2-http-0.22.0.jar",
@@ -1818,7 +1849,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_typesafe_netty_netty_reactive_streams_2_0_5",
               "sha256": "f949849fc8ee75fde468ba3a35df2e04577fa31a2940b83b2a7dc9d14dac13d6",
               "urls": [
                 "https://repo1.maven.org/maven2/com/typesafe/netty/netty-reactive-streams/2.0.5/netty-reactive-streams-2.0.5.jar",
@@ -1831,7 +1861,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_typesafe_netty_netty_reactive_streams_http_2_0_5",
               "sha256": "b39224751ad936758176e9d994230380ade5e9079e7c8ad778e3995779bcf303",
               "urls": [
                 "https://repo1.maven.org/maven2/com/typesafe/netty/netty-reactive-streams-http/2.0.5/netty-reactive-streams-http-2.0.5.jar",
@@ -1844,7 +1873,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~javax_annotation_javax_annotation_api_1_3_2",
               "sha256": "e04ba5195bcd555dc95650f7cc614d151e4bcd52d29a10b8aa2197f3ab89ab9b",
               "urls": [
                 "https://repo1.maven.org/maven2/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar",
@@ -1857,7 +1885,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_j2objc_j2objc_annotations_1_3",
               "sha256": "21af30c92267bd6122c0e0b4d20cccb6641a37eaf956c6540ec471d584e64a7b",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar",
@@ -1870,7 +1897,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_metrics_spi_2_17_183",
               "sha256": "08a11dc8c4ba464beafbcc7ac05b8c724c1ccb93da99482e82a68540ac704e4a",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/metrics-spi/2.17.183/metrics-spi-2.17.183.jar",
@@ -1883,7 +1909,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~org_reactivestreams_reactive_streams_1_0_3",
               "sha256": "1dee0481072d19c929b623e155e14d2f6085dc011529a0a0dbefc84cf571d865",
               "urls": [
                 "https://repo1.maven.org/maven2/org/reactivestreams/reactive-streams/1.0.3/reactive-streams-1.0.3.jar",
@@ -1896,7 +1921,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_http_client_google_http_client_jackson2_1_38_0",
               "sha256": "e6504a82425fcc2168a4ca4175138ddcc085168daed8cdedb86d8f6fdc296e1e",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/http-client/google-http-client-jackson2/1.38.0/google-http-client-jackson2-1.38.0.jar",
@@ -1909,7 +1933,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~io_netty_netty_transport_4_1_72_Final",
               "sha256": "c5fb68e9a65b6e8a516adfcb9fa323479ee7b4d9449d8a529d2ecab3d3711d5a",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-transport/4.1.72.Final/netty-transport-4.1.72.Final.jar",
@@ -1922,7 +1945,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~io_netty_netty_codec_http2_4_1_72_Final",
               "sha256": "c89a70500f59e8563e720aaa808263a514bd9e2bd91ba84eab8c2ccb45f234b2",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-codec-http2/4.1.72.Final/netty-codec-http2-4.1.72.Final.jar",
@@ -1935,7 +1957,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~io_opencensus_opencensus_api_0_24_0",
               "sha256": "f561b1cc2673844288e596ddf5bb6596868a8472fd2cb8993953fc5c034b2352",
               "urls": [
                 "https://repo1.maven.org/maven2/io/opencensus/opencensus-api/0.24.0/opencensus-api-0.24.0.jar",
@@ -1945,10 +1966,9 @@
             }
           },
           "rules_jvm_external_deps": {
-            "bzlFile": "@@rules_jvm_external~4.4.2//:coursier.bzl",
+            "bzlFile": "@@rules_jvm_external~//:coursier.bzl",
             "ruleClassName": "pinned_coursier_fetch",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~rules_jvm_external_deps",
               "repositories": [
                 "{ \"repo_url\": \"https://repo1.maven.org/maven2\" }"
               ],
@@ -1962,7 +1982,7 @@
               "fetch_sources": true,
               "fetch_javadoc": false,
               "generate_compat_repositories": false,
-              "maven_install_json": "@@rules_jvm_external~4.4.2//:rules_jvm_external_deps_install.json",
+              "maven_install_json": "@@rules_jvm_external~//:rules_jvm_external_deps_install.json",
               "override_targets": {},
               "strict_visibility": false,
               "strict_visibility_value": [
@@ -1983,7 +2003,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~org_threeten_threetenbp_1_5_0",
               "sha256": "dcf9c0f940739f2a825cd8626ff27113459a2f6eb18797c7152f93fff69c264f",
               "urls": [
                 "https://repo1.maven.org/maven2/org/threeten/threetenbp/1.5.0/threetenbp-1.5.0.jar",
@@ -1996,7 +2015,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_http_client_spi_2_17_183",
               "sha256": "fe7120f175df9e47ebcc5d946d7f40110faf2ba0a30364f3b935d5b8a5a6c3c6",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/http-client-spi/2.17.183/http-client-spi-2.17.183.jar",
@@ -2009,7 +2027,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_third_party_jackson_core_2_17_183",
               "sha256": "1bc27c9960993c20e1ab058012dd1ae04c875eec9f0f08f2b2ca41e578dee9a4",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/third-party-jackson-core/2.17.183/third-party-jackson-core-2.17.183.jar",
@@ -2022,7 +2039,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~software_amazon_eventstream_eventstream_1_0_1",
               "sha256": "0c37d8e696117f02c302191b8110b0d0eb20fa412fce34c3a269ec73c16ce822",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/eventstream/eventstream/1.0.1/eventstream-1.0.1.jar",
@@ -2035,7 +2051,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_oauth_client_google_oauth_client_1_31_1",
               "sha256": "4ed4e2948251dbda66ce251bd7f3b32cd8570055e5cdb165a3c7aea8f43da0ff",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/oauth-client/google-oauth-client/1.31.1/google-oauth-client-1.31.1.jar",
@@ -2045,10 +2060,9 @@
             }
           },
           "maven": {
-            "bzlFile": "@@rules_jvm_external~4.4.2//:coursier.bzl",
+            "bzlFile": "@@rules_jvm_external~//:coursier.bzl",
             "ruleClassName": "coursier_fetch",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~maven",
               "repositories": [
                 "{ \"repo_url\": \"https://repo1.maven.org/maven2\" }"
               ],
@@ -2089,7 +2103,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_aws_xml_protocol_2_17_183",
               "sha256": "566bba05d49256fa6994efd68fa625ae05a62ea45ee74bb9130d20ea20988363",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/aws-xml-protocol/2.17.183/aws-xml-protocol-2.17.183.jar",
@@ -2102,7 +2115,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_annotations_2_17_183",
               "sha256": "8e4d72361ca805a0bd8bbd9017cd7ff77c8d170f2dd469c7d52d5653330bb3fd",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/annotations/2.17.183/annotations-2.17.183.jar",
@@ -2115,7 +2127,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_netty_nio_client_2_17_183",
               "sha256": "a6d356f364c56d7b90006b0b7e503b8630010993a5587ce42e74b10b8dca2238",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/netty-nio-client/2.17.183/netty-nio-client-2.17.183.jar",
@@ -2128,7 +2139,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_auto_value_auto_value_annotations_1_7_4",
               "sha256": "fedd59b0b4986c342f6ab2d182f2a4ee9fceb2c7e2d5bdc4dc764c92394a23d3",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/auto/value/auto-value-annotations/1.7.4/auto-value-annotations-1.7.4.jar",
@@ -2141,7 +2151,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~io_netty_netty_transport_native_unix_common_4_1_72_Final",
               "sha256": "6f8f1cc29b5a234eeee9439a63eb3f03a5994aa540ff555cb0b2c88cefaf6877",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-transport-native-unix-common/4.1.72.Final/netty-transport-native-unix-common-4.1.72.Final.jar",
@@ -2154,7 +2163,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~io_opencensus_opencensus_contrib_http_util_0_24_0",
               "sha256": "7155273bbb1ed3d477ea33cf19d7bbc0b285ff395f43b29ae576722cf247000f",
               "urls": [
                 "https://repo1.maven.org/maven2/io/opencensus/opencensus-contrib-http-util/0.24.0/opencensus-contrib-http-util-0.24.0.jar",
@@ -2167,7 +2175,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_fasterxml_jackson_core_jackson_core_2_11_3",
               "sha256": "78cd0a6b936232e06dd3e38da8a0345348a09cd1ff9c4d844c6ee72c75cfc402",
               "urls": [
                 "https://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-core/2.11.3/jackson-core-2.11.3.jar",
@@ -2180,7 +2187,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_cloud_google_cloud_core_1_93_10",
               "sha256": "832d74eca66f4601e162a8460d6f59f50d1d23f93c18b02654423b6b0d67c6ea",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/cloud/google-cloud-core/1.93.10/google-cloud-core-1.93.10.jar",
@@ -2193,7 +2199,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_auth_google_auth_library_credentials_0_22_0",
               "sha256": "42c76031276de5b520909e9faf88c5b3c9a722d69ee9cfdafedb1c52c355dfc5",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/auth/google-auth-library-credentials/0.22.0/google-auth-library-credentials-0.22.0.jar",
@@ -2206,7 +2211,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_guava_guava_30_0_android",
               "sha256": "3345c82c2cc70a0053e8db9031edc6d71625ef0dea6a2c8f5ebd6cb76d2bf843",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/guava/guava/30.0-android/guava-30.0-android.jar",
@@ -2219,7 +2223,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_profiles_2_17_183",
               "sha256": "78833b32fde3f1c5320373b9ea955c1bbc28f2c904010791c4784e610193ee56",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/profiles/2.17.183/profiles-2.17.183.jar",
@@ -2232,7 +2235,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~org_apache_httpcomponents_httpcore_4_4_13",
               "sha256": "e06e89d40943245fcfa39ec537cdbfce3762aecde8f9c597780d2b00c2b43424",
               "urls": [
                 "https://repo1.maven.org/maven2/org/apache/httpcomponents/httpcore/4.4.13/httpcore-4.4.13.jar",
@@ -2245,7 +2247,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~io_netty_netty_common_4_1_72_Final",
               "sha256": "8adb4c291260ceb2859a68c49f0adeed36bf49587608e2b81ecff6aaf06025e9",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-common/4.1.72.Final/netty-common-4.1.72.Final.jar",
@@ -2258,7 +2259,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~io_netty_netty_transport_classes_epoll_4_1_72_Final",
               "sha256": "e1528a9751c1285aa7beaf3a1eb0597151716426ce38598ac9bc0891209b9e68",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-transport-classes-epoll/4.1.72.Final/netty-transport-classes-epoll-4.1.72.Final.jar",
@@ -2271,7 +2271,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_cloud_google_cloud_core_http_1_93_10",
               "sha256": "81ac67c14c7c4244d2b7db2607ad352416aca8d3bb2adf338964e8fea25b1b3c",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/cloud/google-cloud-core-http/1.93.10/google-cloud-core-http-1.93.10.jar",
@@ -2284,7 +2283,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_utils_2_17_183",
               "sha256": "7bd849bb5aa71bfdf6b849643736ecab3a7b3f204795804eefe5754104231ec6",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/utils/2.17.183/utils-2.17.183.jar",
@@ -2297,7 +2295,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~org_apache_commons_commons_lang3_3_8_1",
               "sha256": "dac807f65b07698ff39b1b07bfef3d87ae3fd46d91bbf8a2bc02b2a831616f68",
               "urls": [
                 "https://repo1.maven.org/maven2/org/apache/commons/commons-lang3/3.8.1/commons-lang3-3.8.1.jar",
@@ -2310,7 +2307,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_aws_core_2_17_183",
               "sha256": "bccbdbea689a665a702ff19828662d87fb7fe81529df13f02ef1e4c474ea9f93",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/aws-core/2.17.183/aws-core-2.17.183.jar",
@@ -2323,7 +2319,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_api_gax_httpjson_0_77_0",
               "sha256": "fd4dae47fa016d3b26e8d90b67ddc6c23c4c06e8bcdf085c70310ab7ef324bd6",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/api/gax-httpjson/0.77.0/gax-httpjson-0.77.0.jar",
@@ -2333,10 +2328,9 @@
             }
           },
           "unpinned_rules_jvm_external_deps": {
-            "bzlFile": "@@rules_jvm_external~4.4.2//:coursier.bzl",
+            "bzlFile": "@@rules_jvm_external~//:coursier.bzl",
             "ruleClassName": "coursier_fetch",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~unpinned_rules_jvm_external_deps",
               "repositories": [
                 "{ \"repo_url\": \"https://repo1.maven.org/maven2\" }"
               ],
@@ -2359,7 +2353,7 @@
               "strict_visibility_value": [
                 "@@//visibility:private"
               ],
-              "maven_install_json": "@@rules_jvm_external~4.4.2//:rules_jvm_external_deps_install.json",
+              "maven_install_json": "@@rules_jvm_external~//:rules_jvm_external_deps_install.json",
               "resolve_timeout": 600,
               "jetify": false,
               "jetify_include_list": [
@@ -2374,7 +2368,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_regions_2_17_183",
               "sha256": "d3079395f3ffc07d04ffcce16fca29fb5968197f6e9ea3dbff6be297102b40a5",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/regions/2.17.183/regions-2.17.183.jar",
@@ -2387,7 +2380,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_errorprone_error_prone_annotations_2_4_0",
               "sha256": "5f2a0648230a662e8be049df308d583d7369f13af683e44ddf5829b6d741a228",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.4.0/error_prone_annotations-2.4.0.jar",
@@ -2400,7 +2392,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~io_netty_netty_handler_4_1_72_Final",
               "sha256": "9cb6012af7e06361d738ac4e3bdc49a158f8cf87d9dee0f2744056b7d99c28d5",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-handler/4.1.72.Final/netty-handler-4.1.72.Final.jar",
@@ -2413,7 +2404,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_aws_query_protocol_2_17_183",
               "sha256": "4dace03c76f80f3dec920cb3dedb2a95984c4366ef4fda728660cb90bed74848",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/aws-query-protocol/2.17.183/aws-query-protocol-2.17.183.jar",
@@ -2426,7 +2416,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~io_netty_netty_codec_http_4_1_72_Final",
               "sha256": "fa6fec88010bfaf6a7415b5364671b6b18ffb6b35a986ab97b423fd8c3a0174b",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-codec-http/4.1.72.Final/netty-codec-http-4.1.72.Final.jar",
@@ -2439,7 +2428,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~io_netty_netty_resolver_4_1_72_Final",
               "sha256": "6474598aab7cc9d8d6cfa06c05bd1b19adbf7f8451dbdd73070b33a6c60b1b90",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-resolver/4.1.72.Final/netty-resolver-4.1.72.Final.jar",
@@ -2452,7 +2440,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_protocol_core_2_17_183",
               "sha256": "10e7c4faa1f05e2d73055d0390dbd0bb6450e2e6cb85beda051b1e4693c826ce",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/protocol-core/2.17.183/protocol-core-2.17.183.jar",
@@ -2465,7 +2452,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~org_checkerframework_checker_compat_qual_2_5_5",
               "sha256": "11d134b245e9cacc474514d2d66b5b8618f8039a1465cdc55bbc0b34e0008b7a",
               "urls": [
                 "https://repo1.maven.org/maven2/org/checkerframework/checker-compat-qual/2.5.5/checker-compat-qual-2.5.5.jar",
@@ -2478,7 +2464,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_apis_google_api_services_storage_v1_rev20200927_1_30_10",
               "sha256": "52d26a9d105f8d8a0850807285f307a76cea8f3e0cdb2be4d3b15b1adfa77351",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/apis/google-api-services-storage/v1-rev20200927-1.30.10/google-api-services-storage-v1-rev20200927-1.30.10.jar",
@@ -2491,7 +2476,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_api_client_google_api_client_1_30_11",
               "sha256": "ee6f97865cc7de6c7c80955c3f37372cf3887bd75e4fc06f1058a6b4cd9bf4da",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/api-client/google-api-client/1.30.11/google-api-client-1.30.11.jar",
@@ -2504,7 +2488,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_s3_2_17_183",
               "sha256": "ab073b91107a9e4ed9f030314077d137fe627e055ad895fabb036980a050e360",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/s3/2.17.183/s3-2.17.183.jar",
@@ -2517,7 +2500,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~org_apache_maven_maven_artifact_3_8_6",
               "sha256": "de22a4c6f54fe31276a823b1bbd3adfd6823529e732f431b5eff0852c2b9252b",
               "urls": [
                 "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact/3.8.6/maven-artifact-3.8.6.jar",
@@ -2530,7 +2512,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~org_apache_httpcomponents_httpclient_4_5_13",
               "sha256": "6fe9026a566c6a5001608cf3fc32196641f6c1e5e1986d1037ccdbd5f31ef743",
               "urls": [
                 "https://repo1.maven.org/maven2/org/apache/httpcomponents/httpclient/4.5.13/httpclient-4.5.13.jar",
@@ -2543,7 +2524,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_guava_listenablefuture_9999_0_empty_to_avoid_conflict_with_guava",
               "sha256": "b372a037d4230aa57fbeffdef30fd6123f9c0c2db85d0aced00c91b974f33f99",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar",
@@ -2556,7 +2536,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_http_client_google_http_client_1_38_0",
               "sha256": "411f4a42519b6b78bdc0fcfdf74c9edcef0ee97afa4a667abe04045a508d6302",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/http-client/google-http-client/1.38.0/google-http-client-1.38.0.jar",
@@ -2569,7 +2548,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_apache_client_2_17_183",
               "sha256": "78ceae502fce6a97bbe5ff8f6a010a52ab7ea3ae66cb1a4122e18185fce45022",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/apache-client/2.17.183/apache-client-2.17.183.jar",
@@ -2582,7 +2560,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_arns_2_17_183",
               "sha256": "659a185e191d66c71de81209490e66abeaccae208ea7b2831a738670823447aa",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/arns/2.17.183/arns-2.17.183.jar",
@@ -2595,7 +2572,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_code_gson_gson_2_9_0",
               "sha256": "c96d60551331a196dac54b745aa642cd078ef89b6f267146b705f2c2cbef052d",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/code/gson/gson/2.9.0/gson-2.9.0.jar",
@@ -2608,7 +2584,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~io_netty_netty_buffer_4_1_72_Final",
               "sha256": "568ff7cd9d8e2284ec980730c88924f686642929f8f219a74518b4e64755f3a1",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-buffer/4.1.72.Final/netty-buffer-4.1.72.Final.jar",
@@ -2621,7 +2596,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_code_findbugs_jsr305_3_0_2",
               "sha256": "766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar",
@@ -2634,7 +2608,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~commons_codec_commons_codec_1_11",
               "sha256": "e599d5318e97aa48f42136a2927e6dfa4e8881dff0e6c8e3109ddbbff51d7b7d",
               "urls": [
                 "https://repo1.maven.org/maven2/commons-codec/commons-codec/1.11/commons-codec-1.11.jar",
@@ -2647,7 +2620,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_auth_2_17_183",
               "sha256": "8820c6636e5c14efc29399fb5565ce50212b0c1f4ed720a025a2c402d54e0978",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/auth/2.17.183/auth-2.17.183.jar",
@@ -2660,7 +2632,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_json_utils_2_17_183",
               "sha256": "51ab7f550adc06afcb49f5270cdf690f1bfaaee243abaa5d978095e2a1e4e1a5",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/json-utils/2.17.183/json-utils-2.17.183.jar",
@@ -2673,7 +2644,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~org_codehaus_plexus_plexus_utils_3_3_1",
               "sha256": "4b570fcdbe5a894f249d2eb9b929358a9c88c3e548d227a80010461930222f2a",
               "urls": [
                 "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/3.3.1/plexus-utils-3.3.1.jar",
@@ -2686,7 +2656,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_protobuf_protobuf_java_util_3_13_0",
               "sha256": "d9de66b8c9445905dfa7064f6d5213d47ce88a20d34e21d83c4a94a229e14e62",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java-util/3.13.0/protobuf-java-util-3.13.0.jar",
@@ -2699,7 +2668,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~io_netty_netty_codec_4_1_72_Final",
               "sha256": "5d8591ca271a1e9c224e8de3873aa9936acb581ee0db514e7dc18523df36d16c",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-codec/4.1.72.Final/netty-codec-4.1.72.Final.jar",
@@ -2712,7 +2680,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_protobuf_protobuf_java_3_13_0",
               "sha256": "97d5b2758408690c0dc276238707492a0b6a4d71206311b6c442cdc26c5973ff",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java/3.13.0/protobuf-java-3.13.0.jar",
@@ -2725,7 +2692,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~io_netty_netty_tcnative_classes_2_0_46_Final",
               "sha256": "d3ec888dcc4ac7915bf88b417c5e04fd354f4311032a748a6882df09347eed9a",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-tcnative-classes/2.0.46.Final/netty-tcnative-classes-2.0.46.Final.jar",
@@ -2738,7 +2704,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_sdk_core_2_17_183",
               "sha256": "677e9cc90fdd82c1f40f97b99cb115b13ad6c3f58beeeab1c061af6954d64c77",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/sdk-core/2.17.183/sdk-core-2.17.183.jar",
@@ -2750,29 +2715,29 @@
         },
         "recordedRepoMappingEntries": [
           [
-            "rules_jvm_external~4.4.2",
+            "rules_jvm_external~",
             "bazel_tools",
             "bazel_tools"
           ],
           [
-            "rules_jvm_external~4.4.2",
+            "rules_jvm_external~",
             "rules_jvm_external",
-            "rules_jvm_external~4.4.2"
+            "rules_jvm_external~"
           ]
         ]
       }
     },
-    "@@rules_jvm_external~4.4.2//:non-module-deps.bzl%non_module_deps": {
+    "@@rules_jvm_external~//:non-module-deps.bzl%non_module_deps": {
       "general": {
-        "bzlTransitiveDigest": "Td87llNSs5GZ/kAxu6pAqfEXBZ3HdkSqRmUzvIfbFWg=",
-        "accumulatedFileDigests": {},
+        "bzlTransitiveDigest": "DqBh3ObkOvjDFKv8VTy6J2qr7hXsJm9/sES7bha7ftA=",
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "io_bazel_rules_kotlin": {
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~non_module_deps~io_bazel_rules_kotlin",
               "sha256": "946747acdbeae799b085d12b240ec346f775ac65236dfcf18aa0cd7300f6de78",
               "urls": [
                 "https://github.com/bazelbuild/rules_kotlin/releases/download/v1.7.0-RC-2/rules_kotlin_release.tgz"
@@ -2782,59 +2747,59 @@
         },
         "recordedRepoMappingEntries": [
           [
-            "rules_jvm_external~4.4.2",
+            "rules_jvm_external~",
             "bazel_tools",
             "bazel_tools"
           ]
         ]
       }
     },
-    "@@rules_python~0.22.1//python/extensions:python.bzl%python": {
+    "@@rules_python~//python/extensions:python.bzl%python": {
       "general": {
-        "bzlTransitiveDigest": "NGtTMUqs2EEJeXu6mXdpmYRrQGZiJV7S3mxeod3Hm7M=",
-        "accumulatedFileDigests": {},
+        "bzlTransitiveDigest": "31xtOi5rmBJ3jSHeziLzV7KKKgCc6tMnRUZ1BQLBeao=",
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "pythons_hub": {
-            "bzlFile": "@@rules_python~0.22.1//python/extensions/private:interpreter_hub.bzl",
+            "bzlFile": "@@rules_python~//python/extensions/private:interpreter_hub.bzl",
             "ruleClassName": "hub_repo",
             "attributes": {
-              "name": "rules_python~0.22.1~python~pythons_hub",
               "toolchains": []
             }
           }
         },
         "recordedRepoMappingEntries": [
           [
-            "rules_python~0.22.1",
+            "rules_python~",
             "bazel_tools",
             "bazel_tools"
           ],
           [
-            "rules_python~0.22.1",
+            "rules_python~",
             "rules_python",
-            "rules_python~0.22.1"
+            "rules_python~"
           ]
         ]
       }
     },
-    "@@rules_python~0.22.1//python/extensions/private:internal_deps.bzl%internal_deps": {
+    "@@rules_python~//python/extensions/private:internal_deps.bzl%internal_deps": {
       "general": {
-        "bzlTransitiveDigest": "5c1tkdV6L67SQOZWc9MUoS5ZnsSxeDKsh9urs01jZSM=",
-        "accumulatedFileDigests": {},
+        "bzlTransitiveDigest": "fUb5iKCtPgjhclraX+//BnJ+LOcG6I6+O9UUxT+gZ50=",
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "pypi__coverage_cp39_aarch64-apple-darwin": {
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.22.1~internal_deps~pypi__coverage_cp39_aarch64-apple-darwin",
               "build_file_content": "\nfilegroup(\n    name = \"coverage\",\n    srcs = [\"coverage/__main__.py\"],\n    data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n    visibility = [\"//visibility:public\"],\n)\n    ",
               "patch_args": [
                 "-p1"
               ],
               "patches": [
-                "@@rules_python~0.22.1//python/private:coverage.patch"
+                "@@rules_python~//python/private:coverage.patch"
               ],
               "sha256": "95203854f974e07af96358c0b261f1048d8e1083f2de9b1c565e1be4a3a48cfc",
               "type": "zip",
@@ -2847,13 +2812,12 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.22.1~internal_deps~pypi__coverage_cp38_aarch64-unknown-linux-gnu",
               "build_file_content": "\nfilegroup(\n    name = \"coverage\",\n    srcs = [\"coverage/__main__.py\"],\n    data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n    visibility = [\"//visibility:public\"],\n)\n    ",
               "patch_args": [
                 "-p1"
               ],
               "patches": [
-                "@@rules_python~0.22.1//python/private:coverage.patch"
+                "@@rules_python~//python/private:coverage.patch"
               ],
               "sha256": "6c4459b3de97b75e3bd6b7d4b7f0db13f17f504f3d13e2a7c623786289dd670e",
               "type": "zip",
@@ -2866,7 +2830,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.22.1~internal_deps~pypi__pip_tools",
               "url": "https://files.pythonhosted.org/packages/5e/e8/f6d7d1847c7351048da870417724ace5c4506e816b38db02f4d7c675c189/pip_tools-6.12.1-py3-none-any.whl",
               "sha256": "f0c0c0ec57b58250afce458e2e6058b1f30a4263db895b7d72fd6311bf1dc6f7",
               "type": "zip",
@@ -2877,13 +2840,12 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.22.1~internal_deps~pypi__coverage_cp310_x86_64-unknown-linux-gnu",
               "build_file_content": "\nfilegroup(\n    name = \"coverage\",\n    srcs = [\"coverage/__main__.py\"],\n    data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n    visibility = [\"//visibility:public\"],\n)\n    ",
               "patch_args": [
                 "-p1"
               ],
               "patches": [
-                "@@rules_python~0.22.1//python/private:coverage.patch"
+                "@@rules_python~//python/private:coverage.patch"
               ],
               "sha256": "af4fffaffc4067232253715065e30c5a7ec6faac36f8fc8d6f64263b15f74db0",
               "type": "zip",
@@ -2896,13 +2858,12 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.22.1~internal_deps~pypi__coverage_cp311_x86_64-apple-darwin",
               "build_file_content": "\nfilegroup(\n    name = \"coverage\",\n    srcs = [\"coverage/__main__.py\"],\n    data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n    visibility = [\"//visibility:public\"],\n)\n    ",
               "patch_args": [
                 "-p1"
               ],
               "patches": [
-                "@@rules_python~0.22.1//python/private:coverage.patch"
+                "@@rules_python~//python/private:coverage.patch"
               ],
               "sha256": "4a5375e28c5191ac38cca59b38edd33ef4cc914732c916f2929029b4bfb50795",
               "type": "zip",
@@ -2915,13 +2876,12 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.22.1~internal_deps~pypi__coverage_cp310_aarch64-unknown-linux-gnu",
               "build_file_content": "\nfilegroup(\n    name = \"coverage\",\n    srcs = [\"coverage/__main__.py\"],\n    data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n    visibility = [\"//visibility:public\"],\n)\n    ",
               "patch_args": [
                 "-p1"
               ],
               "patches": [
-                "@@rules_python~0.22.1//python/private:coverage.patch"
+                "@@rules_python~//python/private:coverage.patch"
               ],
               "sha256": "b4a5be1748d538a710f87542f22c2cad22f80545a847ad91ce45e77417293eb4",
               "type": "zip",
@@ -2934,13 +2894,12 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.22.1~internal_deps~pypi__coverage_cp39_aarch64-unknown-linux-gnu",
               "build_file_content": "\nfilegroup(\n    name = \"coverage\",\n    srcs = [\"coverage/__main__.py\"],\n    data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n    visibility = [\"//visibility:public\"],\n)\n    ",
               "patch_args": [
                 "-p1"
               ],
               "patches": [
-                "@@rules_python~0.22.1//python/private:coverage.patch"
+                "@@rules_python~//python/private:coverage.patch"
               ],
               "sha256": "b9023e237f4c02ff739581ef35969c3739445fb059b060ca51771e69101efffe",
               "type": "zip",
@@ -2953,13 +2912,12 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.22.1~internal_deps~pypi__coverage_cp310_aarch64-apple-darwin",
               "build_file_content": "\nfilegroup(\n    name = \"coverage\",\n    srcs = [\"coverage/__main__.py\"],\n    data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n    visibility = [\"//visibility:public\"],\n)\n    ",
               "patch_args": [
                 "-p1"
               ],
               "patches": [
-                "@@rules_python~0.22.1//python/private:coverage.patch"
+                "@@rules_python~//python/private:coverage.patch"
               ],
               "sha256": "784f53ebc9f3fd0e2a3f6a78b2be1bd1f5575d7863e10c6e12504f240fd06660",
               "type": "zip",
@@ -2972,7 +2930,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.22.1~internal_deps~pypi__pip",
               "url": "https://files.pythonhosted.org/packages/09/bd/2410905c76ee14c62baf69e3f4aa780226c1bbfc9485731ad018e35b0cb5/pip-22.3.1-py3-none-any.whl",
               "sha256": "908c78e6bc29b676ede1c4d57981d490cb892eb45cd8c214ab6298125119e077",
               "type": "zip",
@@ -2983,13 +2940,12 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.22.1~internal_deps~pypi__coverage_cp38_x86_64-apple-darwin",
               "build_file_content": "\nfilegroup(\n    name = \"coverage\",\n    srcs = [\"coverage/__main__.py\"],\n    data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n    visibility = [\"//visibility:public\"],\n)\n    ",
               "patch_args": [
                 "-p1"
               ],
               "patches": [
-                "@@rules_python~0.22.1//python/private:coverage.patch"
+                "@@rules_python~//python/private:coverage.patch"
               ],
               "sha256": "d900bb429fdfd7f511f868cedd03a6bbb142f3f9118c09b99ef8dc9bf9643c3c",
               "type": "zip",
@@ -3002,13 +2958,12 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.22.1~internal_deps~pypi__coverage_cp311_x86_64-unknown-linux-gnu",
               "build_file_content": "\nfilegroup(\n    name = \"coverage\",\n    srcs = [\"coverage/__main__.py\"],\n    data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n    visibility = [\"//visibility:public\"],\n)\n    ",
               "patch_args": [
                 "-p1"
               ],
               "patches": [
-                "@@rules_python~0.22.1//python/private:coverage.patch"
+                "@@rules_python~//python/private:coverage.patch"
               ],
               "sha256": "a8fb6cf131ac4070c9c5a3e21de0f7dc5a0fbe8bc77c9456ced896c12fcdad91",
               "type": "zip",
@@ -3021,7 +2976,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.22.1~internal_deps~pypi__tomli",
               "url": "https://files.pythonhosted.org/packages/97/75/10a9ebee3fd790d20926a90a2547f0bf78f371b2f13aa822c759680ca7b9/tomli-2.0.1-py3-none-any.whl",
               "sha256": "939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc",
               "type": "zip",
@@ -3032,13 +2986,12 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.22.1~internal_deps~pypi__coverage_cp39_x86_64-apple-darwin",
               "build_file_content": "\nfilegroup(\n    name = \"coverage\",\n    srcs = [\"coverage/__main__.py\"],\n    data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n    visibility = [\"//visibility:public\"],\n)\n    ",
               "patch_args": [
                 "-p1"
               ],
               "patches": [
-                "@@rules_python~0.22.1//python/private:coverage.patch"
+                "@@rules_python~//python/private:coverage.patch"
               ],
               "sha256": "633713d70ad6bfc49b34ead4060531658dc6dfc9b3eb7d8a716d5873377ab745",
               "type": "zip",
@@ -3051,7 +3004,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.22.1~internal_deps~pypi__wheel",
               "url": "https://files.pythonhosted.org/packages/bd/7c/d38a0b30ce22fc26ed7dbc087c6d00851fb3395e9d0dac40bec1f905030c/wheel-0.38.4-py3-none-any.whl",
               "sha256": "b60533f3f5d530e971d6737ca6d58681ee434818fab630c83a734bb10c083ce8",
               "type": "zip",
@@ -3062,13 +3014,12 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.22.1~internal_deps~pypi__coverage_cp311_aarch64-unknown-linux-gnu",
               "build_file_content": "\nfilegroup(\n    name = \"coverage\",\n    srcs = [\"coverage/__main__.py\"],\n    data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n    visibility = [\"//visibility:public\"],\n)\n    ",
               "patch_args": [
                 "-p1"
               ],
               "patches": [
-                "@@rules_python~0.22.1//python/private:coverage.patch"
+                "@@rules_python~//python/private:coverage.patch"
               ],
               "sha256": "c4ed2820d919351f4167e52425e096af41bfabacb1857186c1ea32ff9983ed75",
               "type": "zip",
@@ -3081,7 +3032,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.22.1~internal_deps~pypi__click",
               "url": "https://files.pythonhosted.org/packages/76/0a/b6c5f311e32aeb3b406e03c079ade51e905ea630fc19d1262a46249c1c86/click-8.0.1-py3-none-any.whl",
               "sha256": "fba402a4a47334742d782209a7c79bc448911afe1149d07bdabdf480b3e2f4b6",
               "type": "zip",
@@ -3092,13 +3042,12 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.22.1~internal_deps~pypi__coverage_cp39_x86_64-unknown-linux-gnu",
               "build_file_content": "\nfilegroup(\n    name = \"coverage\",\n    srcs = [\"coverage/__main__.py\"],\n    data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n    visibility = [\"//visibility:public\"],\n)\n    ",
               "patch_args": [
                 "-p1"
               ],
               "patches": [
-                "@@rules_python~0.22.1//python/private:coverage.patch"
+                "@@rules_python~//python/private:coverage.patch"
               ],
               "sha256": "8f830ed581b45b82451a40faabb89c84e1a998124ee4212d440e9c6cf70083e5",
               "type": "zip",
@@ -3111,7 +3060,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.22.1~internal_deps~pypi__importlib_metadata",
               "url": "https://files.pythonhosted.org/packages/d7/31/74dcb59a601b95fce3b0334e8fc9db758f78e43075f22aeb3677dfb19f4c/importlib_metadata-1.4.0-py2.py3-none-any.whl",
               "sha256": "bdd9b7c397c273bcc9a11d6629a38487cd07154fa255a467bf704cd2c258e359",
               "type": "zip",
@@ -3122,7 +3070,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.22.1~internal_deps~pypi__pep517",
               "url": "https://files.pythonhosted.org/packages/ee/2f/ef63e64e9429111e73d3d6cbee80591672d16f2725e648ebc52096f3d323/pep517-0.13.0-py3-none-any.whl",
               "sha256": "4ba4446d80aed5b5eac6509ade100bff3e7943a8489de249654a5ae9b33ee35b",
               "type": "zip",
@@ -3133,13 +3080,12 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.22.1~internal_deps~pypi__coverage_cp38_x86_64-unknown-linux-gnu",
               "build_file_content": "\nfilegroup(\n    name = \"coverage\",\n    srcs = [\"coverage/__main__.py\"],\n    data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n    visibility = [\"//visibility:public\"],\n)\n    ",
               "patch_args": [
                 "-p1"
               ],
               "patches": [
-                "@@rules_python~0.22.1//python/private:coverage.patch"
+                "@@rules_python~//python/private:coverage.patch"
               ],
               "sha256": "6b07130585d54fe8dff3d97b93b0e20290de974dc8177c320aeaf23459219c0b",
               "type": "zip",
@@ -3152,13 +3098,12 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.22.1~internal_deps~pypi__coverage_cp38_aarch64-apple-darwin",
               "build_file_content": "\nfilegroup(\n    name = \"coverage\",\n    srcs = [\"coverage/__main__.py\"],\n    data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n    visibility = [\"//visibility:public\"],\n)\n    ",
               "patch_args": [
                 "-p1"
               ],
               "patches": [
-                "@@rules_python~0.22.1//python/private:coverage.patch"
+                "@@rules_python~//python/private:coverage.patch"
               ],
               "sha256": "2198ea6fc548de52adc826f62cb18554caedfb1d26548c1b7c88d8f7faa8f6ba",
               "type": "zip",
@@ -3171,7 +3116,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.22.1~internal_deps~pypi__packaging",
               "url": "https://files.pythonhosted.org/packages/8f/7b/42582927d281d7cb035609cd3a543ffac89b74f3f4ee8e1c50914bcb57eb/packaging-22.0-py3-none-any.whl",
               "sha256": "957e2148ba0e1a3b282772e791ef1d8083648bc131c8ab0c1feba110ce1146c3",
               "type": "zip",
@@ -3182,7 +3126,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.22.1~internal_deps~pypi__setuptools",
               "url": "https://files.pythonhosted.org/packages/7c/5b/3d92b9f0f7ca1645cba48c080b54fe7d8b1033a4e5720091d1631c4266db/setuptools-60.10.0-py3-none-any.whl",
               "sha256": "782ef48d58982ddb49920c11a0c5c9c0b02e7d7d1c2ad0aa44e1a1e133051c96",
               "type": "zip",
@@ -3193,7 +3136,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.22.1~internal_deps~pypi__zipp",
               "url": "https://files.pythonhosted.org/packages/f4/50/cc72c5bcd48f6e98219fc4a88a5227e9e28b81637a99c49feba1d51f4d50/zipp-1.0.0-py2.py3-none-any.whl",
               "sha256": "8dda78f06bd1674bd8720df8a50bb47b6e1233c503a4eed8e7810686bde37656",
               "type": "zip",
@@ -3204,7 +3146,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.22.1~internal_deps~pypi__colorama",
               "url": "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl",
               "sha256": "4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6",
               "type": "zip",
@@ -3215,7 +3156,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.22.1~internal_deps~pypi__build",
               "url": "https://files.pythonhosted.org/packages/03/97/f58c723ff036a8d8b4d3115377c0a37ed05c1f68dd9a0d66dab5e82c5c1c/build-0.9.0-py3-none-any.whl",
               "sha256": "38a7a2b7a0bdc61a42a0a67509d88c71ecfc37b393baba770fae34e20929ff69",
               "type": "zip",
@@ -3226,13 +3166,12 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.22.1~internal_deps~pypi__coverage_cp310_x86_64-apple-darwin",
               "build_file_content": "\nfilegroup(\n    name = \"coverage\",\n    srcs = [\"coverage/__main__.py\"],\n    data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n    visibility = [\"//visibility:public\"],\n)\n    ",
               "patch_args": [
                 "-p1"
               ],
               "patches": [
-                "@@rules_python~0.22.1//python/private:coverage.patch"
+                "@@rules_python~//python/private:coverage.patch"
               ],
               "sha256": "ef8674b0ee8cc11e2d574e3e2998aea5df5ab242e012286824ea3c6970580e53",
               "type": "zip",
@@ -3245,7 +3184,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.22.1~internal_deps~pypi__installer",
               "url": "https://files.pythonhosted.org/packages/e5/ca/1172b6638d52f2d6caa2dd262ec4c811ba59eee96d54a7701930726bce18/installer-0.7.0-py3-none-any.whl",
               "sha256": "05d1933f0a5ba7d8d6296bb6d5018e7c94fa473ceb10cf198a92ccea19c27b53",
               "type": "zip",
@@ -3256,7 +3194,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.22.1~internal_deps~pypi__more_itertools",
               "url": "https://files.pythonhosted.org/packages/bd/3f/c4b3dbd315e248f84c388bd4a72b131a29f123ecacc37ffb2b3834546e42/more_itertools-8.13.0-py3-none-any.whl",
               "sha256": "c5122bffc5f104d37c1626b8615b511f3427aa5389b94d61e5ef8236bfbc3ddb",
               "type": "zip",
@@ -3266,19 +3203,19 @@
         },
         "recordedRepoMappingEntries": [
           [
-            "rules_python~0.22.1",
+            "rules_python~",
             "bazel_skylib",
-            "bazel_skylib~1.3.0"
+            "bazel_skylib~"
           ],
           [
-            "rules_python~0.22.1",
+            "rules_python~",
             "bazel_tools",
             "bazel_tools"
           ],
           [
-            "rules_python~0.22.1",
+            "rules_python~",
             "rules_python",
-            "rules_python~0.22.1"
+            "rules_python~"
           ]
         ]
       }
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_7/default.nix b/pkgs/development/tools/build-managers/bazel/bazel_7/default.nix
index 92f4a52e028ac..ee622ca65cd77 100644
--- a/pkgs/development/tools/build-managers/bazel/bazel_7/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/bazel_7/default.nix
@@ -43,7 +43,7 @@
   # Always assume all markers valid (this is needed because we remove markers; they are non-deterministic).
   # Also, don't clean up environment variables (so that NIX_ environment variables are passed to compilers).
 , enableNixHacks ? false
-, version ? "7.0.2",
+, version ? "7.1.0",
 }:
 
 let
@@ -51,7 +51,7 @@ let
 
   src = fetchurl {
     url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel-${version}-dist.zip";
-    hash = "sha256-3qK5BXXUPvPkHEAvZMJIGETsvwtA+FSLdaIEpNUE4DU=";
+    hash = "sha256-HiDQyJ98nRtKOBqMWGtKQ1qWv8Qfu880osKUlOs4Z6E=";
   };
 
   # Use builtins.fetchurl to avoid IFD, in particular on hydra
@@ -213,7 +213,7 @@ stdenv.mkDerivation rec {
     #
     # See also ./bazel_darwin_sandbox.patch in bazel_5. That patch uses
     # NIX_BUILD_TOP env var to conditionnally disable sleep features inside the
-    # sandbox. Oddly, bazel_6 does not need that patch :-/.
+    # sandbox.
     #
     # If you want to investigate the sandbox profile path,
     # IORegisterForSystemPower can be allowed with
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_7/nix-hacks.patch b/pkgs/development/tools/build-managers/bazel/bazel_7/nix-hacks.patch
index 3c3fc57e0fc00..07fd098b80434 100644
--- a/pkgs/development/tools/build-managers/bazel/bazel_7/nix-hacks.patch
+++ b/pkgs/development/tools/build-managers/bazel/bazel_7/nix-hacks.patch
@@ -1,25 +1,29 @@
 diff --git a/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java b/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java
-index 845c8b6aa3..6f07298bd0 100644
+index 4d8c46f8d5..ed311226f0 100644
 --- a/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java
 +++ b/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java
-@@ -171,14 +171,8 @@ public final class RepositoryDelegatorFunction implements SkyFunction {
- 
-     DigestWriter digestWriter = new DigestWriter(directories, repositoryName, rule);
-     if (shouldUseCachedRepos(env, handler, repoRoot, rule)) {
--      // Make sure marker file is up-to-date; correctly describes the current repository state
--      byte[] markerHash = digestWriter.areRepositoryAndMarkerFileConsistent(handler, env);
--      if (env.valuesMissing()) {
--        return null;
--      }
--      if (markerHash != null) {
--        return RepositoryDirectoryValue.builder().setPath(repoRoot).setDigest(markerHash).build();
--      }
-+      // Nix hack: Always consider cached dirs as up-to-date
-+      return RepositoryDirectoryValue.builder().setPath(repoRoot).setDigest(digestWriter.writeMarkerFile()).build();
-     }
+@@ -178,18 +178,8 @@ public final class RepositoryDelegatorFunction implements SkyFunction {
+         }
+       }
+       if (shouldUseCachedRepos(env, handler, repoRoot, rule)) {
+-        // Make sure marker file is up-to-date; correctly describes the current repository state
+-        byte[] markerHash = digestWriter.areRepositoryAndMarkerFileConsistent(handler, env);
+-        if (env.valuesMissing()) {
+-          return null;
+-        }
+-        if (markerHash != null) { // repo exist & up-to-date
+-          return RepositoryDirectoryValue.builder()
+-              .setPath(repoRoot)
+-              .setDigest(markerHash)
+-              .setExcludeFromVendoring(shouldExcludeRepoFromVendoring(handler, rule))
+-              .build();
+-        }
++        // Nix hack: Always consider cached dirs as up-to-date
++        return RepositoryDirectoryValue.builder().setPath(repoRoot).setDigest(digestWriter.writeMarkerFile()).build();
+       }
  
-     /* At this point: This is a force fetch, a local repository, OR The repository cache is old or
-@@ -512,11 +506,12 @@ public final class RepositoryDelegatorFunction implements SkyFunction {
+       /* At this point: This is a force fetch, a local repository, OR The repository cache is old or
+@@ -610,11 +600,12 @@ public final class RepositoryDelegatorFunction implements SkyFunction {
          builder.append(escape(key)).append(" ").append(escape(value)).append("\n");
        }
        String content = builder.toString();
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_7/protobuf-test.MODULE.bazel.lock b/pkgs/development/tools/build-managers/bazel/bazel_7/protobuf-test.MODULE.bazel.lock
index 6ceb818302188..4112726ac2cd2 100644
--- a/pkgs/development/tools/build-managers/bazel/bazel_7/protobuf-test.MODULE.bazel.lock
+++ b/pkgs/development/tools/build-managers/bazel/bazel_7/protobuf-test.MODULE.bazel.lock
@@ -1,5 +1,5 @@
 {
-  "lockFileVersion": 3,
+  "lockFileVersion": 6,
   "moduleFileHash": "80605390be5478a274618e3f8fd7c7a7e1ce3036e086e1e1593ceba1b132b7f2",
   "flags": {
     "cmdRegistries": [
@@ -13,7 +13,7 @@
     "compatibilityMode": "ERROR"
   },
   "localOverrideHashes": {
-    "bazel_tools": "922ea6752dc9105de5af957f7a99a6933c0a6a712d23df6aad16a9c399f7e787"
+    "bazel_tools": "1ae69322ac3823527337acf02016e8ee95813d8d356f47060255b8956fa642f0"
   },
   "moduleDepGraph": {
     "<root>": {
@@ -48,10 +48,9 @@
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "rules_proto~5.3.0-21.7",
           "urls": [
             "https://github.com/bazelbuild/rules_proto/archive/refs/tags/5.3.0-21.7.tar.gz"
           ],
@@ -114,10 +113,10 @@
       ],
       "deps": {
         "bazel_skylib": "bazel_skylib@1.3.0",
-        "rules_python": "rules_python@0.10.2",
+        "rules_python": "rules_python@0.22.1",
         "rules_cc": "rules_cc@0.0.9",
         "rules_proto": "rules_proto@5.3.0-21.7",
-        "rules_java": "rules_java@7.1.0",
+        "rules_java": "rules_java@7.4.0",
         "rules_pkg": "rules_pkg@0.7.0",
         "com_google_abseil": "abseil-cpp@20211102.0",
         "zlib": "zlib@1.3",
@@ -128,10 +127,9 @@
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "protobuf~21.7",
           "urls": [
             "https://github.com/protocolbuffers/protobuf/releases/download/v21.7/protobuf-all-21.7.zip"
           ],
@@ -162,10 +160,9 @@
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "zlib~1.3",
           "urls": [
             "https://github.com/madler/zlib/releases/download/v1.3/zlib-1.3.tar.gz"
           ],
@@ -196,7 +193,7 @@
           "usingModule": "bazel_tools@_",
           "location": {
             "file": "@@bazel_tools//:MODULE.bazel",
-            "line": 17,
+            "line": 18,
             "column": 29
           },
           "imports": {
@@ -214,7 +211,7 @@
           "usingModule": "bazel_tools@_",
           "location": {
             "file": "@@bazel_tools//:MODULE.bazel",
-            "line": 21,
+            "line": 22,
             "column": 32
           },
           "imports": {
@@ -231,7 +228,7 @@
           "usingModule": "bazel_tools@_",
           "location": {
             "file": "@@bazel_tools//:MODULE.bazel",
-            "line": 24,
+            "line": 25,
             "column": 32
           },
           "imports": {
@@ -253,7 +250,7 @@
           "usingModule": "bazel_tools@_",
           "location": {
             "file": "@@bazel_tools//:MODULE.bazel",
-            "line": 35,
+            "line": 36,
             "column": 39
           },
           "imports": {
@@ -270,7 +267,7 @@
           "usingModule": "bazel_tools@_",
           "location": {
             "file": "@@bazel_tools//:MODULE.bazel",
-            "line": 39,
+            "line": 40,
             "column": 48
           },
           "imports": {
@@ -287,7 +284,7 @@
           "usingModule": "bazel_tools@_",
           "location": {
             "file": "@@bazel_tools//:MODULE.bazel",
-            "line": 42,
+            "line": 43,
             "column": 42
           },
           "imports": {
@@ -298,14 +295,32 @@
           "tags": [],
           "hasDevUseExtension": false,
           "hasNonDevUseExtension": true
+        },
+        {
+          "extensionBzlFile": "@buildozer//:buildozer_binary.bzl",
+          "extensionName": "buildozer_binary",
+          "usingModule": "bazel_tools@_",
+          "location": {
+            "file": "@@bazel_tools//:MODULE.bazel",
+            "line": 47,
+            "column": 33
+          },
+          "imports": {
+            "buildozer_binary": "buildozer_binary"
+          },
+          "devImports": [],
+          "tags": [],
+          "hasDevUseExtension": false,
+          "hasNonDevUseExtension": true
         }
       ],
       "deps": {
         "rules_cc": "rules_cc@0.0.9",
-        "rules_java": "rules_java@7.1.0",
+        "rules_java": "rules_java@7.4.0",
         "rules_license": "rules_license@0.0.7",
         "rules_proto": "rules_proto@5.3.0-21.7",
-        "rules_python": "rules_python@0.10.2",
+        "rules_python": "rules_python@0.22.1",
+        "buildozer": "buildozer@6.4.0.2",
         "platforms": "platforms@0.0.7",
         "com_google_protobuf": "protobuf@21.7",
         "zlib": "zlib@1.3",
@@ -343,10 +358,9 @@
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "bazel_skylib~1.3.0",
           "urls": [
             "https://github.com/bazelbuild/bazel-skylib/releases/download/1.3.0/bazel-skylib-1.3.0.tar.gz"
           ],
@@ -391,10 +405,9 @@
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "rules_cc~0.0.9",
           "urls": [
             "https://github.com/bazelbuild/rules_cc/releases/download/0.0.9/rules_cc-0.0.9.tar.gz"
           ],
@@ -407,10 +420,10 @@
         }
       }
     },
-    "rules_python@0.10.2": {
+    "rules_python@0.22.1": {
       "name": "rules_python",
-      "version": "0.10.2",
-      "key": "rules_python@0.10.2",
+      "version": "0.22.1",
+      "key": "rules_python@0.22.1",
       "repoName": "rules_python",
       "executionPlatformsToRegister": [],
       "toolchainsToRegister": [
@@ -418,24 +431,72 @@
       ],
       "extensionUsages": [
         {
-          "extensionBzlFile": "@rules_python//python:extensions.bzl",
-          "extensionName": "pip_install",
-          "usingModule": "rules_python@0.10.2",
+          "extensionBzlFile": "@rules_python//python/extensions/private:internal_deps.bzl",
+          "extensionName": "internal_deps",
+          "usingModule": "rules_python@0.22.1",
           "location": {
-            "file": "https://bcr.bazel.build/modules/rules_python/0.10.2/MODULE.bazel",
-            "line": 7,
-            "column": 28
+            "file": "https://bcr.bazel.build/modules/rules_python/0.22.1/MODULE.bazel",
+            "line": 14,
+            "column": 30
           },
           "imports": {
+            "pypi__build": "pypi__build",
             "pypi__click": "pypi__click",
             "pypi__colorama": "pypi__colorama",
+            "pypi__importlib_metadata": "pypi__importlib_metadata",
             "pypi__installer": "pypi__installer",
+            "pypi__more_itertools": "pypi__more_itertools",
+            "pypi__packaging": "pypi__packaging",
             "pypi__pep517": "pypi__pep517",
             "pypi__pip": "pypi__pip",
             "pypi__pip_tools": "pypi__pip_tools",
             "pypi__setuptools": "pypi__setuptools",
             "pypi__tomli": "pypi__tomli",
-            "pypi__wheel": "pypi__wheel"
+            "pypi__wheel": "pypi__wheel",
+            "pypi__zipp": "pypi__zipp",
+            "pypi__coverage_cp310_aarch64-apple-darwin": "pypi__coverage_cp310_aarch64-apple-darwin",
+            "pypi__coverage_cp310_aarch64-unknown-linux-gnu": "pypi__coverage_cp310_aarch64-unknown-linux-gnu",
+            "pypi__coverage_cp310_x86_64-apple-darwin": "pypi__coverage_cp310_x86_64-apple-darwin",
+            "pypi__coverage_cp310_x86_64-unknown-linux-gnu": "pypi__coverage_cp310_x86_64-unknown-linux-gnu",
+            "pypi__coverage_cp311_aarch64-unknown-linux-gnu": "pypi__coverage_cp311_aarch64-unknown-linux-gnu",
+            "pypi__coverage_cp311_x86_64-apple-darwin": "pypi__coverage_cp311_x86_64-apple-darwin",
+            "pypi__coverage_cp311_x86_64-unknown-linux-gnu": "pypi__coverage_cp311_x86_64-unknown-linux-gnu",
+            "pypi__coverage_cp38_aarch64-apple-darwin": "pypi__coverage_cp38_aarch64-apple-darwin",
+            "pypi__coverage_cp38_aarch64-unknown-linux-gnu": "pypi__coverage_cp38_aarch64-unknown-linux-gnu",
+            "pypi__coverage_cp38_x86_64-apple-darwin": "pypi__coverage_cp38_x86_64-apple-darwin",
+            "pypi__coverage_cp38_x86_64-unknown-linux-gnu": "pypi__coverage_cp38_x86_64-unknown-linux-gnu",
+            "pypi__coverage_cp39_aarch64-apple-darwin": "pypi__coverage_cp39_aarch64-apple-darwin",
+            "pypi__coverage_cp39_aarch64-unknown-linux-gnu": "pypi__coverage_cp39_aarch64-unknown-linux-gnu",
+            "pypi__coverage_cp39_x86_64-apple-darwin": "pypi__coverage_cp39_x86_64-apple-darwin",
+            "pypi__coverage_cp39_x86_64-unknown-linux-gnu": "pypi__coverage_cp39_x86_64-unknown-linux-gnu"
+          },
+          "devImports": [],
+          "tags": [
+            {
+              "tagName": "install",
+              "attributeValues": {},
+              "devDependency": false,
+              "location": {
+                "file": "https://bcr.bazel.build/modules/rules_python/0.22.1/MODULE.bazel",
+                "line": 15,
+                "column": 22
+              }
+            }
+          ],
+          "hasDevUseExtension": false,
+          "hasNonDevUseExtension": true
+        },
+        {
+          "extensionBzlFile": "@rules_python//python/extensions:python.bzl",
+          "extensionName": "python",
+          "usingModule": "rules_python@0.22.1",
+          "location": {
+            "file": "https://bcr.bazel.build/modules/rules_python/0.22.1/MODULE.bazel",
+            "line": 50,
+            "column": 23
+          },
+          "imports": {
+            "pythons_hub": "pythons_hub"
           },
           "devImports": [],
           "tags": [],
@@ -444,30 +505,33 @@
         }
       ],
       "deps": {
+        "platforms": "platforms@0.0.7",
+        "bazel_skylib": "bazel_skylib@1.3.0",
+        "rules_proto": "rules_proto@5.3.0-21.7",
+        "com_google_protobuf": "protobuf@21.7",
         "bazel_tools": "bazel_tools@_",
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "rules_python~0.10.2",
           "urls": [
-            "https://github.com/bazelbuild/rules_python/archive/refs/tags/0.10.2.tar.gz"
+            "https://github.com/bazelbuild/rules_python/releases/download/0.22.1/rules_python-0.22.1.tar.gz"
           ],
-          "integrity": "sha256-o6bpn0l74In4HsCCiC5AJGv9Q19S9OgvN+iUSbBFc/Y=",
-          "strip_prefix": "rules_python-0.10.2",
+          "integrity": "sha256-pWQP3dS+sD6MH95e1xYMC6a9R359BIZhwwwGk2om/WM=",
+          "strip_prefix": "rules_python-0.22.1",
           "remote_patches": {
-            "https://bcr.bazel.build/modules/rules_python/0.10.2/patches/module_dot_bazel.patch": "sha256-TScILAmXmmMtjJIwhLrgNZgqGPs6G3OAzXaLXLDNFrA="
+            "https://bcr.bazel.build/modules/rules_python/0.22.1/patches/module_dot_bazel_version.patch": "sha256-3+VLDH9gYDzNI4eOW7mABC/LKxh1xqF6NhacLbNTucs="
           },
-          "remote_patch_strip": 0
+          "remote_patch_strip": 1
         }
       }
     },
-    "rules_java@7.1.0": {
+    "rules_java@7.4.0": {
       "name": "rules_java",
-      "version": "7.1.0",
-      "key": "rules_java@7.1.0",
+      "version": "7.4.0",
+      "key": "rules_java@7.4.0",
       "repoName": "rules_java",
       "executionPlatformsToRegister": [],
       "toolchainsToRegister": [
@@ -500,9 +564,9 @@
         {
           "extensionBzlFile": "@rules_java//java:extensions.bzl",
           "extensionName": "toolchains",
-          "usingModule": "rules_java@7.1.0",
+          "usingModule": "rules_java@7.4.0",
           "location": {
-            "file": "https://bcr.bazel.build/modules/rules_java/7.1.0/MODULE.bazel",
+            "file": "https://bcr.bazel.build/modules/rules_java/7.4.0/MODULE.bazel",
             "line": 19,
             "column": 27
           },
@@ -551,14 +615,13 @@
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "rules_java~7.1.0",
           "urls": [
-            "https://github.com/bazelbuild/rules_java/releases/download/7.1.0/rules_java-7.1.0.tar.gz"
+            "https://github.com/bazelbuild/rules_java/releases/download/7.4.0/rules_java-7.4.0.tar.gz"
           ],
-          "integrity": "sha256-o3pOX2OrgnFuXdau75iO2EYcegC46TYnImKJn1h81OE=",
+          "integrity": "sha256-l27wi0nJKXQfIBeQ5Z44B8cq2B9CjIvJU82+/1/tFes=",
           "strip_prefix": "",
           "remote_patches": {},
           "remote_patch_strip": 0
@@ -574,17 +637,16 @@
       "toolchainsToRegister": [],
       "extensionUsages": [],
       "deps": {
-        "rules_python": "rules_python@0.10.2",
+        "rules_python": "rules_python@0.22.1",
         "bazel_skylib": "bazel_skylib@1.3.0",
         "rules_license": "rules_license@0.0.7",
         "bazel_tools": "bazel_tools@_",
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "rules_pkg~0.7.0",
           "urls": [
             "https://github.com/bazelbuild/rules_pkg/releases/download/0.7.0/rules_pkg-0.7.0.tar.gz"
           ],
@@ -612,10 +674,9 @@
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "abseil-cpp~20211102.0",
           "urls": [
             "https://github.com/abseil/abseil-cpp/archive/refs/tags/20211102.0.tar.gz"
           ],
@@ -646,10 +707,9 @@
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "upb~0.0.0-20220923-a547704",
           "urls": [
             "https://github.com/protocolbuffers/upb/archive/a5477045acaa34586420942098f5fecd3570f577.tar.gz"
           ],
@@ -688,7 +748,7 @@
           "hasNonDevUseExtension": true
         },
         {
-          "extensionBzlFile": ":extensions.bzl",
+          "extensionBzlFile": "@rules_jvm_external//:extensions.bzl",
           "extensionName": "maven",
           "usingModule": "rules_jvm_external@4.4.2",
           "location": {
@@ -733,10 +793,9 @@
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "rules_jvm_external~4.4.2",
           "urls": [
             "https://github.com/bazelbuild/rules_jvm_external/archive/refs/tags/4.4.2.zip"
           ],
@@ -763,10 +822,9 @@
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "googletest~1.11.0",
           "urls": [
             "https://github.com/google/googletest/archive/refs/tags/release-1.11.0.tar.gz"
           ],
@@ -793,10 +851,9 @@
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "platforms",
           "urls": [
             "https://github.com/bazelbuild/platforms/releases/download/0.0.7/platforms-0.0.7.tar.gz"
           ],
@@ -820,10 +877,9 @@
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "rules_license~0.0.7",
           "urls": [
             "https://github.com/bazelbuild/rules_license/releases/download/0.0.7/rules_license-0.0.7.tar.gz"
           ],
@@ -834,6 +890,72 @@
         }
       }
     },
+    "buildozer@6.4.0.2": {
+      "name": "buildozer",
+      "version": "6.4.0.2",
+      "key": "buildozer@6.4.0.2",
+      "repoName": "buildozer",
+      "executionPlatformsToRegister": [],
+      "toolchainsToRegister": [],
+      "extensionUsages": [
+        {
+          "extensionBzlFile": "@buildozer//:buildozer_binary.bzl",
+          "extensionName": "buildozer_binary",
+          "usingModule": "buildozer@6.4.0.2",
+          "location": {
+            "file": "https://bcr.bazel.build/modules/buildozer/6.4.0.2/MODULE.bazel",
+            "line": 7,
+            "column": 33
+          },
+          "imports": {
+            "buildozer_binary": "buildozer_binary"
+          },
+          "devImports": [],
+          "tags": [
+            {
+              "tagName": "buildozer",
+              "attributeValues": {
+                "sha256": {
+                  "darwin-amd64": "d29e347ecd6b5673d72cb1a8de05bf1b06178dd229ff5eb67fad5100c840cc8e",
+                  "darwin-arm64": "9b9e71bdbec5e7223871e913b65d12f6d8fa026684daf991f00e52ed36a6978d",
+                  "linux-amd64": "8dfd6345da4e9042daa738d7fdf34f699c5dfce4632f7207956fceedd8494119",
+                  "linux-arm64": "6559558fded658c8fa7432a9d011f7c4dcbac6b738feae73d2d5c352e5f605fa",
+                  "windows-amd64": "e7f05bf847f7c3689dd28926460ce6e1097ae97380ac8e6ae7147b7b706ba19b"
+                },
+                "version": "6.4.0"
+              },
+              "devDependency": false,
+              "location": {
+                "file": "https://bcr.bazel.build/modules/buildozer/6.4.0.2/MODULE.bazel",
+                "line": 8,
+                "column": 27
+              }
+            }
+          ],
+          "hasDevUseExtension": false,
+          "hasNonDevUseExtension": true
+        }
+      ],
+      "deps": {
+        "bazel_tools": "bazel_tools@_",
+        "local_config_platform": "local_config_platform@_"
+      },
+      "repoSpec": {
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+        "ruleClassName": "http_archive",
+        "attributes": {
+          "urls": [
+            "https://github.com/fmeum/buildozer/releases/download/v6.4.0.2/buildozer-v6.4.0.2.tar.gz"
+          ],
+          "integrity": "sha256-k7tFKQMR2AygxpmZfH0yEPnQmF3efFgD9rBPkj+Yz/8=",
+          "strip_prefix": "buildozer-6.4.0.2",
+          "remote_patches": {
+            "https://bcr.bazel.build/modules/buildozer/6.4.0.2/patches/module_dot_bazel_version.patch": "sha256-gKANF2HMilj7bWmuXs4lbBIAAansuWC4IhWGB/CerjU="
+          },
+          "remote_patch_strip": 1
+        }
+      }
+    },
     "apple_support@1.5.0": {
       "name": "apple_support",
       "version": "1.5.0",
@@ -870,10 +992,9 @@
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "apple_support~1.5.0",
           "urls": [
             "https://github.com/bazelbuild/apple_support/releases/download/1.5.0/apple_support.1.5.0.tar.gz"
           ],
@@ -894,15 +1015,14 @@
       "extensionUsages": [],
       "deps": {
         "bazel_skylib": "bazel_skylib@1.3.0",
-        "rules_java": "rules_java@7.1.0",
+        "rules_java": "rules_java@7.4.0",
         "bazel_tools": "bazel_tools@_",
         "local_config_platform": "local_config_platform@_"
       },
       "repoSpec": {
-        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "stardoc~0.5.1",
           "urls": [
             "https://github.com/bazelbuild/stardoc/releases/download/0.5.1/stardoc-0.5.1.tar.gz"
           ],
@@ -917,30 +1037,27 @@
     }
   },
   "moduleExtensions": {
-    "@@apple_support~1.5.0//crosstool:setup.bzl%apple_cc_configure_extension": {
+    "@@apple_support~//crosstool:setup.bzl%apple_cc_configure_extension": {
       "general": {
         "bzlTransitiveDigest": "pMLFCYaRPkgXPQ8vtuNkMfiHfPmRBy6QJfnid4sWfv0=",
-        "accumulatedFileDigests": {},
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "local_config_apple_cc": {
-            "bzlFile": "@@apple_support~1.5.0//crosstool:setup.bzl",
+            "bzlFile": "@@apple_support~//crosstool:setup.bzl",
             "ruleClassName": "_apple_cc_autoconf",
-            "attributes": {
-              "name": "apple_support~1.5.0~apple_cc_configure_extension~local_config_apple_cc"
-            }
+            "attributes": {}
           },
           "local_config_apple_cc_toolchains": {
-            "bzlFile": "@@apple_support~1.5.0//crosstool:setup.bzl",
+            "bzlFile": "@@apple_support~//crosstool:setup.bzl",
             "ruleClassName": "_apple_cc_autoconf_toolchains",
-            "attributes": {
-              "name": "apple_support~1.5.0~apple_cc_configure_extension~local_config_apple_cc_toolchains"
-            }
+            "attributes": {}
           }
         },
         "recordedRepoMappingEntries": [
           [
-            "apple_support~1.5.0",
+            "apple_support~",
             "bazel_tools",
             "bazel_tools"
           ]
@@ -949,15 +1066,15 @@
     },
     "@@bazel_tools//tools/android:android_extensions.bzl%remote_android_tools_extensions": {
       "general": {
-        "bzlTransitiveDigest": "4x/FXzwoadac6uV9ItZ4eGOyCculGHHrKUhLFNWo3lA=",
-        "accumulatedFileDigests": {},
+        "bzlTransitiveDigest": "S0n86BFe4SJ3lRaZiRA5D46oH52UO2hP1T50t/zldOw=",
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "android_tools": {
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "bazel_tools~remote_android_tools_extensions~android_tools",
               "sha256": "2b661a761a735b41c41b3a78089f4fc1982626c76ddb944604ae3ff8c545d3c2",
               "url": "https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.30.0.tar"
             }
@@ -966,7 +1083,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_jar",
             "attributes": {
-              "name": "bazel_tools~remote_android_tools_extensions~android_gmaven_r8",
               "sha256": "57a696749695a09381a87bc2f08c3a8ed06a717a5caa3ef878a3077e0d3af19d",
               "url": "https://maven.google.com/com/android/tools/r8/8.1.56/r8-8.1.56.jar"
             }
@@ -977,23 +1093,20 @@
     },
     "@@bazel_tools//tools/cpp:cc_configure.bzl%cc_configure_extension": {
       "general": {
-        "bzlTransitiveDigest": "mcsWHq3xORJexV5/4eCvNOLxFOQKV6eli3fkr+tEaqE=",
-        "accumulatedFileDigests": {},
+        "bzlTransitiveDigest": "PHpT2yqMGms2U4L3E/aZ+WcQalmZWm+ILdP3yiLsDhA=",
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "local_config_cc": {
             "bzlFile": "@@bazel_tools//tools/cpp:cc_configure.bzl",
             "ruleClassName": "cc_autoconf",
-            "attributes": {
-              "name": "bazel_tools~cc_configure_extension~local_config_cc"
-            }
+            "attributes": {}
           },
           "local_config_cc_toolchains": {
             "bzlFile": "@@bazel_tools//tools/cpp:cc_configure.bzl",
             "ruleClassName": "cc_autoconf_toolchains",
-            "attributes": {
-              "name": "bazel_tools~cc_configure_extension~local_config_cc_toolchains"
-            }
+            "attributes": {}
           }
         },
         "recordedRepoMappingEntries": [
@@ -1008,14 +1121,14 @@
     "@@bazel_tools//tools/osx:xcode_configure.bzl%xcode_configure_extension": {
       "general": {
         "bzlTransitiveDigest": "Qh2bWTU6QW6wkrd87qrU4YeY+SG37Nvw3A0PR4Y0L2Y=",
-        "accumulatedFileDigests": {},
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "local_config_xcode": {
             "bzlFile": "@@bazel_tools//tools/osx:xcode_configure.bzl",
             "ruleClassName": "xcode_autoconf",
             "attributes": {
-              "name": "bazel_tools~xcode_configure_extension~local_config_xcode",
               "xcode_locator": "@bazel_tools//tools/osx:xcode_locator.m",
               "remote_xcode": ""
             }
@@ -1027,15 +1140,14 @@
     "@@bazel_tools//tools/sh:sh_configure.bzl%sh_configure_extension": {
       "general": {
         "bzlTransitiveDigest": "hp4NgmNjEg5+xgvzfh6L83bt9/aiiWETuNpwNuF1MSU=",
-        "accumulatedFileDigests": {},
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "local_config_sh": {
             "bzlFile": "@@bazel_tools//tools/sh:sh_configure.bzl",
             "ruleClassName": "sh_config",
-            "attributes": {
-              "name": "bazel_tools~sh_configure_extension~local_config_sh"
-            }
+            "attributes": {}
           }
         },
         "recordedRepoMappingEntries": []
@@ -1043,15 +1155,15 @@
     },
     "@@bazel_tools//tools/test:extensions.bzl%remote_coverage_tools_extension": {
       "general": {
-        "bzlTransitiveDigest": "y48q5zUu2oMiYv7yUyi7rFB0wt14eqiF/RQcWT6vP7I=",
-        "accumulatedFileDigests": {},
+        "bzlTransitiveDigest": "l5mcjH2gWmbmIycx97bzI2stD0Q0M5gpDc0aLOHKIm8=",
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "remote_coverage_tools": {
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "bazel_tools~remote_coverage_tools_extension~remote_coverage_tools",
               "sha256": "7006375f6756819b7013ca875eab70a541cf7d89142d9c511ed78ea4fefa38af",
               "urls": [
                 "https://mirror.bazel.build/bazel_coverage_output_generator/releases/coverage_output_generator-v2.6.zip"
@@ -1062,49 +1174,70 @@
         "recordedRepoMappingEntries": []
       }
     },
-    "@@rules_java~7.1.0//java:extensions.bzl%toolchains": {
+    "@@buildozer~//:buildozer_binary.bzl%buildozer_binary": {
+      "general": {
+        "bzlTransitiveDigest": "EleDU/FQ1+e/RgkW3aIDmdaxZEthvoWQhsqFTxiSgMI=",
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
+        "envVariables": {},
+        "generatedRepoSpecs": {
+          "buildozer_binary": {
+            "bzlFile": "@@buildozer~//private:buildozer_binary.bzl",
+            "ruleClassName": "_buildozer_binary_repo",
+            "attributes": {
+              "sha256": {
+                "darwin-amd64": "d29e347ecd6b5673d72cb1a8de05bf1b06178dd229ff5eb67fad5100c840cc8e",
+                "darwin-arm64": "9b9e71bdbec5e7223871e913b65d12f6d8fa026684daf991f00e52ed36a6978d",
+                "linux-amd64": "8dfd6345da4e9042daa738d7fdf34f699c5dfce4632f7207956fceedd8494119",
+                "linux-arm64": "6559558fded658c8fa7432a9d011f7c4dcbac6b738feae73d2d5c352e5f605fa",
+                "windows-amd64": "e7f05bf847f7c3689dd28926460ce6e1097ae97380ac8e6ae7147b7b706ba19b"
+              },
+              "version": "6.4.0"
+            }
+          }
+        },
+        "recordedRepoMappingEntries": []
+      }
+    },
+    "@@rules_java~//java:extensions.bzl%toolchains": {
       "general": {
-        "bzlTransitiveDigest": "D02GmifxnV/IhYgspsJMDZ/aE8HxAjXgek5gi6FSto4=",
-        "accumulatedFileDigests": {},
+        "bzlTransitiveDigest": "tJHbmWnq7m+9eUBnUdv7jZziQ26FmcGL9C5/hU3Q9UQ=",
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "remotejdk21_linux_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk21_linux_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_21\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"21\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_linux//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_linux//:jdk\",\n)\n"
             }
           },
           "remotejdk17_linux_s390x_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk17_linux_s390x_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_17\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"17\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:s390x\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_linux_s390x//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:s390x\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_linux_s390x//:jdk\",\n)\n"
             }
           },
           "remotejdk17_macos_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk17_macos_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_17\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"17\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_macos//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_macos//:jdk\",\n)\n"
             }
           },
           "remotejdk21_macos_aarch64_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk21_macos_aarch64_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_21\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"21\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_macos_aarch64//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_macos_aarch64//:jdk\",\n)\n"
             }
           },
           "remotejdk17_linux_aarch64_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk17_linux_aarch64_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_17\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"17\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_linux_aarch64//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_linux_aarch64//:jdk\",\n)\n"
             }
           },
@@ -1112,21 +1245,19 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk21_macos_aarch64",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 21,\n)\n",
-              "sha256": "2a7a99a3ea263dbd8d32a67d1e6e363ba8b25c645c826f5e167a02bbafaff1fa",
-              "strip_prefix": "zulu21.28.85-ca-jdk21.0.0-macosx_aarch64",
+              "sha256": "e8260516de8b60661422a725f1df2c36ef888f6fb35393566b00e7325db3d04e",
+              "strip_prefix": "zulu21.32.17-ca-jdk21.0.2-macosx_aarch64",
               "urls": [
-                "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-macosx_aarch64.tar.gz",
-                "https://cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-macosx_aarch64.tar.gz"
+                "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.32.17-ca-jdk21.0.2-macosx_aarch64.tar.gz",
+                "https://cdn.azul.com/zulu/bin/zulu21.32.17-ca-jdk21.0.2-macosx_aarch64.tar.gz"
               ]
             }
           },
           "remotejdk17_linux_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk17_linux_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_17\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"17\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_linux//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_linux//:jdk\",\n)\n"
             }
           },
@@ -1134,7 +1265,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk17_macos_aarch64",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 17,\n)\n",
               "sha256": "314b04568ec0ae9b36ba03c9cbd42adc9e1265f74678923b19297d66eb84dcca",
               "strip_prefix": "zulu17.44.53-ca-jdk17.0.8.1-macosx_aarch64",
@@ -1148,11 +1278,10 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remote_java_tools_windows",
-              "sha256": "c5c70c214a350f12cbf52da8270fa43ba629b795f3dd328028a38f8f0d39c2a1",
+              "sha256": "fe2f88169696d6c6fc6e90ba61bb46be7d0ae3693cbafdf336041bf56679e8d1",
               "urls": [
-                "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.1/java_tools_windows-v13.1.zip",
-                "https://github.com/bazelbuild/java_tools/releases/download/java_v13.1/java_tools_windows-v13.1.zip"
+                "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.4/java_tools_windows-v13.4.zip",
+                "https://github.com/bazelbuild/java_tools/releases/download/java_v13.4/java_tools_windows-v13.4.zip"
               ]
             }
           },
@@ -1160,7 +1289,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk11_win",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 11,\n)\n",
               "sha256": "43408193ce2fa0862819495b5ae8541085b95660153f2adcf91a52d3a1710e83",
               "strip_prefix": "zulu11.66.15-ca-jdk11.0.20-win_x64",
@@ -1171,10 +1299,9 @@
             }
           },
           "remotejdk11_win_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk11_win_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_11\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"11\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_win//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_win//:jdk\",\n)\n"
             }
           },
@@ -1182,7 +1309,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk11_linux_aarch64",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 11,\n)\n",
               "sha256": "54174439f2b3fddd11f1048c397fe7bb45d4c9d66d452d6889b013d04d21c4de",
               "strip_prefix": "zulu11.66.15-ca-jdk11.0.20-linux_aarch64",
@@ -1196,7 +1322,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk17_linux",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 17,\n)\n",
               "sha256": "b9482f2304a1a68a614dfacddcf29569a72f0fac32e6c74f83dc1b9a157b8340",
               "strip_prefix": "zulu17.44.53-ca-jdk17.0.8.1-linux_x64",
@@ -1207,18 +1332,16 @@
             }
           },
           "remotejdk11_linux_s390x_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk11_linux_s390x_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_11\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"11\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:s390x\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_linux_s390x//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:s390x\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_linux_s390x//:jdk\",\n)\n"
             }
           },
           "remotejdk11_linux_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk11_linux_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_11\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"11\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_linux//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_linux//:jdk\",\n)\n"
             }
           },
@@ -1226,7 +1349,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk11_macos",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 11,\n)\n",
               "sha256": "bcaab11cfe586fae7583c6d9d311c64384354fb2638eb9a012eca4c3f1a1d9fd",
               "strip_prefix": "zulu11.66.15-ca-jdk11.0.20-macosx_x64",
@@ -1240,7 +1362,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk11_win_arm64",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 11,\n)\n",
               "sha256": "b8a28e6e767d90acf793ea6f5bed0bb595ba0ba5ebdf8b99f395266161e53ec2",
               "strip_prefix": "jdk-11.0.13+8",
@@ -1253,7 +1374,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk17_macos",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 17,\n)\n",
               "sha256": "640453e8afe8ffe0fb4dceb4535fb50db9c283c64665eebb0ba68b19e65f4b1f",
               "strip_prefix": "zulu17.44.53-ca-jdk17.0.8.1-macosx_x64",
@@ -1267,29 +1387,26 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk21_macos",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 21,\n)\n",
-              "sha256": "9639b87db586d0c89f7a9892ae47f421e442c64b97baebdff31788fbe23265bd",
-              "strip_prefix": "zulu21.28.85-ca-jdk21.0.0-macosx_x64",
+              "sha256": "3ad8fe288eb57d975c2786ae453a036aa46e47ab2ac3d81538ebae2a54d3c025",
+              "strip_prefix": "zulu21.32.17-ca-jdk21.0.2-macosx_x64",
               "urls": [
-                "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-macosx_x64.tar.gz",
-                "https://cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-macosx_x64.tar.gz"
+                "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.32.17-ca-jdk21.0.2-macosx_x64.tar.gz",
+                "https://cdn.azul.com/zulu/bin/zulu21.32.17-ca-jdk21.0.2-macosx_x64.tar.gz"
               ]
             }
           },
           "remotejdk21_macos_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk21_macos_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_21\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"21\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_macos//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_macos//:jdk\",\n)\n"
             }
           },
           "remotejdk17_macos_aarch64_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk17_macos_aarch64_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_17\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"17\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_macos_aarch64//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_macos_aarch64//:jdk\",\n)\n"
             }
           },
@@ -1297,7 +1414,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk17_win",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 17,\n)\n",
               "sha256": "192f2afca57701de6ec496234f7e45d971bf623ff66b8ee4a5c81582054e5637",
               "strip_prefix": "zulu17.44.53-ca-jdk17.0.8.1-win_x64",
@@ -1308,18 +1424,16 @@
             }
           },
           "remotejdk11_macos_aarch64_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk11_macos_aarch64_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_11\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"11\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_macos_aarch64//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_macos_aarch64//:jdk\",\n)\n"
             }
           },
           "remotejdk11_linux_ppc64le_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk11_linux_ppc64le_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_11\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"11\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:ppc\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_linux_ppc64le//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:ppc\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_linux_ppc64le//:jdk\",\n)\n"
             }
           },
@@ -1327,13 +1441,12 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk21_linux",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 21,\n)\n",
-              "sha256": "0c0eadfbdc47a7ca64aeab51b9c061f71b6e4d25d2d87674512e9b6387e9e3a6",
-              "strip_prefix": "zulu21.28.85-ca-jdk21.0.0-linux_x64",
+              "sha256": "5ad730fbee6bb49bfff10bf39e84392e728d89103d3474a7e5def0fd134b300a",
+              "strip_prefix": "zulu21.32.17-ca-jdk21.0.2-linux_x64",
               "urls": [
-                "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-linux_x64.tar.gz",
-                "https://cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-linux_x64.tar.gz"
+                "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.32.17-ca-jdk21.0.2-linux_x64.tar.gz",
+                "https://cdn.azul.com/zulu/bin/zulu21.32.17-ca-jdk21.0.2-linux_x64.tar.gz"
               ]
             }
           },
@@ -1341,11 +1454,10 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remote_java_tools_linux",
-              "sha256": "d134da9b04c9023fb6e56a5d4bffccee73f7bc9572ddc4e747778dacccd7a5a7",
+              "sha256": "ba10f09a138cf185d04cbc807d67a3da42ab13d618c5d1ce20d776e199c33a39",
               "urls": [
-                "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.1/java_tools_linux-v13.1.zip",
-                "https://github.com/bazelbuild/java_tools/releases/download/java_v13.1/java_tools_linux-v13.1.zip"
+                "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.4/java_tools_linux-v13.4.zip",
+                "https://github.com/bazelbuild/java_tools/releases/download/java_v13.4/java_tools_linux-v13.4.zip"
               ]
             }
           },
@@ -1353,13 +1465,12 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk21_win",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 21,\n)\n",
-              "sha256": "e9959d500a0d9a7694ac243baf657761479da132f0f94720cbffd092150bd802",
-              "strip_prefix": "zulu21.28.85-ca-jdk21.0.0-win_x64",
+              "sha256": "f7cc15ca17295e69c907402dfe8db240db446e75d3b150da7bf67243cded93de",
+              "strip_prefix": "zulu21.32.17-ca-jdk21.0.2-win_x64",
               "urls": [
-                "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-win_x64.zip",
-                "https://cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-win_x64.zip"
+                "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.32.17-ca-jdk21.0.2-win_x64.zip",
+                "https://cdn.azul.com/zulu/bin/zulu21.32.17-ca-jdk21.0.2-win_x64.zip"
               ]
             }
           },
@@ -1367,21 +1478,19 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk21_linux_aarch64",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 21,\n)\n",
-              "sha256": "1fb64b8036c5d463d8ab59af06bf5b6b006811e6012e3b0eb6bccf57f1c55835",
-              "strip_prefix": "zulu21.28.85-ca-jdk21.0.0-linux_aarch64",
+              "sha256": "ce7df1af5d44a9f455617c4b8891443fbe3e4b269c777d8b82ed66f77167cfe0",
+              "strip_prefix": "zulu21.32.17-ca-jdk21.0.2-linux_aarch64",
               "urls": [
-                "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-linux_aarch64.tar.gz",
-                "https://cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-linux_aarch64.tar.gz"
+                "https://cdn.azul.com/zulu/bin/zulu21.32.17-ca-jdk21.0.2-linux_aarch64.tar.gz",
+                "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.32.17-ca-jdk21.0.2-linux_aarch64.tar.gz"
               ]
             }
           },
           "remotejdk11_linux_aarch64_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk11_linux_aarch64_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_11\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"11\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_linux_aarch64//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_linux_aarch64//:jdk\",\n)\n"
             }
           },
@@ -1389,7 +1498,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk11_linux_s390x",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 11,\n)\n",
               "sha256": "a58fc0361966af0a5d5a31a2d8a208e3c9bb0f54f345596fd80b99ea9a39788b",
               "strip_prefix": "jdk-11.0.15+10",
@@ -1403,7 +1511,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk17_linux_aarch64",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 17,\n)\n",
               "sha256": "6531cef61e416d5a7b691555c8cf2bdff689201b8a001ff45ab6740062b44313",
               "strip_prefix": "zulu17.44.53-ca-jdk17.0.8.1-linux_aarch64",
@@ -1414,10 +1521,9 @@
             }
           },
           "remotejdk17_win_arm64_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk17_win_arm64_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_17\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"17\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:arm64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_win_arm64//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:arm64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_win_arm64//:jdk\",\n)\n"
             }
           },
@@ -1425,7 +1531,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk11_linux",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 11,\n)\n",
               "sha256": "a34b404f87a08a61148b38e1416d837189e1df7a040d949e743633daf4695a3c",
               "strip_prefix": "zulu11.66.15-ca-jdk11.0.20-linux_x64",
@@ -1436,18 +1541,16 @@
             }
           },
           "remotejdk11_macos_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk11_macos_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_11\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"11\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_macos//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_macos//:jdk\",\n)\n"
             }
           },
           "remotejdk17_linux_ppc64le_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk17_linux_ppc64le_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_17\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"17\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:ppc\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_linux_ppc64le//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:ppc\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_linux_ppc64le//:jdk\",\n)\n"
             }
           },
@@ -1455,7 +1558,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk17_win_arm64",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 17,\n)\n",
               "sha256": "6802c99eae0d788e21f52d03cab2e2b3bf42bc334ca03cbf19f71eb70ee19f85",
               "strip_prefix": "zulu17.44.53-ca-jdk17.0.8.1-win_aarch64",
@@ -1469,11 +1571,10 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remote_java_tools_darwin_arm64",
-              "sha256": "dab5bb87ec43e980faea6e1cec14bafb217b8e2f5346f53aa784fd715929a930",
+              "sha256": "076a7e198ad077f8c7d997986ef5102427fae6bbfce7a7852d2e080ed8767528",
               "urls": [
-                "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.1/java_tools_darwin_arm64-v13.1.zip",
-                "https://github.com/bazelbuild/java_tools/releases/download/java_v13.1/java_tools_darwin_arm64-v13.1.zip"
+                "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.4/java_tools_darwin_arm64-v13.4.zip",
+                "https://github.com/bazelbuild/java_tools/releases/download/java_v13.4/java_tools_darwin_arm64-v13.4.zip"
               ]
             }
           },
@@ -1481,7 +1582,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk17_linux_ppc64le",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 17,\n)\n",
               "sha256": "00a4c07603d0218cd678461b5b3b7e25b3253102da4022d31fc35907f21a2efd",
               "strip_prefix": "jdk-17.0.8.1+1",
@@ -1492,26 +1592,23 @@
             }
           },
           "remotejdk21_linux_aarch64_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk21_linux_aarch64_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_21\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"21\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_linux_aarch64//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_linux_aarch64//:jdk\",\n)\n"
             }
           },
           "remotejdk11_win_arm64_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk11_win_arm64_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_11\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"11\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:arm64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_win_arm64//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:arm64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_win_arm64//:jdk\",\n)\n"
             }
           },
           "local_jdk": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:local_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:local_java_repository.bzl",
             "ruleClassName": "_local_java_repository_rule",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~local_jdk",
               "java_home": "",
               "version": "",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = {RUNTIME_VERSION},\n)\n"
@@ -1521,11 +1618,10 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remote_java_tools_darwin_x86_64",
-              "sha256": "0db40d8505a2b65ef0ed46e4256757807db8162f7acff16225be57c1d5726dbc",
+              "sha256": "4523aec4d09c587091a2dae6f5c9bc6922c220f3b6030e5aba9c8f015913cc65",
               "urls": [
-                "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.1/java_tools_darwin_x86_64-v13.1.zip",
-                "https://github.com/bazelbuild/java_tools/releases/download/java_v13.1/java_tools_darwin_x86_64-v13.1.zip"
+                "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.4/java_tools_darwin_x86_64-v13.4.zip",
+                "https://github.com/bazelbuild/java_tools/releases/download/java_v13.4/java_tools_darwin_x86_64-v13.4.zip"
               ]
             }
           },
@@ -1533,11 +1629,10 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remote_java_tools",
-              "sha256": "286bdbbd66e616fc4ed3f90101418729a73baa7e8c23a98ffbef558f74c0ad14",
+              "sha256": "e025fd260ac39b47c111f5212d64ec0d00d85dec16e49368aae82fc626a940cf",
               "urls": [
-                "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.1/java_tools-v13.1.zip",
-                "https://github.com/bazelbuild/java_tools/releases/download/java_v13.1/java_tools-v13.1.zip"
+                "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.4/java_tools-v13.4.zip",
+                "https://github.com/bazelbuild/java_tools/releases/download/java_v13.4/java_tools-v13.4.zip"
               ]
             }
           },
@@ -1545,7 +1640,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk17_linux_s390x",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 17,\n)\n",
               "sha256": "ffacba69c6843d7ca70d572489d6cc7ab7ae52c60f0852cedf4cf0d248b6fc37",
               "strip_prefix": "jdk-17.0.8.1+1",
@@ -1556,10 +1650,9 @@
             }
           },
           "remotejdk17_win_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk17_win_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_17\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"17\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_win//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_win//:jdk\",\n)\n"
             }
           },
@@ -1567,7 +1660,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk11_linux_ppc64le",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 11,\n)\n",
               "sha256": "a8fba686f6eb8ae1d1a9566821dbd5a85a1108b96ad857fdbac5c1e4649fc56f",
               "strip_prefix": "jdk-11.0.15+10",
@@ -1581,7 +1673,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk11_macos_aarch64",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 11,\n)\n",
               "sha256": "7632bc29f8a4b7d492b93f3bc75a7b61630894db85d136456035ab2a24d38885",
               "strip_prefix": "zulu11.66.15-ca-jdk11.0.20-macosx_aarch64",
@@ -1592,41 +1683,40 @@
             }
           },
           "remotejdk21_win_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk21_win_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_21\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"21\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_win//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_win//:jdk\",\n)\n"
             }
           }
         },
         "recordedRepoMappingEntries": [
           [
-            "rules_java~7.1.0",
+            "rules_java~",
             "bazel_tools",
             "bazel_tools"
           ],
           [
-            "rules_java~7.1.0",
+            "rules_java~",
             "remote_java_tools",
-            "rules_java~7.1.0~toolchains~remote_java_tools"
+            "rules_java~~toolchains~remote_java_tools"
           ]
         ]
       }
     },
-    "@@rules_jvm_external~4.4.2//:extensions.bzl%maven": {
+    "@@rules_jvm_external~//:extensions.bzl%maven": {
       "general": {
-        "bzlTransitiveDigest": "vfN15bfa5VcQIt0lp3UZTznETp3NF8xw9pHYN+3Ma6A=",
-        "accumulatedFileDigests": {
-          "@@rules_jvm_external~4.4.2//:rules_jvm_external_deps_install.json": "10442a5ae27d9ff4c2003e5ab71643bf0d8b48dcf968b4173fa274c3232a8c06"
+        "bzlTransitiveDigest": "v8HssW6WP6B8s0BwuAMJuQCz6cQ9jlhOfx4dKBtPYB4=",
+        "recordedFileInputs": {
+          "@@rules_jvm_external~//rules_jvm_external_deps_install.json": "10442a5ae27d9ff4c2003e5ab71643bf0d8b48dcf968b4173fa274c3232a8c06"
         },
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "org_slf4j_slf4j_api_1_7_30": {
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~org_slf4j_slf4j_api_1_7_30",
               "sha256": "cdba07964d1bb40a0761485c6b1e8c2f8fd9eb1d19c53928ac0d7f9510105c57",
               "urls": [
                 "https://repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.jar",
@@ -1639,7 +1729,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_api_grpc_proto_google_common_protos_2_0_1",
               "sha256": "5ce71656118618731e34a5d4c61aa3a031be23446dc7de8b5a5e77b66ebcd6ef",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/api/grpc/proto-google-common-protos/2.0.1/proto-google-common-protos-2.0.1.jar",
@@ -1652,7 +1741,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_api_gax_1_60_0",
               "sha256": "02f37d4ff1a7b8d71dff8064cf9568aa4f4b61bcc4485085d16130f32afa5a79",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/api/gax/1.60.0/gax-1.60.0.jar",
@@ -1665,7 +1753,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_guava_failureaccess_1_0_1",
               "sha256": "a171ee4c734dd2da837e4b16be9df4661afab72a41adaf31eb84dfdaf936ca26",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar",
@@ -1678,7 +1765,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~commons_logging_commons_logging_1_2",
               "sha256": "daddea1ea0be0f56978ab3006b8ac92834afeefbd9b7e4e6316fca57df0fa636",
               "urls": [
                 "https://repo1.maven.org/maven2/commons-logging/commons-logging/1.2/commons-logging-1.2.jar",
@@ -1691,7 +1777,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_http_client_google_http_client_appengine_1_38_0",
               "sha256": "f97b495fd97ac3a3d59099eb2b55025f4948230da15a076f189b9cff37c6b4d2",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/http-client/google-http-client-appengine/1.38.0/google-http-client-appengine-1.38.0.jar",
@@ -1704,7 +1789,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_cloud_google_cloud_storage_1_113_4",
               "sha256": "796833e9bdab80c40bbc820e65087eb8f28c6bfbca194d2e3e00d98cb5bc55d6",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/cloud/google-cloud-storage/1.113.4/google-cloud-storage-1.113.4.jar",
@@ -1717,7 +1801,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~io_grpc_grpc_context_1_33_1",
               "sha256": "99b8aea2b614fe0e61c3676e681259dc43c2de7f64620998e1a8435eb2976496",
               "urls": [
                 "https://repo1.maven.org/maven2/io/grpc/grpc-context/1.33.1/grpc-context-1.33.1.jar",
@@ -1730,7 +1813,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_api_grpc_proto_google_iam_v1_1_0_3",
               "sha256": "64cee7383a97e846da8d8e160e6c8fe30561e507260552c59e6ccfc81301fdc8",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/api/grpc/proto-google-iam-v1/1.0.3/proto-google-iam-v1-1.0.3.jar",
@@ -1743,7 +1825,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_api_api_common_1_10_1",
               "sha256": "2a033f24bb620383eda440ad307cb8077cfec1c7eadc684d65216123a1b9613a",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/api/api-common/1.10.1/api-common-1.10.1.jar",
@@ -1756,7 +1837,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_auth_google_auth_library_oauth2_http_0_22_0",
               "sha256": "1722d895c42dc42ea1d1f392ddbec1fbb28f7a979022c3a6c29acc39cc777ad1",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/auth/google-auth-library-oauth2-http/0.22.0/google-auth-library-oauth2-http-0.22.0.jar",
@@ -1769,7 +1849,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_typesafe_netty_netty_reactive_streams_2_0_5",
               "sha256": "f949849fc8ee75fde468ba3a35df2e04577fa31a2940b83b2a7dc9d14dac13d6",
               "urls": [
                 "https://repo1.maven.org/maven2/com/typesafe/netty/netty-reactive-streams/2.0.5/netty-reactive-streams-2.0.5.jar",
@@ -1782,7 +1861,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_typesafe_netty_netty_reactive_streams_http_2_0_5",
               "sha256": "b39224751ad936758176e9d994230380ade5e9079e7c8ad778e3995779bcf303",
               "urls": [
                 "https://repo1.maven.org/maven2/com/typesafe/netty/netty-reactive-streams-http/2.0.5/netty-reactive-streams-http-2.0.5.jar",
@@ -1795,7 +1873,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~javax_annotation_javax_annotation_api_1_3_2",
               "sha256": "e04ba5195bcd555dc95650f7cc614d151e4bcd52d29a10b8aa2197f3ab89ab9b",
               "urls": [
                 "https://repo1.maven.org/maven2/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar",
@@ -1808,7 +1885,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_j2objc_j2objc_annotations_1_3",
               "sha256": "21af30c92267bd6122c0e0b4d20cccb6641a37eaf956c6540ec471d584e64a7b",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar",
@@ -1821,7 +1897,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_metrics_spi_2_17_183",
               "sha256": "08a11dc8c4ba464beafbcc7ac05b8c724c1ccb93da99482e82a68540ac704e4a",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/metrics-spi/2.17.183/metrics-spi-2.17.183.jar",
@@ -1834,7 +1909,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~org_reactivestreams_reactive_streams_1_0_3",
               "sha256": "1dee0481072d19c929b623e155e14d2f6085dc011529a0a0dbefc84cf571d865",
               "urls": [
                 "https://repo1.maven.org/maven2/org/reactivestreams/reactive-streams/1.0.3/reactive-streams-1.0.3.jar",
@@ -1847,7 +1921,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_http_client_google_http_client_jackson2_1_38_0",
               "sha256": "e6504a82425fcc2168a4ca4175138ddcc085168daed8cdedb86d8f6fdc296e1e",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/http-client/google-http-client-jackson2/1.38.0/google-http-client-jackson2-1.38.0.jar",
@@ -1860,7 +1933,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~io_netty_netty_transport_4_1_72_Final",
               "sha256": "c5fb68e9a65b6e8a516adfcb9fa323479ee7b4d9449d8a529d2ecab3d3711d5a",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-transport/4.1.72.Final/netty-transport-4.1.72.Final.jar",
@@ -1873,7 +1945,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~io_netty_netty_codec_http2_4_1_72_Final",
               "sha256": "c89a70500f59e8563e720aaa808263a514bd9e2bd91ba84eab8c2ccb45f234b2",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-codec-http2/4.1.72.Final/netty-codec-http2-4.1.72.Final.jar",
@@ -1886,7 +1957,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~io_opencensus_opencensus_api_0_24_0",
               "sha256": "f561b1cc2673844288e596ddf5bb6596868a8472fd2cb8993953fc5c034b2352",
               "urls": [
                 "https://repo1.maven.org/maven2/io/opencensus/opencensus-api/0.24.0/opencensus-api-0.24.0.jar",
@@ -1896,10 +1966,9 @@
             }
           },
           "rules_jvm_external_deps": {
-            "bzlFile": "@@rules_jvm_external~4.4.2//:coursier.bzl",
+            "bzlFile": "@@rules_jvm_external~//:coursier.bzl",
             "ruleClassName": "pinned_coursier_fetch",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~rules_jvm_external_deps",
               "repositories": [
                 "{ \"repo_url\": \"https://repo1.maven.org/maven2\" }"
               ],
@@ -1913,7 +1982,7 @@
               "fetch_sources": true,
               "fetch_javadoc": false,
               "generate_compat_repositories": false,
-              "maven_install_json": "@@rules_jvm_external~4.4.2//:rules_jvm_external_deps_install.json",
+              "maven_install_json": "@@rules_jvm_external~//:rules_jvm_external_deps_install.json",
               "override_targets": {},
               "strict_visibility": false,
               "strict_visibility_value": [
@@ -1934,7 +2003,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~org_threeten_threetenbp_1_5_0",
               "sha256": "dcf9c0f940739f2a825cd8626ff27113459a2f6eb18797c7152f93fff69c264f",
               "urls": [
                 "https://repo1.maven.org/maven2/org/threeten/threetenbp/1.5.0/threetenbp-1.5.0.jar",
@@ -1947,7 +2015,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_http_client_spi_2_17_183",
               "sha256": "fe7120f175df9e47ebcc5d946d7f40110faf2ba0a30364f3b935d5b8a5a6c3c6",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/http-client-spi/2.17.183/http-client-spi-2.17.183.jar",
@@ -1960,7 +2027,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_third_party_jackson_core_2_17_183",
               "sha256": "1bc27c9960993c20e1ab058012dd1ae04c875eec9f0f08f2b2ca41e578dee9a4",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/third-party-jackson-core/2.17.183/third-party-jackson-core-2.17.183.jar",
@@ -1973,7 +2039,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~software_amazon_eventstream_eventstream_1_0_1",
               "sha256": "0c37d8e696117f02c302191b8110b0d0eb20fa412fce34c3a269ec73c16ce822",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/eventstream/eventstream/1.0.1/eventstream-1.0.1.jar",
@@ -1986,7 +2051,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_oauth_client_google_oauth_client_1_31_1",
               "sha256": "4ed4e2948251dbda66ce251bd7f3b32cd8570055e5cdb165a3c7aea8f43da0ff",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/oauth-client/google-oauth-client/1.31.1/google-oauth-client-1.31.1.jar",
@@ -1996,10 +2060,9 @@
             }
           },
           "maven": {
-            "bzlFile": "@@rules_jvm_external~4.4.2//:coursier.bzl",
+            "bzlFile": "@@rules_jvm_external~//:coursier.bzl",
             "ruleClassName": "coursier_fetch",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~maven",
               "repositories": [
                 "{ \"repo_url\": \"https://repo1.maven.org/maven2\" }"
               ],
@@ -2040,7 +2103,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_aws_xml_protocol_2_17_183",
               "sha256": "566bba05d49256fa6994efd68fa625ae05a62ea45ee74bb9130d20ea20988363",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/aws-xml-protocol/2.17.183/aws-xml-protocol-2.17.183.jar",
@@ -2053,7 +2115,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_annotations_2_17_183",
               "sha256": "8e4d72361ca805a0bd8bbd9017cd7ff77c8d170f2dd469c7d52d5653330bb3fd",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/annotations/2.17.183/annotations-2.17.183.jar",
@@ -2066,7 +2127,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_netty_nio_client_2_17_183",
               "sha256": "a6d356f364c56d7b90006b0b7e503b8630010993a5587ce42e74b10b8dca2238",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/netty-nio-client/2.17.183/netty-nio-client-2.17.183.jar",
@@ -2079,7 +2139,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_auto_value_auto_value_annotations_1_7_4",
               "sha256": "fedd59b0b4986c342f6ab2d182f2a4ee9fceb2c7e2d5bdc4dc764c92394a23d3",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/auto/value/auto-value-annotations/1.7.4/auto-value-annotations-1.7.4.jar",
@@ -2092,7 +2151,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~io_netty_netty_transport_native_unix_common_4_1_72_Final",
               "sha256": "6f8f1cc29b5a234eeee9439a63eb3f03a5994aa540ff555cb0b2c88cefaf6877",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-transport-native-unix-common/4.1.72.Final/netty-transport-native-unix-common-4.1.72.Final.jar",
@@ -2105,7 +2163,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~io_opencensus_opencensus_contrib_http_util_0_24_0",
               "sha256": "7155273bbb1ed3d477ea33cf19d7bbc0b285ff395f43b29ae576722cf247000f",
               "urls": [
                 "https://repo1.maven.org/maven2/io/opencensus/opencensus-contrib-http-util/0.24.0/opencensus-contrib-http-util-0.24.0.jar",
@@ -2118,7 +2175,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_fasterxml_jackson_core_jackson_core_2_11_3",
               "sha256": "78cd0a6b936232e06dd3e38da8a0345348a09cd1ff9c4d844c6ee72c75cfc402",
               "urls": [
                 "https://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-core/2.11.3/jackson-core-2.11.3.jar",
@@ -2131,7 +2187,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_cloud_google_cloud_core_1_93_10",
               "sha256": "832d74eca66f4601e162a8460d6f59f50d1d23f93c18b02654423b6b0d67c6ea",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/cloud/google-cloud-core/1.93.10/google-cloud-core-1.93.10.jar",
@@ -2144,7 +2199,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_auth_google_auth_library_credentials_0_22_0",
               "sha256": "42c76031276de5b520909e9faf88c5b3c9a722d69ee9cfdafedb1c52c355dfc5",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/auth/google-auth-library-credentials/0.22.0/google-auth-library-credentials-0.22.0.jar",
@@ -2157,7 +2211,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_guava_guava_30_0_android",
               "sha256": "3345c82c2cc70a0053e8db9031edc6d71625ef0dea6a2c8f5ebd6cb76d2bf843",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/guava/guava/30.0-android/guava-30.0-android.jar",
@@ -2170,7 +2223,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_profiles_2_17_183",
               "sha256": "78833b32fde3f1c5320373b9ea955c1bbc28f2c904010791c4784e610193ee56",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/profiles/2.17.183/profiles-2.17.183.jar",
@@ -2183,7 +2235,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~org_apache_httpcomponents_httpcore_4_4_13",
               "sha256": "e06e89d40943245fcfa39ec537cdbfce3762aecde8f9c597780d2b00c2b43424",
               "urls": [
                 "https://repo1.maven.org/maven2/org/apache/httpcomponents/httpcore/4.4.13/httpcore-4.4.13.jar",
@@ -2196,7 +2247,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~io_netty_netty_common_4_1_72_Final",
               "sha256": "8adb4c291260ceb2859a68c49f0adeed36bf49587608e2b81ecff6aaf06025e9",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-common/4.1.72.Final/netty-common-4.1.72.Final.jar",
@@ -2209,7 +2259,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~io_netty_netty_transport_classes_epoll_4_1_72_Final",
               "sha256": "e1528a9751c1285aa7beaf3a1eb0597151716426ce38598ac9bc0891209b9e68",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-transport-classes-epoll/4.1.72.Final/netty-transport-classes-epoll-4.1.72.Final.jar",
@@ -2222,7 +2271,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_cloud_google_cloud_core_http_1_93_10",
               "sha256": "81ac67c14c7c4244d2b7db2607ad352416aca8d3bb2adf338964e8fea25b1b3c",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/cloud/google-cloud-core-http/1.93.10/google-cloud-core-http-1.93.10.jar",
@@ -2235,7 +2283,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_utils_2_17_183",
               "sha256": "7bd849bb5aa71bfdf6b849643736ecab3a7b3f204795804eefe5754104231ec6",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/utils/2.17.183/utils-2.17.183.jar",
@@ -2248,7 +2295,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~org_apache_commons_commons_lang3_3_8_1",
               "sha256": "dac807f65b07698ff39b1b07bfef3d87ae3fd46d91bbf8a2bc02b2a831616f68",
               "urls": [
                 "https://repo1.maven.org/maven2/org/apache/commons/commons-lang3/3.8.1/commons-lang3-3.8.1.jar",
@@ -2261,7 +2307,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_aws_core_2_17_183",
               "sha256": "bccbdbea689a665a702ff19828662d87fb7fe81529df13f02ef1e4c474ea9f93",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/aws-core/2.17.183/aws-core-2.17.183.jar",
@@ -2274,7 +2319,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_api_gax_httpjson_0_77_0",
               "sha256": "fd4dae47fa016d3b26e8d90b67ddc6c23c4c06e8bcdf085c70310ab7ef324bd6",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/api/gax-httpjson/0.77.0/gax-httpjson-0.77.0.jar",
@@ -2284,10 +2328,9 @@
             }
           },
           "unpinned_rules_jvm_external_deps": {
-            "bzlFile": "@@rules_jvm_external~4.4.2//:coursier.bzl",
+            "bzlFile": "@@rules_jvm_external~//:coursier.bzl",
             "ruleClassName": "coursier_fetch",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~unpinned_rules_jvm_external_deps",
               "repositories": [
                 "{ \"repo_url\": \"https://repo1.maven.org/maven2\" }"
               ],
@@ -2310,7 +2353,7 @@
               "strict_visibility_value": [
                 "@@//visibility:private"
               ],
-              "maven_install_json": "@@rules_jvm_external~4.4.2//:rules_jvm_external_deps_install.json",
+              "maven_install_json": "@@rules_jvm_external~//:rules_jvm_external_deps_install.json",
               "resolve_timeout": 600,
               "jetify": false,
               "jetify_include_list": [
@@ -2325,7 +2368,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_regions_2_17_183",
               "sha256": "d3079395f3ffc07d04ffcce16fca29fb5968197f6e9ea3dbff6be297102b40a5",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/regions/2.17.183/regions-2.17.183.jar",
@@ -2338,7 +2380,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_errorprone_error_prone_annotations_2_4_0",
               "sha256": "5f2a0648230a662e8be049df308d583d7369f13af683e44ddf5829b6d741a228",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.4.0/error_prone_annotations-2.4.0.jar",
@@ -2351,7 +2392,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~io_netty_netty_handler_4_1_72_Final",
               "sha256": "9cb6012af7e06361d738ac4e3bdc49a158f8cf87d9dee0f2744056b7d99c28d5",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-handler/4.1.72.Final/netty-handler-4.1.72.Final.jar",
@@ -2364,7 +2404,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_aws_query_protocol_2_17_183",
               "sha256": "4dace03c76f80f3dec920cb3dedb2a95984c4366ef4fda728660cb90bed74848",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/aws-query-protocol/2.17.183/aws-query-protocol-2.17.183.jar",
@@ -2377,7 +2416,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~io_netty_netty_codec_http_4_1_72_Final",
               "sha256": "fa6fec88010bfaf6a7415b5364671b6b18ffb6b35a986ab97b423fd8c3a0174b",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-codec-http/4.1.72.Final/netty-codec-http-4.1.72.Final.jar",
@@ -2390,7 +2428,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~io_netty_netty_resolver_4_1_72_Final",
               "sha256": "6474598aab7cc9d8d6cfa06c05bd1b19adbf7f8451dbdd73070b33a6c60b1b90",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-resolver/4.1.72.Final/netty-resolver-4.1.72.Final.jar",
@@ -2403,7 +2440,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_protocol_core_2_17_183",
               "sha256": "10e7c4faa1f05e2d73055d0390dbd0bb6450e2e6cb85beda051b1e4693c826ce",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/protocol-core/2.17.183/protocol-core-2.17.183.jar",
@@ -2416,7 +2452,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~org_checkerframework_checker_compat_qual_2_5_5",
               "sha256": "11d134b245e9cacc474514d2d66b5b8618f8039a1465cdc55bbc0b34e0008b7a",
               "urls": [
                 "https://repo1.maven.org/maven2/org/checkerframework/checker-compat-qual/2.5.5/checker-compat-qual-2.5.5.jar",
@@ -2429,7 +2464,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_apis_google_api_services_storage_v1_rev20200927_1_30_10",
               "sha256": "52d26a9d105f8d8a0850807285f307a76cea8f3e0cdb2be4d3b15b1adfa77351",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/apis/google-api-services-storage/v1-rev20200927-1.30.10/google-api-services-storage-v1-rev20200927-1.30.10.jar",
@@ -2442,7 +2476,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_api_client_google_api_client_1_30_11",
               "sha256": "ee6f97865cc7de6c7c80955c3f37372cf3887bd75e4fc06f1058a6b4cd9bf4da",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/api-client/google-api-client/1.30.11/google-api-client-1.30.11.jar",
@@ -2455,7 +2488,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_s3_2_17_183",
               "sha256": "ab073b91107a9e4ed9f030314077d137fe627e055ad895fabb036980a050e360",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/s3/2.17.183/s3-2.17.183.jar",
@@ -2468,7 +2500,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~org_apache_maven_maven_artifact_3_8_6",
               "sha256": "de22a4c6f54fe31276a823b1bbd3adfd6823529e732f431b5eff0852c2b9252b",
               "urls": [
                 "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact/3.8.6/maven-artifact-3.8.6.jar",
@@ -2481,7 +2512,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~org_apache_httpcomponents_httpclient_4_5_13",
               "sha256": "6fe9026a566c6a5001608cf3fc32196641f6c1e5e1986d1037ccdbd5f31ef743",
               "urls": [
                 "https://repo1.maven.org/maven2/org/apache/httpcomponents/httpclient/4.5.13/httpclient-4.5.13.jar",
@@ -2494,7 +2524,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_guava_listenablefuture_9999_0_empty_to_avoid_conflict_with_guava",
               "sha256": "b372a037d4230aa57fbeffdef30fd6123f9c0c2db85d0aced00c91b974f33f99",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar",
@@ -2507,7 +2536,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_http_client_google_http_client_1_38_0",
               "sha256": "411f4a42519b6b78bdc0fcfdf74c9edcef0ee97afa4a667abe04045a508d6302",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/http-client/google-http-client/1.38.0/google-http-client-1.38.0.jar",
@@ -2520,7 +2548,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_apache_client_2_17_183",
               "sha256": "78ceae502fce6a97bbe5ff8f6a010a52ab7ea3ae66cb1a4122e18185fce45022",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/apache-client/2.17.183/apache-client-2.17.183.jar",
@@ -2533,7 +2560,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_arns_2_17_183",
               "sha256": "659a185e191d66c71de81209490e66abeaccae208ea7b2831a738670823447aa",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/arns/2.17.183/arns-2.17.183.jar",
@@ -2546,7 +2572,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_code_gson_gson_2_9_0",
               "sha256": "c96d60551331a196dac54b745aa642cd078ef89b6f267146b705f2c2cbef052d",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/code/gson/gson/2.9.0/gson-2.9.0.jar",
@@ -2559,7 +2584,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~io_netty_netty_buffer_4_1_72_Final",
               "sha256": "568ff7cd9d8e2284ec980730c88924f686642929f8f219a74518b4e64755f3a1",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-buffer/4.1.72.Final/netty-buffer-4.1.72.Final.jar",
@@ -2572,7 +2596,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_code_findbugs_jsr305_3_0_2",
               "sha256": "766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar",
@@ -2585,7 +2608,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~commons_codec_commons_codec_1_11",
               "sha256": "e599d5318e97aa48f42136a2927e6dfa4e8881dff0e6c8e3109ddbbff51d7b7d",
               "urls": [
                 "https://repo1.maven.org/maven2/commons-codec/commons-codec/1.11/commons-codec-1.11.jar",
@@ -2598,7 +2620,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_auth_2_17_183",
               "sha256": "8820c6636e5c14efc29399fb5565ce50212b0c1f4ed720a025a2c402d54e0978",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/auth/2.17.183/auth-2.17.183.jar",
@@ -2611,7 +2632,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_json_utils_2_17_183",
               "sha256": "51ab7f550adc06afcb49f5270cdf690f1bfaaee243abaa5d978095e2a1e4e1a5",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/json-utils/2.17.183/json-utils-2.17.183.jar",
@@ -2624,7 +2644,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~org_codehaus_plexus_plexus_utils_3_3_1",
               "sha256": "4b570fcdbe5a894f249d2eb9b929358a9c88c3e548d227a80010461930222f2a",
               "urls": [
                 "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/3.3.1/plexus-utils-3.3.1.jar",
@@ -2637,7 +2656,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_protobuf_protobuf_java_util_3_13_0",
               "sha256": "d9de66b8c9445905dfa7064f6d5213d47ce88a20d34e21d83c4a94a229e14e62",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java-util/3.13.0/protobuf-java-util-3.13.0.jar",
@@ -2650,7 +2668,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~io_netty_netty_codec_4_1_72_Final",
               "sha256": "5d8591ca271a1e9c224e8de3873aa9936acb581ee0db514e7dc18523df36d16c",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-codec/4.1.72.Final/netty-codec-4.1.72.Final.jar",
@@ -2663,7 +2680,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~com_google_protobuf_protobuf_java_3_13_0",
               "sha256": "97d5b2758408690c0dc276238707492a0b6a4d71206311b6c442cdc26c5973ff",
               "urls": [
                 "https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java/3.13.0/protobuf-java-3.13.0.jar",
@@ -2676,7 +2692,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~io_netty_netty_tcnative_classes_2_0_46_Final",
               "sha256": "d3ec888dcc4ac7915bf88b417c5e04fd354f4311032a748a6882df09347eed9a",
               "urls": [
                 "https://repo1.maven.org/maven2/io/netty/netty-tcnative-classes/2.0.46.Final/netty-tcnative-classes-2.0.46.Final.jar",
@@ -2689,7 +2704,6 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_file",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_sdk_core_2_17_183",
               "sha256": "677e9cc90fdd82c1f40f97b99cb115b13ad6c3f58beeeab1c061af6954d64c77",
               "urls": [
                 "https://repo1.maven.org/maven2/software/amazon/awssdk/sdk-core/2.17.183/sdk-core-2.17.183.jar",
@@ -2701,29 +2715,29 @@
         },
         "recordedRepoMappingEntries": [
           [
-            "rules_jvm_external~4.4.2",
+            "rules_jvm_external~",
             "bazel_tools",
             "bazel_tools"
           ],
           [
-            "rules_jvm_external~4.4.2",
+            "rules_jvm_external~",
             "rules_jvm_external",
-            "rules_jvm_external~4.4.2"
+            "rules_jvm_external~"
           ]
         ]
       }
     },
-    "@@rules_jvm_external~4.4.2//:non-module-deps.bzl%non_module_deps": {
+    "@@rules_jvm_external~//:non-module-deps.bzl%non_module_deps": {
       "general": {
-        "bzlTransitiveDigest": "zXwz7xFBNBig3QRyd5WAZU3y/6fZvd6jnP6EkJIutS0=",
-        "accumulatedFileDigests": {},
+        "bzlTransitiveDigest": "DqBh3ObkOvjDFKv8VTy6J2qr7hXsJm9/sES7bha7ftA=",
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "io_bazel_rules_kotlin": {
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_jvm_external~4.4.2~non_module_deps~io_bazel_rules_kotlin",
               "sha256": "946747acdbeae799b085d12b240ec346f775ac65236dfcf18aa0cd7300f6de78",
               "urls": [
                 "https://github.com/bazelbuild/rules_kotlin/releases/download/v1.7.0-RC-2/rules_kotlin_release.tgz"
@@ -2733,129 +2747,475 @@
         },
         "recordedRepoMappingEntries": [
           [
-            "rules_jvm_external~4.4.2",
+            "rules_jvm_external~",
             "bazel_tools",
             "bazel_tools"
           ]
         ]
       }
     },
-    "@@rules_python~0.10.2//python:extensions.bzl%pip_install": {
+    "@@rules_python~//python/extensions:python.bzl%python": {
       "general": {
-        "bzlTransitiveDigest": "7AvdSiZR6OSZZhgJCJJYhrJbhi7tTP1EGFGu68oep00=",
-        "accumulatedFileDigests": {},
+        "bzlTransitiveDigest": "31xtOi5rmBJ3jSHeziLzV7KKKgCc6tMnRUZ1BQLBeao=",
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
         "envVariables": {},
         "generatedRepoSpecs": {
-          "pypi__colorama": {
+          "pythons_hub": {
+            "bzlFile": "@@rules_python~//python/extensions/private:interpreter_hub.bzl",
+            "ruleClassName": "hub_repo",
+            "attributes": {
+              "toolchains": []
+            }
+          }
+        },
+        "recordedRepoMappingEntries": [
+          [
+            "rules_python~",
+            "bazel_tools",
+            "bazel_tools"
+          ],
+          [
+            "rules_python~",
+            "rules_python",
+            "rules_python~"
+          ]
+        ]
+      }
+    },
+    "@@rules_python~//python/extensions/private:internal_deps.bzl%internal_deps": {
+      "general": {
+        "bzlTransitiveDigest": "fUb5iKCtPgjhclraX+//BnJ+LOcG6I6+O9UUxT+gZ50=",
+        "recordedFileInputs": {},
+        "recordedDirentsInputs": {},
+        "envVariables": {},
+        "generatedRepoSpecs": {
+          "pypi__coverage_cp39_aarch64-apple-darwin": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_archive",
+            "attributes": {
+              "build_file_content": "\nfilegroup(\n    name = \"coverage\",\n    srcs = [\"coverage/__main__.py\"],\n    data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n    visibility = [\"//visibility:public\"],\n)\n    ",
+              "patch_args": [
+                "-p1"
+              ],
+              "patches": [
+                "@@rules_python~//python/private:coverage.patch"
+              ],
+              "sha256": "95203854f974e07af96358c0b261f1048d8e1083f2de9b1c565e1be4a3a48cfc",
+              "type": "zip",
+              "urls": [
+                "https://files.pythonhosted.org/packages/63/e9/f23e8664ec4032d7802a1cf920853196bcbdce7b56408e3efe1b2da08f3c/coverage-6.5.0-cp39-cp39-macosx_11_0_arm64.whl"
+              ]
+            }
+          },
+          "pypi__coverage_cp38_aarch64-unknown-linux-gnu": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_archive",
+            "attributes": {
+              "build_file_content": "\nfilegroup(\n    name = \"coverage\",\n    srcs = [\"coverage/__main__.py\"],\n    data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n    visibility = [\"//visibility:public\"],\n)\n    ",
+              "patch_args": [
+                "-p1"
+              ],
+              "patches": [
+                "@@rules_python~//python/private:coverage.patch"
+              ],
+              "sha256": "6c4459b3de97b75e3bd6b7d4b7f0db13f17f504f3d13e2a7c623786289dd670e",
+              "type": "zip",
+              "urls": [
+                "https://files.pythonhosted.org/packages/40/3b/cd68cb278c4966df00158811ec1e357b9a7d132790c240fc65da57e10013/coverage-6.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl"
+              ]
+            }
+          },
+          "pypi__pip_tools": {
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.10.2~pip_install~pypi__colorama",
-              "url": "https://files.pythonhosted.org/packages/44/98/5b86278fbbf250d239ae0ecb724f8572af1c91f4a11edf4d36a206189440/colorama-0.4.4-py2.py3-none-any.whl",
-              "sha256": "9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2",
+              "url": "https://files.pythonhosted.org/packages/5e/e8/f6d7d1847c7351048da870417724ace5c4506e816b38db02f4d7c675c189/pip_tools-6.12.1-py3-none-any.whl",
+              "sha256": "f0c0c0ec57b58250afce458e2e6058b1f30a4263db895b7d72fd6311bf1dc6f7",
               "type": "zip",
-              "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n    name = \"lib\",\n    srcs = glob([\"**/*.py\"]),\n    data = glob([\"**/*\"], exclude=[\"**/*.py\", \"**/* *\", \"BUILD\", \"WORKSPACE\"]),\n    # This makes this directory a top-level in the python import\n    # search path for anything that depends on this.\n    imports = [\".\"],\n)\n"
+              "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n    name = \"lib\",\n    srcs = glob([\"**/*.py\"]),\n    data = glob([\"**/*\"], exclude=[\n        # These entries include those put into user-installed dependencies by\n        # data_exclude in /python/pip_install/tools/bazel.py\n        # to avoid non-determinism following pip install's behavior.\n        \"**/*.py\",\n        \"**/*.pyc\",\n        \"**/* *\",\n        \"**/*.dist-info/RECORD\",\n        \"BUILD\",\n        \"WORKSPACE\",\n    ]),\n    # This makes this directory a top-level in the python import\n    # search path for anything that depends on this.\n    imports = [\".\"],\n)\n"
+            }
+          },
+          "pypi__coverage_cp310_x86_64-unknown-linux-gnu": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_archive",
+            "attributes": {
+              "build_file_content": "\nfilegroup(\n    name = \"coverage\",\n    srcs = [\"coverage/__main__.py\"],\n    data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n    visibility = [\"//visibility:public\"],\n)\n    ",
+              "patch_args": [
+                "-p1"
+              ],
+              "patches": [
+                "@@rules_python~//python/private:coverage.patch"
+              ],
+              "sha256": "af4fffaffc4067232253715065e30c5a7ec6faac36f8fc8d6f64263b15f74db0",
+              "type": "zip",
+              "urls": [
+                "https://files.pythonhosted.org/packages/3c/7d/d5211ea782b193ab8064b06dc0cc042cf1a4ca9c93a530071459172c550f/coverage-6.5.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl"
+              ]
+            }
+          },
+          "pypi__coverage_cp311_x86_64-apple-darwin": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_archive",
+            "attributes": {
+              "build_file_content": "\nfilegroup(\n    name = \"coverage\",\n    srcs = [\"coverage/__main__.py\"],\n    data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n    visibility = [\"//visibility:public\"],\n)\n    ",
+              "patch_args": [
+                "-p1"
+              ],
+              "patches": [
+                "@@rules_python~//python/private:coverage.patch"
+              ],
+              "sha256": "4a5375e28c5191ac38cca59b38edd33ef4cc914732c916f2929029b4bfb50795",
+              "type": "zip",
+              "urls": [
+                "https://files.pythonhosted.org/packages/50/cf/455930004231fa87efe8be06d13512f34e070ddfee8b8bf5a050cdc47ab3/coverage-6.5.0-cp311-cp311-macosx_10_9_x86_64.whl"
+              ]
+            }
+          },
+          "pypi__coverage_cp310_aarch64-unknown-linux-gnu": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_archive",
+            "attributes": {
+              "build_file_content": "\nfilegroup(\n    name = \"coverage\",\n    srcs = [\"coverage/__main__.py\"],\n    data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n    visibility = [\"//visibility:public\"],\n)\n    ",
+              "patch_args": [
+                "-p1"
+              ],
+              "patches": [
+                "@@rules_python~//python/private:coverage.patch"
+              ],
+              "sha256": "b4a5be1748d538a710f87542f22c2cad22f80545a847ad91ce45e77417293eb4",
+              "type": "zip",
+              "urls": [
+                "https://files.pythonhosted.org/packages/15/b0/3639d84ee8a900da0cf6450ab46e22517e4688b6cec0ba8ab6f8166103a2/coverage-6.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl"
+              ]
+            }
+          },
+          "pypi__coverage_cp39_aarch64-unknown-linux-gnu": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_archive",
+            "attributes": {
+              "build_file_content": "\nfilegroup(\n    name = \"coverage\",\n    srcs = [\"coverage/__main__.py\"],\n    data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n    visibility = [\"//visibility:public\"],\n)\n    ",
+              "patch_args": [
+                "-p1"
+              ],
+              "patches": [
+                "@@rules_python~//python/private:coverage.patch"
+              ],
+              "sha256": "b9023e237f4c02ff739581ef35969c3739445fb059b060ca51771e69101efffe",
+              "type": "zip",
+              "urls": [
+                "https://files.pythonhosted.org/packages/18/95/27f80dcd8273171b781a19d109aeaed7f13d78ef6d1e2f7134a5826fd1b4/coverage-6.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl"
+              ]
+            }
+          },
+          "pypi__coverage_cp310_aarch64-apple-darwin": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_archive",
+            "attributes": {
+              "build_file_content": "\nfilegroup(\n    name = \"coverage\",\n    srcs = [\"coverage/__main__.py\"],\n    data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n    visibility = [\"//visibility:public\"],\n)\n    ",
+              "patch_args": [
+                "-p1"
+              ],
+              "patches": [
+                "@@rules_python~//python/private:coverage.patch"
+              ],
+              "sha256": "784f53ebc9f3fd0e2a3f6a78b2be1bd1f5575d7863e10c6e12504f240fd06660",
+              "type": "zip",
+              "urls": [
+                "https://files.pythonhosted.org/packages/89/a2/cbf599e50bb4be416e0408c4cf523c354c51d7da39935461a9687e039481/coverage-6.5.0-cp310-cp310-macosx_11_0_arm64.whl"
+              ]
+            }
+          },
+          "pypi__pip": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_archive",
+            "attributes": {
+              "url": "https://files.pythonhosted.org/packages/09/bd/2410905c76ee14c62baf69e3f4aa780226c1bbfc9485731ad018e35b0cb5/pip-22.3.1-py3-none-any.whl",
+              "sha256": "908c78e6bc29b676ede1c4d57981d490cb892eb45cd8c214ab6298125119e077",
+              "type": "zip",
+              "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n    name = \"lib\",\n    srcs = glob([\"**/*.py\"]),\n    data = glob([\"**/*\"], exclude=[\n        # These entries include those put into user-installed dependencies by\n        # data_exclude in /python/pip_install/tools/bazel.py\n        # to avoid non-determinism following pip install's behavior.\n        \"**/*.py\",\n        \"**/*.pyc\",\n        \"**/* *\",\n        \"**/*.dist-info/RECORD\",\n        \"BUILD\",\n        \"WORKSPACE\",\n    ]),\n    # This makes this directory a top-level in the python import\n    # search path for anything that depends on this.\n    imports = [\".\"],\n)\n"
+            }
+          },
+          "pypi__coverage_cp38_x86_64-apple-darwin": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_archive",
+            "attributes": {
+              "build_file_content": "\nfilegroup(\n    name = \"coverage\",\n    srcs = [\"coverage/__main__.py\"],\n    data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n    visibility = [\"//visibility:public\"],\n)\n    ",
+              "patch_args": [
+                "-p1"
+              ],
+              "patches": [
+                "@@rules_python~//python/private:coverage.patch"
+              ],
+              "sha256": "d900bb429fdfd7f511f868cedd03a6bbb142f3f9118c09b99ef8dc9bf9643c3c",
+              "type": "zip",
+              "urls": [
+                "https://files.pythonhosted.org/packages/05/63/a789b462075395d34f8152229dccf92b25ca73eac05b3f6cd75fa5017095/coverage-6.5.0-cp38-cp38-macosx_10_9_x86_64.whl"
+              ]
+            }
+          },
+          "pypi__coverage_cp311_x86_64-unknown-linux-gnu": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_archive",
+            "attributes": {
+              "build_file_content": "\nfilegroup(\n    name = \"coverage\",\n    srcs = [\"coverage/__main__.py\"],\n    data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n    visibility = [\"//visibility:public\"],\n)\n    ",
+              "patch_args": [
+                "-p1"
+              ],
+              "patches": [
+                "@@rules_python~//python/private:coverage.patch"
+              ],
+              "sha256": "a8fb6cf131ac4070c9c5a3e21de0f7dc5a0fbe8bc77c9456ced896c12fcdad91",
+              "type": "zip",
+              "urls": [
+                "https://files.pythonhosted.org/packages/6a/63/8e82513b7e4a1b8d887b4e85c1c2b6c9b754a581b187c0b084f3330ac479/coverage-6.5.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl"
+              ]
+            }
+          },
+          "pypi__tomli": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_archive",
+            "attributes": {
+              "url": "https://files.pythonhosted.org/packages/97/75/10a9ebee3fd790d20926a90a2547f0bf78f371b2f13aa822c759680ca7b9/tomli-2.0.1-py3-none-any.whl",
+              "sha256": "939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc",
+              "type": "zip",
+              "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n    name = \"lib\",\n    srcs = glob([\"**/*.py\"]),\n    data = glob([\"**/*\"], exclude=[\n        # These entries include those put into user-installed dependencies by\n        # data_exclude in /python/pip_install/tools/bazel.py\n        # to avoid non-determinism following pip install's behavior.\n        \"**/*.py\",\n        \"**/*.pyc\",\n        \"**/* *\",\n        \"**/*.dist-info/RECORD\",\n        \"BUILD\",\n        \"WORKSPACE\",\n    ]),\n    # This makes this directory a top-level in the python import\n    # search path for anything that depends on this.\n    imports = [\".\"],\n)\n"
+            }
+          },
+          "pypi__coverage_cp39_x86_64-apple-darwin": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_archive",
+            "attributes": {
+              "build_file_content": "\nfilegroup(\n    name = \"coverage\",\n    srcs = [\"coverage/__main__.py\"],\n    data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n    visibility = [\"//visibility:public\"],\n)\n    ",
+              "patch_args": [
+                "-p1"
+              ],
+              "patches": [
+                "@@rules_python~//python/private:coverage.patch"
+              ],
+              "sha256": "633713d70ad6bfc49b34ead4060531658dc6dfc9b3eb7d8a716d5873377ab745",
+              "type": "zip",
+              "urls": [
+                "https://files.pythonhosted.org/packages/ea/52/c08080405329326a7ff16c0dfdb4feefaa8edd7446413df67386fe1bbfe0/coverage-6.5.0-cp39-cp39-macosx_10_9_x86_64.whl"
+              ]
             }
           },
           "pypi__wheel": {
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.10.2~pip_install~pypi__wheel",
-              "url": "https://files.pythonhosted.org/packages/27/d6/003e593296a85fd6ed616ed962795b2f87709c3eee2bca4f6d0fe55c6d00/wheel-0.37.1-py2.py3-none-any.whl",
-              "sha256": "4bdcd7d840138086126cd09254dc6195fb4fc6f01c050a1d7236f2630db1d22a",
+              "url": "https://files.pythonhosted.org/packages/bd/7c/d38a0b30ce22fc26ed7dbc087c6d00851fb3395e9d0dac40bec1f905030c/wheel-0.38.4-py3-none-any.whl",
+              "sha256": "b60533f3f5d530e971d6737ca6d58681ee434818fab630c83a734bb10c083ce8",
               "type": "zip",
-              "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n    name = \"lib\",\n    srcs = glob([\"**/*.py\"]),\n    data = glob([\"**/*\"], exclude=[\"**/*.py\", \"**/* *\", \"BUILD\", \"WORKSPACE\"]),\n    # This makes this directory a top-level in the python import\n    # search path for anything that depends on this.\n    imports = [\".\"],\n)\n"
+              "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n    name = \"lib\",\n    srcs = glob([\"**/*.py\"]),\n    data = glob([\"**/*\"], exclude=[\n        # These entries include those put into user-installed dependencies by\n        # data_exclude in /python/pip_install/tools/bazel.py\n        # to avoid non-determinism following pip install's behavior.\n        \"**/*.py\",\n        \"**/*.pyc\",\n        \"**/* *\",\n        \"**/*.dist-info/RECORD\",\n        \"BUILD\",\n        \"WORKSPACE\",\n    ]),\n    # This makes this directory a top-level in the python import\n    # search path for anything that depends on this.\n    imports = [\".\"],\n)\n"
+            }
+          },
+          "pypi__coverage_cp311_aarch64-unknown-linux-gnu": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_archive",
+            "attributes": {
+              "build_file_content": "\nfilegroup(\n    name = \"coverage\",\n    srcs = [\"coverage/__main__.py\"],\n    data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n    visibility = [\"//visibility:public\"],\n)\n    ",
+              "patch_args": [
+                "-p1"
+              ],
+              "patches": [
+                "@@rules_python~//python/private:coverage.patch"
+              ],
+              "sha256": "c4ed2820d919351f4167e52425e096af41bfabacb1857186c1ea32ff9983ed75",
+              "type": "zip",
+              "urls": [
+                "https://files.pythonhosted.org/packages/36/f3/5cbd79cf4cd059c80b59104aca33b8d05af4ad5bf5b1547645ecee716378/coverage-6.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl"
+              ]
             }
           },
           "pypi__click": {
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.10.2~pip_install~pypi__click",
               "url": "https://files.pythonhosted.org/packages/76/0a/b6c5f311e32aeb3b406e03c079ade51e905ea630fc19d1262a46249c1c86/click-8.0.1-py3-none-any.whl",
               "sha256": "fba402a4a47334742d782209a7c79bc448911afe1149d07bdabdf480b3e2f4b6",
               "type": "zip",
-              "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n    name = \"lib\",\n    srcs = glob([\"**/*.py\"]),\n    data = glob([\"**/*\"], exclude=[\"**/*.py\", \"**/* *\", \"BUILD\", \"WORKSPACE\"]),\n    # This makes this directory a top-level in the python import\n    # search path for anything that depends on this.\n    imports = [\".\"],\n)\n"
+              "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n    name = \"lib\",\n    srcs = glob([\"**/*.py\"]),\n    data = glob([\"**/*\"], exclude=[\n        # These entries include those put into user-installed dependencies by\n        # data_exclude in /python/pip_install/tools/bazel.py\n        # to avoid non-determinism following pip install's behavior.\n        \"**/*.py\",\n        \"**/*.pyc\",\n        \"**/* *\",\n        \"**/*.dist-info/RECORD\",\n        \"BUILD\",\n        \"WORKSPACE\",\n    ]),\n    # This makes this directory a top-level in the python import\n    # search path for anything that depends on this.\n    imports = [\".\"],\n)\n"
+            }
+          },
+          "pypi__coverage_cp39_x86_64-unknown-linux-gnu": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_archive",
+            "attributes": {
+              "build_file_content": "\nfilegroup(\n    name = \"coverage\",\n    srcs = [\"coverage/__main__.py\"],\n    data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n    visibility = [\"//visibility:public\"],\n)\n    ",
+              "patch_args": [
+                "-p1"
+              ],
+              "patches": [
+                "@@rules_python~//python/private:coverage.patch"
+              ],
+              "sha256": "8f830ed581b45b82451a40faabb89c84e1a998124ee4212d440e9c6cf70083e5",
+              "type": "zip",
+              "urls": [
+                "https://files.pythonhosted.org/packages/6b/f2/919f0fdc93d3991ca074894402074d847be8ac1e1d78e7e9e1c371b69a6f/coverage-6.5.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl"
+              ]
+            }
+          },
+          "pypi__importlib_metadata": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_archive",
+            "attributes": {
+              "url": "https://files.pythonhosted.org/packages/d7/31/74dcb59a601b95fce3b0334e8fc9db758f78e43075f22aeb3677dfb19f4c/importlib_metadata-1.4.0-py2.py3-none-any.whl",
+              "sha256": "bdd9b7c397c273bcc9a11d6629a38487cd07154fa255a467bf704cd2c258e359",
+              "type": "zip",
+              "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n    name = \"lib\",\n    srcs = glob([\"**/*.py\"]),\n    data = glob([\"**/*\"], exclude=[\n        # These entries include those put into user-installed dependencies by\n        # data_exclude in /python/pip_install/tools/bazel.py\n        # to avoid non-determinism following pip install's behavior.\n        \"**/*.py\",\n        \"**/*.pyc\",\n        \"**/* *\",\n        \"**/*.dist-info/RECORD\",\n        \"BUILD\",\n        \"WORKSPACE\",\n    ]),\n    # This makes this directory a top-level in the python import\n    # search path for anything that depends on this.\n    imports = [\".\"],\n)\n"
             }
           },
           "pypi__pep517": {
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.10.2~pip_install~pypi__pep517",
-              "url": "https://files.pythonhosted.org/packages/f4/67/846c08e18fefb265a66e6fd5a34269d649b779718d9bf59622085dabd370/pep517-0.12.0-py2.py3-none-any.whl",
-              "sha256": "dd884c326898e2c6e11f9e0b64940606a93eb10ea022a2e067959f3a110cf161",
+              "url": "https://files.pythonhosted.org/packages/ee/2f/ef63e64e9429111e73d3d6cbee80591672d16f2725e648ebc52096f3d323/pep517-0.13.0-py3-none-any.whl",
+              "sha256": "4ba4446d80aed5b5eac6509ade100bff3e7943a8489de249654a5ae9b33ee35b",
               "type": "zip",
-              "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n    name = \"lib\",\n    srcs = glob([\"**/*.py\"]),\n    data = glob([\"**/*\"], exclude=[\"**/*.py\", \"**/* *\", \"BUILD\", \"WORKSPACE\"]),\n    # This makes this directory a top-level in the python import\n    # search path for anything that depends on this.\n    imports = [\".\"],\n)\n"
+              "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n    name = \"lib\",\n    srcs = glob([\"**/*.py\"]),\n    data = glob([\"**/*\"], exclude=[\n        # These entries include those put into user-installed dependencies by\n        # data_exclude in /python/pip_install/tools/bazel.py\n        # to avoid non-determinism following pip install's behavior.\n        \"**/*.py\",\n        \"**/*.pyc\",\n        \"**/* *\",\n        \"**/*.dist-info/RECORD\",\n        \"BUILD\",\n        \"WORKSPACE\",\n    ]),\n    # This makes this directory a top-level in the python import\n    # search path for anything that depends on this.\n    imports = [\".\"],\n)\n"
             }
           },
-          "pypi__pip": {
+          "pypi__coverage_cp38_x86_64-unknown-linux-gnu": {
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.10.2~pip_install~pypi__pip",
-              "url": "https://files.pythonhosted.org/packages/96/2f/caec18213f6a67852f6997fb0673ae08d2e93d1b81573edb93ba4ef06970/pip-22.1.2-py3-none-any.whl",
-              "sha256": "a3edacb89022ef5258bf61852728bf866632a394da837ca49eb4303635835f17",
+              "build_file_content": "\nfilegroup(\n    name = \"coverage\",\n    srcs = [\"coverage/__main__.py\"],\n    data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n    visibility = [\"//visibility:public\"],\n)\n    ",
+              "patch_args": [
+                "-p1"
+              ],
+              "patches": [
+                "@@rules_python~//python/private:coverage.patch"
+              ],
+              "sha256": "6b07130585d54fe8dff3d97b93b0e20290de974dc8177c320aeaf23459219c0b",
               "type": "zip",
-              "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n    name = \"lib\",\n    srcs = glob([\"**/*.py\"]),\n    data = glob([\"**/*\"], exclude=[\"**/*.py\", \"**/* *\", \"BUILD\", \"WORKSPACE\"]),\n    # This makes this directory a top-level in the python import\n    # search path for anything that depends on this.\n    imports = [\".\"],\n)\n"
+              "urls": [
+                "https://files.pythonhosted.org/packages/bd/a0/e263b115808226fdb2658f1887808c06ac3f1b579ef5dda02309e0d54459/coverage-6.5.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl"
+              ]
             }
           },
-          "pypi__installer": {
+          "pypi__coverage_cp38_aarch64-apple-darwin": {
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.10.2~pip_install~pypi__installer",
-              "url": "https://files.pythonhosted.org/packages/1b/21/3e6ebd12d8dccc55bcb7338db462c75ac86dbd0ac7439ac114616b21667b/installer-0.5.1-py3-none-any.whl",
-              "sha256": "1d6c8d916ed82771945b9c813699e6f57424ded970c9d8bf16bbc23e1e826ed3",
+              "build_file_content": "\nfilegroup(\n    name = \"coverage\",\n    srcs = [\"coverage/__main__.py\"],\n    data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n    visibility = [\"//visibility:public\"],\n)\n    ",
+              "patch_args": [
+                "-p1"
+              ],
+              "patches": [
+                "@@rules_python~//python/private:coverage.patch"
+              ],
+              "sha256": "2198ea6fc548de52adc826f62cb18554caedfb1d26548c1b7c88d8f7faa8f6ba",
               "type": "zip",
-              "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n    name = \"lib\",\n    srcs = glob([\"**/*.py\"]),\n    data = glob([\"**/*\"], exclude=[\"**/*.py\", \"**/* *\", \"BUILD\", \"WORKSPACE\"]),\n    # This makes this directory a top-level in the python import\n    # search path for anything that depends on this.\n    imports = [\".\"],\n)\n"
+              "urls": [
+                "https://files.pythonhosted.org/packages/07/82/79fa21ceca9a9b091eb3c67e27eb648dade27b2c9e1eb23af47232a2a365/coverage-6.5.0-cp38-cp38-macosx_11_0_arm64.whl"
+              ]
             }
           },
-          "pypi__pip_tools": {
+          "pypi__packaging": {
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.10.2~pip_install~pypi__pip_tools",
-              "url": "https://files.pythonhosted.org/packages/fe/5c/8995799b0ccf832906b4968b4eb2045beb9b3de79e96e6b1a6e4fc4e6974/pip_tools-6.6.2-py3-none-any.whl",
-              "sha256": "6b486548e5a139e30e4c4a225b3b7c2d46942a9f6d1a91143c21b1de4d02fd9b",
+              "url": "https://files.pythonhosted.org/packages/8f/7b/42582927d281d7cb035609cd3a543ffac89b74f3f4ee8e1c50914bcb57eb/packaging-22.0-py3-none-any.whl",
+              "sha256": "957e2148ba0e1a3b282772e791ef1d8083648bc131c8ab0c1feba110ce1146c3",
               "type": "zip",
-              "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n    name = \"lib\",\n    srcs = glob([\"**/*.py\"]),\n    data = glob([\"**/*\"], exclude=[\"**/*.py\", \"**/* *\", \"BUILD\", \"WORKSPACE\"]),\n    # This makes this directory a top-level in the python import\n    # search path for anything that depends on this.\n    imports = [\".\"],\n)\n"
+              "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n    name = \"lib\",\n    srcs = glob([\"**/*.py\"]),\n    data = glob([\"**/*\"], exclude=[\n        # These entries include those put into user-installed dependencies by\n        # data_exclude in /python/pip_install/tools/bazel.py\n        # to avoid non-determinism following pip install's behavior.\n        \"**/*.py\",\n        \"**/*.pyc\",\n        \"**/* *\",\n        \"**/*.dist-info/RECORD\",\n        \"BUILD\",\n        \"WORKSPACE\",\n    ]),\n    # This makes this directory a top-level in the python import\n    # search path for anything that depends on this.\n    imports = [\".\"],\n)\n"
             }
           },
           "pypi__setuptools": {
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.10.2~pip_install~pypi__setuptools",
               "url": "https://files.pythonhosted.org/packages/7c/5b/3d92b9f0f7ca1645cba48c080b54fe7d8b1033a4e5720091d1631c4266db/setuptools-60.10.0-py3-none-any.whl",
               "sha256": "782ef48d58982ddb49920c11a0c5c9c0b02e7d7d1c2ad0aa44e1a1e133051c96",
               "type": "zip",
-              "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n    name = \"lib\",\n    srcs = glob([\"**/*.py\"]),\n    data = glob([\"**/*\"], exclude=[\"**/*.py\", \"**/* *\", \"BUILD\", \"WORKSPACE\"]),\n    # This makes this directory a top-level in the python import\n    # search path for anything that depends on this.\n    imports = [\".\"],\n)\n"
+              "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n    name = \"lib\",\n    srcs = glob([\"**/*.py\"]),\n    data = glob([\"**/*\"], exclude=[\n        # These entries include those put into user-installed dependencies by\n        # data_exclude in /python/pip_install/tools/bazel.py\n        # to avoid non-determinism following pip install's behavior.\n        \"**/*.py\",\n        \"**/*.pyc\",\n        \"**/* *\",\n        \"**/*.dist-info/RECORD\",\n        \"BUILD\",\n        \"WORKSPACE\",\n    ]),\n    # This makes this directory a top-level in the python import\n    # search path for anything that depends on this.\n    imports = [\".\"],\n)\n"
             }
           },
-          "pypi__tomli": {
+          "pypi__zipp": {
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.10.2~pip_install~pypi__tomli",
-              "url": "https://files.pythonhosted.org/packages/97/75/10a9ebee3fd790d20926a90a2547f0bf78f371b2f13aa822c759680ca7b9/tomli-2.0.1-py3-none-any.whl",
-              "sha256": "939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc",
+              "url": "https://files.pythonhosted.org/packages/f4/50/cc72c5bcd48f6e98219fc4a88a5227e9e28b81637a99c49feba1d51f4d50/zipp-1.0.0-py2.py3-none-any.whl",
+              "sha256": "8dda78f06bd1674bd8720df8a50bb47b6e1233c503a4eed8e7810686bde37656",
               "type": "zip",
-              "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n    name = \"lib\",\n    srcs = glob([\"**/*.py\"]),\n    data = glob([\"**/*\"], exclude=[\"**/*.py\", \"**/* *\", \"BUILD\", \"WORKSPACE\"]),\n    # This makes this directory a top-level in the python import\n    # search path for anything that depends on this.\n    imports = [\".\"],\n)\n"
+              "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n    name = \"lib\",\n    srcs = glob([\"**/*.py\"]),\n    data = glob([\"**/*\"], exclude=[\n        # These entries include those put into user-installed dependencies by\n        # data_exclude in /python/pip_install/tools/bazel.py\n        # to avoid non-determinism following pip install's behavior.\n        \"**/*.py\",\n        \"**/*.pyc\",\n        \"**/* *\",\n        \"**/*.dist-info/RECORD\",\n        \"BUILD\",\n        \"WORKSPACE\",\n    ]),\n    # This makes this directory a top-level in the python import\n    # search path for anything that depends on this.\n    imports = [\".\"],\n)\n"
+            }
+          },
+          "pypi__colorama": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_archive",
+            "attributes": {
+              "url": "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl",
+              "sha256": "4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6",
+              "type": "zip",
+              "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n    name = \"lib\",\n    srcs = glob([\"**/*.py\"]),\n    data = glob([\"**/*\"], exclude=[\n        # These entries include those put into user-installed dependencies by\n        # data_exclude in /python/pip_install/tools/bazel.py\n        # to avoid non-determinism following pip install's behavior.\n        \"**/*.py\",\n        \"**/*.pyc\",\n        \"**/* *\",\n        \"**/*.dist-info/RECORD\",\n        \"BUILD\",\n        \"WORKSPACE\",\n    ]),\n    # This makes this directory a top-level in the python import\n    # search path for anything that depends on this.\n    imports = [\".\"],\n)\n"
+            }
+          },
+          "pypi__build": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_archive",
+            "attributes": {
+              "url": "https://files.pythonhosted.org/packages/03/97/f58c723ff036a8d8b4d3115377c0a37ed05c1f68dd9a0d66dab5e82c5c1c/build-0.9.0-py3-none-any.whl",
+              "sha256": "38a7a2b7a0bdc61a42a0a67509d88c71ecfc37b393baba770fae34e20929ff69",
+              "type": "zip",
+              "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n    name = \"lib\",\n    srcs = glob([\"**/*.py\"]),\n    data = glob([\"**/*\"], exclude=[\n        # These entries include those put into user-installed dependencies by\n        # data_exclude in /python/pip_install/tools/bazel.py\n        # to avoid non-determinism following pip install's behavior.\n        \"**/*.py\",\n        \"**/*.pyc\",\n        \"**/* *\",\n        \"**/*.dist-info/RECORD\",\n        \"BUILD\",\n        \"WORKSPACE\",\n    ]),\n    # This makes this directory a top-level in the python import\n    # search path for anything that depends on this.\n    imports = [\".\"],\n)\n"
+            }
+          },
+          "pypi__coverage_cp310_x86_64-apple-darwin": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_archive",
+            "attributes": {
+              "build_file_content": "\nfilegroup(\n    name = \"coverage\",\n    srcs = [\"coverage/__main__.py\"],\n    data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n    visibility = [\"//visibility:public\"],\n)\n    ",
+              "patch_args": [
+                "-p1"
+              ],
+              "patches": [
+                "@@rules_python~//python/private:coverage.patch"
+              ],
+              "sha256": "ef8674b0ee8cc11e2d574e3e2998aea5df5ab242e012286824ea3c6970580e53",
+              "type": "zip",
+              "urls": [
+                "https://files.pythonhosted.org/packages/c4/8d/5ec7d08f4601d2d792563fe31db5e9322c306848fec1e65ec8885927f739/coverage-6.5.0-cp310-cp310-macosx_10_9_x86_64.whl"
+              ]
+            }
+          },
+          "pypi__installer": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_archive",
+            "attributes": {
+              "url": "https://files.pythonhosted.org/packages/e5/ca/1172b6638d52f2d6caa2dd262ec4c811ba59eee96d54a7701930726bce18/installer-0.7.0-py3-none-any.whl",
+              "sha256": "05d1933f0a5ba7d8d6296bb6d5018e7c94fa473ceb10cf198a92ccea19c27b53",
+              "type": "zip",
+              "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n    name = \"lib\",\n    srcs = glob([\"**/*.py\"]),\n    data = glob([\"**/*\"], exclude=[\n        # These entries include those put into user-installed dependencies by\n        # data_exclude in /python/pip_install/tools/bazel.py\n        # to avoid non-determinism following pip install's behavior.\n        \"**/*.py\",\n        \"**/*.pyc\",\n        \"**/* *\",\n        \"**/*.dist-info/RECORD\",\n        \"BUILD\",\n        \"WORKSPACE\",\n    ]),\n    # This makes this directory a top-level in the python import\n    # search path for anything that depends on this.\n    imports = [\".\"],\n)\n"
+            }
+          },
+          "pypi__more_itertools": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_archive",
+            "attributes": {
+              "url": "https://files.pythonhosted.org/packages/bd/3f/c4b3dbd315e248f84c388bd4a72b131a29f123ecacc37ffb2b3834546e42/more_itertools-8.13.0-py3-none-any.whl",
+              "sha256": "c5122bffc5f104d37c1626b8615b511f3427aa5389b94d61e5ef8236bfbc3ddb",
+              "type": "zip",
+              "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n    name = \"lib\",\n    srcs = glob([\"**/*.py\"]),\n    data = glob([\"**/*\"], exclude=[\n        # These entries include those put into user-installed dependencies by\n        # data_exclude in /python/pip_install/tools/bazel.py\n        # to avoid non-determinism following pip install's behavior.\n        \"**/*.py\",\n        \"**/*.pyc\",\n        \"**/* *\",\n        \"**/*.dist-info/RECORD\",\n        \"BUILD\",\n        \"WORKSPACE\",\n    ]),\n    # This makes this directory a top-level in the python import\n    # search path for anything that depends on this.\n    imports = [\".\"],\n)\n"
             }
           }
         },
         "recordedRepoMappingEntries": [
           [
-            "rules_python~0.10.2",
+            "rules_python~",
+            "bazel_skylib",
+            "bazel_skylib~"
+          ],
+          [
+            "rules_python~",
             "bazel_tools",
             "bazel_tools"
           ],
           [
-            "rules_python~0.10.2",
+            "rules_python~",
             "rules_python",
-            "rules_python~0.10.2"
+            "rules_python~"
           ]
         ]
       }
diff --git a/pkgs/development/tools/build-managers/bazel/buildtools/default.nix b/pkgs/development/tools/build-managers/bazel/buildtools/default.nix
index 8469ffd49fd06..65574129ab938 100644
--- a/pkgs/development/tools/build-managers/bazel/buildtools/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/buildtools/default.nix
@@ -31,7 +31,7 @@ buildGoModule rec {
     changelog = "https://github.com/bazelbuild/buildtools/releases/tag/v${version}";
     license = licenses.asl20;
     maintainers = with maintainers;
-      [ elasticdog uri-canva marsam ]
+      [ elasticdog uri-canva ]
       ++ lib.teams.bazel.members;
   };
 }
diff --git a/pkgs/development/tools/build-managers/bazel/cpp-test.nix b/pkgs/development/tools/build-managers/bazel/cpp-test.nix
index 8129c3235f365..7b0e2a5d01bf3 100644
--- a/pkgs/development/tools/build-managers/bazel/cpp-test.nix
+++ b/pkgs/development/tools/build-managers/bazel/cpp-test.nix
@@ -41,7 +41,7 @@ let
   ''));
 
   testBazel = bazelTest {
-    name = "bazel-test-cpp";
+    name = "${bazel.pname}-test-cpp";
     inherit workspaceDir;
     bazelPkg = bazel;
     bazelScript = ''
diff --git a/pkgs/development/tools/build-managers/bazel/java-test.nix b/pkgs/development/tools/build-managers/bazel/java-test.nix
index 91fade474d6fe..ed4711f4027f9 100644
--- a/pkgs/development/tools/build-managers/bazel/java-test.nix
+++ b/pkgs/development/tools/build-managers/bazel/java-test.nix
@@ -41,7 +41,7 @@ let
   ''));
 
   testBazel = bazelTest {
-    name = "bazel-test-java";
+    name = "${bazel.pname}-test-java";
     inherit workspaceDir;
     bazelPkg = bazel;
     buildInputs = [ (if lib.strings.versionOlder bazel.version "5.0.0" then openjdk8 else jdk11_headless) ];
diff --git a/pkgs/development/tools/build-managers/bazel/protobuf-test.nix b/pkgs/development/tools/build-managers/bazel/protobuf-test.nix
index cc78fca6a47c1..963bad679c50c 100644
--- a/pkgs/development/tools/build-managers/bazel/protobuf-test.nix
+++ b/pkgs/development/tools/build-managers/bazel/protobuf-test.nix
@@ -160,7 +160,7 @@ let
   ''));
 
   testBazel = bazelTest {
-    name = "bazel-test-protocol-buffers";
+    name = "${bazel.pname}-test-protocol-buffers";
     inherit workspaceDir;
     bazelPkg = bazel;
     buildInputs = [ (if lib.strings.versionOlder bazel.version "5.0.0" then openjdk8 else jdk11_headless) ];
diff --git a/pkgs/development/tools/build-managers/bazel/python-bin-path-test.nix b/pkgs/development/tools/build-managers/bazel/python-bin-path-test.nix
index bd0f71a5d9792..2538a2ae074ad 100644
--- a/pkgs/development/tools/build-managers/bazel/python-bin-path-test.nix
+++ b/pkgs/development/tools/build-managers/bazel/python-bin-path-test.nix
@@ -71,7 +71,7 @@ let
   ''));
 
   testBazel = bazelTest {
-    name = "bazel-test-builtin-rules";
+    name = "${bazel.pname}-test-builtin-rules";
     inherit workspaceDir;
     bazelPkg = bazel;
     bazelScript = ''
diff --git a/pkgs/development/tools/build-managers/buck/default.nix b/pkgs/development/tools/build-managers/buck/default.nix
index dff44f4cd2405..a21a38839b10d 100644
--- a/pkgs/development/tools/build-managers/buck/default.nix
+++ b/pkgs/development/tools/build-managers/buck/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
     homepage = "https://buck.build/";
     description = "A high-performance build tool";
     mainProgram = "buck";
-    maintainers = [ maintainers.jgertm maintainers.marsam ];
+    maintainers = [ maintainers.jgertm ];
     license = licenses.asl20;
     platforms = platforms.all;
     # https://github.com/facebook/buck/issues/2666
diff --git a/pkgs/development/tools/build-managers/moon/default.nix b/pkgs/development/tools/build-managers/moon/default.nix
index 192c7944fcd6c..08beabc6f74a9 100644
--- a/pkgs/development/tools/build-managers/moon/default.nix
+++ b/pkgs/development/tools/build-managers/moon/default.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "moon";
-  version = "1.22.10";
+  version = "1.24.2";
 
   src = fetchFromGitHub {
     owner = "moonrepo";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-BJ3Src412WS1uWt04OaRIjhtZt+8vh15Ve/+c2qZFdU=";
+    hash = "sha256-G1SblnbT0goOsefEy1QbCkp32JKs0usfKMWDsn3k7/M=";
   };
 
-  cargoHash = "sha256-G/vZT/iOQtpr0gtT0pjRXIhhpPrjnR/kBg6fVAMuDB0=";
+  cargoHash = "sha256-z2Kgo8i6fk3sfX6bCBmyqIfFSw75v4NhnUFSBKJQwXs=";
 
   env = {
     RUSTFLAGS = "-C strip=symbols";
diff --git a/pkgs/development/tools/build-managers/scala-cli/sources.json b/pkgs/development/tools/build-managers/scala-cli/sources.json
index b3bf504901d5c..e07a11c40d745 100644
--- a/pkgs/development/tools/build-managers/scala-cli/sources.json
+++ b/pkgs/development/tools/build-managers/scala-cli/sources.json
@@ -1,21 +1,21 @@
 {
-  "version": "1.2.2",
+  "version": "1.3.0",
   "assets": {
     "aarch64-darwin": {
       "asset": "scala-cli-aarch64-apple-darwin.gz",
-      "sha256": "103qjwh3lcckbillx9q5pi0s10xp65vygrwlzhnqbczcxrlsa3d1"
+      "sha256": "140klmqcv8cjnznsn35vba7mgmifrp9p776n39m689hkprzz474w"
     },
     "aarch64-linux": {
       "asset": "scala-cli-aarch64-pc-linux.gz",
-      "sha256": "0nnv4b2rlnczhxa46n7cif5pxhqj5djzc1063r37z225wxs6lcqm"
+      "sha256": "1vxq4j2slrdvxzq0chm8nggdrrj3fdb7q1qqbhf83vlirgrf9da1"
     },
     "x86_64-darwin": {
       "asset": "scala-cli-x86_64-apple-darwin.gz",
-      "sha256": "09iizd55k53wpg13yfm2xr2waan9qdkfn5x5v2f5rr1v4l3cj90i"
+      "sha256": "0df8jilv5hzka9xhwhhgq7imw4xik2ybdzh318ka77rwd58wy5yy"
     },
     "x86_64-linux": {
       "asset": "scala-cli-x86_64-pc-linux.gz",
-      "sha256": "0jgclzd0b36adj187c9qa2y7mkgwpzb1wy5apssdm49ng6b92lbs"
+      "sha256": "0rw40xqchw3s07acyn2n35z0nlf7fyrvyixhl41wf28q999kbxwn"
     }
   }
 }
diff --git a/pkgs/development/tools/buildkit/default.nix b/pkgs/development/tools/buildkit/default.nix
index 325d51e939a47..a82c76af4af2c 100644
--- a/pkgs/development/tools/buildkit/default.nix
+++ b/pkgs/development/tools/buildkit/default.nix
@@ -24,7 +24,7 @@ buildGoModule rec {
     homepage = "https://github.com/moby/buildkit";
     changelog = "https://github.com/moby/buildkit/releases/tag/v${version}";
     license = licenses.asl20;
-    maintainers = with maintainers; [ vdemeester marsam developer-guy ];
+    maintainers = with maintainers; [ vdemeester developer-guy ];
     mainProgram = "buildctl";
   };
 }
diff --git a/pkgs/development/tools/buildpack/default.nix b/pkgs/development/tools/buildpack/default.nix
index d2eb4cc531c51..307a5e58493f0 100644
--- a/pkgs/development/tools/buildpack/default.nix
+++ b/pkgs/development/tools/buildpack/default.nix
@@ -32,6 +32,6 @@ buildGoModule rec {
     description = "CLI for building apps using Cloud Native Buildpacks";
     mainProgram = "pack";
     license = licenses.asl20;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/tools/bundletool/default.nix b/pkgs/development/tools/bundletool/default.nix
index 46aa9902e7179..d6f92f25bdfcc 100644
--- a/pkgs/development/tools/bundletool/default.nix
+++ b/pkgs/development/tools/bundletool/default.nix
@@ -2,11 +2,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "bundletool";
-  version = "1.15.6";
+  version = "1.16.0";
 
   src = fetchurl {
     url = "https://github.com/google/bundletool/releases/download/${version}/bundletool-all-${version}.jar";
-    sha256 = "sha256-OK6KELzazvB+zOghEYjFySs3a+lto4/z7h8s9IlbLLg=";
+    sha256 = "sha256-ggeZb4Oig5r9WtboUy2nSF6gaHS4BiohqUs+Lrl+s5Y=";
   };
 
   dontUnpack = true;
@@ -25,7 +25,7 @@ stdenvNoCC.mkDerivation rec {
     homepage = "https://developer.android.com/studio/command-line/bundletool";
     changelog = "https://github.com/google/bundletool/releases/tag/${version}";
     sourceProvenance = with sourceTypes; [ binaryBytecode ];
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
     platforms = jre_headless.meta.platforms;
     license = licenses.asl20;
   };
diff --git a/pkgs/development/tools/cloud-nuke/default.nix b/pkgs/development/tools/cloud-nuke/default.nix
index f5d6c1caa7bd5..122a9826d664a 100644
--- a/pkgs/development/tools/cloud-nuke/default.nix
+++ b/pkgs/development/tools/cloud-nuke/default.nix
@@ -39,6 +39,6 @@ buildGoModule rec {
     mainProgram = "cloud-nuke";
     changelog = "https://github.com/gruntwork-io/cloud-nuke/releases/tag/v${version}";
     license = licenses.mit;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/tools/coder/default.nix b/pkgs/development/tools/coder/default.nix
index bee71dc2aeae7..3f2ba448511a5 100644
--- a/pkgs/development/tools/coder/default.nix
+++ b/pkgs/development/tools/coder/default.nix
@@ -100,7 +100,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
     homepage = "https://coder.com";
     license = lib.licenses.agpl3Only;
     mainProgram = "coder";
-    maintainers = with lib.maintainers; [ ghuntley urandom ];
+    maintainers = with lib.maintainers; [ ghuntley kylecarbs urandom ];
   };
 
   passthru = {
diff --git a/pkgs/development/tools/coder/update.sh b/pkgs/development/tools/coder/update.sh
index ebd40e3d5adbf..60e9a97af2217 100755
--- a/pkgs/development/tools/coder/update.sh
+++ b/pkgs/development/tools/coder/update.sh
@@ -5,13 +5,10 @@ set -eu -o pipefail
 
 cd "$(dirname "${BASH_SOURCE[0]}")"
 
-# Fetch the latest stable version
-LATEST_STABLE_TAG=$(curl ${GITHUB_TOKEN:+" -u \":$GITHUB_TOKEN\""} --silent https://api.github.com/repos/coder/coder/releases/latest | jq -r '.tag_name')
-LATEST_STABLE_VERSION=$(echo ${LATEST_STABLE_TAG} | sed 's/^v//')
-
-# Fetch the latest mainline version
-LATEST_MAINLINE_TAG=$(curl ${GITHUB_TOKEN:+" -u \":$GITHUB_TOKEN\""} --silent https://api.github.com/repos/coder/coder/releases | jq -r '.[0].tag_name')
-LATEST_MAINLINE_VERSION=$(echo ${LATEST_MAINLINE_TAG} | sed 's/^v//')
+# The released tagged as "latest" is always stable.
+LATEST_STABLE_VERSION=$(curl ${GITHUB_TOKEN:+" -u \":$GITHUB_TOKEN\""} --fail -sSL https://api.github.com/repos/coder/coder/releases/latest | jq -r '.tag_name | sub("^v"; "")')
+# The highest version that is not a pre-release is the latest mainline version.
+LATEST_MAINLINE_VERSION=$(curl ${GITHUB_TOKEN:+" -u \":$GITHUB_TOKEN\""} --fail -sSL https://api.github.com/repos/coder/coder/releases | jq -r 'map(select(.prerelease == false)) | sort_by(.tag_name | sub("^v"; "") | split(".") | map(tonumber)) | .[-1].tag_name | sub("^v"; "")')
 
 # Define the platforms
 declare -A ARCHS=(["x86_64-linux"]="linux_amd64.tar.gz"
diff --git a/pkgs/development/tools/conftest/default.nix b/pkgs/development/tools/conftest/default.nix
index 5fe017565f126..d44aedf372bfe 100644
--- a/pkgs/development/tools/conftest/default.nix
+++ b/pkgs/development/tools/conftest/default.nix
@@ -6,15 +6,15 @@
 
 buildGoModule rec {
   pname = "conftest";
-  version = "0.51.0";
+  version = "0.52.0";
 
   src = fetchFromGitHub {
     owner = "open-policy-agent";
     repo = "conftest";
     rev = "refs/tags/v${version}";
-    hash = "sha256-1jMVb1Hip7ljmt4WtFg3Qa2/rse2sjISTe3SUS5UCTo=";
+    hash = "sha256-TjBBKFWyqrqeiddAn5SDiLZ4HirWC4vYwIEA43IFSxY=";
   };
-  vendorHash = "sha256-Yw5p2mTTkYvRjeuF9owirohyClSS3j1gKVg8Ma2NIa8=";
+  vendorHash = "sha256-wQBeKPT/MSTd89UmtwKH7uX3sv7x1N5MXMKo/DZRmBk=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix b/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix
index be2f7f75229ad..a86db85067f6a 100644
--- a/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix
+++ b/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "cirrus-cli";
-  version = "0.116.0";
+  version = "0.117.0";
 
   src = fetchFromGitHub {
     owner = "cirruslabs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-cij6Yw8UEPDHsm9Oy809PWxfPpbCGXUFRALKFH80pqM=";
+    sha256 = "sha256-dJq2/XxhSvqlRQwMHX2RHct6KQu9uik3SPeWD2/rwto=";
   };
 
-  vendorHash = "sha256-tkKxg08uL1vlOyD/tpRLzjHpOVWOmYZxcq8B+Q7/3Zo=";
+  vendorHash = "sha256-d3cHXO4SFeNybiVDc3dUmd1XzUJ1SlMqSw7KPC3ZrXQ=";
 
   ldflags = [
     "-X github.com/cirruslabs/cirrus-cli/internal/version.Version=v${version}"
diff --git a/pkgs/development/tools/continuous-integration/drone-runner-docker/default.nix b/pkgs/development/tools/continuous-integration/drone-runner-docker/default.nix
index e4fc56d74ff2d..e77aecde510f3 100644
--- a/pkgs/development/tools/continuous-integration/drone-runner-docker/default.nix
+++ b/pkgs/development/tools/continuous-integration/drone-runner-docker/default.nix
@@ -14,7 +14,7 @@ buildGoModule rec {
   vendorHash = "sha256-KcNp3VdJ201oxzF0bLXY4xWHqHNz54ZrVSI96cfhU+k=";
 
   meta = with lib; {
-    maintainers = with maintainers; [ endocrimes ];
+    maintainers = with maintainers; [ ];
     license = licenses.unfreeRedistributable;
     homepage = "https://github.com/drone-runners/drone-runner-docker";
     description = "Drone pipeline runner that executes builds inside Docker containers";
diff --git a/pkgs/development/tools/continuous-integration/github-runner/default.nix b/pkgs/development/tools/continuous-integration/github-runner/default.nix
index e9aace248d865..34aaf68bb0ff3 100644
--- a/pkgs/development/tools/continuous-integration/github-runner/default.nix
+++ b/pkgs/development/tools/continuous-integration/github-runner/default.nix
@@ -1,5 +1,4 @@
-{ autoPatchelfHook
-, autoSignDarwinBinariesHook
+{ autoSignDarwinBinariesHook
 , buildDotnetModule
 , dotnetCorePackages
 , fetchFromGitHub
@@ -114,8 +113,6 @@ buildDotnetModule rec {
   nativeBuildInputs = [
     which
     git
-  ] ++ lib.optionals stdenv.isLinux [
-    autoPatchelfHook
   ] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
     autoSignDarwinBinariesHook
   ];
diff --git a/pkgs/development/tools/cpm-cmake/default.nix b/pkgs/development/tools/cpm-cmake/default.nix
index 9cddbc70c4a9e..98d56d16c1ce3 100644
--- a/pkgs/development/tools/cpm-cmake/default.nix
+++ b/pkgs/development/tools/cpm-cmake/default.nix
@@ -5,13 +5,13 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "cpm-cmake";
-  version = "0.38.8";
+  version = "0.39.0";
 
   src = fetchFromGitHub {
     owner = "cpm-cmake";
     repo = "cpm.cmake";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-S1I7XKvpniocI2UAzO8yslju3fYy06MPC2Kl7N7bh8I=";
+    hash = "sha256-cDFt+fDpb/gDlFx+3C5Hw/ybf4hdjZOrpeNR8yBwd1M=";
   };
 
   dontConfigure = true;
diff --git a/pkgs/development/tools/database/atlas/default.nix b/pkgs/development/tools/database/atlas/default.nix
index b5d09806489a1..270d134927855 100644
--- a/pkgs/development/tools/database/atlas/default.nix
+++ b/pkgs/development/tools/database/atlas/default.nix
@@ -40,7 +40,7 @@ buildGoModule rec {
     homepage = "https://atlasgo.io/";
     changelog = "https://github.com/ariga/atlas/releases/tag/v${version}";
     license = licenses.asl20;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     mainProgram = "atlas";
   };
 }
diff --git a/pkgs/development/tools/database/clickhouse-backup/default.nix b/pkgs/development/tools/database/clickhouse-backup/default.nix
index ca597e47f66f5..bf9ffa48e439b 100644
--- a/pkgs/development/tools/database/clickhouse-backup/default.nix
+++ b/pkgs/development/tools/database/clickhouse-backup/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "clickhouse-backup";
-  version = "2.4.35";
+  version = "2.5.4";
 
   src = fetchFromGitHub {
     owner = "AlexAkulov";
     repo = "clickhouse-backup";
     rev = "v${version}";
-    hash = "sha256-SE4+NUH1W0YPjx59yjOun1tLbn6Je2nG2wcfb8+YSfw=";
+    hash = "sha256-uFQm7VRxFozV/I1tywey5ljWqzt08aShVjlwUT3oz5w=";
   };
 
-  vendorHash = "sha256-5da3Tt4rKbzFPwYVhkkxCY/YpJePdE7WLDlTtPI8w1Q=";
+  vendorHash = "sha256-T4afeclCWldFJTzk08Ku8VPnXr/Gz0Fpb7G9YrK/iro=";
 
   ldflags = [
     "-X main.version=${version}"
diff --git a/pkgs/development/tools/database/pg_checksums/default.nix b/pkgs/development/tools/database/pg_checksums/default.nix
index b2d8b3fc05bdb..0aac2409c07b1 100644
--- a/pkgs/development/tools/database/pg_checksums/default.nix
+++ b/pkgs/development/tools/database/pg_checksums/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Activate/deactivate/verify checksums in offline PostgreSQL clusters";
     homepage = "https://github.com/credativ/pg_checksums";
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     mainProgram = "pg_checksums_ext";
     platforms = postgresql.meta.platforms;
     license = licenses.postgresql;
diff --git a/pkgs/development/tools/database/sqlcheck/default.nix b/pkgs/development/tools/database/sqlcheck/default.nix
index 54faf9f993d0e..85be37cb19bc5 100644
--- a/pkgs/development/tools/database/sqlcheck/default.nix
+++ b/pkgs/development/tools/database/sqlcheck/default.nix
@@ -32,6 +32,6 @@ stdenv.mkDerivation rec {
     mainProgram = "sqlcheck";
     license = licenses.asl20;
     platforms = platforms.all;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/tools/database/timescaledb-tune/default.nix b/pkgs/development/tools/database/timescaledb-tune/default.nix
index b0737ce856843..88c1bc0f63888 100644
--- a/pkgs/development/tools/database/timescaledb-tune/default.nix
+++ b/pkgs/development/tools/database/timescaledb-tune/default.nix
@@ -20,6 +20,6 @@ buildGoModule rec {
     mainProgram = "timescaledb-tune";
     homepage = "https://github.com/timescale/timescaledb-tune";
     license = licenses.asl20;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/tools/database/vitess/default.nix b/pkgs/development/tools/database/vitess/default.nix
index 6ace9ba59251a..2d107cc56246a 100644
--- a/pkgs/development/tools/database/vitess/default.nix
+++ b/pkgs/development/tools/database/vitess/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "vitess";
-  version = "19.0.1";
+  version = "19.0.3";
 
   src = fetchFromGitHub {
     owner = "vitessio";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-UDqSCAJObKh65/mDupuWzkYfqJyd6XZCi+qA7NwIO9M=";
+    hash = "sha256-Zy54nZCnwyZ1JNPvaKi0/bRt5g5ucPANwer/3pl4dGU=";
   };
 
-  vendorHash = "sha256-YrgWrk+67Vx9L+uFLipyuousj5DQIleqyxbUSqalZyw=";
+  vendorHash = "sha256-QUzBxYEvxVzv4c8tKiFb+4NLy8RsXh0QTn9twfstMtw=";
 
   buildInputs = [ sqlite ];
 
diff --git a/pkgs/development/tools/dive/default.nix b/pkgs/development/tools/dive/default.nix
index 6bba0c97cc4e8..76c338e8a579f 100644
--- a/pkgs/development/tools/dive/default.nix
+++ b/pkgs/development/tools/dive/default.nix
@@ -34,6 +34,6 @@ buildGoModule rec {
     homepage = "https://github.com/wagoodman/dive";
     changelog = "https://github.com/wagoodman/dive/releases/tag/v${version}";
     license = licenses.mit;
-    maintainers = with maintainers; [ marsam SuperSandro2000 ];
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/tools/dprint/default.nix b/pkgs/development/tools/dprint/default.nix
index fc0c7ee573835..f762a1e9afe40 100644
--- a/pkgs/development/tools/dprint/default.nix
+++ b/pkgs/development/tools/dprint/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "dprint";
-  version = "0.45.0";
+  version = "0.45.1";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-Vs+LcvGXcFT0kcZHtLv3T+4xV88kP02r9wDC5hBOZCg=";
+    sha256 = "sha256-dVtUUQ9AUQ85vsFwDb3xnR3UWxvSDMosC8QPW8AGHf4=";
   };
 
-  cargoHash = "sha256-DbFvsOLJ+diLzQXzl6csuVMqjBbI3z+vO37HQ/WnLR4=";
+  cargoHash = "sha256-NXofEGJ1Sn7xnn8xxD9ZXBjoG/ZJgWvP0vCAJiwxK38=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ CoreFoundation Security ];
 
diff --git a/pkgs/development/tools/earthly/default.nix b/pkgs/development/tools/earthly/default.nix
index 634f03101c83d..abc665d25c509 100644
--- a/pkgs/development/tools/earthly/default.nix
+++ b/pkgs/development/tools/earthly/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "earthly";
-  version = "0.8.8";
+  version = "0.8.9";
 
   src = fetchFromGitHub {
     owner = "earthly";
     repo = "earthly";
     rev = "v${version}";
-    hash = "sha256-nvjoHU+LuyZy8NxMRWYMCQlvq5E6va2x16JRDdFI+70=";
+    hash = "sha256-bybWd+7+bbzxg2cXvat9lOZm+JNHaB/MsimAgbpLwuE=";
   };
 
   vendorHash = "sha256-66xN4uUeEFHpI/pAP7akG4YQhbY7ylu8AVOJnx60c7s=";
diff --git a/pkgs/development/tools/electron/common.nix b/pkgs/development/tools/electron/common.nix
index fd17d7aa35555..0cde63f2b3128 100644
--- a/pkgs/development/tools/electron/common.nix
+++ b/pkgs/development/tools/electron/common.nix
@@ -236,7 +236,7 @@ in (chromium.override { upstream-info = info.chromium; }).mkDerivation (base: {
     homepage = "https://github.com/electron/electron";
     platforms = lib.platforms.linux;
     license = licenses.mit;
-    maintainers = with maintainers; [ yayayayaka yuka ];
+    maintainers = with maintainers; [ yayayayaka ];
     mainProgram = "electron";
     hydraPlatforms = lib.optionals (!(hasInfix "alpha" info.version) && !(hasInfix "beta" info.version)) ["aarch64-linux" "x86_64-linux"];
     timeout = 172800; # 48 hours (increased from the Hydra default of 10h)
diff --git a/pkgs/development/tools/esbuild/default.nix b/pkgs/development/tools/esbuild/default.nix
index 49463ccda004d..f4d9c8542ed0e 100644
--- a/pkgs/development/tools/esbuild/default.nix
+++ b/pkgs/development/tools/esbuild/default.nix
@@ -22,7 +22,7 @@ buildGoModule rec {
     homepage = "https://esbuild.github.io";
     changelog = "https://github.com/evanw/esbuild/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
-    maintainers = with maintainers; [ lucus16 marsam undefined-moe ivan ];
+    maintainers = with maintainers; [ lucus16 undefined-moe ivan ];
     mainProgram = "esbuild";
   };
 }
diff --git a/pkgs/development/tools/extism-cli/default.nix b/pkgs/development/tools/extism-cli/default.nix
index f683338c69ab3..ebdce3ef60b82 100644
--- a/pkgs/development/tools/extism-cli/default.nix
+++ b/pkgs/development/tools/extism-cli/default.nix
@@ -7,18 +7,18 @@
 
 buildGoModule rec {
   pname = "extism-cli";
-  version = "1.2.0";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "extism";
     repo = "cli";
     rev = "refs/tags/v${version}";
-    hash = "sha256-xQtCg1U2wwH2zSWPyIfGLluATi8hYQVWy6lxgD6BDNA=";
+    hash = "sha256-wHEbTK7bYFOI+I7vQqgku4nkpD87zD7SoU/wpmHqets=";
   };
 
   modRoot = "./extism";
 
-  vendorHash = "sha256-toDT9zpe/5QOCoPl/DFxdNsQDCkat06T3UHbCY+sW+A=";
+  vendorHash = "sha256-js8A0AQPpcj1nBNUiSFJ0OlrqDD7AbV/UNHvxBfHG6c=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/development/tools/firebase-tools/default.nix b/pkgs/development/tools/firebase-tools/default.nix
index ef1a6e3b25385..9c4d32133325b 100644
--- a/pkgs/development/tools/firebase-tools/default.nix
+++ b/pkgs/development/tools/firebase-tools/default.nix
@@ -8,16 +8,16 @@
 
 buildNpmPackage rec {
   pname = "firebase-tools";
-  version = "13.7.2";
+  version = "13.7.5";
 
   src = fetchFromGitHub {
     owner = "firebase";
     repo = "firebase-tools";
     rev = "v${version}";
-    hash = "sha256-KzckVI6eSojnUh+jV1xtKZrwmYfngKk8Ch0cGdTLxMA=";
+    hash = "sha256-OPpLqXCxEkKOUB0U2gpvGipvRUcF3fM9yopdwkDMqXk=";
   };
 
-  npmDepsHash = "sha256-X7OScxmDsWnvYTP/GOKZRuq3Bu0ReDDqlIFhEWCeQmY=";
+  npmDepsHash = "sha256-dmySbwBdOJJ65gj1cBlDIS2o2Tnie6tx8cOyt0FoFyw=";
 
   postPatch = ''
     ln -s npm-shrinkwrap.json package-lock.json
diff --git a/pkgs/development/tools/flock/default.nix b/pkgs/development/tools/flock/default.nix
index 7b6aadc471612..b427a179dc80b 100644
--- a/pkgs/development/tools/flock/default.nix
+++ b/pkgs/development/tools/flock/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Cross-platform version of flock(1)";
-    maintainers = with maintainers; [ matthewbauer msfjarvis ];
+    maintainers = with maintainers; [ matthewbauer ];
     mainProgram = "flock";
     platforms = platforms.all;
     license = licenses.isc;
diff --git a/pkgs/development/tools/frugal/default.nix b/pkgs/development/tools/frugal/default.nix
index 3dfd54b9220a4..bf83ec753d500 100644
--- a/pkgs/development/tools/frugal/default.nix
+++ b/pkgs/development/tools/frugal/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "frugal";
-  version = "3.17.11";
+  version = "3.17.13";
 
   src = fetchFromGitHub {
     owner = "Workiva";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-SCbnLIoHYvbiY2Irx1ufMZTjmUJIucPMgEFobJNor/c=";
+    sha256 = "sha256-giPlv3pf0hz2zlQ/9o12SGfwFLCtpN96tfQwP9AaPNo=";
   };
 
   subPackages = [ "." ];
 
-  vendorHash = "sha256-6yKyPocuahr9m5frhbhBlcWd7QZ1rH+f9KhQ83+oadY=";
+  vendorHash = "sha256-DCSS2kH2yco8cfbQBw3IZHcEE4BP5ir7ikxsIsFDqg0=";
 
   meta = with lib; {
     description = "Thrift improved";
diff --git a/pkgs/development/tools/gauge/default.nix b/pkgs/development/tools/gauge/default.nix
index efe9917a0d8a3..9c9c53c390737 100644
--- a/pkgs/development/tools/gauge/default.nix
+++ b/pkgs/development/tools/gauge/default.nix
@@ -4,6 +4,12 @@ buildGoModule rec {
   pname = "gauge";
   version = "1.6.6";
 
+  patches = [
+    # adds a check which adds an error message when trying to
+    # install plugins imperatively when using the wrapper
+    ./nix-check.patch
+  ];
+
   src = fetchFromGitHub {
     owner = "getgauge";
     repo = "gauge";
@@ -20,6 +26,6 @@ buildGoModule rec {
     mainProgram = "gauge";
     homepage = "https://gauge.org";
     license = licenses.asl20;
-    maintainers = [ maintainers.vdemeester ];
+    maintainers = with maintainers; [ vdemeester marie ];
   };
 }
diff --git a/pkgs/development/tools/gauge/nix-check.patch b/pkgs/development/tools/gauge/nix-check.patch
new file mode 100644
index 0000000000000..37aec8a51b62a
--- /dev/null
+++ b/pkgs/development/tools/gauge/nix-check.patch
@@ -0,0 +1,50 @@
+diff --git a/plugin/install/install.go b/plugin/install/install.go
+index 60c61550..d7573c2d 100644
+--- a/plugin/install/install.go
++++ b/plugin/install/install.go
+@@ -151,6 +151,7 @@ func isOSCompatible(zipfile string) bool {
+ 
+ // InstallPluginFromZipFile installs plugin from given zip file
+ func InstallPluginFromZipFile(zipFile string, pluginName string) InstallResult {
++	CheckForNixStore(fmt.Sprintf("Tried to install the plugin `%s`.", pluginName))
+ 	if !isPlatformIndependent(zipFile) && !isOSCompatible(zipFile) {
+ 		err := fmt.Errorf("provided plugin is not compatible with OS %s %s", runtime.GOOS, runtime.GOARCH)
+ 		return installError(err)
+@@ -314,6 +315,7 @@ func runPlatformCommands(commands platformSpecificCommand, workingDir string) er
+ // UninstallPlugin uninstall the given plugin of the given uninstallVersion
+ // If uninstallVersion is not specified, it uninstalls all the versions of given plugin
+ func UninstallPlugin(pluginName string, uninstallVersion string) {
++	CheckForNixStore(fmt.Sprintf("Tried to uninstall the plugin `%s`.", pluginName))
+ 	pluginsHome, err := common.GetPrimaryPluginsInstallDir()
+ 	if err != nil {
+ 		logger.Fatalf(true, "Failed to uninstall plugin %s. %s", pluginName, err.Error())
+@@ -518,6 +520,7 @@ func AllPlugins(silent, languageOnly bool) {
+ 
+ // UpdatePlugins updates all the currently installed plugins to its latest version
+ func UpdatePlugins(silent bool) {
++	CheckForNixStore("Tried to update plugins")
+ 	var failedPlugin []string
+ 	pluginInfos, err := pluginInfo.GetPluginsInfo()
+ 	if err != nil {
+@@ -673,3 +676,21 @@ func AddPluginToProject(pluginName string) error {
+ 	logger.Infof(true, "Plugin %s was successfully added to the project\n", pluginName)
+ 	return nil
+ }
++
++func CheckForNixStore(message string) error {
++	installDir, err := common.GetPrimaryPluginsInstallDir()
++	if err != nil {
++		return err
++	}
++	if strings.HasPrefix(installDir, "/nix/store") {
++
++		// check if we're installing in the sandbox
++		if os.Getenv("NIX_GAUGE_IN_SANDBOX") == "true" {
++			return nil
++		}
++		logger.Errorf(true, "%s\ngauge is installed with nix.\nPlease install plugins using nix or use the `gauge-unwrapped` package.", message)
++		os.Exit(1)
++
++	}
++	return nil
++}
diff --git a/pkgs/development/tools/gauge/plugins/default.nix b/pkgs/development/tools/gauge/plugins/default.nix
new file mode 100644
index 0000000000000..92ee2fca77d0b
--- /dev/null
+++ b/pkgs/development/tools/gauge/plugins/default.nix
@@ -0,0 +1,14 @@
+{ lib, pkgs }:
+lib.makeScope pkgs.newScope (final: let
+  inherit (final) callPackage;
+in {
+  makeGaugePlugin = callPackage ./make-gauge-plugin.nix { };
+  dotnet = callPackage ./dotnet { };
+  html-report = callPackage ./html-report { };
+  java = callPackage ./java { };
+  js = callPackage ./js { };
+  ruby = callPackage ./ruby { };
+  go = callPackage ./go { };
+  screenshot = callPackage ./screenshot { };
+  xml-report = callPackage ./xml-report { };
+})
diff --git a/pkgs/development/tools/gauge/plugins/dotnet/data.json b/pkgs/development/tools/gauge/plugins/dotnet/data.json
new file mode 100644
index 0000000000000..fd2d19ec864e4
--- /dev/null
+++ b/pkgs/development/tools/gauge/plugins/dotnet/data.json
@@ -0,0 +1,5 @@
+{
+  "version": "0.5.7",
+  "url": "https://github.com/getgauge/gauge-dotnet/releases/download/v0.5.7/gauge-dotnet-0.5.7.zip",
+  "hash": "sha256-VKs25WzS0UZAeCg91f/f6ZOGH28PulUvyDSc/dbJeoE="
+}
diff --git a/pkgs/development/tools/gauge/plugins/dotnet/default.nix b/pkgs/development/tools/gauge/plugins/dotnet/default.nix
new file mode 100644
index 0000000000000..7cf99f2e7b4f0
--- /dev/null
+++ b/pkgs/development/tools/gauge/plugins/dotnet/default.nix
@@ -0,0 +1,22 @@
+{ lib
+, makeGaugePlugin
+, gauge-unwrapped
+}:
+
+makeGaugePlugin {
+  pname = "dotnet";
+  data = lib.importJSON ./data.json;
+
+  repo = "getgauge/gauge-dotnet";
+  releasePrefix = "gauge-dotnet-";
+  isCrossArch = true;
+
+  meta = {
+    description = "Gauge plugin that lets you write tests in C#";
+    homepage = "https://github.com/getgauge/gauge-dotnet/";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ marie ];
+    sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
+    inherit (gauge-unwrapped.meta) platforms;
+  };
+}
diff --git a/pkgs/development/tools/gauge/plugins/go/data.json b/pkgs/development/tools/gauge/plugins/go/data.json
new file mode 100644
index 0000000000000..b4c9904bbea46
--- /dev/null
+++ b/pkgs/development/tools/gauge/plugins/go/data.json
@@ -0,0 +1,15 @@
+{
+  "version": "0.4.0",
+  "aarch64-darwin": {
+    "url": "https://github.com/getgauge-contrib/gauge-go/releases/download/v0.4.0/gauge-go-0.4.0-darwin.arm64.zip",
+    "hash": "sha256-tMo3+gQPnldCARm0WB7UYSMwaVpz90N2BiTzmvIFTg0="
+  },
+  "x86_64-darwin": {
+    "url": "https://github.com/getgauge-contrib/gauge-go/releases/download/v0.4.0/gauge-go-0.4.0-darwin.x86_64.zip",
+    "hash": "sha256-zfrEDRyflvvp4Hf2+42RL+5ooY0iBU0bkO2caOAGp74="
+  },
+  "x86_64-linux": {
+    "url": "https://github.com/getgauge-contrib/gauge-go/releases/download/v0.4.0/gauge-go-0.4.0-linux.x86_64.zip",
+    "hash": "sha256-JEHjk51vYCFAcj9xant2vBU3BZI0krYbfZk9ALjdIs0="
+  }
+}
diff --git a/pkgs/development/tools/gauge/plugins/go/default.nix b/pkgs/development/tools/gauge/plugins/go/default.nix
new file mode 100644
index 0000000000000..c21c517fb7d10
--- /dev/null
+++ b/pkgs/development/tools/gauge/plugins/go/default.nix
@@ -0,0 +1,19 @@
+{ lib
+, makeGaugePlugin
+}:
+makeGaugePlugin {
+  pname = "go";
+  data = lib.importJSON ./data.json;
+
+  repo = "getgauge-contrib/gauge-go";
+  releasePrefix = "gauge-go-";
+
+  meta = {
+    description = "Gauge plugin that lets you write tests in Go";
+    homepage = "https://github.com/getgauge-contrib/gauge-go";
+    license = lib.licenses.gpl3;
+    maintainers = with lib.maintainers; [ marie ];
+    sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
+    platforms = [ "aarch64-darwin" "x86_64-darwin" "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/development/tools/gauge/plugins/html-report/data.json b/pkgs/development/tools/gauge/plugins/html-report/data.json
new file mode 100644
index 0000000000000..e72be41f921e8
--- /dev/null
+++ b/pkgs/development/tools/gauge/plugins/html-report/data.json
@@ -0,0 +1,19 @@
+{
+  "version": "4.3.1",
+  "aarch64-darwin": {
+    "url": "https://github.com/getgauge/html-report/releases/download/v4.3.1/html-report-4.3.1-darwin.arm64.zip",
+    "hash": "sha256-OovQxwi4NGrdbKYGfMLgqQ9BuT1gvl7NFu5aTrA2HWw="
+  },
+  "x86_64-darwin": {
+    "url": "https://github.com/getgauge/html-report/releases/download/v4.3.1/html-report-4.3.1-darwin.x86_64.zip",
+    "hash": "sha256-oOJE3VJH8Cwbvdc2kTs0dHjNb2r35tXTP18EAts6XYs="
+  },
+  "aarch64-linux": {
+    "url": "https://github.com/getgauge/html-report/releases/download/v4.3.1/html-report-4.3.1-linux.arm64.zip",
+    "hash": "sha256-ZhNPGKuB08V/fxJCOya/uHUNlVT223WEPX6BrOhxPc8="
+  },
+  "x86_64-linux": {
+    "url": "https://github.com/getgauge/html-report/releases/download/v4.3.1/html-report-4.3.1-linux.x86_64.zip",
+    "hash": "sha256-insNiAbJM5Xc/GY6UTgMJgYU6vnBzKC13aBlgq3GBpo="
+  }
+}
diff --git a/pkgs/development/tools/gauge/plugins/html-report/default.nix b/pkgs/development/tools/gauge/plugins/html-report/default.nix
new file mode 100644
index 0000000000000..33e0eb272275a
--- /dev/null
+++ b/pkgs/development/tools/gauge/plugins/html-report/default.nix
@@ -0,0 +1,19 @@
+{ lib
+, makeGaugePlugin
+}:
+makeGaugePlugin {
+  pname = "html-report";
+  data = lib.importJSON ./data.json;
+
+  repo = "getgauge/html-report";
+  releasePrefix = "html-report-";
+
+  meta = {
+    description = "HTML report generation plugin for Gauge";
+    homepage = "https://github.com/getgauge/html-report/";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ marie ];
+    sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
+    platforms = [ "aarch64-darwin" "x86_64-darwin" "aarch64-linux" "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/development/tools/gauge/plugins/java/data.json b/pkgs/development/tools/gauge/plugins/java/data.json
new file mode 100644
index 0000000000000..96c993e6f3061
--- /dev/null
+++ b/pkgs/development/tools/gauge/plugins/java/data.json
@@ -0,0 +1,19 @@
+{
+  "version": "0.10.3",
+  "aarch64-darwin": {
+    "url": "https://github.com/getgauge/gauge-java/releases/download/v0.10.3/gauge-java-0.10.3-darwin.arm64.zip",
+    "hash": "sha256-Hs9ZNupj0s7YRjRZibphr7m5YjOj3MTgx/hqAbWyY6I="
+  },
+  "x86_64-darwin": {
+    "url": "https://github.com/getgauge/gauge-java/releases/download/v0.10.3/gauge-java-0.10.3-darwin.x86_64.zip",
+    "hash": "sha256-Hj/Lkwsx/RvyMiJO8dI6vFpIvvyhOA2Un5deC1syYY4="
+  },
+  "aarch64-linux": {
+    "url": "https://github.com/getgauge/gauge-java/releases/download/v0.10.3/gauge-java-0.10.3-linux.arm64.zip",
+    "hash": "sha256-XJqP2eew+aI1jFaDzsJhfML8Ft+adFJrHURF8F391Pc="
+  },
+  "x86_64-linux": {
+    "url": "https://github.com/getgauge/gauge-java/releases/download/v0.10.3/gauge-java-0.10.3-linux.x86_64.zip",
+    "hash": "sha256-sMyWhAGo6oa7MsqK8xApdrwhZo8NkSTIRbsCu5LW3ls="
+  }
+}
diff --git a/pkgs/development/tools/gauge/plugins/java/default.nix b/pkgs/development/tools/gauge/plugins/java/default.nix
new file mode 100644
index 0000000000000..1dafc4a04065e
--- /dev/null
+++ b/pkgs/development/tools/gauge/plugins/java/default.nix
@@ -0,0 +1,24 @@
+{ lib
+, makeGaugePlugin
+}:
+makeGaugePlugin {
+  pname = "java";
+  data = lib.importJSON ./data.json;
+
+  repo = "getgauge/gauge-java";
+  releasePrefix = "gauge-java-";
+
+  meta = {
+    description = "Gauge plugin that lets you write tests in Java";
+    homepage = "https://github.com/getgauge/gauge-java/";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ marie ];
+    sourceProvenance = with lib.sourceTypes; [
+      # Native binary written in go
+      binaryNativeCode
+      # Jar files
+      binaryBytecode
+    ];
+    platforms = [ "aarch64-darwin" "x86_64-darwin" "aarch64-linux" "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/development/tools/gauge/plugins/js/default.nix b/pkgs/development/tools/gauge/plugins/js/default.nix
new file mode 100644
index 0000000000000..621cbbbc1938e
--- /dev/null
+++ b/pkgs/development/tools/gauge/plugins/js/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, nodejs
+, buildNpmPackage
+, fetchFromGitHub
+, unzip
+, gauge-unwrapped
+}:
+buildNpmPackage rec {
+  pname = "gauge-plugin-js";
+  version = "4.0.1";
+
+  src = fetchFromGitHub {
+    owner = "getgauge";
+    repo = "gauge-js";
+    rev = "v${version}";
+    hash = "sha256-qCn4EKndd0eM3X0+aLrCwvmEG5fgUfpVm76cg/n7B84=";
+    fetchSubmodules = true;
+  };
+
+  npmDepsHash = "sha256-5XkFwCFqNMe5xc/Tx69uUV7KMtgY7Z3zE7hbtxYqRf0=";
+  npmBuildScript = "package";
+
+  buildInputs = [ nodejs ];
+  nativeBuildInputs = [ unzip ];
+
+  postPatch = ''
+    patchShebangs index.js
+  '';
+
+  installPhase = ''
+    mkdir -p $out/share/gauge-plugins/js/${version}
+    unzip deploy/gauge-js-${version}.zip -d $out/share/gauge-plugins/js/${version}
+  '';
+
+  meta = {
+    description = "Gauge plugin that lets you write tests in JavaScript";
+    homepage = "https://github.com/getgauge/gauge-js/";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ marie ];
+    inherit (gauge-unwrapped.meta) platforms;
+  };
+}
diff --git a/pkgs/development/tools/gauge/plugins/make-gauge-plugin.nix b/pkgs/development/tools/gauge/plugins/make-gauge-plugin.nix
new file mode 100644
index 0000000000000..116effa45b14f
--- /dev/null
+++ b/pkgs/development/tools/gauge/plugins/make-gauge-plugin.nix
@@ -0,0 +1,94 @@
+{ stdenvNoCC
+, fetchzip
+, lib
+, writeScript
+}:
+
+{ pname
+, data
+, repo
+, releasePrefix
+, isCrossArch ? false
+, meta
+, ...
+} @ args:
+let
+  otherArgs = lib.attrsets.removeAttrs args [ "pname" "data" "repo" "releasePrefix" "isMultiArch" ];
+  inherit (stdenvNoCC.hostPlatform) system;
+  inherit (if isCrossArch then data else data.${system}) url hash;
+  # Upstream uses a different naming scheme for platforms
+  systemMap = {
+    "x86_64-darwin" = "darwin.x86_64";
+    "aarch64-darwin" = "darwin.arm64";
+    "aarch64-linux" = "linux.arm64";
+    "x86_64-linux" = "linux.x86_64";
+  };
+in
+stdenvNoCC.mkDerivation (finalAttrs: (lib.recursiveUpdate {
+  pname = "gauge-plugin-${pname}";
+  inherit (data) version;
+
+  src = fetchzip {
+    inherit url hash;
+    stripRoot = false;
+  };
+
+  installPhase = ''
+    mkdir -p "$out/share/gauge-plugins/${pname}/${finalAttrs.version}"
+    cp -r . "$out/share/gauge-plugins/${pname}/${finalAttrs.version}"
+  '';
+
+  passthru.updateScript = writeScript "update-${finalAttrs.pname}" ''
+    #!/usr/bin/env nix-shell
+    #!nix-shell -i bash -p curl nix-prefetch yq-go
+
+    set -e
+
+    dirname="pkgs/development/tools/gauge/plugins/${pname}"
+
+    currentVersion=$(nix eval --raw -f default.nix gaugePlugins.${pname}.version)
+
+    latestTag=$(curl -s ''${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} https://api.github.com/repos/${repo}/releases/latest | yq ".tag_name")
+    latestVersion="$(expr $latestTag : 'v\(.*\)')"
+
+    tempfile=$(mktemp)
+
+    if [[ "$FORCE_UPDATE" != "true" && "$currentVersion" == "$latestVersion" ]]; then
+        echo "gauge-${pname} is up-to-date: ''${currentVersion}"
+        exit 0
+    fi
+
+    yq -iPoj "{ \"version\": \"$latestVersion\" }" "$tempfile"
+
+    updateSystem() {
+        system=$1
+        url=$2
+
+        echo "Fetching hash for $system"
+        hash=$(nix-prefetch-url --type sha256 $url --unpack)
+        sriHash="$(nix hash to-sri --type sha256 $hash)"
+
+        yq -iPoj '. + { "$system": { "url": "$url", "hash": "$sriHash" } }' "$tempfile"
+    }
+
+    updateSingle() {
+        url=$1
+
+        echo "Fetching hash"
+        hash=$(nix-prefetch-url --type sha256 $url --unpack)
+        sriHash="$(nix hash to-sri --type sha256 $hash)"
+
+        yq -iPoj '. + { "url": "$url", "hash": "$sriHash" }' "$tempfile"
+    }
+
+    baseUrl="https://github.com/${repo}/releases/download/$latestTag/${releasePrefix}$latestVersion"
+
+    ${if isCrossArch then
+        "updateSingle \${baseUrl}.zip"
+      else
+        lib.concatStringsSep "\n" (map (platform: ''updateSystem "${platform}" "''${baseUrl}-${systemMap.${platform}}.zip"'') meta.platforms)
+    }
+
+    mv "$tempfile" "$dirname/data.json"
+  '';
+} otherArgs))
diff --git a/pkgs/development/tools/gauge/plugins/ruby/data.json b/pkgs/development/tools/gauge/plugins/ruby/data.json
new file mode 100644
index 0000000000000..b7f827cfc5698
--- /dev/null
+++ b/pkgs/development/tools/gauge/plugins/ruby/data.json
@@ -0,0 +1,19 @@
+{
+  "version": "0.8.0",
+  "aarch64-darwin": {
+    "url": "https://github.com/getgauge/gauge-ruby/releases/download/v0.8.0/gauge-ruby-0.8.0-darwin.arm64.zip",
+    "hash": "sha256-HQ7reuC7dQUMbhEzUBiEelPmFBsFJBHe42lmFufkZJY="
+  },
+  "x86_64-darwin": {
+    "url": "https://github.com/getgauge/gauge-ruby/releases/download/v0.8.0/gauge-ruby-0.8.0-darwin.x86_64.zip",
+    "hash": "sha256-poxT9wYgs21GRx/eVvD7jA1T0VBDEHgH0Zv941pZcKA="
+  },
+  "aarch64-linux": {
+    "url": "https://github.com/getgauge/gauge-ruby/releases/download/v0.8.0/gauge-ruby-0.8.0-linux.arm64.zip",
+    "hash": "sha256-SAEHPaWScux6C05jQBfDuLBN2J22Df9eKVM46kWawiU="
+  },
+  "x86_64-linux": {
+    "url": "https://github.com/getgauge/gauge-ruby/releases/download/v0.8.0/gauge-ruby-0.8.0-linux.x86_64.zip",
+    "hash": "sha256-aXLDK/7phdsX0CmIuxfK39mdrjGo2IpwYBL7uolP5Mk="
+  }
+}
diff --git a/pkgs/development/tools/gauge/plugins/ruby/default.nix b/pkgs/development/tools/gauge/plugins/ruby/default.nix
new file mode 100644
index 0000000000000..9a5283b649a14
--- /dev/null
+++ b/pkgs/development/tools/gauge/plugins/ruby/default.nix
@@ -0,0 +1,19 @@
+{ lib
+, makeGaugePlugin
+}:
+makeGaugePlugin {
+  pname = "ruby";
+  data = lib.importJSON ./data.json;
+
+  repo = "getgauge/gauge-ruby";
+  releasePrefix = "gauge-ruby-";
+
+  meta = {
+    description = "Gauge plugin that lets you write tests in Ruby";
+    homepage = "https://github.com/getgauge/gauge-ruby/";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ marie ];
+    sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
+    platforms = [ "aarch64-darwin" "x86_64-darwin" "aarch64-linux" "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/development/tools/gauge/plugins/screenshot/data.json b/pkgs/development/tools/gauge/plugins/screenshot/data.json
new file mode 100644
index 0000000000000..c836d5a84a954
--- /dev/null
+++ b/pkgs/development/tools/gauge/plugins/screenshot/data.json
@@ -0,0 +1,19 @@
+{
+  "version": "0.2.0",
+  "x86_64-darwin": {
+    "url": "https://github.com/getgauge/gauge_screenshot/releases/download/v0.2.0/screenshot-0.2.0-darwin.x86_64.zip",
+    "hash": "sha256-7bFuInEYAQ+fN12HTazQNfqpz5DAkYNCjUJbaj0DYb4="
+  },
+  "aarch64-darwin": {
+    "url": "https://github.com/getgauge/gauge_screenshot/releases/download/v0.2.0/screenshot-0.2.0-darwin.arm64.zip",
+    "hash": "sha256-Ly6iHBc2PfeFkKkZIkyD2JD5+EpFNL4SDjzG1oMpKfA="
+  },
+  "aarch64-linux": {
+    "url": "https://github.com/getgauge/gauge_screenshot/releases/download/v0.2.0/screenshot-0.2.0-linux.arm64.zip",
+    "hash": "sha256-Pzfnhs4H0MmeBIhrZElFmvC+PuabLNU/pftVdIu4+LI="
+  },
+  "x86_64-linux": {
+    "url": "https://github.com/getgauge/gauge_screenshot/releases/download/v0.2.0/screenshot-0.2.0-linux.x86_64.zip",
+    "hash": "sha256-Wpuq3aSgbIhd4WuJx4SMv+NbEZMVIpAOUMdKV2xxd7c="
+  }
+}
diff --git a/pkgs/development/tools/gauge/plugins/screenshot/default.nix b/pkgs/development/tools/gauge/plugins/screenshot/default.nix
new file mode 100644
index 0000000000000..a394338d7a641
--- /dev/null
+++ b/pkgs/development/tools/gauge/plugins/screenshot/default.nix
@@ -0,0 +1,19 @@
+{ lib
+, makeGaugePlugin
+}:
+makeGaugePlugin {
+  pname = "screenshot";
+  data = lib.importJSON ./data.json;
+
+  repo = "getgauge/gauge_screenshot";
+  releasePrefix = "screenshot-";
+
+  meta = {
+    description = "Gauge plugin to take screenshots";
+    homepage = "https://github.com/getgauge/gauge_screenshot/";
+    license = lib.licenses.gpl3;
+    maintainers = with lib.maintainers; [ marie ];
+    sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
+    platforms = [ "x86_64-darwin" "aarch64-darwin" "aarch64-linux" "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/development/tools/gauge/plugins/xml-report/data.json b/pkgs/development/tools/gauge/plugins/xml-report/data.json
new file mode 100644
index 0000000000000..7b1fbf21b648a
--- /dev/null
+++ b/pkgs/development/tools/gauge/plugins/xml-report/data.json
@@ -0,0 +1,19 @@
+{
+  "version": "0.5.1",
+  "x86_64-darwin": {
+    "url": "https://github.com/getgauge/xml-report/releases/download/v0.5.1/xml-report-0.5.1-darwin.x86_64.zip",
+    "hash": "sha256-xLz9GFeXeZcLXa5P7DeiBljK3n7HKvsm/eJFEw5w+hU="
+  },
+  "aarch64-darwin": {
+    "url": "https://github.com/getgauge/xml-report/releases/download/v0.5.1/xml-report-0.5.1-darwin.arm64.zip",
+    "hash": "sha256-P8nqS22OibtAOpbn8G8WwfJ0vvAM/3IC6F0Nd/HfO5s="
+  },
+  "aarch64-linux": {
+    "url": "https://github.com/getgauge/xml-report/releases/download/v0.5.1/xml-report-0.5.1-linux.arm64.zip",
+    "hash": "sha256-ORMWXiahT8TAusqIPQSZm5t5r3p5jqLAKNghYw+tOYI="
+  },
+  "x86_64-linux": {
+    "url": "https://github.com/getgauge/xml-report/releases/download/v0.5.1/xml-report-0.5.1-linux.x86_64.zip",
+    "hash": "sha256-y0vpS09GlRKKPr7UwY+YAR8xwjQYnYf6TFkeT3SXwco="
+  }
+}
diff --git a/pkgs/development/tools/gauge/plugins/xml-report/default.nix b/pkgs/development/tools/gauge/plugins/xml-report/default.nix
new file mode 100644
index 0000000000000..0337ceca0605a
--- /dev/null
+++ b/pkgs/development/tools/gauge/plugins/xml-report/default.nix
@@ -0,0 +1,19 @@
+{ lib
+, makeGaugePlugin
+}:
+makeGaugePlugin {
+  pname = "xml-report";
+  data = lib.importJSON ./data.json;
+
+  repo = "getgauge/xml-report";
+  releasePrefix = "xml-report-";
+
+  meta = {
+    description = "XML report generation plugin for Gauge";
+    homepage = "https://github.com/getgauge/xml-report/";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ marie ];
+    sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
+    platforms = [ "x86_64-darwin" "aarch64-darwin" "aarch64-linux" "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/development/tools/gauge/wrapper.nix b/pkgs/development/tools/gauge/wrapper.nix
new file mode 100644
index 0000000000000..67b1a8ddc52b1
--- /dev/null
+++ b/pkgs/development/tools/gauge/wrapper.nix
@@ -0,0 +1,59 @@
+{ gauge-unwrapped
+, gauge
+, makeWrapper
+, stdenvNoCC
+, lib
+, xorg
+, gaugePlugins
+, plugins ? []
+}:
+
+stdenvNoCC.mkDerivation {
+  pname = "gauge-wrapped";
+  inherit (gauge-unwrapped) version;
+
+  dontUnpack = true;
+
+  installPhase = ''
+    mkdir -p $out{bin,/share/gauge/{plugins,config}}
+    export NIX_GAUGE_IN_SANDBOX=true
+    export GAUGE_HOME=$(mktemp -d)
+
+    # run gauge to create config files
+    cd $(mktemp -d)
+    gauge init js || true
+
+    mkdir -p "$out/share/gauge/config"
+    mv "$GAUGE_HOME"/config/{gauge,template}.properties "$out/share/gauge/config"
+
+    export GAUGE_HOME="$out/share/gauge"
+
+    ${lib.concatMapStringsSep "\n" (plugin: ''
+      for plugin in "$(ls ${plugin}/share/gauge-plugins)"; do
+        echo Installing gauge plugin $plugin
+        mkdir -p "$GAUGE_HOME/plugins/$plugin"
+        # Use lndir here
+        # gauge checks for a directory, which fails if it's a symlink
+        # It's easier to link this with lndir, than patching an upstream dependency
+        lndir "${plugin}/share/gauge-plugins/$plugin" "$GAUGE_HOME/plugins/$plugin"
+      done
+    '') plugins}
+
+    makeWrapper ${gauge-unwrapped}/bin/gauge $out/bin/gauge \
+      --set GAUGE_HOME "$GAUGE_HOME"
+  '';
+
+  nativeBuildInputs = [ gauge-unwrapped makeWrapper xorg.lndir ];
+
+  passthru = {
+    withPlugins = f: gauge.override { plugins = f gaugePlugins; };
+    fromManifest = path:
+      let
+        manifest = lib.importJSON path;
+        requiredPlugins = with manifest; [ Language ] ++ Plugins;
+        manifestPlugins = plugins: map (name: plugins.${name} or (throw "Gauge plugin ${name} is not available!")) requiredPlugins;
+      in gauge.withPlugins manifestPlugins;
+  };
+
+  inherit (gauge-unwrapped) meta;
+}
diff --git a/pkgs/development/tools/ginkgo/default.nix b/pkgs/development/tools/ginkgo/default.nix
index 549b0f14c392d..60e67e17a86e7 100644
--- a/pkgs/development/tools/ginkgo/default.nix
+++ b/pkgs/development/tools/ginkgo/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "ginkgo";
-  version = "2.17.1";
+  version = "2.17.2";
 
   src = fetchFromGitHub {
     owner = "onsi";
     repo = "ginkgo";
     rev = "v${version}";
-    sha256 = "sha256-fxP4+YqhYPeGVpW6VkSm3+FGnmgbKx77anSYUv41PSE=";
+    sha256 = "sha256-StvESO3kFo+mgiJgx7JvZzBnT62zT3ZxxWVjnVBTLlg=";
   };
-  vendorHash = "sha256-XtO7HiaE/xCT3tjVZzzMcO9y8Yk8Wyy1S3S1qioMaQU=";
+  vendorHash = "sha256-qLyqG7A4TEsZSF8olXWc2BIYZukQx/xHsnbYTfC/w4A=";
 
   # integration tests expect more file changes
   # types tests are missing CodeLocation
diff --git a/pkgs/development/tools/go-mockery/default.nix b/pkgs/development/tools/go-mockery/default.nix
index 770f4b5db181f..3b86b15aa4ac3 100644
--- a/pkgs/development/tools/go-mockery/default.nix
+++ b/pkgs/development/tools/go-mockery/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "go-mockery";
-  version = "2.42.2";
+  version = "2.43.0";
 
   src = fetchFromGitHub {
     owner = "vektra";
     repo = "mockery";
     rev = "v${version}";
-    sha256 = "sha256-y0HMoQvv001smvWlK1qN0bYeHgNDLz1uKQCaRmDnoM4=";
+    sha256 = "sha256-R3J6TZO28x0I6vHjm5X7nMiJBhHuMIYdfp7IUNtu4Do=";
   };
 
   preCheck = ''
diff --git a/pkgs/development/tools/go-toml/default.nix b/pkgs/development/tools/go-toml/default.nix
index 22e6f3a015dfc..5f5ad595cabf7 100644
--- a/pkgs/development/tools/go-toml/default.nix
+++ b/pkgs/development/tools/go-toml/default.nix
@@ -1,12 +1,18 @@
-{ lib, buildGoModule, fetchFromGitHub }:
-
-buildGoModule rec {
-  pname = "go-toml";
+{
+  lib,
+  buildGoModule,
+  fetchFromGitHub,
+}:
+let
   version = "2.2.1";
+in
+buildGoModule {
+  pname = "go-toml";
+  inherit version;
 
   src = fetchFromGitHub {
     owner = "pelletier";
-    repo = pname;
+    repo = "go-toml";
     rev = "v${version}";
     sha256 = "sha256-DAtp9ovl6cny0rom80aK+bGe9U/p6zmTQo1Z3MscCjg=";
   };
@@ -19,13 +25,21 @@ buildGoModule rec {
     "cmd/tomltestgen"
   ];
 
-  ldflags = [ "-s" "-w" ];
+  # allowGoReference adds the flag `-trimpath` which is also denoted by, go-toml's goreleaser config
+  #  <https://github.com/pelletier/go-toml/blob/a3d5a0bb530b5206c728eed9cb57323061922bcb/.goreleaser.yaml#L13>
+  allowGoReference = true;
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X main.version=${version}"
+  ];
 
-  meta = with lib; {
+  meta = {
     description = "Go library for the TOML language";
     homepage = "https://github.com/pelletier/go-toml";
     changelog = "https://github.com/pelletier/go-toml/releases/tag/v${version}";
-    maintainers = [ maintainers.marsam ];
-    license = licenses.mit;
+    maintainers = [ lib.maintainers.isabelroses ];
+    license = lib.licenses.mit;
   };
 }
diff --git a/pkgs/development/tools/goresym/default.nix b/pkgs/development/tools/goresym/default.nix
index e6a964fa663d6..9612b25254f56 100644
--- a/pkgs/development/tools/goresym/default.nix
+++ b/pkgs/development/tools/goresym/default.nix
@@ -35,6 +35,6 @@ buildGoModule rec {
     homepage = "https://github.com/mandiant/GoReSym";
     changelog = "https://github.com/mandiant/GoReSym/releases/tag/v${version}";
     license = licenses.mit;
-    maintainers = with maintainers; [ thehedgeh0g ];
+    maintainers = with maintainers; [ pyrox0 ];
   };
 }
diff --git a/pkgs/development/tools/gotestsum/default.nix b/pkgs/development/tools/gotestsum/default.nix
index b5baad2037e4e..f28f3f12970c7 100644
--- a/pkgs/development/tools/gotestsum/default.nix
+++ b/pkgs/development/tools/gotestsum/default.nix
@@ -1,8 +1,8 @@
-{ lib
-, fetchFromGitHub
-, buildGoModule
+{
+  lib,
+  fetchFromGitHub,
+  buildGoModule,
 }:
-
 buildGoModule rec {
   pname = "gotestsum";
   version = "1.10.1";
@@ -33,6 +33,6 @@ buildGoModule rec {
     mainProgram = "gotestsum";
     platforms = platforms.linux ++ platforms.darwin;
     license = licenses.asl20;
-    maintainers = with maintainers; [ endocrimes ];
+    maintainers = with maintainers; [ isabelroses ];
   };
 }
diff --git a/pkgs/development/tools/gotools/default.nix b/pkgs/development/tools/gotools/default.nix
index 0a31db2779b29..d0affbabdbc72 100644
--- a/pkgs/development/tools/gotools/default.nix
+++ b/pkgs/development/tools/gotools/default.nix
@@ -38,6 +38,6 @@ buildGoModule rec {
     '';
     homepage = "https://go.googlesource.com/tools";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ danderson SuperSandro2000 ];
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/tools/gqlgenc/default.nix b/pkgs/development/tools/gqlgenc/default.nix
index e807618188981..61a67acb99ded 100644
--- a/pkgs/development/tools/gqlgenc/default.nix
+++ b/pkgs/development/tools/gqlgenc/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "gqlgenc";
-  version = "0.21.1";
+  version = "0.22.0";
 
   src = fetchFromGitHub {
     owner = "yamashou";
     repo = "gqlgenc";
     rev = "v${version}";
-    sha256 = "sha256-XvvwVdovFTJNTqfqnX+luaRHD+7nmPLdQAu9TLRI/TQ=";
+    sha256 = "sha256-hGX9DiGpJOOjQEaT9qnpeS1ODfo4pd03WlvT3aaSK2w=";
   };
 
   excludedPackages = [ "example" ];
diff --git a/pkgs/development/tools/hcloud/default.nix b/pkgs/development/tools/hcloud/default.nix
index d5919034ca8a6..f59340ae2e622 100644
--- a/pkgs/development/tools/hcloud/default.nix
+++ b/pkgs/development/tools/hcloud/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "hcloud";
-  version = "1.43.0";
+  version = "1.43.1";
 
   src = fetchFromGitHub {
     owner = "hetznercloud";
     repo = "cli";
     rev = "refs/tags/v${version}";
-    hash = "sha256-czuMlnVhUDWGVbIZ0V7vaoOnT84WKPFjhcUvt5BzBXo=";
+    hash = "sha256-XPDaywSCvXc9jo8bNxaF9Pj6Vs+Hz0MxDPbbnRNW3VI=";
   };
 
-  vendorHash = "sha256-0XFgi2cPlsL4zCbttGrEsm0j5ftB8MAuphu3YNlPbIs=";
+  vendorHash = "sha256-pN+HMsZ2FpxwF/yPfYGwJNj9i4fgnE3cKo3mti3KoR0=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/development/tools/heroku/default.nix b/pkgs/development/tools/heroku/default.nix
index e34160ea44a9d..ab8d2b6cd053d 100644
--- a/pkgs/development/tools/heroku/default.nix
+++ b/pkgs/development/tools/heroku/default.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation {
     homepage = "https://devcenter.heroku.com/articles/heroku-cli";
     description = "Everything you need to get started using Heroku";
     mainProgram = "heroku";
-    maintainers = with lib.maintainers; [ aflatter mirdhyn marsam ];
+    maintainers = with lib.maintainers; [ aflatter mirdhyn ];
     license = lib.licenses.mit;
     platforms = with lib.platforms; unix;
   };
diff --git a/pkgs/development/tools/infisical/default.nix b/pkgs/development/tools/infisical/default.nix
index 849144616f927..73036f7691ac1 100644
--- a/pkgs/development/tools/infisical/default.nix
+++ b/pkgs/development/tools/infisical/default.nix
@@ -15,7 +15,7 @@ let
   buildHashes = builtins.fromJSON (builtins.readFile ./hashes.json);
 
   # the version of infisical
-  version = "0.21.1";
+  version = "0.22.2";
 
   # the platform-specific, statically linked binary
   src =
diff --git a/pkgs/development/tools/infisical/hashes.json b/pkgs/development/tools/infisical/hashes.json
index 728568f1ee1ac..a044c5f196cad 100644
--- a/pkgs/development/tools/infisical/hashes.json
+++ b/pkgs/development/tools/infisical/hashes.json
@@ -1,6 +1,6 @@
 { "_comment": "@generated by pkgs/development/tools/infisical/update.sh"
-, "x86_64-linux": "sha256-HdjqoT+iDYwQQlNZIPcC4j76bCh1k1+Axz46Hq2FNoE="
-, "x86_64-darwin": "sha256-X3QXlW0yqYuc3MLYesxNiWGz79r/fHO0mdwyZ3DyPKU="
-, "aarch64-linux": "sha256-osy/9dhSme4dyVeBWGjwfMt0YJVPLwV7rYu6ePkhFOs="
-, "aarch64-darwin": "sha256-O/F2xErHSFfeK6mamjFDstHW1yBpnfl/slWa1hQ159s="
+, "x86_64-linux": "sha256-oRRkv0x43qhRzsTwcP9855kAOigfn13WPAGj7Izcm3Y="
+, "x86_64-darwin": "sha256-G7vokhMq4w781MkxeYTolc2ATFOwGLJeZ4XIS0E1h5s="
+, "aarch64-linux": "sha256-JXzTAfSNFPlxM3/vm+mMd8poT80b6XpZXXLShsGHGnY="
+, "aarch64-darwin": "sha256-bMw39FsL4tjAF/O/Y7Xg2pxVOW64qXLPbDjau8gonY0="
 }
diff --git a/pkgs/development/tools/java/jprofiler/default.nix b/pkgs/development/tools/java/jprofiler/default.nix
index 3a74e491f0e5d..7f74d8665a80e 100644
--- a/pkgs/development/tools/java/jprofiler/default.nix
+++ b/pkgs/development/tools/java/jprofiler/default.nix
@@ -36,7 +36,7 @@ let
 
   srcIcon = fetchurl {
     url = "https://www.ej-technologies.com/assets/content/header-product-jprofiler@2x-24bc4d84bd2a4eb641a5c8531758ff7c.png";
-    hash = "sha256-XUmuqhnNv7mZ3Gb4A0HLSlfiJd5xbCExVsw3hmXHeVE=";
+    hash = "sha256-4T0j2ctHmgWOSCmFG2PZCLJS57nIa5MxmJBpMYzy9FI=";
   };
 
   desktopItems = makeDesktopItem {
diff --git a/pkgs/development/tools/jql/default.nix b/pkgs/development/tools/jql/default.nix
index 3f4eb952c37f0..95c0ff65e57dc 100644
--- a/pkgs/development/tools/jql/default.nix
+++ b/pkgs/development/tools/jql/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "jql";
-  version = "7.1.7";
+  version = "7.1.8";
 
   src = fetchFromGitHub {
     owner = "yamafaktory";
     repo = pname;
     rev = "jql-v${version}";
-    hash = "sha256-Yl3eWwk5Nc52I3bUjdT6QdwC65cKY0EVKNaDfJenwx0=";
+    hash = "sha256-TjpbFX7k4coZH8IY4bygLwj8Z4JLQQ9yUqOmmr7NU9s=";
   };
 
-  cargoHash = "sha256-u0DqjHJv1GyoCIovCUR+gjkb9h48CbJd6saxeQFaL2A=";
+  cargoHash = "sha256-7mzmaXeYZGtUjefC7Zo8wOArBuus7mfu6AaKE4tS5HE=";
 
   meta = with lib; {
     description = "A JSON Query Language CLI tool built with Rust";
diff --git a/pkgs/development/tools/jtc/default.nix b/pkgs/development/tools/jtc/default.nix
index 399b9a0f70665..f368a460463d7 100644
--- a/pkgs/development/tools/jtc/default.nix
+++ b/pkgs/development/tools/jtc/default.nix
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
     mainProgram = "jtc";
     homepage = "https://github.com/ldn-softdev/jtc";
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/tools/kustomize/default.nix b/pkgs/development/tools/kustomize/default.nix
index ad1ea3f61ab49..849c8054b0020 100644
--- a/pkgs/development/tools/kustomize/default.nix
+++ b/pkgs/development/tools/kustomize/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "kustomize";
-  version = "5.3.0";
+  version = "5.4.1";
 
   ldflags = let t = "sigs.k8s.io/kustomize/api/provenance"; in
     [
@@ -15,13 +15,13 @@ buildGoModule rec {
     owner = "kubernetes-sigs";
     repo = pname;
     rev = "kustomize/v${version}";
-    hash = "sha256-TleO28Q6JaOz1OAJKbvLhN99a841FEhHL15NTMhS1Oc=";
+    hash = "sha256-zt+/CKIIaZxfjfMu9L4/bDc5MmaqeEp3MI/m++GQoEc=";
   };
 
   # avoid finding test and development commands
   modRoot = "kustomize";
   proxyVendor = true;
-  vendorHash = "sha256-inCBDIVdvkEdDJEwX7vdoWANk+f01VxhBGPKxrjR6Ao=";
+  vendorHash = "sha256-YxkZ2YlkvMihTYi34lfwpUrmGa4LrrWsP2cpJZY/41A=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/development/tools/language-servers/dot-language-server/default.nix b/pkgs/development/tools/language-servers/dot-language-server/default.nix
index 8d25faa611aed..cdadfd77a2ecc 100644
--- a/pkgs/development/tools/language-servers/dot-language-server/default.nix
+++ b/pkgs/development/tools/language-servers/dot-language-server/default.nix
@@ -20,6 +20,6 @@ buildNpmPackage rec {
     mainProgram = "dot-language-server";
     homepage = "https://github.com/nikeee/dot-language-server";
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/tools/language-servers/lua-language-server/default.nix b/pkgs/development/tools/language-servers/lua-language-server/default.nix
index 7491968b1b5a9..f20ed09ac6967 100644
--- a/pkgs/development/tools/language-servers/lua-language-server/default.nix
+++ b/pkgs/development/tools/language-servers/lua-language-server/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "lua-language-server";
-  version = "3.7.4";
+  version = "3.8.3";
 
   src = fetchFromGitHub {
     owner = "luals";
     repo = "lua-language-server";
     rev = finalAttrs.version;
-    hash = "sha256-wJOOzKM2pgxfRqx5WZjOcCyRapz0Sub3AYm51LRYpFU=";
+    hash = "sha256-Zl57KmsAuyMWbcKnU19m7ljox/LqWsa6gXbjaWiznfg=";
     fetchSubmodules = true;
   };
 
@@ -78,7 +78,7 @@ stdenv.mkDerivation (finalAttrs: {
   meta = with lib; {
     description = "A language server that offers Lua language support";
     homepage = "https://github.com/luals/lua-language-server";
-    changelog = "https://github.com/LuaLS/lua-language-server/blob/${version}/changelog.md";
+    changelog = "https://github.com/LuaLS/lua-language-server/blob/${finalAttrs.version}/changelog.md";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda gepbird sei40kr ];
     mainProgram = "lua-language-server";
diff --git a/pkgs/development/tools/language-servers/metals/default.nix b/pkgs/development/tools/language-servers/metals/default.nix
index 894b83a72f8c0..5f9d87d839d6f 100644
--- a/pkgs/development/tools/language-servers/metals/default.nix
+++ b/pkgs/development/tools/language-servers/metals/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "metals";
-  version = "1.2.2";
+  version = "1.3.0";
 
   deps = stdenv.mkDerivation {
     name = "${pname}-deps-${version}";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     '';
     outputHashMode = "recursive";
     outputHashAlgo = "sha256";
-    outputHash = "sha256-xk2ionn/lBV8AR7n7OR03UuRCoP1/K6KuohhpRwFock=";
+    outputHash = "sha256-otN4sqV2a0itLOoJ7x+VSMe0tl3y4WVovbA1HOpZVDw=";
   };
 
   nativeBuildInputs = [ makeWrapper setJavaClassPath ];
@@ -38,6 +38,6 @@ stdenv.mkDerivation rec {
     license = licenses.asl20;
     description = "Language server for Scala";
     mainProgram = "metals";
-    maintainers = with maintainers; [ fabianhjr tomahna ];
+    maintainers = with maintainers; [ fabianhjr jpaju tomahna ];
   };
 }
diff --git a/pkgs/development/tools/language-servers/millet/default.nix b/pkgs/development/tools/language-servers/millet/default.nix
index e51ab8498c601..7de1523491bdb 100644
--- a/pkgs/development/tools/language-servers/millet/default.nix
+++ b/pkgs/development/tools/language-servers/millet/default.nix
@@ -32,7 +32,7 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/azdavis/millet";
     changelog = "https://github.com/azdavis/millet/blob/v${version}/docs/CHANGELOG.md";
     license = [ licenses.mit /* or */ licenses.asl20 ];
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
     mainProgram = "millet-ls";
   };
 }
diff --git a/pkgs/development/tools/language-servers/nixd/default.nix b/pkgs/development/tools/language-servers/nixd/default.nix
index becdbd892a03e..405b63f54e5cb 100644
--- a/pkgs/development/tools/language-servers/nixd/default.nix
+++ b/pkgs/development/tools/language-servers/nixd/default.nix
@@ -20,13 +20,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "nixd";
-  version = "2.0.2";
+  version = "2.1.0";
 
   src = fetchFromGitHub {
     owner = "nix-community";
     repo = "nixd";
     rev = finalAttrs.version;
-    hash = "sha256-K6atInl+/58nzMj4JJHds//HY7luBRmX79g+Arj6iUw=";
+    hash = "sha256-4CApj9noGfV31em2S4dDGy2BV++FR0FkYBBBh+q0JRk=";
   };
 
   mesonBuildType = "release";
@@ -96,7 +96,7 @@ stdenv.mkDerivation (finalAttrs: {
     homepage = "https://github.com/nix-community/nixd";
     changelog = "https://github.com/nix-community/nixd/releases/tag/${finalAttrs.version}";
     license = lib.licenses.lgpl3Plus;
-    maintainers = with lib.maintainers; [ inclyc Ruixi-rebirth marsam ];
+    maintainers = with lib.maintainers; [ inclyc Ruixi-rebirth ];
     mainProgram = "nixd";
     platforms = lib.platforms.unix;
   };
diff --git a/pkgs/development/tools/language-servers/pylyzer/Cargo.lock b/pkgs/development/tools/language-servers/pylyzer/Cargo.lock
new file mode 100644
index 0000000000000..49986d256fd90
--- /dev/null
+++ b/pkgs/development/tools/language-servers/pylyzer/Cargo.lock
@@ -0,0 +1,1021 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "Inflector"
+version = "0.11.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3"
+
+[[package]]
+name = "addr2line"
+version = "0.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb"
+dependencies = [
+ "gimli",
+]
+
+[[package]]
+name = "adler"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
+
+[[package]]
+name = "ahash"
+version = "0.8.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"
+dependencies = [
+ "cfg-if",
+ "once_cell",
+ "version_check",
+ "zerocopy",
+]
+
+[[package]]
+name = "anyhow"
+version = "1.0.81"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0952808a6c2afd1aa8947271f3a60f1a6763c7b912d210184c5149b5cf147247"
+
+[[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.69"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837"
+dependencies = [
+ "addr2line",
+ "cc",
+ "cfg-if",
+ "libc",
+ "miniz_oxide",
+ "object",
+ "rustc-demangle",
+]
+
+[[package]]
+name = "backtrace-on-stack-overflow"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7fd2d70527f3737a1ad17355e260706c1badebabd1fa06a7a053407380df841b"
+dependencies = [
+ "backtrace",
+ "libc",
+ "nix",
+]
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "cc"
+version = "1.0.90"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5"
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "convert_case"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e"
+
+[[package]]
+name = "crunchy"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
+
+[[package]]
+name = "derive_more"
+version = "0.99.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321"
+dependencies = [
+ "convert_case",
+ "proc-macro2",
+ "quote",
+ "rustc_version",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "either"
+version = "1.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a"
+
+[[package]]
+name = "els"
+version = "0.1.48-nightly.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9fc7d9b7e85dd36847b2e3fcb4a400c1f25a49c7ecfa0e9f25bdad91070cba32"
+dependencies = [
+ "erg_common",
+ "erg_compiler",
+ "lsp-types",
+ "molc",
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "erg_common"
+version = "0.6.36-nightly.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e25256e6a5de7886319cf6bc830b92b04a9f722eac3fdf43a82fc9d43e9336a1"
+dependencies = [
+ "backtrace-on-stack-overflow",
+ "erg_proc_macros",
+ "parking_lot",
+ "thread_local",
+]
+
+[[package]]
+name = "erg_compiler"
+version = "0.6.36-nightly.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d224db567e7d13a30a52f7178623434922d781d8bc4310c7adae7052ec21cb18"
+dependencies = [
+ "erg_common",
+ "erg_parser",
+]
+
+[[package]]
+name = "erg_parser"
+version = "0.6.36-nightly.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "16ba6fbccd31c15bc032fbd52be75b7965f10a192adfed440e2d961bdd52e47f"
+dependencies = [
+ "erg_common",
+ "erg_proc_macros",
+ "unicode-xid",
+]
+
+[[package]]
+name = "erg_proc_macros"
+version = "0.6.36-nightly.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "40f73fb45d76f14edb6076c1b0bbd0c9ee7531663595674dd6ae667d13fed769"
+dependencies = [
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "form_urlencoded"
+version = "1.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
+dependencies = [
+ "percent-encoding",
+]
+
+[[package]]
+name = "getopts"
+version = "0.2.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5"
+dependencies = [
+ "unicode-width",
+]
+
+[[package]]
+name = "getrandom"
+version = "0.2.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "wasi",
+]
+
+[[package]]
+name = "gimli"
+version = "0.28.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
+
+[[package]]
+name = "hashbrown"
+version = "0.14.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
+dependencies = [
+ "ahash",
+]
+
+[[package]]
+name = "idna"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
+dependencies = [
+ "unicode-bidi",
+ "unicode-normalization",
+]
+
+[[package]]
+name = "is-macro"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "59a85abdc13717906baccb5a1e435556ce0df215f242892f721dff62bf25288f"
+dependencies = [
+ "Inflector",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.52",
+]
+
+[[package]]
+name = "itertools"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57"
+dependencies = [
+ "either",
+]
+
+[[package]]
+name = "itoa"
+version = "1.0.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
+
+[[package]]
+name = "lalrpop-util"
+version = "0.20.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "507460a910eb7b32ee961886ff48539633b788a36b65692b95f225b844c82553"
+
+[[package]]
+name = "libc"
+version = "0.2.153"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
+
+[[package]]
+name = "libm"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"
+
+[[package]]
+name = "lock_api"
+version = "0.4.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
+dependencies = [
+ "autocfg",
+ "scopeguard",
+]
+
+[[package]]
+name = "log"
+version = "0.4.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
+
+[[package]]
+name = "lsp-types"
+version = "0.93.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9be6e9c7e2d18f651974370d7aff703f9513e0df6e464fd795660edc77e6ca51"
+dependencies = [
+ "bitflags",
+ "serde",
+ "serde_json",
+ "serde_repr",
+ "url",
+]
+
+[[package]]
+name = "malachite"
+version = "0.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53ff327de42075f680ba15c5cb3c417687eb7241ce2063a91d0186ce5c5e77ee"
+dependencies = [
+ "malachite-base",
+ "malachite-nz",
+ "malachite-q",
+]
+
+[[package]]
+name = "malachite-base"
+version = "0.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e960ee0e7e1b8eec9229f5b20d6b191762574225144ea638eb961d065c97b55d"
+dependencies = [
+ "hashbrown",
+ "itertools",
+ "libm",
+ "ryu",
+]
+
+[[package]]
+name = "malachite-bigint"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "17703a19c80bbdd0b7919f0f104f3b0597f7de4fc4e90a477c15366a5ba03faa"
+dependencies = [
+ "derive_more",
+ "malachite",
+ "num-integer",
+ "num-traits",
+ "paste",
+]
+
+[[package]]
+name = "malachite-nz"
+version = "0.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "770aaf1a4d59a82ed3d8644eb66aff7492a6dd7476def275a922d04d77ca8e57"
+dependencies = [
+ "itertools",
+ "libm",
+ "malachite-base",
+]
+
+[[package]]
+name = "malachite-q"
+version = "0.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "33a9dfca114f6b582595990ccfc287cace633aa95f890ade5b1fc099b7175d3b"
+dependencies = [
+ "itertools",
+ "malachite-base",
+ "malachite-nz",
+]
+
+[[package]]
+name = "memchr"
+version = "2.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
+
+[[package]]
+name = "memoffset"
+version = "0.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "miniz_oxide"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7"
+dependencies = [
+ "adler",
+]
+
+[[package]]
+name = "molc"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4584f5f0dfee2be636c6413e44e0b73e23ea299d212fa7124d4c87696533c8a8"
+dependencies = [
+ "lsp-types",
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "nix"
+version = "0.23.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f3790c00a0150112de0f4cd161e3d7fc4b2d8a5542ffc35f099a2562aecb35c"
+dependencies = [
+ "bitflags",
+ "cc",
+ "cfg-if",
+ "libc",
+ "memoffset",
+]
+
+[[package]]
+name = "num-integer"
+version = "0.1.46"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f"
+dependencies = [
+ "num-traits",
+]
+
+[[package]]
+name = "num-traits"
+version = "0.2.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "object"
+version = "0.32.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
+
+[[package]]
+name = "parking_lot"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
+dependencies = [
+ "lock_api",
+ "parking_lot_core",
+]
+
+[[package]]
+name = "parking_lot_core"
+version = "0.9.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "redox_syscall",
+ "smallvec",
+ "windows-targets",
+]
+
+[[package]]
+name = "paste"
+version = "1.0.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
+
+[[package]]
+name = "percent-encoding"
+version = "2.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
+
+[[package]]
+name = "phf"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc"
+dependencies = [
+ "phf_shared",
+]
+
+[[package]]
+name = "phf_codegen"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e8d39688d359e6b34654d328e262234662d16cc0f60ec8dcbe5e718709342a5a"
+dependencies = [
+ "phf_generator",
+ "phf_shared",
+]
+
+[[package]]
+name = "phf_generator"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0"
+dependencies = [
+ "phf_shared",
+ "rand",
+]
+
+[[package]]
+name = "phf_shared"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b"
+dependencies = [
+ "siphasher",
+]
+
+[[package]]
+name = "ppv-lite86"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.79"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "py2erg"
+version = "0.0.53"
+dependencies = [
+ "erg_common",
+ "erg_compiler",
+ "rustpython-ast",
+ "rustpython-parser",
+]
+
+[[package]]
+name = "pylyzer"
+version = "0.0.53"
+dependencies = [
+ "els",
+ "erg_common",
+ "erg_compiler",
+ "py2erg",
+ "rustpython-ast",
+ "rustpython-parser",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.35"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "rand"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
+dependencies = [
+ "libc",
+ "rand_chacha",
+ "rand_core",
+]
+
+[[package]]
+name = "rand_chacha"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
+dependencies = [
+ "ppv-lite86",
+ "rand_core",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
+dependencies = [
+ "getrandom",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
+dependencies = [
+ "bitflags",
+]
+
+[[package]]
+name = "rustc-demangle"
+version = "0.1.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
+
+[[package]]
+name = "rustc-hash"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
+
+[[package]]
+name = "rustc_version"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
+dependencies = [
+ "semver",
+]
+
+[[package]]
+name = "rustpython-ast"
+version = "0.3.1"
+source = "git+https://github.com/RustPython/Parser#9ce55aefdeb35e2f706ce0b02d5a2dfe6295fc57"
+dependencies = [
+ "is-macro",
+ "malachite-bigint",
+ "rustpython-parser-core",
+ "static_assertions",
+]
+
+[[package]]
+name = "rustpython-parser"
+version = "0.3.1"
+source = "git+https://github.com/RustPython/Parser#9ce55aefdeb35e2f706ce0b02d5a2dfe6295fc57"
+dependencies = [
+ "anyhow",
+ "is-macro",
+ "itertools",
+ "lalrpop-util",
+ "log",
+ "malachite-bigint",
+ "num-traits",
+ "phf",
+ "phf_codegen",
+ "rustc-hash",
+ "rustpython-ast",
+ "rustpython-parser-core",
+ "tiny-keccak",
+ "unic-emoji-char",
+ "unic-ucd-ident",
+ "unicode_names2",
+]
+
+[[package]]
+name = "rustpython-parser-core"
+version = "0.3.1"
+source = "git+https://github.com/RustPython/Parser#9ce55aefdeb35e2f706ce0b02d5a2dfe6295fc57"
+dependencies = [
+ "is-macro",
+ "memchr",
+ "rustpython-parser-vendored",
+]
+
+[[package]]
+name = "rustpython-parser-vendored"
+version = "0.3.1"
+source = "git+https://github.com/RustPython/Parser#9ce55aefdeb35e2f706ce0b02d5a2dfe6295fc57"
+dependencies = [
+ "memchr",
+ "once_cell",
+]
+
+[[package]]
+name = "ryu"
+version = "1.0.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1"
+
+[[package]]
+name = "scopeguard"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
+
+[[package]]
+name = "semver"
+version = "1.0.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca"
+
+[[package]]
+name = "serde"
+version = "1.0.197"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.197"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.52",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.114"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0"
+dependencies = [
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "serde_repr"
+version = "0.1.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b2e6b945e9d3df726b65d6ee24060aff8e3533d431f677a9695db04eff9dfdb"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.52",
+]
+
+[[package]]
+name = "siphasher"
+version = "0.3.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d"
+
+[[package]]
+name = "smallvec"
+version = "1.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
+
+[[package]]
+name = "static_assertions"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
+
+[[package]]
+name = "syn"
+version = "1.0.109"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "syn"
+version = "2.0.52"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b699d15b36d1f02c3e7c69f8ffef53de37aefae075d8488d4ba1a7788d574a07"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "thread_local"
+version = "1.1.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c"
+dependencies = [
+ "cfg-if",
+ "once_cell",
+]
+
+[[package]]
+name = "tiny-keccak"
+version = "2.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237"
+dependencies = [
+ "crunchy",
+]
+
+[[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.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
+
+[[package]]
+name = "unic-char-property"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a8c57a407d9b6fa02b4795eb81c5b6652060a15a7903ea981f3d723e6c0be221"
+dependencies = [
+ "unic-char-range",
+]
+
+[[package]]
+name = "unic-char-range"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0398022d5f700414f6b899e10b8348231abf9173fa93144cbc1a43b9793c1fbc"
+
+[[package]]
+name = "unic-common"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "80d7ff825a6a654ee85a63e80f92f054f904f21e7d12da4e22f9834a4aaa35bc"
+
+[[package]]
+name = "unic-emoji-char"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b07221e68897210270a38bde4babb655869637af0f69407f96053a34f76494d"
+dependencies = [
+ "unic-char-property",
+ "unic-char-range",
+ "unic-ucd-version",
+]
+
+[[package]]
+name = "unic-ucd-ident"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e230a37c0381caa9219d67cf063aa3a375ffed5bf541a452db16e744bdab6987"
+dependencies = [
+ "unic-char-property",
+ "unic-char-range",
+ "unic-ucd-version",
+]
+
+[[package]]
+name = "unic-ucd-version"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96bd2f2237fe450fcd0a1d2f5f4e91711124f7857ba2e964247776ebeeb7b0c4"
+dependencies = [
+ "unic-common",
+]
+
+[[package]]
+name = "unicode-bidi"
+version = "0.3.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75"
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
+
+[[package]]
+name = "unicode-normalization"
+version = "0.1.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5"
+dependencies = [
+ "tinyvec",
+]
+
+[[package]]
+name = "unicode-width"
+version = "0.1.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"
+
+[[package]]
+name = "unicode-xid"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
+
+[[package]]
+name = "unicode_names2"
+version = "1.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "addeebf294df7922a1164f729fb27ebbbcea99cc32b3bf08afab62757f707677"
+dependencies = [
+ "phf",
+ "unicode_names2_generator",
+]
+
+[[package]]
+name = "unicode_names2_generator"
+version = "1.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f444b8bba042fe3c1251ffaca35c603f2dc2ccc08d595c65a8c4f76f3e8426c0"
+dependencies = [
+ "getopts",
+ "log",
+ "phf_codegen",
+ "rand",
+]
+
+[[package]]
+name = "url"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
+dependencies = [
+ "form_urlencoded",
+ "idna",
+ "percent-encoding",
+ "serde",
+]
+
+[[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.11.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+
+[[package]]
+name = "windows-targets"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
+dependencies = [
+ "windows_aarch64_gnullvm",
+ "windows_aarch64_msvc",
+ "windows_i686_gnu",
+ "windows_i686_msvc",
+ "windows_x86_64_gnu",
+ "windows_x86_64_gnullvm",
+ "windows_x86_64_msvc",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
+
+[[package]]
+name = "zerocopy"
+version = "0.7.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be"
+dependencies = [
+ "zerocopy-derive",
+]
+
+[[package]]
+name = "zerocopy-derive"
+version = "0.7.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.52",
+]
diff --git a/pkgs/development/tools/language-servers/pylyzer/default.nix b/pkgs/development/tools/language-servers/pylyzer/default.nix
index 3f48b0b9d824b..97e927d3f442e 100644
--- a/pkgs/development/tools/language-servers/pylyzer/default.nix
+++ b/pkgs/development/tools/language-servers/pylyzer/default.nix
@@ -12,16 +12,21 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "pylyzer";
-  version = "0.0.51";
+  version = "0.0.53";
 
   src = fetchFromGitHub {
     owner = "mtshiba";
     repo = "pylyzer";
     rev = "refs/tags/v${version}";
-    hash = "sha256-TKAmIy5dP2m1iokxSqfxTj79UDkW00+se/NDGS3euwA=";
+    hash = "sha256-x/52dDNuMOoN0gbBTPEhXZpfdVk0kJaBv9tMsh2pOiA=";
   };
 
-  cargoHash = "sha256-035ueF42g6By+6TOGEultc8n350g3mRT00raQgWIcUM=";
+  cargoLock = {
+    lockFile = ./Cargo.lock;
+    outputHashes = {
+      "rustpython-ast-0.3.1" = "sha256-q9N+z3F6YICQuUMp3a10OS792tCq0GiSSlkcaLxi3Gs=";
+    };
+  };
 
   nativeBuildInputs = [
     git
diff --git a/pkgs/development/tools/language-servers/vhdl-ls/default.nix b/pkgs/development/tools/language-servers/vhdl-ls/default.nix
index 69450e1fca7dd..f879e400896a4 100644
--- a/pkgs/development/tools/language-servers/vhdl-ls/default.nix
+++ b/pkgs/development/tools/language-servers/vhdl-ls/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "vhdl-ls";
-  version = "0.79.0";
+  version = "0.80.0";
 
   src = fetchFromGitHub {
     owner = "VHDL-LS";
     repo = "rust_hdl";
     rev = "v${version}";
-    hash = "sha256-9AcMMT1d4FrTcCN6c2uMa1Xh21e79sM+YsPs+RT892U=";
+    hash = "sha256-3p6SmmNnuPoHbA0QmfgvO342AhRx5dI9q4YXypi/2k0=";
   };
 
-  cargoHash = "sha256-Cb4WvOdWtwaC5GCQcnIorAFbkDXliU9w1xDU8g3YlSI=";
+  cargoHash = "sha256-zAz33P5k6wmQej8u45+lXKHSRVaZhrB5L0jUPjs44W8=";
 
   postPatch = ''
     substituteInPlace vhdl_lang/src/config.rs \
diff --git a/pkgs/development/tools/micronaut/default.nix b/pkgs/development/tools/micronaut/default.nix
index 99f51272c573b..0b1711283dbd3 100644
--- a/pkgs/development/tools/micronaut/default.nix
+++ b/pkgs/development/tools/micronaut/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "micronaut";
-  version = "4.4.0";
+  version = "4.4.1";
 
   src = fetchzip {
     url = "https://github.com/micronaut-projects/micronaut-starter/releases/download/v${version}/micronaut-cli-${version}.zip";
-    sha256 = "sha256-hoy7hvabXvrU/ZcW9dRJnO1l4fnOIFpbgvAZ+CBnSbA=";
+    sha256 = "sha256-tXXGjpf6nwx9yW9vBSi7iKlDJE+IeItcl+JE4drA7OM=";
   };
 
   nativeBuildInputs = [ makeWrapper installShellFiles ];
diff --git a/pkgs/development/tools/misc/csmith/default.nix b/pkgs/development/tools/misc/csmith/default.nix
index 0643e81edf999..5371f88c0a87b 100644
--- a/pkgs/development/tools/misc/csmith/default.nix
+++ b/pkgs/development/tools/misc/csmith/default.nix
@@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ m4 makeWrapper ];
   buildInputs = [ libbsd ] ++ (with perlPackages; [ perl SysCPU ]);
 
+  CXXFLAGS = "-std=c++98";
+
   postInstall = ''
     substituteInPlace $out/bin/compiler_test.pl \
       --replace '$CSMITH_HOME/runtime' $out/include/${pname}-${version} \
diff --git a/pkgs/development/tools/misc/elfutils/default.nix b/pkgs/development/tools/misc/elfutils/default.nix
index 838dfff80fe34..6de0780d5a61c 100644
--- a/pkgs/development/tools/misc/elfutils/default.nix
+++ b/pkgs/development/tools/misc/elfutils/default.nix
@@ -77,11 +77,17 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  # Backtrace unwinding tests rely on glibc-internal symbol names.
-  # Musl provides slightly different forms and fails.
-  # Let's disable tests there until musl support is fully upstreamed.
-  doCheck = !stdenv.hostPlatform.isMusl;
-  doInstallCheck = !stdenv.hostPlatform.isMusl;
+
+  doCheck =
+    # Backtrace unwinding tests rely on glibc-internal symbol names.
+    # Musl provides slightly different forms and fails.
+    # Let's disable tests there until musl support is fully upstreamed.
+    !stdenv.hostPlatform.isMusl
+    # Test suite tries using `uname` to determine whether certain tests
+    # can be executed, so we need to match build and host platform exactly.
+    && (stdenv.hostPlatform == stdenv.buildPlatform);
+  doInstallCheck = !stdenv.hostPlatform.isMusl
+    && (stdenv.hostPlatform == stdenv.buildPlatform);
 
   passthru.updateScript = gitUpdater {
     url = "https://sourceware.org/git/elfutils.git";
diff --git a/pkgs/development/tools/misc/hydra-cli/default.nix b/pkgs/development/tools/misc/hydra-cli/default.nix
index 6044aa99216b0..104f105ac4ce5 100644
--- a/pkgs/development/tools/misc/hydra-cli/default.nix
+++ b/pkgs/development/tools/misc/hydra-cli/default.nix
@@ -44,6 +44,6 @@ rustPlatform.buildRustPackage rec {
     mainProgram = "hydra-cli";
     homepage = "https://github.com/nlewo/hydra-cli";
     license = with licenses; [ mit ];
-    maintainers = with maintainers; [ gilligan lewo ];
+    maintainers = with maintainers; [ lewo ];
   };
 }
diff --git a/pkgs/development/tools/misc/ltrace/default.nix b/pkgs/development/tools/misc/ltrace/default.nix
index c9ba073f6b34c..189f389587842 100644
--- a/pkgs/development/tools/misc/ltrace/default.nix
+++ b/pkgs/development/tools/misc/ltrace/default.nix
@@ -59,6 +59,6 @@ stdenv.mkDerivation rec {
     homepage = "https://www.ltrace.org/";
     platforms = platforms.linux;
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ delroth ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/tools/misc/mkcert/default.nix b/pkgs/development/tools/misc/mkcert/default.nix
index 8da04668ec139..145660e3a539c 100644
--- a/pkgs/development/tools/misc/mkcert/default.nix
+++ b/pkgs/development/tools/misc/mkcert/default.nix
@@ -24,6 +24,6 @@ buildGoModule rec {
     description = "A simple tool for making locally-trusted development certificates";
     mainProgram = "mkcert";
     license = licenses.bsd3;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/tools/misc/reviewdog/default.nix b/pkgs/development/tools/misc/reviewdog/default.nix
index 6f6d2c11c4158..f01efc21d64b3 100644
--- a/pkgs/development/tools/misc/reviewdog/default.nix
+++ b/pkgs/development/tools/misc/reviewdog/default.nix
@@ -24,7 +24,7 @@ buildGoModule rec {
     mainProgram = "reviewdog";
     homepage = "https://github.com/reviewdog/reviewdog";
     changelog = "https://github.com/reviewdog/reviewdog/blob/v${version}/CHANGELOG.md";
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     license = licenses.mit;
   };
 }
diff --git a/pkgs/development/tools/misc/strace-analyzer/default.nix b/pkgs/development/tools/misc/strace-analyzer/default.nix
index 33371bee93737..625683196923e 100644
--- a/pkgs/development/tools/misc/strace-analyzer/default.nix
+++ b/pkgs/development/tools/misc/strace-analyzer/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "strace-analyzer";
-  version = "0.5.2";
+  version = "0.5.4";
 
   src = fetchFromGitHub {
     owner = "wookietreiber";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-wx0/Jb2uaS1qdRQymfE00IEOyfgLtD4lXYasaJgcoxo=";
+    sha256 = "sha256-KbdQeZoWFz4D5txu/411J0HNnIAs3t5IvO30/34vBek=";
   };
 
-  cargoHash = "sha256-3OS3LEEk58+IJDQrgwo+BJq6hblojk22QxDtZY5ofA4=";
+  cargoHash = "sha256-t1BFc5cNOQJIbufFH2hHI4f7SMrZ5mwVODXukdbHf3M=";
 
   nativeCheckInputs = [ strace ];
 
diff --git a/pkgs/development/tools/misc/terracognita/default.nix b/pkgs/development/tools/misc/terracognita/default.nix
index b01d73ecc1724..1084fd9b06b08 100644
--- a/pkgs/development/tools/misc/terracognita/default.nix
+++ b/pkgs/development/tools/misc/terracognita/default.nix
@@ -25,6 +25,6 @@ buildGoModule rec {
     homepage = "https://github.com/cycloidio/terracognita";
     changelog = "https://github.com/cycloidio/terracognita/raw/v${version}/CHANGELOG.md";
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/tools/misc/terraform-lsp/default.nix b/pkgs/development/tools/misc/terraform-lsp/default.nix
index 74070bd6ea8c3..f3361628288f6 100644
--- a/pkgs/development/tools/misc/terraform-lsp/default.nix
+++ b/pkgs/development/tools/misc/terraform-lsp/default.nix
@@ -23,6 +23,6 @@ buildGoModule rec {
     mainProgram = "terraform-lsp";
     homepage = "https://github.com/juliosueiras/terraform-lsp";
     license = licenses.mit;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/tools/misc/terraformer/default.nix b/pkgs/development/tools/misc/terraformer/default.nix
index dc8ad0644fcb4..e38d753b46887 100644
--- a/pkgs/development/tools/misc/terraformer/default.nix
+++ b/pkgs/development/tools/misc/terraformer/default.nix
@@ -20,6 +20,6 @@ buildGoModule rec {
     mainProgram = "terraformer";
     homepage = "https://github.com/GoogleCloudPlatform/terraformer";
     license = licenses.asl20;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/tools/mongosh/package-lock.json b/pkgs/development/tools/mongosh/package-lock.json
index c222b3c4a8e31..3cfb31a284948 100644
--- a/pkgs/development/tools/mongosh/package-lock.json
+++ b/pkgs/development/tools/mongosh/package-lock.json
@@ -1,15 +1,15 @@
 {
   "name": "mongosh",
-  "version": "2.2.4",
+  "version": "2.2.5",
   "lockfileVersion": 3,
   "requires": true,
   "packages": {
     "": {
       "name": "mongosh",
-      "version": "2.2.4",
+      "version": "2.2.5",
       "license": "Apache-2.0",
       "dependencies": {
-        "@mongosh/cli-repl": "2.2.4"
+        "@mongosh/cli-repl": "2.2.5"
       },
       "bin": {
         "mongosh": "bin/mongosh.js"
@@ -697,6 +697,10 @@
       },
       "engines": {
         "node": ">=6.9.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/babel"
       }
     },
     "node_modules/@babel/core/node_modules/semver": {
@@ -1019,6 +1023,9 @@
       "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
       "engines": {
         "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-regex?sponsor=1"
       }
     },
     "node_modules/@isaacs/cliui/node_modules/strip-ansi": {
@@ -1030,6 +1037,9 @@
       },
       "engines": {
         "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/strip-ansi?sponsor=1"
       }
     },
     "node_modules/@jridgewell/gen-mapping": {
@@ -1153,12 +1163,12 @@
       }
     },
     "node_modules/@mongosh/arg-parser": {
-      "version": "2.2.4",
-      "resolved": "https://registry.npmmirror.com/@mongosh/arg-parser/-/arg-parser-2.2.4.tgz",
-      "integrity": "sha512-pgLWPGPcYpZT3uZSeFB/HglFUYAsQgaKZTwuc+lQcyZxvrQZ+VeIhB4MREE/sbXpUowKtbfQXghXw09DwDd/uw==",
+      "version": "2.2.5",
+      "resolved": "https://registry.npmmirror.com/@mongosh/arg-parser/-/arg-parser-2.2.5.tgz",
+      "integrity": "sha512-SqScPS3QeG6HuMwvyuvImAQ15jfmQ02TS+a5RdwI5r79XmyRAJ6Jm9df8gms+Eqhzl2lvuXkt00sl23sCi26dA==",
       "dependencies": {
-        "@mongosh/errors": "2.2.4",
-        "@mongosh/i18n": "2.2.4",
+        "@mongosh/errors": "2.2.5",
+        "@mongosh/i18n": "2.2.5",
         "mongodb-connection-string-url": "^3.0.0"
       },
       "engines": {
@@ -1166,9 +1176,9 @@
       }
     },
     "node_modules/@mongosh/async-rewriter2": {
-      "version": "2.2.4",
-      "resolved": "https://registry.npmmirror.com/@mongosh/async-rewriter2/-/async-rewriter2-2.2.4.tgz",
-      "integrity": "sha512-CjIZbzu72ai2yby6uymFwO/bgR0Nst3Q8Etfn7dukIDInpD/4OobQZZKY5IVah3BLFHVICJTg9S956EbLlmgbA==",
+      "version": "2.2.5",
+      "resolved": "https://registry.npmmirror.com/@mongosh/async-rewriter2/-/async-rewriter2-2.2.5.tgz",
+      "integrity": "sha512-ZS6zw8+TnFxfirXdY/fNtQrB35O//MGfBhuoRFPaaVo551QnQWbSkjef2/aSOu0iDGph/iLo8gbRMFPtfdUtLg==",
       "dependencies": {
         "@babel/core": "^7.22.8",
         "@babel/plugin-transform-destructuring": "^7.22.5",
@@ -1185,12 +1195,12 @@
       }
     },
     "node_modules/@mongosh/autocomplete": {
-      "version": "2.2.4",
-      "resolved": "https://registry.npmmirror.com/@mongosh/autocomplete/-/autocomplete-2.2.4.tgz",
-      "integrity": "sha512-ZhfWGe2Vz7AiTnd8LKINeFZj3kc9HiRi9BmXK73zQQkJeV33KmDK7qeBS8kUbGwpZKj1pWtFdrBixpJ2ZivqHw==",
+      "version": "2.2.5",
+      "resolved": "https://registry.npmmirror.com/@mongosh/autocomplete/-/autocomplete-2.2.5.tgz",
+      "integrity": "sha512-ygFpjamjkx5KcRP70iH2IMavGNj19l3nwv8vRXhpC9sdz3hkRcTbl8SjWKWvOSMtm679dYm6ExVgV4f0jqZGFQ==",
       "dependencies": {
         "@mongodb-js/mongodb-constants": "^0.8.10",
-        "@mongosh/shell-api": "2.2.4",
+        "@mongosh/shell-api": "2.2.5",
         "semver": "^7.5.4"
       },
       "engines": {
@@ -1198,25 +1208,25 @@
       }
     },
     "node_modules/@mongosh/cli-repl": {
-      "version": "2.2.4",
-      "resolved": "https://registry.npmmirror.com/@mongosh/cli-repl/-/cli-repl-2.2.4.tgz",
-      "integrity": "sha512-NawHTDmxkQIbhRtS7LZbHX3WLWgHe1ADH+JCiPdSHda39t8XYdIXLys8nBbH7NH6cQqsKXlMRAoggVY2zK1dWQ==",
-      "dependencies": {
-        "@mongosh/arg-parser": "2.2.4",
-        "@mongosh/autocomplete": "2.2.4",
-        "@mongosh/editor": "2.2.4",
-        "@mongosh/errors": "2.2.4",
-        "@mongosh/history": "2.2.4",
-        "@mongosh/i18n": "2.2.4",
-        "@mongosh/import-node-fetch": "2.2.4",
-        "@mongosh/js-multiline-to-singleline": "2.2.4",
-        "@mongosh/logging": "2.2.4",
-        "@mongosh/service-provider-core": "2.2.4",
-        "@mongosh/service-provider-server": "2.2.4",
-        "@mongosh/shell-api": "2.2.4",
-        "@mongosh/shell-evaluator": "2.2.4",
-        "@mongosh/snippet-manager": "2.2.4",
-        "@mongosh/types": "2.2.4",
+      "version": "2.2.5",
+      "resolved": "https://registry.npmmirror.com/@mongosh/cli-repl/-/cli-repl-2.2.5.tgz",
+      "integrity": "sha512-TNIfVUJks7D9psvF/nHD7YifuQ0eYca8R8sKdDCuBu/H8xmbmQmARhHO2tGeaI0osR6HJkUunpYgbXwB4hnmHw==",
+      "dependencies": {
+        "@mongosh/arg-parser": "2.2.5",
+        "@mongosh/autocomplete": "2.2.5",
+        "@mongosh/editor": "2.2.5",
+        "@mongosh/errors": "2.2.5",
+        "@mongosh/history": "2.2.5",
+        "@mongosh/i18n": "2.2.5",
+        "@mongosh/import-node-fetch": "2.2.5",
+        "@mongosh/js-multiline-to-singleline": "2.2.5",
+        "@mongosh/logging": "2.2.5",
+        "@mongosh/service-provider-core": "2.2.5",
+        "@mongosh/service-provider-server": "2.2.5",
+        "@mongosh/shell-api": "2.2.5",
+        "@mongosh/shell-evaluator": "2.2.5",
+        "@mongosh/snippet-manager": "2.2.5",
+        "@mongosh/types": "2.2.5",
         "@segment/analytics-node": "^1.3.0",
         "ansi-escape-sequences": "^5.1.2",
         "askcharacter": "^1.0.0",
@@ -1248,15 +1258,15 @@
       }
     },
     "node_modules/@mongosh/editor": {
-      "version": "2.2.4",
-      "resolved": "https://registry.npmmirror.com/@mongosh/editor/-/editor-2.2.4.tgz",
-      "integrity": "sha512-mv00Y2jve+xoGKX4eFMEDi0ts/wMPpy9PpyIP8T2R+/QxK05XvR3+yG+EnENWxbfdgXG0vQplhPmb0kAOYRbOA==",
-      "dependencies": {
-        "@mongosh/js-multiline-to-singleline": "2.2.4",
-        "@mongosh/service-provider-core": "2.2.4",
-        "@mongosh/shell-api": "2.2.4",
-        "@mongosh/shell-evaluator": "2.2.4",
-        "@mongosh/types": "2.2.4",
+      "version": "2.2.5",
+      "resolved": "https://registry.npmmirror.com/@mongosh/editor/-/editor-2.2.5.tgz",
+      "integrity": "sha512-ji7NrcOgTrC9JfDP4QPiB53qPdy9G/Osc01OF3Wm4qS/mFqSB4zgTTV0YLMzYDpG+esIGGhe8yfVrofBj0VX7A==",
+      "dependencies": {
+        "@mongosh/js-multiline-to-singleline": "2.2.5",
+        "@mongosh/service-provider-core": "2.2.5",
+        "@mongosh/shell-api": "2.2.5",
+        "@mongosh/shell-evaluator": "2.2.5",
+        "@mongosh/types": "2.2.5",
         "js-beautify": "^1.15.1"
       },
       "engines": {
@@ -1264,17 +1274,17 @@
       }
     },
     "node_modules/@mongosh/errors": {
-      "version": "2.2.4",
-      "resolved": "https://registry.npmmirror.com/@mongosh/errors/-/errors-2.2.4.tgz",
-      "integrity": "sha512-5fjnXLZMFWKQSiPUivNSWLqsZ24GVqOfulAerByjmzRoeOi5hDV3MEvQmQvOxYa9Q65vhH4jEJTlrBlhy7H70Q==",
+      "version": "2.2.5",
+      "resolved": "https://registry.npmmirror.com/@mongosh/errors/-/errors-2.2.5.tgz",
+      "integrity": "sha512-UdTod4Evw/X2XW91FG2DJ5E57J+0GLz4zuGxLdPcRcWSdnqZVgd+lTTPC9uzoMoWCs3bv6y54HmoWbqUEYlpEQ==",
       "engines": {
         "node": ">=14.15.1"
       }
     },
     "node_modules/@mongosh/history": {
-      "version": "2.2.4",
-      "resolved": "https://registry.npmmirror.com/@mongosh/history/-/history-2.2.4.tgz",
-      "integrity": "sha512-SRsRitYZuRyxVPmpT5AFCiqhcjRrMxCjVOBxu1nzimfaS9B5n10+Lr585uEtY+kUrnqToQ6HTqHRR01lXzrq0g==",
+      "version": "2.2.5",
+      "resolved": "https://registry.npmmirror.com/@mongosh/history/-/history-2.2.5.tgz",
+      "integrity": "sha512-LvQQ493B4SFYawf83fE/lfkXtP2o2Y5VKj+tKMiHP1RQqWNxrAPndt3sNHlFpeFGppEzCiXz1mTwu4Lbko0tqA==",
       "dependencies": {
         "mongodb-connection-string-url": "^3.0.0",
         "mongodb-redact": "^0.2.2"
@@ -1284,20 +1294,20 @@
       }
     },
     "node_modules/@mongosh/i18n": {
-      "version": "2.2.4",
-      "resolved": "https://registry.npmmirror.com/@mongosh/i18n/-/i18n-2.2.4.tgz",
-      "integrity": "sha512-J93D75B8GD9MVQaTyKiJNcgjsq32DrHCBQ5N/u3E/HusCAR/XJ+9IWGkE8rW1Nnwx8RGvFi12UOxbC6UDkDMlQ==",
+      "version": "2.2.5",
+      "resolved": "https://registry.npmmirror.com/@mongosh/i18n/-/i18n-2.2.5.tgz",
+      "integrity": "sha512-jjjO6RniNX5jL2tb8HtOGOuZZVnlc3XxKuPUBwQuk6tbxpJEjSIv1D3U+F4eGNGrfD6rVXRrjw+0SrdzizI/EA==",
       "dependencies": {
-        "@mongosh/errors": "2.2.4"
+        "@mongosh/errors": "2.2.5"
       },
       "engines": {
         "node": ">=14.15.1"
       }
     },
     "node_modules/@mongosh/import-node-fetch": {
-      "version": "2.2.4",
-      "resolved": "https://registry.npmmirror.com/@mongosh/import-node-fetch/-/import-node-fetch-2.2.4.tgz",
-      "integrity": "sha512-cRTx3OPlvZDwUFziEgJIY/j5sUWykqI3MhFr0grPWK8uyKHjpaM3jPa++KYdPPy/NiE+payZh5XMBBbESmh1mg==",
+      "version": "2.2.5",
+      "resolved": "https://registry.npmmirror.com/@mongosh/import-node-fetch/-/import-node-fetch-2.2.5.tgz",
+      "integrity": "sha512-RqwYM32AOwwfyTD02WDOHvN/zKDe+/TYFsgU31c4qle51yvlwRs3LPKzuwTYUPLAXxF8MzlzjvHGQGlemCKTTA==",
       "dependencies": {
         "node-fetch": "^3.3.2"
       },
@@ -1306,9 +1316,9 @@
       }
     },
     "node_modules/@mongosh/js-multiline-to-singleline": {
-      "version": "2.2.4",
-      "resolved": "https://registry.npmmirror.com/@mongosh/js-multiline-to-singleline/-/js-multiline-to-singleline-2.2.4.tgz",
-      "integrity": "sha512-uki9gdwrvwSfSw2QNDqcIKxwDdqp6clbYQhVm8eOnAmEJc9UoiGr8kTvDblQFOjkjbXxhbnvgDaZ8YgcqNFt9w==",
+      "version": "2.2.5",
+      "resolved": "https://registry.npmmirror.com/@mongosh/js-multiline-to-singleline/-/js-multiline-to-singleline-2.2.5.tgz",
+      "integrity": "sha512-20qZfBXIxn2VQv48hMxbQgBdr1lQ+jESSjlsYzMovaaRDxaLu0RBm9Vg0+TUSQKsF/ep2ZG4jTyRS/XfSOm8Iw==",
       "dependencies": {
         "@babel/core": "^7.16.12",
         "@babel/types": "^7.21.2"
@@ -1318,14 +1328,14 @@
       }
     },
     "node_modules/@mongosh/logging": {
-      "version": "2.2.4",
-      "resolved": "https://registry.npmmirror.com/@mongosh/logging/-/logging-2.2.4.tgz",
-      "integrity": "sha512-yzwgpjDSqqiS4wuWROhHsAQiZZimZ0jddlASfeezVz6R+oKgl336W1yafuAbMLJqqSDFEunlaRmbXwkjSfxP8Q==",
+      "version": "2.2.5",
+      "resolved": "https://registry.npmmirror.com/@mongosh/logging/-/logging-2.2.5.tgz",
+      "integrity": "sha512-NneAPHoyMSkY5/BuIbQJOKuldqLA6QtiitmQV00EP2p/nqC9xX+gtU7i9pUxFFR2qlKHeLjJwQVA9R9qGpOPyA==",
       "dependencies": {
         "@mongodb-js/devtools-connect": "^2.6.0",
-        "@mongosh/errors": "2.2.4",
-        "@mongosh/history": "2.2.4",
-        "@mongosh/types": "2.2.4",
+        "@mongosh/errors": "2.2.5",
+        "@mongosh/history": "2.2.5",
+        "@mongosh/types": "2.2.5",
         "mongodb-log-writer": "^1.4.0",
         "mongodb-redact": "^0.2.2"
       },
@@ -1334,12 +1344,12 @@
       }
     },
     "node_modules/@mongosh/service-provider-core": {
-      "version": "2.2.4",
-      "resolved": "https://registry.npmmirror.com/@mongosh/service-provider-core/-/service-provider-core-2.2.4.tgz",
-      "integrity": "sha512-C8MtEj8ZsgpbBWghzYdSB9dcnTbZz6DE+cmdECHfFVROUGH+ZVoxftOVRq7/lguLjTDQ4hOxcXukh2cF8SvOyg==",
+      "version": "2.2.5",
+      "resolved": "https://registry.npmmirror.com/@mongosh/service-provider-core/-/service-provider-core-2.2.5.tgz",
+      "integrity": "sha512-NiQJkESYyRiX+zEIGE8gE8RINNSGa5cm07DkLB5DM7ebIMNuPbfU7byvh6AcW8R2QQZ0hEKWf4HosW1hnhFAHg==",
       "dependencies": {
         "@aws-sdk/credential-providers": "^3.525.0",
-        "@mongosh/errors": "2.2.4",
+        "@mongosh/errors": "2.2.5",
         "bson": "^6.5.0",
         "mongodb": "^6.5.0",
         "mongodb-build-info": "^1.7.1"
@@ -1352,15 +1362,15 @@
       }
     },
     "node_modules/@mongosh/service-provider-server": {
-      "version": "2.2.4",
-      "resolved": "https://registry.npmmirror.com/@mongosh/service-provider-server/-/service-provider-server-2.2.4.tgz",
-      "integrity": "sha512-G39TiYp1Fqp97s01PiQyoo6yU//SFpNssKuvf79Y8WmbkvIEtMvW4d1pVrrs5OudgF155clFG/M7d2Tl4S4RUA==",
+      "version": "2.2.5",
+      "resolved": "https://registry.npmmirror.com/@mongosh/service-provider-server/-/service-provider-server-2.2.5.tgz",
+      "integrity": "sha512-vq6pJ9SqkEnns4hCEYnc2Rva+rnYAd4Vynpj90gKZwW67ApNNo1RpqXGNRgciFgmiWb+gqJVQk8gD+xytAcYxQ==",
       "dependencies": {
         "@mongodb-js/devtools-connect": "^2.6.0",
         "@mongodb-js/oidc-plugin": "^0.4.0",
-        "@mongosh/errors": "2.2.4",
-        "@mongosh/service-provider-core": "2.2.4",
-        "@mongosh/types": "2.2.4",
+        "@mongosh/errors": "2.2.5",
+        "@mongosh/service-provider-core": "2.2.5",
+        "@mongosh/types": "2.2.5",
         "@types/sinon-chai": "^3.2.4",
         "aws4": "^1.12.0",
         "mongodb": "^6.5.0",
@@ -1376,15 +1386,15 @@
       }
     },
     "node_modules/@mongosh/shell-api": {
-      "version": "2.2.4",
-      "resolved": "https://registry.npmmirror.com/@mongosh/shell-api/-/shell-api-2.2.4.tgz",
-      "integrity": "sha512-KvSpGppwHv6HfV7W4LTRZY1gFK6J/yE0td2E52FW+B/MAnWAAyJz85nWjGEOpT/FnsZrqC7DV+a1JVpXOcvnVA==",
-      "dependencies": {
-        "@mongosh/arg-parser": "2.2.4",
-        "@mongosh/errors": "2.2.4",
-        "@mongosh/history": "2.2.4",
-        "@mongosh/i18n": "2.2.4",
-        "@mongosh/service-provider-core": "2.2.4",
+      "version": "2.2.5",
+      "resolved": "https://registry.npmmirror.com/@mongosh/shell-api/-/shell-api-2.2.5.tgz",
+      "integrity": "sha512-FPgzPOudhayvRuD50Hux2Ojs//JhKllOzX4TT3s8qNmcujJpOtQ4BVWTmREEivBSmwkagA2ag374KUlzRlxtTw==",
+      "dependencies": {
+        "@mongosh/arg-parser": "2.2.5",
+        "@mongosh/errors": "2.2.5",
+        "@mongosh/history": "2.2.5",
+        "@mongosh/i18n": "2.2.5",
+        "@mongosh/service-provider-core": "2.2.5",
         "mongodb-redact": "^0.2.2"
       },
       "engines": {
@@ -1392,27 +1402,27 @@
       }
     },
     "node_modules/@mongosh/shell-evaluator": {
-      "version": "2.2.4",
-      "resolved": "https://registry.npmmirror.com/@mongosh/shell-evaluator/-/shell-evaluator-2.2.4.tgz",
-      "integrity": "sha512-v5HTxC+0l+msdjNtaS9IiG1zfr/YL7nYBs/Hc4HkpbBa+LrnoorQbfTa0SIB7jBGkc2HnyswkSu5Wc6X0WQxdQ==",
+      "version": "2.2.5",
+      "resolved": "https://registry.npmmirror.com/@mongosh/shell-evaluator/-/shell-evaluator-2.2.5.tgz",
+      "integrity": "sha512-2RRHBRrK0izXLnVHtWttrOmYM8aDNhPNfmxuxkd5UFMGDYTAQ7JNmBVlvo0jPsWNZLLMCioVDdvvQY+WuyDgzg==",
       "dependencies": {
-        "@mongosh/async-rewriter2": "2.2.4",
-        "@mongosh/history": "2.2.4",
-        "@mongosh/shell-api": "2.2.4"
+        "@mongosh/async-rewriter2": "2.2.5",
+        "@mongosh/history": "2.2.5",
+        "@mongosh/shell-api": "2.2.5"
       },
       "engines": {
         "node": ">=14.15.1"
       }
     },
     "node_modules/@mongosh/snippet-manager": {
-      "version": "2.2.4",
-      "resolved": "https://registry.npmmirror.com/@mongosh/snippet-manager/-/snippet-manager-2.2.4.tgz",
-      "integrity": "sha512-Q043qO5cP3YMv3zpYUYUZCXogUbBioIfgMzOCCYMfWOXntJmPK0AwCZurQVjdA08tsznrYPa3rwX64amTHyj+A==",
-      "dependencies": {
-        "@mongosh/errors": "2.2.4",
-        "@mongosh/import-node-fetch": "2.2.4",
-        "@mongosh/shell-api": "2.2.4",
-        "@mongosh/types": "2.2.4",
+      "version": "2.2.5",
+      "resolved": "https://registry.npmmirror.com/@mongosh/snippet-manager/-/snippet-manager-2.2.5.tgz",
+      "integrity": "sha512-q9mvh+f7L7QGiCVmIGp7ECmphOCd1jUy0aK2wkbzFl3E6Liwqh0DlJB0Uue2VA72LmJd36kowKFoA8TYo4DgwA==",
+      "dependencies": {
+        "@mongosh/errors": "2.2.5",
+        "@mongosh/import-node-fetch": "2.2.5",
+        "@mongosh/shell-api": "2.2.5",
+        "@mongosh/types": "2.2.5",
         "bson": "^6.5.0",
         "cross-spawn": "^7.0.3",
         "escape-string-regexp": "^4.0.0",
@@ -1424,9 +1434,9 @@
       }
     },
     "node_modules/@mongosh/types": {
-      "version": "2.2.4",
-      "resolved": "https://registry.npmmirror.com/@mongosh/types/-/types-2.2.4.tgz",
-      "integrity": "sha512-FN6VHcmLXPWmE08EAdQOeDhHSZYGP0iVKANOZpI2ncXChEiOVVU2Z8x2fHIXksPsb0gxzv1+NOagpzjg6YuyOg==",
+      "version": "2.2.5",
+      "resolved": "https://registry.npmmirror.com/@mongosh/types/-/types-2.2.5.tgz",
+      "integrity": "sha512-wWt1CQiQZylsgseehJ0ODspZ757l8c01VPsDKhUNFwhikhZiG2hlmPT8hR0D78ZkzQbHkC4ajOObsxkWaBCJ7g==",
       "dependencies": {
         "@mongodb-js/devtools-connect": "^2.6.0"
       },
@@ -2312,7 +2322,21 @@
     "node_modules/base64-js": {
       "version": "1.5.1",
       "resolved": "https://registry.npmmirror.com/base64-js/-/base64-js-1.5.1.tgz",
-      "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
+      "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ]
     },
     "node_modules/big-integer": {
       "version": "1.6.52",
@@ -2346,6 +2370,20 @@
       "version": "5.7.1",
       "resolved": "https://registry.npmmirror.com/buffer/-/buffer-5.7.1.tgz",
       "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ],
       "optional": true,
       "dependencies": {
         "base64-js": "^1.3.1",
@@ -2416,6 +2454,20 @@
       "version": "4.23.0",
       "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.23.0.tgz",
       "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==",
+      "funding": [
+        {
+          "type": "opencollective",
+          "url": "https://opencollective.com/browserslist"
+        },
+        {
+          "type": "tidelift",
+          "url": "https://tidelift.com/funding/github/npm/browserslist"
+        },
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/ai"
+        }
+      ],
       "dependencies": {
         "caniuse-lite": "^1.0.30001587",
         "electron-to-chromium": "^1.4.668",
@@ -2441,6 +2493,20 @@
       "version": "6.0.3",
       "resolved": "https://registry.npmmirror.com/buffer/-/buffer-6.0.3.tgz",
       "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ],
       "dependencies": {
         "base64-js": "^1.3.1",
         "ieee754": "^1.2.1"
@@ -2455,6 +2521,9 @@
       },
       "engines": {
         "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
     "node_modules/bytes": {
@@ -2478,12 +2547,29 @@
       },
       "engines": {
         "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
     "node_modules/caniuse-lite": {
-      "version": "1.0.30001610",
-      "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001610.tgz",
-      "integrity": "sha512-QFutAY4NgaelojVMjY63o6XlZyORPaLfyMnsl3HgnWdJUcX6K0oaJymHjH8PT5Gk7sTm8rvC/c5COUQKXqmOMA=="
+      "version": "1.0.30001612",
+      "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001612.tgz",
+      "integrity": "sha512-lFgnZ07UhaCcsSZgWW0K5j4e69dK1u/ltrL9lTUiFOwNHs12S3UMIEYgBV0Z6C6hRDev7iRnMzzYmKabYdXF9g==",
+      "funding": [
+        {
+          "type": "opencollective",
+          "url": "https://opencollective.com/browserslist"
+        },
+        {
+          "type": "tidelift",
+          "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+        },
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/ai"
+        }
+      ]
     },
     "node_modules/chalk": {
       "version": "2.4.2",
@@ -2628,6 +2714,9 @@
       },
       "engines": {
         "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
     "node_modules/deep-extend": {
@@ -2651,6 +2740,9 @@
       },
       "engines": {
         "node": ">=14.16"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
     "node_modules/default-browser-id": {
@@ -2663,6 +2755,9 @@
       },
       "engines": {
         "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
     "node_modules/define-data-property": {
@@ -2676,6 +2771,9 @@
       },
       "engines": {
         "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
     "node_modules/define-lazy-prop": {
@@ -2684,6 +2782,9 @@
       "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==",
       "engines": {
         "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
     "node_modules/depd": {
@@ -2748,9 +2849,9 @@
       "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
     },
     "node_modules/electron-to-chromium": {
-      "version": "1.4.739",
-      "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.739.tgz",
-      "integrity": "sha512-koRkawXOuN9w/ymhTNxGfB8ta4MRKVW0nzifU17G1UwTWlBg0vv7xnz4nxDnRFSBe9nXMGRgICcAzqXc0PmLeA=="
+      "version": "1.4.748",
+      "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.748.tgz",
+      "integrity": "sha512-VWqjOlPZn70UZ8FTKUOkUvBLeTQ0xpty66qV0yJcAGY2/CthI4xyW9aEozRVtuwv3Kpf5xTesmJUcPwuJmgP4A=="
     },
     "node_modules/emoji-regex": {
       "version": "9.2.2",
@@ -2765,6 +2866,10 @@
         "chalk": "^4.0.0",
         "highlight.js": "~10.4.0",
         "lowlight": "~1.17.0"
+      },
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/wooorm"
       }
     },
     "node_modules/emphasize/node_modules/ansi-styles": {
@@ -2776,6 +2881,9 @@
       },
       "engines": {
         "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
       }
     },
     "node_modules/emphasize/node_modules/chalk": {
@@ -2788,6 +2896,9 @@
       },
       "engines": {
         "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/chalk?sponsor=1"
       }
     },
     "node_modules/emphasize/node_modules/color-convert": {
@@ -2880,6 +2991,9 @@
       "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
       "engines": {
         "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
     "node_modules/etag": {
@@ -2915,6 +3029,9 @@
       },
       "engines": {
         "node": "^14.18.0 || ^16.14.0 || >=18.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/sindresorhus/execa?sponsor=1"
       }
     },
     "node_modules/execa/node_modules/signal-exit": {
@@ -2989,6 +3106,16 @@
       "version": "4.2.5",
       "resolved": "https://registry.npmmirror.com/fast-xml-parser/-/fast-xml-parser-4.2.5.tgz",
       "integrity": "sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==",
+      "funding": [
+        {
+          "type": "paypal",
+          "url": "https://paypal.me/naturalintelligence"
+        },
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/NaturalIntelligence"
+        }
+      ],
       "dependencies": {
         "strnum": "^1.0.5"
       },
@@ -3002,12 +3129,26 @@
       "integrity": "sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==",
       "dependencies": {
         "format": "^0.2.0"
+      },
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/wooorm"
       }
     },
     "node_modules/fetch-blob": {
       "version": "3.2.0",
       "resolved": "https://registry.npmmirror.com/fetch-blob/-/fetch-blob-3.2.0.tgz",
       "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==",
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/jimmywarting"
+        },
+        {
+          "type": "paypal",
+          "url": "https://paypal.me/jimmywarting"
+        }
+      ],
       "dependencies": {
         "node-domexception": "^1.0.0",
         "web-streams-polyfill": "^3.0.3"
@@ -3062,6 +3203,9 @@
       },
       "engines": {
         "node": ">=14"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
     "node_modules/format": {
@@ -3135,7 +3279,10 @@
     "node_modules/function-bind": {
       "version": "1.1.2",
       "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz",
-      "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="
+      "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
     },
     "node_modules/gensync": {
       "version": "1.0.0-beta.2",
@@ -3172,6 +3319,9 @@
       },
       "engines": {
         "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
     "node_modules/get-stream": {
@@ -3180,6 +3330,9 @@
       "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
       "engines": {
         "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
     "node_modules/github-from-package": {
@@ -3227,6 +3380,9 @@
       },
       "engines": {
         "node": ">=16 || 14 >=14.17"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
     "node_modules/globals": {
@@ -3243,6 +3399,9 @@
       "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
       "dependencies": {
         "get-intrinsic": "^1.1.3"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
     "node_modules/handle-backspaces": {
@@ -3264,6 +3423,9 @@
       "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
       "dependencies": {
         "es-define-property": "^1.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
     "node_modules/has-proto": {
@@ -3272,6 +3434,9 @@
       "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==",
       "engines": {
         "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
     "node_modules/has-symbols": {
@@ -3280,6 +3445,9 @@
       "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
       "engines": {
         "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
     "node_modules/hasown": {
@@ -3351,7 +3519,21 @@
     "node_modules/ieee754": {
       "version": "1.2.1",
       "resolved": "https://registry.npmmirror.com/ieee754/-/ieee754-1.2.1.tgz",
-      "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
+      "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ]
     },
     "node_modules/inherits": {
       "version": "2.0.4",
@@ -3398,6 +3580,9 @@
       },
       "engines": {
         "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
     "node_modules/is-fullwidth-code-point": {
@@ -3420,6 +3605,9 @@
       },
       "engines": {
         "node": ">=14.16"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
     "node_modules/is-recoverable-error": {
@@ -3440,6 +3628,9 @@
       "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==",
       "engines": {
         "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
     "node_modules/is-wsl": {
@@ -3462,6 +3653,9 @@
       },
       "engines": {
         "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
     "node_modules/isexe": {
@@ -3479,14 +3673,17 @@
       "engines": {
         "node": ">=14"
       },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      },
       "optionalDependencies": {
         "@pkgjs/parseargs": "^0.11.0"
       }
     },
     "node_modules/joi": {
-      "version": "17.12.3",
-      "resolved": "https://registry.npmmirror.com/joi/-/joi-17.12.3.tgz",
-      "integrity": "sha512-2RRziagf555owrm9IRVtdKynOBeITiDpuZqIpgwqXShPncPKNiRQoiGsl/T8SQdq+8ugRzH2LqY67irr2y/d+g==",
+      "version": "17.13.0",
+      "resolved": "https://registry.npmmirror.com/joi/-/joi-17.13.0.tgz",
+      "integrity": "sha512-9qcrTyoBmFZRNHeVP4edKqIUEgFzq7MHvTNSDuHSqkpOPtiBkgNgcmTSqmiw1kw9tdKaiddvIDv/eCJDxmqWCA==",
       "dependencies": {
         "@hapi/hoek": "^9.3.0",
         "@hapi/topo": "^5.1.0",
@@ -3498,7 +3695,10 @@
     "node_modules/jose": {
       "version": "4.15.5",
       "resolved": "https://registry.npmmirror.com/jose/-/jose-4.15.5.tgz",
-      "integrity": "sha512-jc7BFxgKPKi94uOvEmzlSWFFe2+vASyXaKUpdQKatWAESU2MWjDfFf0fdfc83CDKcA5QecabZeNLyfhe3yKNkg=="
+      "integrity": "sha512-jc7BFxgKPKi94uOvEmzlSWFFe2+vASyXaKUpdQKatWAESU2MWjDfFf0fdfc83CDKcA5QecabZeNLyfhe3yKNkg==",
+      "funding": {
+        "url": "https://github.com/sponsors/panva"
+      }
     },
     "node_modules/js-beautify": {
       "version": "1.15.1",
@@ -3609,6 +3809,10 @@
       "dependencies": {
         "fault": "^1.0.0",
         "highlight.js": "~10.4.0"
+      },
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/wooorm"
       }
     },
     "node_modules/lru-cache": {
@@ -3700,6 +3904,9 @@
       "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==",
       "engines": {
         "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
     "node_modules/mimic-response": {
@@ -3709,6 +3916,9 @@
       "optional": true,
       "engines": {
         "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
     "node_modules/minimatch": {
@@ -3720,13 +3930,19 @@
       },
       "engines": {
         "node": ">=16 || 14 >=14.17"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
     "node_modules/minimist": {
       "version": "1.2.8",
       "resolved": "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz",
       "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
-      "optional": true
+      "optional": true,
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
     },
     "node_modules/minipass": {
       "version": "7.0.4",
@@ -3909,9 +4125,9 @@
       }
     },
     "node_modules/node-abi": {
-      "version": "3.59.0",
-      "resolved": "https://registry.npmmirror.com/node-abi/-/node-abi-3.59.0.tgz",
-      "integrity": "sha512-HyyfzvTLCE8b1SX2nWimlra8cibEsypcSu/Az4SXMhWhtuctkwAX7qsEYNjUOIoYtPV884oN3wtYTN+iZKBtvw==",
+      "version": "3.62.0",
+      "resolved": "https://registry.npmmirror.com/node-abi/-/node-abi-3.62.0.tgz",
+      "integrity": "sha512-CPMcGa+y33xuL1E0TcNIu4YyaZCxnnvkVaEXrsosR3FxN+fV8xvb7Mzpb7IgKler10qeMkE6+Dp8qJhpzdq35g==",
       "optional": true,
       "dependencies": {
         "semver": "^7.3.5"
@@ -3930,6 +4146,16 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmmirror.com/node-domexception/-/node-domexception-1.0.0.tgz",
       "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==",
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/jimmywarting"
+        },
+        {
+          "type": "github",
+          "url": "https://paypal.me/jimmywarting"
+        }
+      ],
       "engines": {
         "node": ">=10.5.0"
       }
@@ -3945,6 +4171,10 @@
       },
       "engines": {
         "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/node-fetch"
       }
     },
     "node_modules/node-forge": {
@@ -3984,6 +4214,9 @@
       },
       "engines": {
         "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
     "node_modules/npm-run-path/node_modules/path-key": {
@@ -3992,6 +4225,9 @@
       "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==",
       "engines": {
         "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
     "node_modules/numeral": {
@@ -4013,7 +4249,10 @@
     "node_modules/object-inspect": {
       "version": "1.13.1",
       "resolved": "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.13.1.tgz",
-      "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ=="
+      "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==",
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
     },
     "node_modules/oidc-token-hash": {
       "version": "5.0.3",
@@ -4052,6 +4291,9 @@
       },
       "engines": {
         "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
     "node_modules/open": {
@@ -4066,6 +4308,9 @@
       },
       "engines": {
         "node": ">=14.16"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
     "node_modules/openid-client": {
@@ -4077,6 +4322,9 @@
         "lru-cache": "^6.0.0",
         "object-hash": "^2.2.0",
         "oidc-token-hash": "^5.0.3"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/panva"
       }
     },
     "node_modules/openid-client/node_modules/lru-cache": {
@@ -4134,6 +4382,9 @@
       },
       "engines": {
         "node": ">=16 || 14 >=14.17"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
     "node_modules/path-scurry/node_modules/lru-cache": {
@@ -4203,6 +4454,9 @@
       },
       "engines": {
         "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
       }
     },
     "node_modules/pretty-repl/node_modules/chalk": {
@@ -4215,6 +4469,9 @@
       },
       "engines": {
         "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/chalk?sponsor=1"
       }
     },
     "node_modules/pretty-repl/node_modules/color-convert": {
@@ -4296,6 +4553,9 @@
       },
       "engines": {
         "node": ">=0.6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
     "node_modules/range-parser": {
@@ -4370,6 +4630,9 @@
       },
       "engines": {
         "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
     "node_modules/run-applescript/node_modules/execa": {
@@ -4389,6 +4652,9 @@
       },
       "engines": {
         "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sindresorhus/execa?sponsor=1"
       }
     },
     "node_modules/run-applescript/node_modules/human-signals": {
@@ -4405,6 +4671,9 @@
       "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
       "engines": {
         "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
     "node_modules/run-applescript/node_modules/mimic-fn": {
@@ -4435,6 +4704,9 @@
       },
       "engines": {
         "node": ">=6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
     "node_modules/run-applescript/node_modules/signal-exit": {
@@ -4453,7 +4725,21 @@
     "node_modules/safe-buffer": {
       "version": "5.2.1",
       "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz",
-      "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
+      "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ]
     },
     "node_modules/safer-buffer": {
       "version": "2.1.2",
@@ -4597,6 +4883,9 @@
       },
       "engines": {
         "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
     "node_modules/signal-exit": {
@@ -4605,18 +4894,49 @@
       "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
       "engines": {
         "node": ">=14"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
     "node_modules/simple-concat": {
       "version": "1.0.1",
       "resolved": "https://registry.npmmirror.com/simple-concat/-/simple-concat-1.0.1.tgz",
       "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==",
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ],
       "optional": true
     },
     "node_modules/simple-get": {
       "version": "4.0.1",
       "resolved": "https://registry.npmmirror.com/simple-get/-/simple-get-4.0.1.tgz",
       "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==",
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ],
       "optional": true,
       "dependencies": {
         "decompress-response": "^6.0.0",
@@ -4687,6 +5007,9 @@
       },
       "engines": {
         "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
     "node_modules/string-width-cjs": {
@@ -4714,6 +5037,9 @@
       "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
       "engines": {
         "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-regex?sponsor=1"
       }
     },
     "node_modules/string-width/node_modules/strip-ansi": {
@@ -4725,6 +5051,9 @@
       },
       "engines": {
         "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/strip-ansi?sponsor=1"
       }
     },
     "node_modules/strip-ansi": {
@@ -4756,6 +5085,9 @@
       "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==",
       "engines": {
         "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
     "node_modules/strip-json-comments": {
@@ -4866,6 +5198,9 @@
       "integrity": "sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==",
       "engines": {
         "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
     "node_modules/to-fast-properties": {
@@ -4944,6 +5279,20 @@
       "version": "1.0.13",
       "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz",
       "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==",
+      "funding": [
+        {
+          "type": "opencollective",
+          "url": "https://opencollective.com/browserslist"
+        },
+        {
+          "type": "tidelift",
+          "url": "https://tidelift.com/funding/github/npm/browserslist"
+        },
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/ai"
+        }
+      ],
       "dependencies": {
         "escalade": "^3.1.1",
         "picocolors": "^1.0.0"
@@ -4973,6 +5322,10 @@
       "version": "9.0.1",
       "resolved": "https://registry.npmmirror.com/uuid/-/uuid-9.0.1.tgz",
       "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",
+      "funding": [
+        "https://github.com/sponsors/broofa",
+        "https://github.com/sponsors/ctavan"
+      ],
       "bin": {
         "uuid": "dist/bin/uuid"
       }
@@ -5053,6 +5406,9 @@
       },
       "engines": {
         "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
       }
     },
     "node_modules/wrap-ansi-cjs": {
@@ -5067,6 +5423,9 @@
       },
       "engines": {
         "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
       }
     },
     "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": {
@@ -5078,6 +5437,9 @@
       },
       "engines": {
         "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
       }
     },
     "node_modules/wrap-ansi-cjs/node_modules/color-convert": {
@@ -5120,6 +5482,9 @@
       "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
       "engines": {
         "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-regex?sponsor=1"
       }
     },
     "node_modules/wrap-ansi/node_modules/ansi-styles": {
@@ -5128,6 +5493,9 @@
       "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
       "engines": {
         "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
       }
     },
     "node_modules/wrap-ansi/node_modules/strip-ansi": {
@@ -5139,6 +5507,9 @@
       },
       "engines": {
         "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/strip-ansi?sponsor=1"
       }
     },
     "node_modules/wrappy": {
diff --git a/pkgs/development/tools/mongosh/source.json b/pkgs/development/tools/mongosh/source.json
index 0c87fa71e661e..c8989a8a2b1d9 100644
--- a/pkgs/development/tools/mongosh/source.json
+++ b/pkgs/development/tools/mongosh/source.json
@@ -1,6 +1,6 @@
 {
-  "version": "2.2.4",
-  "integrity": "sha512-1T+ZwhdUrB8kk08zbyJr4cengVOyNdgKwRT4JXUvJCn9vvJoVSlAzsttn8Nlmj5IC6R6AijBsFlkF3wnuVKbZQ==",
-  "filename": "mongosh-2.2.4.tgz",
-  "deps": "sha256-87LGwA2sdmY/acH6Byziu1/xGV8c5PUZnp7cKVgOf+4="
+  "version": "2.2.5",
+  "integrity": "sha512-kQ9X6xgWgE91whL8JMpLzucSiCFO+eCAH5BRiKJfvZOSUkG3VGc+JvRiffbtqq2KAA5nex4u0xEAl/SwlroPkg==",
+  "filename": "mongosh-2.2.5.tgz",
+  "deps": "sha256-PD3H45WEDP/DoCHCQuDNh/5Znca6f3TAOJL4wtQOnXI="
 }
diff --git a/pkgs/development/tools/ocaml/dune/1.nix b/pkgs/development/tools/ocaml/dune/1.nix
index d6d3863afab8f..c9f1c6f7eb251 100644
--- a/pkgs/development/tools/ocaml/dune/1.nix
+++ b/pkgs/development/tools/ocaml/dune/1.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://dune.build/";
     description = "A composable build system";
-    maintainers = [ maintainers.vbgl maintainers.marsam ];
+    maintainers = [ maintainers.vbgl ];
     license = licenses.mit;
     inherit (ocaml.meta) platforms;
   };
diff --git a/pkgs/development/tools/ocaml/dune/2.nix b/pkgs/development/tools/ocaml/dune/2.nix
index 0d2d3b7d53242..ffed78c7a882b 100644
--- a/pkgs/development/tools/ocaml/dune/2.nix
+++ b/pkgs/development/tools/ocaml/dune/2.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     description = "A composable build system";
     mainProgram = "dune";
     changelog = "https://github.com/ocaml/dune/raw/${version}/CHANGES.md";
-    maintainers = [ lib.maintainers.vbgl lib.maintainers.marsam ];
+    maintainers = [ lib.maintainers.vbgl ];
     license = lib.licenses.mit;
     inherit (ocaml.meta) platforms;
   };
diff --git a/pkgs/development/tools/ocaml/dune/3.nix b/pkgs/development/tools/ocaml/dune/3.nix
index 6d8c862ac6fac..a91582959901e 100644
--- a/pkgs/development/tools/ocaml/dune/3.nix
+++ b/pkgs/development/tools/ocaml/dune/3.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
     description = "A composable build system";
     mainProgram = "dune";
     changelog = "https://github.com/ocaml/dune/raw/${version}/CHANGES.md";
-    maintainers = [ lib.maintainers.vbgl lib.maintainers.marsam ];
+    maintainers = [ lib.maintainers.vbgl ];
     license = lib.licenses.mit;
     inherit (ocaml.meta) platforms;
   };
diff --git a/pkgs/development/tools/ocaml/opam/default.nix b/pkgs/development/tools/ocaml/opam/default.nix
index a60b12667fa7b..60360abbedea7 100644
--- a/pkgs/development/tools/ocaml/opam/default.nix
+++ b/pkgs/development/tools/ocaml/opam/default.nix
@@ -139,7 +139,7 @@ in stdenv.mkDerivation {
     description = "A package manager for OCaml";
     homepage = "https://opam.ocaml.org/";
     changelog = "https://github.com/ocaml/opam/raw/${version}/CHANGES";
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     license = licenses.lgpl21Only;
     platforms = platforms.all;
   };
diff --git a/pkgs/development/tools/ocaml/opam/opam.nix.pl b/pkgs/development/tools/ocaml/opam/opam.nix.pl
index 412a1a30e70d1..a3f1bc9219cd5 100755
--- a/pkgs/development/tools/ocaml/opam/opam.nix.pl
+++ b/pkgs/development/tools/ocaml/opam/opam.nix.pl
@@ -129,7 +129,7 @@ print <<'EOF';
     description = "A package manager for OCaml";
     homepage = "https://opam.ocaml.org/";
     changelog = "https://github.com/ocaml/opam/raw/${version}/CHANGES";
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     license = licenses.lgpl21Only;
     platforms = platforms.all;
   };
diff --git a/pkgs/development/tools/oh-my-posh/default.nix b/pkgs/development/tools/oh-my-posh/default.nix
index 56b07f8aee0f4..c2dd4cb8e5c61 100644
--- a/pkgs/development/tools/oh-my-posh/default.nix
+++ b/pkgs/development/tools/oh-my-posh/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "oh-my-posh";
-  version = "19.21.0";
+  version = "19.24.3";
 
   src = fetchFromGitHub {
     owner = "jandedobbeleer";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-Vhqk7U4FKl9r7WMX/FJ/4LEtuTUsZquM98A+nQRFqMQ=";
+    hash = "sha256-sgtMK1ccf1rX5ZdQpTRClxx112eOFV+BWyTIpMlzLVA=";
   };
 
-  vendorHash = "sha256-rcw9HgN677NxrMZDrpNFLHNyHdlRXvgxCtQnLt0TRLw=";
+  vendorHash = "sha256-iSbQn86b1xZwlyo5nKYI7LEH5AyWCw7MLgD3Q0mtFfk=";
 
   sourceRoot = "${src.name}/src";
 
diff --git a/pkgs/development/tools/okteto/default.nix b/pkgs/development/tools/okteto/default.nix
index 07354161c1ab6..50789530be67d 100644
--- a/pkgs/development/tools/okteto/default.nix
+++ b/pkgs/development/tools/okteto/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "okteto";
-  version = "2.25.4";
+  version = "2.26.1";
 
   src = fetchFromGitHub {
     owner = "okteto";
     repo = "okteto";
     rev = version;
-    hash = "sha256-F3tvk3vC6h8fJ2hZMKo2eQ0uUj0UsK7MEujo//wXJi0=";
+    hash = "sha256-bWyerkXmAto0c/LYybUSRctajmL1R0PldfpKsh8crfA=";
   };
 
-  vendorHash = "sha256-+Adnveutg8soqK2Zwn2SNq7SEHd/Z91diHbPYHrGVrA=";
+  vendorHash = "sha256-cYiyKNpsMfjqLL+6Q/s3nHRcj2y0DHuOu+S5GndLHxk=";
 
   postPatch = ''
     # Disable some tests that need file system & network access.
@@ -33,6 +33,10 @@ buildGoModule rec {
     export HOME=$(mktemp -d)
   '';
 
+  checkFlags = [
+    "-skip=TestCreateDockerfile" # Skip flaky test
+  ];
+
   postInstall = ''
     installShellCompletion --cmd okteto \
       --bash <($out/bin/okteto completion bash) \
@@ -47,9 +51,9 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "Develop your applications directly in your Kubernetes Cluster";
-    mainProgram = "okteto";
     homepage = "https://okteto.com/";
     license = licenses.asl20;
     maintainers = with maintainers; [ aaronjheng ];
+    mainProgram = "okteto";
   };
 }
diff --git a/pkgs/development/tools/open-policy-agent/default.nix b/pkgs/development/tools/open-policy-agent/default.nix
index c175d788b355f..243810ef77a08 100644
--- a/pkgs/development/tools/open-policy-agent/default.nix
+++ b/pkgs/development/tools/open-policy-agent/default.nix
@@ -11,13 +11,13 @@ assert enableWasmEval && stdenv.isDarwin -> builtins.throw "building with wasm o
 
 buildGoModule rec {
   pname = "open-policy-agent";
-  version = "0.63.0";
+  version = "0.64.0";
 
   src = fetchFromGitHub {
     owner = "open-policy-agent";
     repo = "opa";
     rev = "v${version}";
-    hash = "sha256-yXYyRl0ZDgS6eB2pB0Iqi3DiBGcIO3Vdet9RLSOczkU=";
+    hash = "sha256-BguL9ph7lNzOJs9s2l7jt/SjmD5Wy0MPrwIiEXL/Ip4=";
   };
 
   vendorHash = null;
diff --git a/pkgs/development/tools/pet/default.nix b/pkgs/development/tools/pet/default.nix
index 3250107cbf0eb..c911673e11680 100644
--- a/pkgs/development/tools/pet/default.nix
+++ b/pkgs/development/tools/pet/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "pet";
-  version = "0.7.0";
+  version = "0.7.1";
 
   src = fetchFromGitHub {
     owner = "knqyf263";
     repo = "pet";
     rev = "v${version}";
-    sha256 = "sha256-2C87oqMyq85cbN2rq8aEkEyFC5IZCw75TMQSjzR+RrY=";
+    sha256 = "sha256-UN7UkwzMz5KGZZqfK+g3bja/dBO6oy682b8qqYgSfPU=";
   };
 
   vendorHash = "sha256-ebdPWKNL9i3sEGpfDCXIfOaFQjV5LXohug2qFXeWenk=";
diff --git a/pkgs/development/tools/pgformatter/default.nix b/pkgs/development/tools/pgformatter/default.nix
index 22e7116fb6cd3..219b8b67d3b85 100644
--- a/pkgs/development/tools/pgformatter/default.nix
+++ b/pkgs/development/tools/pgformatter/default.nix
@@ -46,7 +46,7 @@ perlPackages.buildPerlPackage rec {
     description = "A PostgreSQL SQL syntax beautifier that can work as a console program or as a CGI";
     homepage = "https://github.com/darold/pgFormatter";
     changelog = "https://github.com/darold/pgFormatter/releases/tag/v${version}";
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     license = [ licenses.postgresql licenses.artistic2 ];
     mainProgram = "pg_format";
   };
diff --git a/pkgs/development/tools/poac/default.nix b/pkgs/development/tools/poac/default.nix
index cb3be4ca9031f..13562e26727f6 100644
--- a/pkgs/development/tools/poac/default.nix
+++ b/pkgs/development/tools/poac/default.nix
@@ -95,9 +95,7 @@ stdenv.mkDerivation rec {
     license = licenses.asl20;
     maintainers = with maintainers; [ ];
     platforms = platforms.unix;
-    # https://github.com/NixOS/nixpkgs/pull/189712#issuecomment-1237791234
-    broken = (stdenv.isLinux && stdenv.isAarch64)
-    # error: excess elements in scalar initializer on std::aligned_alloc
-          || (stdenv.isDarwin && stdenv.isx86_64);
+    # error: call to 'format' is ambiguous
+    broken = true; # last successful build 2023-12-31
   };
 }
diff --git a/pkgs/development/tools/prettierd/default.nix b/pkgs/development/tools/prettierd/default.nix
index 7e55e5be101a2..bf7ab9e692036 100644
--- a/pkgs/development/tools/prettierd/default.nix
+++ b/pkgs/development/tools/prettierd/default.nix
@@ -8,18 +8,18 @@
 }:
 mkYarnPackage rec {
   pname = "prettierd";
-  version = "0.25.1";
+  version = "0.25.3";
 
   src = fetchFromGitHub {
     owner = "fsouza";
     repo = "prettierd";
     rev = "v${version}";
-    hash = "sha256-aoRfZ9SJazz0ir1fyHypn3aYqK9DJOLLVPMuFcOm/20=";
+    hash = "sha256-3lvFZ5/p+1kPnHIR2PlQtCY3SVo1rs8IuBigLaabxAE=";
   };
 
   offlineCache = fetchYarnDeps {
     yarnLock = src + "/yarn.lock";
-    hash = "sha256-HsWsRIONRNY9akZ2LXlWcPhH6N5qCKnesaDX1gQp+NU=";
+    hash = "sha256-Ti2b102pzUKB6Xy3LwZ7DlrnW0cRscgNLTUIAKz+6Us=";
   };
 
   packageJSON = ./package.json;
diff --git a/pkgs/development/tools/prettierd/package.json b/pkgs/development/tools/prettierd/package.json
index 5ba4d0980034a..085e4ab73f7c3 100644
--- a/pkgs/development/tools/prettierd/package.json
+++ b/pkgs/development/tools/prettierd/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fsouza/prettierd",
-  "version": "0.25.1",
+  "version": "0.25.3",
   "description": "prettier, as a daemon",
   "bin": {
     "prettierd": "./bin/prettierd"
@@ -24,13 +24,13 @@
   },
   "homepage": "https://github.com/fsouza/prettierd",
   "devDependencies": {
-    "@types/node": "^20.6.3",
+    "@types/node": "^20.12.7",
     "@types/prettier": "^3.0.0",
-    "typescript": "^5.2.2"
+    "typescript": "^5.4.5"
   },
   "dependencies": {
-    "core_d": "^6.0.0",
-    "prettier": "^3.0.3"
+    "core_d": "^6.1.0",
+    "prettier": "^3.2.5"
   },
   "files": [
     "bin",
@@ -39,7 +39,7 @@
     "README.md"
   ],
   "optionalDependencies": {
-    "@babel/parser": "^7.22.16",
-    "@typescript-eslint/typescript-estree": "^6.7.2"
+    "@babel/parser": "^7.24.4",
+    "@typescript-eslint/typescript-estree": "^7.6.0"
   }
 }
diff --git a/pkgs/development/tools/protoc-gen-entgrpc/default.nix b/pkgs/development/tools/protoc-gen-entgrpc/default.nix
index 53d7d43387764..3fbd49679225f 100644
--- a/pkgs/development/tools/protoc-gen-entgrpc/default.nix
+++ b/pkgs/development/tools/protoc-gen-entgrpc/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "protoc-gen-entgrpc";
-  version = "0.4.5";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "ent";
     repo = "contrib";
     rev = "v${version}";
-    sha256 = "sha256-bEJjVNWd4NsUdWPqMZQ86U9F32q5M1iBRcS9MYDp9GE=";
+    sha256 = "sha256-fXvpPH4b1JG++z0KEm9BNu5pGkneefNVvi9R5R3FqB4=";
   };
 
-  vendorHash = "sha256-DgqCGXqEnLBxyLZJrTRZIeBIrHYA7TNMV4WTk/3IS8Y=";
+  vendorHash = "sha256-SdUs2alcc4rA6CGIrnaLO7KCseP4a0v6WE58JcRGr0k=";
 
   subPackages = [ "entproto/cmd/protoc-gen-entgrpc" ];
 
diff --git a/pkgs/development/tools/prototool/default.nix b/pkgs/development/tools/prototool/default.nix
index d47676fd6fa28..c65dad2bb717f 100644
--- a/pkgs/development/tools/prototool/default.nix
+++ b/pkgs/development/tools/prototool/default.nix
@@ -29,7 +29,7 @@ buildGoModule rec {
     homepage = "https://github.com/uber/prototool";
     description = "Your Swiss Army Knife for Protocol Buffers";
     mainProgram = "prototool";
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     license = licenses.mit;
   };
 }
diff --git a/pkgs/development/tools/pscale/default.nix b/pkgs/development/tools/pscale/default.nix
index cb8f2f91ea392..45850671be0d9 100644
--- a/pkgs/development/tools/pscale/default.nix
+++ b/pkgs/development/tools/pscale/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "pscale";
-  version = "0.195.0";
+  version = "0.197.0";
 
   src = fetchFromGitHub {
     owner = "planetscale";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-Dgp4N4R239NSewHJ7iVhWwfoppXsnhhL8ZrDEbiM9v4=";
+    sha256 = "sha256-Yjnq6ALbuvkYIOZ4CdBq1naTPGgT3aX0wRmREZpHo7I=";
   };
 
-  vendorHash = "sha256-0rzX54AdlFvvYhfZvS3qBxV4bIF2li8HwKdtm0jS04g=";
+  vendorHash = "sha256-TdRfff342QvwjBC6B6/npbkvaH3o9CBKe2exu6TnT2o=";
 
   ldflags = [
     "-s" "-w"
diff --git a/pkgs/development/tools/railway/default.nix b/pkgs/development/tools/railway/default.nix
index b3119d83a003f..32be89b90d189 100644
--- a/pkgs/development/tools/railway/default.nix
+++ b/pkgs/development/tools/railway/default.nix
@@ -3,16 +3,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "railway";
-  version = "3.5.2";
+  version = "3.7.0";
 
   src = fetchFromGitHub {
     owner = "railwayapp";
     repo = "cli";
     rev = "v${version}";
-    hash = "sha256-QlynZgmDd7m7m17J5lUTmejkKdQlfjiqcXg4ZMFp0vc=";
+    hash = "sha256-a3d1FtcXSLL8peveBagTEF6EcNADNDhnLAmyCfTW4+4=";
   };
 
-  cargoHash = "sha256-TOuxJL2UtMA9mZLHZVQDD6lyL9VWy/HBNfezhOGbSG8=";
+  cargoHash = "sha256-fwraQd7dOamhc3Tp3yLxASWCVhDOxj4vX7oTTOufkeY=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/development/tools/redisinsight/default.nix b/pkgs/development/tools/redisinsight/default.nix
index 5c4609e248d85..1131e495e86c2 100644
--- a/pkgs/development/tools/redisinsight/default.nix
+++ b/pkgs/development/tools/redisinsight/default.nix
@@ -1,70 +1,84 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, makeWrapper
-, makeDesktopItem
-, fixup_yarn_lock
-, yarn
-, nodejs_18
-, python3
-, fetchYarnDeps
-, electron
-, desktopToDarwinBundle
-, nest-cli
-, libsass
-, buildPackages
-, pkg-config
-, sqlite
-, xdg-utils
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  makeWrapper,
+  makeDesktopItem,
+  copyDesktopItems,
+  fixup-yarn-lock,
+  yarn,
+  nodejs_18,
+  python3,
+  fetchYarnDeps,
+  electron,
+  nest-cli,
+  libsass,
+  buildPackages,
+  pkg-config,
+  sqlite,
+  xdg-utils,
 }:
+
 let
   nodejs = nodejs_18;
 in
 stdenv.mkDerivation (finalAttrs: {
-  pname = "redisinsight-electron";
+  pname = "redisinsight";
   version = "2.32";
 
   src = fetchFromGitHub {
     owner = "RedisInsight";
     repo = "RedisInsight";
-    rev = "${finalAttrs.version}";
+    rev = finalAttrs.version;
     hash = "sha256-esaH10AyEooym/62F5LJL7oP5UmD6T2UX8g/9QniL9s=";
   };
 
   offlineCache = fetchYarnDeps {
     yarnLock = finalAttrs.src + "/yarn.lock";
-    sha256 = "NHKttywAaWAYkciGzYCnm1speHrWsv1t+dxL1DZgM7o=";
+    hash = "sha256-NHKttywAaWAYkciGzYCnm1speHrWsv1t+dxL1DZgM7o=";
   };
 
   feOfflineCache = fetchYarnDeps {
     yarnLock = finalAttrs.src + "/redisinsight/yarn.lock";
-    sha256 = "1S1KNUOtmywQ0eyqVS2oRlhpjcL9eps8CR7AtC9ujSU=";
+    hash = "sha256-1S1KNUOtmywQ0eyqVS2oRlhpjcL9eps8CR7AtC9ujSU=";
   };
 
   apiOfflineCache = fetchYarnDeps {
     yarnLock = finalAttrs.src + "/redisinsight/api/yarn.lock";
-    sha256 = "P99+1Dhdg/vznC2KepPrVGNlrofJFydXkZVxgwprIx4=";
+    hash = "sha256-P99+1Dhdg/vznC2KepPrVGNlrofJFydXkZVxgwprIx4=";
   };
 
-  nativeBuildInputs = [ yarn fixup_yarn_lock nodejs makeWrapper python3 nest-cli libsass pkg-config ]
-    ++ lib.optionals stdenv.isDarwin [ desktopToDarwinBundle ];
-
-  buildInputs = [ sqlite xdg-utils ];
+  nativeBuildInputs = [
+    yarn
+    fixup-yarn-lock
+    nodejs
+    makeWrapper
+    python3
+    nest-cli
+    libsass
+    pkg-config
+    copyDesktopItems
+  ];
+
+  buildInputs = [
+    sqlite
+    xdg-utils
+  ];
 
   configurePhase = ''
     runHook preConfigure
 
     export HOME=$(mktemp -d)
-    yarn config --offline set yarn-offline-mirror $offlineCache
-    fixup_yarn_lock yarn.lock
+    yarn config --offline set yarn-offline-mirror ${finalAttrs.offlineCache}
+    fixup-yarn-lock yarn.lock
     yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive
 
-    yarn config --offline set yarn-offline-mirror $feOfflineCache
-    fixup_yarn_lock redisinsight/yarn.lock
+    yarn config --offline set yarn-offline-mirror ${finalAttrs.feOfflineCache}
+    fixup-yarn-lock redisinsight/yarn.lock
     yarn --offline --cwd redisinsight/ --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive
 
-    yarn config --offline set yarn-offline-mirror $apiOfflineCache
-    fixup_yarn_lock redisinsight/api/yarn.lock
+    yarn config --offline set yarn-offline-mirror ${finalAttrs.apiOfflineCache}
+    fixup-yarn-lock redisinsight/api/yarn.lock
     yarn --offline --cwd redisinsight/api/ --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive
 
     patchShebangs node_modules/
@@ -76,29 +90,32 @@ stdenv.mkDerivation (finalAttrs: {
     ln -sfv "${nodejs}/include" "$HOME/.node-gyp/${nodejs.version}"
     export npm_config_nodedir=${nodejs}
 
-    pushd redisinsight
     # Build the sqlite3 package.
+    pushd redisinsight
     npm_config_node_gyp="${buildPackages.nodejs}/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" npm rebuild --verbose --sqlite=${sqlite.dev} sqlite3
     popd
 
+    # Build node-sass
+    LIBSASS_EXT=auto npm rebuild --verbose node-sass
+
     substituteInPlace redisinsight/api/config/default.ts \
-      --replace "process['resourcesPath']" "\"$out/share/redisinsight\"" \
+      --replace-fail "process['resourcesPath']" "\"$out/share/redisinsight\"" \
+
+    # has irrelevant files
+    rm -r resources/app
 
     runHook postConfigure
   '';
 
   buildPhase = ''
     runHook preBuild
-    yarn config --offline set yarn-offline-mirror $offlineCache
 
-    pushd node_modules/node-sass
-    LIBSASS_EXT=auto yarn run build --offline
-    popd
+    yarn config --offline set yarn-offline-mirror ${finalAttrs.offlineCache}
 
     yarn --offline build:prod
 
     yarn --offline electron-builder \
-      --dir ${if stdenv.isDarwin then "--macos" else "--linux"} ${if stdenv.hostPlatform.isAarch64 then "--arm64" else "--x64"} \
+      --dir \
       -c.electronDist=${electron}/libexec/electron \
       -c.electronVersion=${electron.version}
 
@@ -108,47 +125,47 @@ stdenv.mkDerivation (finalAttrs: {
   installPhase = ''
     runHook preInstall
 
-    # resources
-    mkdir -p "$out/share/redisinsight"
-    mkdir -p "$out/share/redisinsight/static/resources/plugins"
-    mkdir -p "$out/share/redisinsight/default"
+    mkdir -p "$out/share/redisinsight"/{app,defaults,static/plugins,static/resources/plugins}
 
-    cp -r release/${if stdenv.isDarwin then "darwin-" else "linux-"}${lib.optionalString stdenv.hostPlatform.isAarch64 "arm64-"}unpacked/resources/{app.asar,app.asar.unpacked} $out/share/redisinsight/
-    cp -r resources/ $out/share/redisinsight
+    cp -r release/*-unpacked/{locales,resources{,.pak}} "$out/share/redisinsight/app"
+    mv "$out/share/redisinsight/app/resources/resources" "$out/share/redisinsight"
 
     # icons
-    for icon in "$out/resources/icons/*.png"; do
+    for icon in "$out/share/redisinsight/resources/icons"/*.png; do
       mkdir -p "$out/share/icons/hicolor/$(basename $icon .png)/apps"
       ln -s "$icon" "$out/share/icons/hicolor/$(basename $icon .png)/apps/redisinsight.png"
     done
 
-    ln -s "${finalAttrs.desktopItem}/share/applications" "$out/share/applications"
-
     makeWrapper '${electron}/bin/electron' "$out/bin/redisinsight" \
-      --add-flags "$out/share/redisinsight/app.asar" \
+      --add-flags "$out/share/redisinsight/app/resources/app.asar" \
       --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \
-      --chdir "$out/share/redisinsight" \
-      --argv0 "$out/share/redisinsight/app.asar"
+      --set-default ELECTRON_FORCE_IS_PACKAGED 1 \
+      --inherit-argv0
 
     runHook postInstall
   '';
 
-  desktopItem = makeDesktopItem {
-    name = "redisinsight";
-    exec = "redisinsight %u";
-    icon = "redisinsight";
-    desktopName = "RedisInsight";
-    genericName = "RedisInsight Redis Client";
-    comment = finalAttrs.meta.description;
-    categories = [ "Development" ];
-    startupWMClass = "redisinsight";
-  };
-
-  meta = with lib; {
+  desktopItems = [
+    (makeDesktopItem {
+      name = "redisinsight";
+      exec = "redisinsight %u";
+      icon = "redisinsight";
+      desktopName = "RedisInsight";
+      genericName = "RedisInsight Redis Client";
+      comment = finalAttrs.meta.description;
+      categories = [ "Development" ];
+      startupWMClass = "redisinsight";
+    })
+  ];
+
+  meta = {
     description = "RedisInsight Redis client powered by Electron";
     homepage = "https://github.com/RedisInsight/RedisInsight";
-    license = licenses.sspl;
-    maintainers = with maintainers; [ gmemstr ];
-    platforms = [ "x86_64-linux" ];
+    license = lib.licenses.sspl;
+    maintainers = with lib.maintainers; [
+      gmemstr
+      tomasajt
+    ];
+    platforms = lib.platforms.linux;
   };
 })
diff --git a/pkgs/development/tools/ruff/default.nix b/pkgs/development/tools/ruff/default.nix
index 17e43d5fe593d..79c438bbdc50b 100644
--- a/pkgs/development/tools/ruff/default.nix
+++ b/pkgs/development/tools/ruff/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "ruff";
-  version = "0.4.1";
+  version = "0.4.2";
 
   src = fetchFromGitHub {
     owner = "astral-sh";
     repo = "ruff";
     rev = "refs/tags/v${version}";
-    hash = "sha256-VTFwuNoqh0RLk0AHTPWEwrja0/aErmUlz82MnCc58jA=";
+    hash = "sha256-AnAJi0srzwxU/22Uy+OjaSBdAEjCXH99J7VDvI03HDU=";
   };
 
-  cargoHash = "sha256-COZGGmc6v3WGh8NICoRZ5iYrVs0tML8gG2b1LqWbJs0=";
+  cargoHash = "sha256-qMh2OvNYO4/0Gv/scE5/OWQMzLaetZY5DJFSeoLnISU=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/pkgs/development/tools/rust/cargo-clone/default.nix b/pkgs/development/tools/rust/cargo-clone/default.nix
index 4ad07b579347b..8ce7e006dce76 100644
--- a/pkgs/development/tools/rust/cargo-clone/default.nix
+++ b/pkgs/development/tools/rust/cargo-clone/default.nix
@@ -4,6 +4,7 @@
 , pkg-config
 , openssl
 , stdenv
+, CoreServices
 , Security
 , SystemConfiguration
 }:
@@ -24,6 +25,7 @@ rustPlatform.buildRustPackage rec {
   nativeBuildInputs = [ pkg-config ];
 
   buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [
+    CoreServices
     Security
     SystemConfiguration
   ];
diff --git a/pkgs/development/tools/rust/cargo-deb/default.nix b/pkgs/development/tools/rust/cargo-deb/default.nix
index b70f742772c0e..236fd2f3e0252 100644
--- a/pkgs/development/tools/rust/cargo-deb/default.nix
+++ b/pkgs/development/tools/rust/cargo-deb/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-deb";
-  version = "2.1.0";
+  version = "2.1.1";
 
   src = fetchFromGitHub {
     owner = "kornelski";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-LCyTbOSSz3O53hZmOPcK+tB5LNZLE4uwfOZrwJZuebc=";
+    hash = "sha256-FIBMwLgLLgf6m/ciSlYiQ46HHf1ux0QY4RkoidlaEjs=";
   };
 
-  cargoHash = "sha256-apT60W4lUCMsRvuzGkY8AkA8m8e7ESGGnmOpyv5Ca1I=";
+  cargoHash = "sha256-MmHwaodr/FLxCucfCkV/Cuflyu8902kpEPuTCKkchNU=";
 
   nativeBuildInputs = [
     makeWrapper
diff --git a/pkgs/development/tools/rust/cargo-deny/default.nix b/pkgs/development/tools/rust/cargo-deny/default.nix
index 421559b347be3..ad3827bc74941 100644
--- a/pkgs/development/tools/rust/cargo-deny/default.nix
+++ b/pkgs/development/tools/rust/cargo-deny/default.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-deny";
-  version = "0.14.21";
+  version = "0.14.22";
 
   src = fetchFromGitHub {
     owner = "EmbarkStudios";
     repo = "cargo-deny";
     rev = version;
-    hash = "sha256-d5qgljNuEfh9kYQU+jP4tgyly6i7hETFC5tEY67Yq8g=";
+    hash = "sha256-04CRMlH31MzYpE2pRUrbAvSojbxan4ktqX9J/zjeTkk=";
   };
 
-  cargoHash = "sha256-u1cayvVatGg03Q3xShC/0ymE8EGHyYFrZD3Q8UD8Mm8=";
+  cargoHash = "sha256-Nutx3Dvvh7qvgAtengWw0kJve4Ent9y7OXgovUZWTLE=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/development/tools/rust/cargo-pgx/0_6_1.nix b/pkgs/development/tools/rust/cargo-pgx/0_6_1.nix
deleted file mode 100644
index 8dbc22cdfd498..0000000000000
--- a/pkgs/development/tools/rust/cargo-pgx/0_6_1.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ lib, stdenv, fetchCrate, rustPlatform, pkg-config, openssl, Security }:
-
-rustPlatform.buildRustPackage rec {
-  pname = "cargo-pgx";
-  version = "0.6.1";
-
-  src = fetchCrate {
-    inherit version pname;
-    sha256 = "sha256-O4eHVbJBudybsPab+zr2eXnfheREMqLAHAKm2GDbfrs=";
-  };
-
-  cargoSha256 = "sha256-MucGrA3qXgJOcT2LMNmoNOhQi8QA3LuqgZEHKycLCCo=";
-
-  nativeBuildInputs = [ pkg-config ];
-
-  buildInputs = [ openssl ]
-    ++ lib.optionals stdenv.isDarwin [ Security ];
-
-  meta = with lib; {
-    description = "Cargo subcommand for ‘pgx’ to make Postgres extension development easy";
-    mainProgram = "cargo-pgx";
-    homepage = "https://github.com/tcdi/pgx/tree/v${version}/cargo-pgx";
-    license = licenses.mit;
-    maintainers = with maintainers; [ typetetris ];
-  };
-}
diff --git a/pkgs/development/tools/rust/cargo-pgx/0_7_1.nix b/pkgs/development/tools/rust/cargo-pgx/0_7_1.nix
deleted file mode 100644
index 6dd8a0661bed5..0000000000000
--- a/pkgs/development/tools/rust/cargo-pgx/0_7_1.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ lib, stdenv, fetchCrate, rustPlatform, pkg-config, openssl, Security }:
-
-rustPlatform.buildRustPackage rec {
-  pname = "cargo-pgx";
-  version = "0.7.1";
-
-  src = fetchCrate {
-    inherit version pname;
-    sha256 = "sha256-t/gdlrBeP6KFkBFJiZUa8KKVJVYMf6753vQGKJdytss=";
-  };
-
-  cargoSha256 = "sha256-muce9wT4LAJmfNLWWEShARnpZgglXe/KrfxlitmGgXk=";
-
-  nativeBuildInputs = [ pkg-config ];
-
-  buildInputs = [ openssl ]
-    ++ lib.optionals stdenv.isDarwin [ Security ];
-
-  meta = with lib; {
-    description = "Cargo subcommand for ‘pgx’ to make Postgres extension development easy";
-    mainProgram = "cargo-pgx";
-    homepage = "https://github.com/tcdi/pgx/tree/v${version}/cargo-pgx";
-    license = licenses.mit;
-    maintainers = with maintainers; [ typetetris ];
-  };
-}
diff --git a/pkgs/development/tools/rust/cargo-pgx/0_7_4.nix b/pkgs/development/tools/rust/cargo-pgx/0_7_4.nix
deleted file mode 100644
index 0f2b3ef35c221..0000000000000
--- a/pkgs/development/tools/rust/cargo-pgx/0_7_4.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ lib, stdenv, fetchCrate, rustPlatform, pkg-config, openssl, Security }:
-
-rustPlatform.buildRustPackage rec {
-  pname = "cargo-pgx";
-  version = "0.7.4";
-
-  src = fetchCrate {
-    inherit version pname;
-    sha256 = "sha256-uyMWfxI+A8mws8oZFm2pmvr7hJgSNIb328SrVtIDGdA=";
-  };
-
-  cargoSha256 = "sha256-RgpL/hJdfrtLDANs5U53m5a6aEEAhZ9SFOIM7V8xABM=";
-
-  nativeBuildInputs = [ pkg-config ];
-
-  buildInputs = [ openssl ]
-    ++ lib.optionals stdenv.isDarwin [ Security ];
-
-  meta = with lib; {
-    description = "Cargo subcommand for ‘pgx’ to make Postgres extension development easy";
-    mainProgram = "cargo-pgx";
-    homepage = "https://github.com/tcdi/pgx/tree/v${version}/cargo-pgx";
-    license = licenses.mit;
-    maintainers = with maintainers; [ typetetris ];
-  };
-}
diff --git a/pkgs/development/tools/rust/cargo-pgx/buildPgxExtension.nix b/pkgs/development/tools/rust/cargo-pgx/buildPgxExtension.nix
deleted file mode 100644
index 4b4f7f9d7486b..0000000000000
--- a/pkgs/development/tools/rust/cargo-pgx/buildPgxExtension.nix
+++ /dev/null
@@ -1,160 +0,0 @@
-# preBuildAndTest and some small other bits
-# taken from https://github.com/tcdi/pgx/blob/v0.4.5/nix/extension.nix
-# (but now heavily modified)
-# which uses MIT License with the following license file
-#
-# MIT License
-#
-# Portions Copyright 2019-2021 ZomboDB, LLC.
-# Portions Copyright 2021-2022 Technology Concepts & Design, Inc. <support@tcdi.com>.
-# All rights reserved.
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to deal
-# in the Software without restriction, including without limitation the rights
-# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-# copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in all
-# copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-# SOFTWARE.
-
-{ lib
-, cargo-pgx
-, pkg-config
-, rustPlatform
-, stdenv
-, Security
-, writeShellScriptBin
-}:
-
-# The idea behind: Use it mostly like rustPlatform.buildRustPackage and so
-# we hand most of the arguments down.
-#
-# Additional arguments are:
-#   - `postgresql` postgresql package of the version of postgresql this extension should be build for.
-#                  Needs to be the build platform variant.
-#   - `useFakeRustfmt` Whether to use a noop fake command as rustfmt. cargo-pgx tries to call rustfmt.
-#                      If the generated rust bindings aren't needed to use the extension, its a
-#                      unnecessary and heavy dependency. If you set this to true, you also
-#                      have to add `rustfmt` to `nativeBuildInputs`.
-
-{ buildAndTestSubdir ? null
-, buildType ? "release"
-, buildFeatures ? [ ]
-, cargoBuildFlags ? [ ]
-, postgresql
-# cargo-pgx calls rustfmt on generated bindings, this is not strictly necessary, so we avoid the
-# dependency here. Set to false and provide rustfmt in nativeBuildInputs, if you need it, e.g.
-# if you include the generated code in the output via postInstall.
-, useFakeRustfmt ? true
-, ...
-} @ args:
-let
-  rustfmtInNativeBuildInputs = lib.lists.any (dep: lib.getName dep == "rustfmt") (args.nativeBuildInputs or []);
-in
-
-assert lib.asserts.assertMsg ((args.installPhase or "") == "")
-  "buildPgxExtensions overwrites the installPhase, so providing one does nothing";
-assert lib.asserts.assertMsg ((args.buildPhase or "") == "")
-  "buildPgxExtensions overwrites the buildPhase, so providing one does nothing";
-assert lib.asserts.assertMsg (useFakeRustfmt -> !rustfmtInNativeBuildInputs)
-  "The parameter useFakeRustfmt is set to true, but rustfmt is included in nativeBuildInputs. Either set useFakeRustfmt to false or remove rustfmt from nativeBuildInputs.";
-assert lib.asserts.assertMsg (!useFakeRustfmt -> rustfmtInNativeBuildInputs)
-  "The parameter useFakeRustfmt is set to false, but rustfmt is not included in nativeBuildInputs. Either set useFakeRustfmt to true or add rustfmt from nativeBuildInputs.";
-
-let
-  fakeRustfmt = writeShellScriptBin "rustfmt" ''
-    exit 0
-    '';
-  maybeDebugFlag = lib.optionalString (buildType != "release") "--debug";
-  maybeEnterBuildAndTestSubdir = lib.optionalString (buildAndTestSubdir != null) ''
-    export CARGO_TARGET_DIR="$(pwd)/target"
-    pushd "${buildAndTestSubdir}"
-  '';
-  maybeLeaveBuildAndTestSubdir = lib.optionalString (buildAndTestSubdir != null) "popd";
-
-  pgxPostgresMajor = lib.versions.major postgresql.version;
-  preBuildAndTest = ''
-    export PGX_HOME=$(mktemp -d)
-    export PGDATA="$PGX_HOME/data-${pgxPostgresMajor}/"
-    cargo-pgx pgx init "--pg${pgxPostgresMajor}" ${postgresql}/bin/pg_config
-    echo "unix_socket_directories = '$(mktemp -d)'" > "$PGDATA/postgresql.conf"
-
-    # This is primarily for Mac or other Nix systems that don't use the nixbld user.
-    export USER="$(whoami)"
-    pg_ctl start
-    createuser -h localhost --superuser --createdb "$USER" || true
-    pg_ctl stop
-  '';
-
-  argsForBuildRustPackage = builtins.removeAttrs args [ "postgresql" "useFakeRustfmt" ];
-
-  # so we don't accidentally `(rustPlatform.buildRustPackage argsForBuildRustPackage) // { ... }` because
-  # we forgot parentheses
-  finalArgs = argsForBuildRustPackage // {
-    buildInputs = (args.buildInputs or [ ]) ++ lib.optionals stdenv.isDarwin [ Security ];
-
-    nativeBuildInputs = (args.nativeBuildInputs or [ ]) ++ [
-      cargo-pgx
-      postgresql
-      pkg-config
-      rustPlatform.bindgenHook
-    ] ++ lib.optionals useFakeRustfmt [ fakeRustfmt ];
-
-    buildPhase = ''
-      runHook preBuild
-
-      echo "Executing cargo-pgx buildPhase"
-      ${preBuildAndTest}
-      ${maybeEnterBuildAndTestSubdir}
-
-      NIX_PGLIBDIR="${postgresql}/lib" \
-      PGX_BUILD_FLAGS="--frozen -j $NIX_BUILD_CORES ${builtins.concatStringsSep " " cargoBuildFlags}" \
-      cargo-pgx pgx package \
-        --pg-config ${postgresql}/bin/pg_config \
-        ${maybeDebugFlag} \
-        --features "${builtins.concatStringsSep " " buildFeatures}" \
-        --out-dir "$out"
-
-      ${maybeLeaveBuildAndTestSubdir}
-
-      runHook postBuild
-    '';
-
-    preCheck = preBuildAndTest + args.preCheck or "";
-
-    installPhase = ''
-      runHook preInstall
-
-      echo "Executing buildPgxExtension install"
-
-      ${maybeEnterBuildAndTestSubdir}
-
-      cargo-pgx pgx stop all
-
-      mv $out/${postgresql}/* $out
-      rm -rf $out/nix
-
-      ${maybeLeaveBuildAndTestSubdir}
-
-      runHook postInstall
-    '';
-
-    PGX_PG_SYS_SKIP_BINDING_REWRITE = "1";
-    CARGO_BUILD_INCREMENTAL = "false";
-    RUST_BACKTRACE = "full";
-
-    checkNoDefaultFeatures = true;
-    checkFeatures = (args.checkFeatures or [ ]) ++ [ "pg_test pg${pgxPostgresMajor}" ];
-  };
-in
-rustPlatform.buildRustPackage finalArgs
diff --git a/pkgs/development/tools/rust/cargo-show-asm/default.nix b/pkgs/development/tools/rust/cargo-show-asm/default.nix
index bd08268d59287..736d546ff2aae 100644
--- a/pkgs/development/tools/rust/cargo-show-asm/default.nix
+++ b/pkgs/development/tools/rust/cargo-show-asm/default.nix
@@ -9,14 +9,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-show-asm";
-  version = "0.2.32";
+  version = "0.2.34";
 
   src = fetchCrate {
     inherit pname version;
-    hash = "sha256-4pMIL/wru9uE8Uyp/qvmo6IJxFcB0HLUHRSSV6DoI3g=";
+    hash = "sha256-+EzI17pnqO19A+KW1AsHtBpYZq1aENA03RkK03j31LI=";
   };
 
-  cargoHash = "sha256-N1NZONY8y88diAbWn+UaSHGpd4r7naxFWVmCyJkL3tQ=";
+  cargoHash = "sha256-VIfT7cXrXBE9mfHpDCI3diSD9ToRPH6UUP7ZOWvumbU=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/pkgs/development/tools/rust/cargo-spellcheck/default.nix b/pkgs/development/tools/rust/cargo-spellcheck/default.nix
index f6312ee3f00dd..aae0be3376141 100644
--- a/pkgs/development/tools/rust/cargo-spellcheck/default.nix
+++ b/pkgs/development/tools/rust/cargo-spellcheck/default.nix
@@ -8,21 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-spellcheck";
-  version = "0.13.2";
+  version = "0.14.0";
 
   src = fetchFromGitHub {
     owner = "drahnr";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-PgV+sjCf4O24v0i9P7RJIcn28OWMUcPSwy+P5n8RwS4=";
+    hash = "sha256-NrtPV2bd9BuA1nnniIcth85gJQmFGy9LHdajqmW8j4Q=";
   };
 
-  cargoHash = "sha256-6dhM+FzuLtKtRp2mpE9nlpT+0PBcgGqvBa9vqs6Rs7s=";
-
-  postPatch = ''
-    substituteInPlace src/lib.rs \
-      --replace "#![deny(dead_code)]" "#![warn(dead_code)]"
-  '';
+  cargoHash = "sha256-mxx4G77ldPfVorNa1LGTcA0Idwmrcl8S/ze+UUoLHhI=";
 
   nativeBuildInputs = [ rustPlatform.bindgenHook ];
 
diff --git a/pkgs/development/tools/rust/cargo-tally/default.nix b/pkgs/development/tools/rust/cargo-tally/default.nix
index d9db7c536990b..a1e2ffa295eea 100644
--- a/pkgs/development/tools/rust/cargo-tally/default.nix
+++ b/pkgs/development/tools/rust/cargo-tally/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-tally";
-  version = "1.0.43";
+  version = "1.0.44";
 
   src = fetchCrate {
     inherit pname version;
-    hash = "sha256-LPqoq9iry8nNXphFdmjwepNB1bK8/myOEoT4UM0xF70=";
+    hash = "sha256-CLMMrzEvw0QrlDPUfM67thzSXZ6hOfNw7mUVNdMcRgA=";
   };
 
-  cargoHash = "sha256-FU4NYa2S9x0IXhPtWM0PyOBCGCGHj80QR7DRuDgDYJY=";
+  cargoHash = "sha256-XMuApConypaF6PNylDx9Dg2e1VvPy8m///Pnk/S14g8=";
 
   buildInputs = lib.optionals stdenv.isDarwin (with darwin.apple_sdk_11_0.frameworks; [
     DiskArbitration
diff --git a/pkgs/development/tools/rust/cargo-zigbuild/default.nix b/pkgs/development/tools/rust/cargo-zigbuild/default.nix
index ab0c149a09d58..4e48a4d74ca09 100644
--- a/pkgs/development/tools/rust/cargo-zigbuild/default.nix
+++ b/pkgs/development/tools/rust/cargo-zigbuild/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-zigbuild";
-  version = "0.18.3";
+  version = "0.18.4";
 
   src = fetchFromGitHub {
     owner = "messense";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-wL6Rmw5hJI8cJDw2WO9CDOyeOuZv6QoFxrn81JrYBR4=";
+    hash = "sha256-J9R/cT58wjvDcS5AKhGtbxbFYiNGFBmrLtIF2CfTIaE=";
   };
 
-  cargoHash = "sha256-uCZYDh4+Pri77DzqZj12cav7o8eDY2+fgwIwVBdcbHg=";
+  cargoHash = "sha256-F9QOlYpKAQx7xF6yyGa/tOkziEyXCg5LW6gH0X6uXRc=";
 
   nativeBuildInputs = [ makeWrapper ];
 
diff --git a/pkgs/development/tools/rye/Cargo.lock b/pkgs/development/tools/rye/Cargo.lock
index 4fa64e779282e..9e24440fb0373 100644
--- a/pkgs/development/tools/rye/Cargo.lock
+++ b/pkgs/development/tools/rye/Cargo.lock
@@ -29,24 +29,22 @@ dependencies = [
 
 [[package]]
 name = "age"
-version = "0.9.2"
+version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d55a4d912c80a92762ffd1c884065f3f9646467d22c95390e824a0ff7def472"
+checksum = "edeef7d7b199195a2d7d7a8155d2d04aee736e60c5c7bdd7097d115369a8817d"
 dependencies = [
  "age-core",
- "base64 0.13.1",
+ "base64 0.21.7",
  "bech32",
  "chacha20poly1305",
  "cookie-factory",
- "hkdf",
  "hmac",
  "i18n-embed",
  "i18n-embed-fl",
  "lazy_static",
  "nom",
  "pin-project",
- "rand 0.7.3",
- "rand 0.8.5",
+ "rand",
  "rust-embed",
  "scrypt",
  "sha2",
@@ -57,17 +55,17 @@ dependencies = [
 
 [[package]]
 name = "age-core"
-version = "0.9.0"
+version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3d2e815ac879dc23c1139e720d21c6cd4d1276345c772587285d965a69b8f32"
+checksum = "a5f11899bc2bbddd135edbc30c36b1924fa59d0746bb45beb5933fafe3fe509b"
 dependencies = [
- "base64 0.13.1",
+ "base64 0.21.7",
  "chacha20poly1305",
  "cookie-factory",
  "hkdf",
  "io_tee",
  "nom",
- "rand 0.8.5",
+ "rand",
  "secrecy",
  "sha2",
 ]
@@ -234,17 +232,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "cfb"
-version = "0.7.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d38f2da7a0a2c4ccf0065be06397cc26a81f4e528be095826eee9d4adbb8c60f"
-dependencies = [
- "byteorder",
- "fnv",
- "uuid",
-]
-
-[[package]]
 name = "cfg-if"
 version = "1.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -379,12 +366,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "396de984970346b0d9e93d1415082923c679e5ae5c3ee3dcbd104f5610af126b"
 
 [[package]]
-name = "core-foundation-sys"
-version = "0.8.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
-
-[[package]]
 name = "cpufeatures"
 version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -460,50 +441,29 @@ dependencies = [
 
 [[package]]
 name = "curve25519-dalek"
-version = "3.2.0"
+version = "4.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61"
+checksum = "0a677b8922c94e01bdbb12126b0bc852f00447528dee1782229af9c720c3f348"
 dependencies = [
- "byteorder",
- "digest 0.9.0",
- "rand_core 0.5.1",
+ "cfg-if",
+ "cpufeatures",
+ "curve25519-dalek-derive",
+ "fiat-crypto",
+ "platforms",
+ "rustc_version",
  "subtle",
  "zeroize",
 ]
 
 [[package]]
-name = "darling"
-version = "0.14.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850"
-dependencies = [
- "darling_core",
- "darling_macro",
-]
-
-[[package]]
-name = "darling_core"
-version = "0.14.4"
+name = "curve25519-dalek-derive"
+version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0"
+checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3"
 dependencies = [
- "fnv",
- "ident_case",
  "proc-macro2",
  "quote",
- "strsim",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "darling_macro"
-version = "0.14.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e"
-dependencies = [
- "darling_core",
- "quote",
- "syn 1.0.109",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -526,22 +486,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5"
 
 [[package]]
-name = "decompress"
-version = "0.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67605f4868a37e8a9c50003a866a6896104602d5d7ddf7e8a7f398ec97e44ab3"
-dependencies = [
- "derive_builder",
- "flate2",
- "infer",
- "lazy_static",
- "regex",
- "tar",
- "thiserror",
- "zstd 0.12.4",
-]
-
-[[package]]
 name = "deranged"
 version = "0.3.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -551,37 +495,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "derive_builder"
-version = "0.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8d67778784b508018359cbc8696edb3db78160bab2c2a28ba7f56ef6932997f8"
-dependencies = [
- "derive_builder_macro",
-]
-
-[[package]]
-name = "derive_builder_core"
-version = "0.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c11bdc11a0c47bc7d37d582b5285da6849c96681023680b906673c5707af7b0f"
-dependencies = [
- "darling",
- "proc-macro2",
- "quote",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "derive_builder_macro"
-version = "0.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ebcda35c7a396850a55ffeac740804b40ffec779b98fffbb1738f4033f0ee79e"
-dependencies = [
- "derive_builder_core",
- "syn 1.0.109",
-]
-
-[[package]]
 name = "deunicode"
 version = "1.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -601,15 +514,6 @@ dependencies = [
 
 [[package]]
 name = "digest"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066"
-dependencies = [
- "generic-array",
-]
-
-[[package]]
-name = "digest"
 version = "0.10.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
@@ -689,6 +593,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
 
 [[package]]
+name = "fiat-crypto"
+version = "0.2.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c007b1ae3abe1cb6f85a16305acd418b7ca6343b953633fee2b76d8f108b830f"
+
+[[package]]
 name = "filetime"
 version = "0.2.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -764,12 +674,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "fnv"
-version = "1.0.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
-
-[[package]]
 name = "form_urlencoded"
 version = "1.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -819,24 +723,13 @@ dependencies = [
 
 [[package]]
 name = "getrandom"
-version = "0.1.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
-dependencies = [
- "cfg-if",
- "libc",
- "wasi 0.9.0+wasi-snapshot-preview1",
-]
-
-[[package]]
-name = "getrandom"
 version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
 dependencies = [
  "cfg-if",
  "libc",
- "wasi 0.11.0+wasi-snapshot-preview1",
+ "wasi",
 ]
 
 [[package]]
@@ -917,7 +810,7 @@ version = "0.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"
 dependencies = [
- "digest 0.10.7",
+ "digest",
 ]
 
 [[package]]
@@ -945,9 +838,9 @@ dependencies = [
 
 [[package]]
 name = "i18n-embed"
-version = "0.13.9"
+version = "0.14.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "92a86226a7a16632de6723449ee5fe70bac5af718bc642ee9ca2f0f6e14fa1fa"
+checksum = "94205d95764f5bb9db9ea98fa77f89653365ca748e27161f5bbea2ffd50e459c"
 dependencies = [
  "arc-swap",
  "fluent",
@@ -966,9 +859,9 @@ dependencies = [
 
 [[package]]
 name = "i18n-embed-fl"
-version = "0.6.7"
+version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d26a3d3569737dfaac7fc1c4078e6af07471c3060b8e570bcd83cdd5f4685395"
+checksum = "9fc1f8715195dffc4caddcf1cf3128da15fe5d8a137606ea8856c9300047d5a2"
 dependencies = [
  "dashmap",
  "find-crate",
@@ -999,12 +892,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "ident_case"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
-
-[[package]]
 name = "idna"
 version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1038,15 +925,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "infer"
-version = "0.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a898e4b7951673fce96614ce5751d13c40fc5674bc2d759288e46c3ab62598b3"
-dependencies = [
- "cfb",
-]
-
-[[package]]
 name = "inout"
 version = "0.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1266,7 +1144,7 @@ dependencies = [
  "tracing",
  "unscanny",
  "ureq",
- "zstd 0.13.0",
+ "zstd",
 ]
 
 [[package]]
@@ -1291,15 +1169,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "ntapi"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4"
-dependencies = [
- "winapi",
-]
-
-[[package]]
 name = "num-conv"
 version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1391,11 +1260,12 @@ checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd"
 
 [[package]]
 name = "pbkdf2"
-version = "0.11.0"
+version = "0.12.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917"
+checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2"
 dependencies = [
- "digest 0.10.7",
+ "digest",
+ "hmac",
 ]
 
 [[package]]
@@ -1465,6 +1335,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2900ede94e305130c13ddd391e0ab7cbaeb783945ae07a279c268cb05109c6cb"
 
 [[package]]
+name = "platforms"
+version = "3.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "626dec3cac7cc0e1577a2ec3fc496277ec2baa084bebad95bb6fdbfae235f84c"
+
+[[package]]
 name = "poly1305"
 version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1574,36 +1450,13 @@ checksum = "79ec282e887b434b68c18fe5c121d38e72a5cf35119b59e54ec5b992ea9c8eb0"
 
 [[package]]
 name = "rand"
-version = "0.7.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
-dependencies = [
- "getrandom 0.1.16",
- "libc",
- "rand_chacha 0.2.2",
- "rand_core 0.5.1",
- "rand_hc",
-]
-
-[[package]]
-name = "rand"
 version = "0.8.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
 dependencies = [
  "libc",
- "rand_chacha 0.3.1",
- "rand_core 0.6.4",
-]
-
-[[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 0.5.1",
+ "rand_chacha",
+ "rand_core",
 ]
 
 [[package]]
@@ -1613,16 +1466,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
 dependencies = [
  "ppv-lite86",
- "rand_core 0.6.4",
-]
-
-[[package]]
-name = "rand_core"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
-dependencies = [
- "getrandom 0.1.16",
+ "rand_core",
 ]
 
 [[package]]
@@ -1631,16 +1475,7 @@ version = "0.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
 dependencies = [
- "getrandom 0.2.12",
-]
-
-[[package]]
-name = "rand_hc"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
-dependencies = [
- "rand_core 0.5.1",
+ "getrandom",
 ]
 
 [[package]]
@@ -1711,7 +1546,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "688c63d65483050968b2a8937f7995f443e27041a0f7700aa59b0822aedebb74"
 dependencies = [
  "cc",
- "getrandom 0.2.12",
+ "getrandom",
  "libc",
  "spin",
  "untrusted",
@@ -1720,9 +1555,9 @@ dependencies = [
 
 [[package]]
 name = "rust-embed"
-version = "6.8.1"
+version = "8.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a36224c3276f8c4ebc8c20f158eca7ca4359c8db89991c4925132aaaf6702661"
+checksum = "fb78f46d0066053d16d4ca7b898e9343bc3530f71c61d5ad84cd404ada068745"
 dependencies = [
  "rust-embed-impl",
  "rust-embed-utils",
@@ -1731,9 +1566,9 @@ dependencies = [
 
 [[package]]
 name = "rust-embed-impl"
-version = "6.8.1"
+version = "8.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49b94b81e5b2c284684141a2fb9e2a31be90638caf040bf9afbc5a0416afe1ac"
+checksum = "b91ac2a3c6c0520a3fb3dd89321177c3c692937c4eb21893378219da10c44fc8"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1744,9 +1579,9 @@ dependencies = [
 
 [[package]]
 name = "rust-embed-utils"
-version = "7.8.1"
+version = "8.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d38ff6bf570dc3bb7100fce9f7b60c33fa71d80e88da3f2580df4ff2bdded74"
+checksum = "86f69089032567ffff4eada41c573fc43ff466c7db7c5688b2e7969584345581"
 dependencies = [
  "sha2",
  "walkdir",
@@ -1765,6 +1600,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
 
 [[package]]
+name = "rustc_version"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
+dependencies = [
+ "semver",
+]
+
+[[package]]
 name = "rustix"
 version = "0.38.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1801,7 +1645,7 @@ dependencies = [
 
 [[package]]
 name = "rye"
-version = "0.31.0"
+version = "0.33.0"
 dependencies = [
  "age",
  "anyhow",
@@ -1812,7 +1656,6 @@ dependencies = [
  "console",
  "ctrlc",
  "curl",
- "decompress",
  "dialoguer",
  "dotenvy",
  "flate2",
@@ -1826,10 +1669,8 @@ dependencies = [
  "insta-cmd",
  "junction",
  "license",
- "memchr",
  "minijinja",
  "monotrail-utils",
- "nix",
  "once_cell",
  "pathdiff",
  "pep440_rs",
@@ -1844,10 +1685,9 @@ dependencies = [
  "shlex",
  "slug",
  "static_vcruntime",
- "sysinfo",
  "tar",
  "tempfile",
- "toml_edit",
+ "toml_edit 0.22.9",
  "url",
  "walkdir",
  "which",
@@ -1855,7 +1695,7 @@ dependencies = [
  "winreg",
  "xattr",
  "zip",
- "zstd 0.13.0",
+ "zstd",
 ]
 
 [[package]]
@@ -1899,11 +1739,10 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
 
 [[package]]
 name = "scrypt"
-version = "0.10.0"
+version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f9e24d2b632954ded8ab2ef9fea0a0c769ea56ea98bddbafbad22caeeadf45d"
+checksum = "0516a385866c09368f0b5bcd1caff3366aace790fcd46e2bb032697bb172fd1f"
 dependencies = [
- "hmac",
  "pbkdf2",
  "salsa20",
  "sha2",
@@ -1955,6 +1794,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "58bf37232d3bb9a2c4e641ca2a11d83b5062066f88df7fed36c28772046d65ba"
 
 [[package]]
+name = "semver"
+version = "1.0.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca"
+
+[[package]]
 name = "serde"
 version = "1.0.196"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2002,7 +1847,7 @@ checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
 dependencies = [
  "cfg-if",
  "cpufeatures",
- "digest 0.10.7",
+ "digest",
 ]
 
 [[package]]
@@ -2093,7 +1938,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
 dependencies = [
  "proc-macro2",
- "quote",
  "unicode-ident",
 ]
 
@@ -2109,20 +1953,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "sysinfo"
-version = "0.29.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd727fc423c2060f6c92d9534cef765c65a6ed3f428a03d7def74a8c4348e666"
-dependencies = [
- "cfg-if",
- "core-foundation-sys",
- "libc",
- "ntapi",
- "once_cell",
- "winapi",
-]
-
-[[package]]
 name = "tar"
 version = "0.4.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2255,7 +2085,7 @@ dependencies = [
  "serde",
  "serde_spanned",
  "toml_datetime",
- "toml_edit",
+ "toml_edit 0.21.1",
 ]
 
 [[package]]
@@ -2277,7 +2107,18 @@ dependencies = [
  "serde",
  "serde_spanned",
  "toml_datetime",
- "winnow",
+ "winnow 0.5.37",
+]
+
+[[package]]
+name = "toml_edit"
+version = "0.22.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e40bb779c5187258fd7aad0eb68cb8706a0a81fa712fbea808ab43c4b8374c4"
+dependencies = [
+ "indexmap",
+ "toml_datetime",
+ "winnow 0.6.5",
 ]
 
 [[package]]
@@ -2432,12 +2273,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "uuid"
-version = "1.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f00cc9702ca12d3c81455259621e676d0f7251cec66a21e98fe2e9a37db93b2a"
-
-[[package]]
 name = "vcpkg"
 version = "0.2.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2461,12 +2296,6 @@ dependencies = [
 
 [[package]]
 name = "wasi"
-version = "0.9.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
-
-[[package]]
-name = "wasi"
 version = "0.11.0+wasi-snapshot-preview1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
@@ -2717,6 +2546,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "winnow"
+version = "0.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dffa400e67ed5a4dd237983829e66475f0a4a26938c4b04c21baede6262215b8"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
 name = "winreg"
 version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2728,12 +2566,13 @@ dependencies = [
 
 [[package]]
 name = "x25519-dalek"
-version = "1.1.1"
+version = "2.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a0c105152107e3b96f6a00a65e86ce82d9b125230e1c4302940eca58ff71f4f"
+checksum = "c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277"
 dependencies = [
  "curve25519-dalek",
- "rand_core 0.5.1",
+ "rand_core",
+ "serde",
  "zeroize",
 ]
 
@@ -2813,30 +2652,11 @@ dependencies = [
 
 [[package]]
 name = "zstd"
-version = "0.12.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a27595e173641171fc74a1232b7b1c7a7cb6e18222c11e9dfb9888fa424c53c"
-dependencies = [
- "zstd-safe 6.0.6",
-]
-
-[[package]]
-name = "zstd"
 version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bffb3309596d527cfcba7dfc6ed6052f1d39dfbd7c867aa2e865e4a449c10110"
 dependencies = [
- "zstd-safe 7.0.0",
-]
-
-[[package]]
-name = "zstd-safe"
-version = "6.0.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee98ffd0b48ee95e6c5168188e44a54550b1564d9d530ee21d5f0eaed1069581"
-dependencies = [
- "libc",
- "zstd-sys",
+ "zstd-safe",
 ]
 
 [[package]]
diff --git a/pkgs/development/tools/rye/default.nix b/pkgs/development/tools/rye/default.nix
index ac748516386ea..a69e96e702a48 100644
--- a/pkgs/development/tools/rye/default.nix
+++ b/pkgs/development/tools/rye/default.nix
@@ -12,13 +12,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rye";
-  version = "0.31.0";
+  version = "0.33.0";
 
   src = fetchFromGitHub {
     owner = "mitsuhiko";
     repo = "rye";
     rev = "refs/tags/${version}";
-    hash = "sha256-hPfMKp5FUbIKKKFfoS/pxseWmhqW8UOts7DOcRzgHWU=";
+    hash = "sha256-sgA+Tp4Qysd07+1iNDgn9Hw0nDN8l6/fD41rE5QqWzY=";
   };
 
   cargoLock = {
@@ -61,6 +61,7 @@ rustPlatform.buildRustPackage rec {
     "--skip=test_add_flask"
     "--skip=test_add_from_find_links"
     "--skip=test_autosync_remember"
+    "--skip=test_basic_list"
     "--skip=test_basic_tool_behavior"
     "--skip=test_config_empty"
     "--skip=test_config_get_set_multiple"
@@ -74,6 +75,7 @@ rustPlatform.buildRustPackage rec {
     "--skip=test_init_lib"
     "--skip=test_init_script"
     "--skip=test_lint_and_format"
+    "--skip=test_list_not_rye_managed"
     "--skip=test_publish_outside_project"
     "--skip=test_version"
   ];
diff --git a/pkgs/development/tools/scalafix/default.nix b/pkgs/development/tools/scalafix/default.nix
index 4b4f887d4a04e..aa02fa8f405b1 100644
--- a/pkgs/development/tools/scalafix/default.nix
+++ b/pkgs/development/tools/scalafix/default.nix
@@ -40,7 +40,7 @@ stdenv.mkDerivation (
 
     passthru.tests = {
       testVersion = testers.testVersion {
-        program = "${finalAttrs.pname}";
+        package = finalAttrs.finalPackage;
         version = "${finalAttrs.version}";
       };
     };
diff --git a/pkgs/development/tools/selene/default.nix b/pkgs/development/tools/selene/default.nix
index b464bee86e067..0bd600423b31d 100644
--- a/pkgs/development/tools/selene/default.nix
+++ b/pkgs/development/tools/selene/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "selene";
-  version = "0.26.1";
+  version = "0.27.1";
 
   src = fetchFromGitHub {
     owner = "kampfkarren";
     repo = pname;
     rev = version;
-    sha256 = "sha256-0imHwZNyhJXFai1J5tHqnQ6Ta10nETQ5TILGH0bHc8Y=";
+    sha256 = "sha256-NbVSFYv3nyEjSf0bFajcMaoWP2bS0EfJT8tDddjS7jg=";
   };
 
-  cargoHash = "sha256-Lm3agCnxDxcj7op17uiokK8Y790oMxwHJStvP/9DsI0=";
+  cargoHash = "sha256-e3oQUFtgdjqPiB2YpmqnFUG2scmYJhLSpUaw0W6RxIk=";
 
   nativeBuildInputs = lib.optionals robloxSupport [
     pkg-config
diff --git a/pkgs/development/tools/selenium/chromedriver/default.nix b/pkgs/development/tools/selenium/chromedriver/default.nix
index c40a32ff30e80..1cee0603e6815 100644
--- a/pkgs/development/tools/selenium/chromedriver/default.nix
+++ b/pkgs/development/tools/selenium/chromedriver/default.nix
@@ -69,7 +69,7 @@ in stdenv.mkDerivation rec {
     '';
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.bsd3;
-    maintainers = with maintainers; [ goibhniu marsam primeos ];
+    maintainers = with maintainers; [ goibhniu primeos ];
     # Note from primeos: By updating Chromium I also update Google Chrome and
     # ChromeDriver.
     platforms = attrNames allSpecs;
diff --git a/pkgs/development/tools/sem/default.nix b/pkgs/development/tools/sem/default.nix
index 76741e773110b..e61abb7ca506b 100644
--- a/pkgs/development/tools/sem/default.nix
+++ b/pkgs/development/tools/sem/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "sem";
-  version = "0.28.6";
+  version = "0.29.0";
 
   src = fetchFromGitHub {
     owner = "semaphoreci";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-8zGgqa0z3KYSYVaYlSnTET7QJ+Mdp+FVJ5MD2pyh7Ns=";
+    sha256 = "sha256-ZizmDuEu3D8cVOMw0k1yBXlLft+nzOPnqv5Yi6vk5AM=";
   };
 
   vendorHash = "sha256-p8+M+pRp12P7tYlFpXjU94JcJOugQpD8rFdowhonh74=";
diff --git a/pkgs/development/tools/sentry-cli/default.nix b/pkgs/development/tools/sentry-cli/default.nix
index b9fa98a228ce9..324218082bc3d 100644
--- a/pkgs/development/tools/sentry-cli/default.nix
+++ b/pkgs/development/tools/sentry-cli/default.nix
@@ -42,6 +42,6 @@ rustPlatform.buildRustPackage rec {
     description = "A command line utility to work with Sentry";
     mainProgram = "sentry-cli";
     changelog = "https://github.com/getsentry/sentry-cli/raw/${version}/CHANGELOG.md";
-    maintainers = with maintainers; [ rizary loewenheim ];
+    maintainers = with maintainers; [ rizary ];
   };
 }
diff --git a/pkgs/development/tools/squawk/default.nix b/pkgs/development/tools/squawk/default.nix
index 1813ac21659ab..7a70c6378d60d 100644
--- a/pkgs/development/tools/squawk/default.nix
+++ b/pkgs/development/tools/squawk/default.nix
@@ -49,6 +49,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://squawkhq.com/";
     changelog = "https://github.com/sbdchd/squawk/blob/v${version}/CHANGELOG.md";
     license = licenses.gpl3Only;
-    maintainers = with lib.maintainers; [ andrewsmith marsam ];
+    maintainers = with lib.maintainers; [ andrewsmith ];
   };
 }
diff --git a/pkgs/development/tools/supabase-cli/default.nix b/pkgs/development/tools/supabase-cli/default.nix
index 201cc66d21306..77543bccc3fcb 100644
--- a/pkgs/development/tools/supabase-cli/default.nix
+++ b/pkgs/development/tools/supabase-cli/default.nix
@@ -9,16 +9,16 @@
 
 buildGoModule rec {
   pname = "supabase-cli";
-  version = "1.162.6";
+  version = "1.163.4";
 
   src = fetchFromGitHub {
     owner = "supabase";
     repo = "cli";
     rev = "v${version}";
-    hash = "sha256-BCJlYutgfHlJqUR1W/yWHkc/trszUuZZmgMMGd1XdFU=";
+    hash = "sha256-hPBijuGe8seLgevRaXfAmHCYwH8oPjYtRx2ewxocWnk=";
   };
 
-  vendorHash = "sha256-n69PwTcjEWqLetcRUM1YFkovYsE90Q3WaoBr4L/IwQU=";
+  vendorHash = "sha256-mD0EmYwxCOrKcudJLr56p/bmM0uufNn4MgFTHTSa/ec=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/development/tools/tabnine/sources.json b/pkgs/development/tools/tabnine/sources.json
index 96a791ff0981d..8ebec98bfc54c 100644
--- a/pkgs/development/tools/tabnine/sources.json
+++ b/pkgs/development/tools/tabnine/sources.json
@@ -1,17 +1,17 @@
 {
-  "version": "4.10.0",
+  "version": "4.154.0",
   "platforms": {
     "x86_64-linux": {
       "name": "x86_64-unknown-linux-musl",
-      "hash": "sha256-sVjSrQsdOtWvuYZqLSmlsbu2yKe7MYBOxctrKlltlwY="
+      "hash": "sha256-FGhe3ih8WEOW/jfT7t+9IK7f17b4JwCXuQfwxZyOUNU="
     },
     "aarch64-darwin": {
       "name": "aarch64-apple-darwin",
-      "hash": "sha256-HMPK09rOwRbsRwiHwjXZnDt4evEz2CP8zAReg/bhgTg="
+      "hash": "sha256-8bwrbMQJkBMLgWt0n6R6uc+s6SxZr8JiGM+2ni5lgqY="
     },
     "x86_64-darwin": {
       "name": "x86_64-apple-darwin",
-      "hash": "sha256-8y96VXWvHYTO+qs8x6ND5tD3Mb4qBXwdcIeYBLOkCdc="
+      "hash": "sha256-C0zePvocvgm8gP0C++7xJ5yb8MLb7kY/5HNsbEeZu6Q="
     }
   }
 }
diff --git a/pkgs/development/tools/turso-cli/default.nix b/pkgs/development/tools/turso-cli/default.nix
index 9e526b8b321be..029650b9f11c1 100644
--- a/pkgs/development/tools/turso-cli/default.nix
+++ b/pkgs/development/tools/turso-cli/default.nix
@@ -8,13 +8,13 @@
 }:
 buildGoModule rec {
   pname = "turso-cli";
-  version = "0.92.0";
+  version = "0.92.1";
 
   src = fetchFromGitHub {
     owner = "tursodatabase";
     repo = "turso-cli";
     rev = "v${version}";
-    hash = "sha256-L118k+NOvO9jBqBzPkrx/U+RjgY318b1Q0u5X7uT7i0=";
+    hash = "sha256-Oe+VxNMJwX0iIAyGoPtzgRV/VaWzVQLlBH1HxhKqUqw=";
   };
 
   vendorHash = "sha256-2NjdjB09WYzHjQEl2hMUWN1/xsj/Hlr8lVYU/pkxTqQ=";
diff --git a/pkgs/development/tools/twilio-cli/default.nix b/pkgs/development/tools/twilio-cli/default.nix
index 649dd335bd092..414a855bea11d 100644
--- a/pkgs/development/tools/twilio-cli/default.nix
+++ b/pkgs/development/tools/twilio-cli/default.nix
@@ -30,7 +30,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
     homepage = "https://github.com/twilio/twilio-cli";
     changelog = "https://github.com/twilio/twilio-cli/blob/${finalAttrs.version}/CHANGES.md";
     license = licenses.mit;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
     platforms = nodejs-slim.meta.platforms;
     mainProgram = "twilio";
   };
diff --git a/pkgs/development/tools/typos/default.nix b/pkgs/development/tools/typos/default.nix
index 1d8c678a7a21e..dee47ffab1223 100644
--- a/pkgs/development/tools/typos/default.nix
+++ b/pkgs/development/tools/typos/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "typos";
-  version = "1.20.9";
+  version = "1.20.10";
 
   src = fetchFromGitHub {
     owner = "crate-ci";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-p9vw2BDfCb31nsHvkdW75fYgEV0Nd3xd7hibAvqL+MA=";
+    hash = "sha256-1ZZhGEz3Em5snDBDnjACfh9mmZNDyS8PFpixQwYXQ+M=";
   };
 
-  cargoHash = "sha256-cLoTMzvJsjFhMZZRp24hacTdPRhWjcM5xc77obp8UGI=";
+  cargoHash = "sha256-V/jyA+DB5QvwNLRwf+GAGCMuMbZkby2Hx7R927XGfH4=";
 
   meta = with lib; {
     description = "Source code spell checker";
diff --git a/pkgs/development/tools/uftrace/default.nix b/pkgs/development/tools/uftrace/default.nix
index 17be739ea02b8..beb0a511aacf6 100644
--- a/pkgs/development/tools/uftrace/default.nix
+++ b/pkgs/development/tools/uftrace/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "uftrace";
-  version = "0.15.2";
+  version = "0.16";
 
   src = fetchFromGitHub {
     owner = "namhyung";
     repo = "uftrace";
     rev = "v${version}";
-    sha256 = "sha256-FfTt1S7X7FakKXWbmJJ1HMYcu/tG/UFknz8XmEPbPUo=";
+    sha256 = "sha256-JuBwyE6JH3CpJH863LbnWELUIIEKVaAcz8h8beeABGQ=";
   };
 
   postUnpack = ''
diff --git a/pkgs/development/tools/unityhub/default.nix b/pkgs/development/tools/unityhub/default.nix
index 3ef4b44953d15..84fe6d4359364 100644
--- a/pkgs/development/tools/unityhub/default.nix
+++ b/pkgs/development/tools/unityhub/default.nix
@@ -10,11 +10,11 @@
 
 stdenv.mkDerivation rec {
   pname = "unityhub";
-  version = "3.7.0";
+  version = "3.8.0";
 
   src = fetchurl {
     url = "https://hub-dist.unity3d.com/artifactory/hub-debian-prod-local/pool/main/u/unity/unityhub_amd64/unityhub-amd64-${version}.deb";
-    sha256 = "sha256-cFHcfpsHSDlR82PtZ0leRDpvCD6nw0Qdb3PsYKMnosA=";
+    sha256 = "sha256-TjuOsF4LFqQGx4j5j/Er97MNhVm72qlvGYZvA5vuXs8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/tools/wgo/default.nix b/pkgs/development/tools/wgo/default.nix
index 9733cfd073436..e6a848a57a514 100644
--- a/pkgs/development/tools/wgo/default.nix
+++ b/pkgs/development/tools/wgo/default.nix
@@ -5,7 +5,7 @@
 
 let
   pname = "wgo";
-  version = "0.5.4";
+  version = "0.5.6c";
 in
 buildGoModule {
   inherit pname version;
@@ -14,7 +14,7 @@ buildGoModule {
     owner = "bokwoon95";
     repo = "wgo";
     rev = "v${version}";
-    hash = "sha256-MPmB6G5JCIEfFYchVmV8sS5Zfzfui9tClDI6RlLdP6U=";
+    hash = "sha256-/blUmuUbM+GhczKj731TeYQN1BOunpQs6q3K/4FQiE8=";
   };
 
   vendorHash = "sha256-w6UJxZToHbbQmuXkyqFzyssFcE+7uVNqOuIF/XKdEsU=";
diff --git a/pkgs/development/tools/wlcs/default.nix b/pkgs/development/tools/wlcs/default.nix
index d6fce69b43186..51e227ad0262f 100644
--- a/pkgs/development/tools/wlcs/default.nix
+++ b/pkgs/development/tools/wlcs/default.nix
@@ -61,7 +61,7 @@ stdenv.mkDerivation (finalAttrs: {
       compositor and back again.
     '';
     homepage = "https://github.com/MirServer/wlcs";
-    changelog = "https://github.com/MirServer/wlcs/releases/tag/v${version}";
+    changelog = "https://github.com/MirServer/wlcs/releases/tag/v${finalAttrs.version}";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ OPNA2608 ];
     platforms = platforms.linux;
diff --git a/pkgs/development/tools/yarn-berry/default.nix b/pkgs/development/tools/yarn-berry/default.nix
index 47a539f6d7886..47ddf77634bfa 100644
--- a/pkgs/development/tools/yarn-berry/default.nix
+++ b/pkgs/development/tools/yarn-berry/default.nix
@@ -45,7 +45,7 @@ stdenv.mkDerivation (finalAttrs: {
     homepage = "https://yarnpkg.com/";
     description = "Fast, reliable, and secure dependency management.";
     license = licenses.bsd2;
-    maintainers = with maintainers; [ ryota-ka thehedgeh0g DimitarNestorov ];
+    maintainers = with maintainers; [ ryota-ka pyrox0 DimitarNestorov ];
     platforms = platforms.unix;
     mainProgram = "yarn";
   };
diff --git a/pkgs/development/tools/yarn/default.nix b/pkgs/development/tools/yarn/default.nix
index 9d95676ec2cea..e8bf911a70811 100644
--- a/pkgs/development/tools/yarn/default.nix
+++ b/pkgs/development/tools/yarn/default.nix
@@ -51,7 +51,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
     homepage = "https://classic.yarnpkg.com/";
     changelog = "https://github.com/yarnpkg/yarn/blob/v${finalAttrs.version}/CHANGELOG.md";
     license = licenses.bsd2;
-    maintainers = with maintainers; [ offline screendriver marsam ];
+    maintainers = with maintainers; [ offline screendriver ];
     platforms = platforms.all;
     mainProgram = "yarn";
   };
diff --git a/pkgs/development/tools/zsv/default.nix b/pkgs/development/tools/zsv/default.nix
index c311a4de9df4e..3d917e4348968 100644
--- a/pkgs/development/tools/zsv/default.nix
+++ b/pkgs/development/tools/zsv/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/liquidaty/zsv";
     changelog = "https://github.com/liquidaty/zsv/releases/tag/v${version}";
     license = licenses.mit;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/web/bloomrpc/default.nix b/pkgs/development/web/bloomrpc/default.nix
index fc14b131be8a9..87ef45ba981bb 100644
--- a/pkgs/development/web/bloomrpc/default.nix
+++ b/pkgs/development/web/bloomrpc/default.nix
@@ -25,7 +25,6 @@ appimageTools.wrapType2 {
   extraPkgs = pkgs: appimageTools.defaultFhsEnvArgs.multiPkgs pkgs ++ [ pkgs.bash ];
 
   extraInstallCommands = ''
-    ln -s $out/bin/${pname}-${version} $out/bin/${pname}
     install -m 444 -D ${appimageContents}/${pname}.desktop $out/share/applications/${pname}.desktop
     install -m 444 -D ${appimageContents}/${pname}.png \
       $out/share/icons/hicolor/512x512/apps/${pname}.png
diff --git a/pkgs/development/web/bootstrap-studio/default.nix b/pkgs/development/web/bootstrap-studio/default.nix
index 757b9e8c206c8..14675efdac179 100644
--- a/pkgs/development/web/bootstrap-studio/default.nix
+++ b/pkgs/development/web/bootstrap-studio/default.nix
@@ -13,8 +13,6 @@ appimageTools.wrapType2 {
   inherit pname version src;
 
   extraInstallCommands = ''
-    mv $out/bin/${pname}-${version} $out/bin/${pname}
-
     install -m 444 -D ${appimageContents}/bstudio.desktop -t $out/share/applications
 
     substituteInPlace $out/share/applications/bstudio.desktop \
diff --git a/pkgs/development/web/bun/default.nix b/pkgs/development/web/bun/default.nix
index 512bbaa3e8ea5..52b20dee8b153 100644
--- a/pkgs/development/web/bun/default.nix
+++ b/pkgs/development/web/bun/default.nix
@@ -12,7 +12,7 @@
 }:
 
 stdenvNoCC.mkDerivation rec {
-  version = "1.1.4";
+  version = "1.1.6";
   pname = "bun";
 
   src = passthru.sources.${stdenvNoCC.hostPlatform.system} or (throw "Unsupported system: ${stdenvNoCC.hostPlatform.system}");
@@ -51,19 +51,19 @@ stdenvNoCC.mkDerivation rec {
     sources = {
       "aarch64-darwin" = fetchurl {
         url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-darwin-aarch64.zip";
-        hash = "sha256-dBiwVO4WreVyIlbJVEyPZj46Dy/3W49mXdo7CiQWiAo=";
+        hash = "sha256-ffEu37NAT/74l1Kkr+e1hAkawbSeZlTQcHbqg/7jYOQ=";
       };
       "aarch64-linux" = fetchurl {
         url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-linux-aarch64.zip";
-        hash = "sha256-XsyjcqKZ667iVTVsOKjaD9iORze0Zs8ZHiDYvuXQ07A=";
+        hash = "sha256-qKWtazbPfPjDxLChZ0FVyV2qQhPUHwF4wpHrFdCRlYg=";
       };
       "x86_64-darwin" = fetchurl {
         url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-darwin-x64.zip";
-        hash = "sha256-M6MoYPNCGBP0KuNnv8cOnm47FJyxI6MXzsX+FvHxAEA=";
+        hash = "sha256-a3ol9tkKyVa6MoBq5cscRLAS5o8OCcIUX43opKtePos=";
       };
       "x86_64-linux" = fetchurl {
         url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-linux-x64.zip";
-        hash = "sha256-9H/1qR6ZHHy5/abq2SjoUbUX6Y92/8MQem2inuWhVC8=";
+        hash = "sha256-IzjuIPXljt8EStcRdGj55SWIpqJdGQeVZVAS5u9sW+Y=";
       };
     };
     updateScript = writeShellScript "update-bun" ''
diff --git a/pkgs/development/web/deno/default.nix b/pkgs/development/web/deno/default.nix
index b7c9e3e6cac8a..d9c4220d671d6 100644
--- a/pkgs/development/web/deno/default.nix
+++ b/pkgs/development/web/deno/default.nix
@@ -13,16 +13,16 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "deno";
-  version = "1.42.3";
+  version = "1.42.4";
 
   src = fetchFromGitHub {
     owner = "denoland";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-mjMpjbQbj0QyvRU4RRL++zvAxU2ZfMDhDauBC+zIH/g=";
+    hash = "sha256-O9R+i7hTKhRJ0UgjnylMOgQyDGqBeOUy7h3g/e1pTHM=";
   };
 
-  cargoHash = "sha256-xuR7XrcI1O8NB6YY0oGFHxv+eUmt3WX1dXBI9aOOw58=";
+  cargoHash = "sha256-FsbmuOc+u8ZSu3lgS3oGTiwfWovQewuSPfL3HYKtwJk=";
 
   postPatch = ''
     # upstream uses lld on aarch64-darwin for faster builds
diff --git a/pkgs/development/web/deno/librusty_v8.nix b/pkgs/development/web/deno/librusty_v8.nix
index e0f797b4c67fa..73738af552131 100644
--- a/pkgs/development/web/deno/librusty_v8.nix
+++ b/pkgs/development/web/deno/librusty_v8.nix
@@ -10,11 +10,11 @@ let
   };
 in
 fetch_librusty_v8 {
-  version = "0.89.0";
+  version = "0.90.1";
   shas = {
-    x86_64-linux = "sha256-XxX3x3LBiJK768gvzIsV7aKm6Yn5dLS3LINdDOUjDGU=";
-    aarch64-linux = "sha256-ZetNxahe/XDp6OoGFkZS7VfOPQPbEGUkPNAaSJ0Y90M=";
-    x86_64-darwin = "sha256-A047aVL2KSNWofPK2eH395iGPcdM+FjSxu5GkW9wJnI=";
-    aarch64-darwin = "sha256-XN2JFL8Rs9hyTquVx6brjW15H54mhVIHqzkdEy9smqM=";
+    x86_64-linux = "sha256-lEGvxBY91cg4GOTUCoLnKeZOcKOl+sdASe/q+s3epkM=";
+    aarch64-linux = "sha256-Z9cR1cIBlAFcPghFIMHzW0JP8g5yioK2Vgk1/tGEO0s=";
+    x86_64-darwin = "sha256-F/r36lmeQeraotkjK7F7XapXmmMZRRCoD4b5wR0gpCY=";
+    aarch64-darwin = "sha256-pE2wGU8YYU4pQlc8oQRYsEx2b0MTkGAwVrn6xW22vrk=";
   };
 }
diff --git a/pkgs/development/web/nodejs/nodejs.nix b/pkgs/development/web/nodejs/nodejs.nix
index b1bd0ae912d95..91038467914d9 100644
--- a/pkgs/development/web/nodejs/nodejs.nix
+++ b/pkgs/development/web/nodejs/nodejs.nix
@@ -206,7 +206,7 @@ let
       homepage = "https://nodejs.org";
       changelog = "https://github.com/nodejs/node/releases/tag/v${version}";
       license = licenses.mit;
-      maintainers = with maintainers; [ goibhniu gilligan cko marsam ];
+      maintainers = with maintainers; [ goibhniu cko ];
       platforms = platforms.linux ++ platforms.darwin;
       mainProgram = "node";
       knownVulnerabilities = optional (versionOlder version "18") "This NodeJS release has reached its end of life. See https://nodejs.org/en/about/releases/.";
diff --git a/pkgs/development/web/nodejs/v21.nix b/pkgs/development/web/nodejs/v22.nix
index dedda892a9180..a72f22b6f4985 100644
--- a/pkgs/development/web/nodejs/v21.nix
+++ b/pkgs/development/web/nodejs/v22.nix
@@ -8,8 +8,8 @@ let
 in
 buildNodejs {
   inherit enableNpm;
-  version = "21.7.3";
-  sha256 = "08csswa1h55l9zvfjc4g1ksicgl42pbz7g1bc9hgy77w3gxjd2v6";
+  version = "22.0.0";
+  sha256 = "sha256-IuKPv/MfaQc7gCTLQnReUQX4QEHzR1smC5fVoUEDnRo=";
   patches = [
     ./disable-darwin-v8-system-instrumentation-node19.patch
     ./bypass-darwin-xcrun-node16.patch
diff --git a/pkgs/games/1oom/default.nix b/pkgs/games/1oom/default.nix
index 54bfb4d0b3219..487a08f752974 100644
--- a/pkgs/games/1oom/default.nix
+++ b/pkgs/games/1oom/default.nix
@@ -1,30 +1,34 @@
-{ lib, stdenv, fetchFromGitLab, autoreconfHook, libsamplerate, SDL2, SDL2_mixer, readline }:
+{ lib, stdenv, fetchFromGitHub, gitUpdater, autoreconfHook, allegro, libsamplerate, libX11, libXext, SDL, SDL_mixer, SDL2, SDL2_mixer, readline }:
 
 stdenv.mkDerivation rec {
   pname = "1oom";
-  version = "1.0";
+  version = "1.8.1";
 
-  src = fetchFromGitLab {
-    owner = "KilgoreTroutMaskReplicant";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-+HwSykSyAGHtITVOu4nIG87kWwVxGyFXb/NRSjhWlvs=";
+  src = fetchFromGitHub {
+    owner = "1oom-fork";
+    repo = "1oom";
+    rev = "refs/tags/f${version}";
+    hash = "sha256-sBVcPR4+MDjyOLgrB4VcVy0cDyyG5MVY9vNhWwqAhBA=";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
-  buildInputs = [ libsamplerate SDL2 SDL2_mixer readline ];
+  buildInputs = [ allegro libsamplerate libX11 libXext SDL SDL_mixer SDL2 SDL2_mixer readline ];
 
   outputs = [ "out" "doc" ];
 
   postInstall = ''
     install -d $doc/share/doc/${pname}
     install -t $doc/share/doc/${pname} \
-      HACKING NEWS PHILOSOPHY README doc/*.txt
+      HACKING NEWS PHILOSOPHY README.md doc/*.txt
   '';
 
+  passthru.updateScript = gitUpdater {
+    rev-prefix = "f";
+  };
+
   meta = with lib; {
-    homepage = "https://kilgoretroutmaskreplicant.gitlab.io/plain-html/";
-    description = "Master of Orion (1993) game engine recreation";
+    homepage = "https://github.com/1oom-fork/1oom";
+    description = "Master of Orion (1993) game engine recreation; a more updated fork";
     license = licenses.gpl2Only;
     platforms = platforms.linux;
     maintainers = [ maintainers.AndersonTorres ];
diff --git a/pkgs/games/anki/bin.nix b/pkgs/games/anki/bin.nix
index 1ffe999c88963..6af284843e71b 100644
--- a/pkgs/games/anki/bin.nix
+++ b/pkgs/games/anki/bin.nix
@@ -3,22 +3,22 @@
 let
   pname = "anki-bin";
   # Update hashes for both Linux and Darwin!
-  version = "24.04";
+  version = "24.04.1";
 
   sources = {
     linux = fetchurl {
       url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-linux-qt6.tar.zst";
-      sha256 = "sha256-mIQ448ecBDrMo3qspXVOBJM/0LebJ9lA1JIwz70Uqhc=";
+      sha256 = "sha256-elUTr0Lumw5bzWbeU74m8e/AxQPNpKXiIOC0Rcgh3AY=";
     };
 
     # For some reason anki distributes completely separate dmg-files for the aarch64 version and the x86_64 version
     darwin-x86_64 = fetchurl {
       url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-mac-intel-qt6.dmg";
-      sha256 = "sha256-ab8cc+QMt3ZJp1NZmAwz2VNZwWQK0DBPKnz2fGmC7Fs=";
+      sha256 = "sha256-LlHbZ8Yw17Ym11L1lqMibAaV8XWB8oiMFGQxE1PvApI=";
     };
     darwin-aarch64 = fetchurl {
       url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-mac-apple-qt6.dmg";
-      sha256 = "sha256-bRpPVOXpDRq+EXwW1yWiAgzkcdLhLnMrHo/t9Jgzth0=";
+      sha256 = "sha256-lMUfIvV4biaOb0ABTZciBP59XY1Ln3tkwphi2oaRu4c=";
     };
   };
 
@@ -52,7 +52,6 @@ let
 
   fhsEnvAnki = buildFHSEnv (appimageTools.defaultFhsEnvArgs // {
     inherit pname version;
-    name = null; # Appimage sets it to "appimage-env"
 
     profile = ''
       # anki vendors QT and mixing QT versions usually causes crashes
diff --git a/pkgs/games/arena/default.nix b/pkgs/games/arena/default.nix
index 16553a5f8ea69..9b31c41ea68ad 100644
--- a/pkgs/games/arena/default.nix
+++ b/pkgs/games/arena/default.nix
@@ -68,8 +68,9 @@ stdenv.mkDerivation rec {
       chess board & DGT clocks and much more.
     '';
     license = lib.licenses.unfree;
+    sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
+    homepage = "http://www.playwitharena.de";
     platforms = ["x86_64-linux"];
-    hydraPlatforms = lib.platforms.none;
   };
 
 }
diff --git a/pkgs/games/badlion-client/default.nix b/pkgs/games/badlion-client/default.nix
index 6772557a3ea56..9900551d8cd6d 100644
--- a/pkgs/games/badlion-client/default.nix
+++ b/pkgs/games/badlion-client/default.nix
@@ -15,7 +15,6 @@ in
     inherit pname version src;
 
     extraInstallCommands = ''
-      mv $out/bin/{${pname}-${version},${pname}}
       install -Dm444 ${appimageContents}/BadlionClient.desktop $out/share/applications/BadlionClient.desktop
       install -Dm444 ${appimageContents}/BadlionClient.png $out/share/pixmaps/BadlionClient.png
       substituteInPlace $out/share/applications/BadlionClient.desktop \
diff --git a/pkgs/games/chiaki/default.nix b/pkgs/games/chiaki/default.nix
index e450f472e8d50..7482a1cd27f88 100644
--- a/pkgs/games/chiaki/default.nix
+++ b/pkgs/games/chiaki/default.nix
@@ -59,7 +59,7 @@ mkDerivation rec {
     homepage = "https://git.sr.ht/~thestr4ng3r/chiaki";
     description = "Free and Open Source PlayStation Remote Play Client";
     license = licenses.agpl3Only;
-    maintainers = with maintainers; [ delroth ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.all;
     mainProgram = "chiaki";
   };
diff --git a/pkgs/games/doom-ports/chocolate-doom/default.nix b/pkgs/games/doom-ports/chocolate-doom/default.nix
index 30fe2010b022f..4bd3944a42241 100644
--- a/pkgs/games/doom-ports/chocolate-doom/default.nix
+++ b/pkgs/games/doom-ports/chocolate-doom/default.nix
@@ -44,6 +44,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl2Plus;
     platforms = lib.platforms.unix;
     hydraPlatforms = lib.platforms.linux; # darwin times out
-    maintainers = with lib.maintainers; [ MP2E ];
+    maintainers = with lib.maintainers; [ ];
   };
 }
diff --git a/pkgs/games/doom-ports/dhewm3/default.nix b/pkgs/games/doom-ports/dhewm3/default.nix
index 9a187c76820d0..19cf87110caa6 100644
--- a/pkgs/games/doom-ports/dhewm3/default.nix
+++ b/pkgs/games/doom-ports/dhewm3/default.nix
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
     description = "Doom 3 port to SDL";
     mainProgram = "dhewm3";
     license = lib.licenses.gpl3;
-    maintainers = with maintainers; [ MP2E ];
+    maintainers = with maintainers; [ ];
     platforms = with platforms; linux;
   };
 }
diff --git a/pkgs/games/doom-ports/doomseeker/default.nix b/pkgs/games/doom-ports/doomseeker/default.nix
index c3d3db1d254a7..11aec59bf4db2 100644
--- a/pkgs/games/doom-ports/doomseeker/default.nix
+++ b/pkgs/games/doom-ports/doomseeker/default.nix
@@ -30,6 +30,6 @@ stdenv.mkDerivation {
     mainProgram = "doomseeker";
     license = licenses.gpl2;
     platforms = platforms.unix;
-    maintainers = [ maintainers.MP2E ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/games/doom-ports/eternity-engine/default.nix b/pkgs/games/doom-ports/eternity-engine/default.nix
index 7afef923e08b9..5239cae4d8ccb 100644
--- a/pkgs/games/doom-ports/eternity-engine/default.nix
+++ b/pkgs/games/doom-ports/eternity-engine/default.nix
@@ -27,6 +27,6 @@ stdenv.mkDerivation rec {
     mainProgram = "eternity";
     license = lib.licenses.gpl3;
     platforms = lib.platforms.linux;
-    maintainers = with lib.maintainers; [ MP2E ];
+    maintainers = with lib.maintainers; [ ];
   };
 }
diff --git a/pkgs/games/doom-ports/gzdoom/default.nix b/pkgs/games/doom-ports/gzdoom/default.nix
index d063393210c4c..2800e770ba0e8 100644
--- a/pkgs/games/doom-ports/gzdoom/default.nix
+++ b/pkgs/games/doom-ports/gzdoom/default.nix
@@ -27,14 +27,14 @@
 
 stdenv.mkDerivation rec {
   pname = "gzdoom";
-  version = "4.11.3";
+  version = "4.12.1";
 
   src = fetchFromGitHub {
     owner = "ZDoom";
     repo = "gzdoom";
     rev = "g${version}";
     fetchSubmodules = true;
-    hash = "sha256-pY+5R3W/9pJGiBoDFkxxpuP0I2ZLb+Q/s5UYU20G748=";
+    hash = "sha256-ityjfxlazt/R9vD+azVGr+w7Sdjlbh+ekbJexkPSF1g=";
   };
 
   outputs = [ "out" "doc" ];
diff --git a/pkgs/games/doom-ports/odamex/default.nix b/pkgs/games/doom-ports/odamex/default.nix
index 5fc1b57be5dcd..cc1862b0b3715 100644
--- a/pkgs/games/doom-ports/odamex/default.nix
+++ b/pkgs/games/doom-ports/odamex/default.nix
@@ -49,6 +49,6 @@ stdenv.mkDerivation rec {
     description = "A client/server port for playing old-school Doom online";
     license = lib.licenses.gpl2Only;
     platforms = lib.platforms.unix;
-    maintainers = with lib.maintainers; [ MP2E ];
+    maintainers = with lib.maintainers; [ ];
   };
 }
diff --git a/pkgs/games/doom-ports/zandronum/alpha/default.nix b/pkgs/games/doom-ports/zandronum/alpha/default.nix
index c5d883fcb556b..665bef3bd4a19 100644
--- a/pkgs/games/doom-ports/zandronum/alpha/default.nix
+++ b/pkgs/games/doom-ports/zandronum/alpha/default.nix
@@ -96,7 +96,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://zandronum.com/";
     description = "Multiplayer oriented port, based off Skulltag, for Doom and Doom II by id Software";
-    maintainers = with maintainers; [ lassulus MP2E ];
+    maintainers = with maintainers; [ lassulus ];
     license = licenses.sleepycat;
     platforms = platforms.linux;
   };
diff --git a/pkgs/games/doom-ports/zandronum/default.nix b/pkgs/games/doom-ports/zandronum/default.nix
index c8e1927aafed6..17c9b473870a6 100644
--- a/pkgs/games/doom-ports/zandronum/default.nix
+++ b/pkgs/games/doom-ports/zandronum/default.nix
@@ -97,7 +97,7 @@ stdenv.mkDerivation rec {
     homepage = "https://zandronum.com/";
     description = "Multiplayer oriented port, based off Skulltag, for Doom and Doom II by id Software";
     mainProgram = "zandronum-server";
-    maintainers = with maintainers; [ lassulus MP2E ];
+    maintainers = with maintainers; [ lassulus ];
     license = licenses.sleepycat;
     platforms = platforms.linux;
   };
diff --git a/pkgs/games/fallout-ce/fallout2-ce.nix b/pkgs/games/fallout-ce/fallout2-ce.nix
index b28a9701c2021..6d665c96a0e2d 100644
--- a/pkgs/games/fallout-ce/fallout2-ce.nix
+++ b/pkgs/games/fallout-ce/fallout2-ce.nix
@@ -5,13 +5,13 @@
 
 callPackage ./build.nix rec {
   pname = "fallout2-ce";
-  version = "1.2.0";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "alexbatalov";
     repo = "fallout2-ce";
     rev = "v${version}";
-    hash = "sha256-+N4jhmxBX6z48kaU0jm90OKhguHlggT3OF9uuyY0EV0=";
+    hash = "sha256-r1pnmyuo3uw2R0x9vGScSHIVNA6t+txxABzgHkUEY5U=";
   };
 
   extraBuildInputs = [ zlib ];
diff --git a/pkgs/games/nanosaur/default.nix b/pkgs/games/nanosaur/default.nix
index 37a054d951b44..897847b0f11cf 100644
--- a/pkgs/games/nanosaur/default.nix
+++ b/pkgs/games/nanosaur/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nanosaur";
-  version = "1.4.4-unstable-2023-05-21";
+  version = "1.4.4-unstable-2024-04-06";
 
   src = fetchFromGitHub {
     owner = "jorio";
     repo = pname;
-    rev = "c9753648996b09a17c8bd526d8309b73fb14c435";
-    sha256 = "sha256-0xG/HSUF65eV+fSJ2geDv5VUxTeso9dulrLgE1KNDhc=";
+    rev = "4f2612f81697a0852f63fa2ea1ac80892f8a5a9c";
+    hash = "sha256-MQmlZbsQSREAIqKXyIIOF6Psa1rqY/iUsBHpeKGekBI=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/games/openjk/default.nix b/pkgs/games/openjk/default.nix
index 6e887c383511a..b8e80b845c1cd 100644
--- a/pkgs/games/openjk/default.nix
+++ b/pkgs/games/openjk/default.nix
@@ -32,13 +32,13 @@ let
   };
 in stdenv.mkDerivation {
   pname = "openjk";
-  version = "0-unstable-2024-03-25";
+  version = "0-unstable-2024-04-07";
 
   src = fetchFromGitHub {
     owner = "JACoders";
     repo = "OpenJK";
-    rev = "d2afcfefb5eb07d6f3787b48b947482160f27a1d";
-    hash = "sha256-dUXrFlzeLfah0xMXKeXHCXnmeTjRAy0/+aDCtPNw8a8=";
+    rev = "2815211a87ccb8de1b0ee090d429a63f47e0ac7a";
+    hash = "sha256-F3JF6jFgyMinIZ7dZAJ0ugGrJFianh2b6dX5A4iEnns=";
   };
 
   dontAddPrefix = true;
diff --git a/pkgs/games/openttd/jgrpp.nix b/pkgs/games/openttd/jgrpp.nix
index 74baeb12387e5..d26c62dd8906b 100644
--- a/pkgs/games/openttd/jgrpp.nix
+++ b/pkgs/games/openttd/jgrpp.nix
@@ -2,13 +2,13 @@
 
 openttd.overrideAttrs (oldAttrs: rec {
   pname = "openttd-jgrpp";
-  version = "0.58.1";
+  version = "0.58.2";
 
   src = fetchFromGitHub rec {
     owner = "JGRennison";
     repo = "OpenTTD-patches";
     rev = "jgrpp-${version}";
-    hash = "sha256-6R+biPgQyFPJD6Or6Jhm+7RZ7xe/SC6h83XVZkE+gSk=";
+    hash = "sha256-XwKCqfYgrqQpo/2L+vHCde/z2QV88BFL+WQqvsEYdhE=";
   };
 
   buildInputs = oldAttrs.buildInputs ++ [ zstd ];
diff --git a/pkgs/games/openxray/default.nix b/pkgs/games/openxray/default.nix
index 961df955ca9aa..8bcedac52ad35 100644
--- a/pkgs/games/openxray/default.nix
+++ b/pkgs/games/openxray/default.nix
@@ -68,7 +68,7 @@ stdenv.mkDerivation (finalAttrs: {
     description = "Improved version of the X-Ray Engine, the game engine used in the world-famous S.T.A.L.K.E.R. game series by GSC Game World";
     homepage = "https://github.com/OpenXRay/xray-16/";
     license = licenses.unfree // {
-      url = "https://github.com/OpenXRay/xray-16/blob/${version}/License.txt";
+      url = "https://github.com/OpenXRay/xray-16/blob/${finalAttrs.version}/License.txt";
     };
     maintainers = with maintainers; [ OPNA2608 ];
     platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
diff --git a/pkgs/games/osu-lazer/bin.nix b/pkgs/games/osu-lazer/bin.nix
index e98627874245b..945fe4ac91b3f 100644
--- a/pkgs/games/osu-lazer/bin.nix
+++ b/pkgs/games/osu-lazer/bin.nix
@@ -64,7 +64,7 @@ else appimageTools.wrapType2 {
       contents = appimageTools.extract { inherit pname version src; };
     in
     ''
-      mv -v $out/bin/${pname}-${version} $out/bin/osu\!
+      mv -v $out/bin/${pname} $out/bin/osu\!
       install -m 444 -D ${contents}/osu\!.desktop -t $out/share/applications
       for i in 16 32 48 64 96 128 256 512 1024; do
         install -D ${contents}/osu\!.png $out/share/icons/hicolor/''${i}x$i/apps/osu\!.png
diff --git a/pkgs/games/prismlauncher/default.nix b/pkgs/games/prismlauncher/default.nix
index 058516cdc9c68..a2aabb72f0d7c 100644
--- a/pkgs/games/prismlauncher/default.nix
+++ b/pkgs/games/prismlauncher/default.nix
@@ -31,13 +31,13 @@ assert lib.assertMsg (stdenv.isLinux || !gamemodeSupport) "gamemodeSupport is on
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "prismlauncher-unwrapped";
-  version = "8.2";
+  version = "8.3";
 
   src = fetchFromGitHub {
     owner = "PrismLauncher";
     repo = "PrismLauncher";
     rev = finalAttrs.version;
-    hash = "sha256-4VsoxZzi/EfEsnDvvwzg2xhj7j5B+k3gvaSqwJFDweE=";
+    hash = "sha256-1YGzCgNdzscnOVeNlHMFJa0RbMo6C2qQjtBOeDxHakI=";
   };
 
   nativeBuildInputs = [ extra-cmake-modules cmake jdk17 ninja stripJavaArchivesHook ];
@@ -60,7 +60,11 @@ stdenv.mkDerivation (finalAttrs: {
     "-DLauncher_BUILD_PLATFORM=nixpkgs"
   ] ++ lib.optionals (msaClientID != null) [ "-DLauncher_MSA_CLIENT_ID=${msaClientID}" ]
   ++ lib.optionals (lib.versionOlder qtbase.version "6") [ "-DLauncher_QT_VERSION_MAJOR=5" ]
-  ++ lib.optionals stdenv.isDarwin [ "-DINSTALL_BUNDLE=nodeps" "-DMACOSX_SPARKLE_UPDATE_FEED_URL=''" ];
+  ++ lib.optionals stdenv.isDarwin [
+    "-DINSTALL_BUNDLE=nodeps"
+    "-DMACOSX_SPARKLE_UPDATE_FEED_URL=''"
+    "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}/Applications/"
+  ];
 
   postUnpack = ''
     rm -rf source/libraries/libnbtplusplus
diff --git a/pkgs/games/prismlauncher/wrapper.nix b/pkgs/games/prismlauncher/wrapper.nix
index d91b2731135e0..3393ff45efdcb 100644
--- a/pkgs/games/prismlauncher/wrapper.nix
+++ b/pkgs/games/prismlauncher/wrapper.nix
@@ -72,7 +72,7 @@ symlinkJoin {
   ]
   ++ lib.optional (lib.versionAtLeast qtbase.version "6" && stdenv.isLinux) qtwayland;
 
-  waylandPreExec = ''
+  waylandPreExec = lib.optionalString withWaylandGLFW ''
     if [ -n "$WAYLAND_DISPLAY" ]; then
       export LD_LIBRARY_PATH=${lib.getLib glfw-wayland-minecraft}/lib:"$LD_LIBRARY_PATH"
     fi
diff --git a/pkgs/games/shipwright/default.nix b/pkgs/games/shipwright/default.nix
index e8b91a8141ace..397226fc4ba5c 100644
--- a/pkgs/games/shipwright/default.nix
+++ b/pkgs/games/shipwright/default.nix
@@ -28,13 +28,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "shipwright";
-  version = "8.0.4";
+  version = "8.0.5";
 
   src = fetchFromGitHub {
     owner = "harbourmasters";
     repo = "shipwright";
     rev = finalAttrs.version;
-    hash = "sha256-OoDToHCVNzccbKdsmek1kqCsW2HmVzA2vy3BtVW1DuM=";
+    hash = "sha256-o2VwOF46Iq4pwpumOau3bDXJ/CArx6NWBi00s3E4PnE=";
     fetchSubmodules = true;
   };
 
@@ -42,8 +42,8 @@ stdenv.mkDerivation (finalAttrs: {
   # https://github.com/HarbourMasters/Shipwright/blob/e46c60a7a1396374e23f7a1f7122ddf9efcadff7/soh/CMakeLists.txt#L736
   gamecontrollerdb = fetchurl {
     name = "gamecontrollerdb.txt";
-    url = "https://raw.githubusercontent.com/gabomdq/SDL_GameControllerDB/81d89fd1e2bd5878e57dfa629abeed3a8feea438/gamecontrollerdb.txt";
-    hash = "sha256-m1XzDc2dS0hkBTEGABgW4J/jjIw1TXtvHHtsvui6Bcc=";
+    url = "https://raw.githubusercontent.com/gabomdq/SDL_GameControllerDB/b7933e43ca2f8d26d8b668ea8ea52b736221af1e/gamecontrollerdb.txt";
+    hash = "sha256-XIuS9BkWkM9d+SgT1OYTfWtcmzqSUDbMrMLoVnPgidE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/games/space-station-14-launcher/space-station-14-launcher.nix b/pkgs/games/space-station-14-launcher/space-station-14-launcher.nix
index 6403602b79c53..d6eedb6e9f698 100644
--- a/pkgs/games/space-station-14-launcher/space-station-14-launcher.nix
+++ b/pkgs/games/space-station-14-launcher/space-station-14-launcher.nix
@@ -137,7 +137,7 @@ buildDotnetModule rec {
     description = "Launcher for Space Station 14, a multiplayer game about paranoia and disaster";
     homepage = "https://spacestation14.io";
     license = licenses.mit;
-    maintainers = [ maintainers.zumorica ];
+    maintainers = [ ];
     platforms = [ "x86_64-linux" ];
     mainProgram = "SS14.Launcher";
   };
diff --git a/pkgs/games/steam/fhsenv.nix b/pkgs/games/steam/fhsenv.nix
index 936a3510b31de..95668e1ecea99 100644
--- a/pkgs/games/steam/fhsenv.nix
+++ b/pkgs/games/steam/fhsenv.nix
@@ -68,6 +68,10 @@ let
   envScript = ''
     # prevents various error messages
     unset GIO_EXTRA_MODULES
+
+    # This is needed for IME (e.g. iBus, fcitx5) to function correctly on non-CJK locales
+    # https://github.com/ValveSoftware/steam-for-linux/issues/781#issuecomment-2004757379
+    GTK_IM_MODULE='xim'
   '' + lib.toShellVars extraEnv;
 
 in buildFHSEnv rec {
diff --git a/pkgs/games/vintagestory/default.nix b/pkgs/games/vintagestory/default.nix
index 8b9468b81c761..7134139c62505 100644
--- a/pkgs/games/vintagestory/default.nix
+++ b/pkgs/games/vintagestory/default.nix
@@ -20,11 +20,11 @@
 
 stdenv.mkDerivation rec {
   pname = "vintagestory";
-  version = "1.19.5";
+  version = "1.19.7";
 
   src = fetchurl {
     url = "https://cdn.vintagestory.at/gamefiles/stable/vs_client_linux-x64_${version}.tar.gz";
-    hash = "sha256-noweIb+lZhme1kEjU2+tIc0E99iShNngxEEyDMKJcpk=";
+    hash = "sha256-C+vPsoMlo6EKmzf+XkvIhrDGG7EccU8c36GZt0/1r1Q=";
   };
 
 
diff --git a/pkgs/games/vitetris/default.nix b/pkgs/games/vitetris/default.nix
index f7e566b22084e..67358134e6690 100644
--- a/pkgs/games/vitetris/default.nix
+++ b/pkgs/games/vitetris/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = [ "format" ];
 
-  makeFlags = [ "INSTALL=install" ];
+  makeFlags = [ "INSTALL=install" "CPPFLAGS=-Wno-implicit-int" ];
 
   meta = {
     description = "Terminal-based Tetris clone by Victor Nilsson";
@@ -21,6 +21,7 @@ stdenv.mkDerivation rec {
     license = lib.licenses.bsd2;
     maintainers = with lib.maintainers; [ siers ];
     mainProgram = "tetris";
+    platforms = lib.platforms.unix;
 
     longDescription = ''
       vitetris is a terminal-based Tetris clone by Victor Nilsson. Gameplay is much
diff --git a/pkgs/games/worldofgoo/default.nix b/pkgs/games/worldofgoo/default.nix
index 4b38c86fbdce2..06f6b71172aeb 100644
--- a/pkgs/games/worldofgoo/default.nix
+++ b/pkgs/games/worldofgoo/default.nix
@@ -70,6 +70,6 @@ stdenv.mkDerivation rec {
     homepage = "https://worldofgoo.com";
     license = licenses.unfree;
     platforms = [ "i686-linux" "x86_64-linux" ];
-    maintainers = with maintainers; [ jcumming amaxine ];
+    maintainers = with maintainers; [ jcumming ];
   };
 }
diff --git a/pkgs/kde/frameworks/kdoctools/default.nix b/pkgs/kde/frameworks/kdoctools/default.nix
index 8e8341997a2b0..996e75c885389 100644
--- a/pkgs/kde/frameworks/kdoctools/default.nix
+++ b/pkgs/kde/frameworks/kdoctools/default.nix
@@ -8,9 +8,6 @@
 mkKdeDerivation {
   pname = "kdoctools";
 
-  # lots of self-references, the output is pretty small (~5MB), not worth trying to untangle
-  outputs = ["out"];
-
   # Perl could be used both at build time and at runtime.
   extraNativeBuildInputs = [perl perlPackages.URI];
   extraBuildInputs = [docbook_xml_dtd_45 docbook-xsl-nons];
diff --git a/pkgs/kde/lib/mk-kde-derivation.nix b/pkgs/kde/lib/mk-kde-derivation.nix
index 0b2ebd8ace7f7..975d2e4af93ab 100644
--- a/pkgs/kde/lib/mk-kde-derivation.nix
+++ b/pkgs/kde/lib/mk-kde-derivation.nix
@@ -91,7 +91,7 @@ in
     defaultArgs = {
       inherit version src;
 
-      outputs = ["out" "dev"];
+      outputs = ["out" "dev" "devtools"];
 
       nativeBuildInputs = [cmake qt6.wrapQtAppsHook moveDevHook] ++ extraNativeBuildInputs;
       buildInputs = [qt6.qtbase] ++ extraBuildInputs;
diff --git a/pkgs/kde/lib/move-dev-hook.sh b/pkgs/kde/lib/move-dev-hook.sh
index da5770e1bba14..a49cb91d22f3c 100644
--- a/pkgs/kde/lib/move-dev-hook.sh
+++ b/pkgs/kde/lib/move-dev-hook.sh
@@ -2,7 +2,10 @@
 # shellcheck disable=SC2154
 
 moveKF6DevTools() {
-    moveToOutput "${qtPluginPrefix}/designer" "${!outputDev}"
+    if [ -n "$devtools" ]; then
+        mkdir -p "$devtools"
+        moveToOutput "${qtPluginPrefix}/designer" "$devtools"
+    fi
 }
 
 postInstallHooks+=('moveKF6DevTools')
diff --git a/pkgs/kde/misc/mpvqt/default.nix b/pkgs/kde/misc/mpvqt/default.nix
index 4ec52aba07936..fc237f97a803a 100644
--- a/pkgs/kde/misc/mpvqt/default.nix
+++ b/pkgs/kde/misc/mpvqt/default.nix
@@ -17,7 +17,8 @@ mkKdeDerivation rec {
     hash = "sha256-XHiCxH7dJxJamloM2SJbiFHDt8j4rVfv/M9PaBzvgM4=";
   };
 
-  extraBuildInputs = [mpv qtdeclarative];
+  extraBuildInputs = [qtdeclarative];
+  extraPropagatedBuildInputs = [mpv];
 
   meta.license = with lib.licenses; [bsd2 bsd3 cc-by-sa-40 cc0 lgpl21Only lgpl3Only lgpl3Plus mit];
 }
diff --git a/pkgs/kde/plasma/breeze-grub/default.nix b/pkgs/kde/plasma/breeze-grub/default.nix
index a5fe01b4cad7e..5dd3d199e44a6 100644
--- a/pkgs/kde/plasma/breeze-grub/default.nix
+++ b/pkgs/kde/plasma/breeze-grub/default.nix
@@ -6,6 +6,8 @@ mkKdeDerivation {
   nativeBuildInputs = [];
   buildInputs = [];
 
+  outputs = ["out"];
+
   installPhase = ''
     runHook preInstall
 
diff --git a/pkgs/misc/ananicy-rules-cachyos/default.nix b/pkgs/misc/ananicy-rules-cachyos/default.nix
index b7970eff2ef9b..fba65999b0f93 100644
--- a/pkgs/misc/ananicy-rules-cachyos/default.nix
+++ b/pkgs/misc/ananicy-rules-cachyos/default.nix
@@ -2,13 +2,13 @@
 
 stdenvNoCC.mkDerivation {
   pname = "ananicy-rules-cachyos";
-  version = "unstable-2024-04-16";
+  version = "unstable-2024-04-22";
 
   src = fetchFromGitHub {
     owner = "CachyOS";
     repo = "ananicy-rules";
-    rev = "7abaddd5cac23d9fd7a0f0aeccb7a0287456802b";
-    hash = "sha256-06q9dYLdg+AhT8L2OeoDsG7hHlmx/uf/RIwblODiSnE=";
+    rev = "8646faa8c0c8fc16d78ca3a25d65ddbd86b9d468";
+    hash = "sha256-b9M6Uqlb6Ysp8BRe1QV62sjVOU6tgFbrjTxDc3B4xlg=";
   };
 
   dontConfigure = true;
@@ -22,11 +22,11 @@ stdenvNoCC.mkDerivation {
     runHook postInstall
   '';
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/CachyOS/ananicy-rules";
     description = "CachyOS' ananicy-rules meant to be used with ananicy-cpp";
-    license = licenses.gpl3Only;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ artturin johnrtitor diniamo ];
+    license = lib.licenses.gpl3Only;
+    platforms = lib.platforms.linux;
+    maintainers = with lib.maintainers; [ artturin johnrtitor diniamo ];
   };
 }
diff --git a/pkgs/misc/autotiling/default.nix b/pkgs/misc/autotiling/default.nix
index 7ce870cfce1cd..13b834dcbda41 100644
--- a/pkgs/misc/autotiling/default.nix
+++ b/pkgs/misc/autotiling/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonApplication rec {
   pname = "autotiling";
-  version = "1.9.1";
+  version = "1.9.2";
 
   src = fetchFromGitHub {
     owner = "nwg-piotr";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-PTMF9w4PMkKuhjLAP7856lOOiuyj5YZOoax0K9bgGgQ=";
+    hash = "sha256-u+Tvvge/rQvylbZDmCxvoMGjZm2gKsFZEAb9evR/Ckw=";
   };
 
   propagatedBuildInputs = [ i3ipc importlib-metadata ];
diff --git a/pkgs/misc/jitsi-meet-prosody/default.nix b/pkgs/misc/jitsi-meet-prosody/default.nix
index 01ffc8ebea0ca..d9bcafca3eac1 100644
--- a/pkgs/misc/jitsi-meet-prosody/default.nix
+++ b/pkgs/misc/jitsi-meet-prosody/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "jitsi-meet-prosody";
-  version = "1.0.7874";
+  version = "1.0.7952";
   src = fetchurl {
     url = "https://download.jitsi.org/stable/${pname}_${version}-1_all.deb";
-    sha256 = "VI43yeuc1fkKv94A1d7hp4ptATT5XrpLXkTnaBpl7Hc=";
+    sha256 = "YSRii+oj2dHRJdfUvRmKYwJc+2OiJAumcSjWZ7STZwE=";
   };
 
   dontBuild = true;
diff --git a/pkgs/misc/scrcpy/default.nix b/pkgs/misc/scrcpy/default.nix
index 6f2fde718dce3..30adbf2c62b53 100644
--- a/pkgs/misc/scrcpy/default.nix
+++ b/pkgs/misc/scrcpy/default.nix
@@ -73,7 +73,7 @@ stdenv.mkDerivation rec {
     ];
     license = licenses.asl20;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ deltaevo msfjarvis ];
+    maintainers = with maintainers; [ deltaevo ];
     mainProgram = "scrcpy";
   };
 }
diff --git a/pkgs/misc/screensavers/alock/default.nix b/pkgs/misc/screensavers/alock/default.nix
index 65a04839096f8..4fcee6fa9b10c 100644
--- a/pkgs/misc/screensavers/alock/default.nix
+++ b/pkgs/misc/screensavers/alock/default.nix
@@ -1,15 +1,15 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook
+{ lib, stdenv, fetchFromGitHub, gitUpdater, pkg-config, autoreconfHook
 , libX11, pam, libgcrypt, libXrender, imlib2 }:
 
 stdenv.mkDerivation rec {
   pname = "alock";
-  version = "unstable-2017-07-20";
+  version = "2.5.1";
 
   src = fetchFromGitHub {
     owner = "Arkq";
     repo = "alock";
-    rev = "2035e1d4a2293432f5503e82d10f899232eb0f38";
-    sha256 = "sha256-Rm00ytSfEv5Wljz4f/4bbyrK3sCV/oRUwz4DKx0pya8=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-xfPhsXZrTlEqea75SvacDfjM9o21MTudrqfNN9xtdcg=";
   };
 
   PAM_DEFAULT_SERVICE = "login";
@@ -27,6 +27,11 @@ stdenv.mkDerivation rec {
     pam libgcrypt libXrender imlib2
   ];
 
+  passthru.updateScript = gitUpdater {
+    rev-prefix = "v";
+    ignoredVersions = "^[^.]+$"; # ignore versions without a dot
+  };
+
   meta = with lib; {
     homepage = "https://github.com/Arkq/alock";
     description = "Simple screen lock application for X server";
diff --git a/pkgs/misc/tmux-plugins/default.nix b/pkgs/misc/tmux-plugins/default.nix
index a5b7154e63d6c..dbdf6a24951b8 100644
--- a/pkgs/misc/tmux-plugins/default.nix
+++ b/pkgs/misc/tmux-plugins/default.nix
@@ -310,12 +310,18 @@ in rec {
   fzf-tmux-url = mkTmuxPlugin {
     pluginName = "fzf-tmux-url";
     rtpFilePath = "fzf-url.tmux";
-    version = "unstable-2021-12-27";
+    version = "unstable-2024-04-14";
     src = fetchFromGitHub {
       owner = "wfxr";
       repo = "tmux-fzf-url";
-      rev = "1241fc5682850fe41812cad81c76541674ee305b";
-      sha256 = "1270c5nfvgsdajgfahlacqfb5xwg4hwfrciiy0v03d50vg4h0kdi";
+      rev = "28ed7ce3c73a328d8463d4f4aaa6ccb851e520fa";
+      hash = "sha256-tl0SjG/CeolrN7OIHj6MgkB9lFmFgEuJevsSuwVs+78=";
+    };
+    meta = with lib; {
+      homepage = "https://github.com/wfxr/tmux-fzf-url";
+      description = "Quickly open urls on your terminal screen!";
+      license = licenses.mit;
+      platforms = platforms.unix;
     };
   };
 
diff --git a/pkgs/os-specific/bsd/netbsd/default.nix b/pkgs/os-specific/bsd/netbsd/default.nix
index ff01c2ce62eb6..fd5e24aa7102a 100644
--- a/pkgs/os-specific/bsd/netbsd/default.nix
+++ b/pkgs/os-specific/bsd/netbsd/default.nix
@@ -129,5 +129,9 @@ makeScopeWithSplicing' {
       inherit (buildPackages.buildPackages) rsync;
     };
 
+    mtree = self.callPackage ./pkgs/mtree.nix {
+      inherit (self) mknod;
+    };
+
   }));
 }
diff --git a/pkgs/os-specific/darwin/noah/default.nix b/pkgs/os-specific/darwin/noah/default.nix
index b8cb1424cdda2..ad63b796f1838 100644
--- a/pkgs/os-specific/darwin/noah/default.nix
+++ b/pkgs/os-specific/darwin/noah/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     description = "Bash on Ubuntu on macOS";
     homepage = "https://github.com/linux-noah/noah";
     license = [ licenses.mit licenses.gpl2 ];
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     platforms = platforms.darwin;
     # never built on aarch64-darwin since first introduction in nixpkgs
     broken = stdenv.isDarwin && stdenv.isAarch64;
diff --git a/pkgs/os-specific/darwin/raycast/default.nix b/pkgs/os-specific/darwin/raycast/default.nix
index 9671b5885c828..b6626c4d4eade 100644
--- a/pkgs/os-specific/darwin/raycast/default.nix
+++ b/pkgs/os-specific/darwin/raycast/default.nix
@@ -10,12 +10,12 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "raycast";
-  version = "1.71.3";
+  version = "1.72.0";
 
   src = fetchurl {
     name = "Raycast.dmg";
     url = "https://releases.raycast.com/releases/${finalAttrs.version}/download?build=universal";
-    hash = "sha256-jiGo4H38qAiGMh4ckswyeDcijYL2wbcjs+IubDFjobU=";
+    hash = "sha256-L6CXWRmBfit+uWODEWt7u71shFAadPOqtNifMnSp0BU=";
   };
 
   dontPatch = true;
diff --git a/pkgs/os-specific/darwin/xcode/default.nix b/pkgs/os-specific/darwin/xcode/default.nix
index 54250001d9eb0..1b7949dcb124d 100644
--- a/pkgs/os-specific/darwin/xcode/default.nix
+++ b/pkgs/os-specific/darwin/xcode/default.nix
@@ -3,7 +3,7 @@
 let requireXcode = version: sha256:
   let
     xip = "Xcode_" + version +  ".xip";
-    # TODO(alexfmpe): Find out how to validate the .xip signature in Linux
+
     unxip = if stdenv.buildPlatform.isDarwin
             then ''
               open -W ${xip}
@@ -14,7 +14,9 @@ let requireXcode = version: sha256:
               rm -rf ${xip}
               pbzx -n Content | cpio -i
               rm Content Metadata
+              rcodesign verify Xcode.app/Contents/MacOS/Xcode
             '';
+
     app = requireFile rec {
       name     = "Xcode.app";
       url      = "https://developer.apple.com/services-account/download?path=/Developer_Tools/Xcode_${version}/${xip}";
@@ -83,4 +85,3 @@ in lib.makeExtensible (self: {
   xcode_15_1 = requireXcode "15.1" "sha256-0djqoSamU87rCpjo50Un3cFg9wKf+pSczRko6uumGM0=";
   xcode = self."xcode_${lib.replaceStrings ["."] ["_"] (if (stdenv.targetPlatform ? xcodeVer) then stdenv.targetPlatform.xcodeVer else "12.3")}";
 })
-
diff --git a/pkgs/os-specific/linux/below/default.nix b/pkgs/os-specific/linux/below/default.nix
index 3204bd7dcf277..5efc80357d8f1 100644
--- a/pkgs/os-specific/linux/below/default.nix
+++ b/pkgs/os-specific/linux/below/default.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "below";
-  version = "0.7.1";
+  version = "0.8.1";
 
   src = fetchFromGitHub {
     owner = "facebookincubator";
     repo = "below";
     rev = "v${version}";
-    sha256 = "sha256-2mZBpvLPY6yrEAvB1YlFuaXJlmmNuZqhu3xWADNHbx0=";
+    sha256 = "sha256-87Fdx3Jqi3dNWM5DZl+UYs031qn2DoiiWd3IysT/glQ=";
   };
 
-  cargoHash = "sha256-cTNxWCd4YH5VuZh0GRfBNtHmLqCQ75uyHqROkv1jbRA=";
+  cargoHash = "sha256-y2fNypA0MrCdUI/K6QrZWw/5mkYafj2s6jrGHU2zGXw=";
 
   prePatch = ''sed -i "s,ExecStart=.*/bin,ExecStart=$out/bin," etc/below.service'';
   postInstall = ''
diff --git a/pkgs/os-specific/linux/device-tree/default.nix b/pkgs/os-specific/linux/device-tree/default.nix
index 1a50d799b4b12..a15a9e32137cd 100644
--- a/pkgs/os-specific/linux/device-tree/default.nix
+++ b/pkgs/os-specific/linux/device-tree/default.nix
@@ -32,7 +32,7 @@ with lib; {
     in ''
       mkdir -p $out
       cd "${base}"
-      find . -type f -name '*.dtb' -print0 \
+      find -L . -type f -name '*.dtb' -print0 \
         | xargs -0 cp -v --no-preserve=mode --target-directory "$out" --parents
 
       for dtb in $(find "$out" -type f -name '*.dtb'); do
diff --git a/pkgs/os-specific/linux/dmidecode/default.nix b/pkgs/os-specific/linux/dmidecode/default.nix
index f09dec758f740..80cd5147a2102 100644
--- a/pkgs/os-specific/linux/dmidecode/default.nix
+++ b/pkgs/os-specific/linux/dmidecode/default.nix
@@ -19,6 +19,6 @@ stdenv.mkDerivation rec {
     description = "A tool that reads information about your system's hardware from the BIOS according to the SMBIOS/DMI standard";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ delroth ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/os-specific/linux/drbd/driver.nix b/pkgs/os-specific/linux/drbd/driver.nix
index efc771905e53a..106bcf71cd98c 100644
--- a/pkgs/os-specific/linux/drbd/driver.nix
+++ b/pkgs/os-specific/linux/drbd/driver.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "drbd-${version}-${kernel.version}";
-  version = "9.2.7";
+  version = "9.2.8";
 
   src = fetchurl {
     url = "https://pkg.linbit.com//downloads/drbd/9/drbd-${version}.tar.gz";
-    sha256 = "1355ns10z0fjgqsdpf09qfy01j8lg2n7zy4kclmar3s798n3mh56";
+    hash = "sha256-LqK1lPucab7wKvcB4VKGdvBIq+K9XtuO2m0DP5XtK3M=";
   };
 
   hardeningDisable = [ "pic" ];
@@ -26,12 +26,12 @@ stdenv.mkDerivation rec {
   # 6.4 and newer provide a in-tree version of the handshake module https://www.kernel.org/doc/html/v6.4/networking/tls-handshake.html
   installPhase = ''
     runHook preInstall
-    install -D drbd/drbd.ko -t $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/block/drbd
-    install -D drbd/drbd_transport_tcp.ko -t $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/block/drbd
-    install -D drbd/drbd_transport_lb-tcp.ko -t $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/block/drbd
-    install -D drbd/drbd_transport_rdma.ko -t $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/block/drbd
+    install -D drbd/drbd.ko -t $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/block/drbd9
+    install -D drbd/drbd_transport_tcp.ko -t $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/block/drbd9
+    install -D drbd/drbd_transport_lb-tcp.ko -t $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/block/drbd9
+    install -D drbd/drbd_transport_rdma.ko -t $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/block/drbd9
     ${lib.optionalString (lib.versionOlder kernel.version "6.4") ''
-      install -D drbd/drbd-kernel-compat/handshake/handshake.ko -t $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/block/drbd
+      install -D drbd/drbd-kernel-compat/handshake/handshake.ko -t $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/block/drbd9
     ''}
     runHook postInstall
   '';
@@ -41,6 +41,16 @@ stdenv.mkDerivation rec {
     substituteInPlace Makefile --replace 'SHELL=/bin/bash' 'SHELL=${builtins.getEnv "SHELL"}'
   '';
 
+  # builder.pl had complained about the same file (drbd.ko.xz) provided by two different packages
+  # builder.pl also had complained about different permissions between the files from the two packages
+  # The compression is required because the kernel has the CONFIG_MODULE_COMPRESS_XZ option enabled
+  postFixup = ''
+    for ko in $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/block/drbd9/*.ko; do
+      xz --compress -6 --threads=0 $ko
+      chmod 0444 $ko.xz
+    done
+  '';
+
   enableParallelBuilding = true;
 
   meta = with lib; {
@@ -53,5 +63,6 @@ stdenv.mkDerivation rec {
        DRBD is a software-based, shared-nothing, replicated storage solution
        mirroring the content of block devices (hard disks, partitions, logical volumes, and so on) between hosts.
     '';
+    broken = lib.versionAtLeast kernel.version "6.8"; # wait until next DRBD release for 6.8 support https://github.com/LINBIT/drbd/issues/87#issuecomment-2059323084
   };
 }
diff --git a/pkgs/os-specific/linux/ell/default.nix b/pkgs/os-specific/linux/ell/default.nix
index b340b21c46339..9c16a341a478f 100644
--- a/pkgs/os-specific/linux/ell/default.nix
+++ b/pkgs/os-specific/linux/ell/default.nix
@@ -50,6 +50,6 @@ stdenv.mkDerivation rec {
     changelog = "https://git.kernel.org/pub/scm/libs/ell/ell.git/tree/ChangeLog?h=${version}";
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ mic92 dtzWill amaxine ];
+    maintainers = with maintainers; [ mic92 dtzWill ];
   };
 }
diff --git a/pkgs/os-specific/linux/ethq/default.nix b/pkgs/os-specific/linux/ethq/default.nix
index 5936447ac9351..581382e4faf2d 100644
--- a/pkgs/os-specific/linux/ethq/default.nix
+++ b/pkgs/os-specific/linux/ethq/default.nix
@@ -28,6 +28,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/isc-projects/ethq";
     license = licenses.mpl20;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ delroth ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/os-specific/linux/evdi/default.nix b/pkgs/os-specific/linux/evdi/default.nix
index 2aec4f63229d8..25a82b1806ca5 100644
--- a/pkgs/os-specific/linux/evdi/default.nix
+++ b/pkgs/os-specific/linux/evdi/default.nix
@@ -54,7 +54,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   meta = with lib; {
     broken = kernel.kernelOlder "4.19";
-    changelog = "https://github.com/DisplayLink/evdi/releases/tag/v${version}";
+    changelog = "https://github.com/DisplayLink/evdi/releases/tag/v${finalAttrs.version}";
     description = "Extensible Virtual Display Interface";
     homepage = "https://www.displaylink.com/";
     license = with licenses; [ lgpl21Only gpl2Only ];
diff --git a/pkgs/os-specific/linux/firmware/fwupd-efi/default.nix b/pkgs/os-specific/linux/firmware/fwupd-efi/default.nix
index acbc0d556224c..d89c4a7b140a5 100644
--- a/pkgs/os-specific/linux/firmware/fwupd-efi/default.nix
+++ b/pkgs/os-specific/linux/firmware/fwupd-efi/default.nix
@@ -13,11 +13,11 @@
 
 stdenv.mkDerivation rec {
   pname = "fwupd-efi";
-  version = "1.5";
+  version = "1.6";
 
   src = fetchurl {
-    url = "https://people.freedesktop.org/~hughsient/releases/${pname}-${version}.tar.xz";
-    sha256 = "sha256-RdKneTGzYkFt7CY22r9O/w0doQvBzMoayYDoMv7buhI=";
+    url = "https://github.com/fwupd/fwupd-efi/releases/download/${version}/fwupd-efi-${version}.tar.xz";
+    hash = "sha256-r9CAWirQgafK/y71vABM46AUe1OAFejsqWY0FxaxJg4=";
   };
 
   nativeBuildInputs = [
@@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://fwupd.org/";
-    maintainers = with maintainers; [ amaxine ];
+    maintainers = with maintainers; [ ];
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
   };
diff --git a/pkgs/os-specific/linux/google-authenticator/default.nix b/pkgs/os-specific/linux/google-authenticator/default.nix
index 02ca3d30d238c..11791a664c8bb 100644
--- a/pkgs/os-specific/linux/google-authenticator/default.nix
+++ b/pkgs/os-specific/linux/google-authenticator/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "google-authenticator-libpam";
-  version = "1.09";
+  version = "1.10";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "google-authenticator-libpam";
     rev = version;
-    hash = "sha256-DS0h6FWMNKnSSj039bH6iyWrERa5M7LBSkbyig6pyxY=";
+    hash = "sha256-KEfwQeJIuRF+S3gPn+maDb8Fu0FRXLs2/Nlbjj2d3AE=";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/os-specific/linux/iwd/default.nix b/pkgs/os-specific/linux/iwd/default.nix
index 0a7d23d3d33c1..5c1d153b83fc9 100644
--- a/pkgs/os-specific/linux/iwd/default.nix
+++ b/pkgs/os-specific/linux/iwd/default.nix
@@ -98,6 +98,6 @@ stdenv.mkDerivation rec {
     description = "Wireless daemon for Linux";
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ dtzWill fpletz amaxine ];
+    maintainers = with maintainers; [ dtzWill fpletz ];
   };
 }
diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix
index 77c6ee031956d..631217735d8fa 100644
--- a/pkgs/os-specific/linux/kernel/generic.nix
+++ b/pkgs/os-specific/linux/kernel/generic.nix
@@ -12,9 +12,13 @@
 , rustc
 , rustPlatform
 , rust-bindgen
+# testing
+, emptyFile
+, nixos
 , nixosTests
 }@args':
 
+let overridableKernel =
 lib.makeOverridable ({ # The kernel source tarball.
   src
 
@@ -211,11 +215,15 @@ let
   }; # end of configfile derivation
 
   kernel = (callPackage ./manual-config.nix { inherit lib stdenv buildPackages; }) (basicArgs // {
-    inherit kernelPatches randstructSeed extraMakeFlags extraMeta configfile;
+    inherit kernelPatches randstructSeed extraMakeFlags extraMeta configfile modDirVersion;
     pos = builtins.unsafeGetAttrPos "version" args;
 
-    config = { CONFIG_MODULES = "y"; CONFIG_FW_LOADER = "m"; } // lib.optionalAttrs withRust { CONFIG_RUST = "y"; };
-  } // lib.optionalAttrs (modDirVersion != null) { inherit modDirVersion; });
+    config = {
+      CONFIG_MODULES = "y";
+      CONFIG_FW_LOADER = "m";
+      CONFIG_RUST = lib.mkIf withRust "y";
+    };
+  });
 
 in
 kernel.overrideAttrs (finalAttrs: previousAttrs: {
@@ -241,7 +249,41 @@ kernel.overrideAttrs (finalAttrs: previousAttrs: {
             + toString (lib.attrNames (lib.toFunction args { }))
           ) overridableKernel;
       };
-    in [ (nixosTests.kernel-generic.passthru.testsForKernel overridableKernel) ] ++ kernelTests;
+      /* Certain arguments must be evaluated lazily; so that only the output(s) depend on them.
+         Original reproducer / simplified use case:
+       */
+      versionDoesNotDependOnPatchesEtcNixOS =
+        builtins.seq
+          (nixos ({ config, pkgs, ... }: {
+              boot.kernelPatches = [
+                (builtins.seq config.boot.kernelPackages.kernel.version { patch = pkgs.emptyFile; })
+              ];
+          })).config.boot.kernelPackages.kernel.outPath
+          emptyFile;
+      versionDoesNotDependOnPatchesEtc =
+        builtins.seq
+          (import ./generic.nix args' (args // (
+          let explain = attrName:
+            ''
+              The ${attrName} attribute must be able to access the kernel.version attribute without an infinite recursion.
+              That means that the kernel attrset (attrNames) and the kernel.version attribute must not depend on the ${attrName} argument.
+              The fact that this exception is raised shows that such a dependency does exist.
+              This is a problem for the configurability of ${attrName} in version-aware logic such as that in NixOS.
+              Strictness can creep in through optional attributes, or assertions and warnings that run as part of code that shouldn't access what is checked.
+            '';
+          in {
+            kernelPatches = throw (explain "kernelPatches");
+            structuredExtraConfig = throw (explain "structuredExtraConfig");
+            modDirVersion = throw (explain "modDirVersion");
+          }))).version
+          emptyFile;
+    in [
+      (nixosTests.kernel-generic.passthru.testsForKernel overridableKernel)
+      versionDoesNotDependOnPatchesEtc
+      # Disabled by default, because the infinite recursion is hard to understand. The other test's error is better and produces a shorter trace.
+      # versionDoesNotDependOnPatchesEtcNixOS
+    ] ++ kernelTests;
   };
 
-}))
+}));
+in overridableKernel
diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json
index 50e6512b15e69..19109c4efea8f 100644
--- a/pkgs/os-specific/linux/kernel/kernels-org.json
+++ b/pkgs/os-specific/linux/kernel/kernels-org.json
@@ -1,15 +1,15 @@
 {
     "testing": {
-        "version": "6.9-rc4",
-        "hash": "sha256:11wpak03nv9cg00jiyfrk21p7mzka553ih2c2dxr0ridig6mj8b3"
+        "version": "6.9-rc5",
+        "hash": "sha256:1rk369sz6a4m1bm7zzxj8bpdma7rgybmx8frd54kp2l5mjp7brrp"
     },
     "6.1": {
-        "version": "6.1.87",
-        "hash": "sha256:092iv5w5d6kwgiyzs7zajmhdxc1w03sinvvr1dwy9bp8f9mg2ypw"
+        "version": "6.1.88",
+        "hash": "sha256:1lgqclvcxfs5c4my6fh041gxzgzz8i64cw43cf5ichy58pyh4sb9"
     },
     "5.15": {
-        "version": "5.15.156",
-        "hash": "sha256:0y3p7sqr8hsn0v9ybqlcmn1z150zc13yckgrymb10sck9k8na14z"
+        "version": "5.15.157",
+        "hash": "sha256:0554qxnai66mpm3p5dln9dfsb392zr8zvwfwc9ks2sadsd8j7wmg"
     },
     "5.10": {
         "version": "5.10.215",
@@ -24,11 +24,11 @@
         "hash": "sha256:0jppa4p73pssd7m3jpc7i6rgnj9gawjcgk4wmqyy87ijzrgzm553"
     },
     "6.6": {
-        "version": "6.6.28",
-        "hash": "sha256:151kdpp25fcl5qki138jxl90h9iyk5rk0kp2xamadnz72gnid1w1"
+        "version": "6.6.29",
+        "hash": "sha256:1l6bcz0pwiby6q79va063767d0jxkkaf8rpqvaqqcb08116gf9kz"
     },
     "6.8": {
-        "version": "6.8.7",
-        "hash": "sha256:1bigq9my88d9xh647hgsy8gzval7p06hhacpxaqb71sfmwgil799"
+        "version": "6.8.8",
+        "hash": "sha256:1fiiyvwi6frn83z730w4mng2z4nwpspvhb6vjpxx3yk0snwxqk0w"
     }
 }
diff --git a/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix b/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix
index 337594115fa6f..b013c7f1bf181 100644
--- a/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix
+++ b/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix
@@ -6,7 +6,7 @@
 , ... } @ args:
 
 let
-  version = "5.10.213-rt105"; # updated by ./update-rt.sh
+  version = "5.10.215-rt107"; # updated by ./update-rt.sh
   branch = lib.versions.majorMinor version;
   kversion = builtins.elemAt (lib.splitString "-" version) 0;
 in buildLinux (args // {
@@ -17,14 +17,14 @@ in buildLinux (args // {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${kversion}.tar.xz";
-    sha256 = "105df7w6m5a3fngi6ajqs5qblaq4lbxsgcppllrk7v1r68i31kw4";
+    sha256 = "1af6h86flx96pszg006agpak2f9dkk2jqaazfykd7aafqdcs3747";
   };
 
   kernelPatches = let rt-patch = {
     name = "rt";
     patch = fetchurl {
       url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
-      sha256 = "1q5kz3mfvwb4fd5i2mbklsa6gifb8g3wbq0wi2478q097dvmb6gi";
+      sha256 = "0lnnpnfmypafzfzhcmaxqqc18nna4fr236v6hrcyabnxmxam79xj";
     };
   }; in [ rt-patch ] ++ kernelPatches;
 
diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix
index 5b222c4b45eff..cab04ad0c7d80 100644
--- a/pkgs/os-specific/linux/kernel/manual-config.nix
+++ b/pkgs/os-specific/linux/kernel/manual-config.nix
@@ -26,7 +26,7 @@ in lib.makeOverridable ({
   extraMakeFlags ? [],
   # The name of the kernel module directory
   # Needs to be X.Y.Z[-extra], so pad with zeros if needed.
-  modDirVersion ? lib.versions.pad 3 version,
+  modDirVersion ? null /* derive from version */,
   # The kernel source (tarball, git checkout, etc.)
   src,
   # a list of { name=..., patch=..., extraConfig=...} patches
@@ -54,6 +54,13 @@ in lib.makeOverridable ({
 }:
 
 let
+  # Provide defaults. Note that we support `null` so that callers don't need to use optionalAttrs,
+  # which can lead to unnecessary strictness and infinite recursions.
+  modDirVersion_ = if modDirVersion == null then lib.versions.pad 3 version else modDirVersion;
+in
+let
+  # Shadow the un-defaulted parameter; don't want null.
+  modDirVersion = modDirVersion_;
   inherit (lib)
     hasAttr getAttr optional optionals optionalString optionalAttrs maintainers platforms;
 
diff --git a/pkgs/os-specific/linux/libnvme/default.nix b/pkgs/os-specific/linux/libnvme/default.nix
index 34c798ca3355a..7346e0d67d391 100644
--- a/pkgs/os-specific/linux/libnvme/default.nix
+++ b/pkgs/os-specific/linux/libnvme/default.nix
@@ -65,7 +65,7 @@ stdenv.mkDerivation (finalAttrs: {
   meta = with lib; {
     description = "C Library for NVM Express on Linux";
     homepage = "https://github.com/linux-nvme/libnvme";
-    maintainers = with maintainers; [ fogti vifino ];
+    maintainers = with maintainers; [ vifino ];
     license = with licenses; [ lgpl21Plus ];
     platforms = platforms.linux;
   };
diff --git a/pkgs/os-specific/linux/libzbc/default.nix b/pkgs/os-specific/linux/libzbc/default.nix
index 94f5c93f949bb..79a4277a85603 100644
--- a/pkgs/os-specific/linux/libzbc/default.nix
+++ b/pkgs/os-specific/linux/libzbc/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "ZBC device manipulation library";
     homepage = "https://github.com/westerndigitalcorporation/libzbc";
-    maintainers = [ maintainers.fogti ];
+    maintainers = [ ];
     license = with licenses; [ bsd2 lgpl3Plus ];
     platforms = platforms.linux;
   };
diff --git a/pkgs/os-specific/linux/libzbd/default.nix b/pkgs/os-specific/linux/libzbd/default.nix
index 4675a13837587..3bc48d0657b27 100644
--- a/pkgs/os-specific/linux/libzbd/default.nix
+++ b/pkgs/os-specific/linux/libzbd/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
     description = "Zoned block device manipulation library and tools";
     mainProgram = "zbd";
     homepage = "https://github.com/westerndigitalcorporation/libzbd";
-    maintainers = [ maintainers.fogti ];
+    maintainers = [ ];
     license = with licenses; [ lgpl3Plus gpl3Plus ];
     platforms = platforms.linux;
   };
diff --git a/pkgs/os-specific/linux/lxc/add-meson-options.patch b/pkgs/os-specific/linux/lxc/add-meson-options.patch
deleted file mode 100644
index 01aea4df27473..0000000000000
--- a/pkgs/os-specific/linux/lxc/add-meson-options.patch
+++ /dev/null
@@ -1,153 +0,0 @@
-diff --git a/meson.build b/meson.build
-index 21a8705d0..f12b81442 100644
---- a/meson.build
-+++ b/meson.build
-@@ -50,7 +50,7 @@ rootfsmount = get_option('rootfs-mount-path')
- user_network_db_opt = get_option('usernet-db-path')
- user_network_conf_opt = get_option('usernet-config-path')
- 
--bashcompletiondir = join_paths('/', 'usr', 'share', 'bash-completion', 'completions')
-+bashcompletiondir = join_paths(prefixdir, get_option('datadir'), 'bash-completion', 'completions')
- bindir = join_paths(prefixdir, get_option('bindir'))
- datadir = join_paths(prefixdir, get_option('datadir'))
- mandir = join_paths(prefixdir, get_option('mandir'))
-@@ -123,22 +123,6 @@ conf.set('PACKAGE_VERSION', meson.project_version())
- conf.set('RUNTIME_PATH', runtimepath)
- conf.set('SYSCONFDIR', sysconfdir)
- 
--# Set sysconfdir
--fs = import('fs')
--distrosysconfdir = get_option('distrosysconfdir')
--if distrosysconfdir != ''
--    distrosysconfdir = join_paths(sysconfdir, distrosysconfdir)
--    conf.set('LXC_DISTRO_SYSCONF', distrosysconfdir)
--elif fs.is_dir('/etc/sysconfig')
--    distrosysconfdir = join_paths(sysconfdir, 'sysconfig')
--    conf.set('LXC_DISTRO_SYSCONF', distrosysconfdir)
--elif fs.is_dir('/etc/default')
--    distrosysconfdir = join_paths(sysconfdir, 'default')
--    conf.set('LXC_DISTRO_SYSCONF', distrosysconfdir)
--else
--    error('"distrosysconfdir" is not set')
--endif
--
- # Cross-compile on Android.
- srcconf.set10('IS_BIONIC', host_machine.system() == 'android')
- 
-@@ -148,6 +132,7 @@ coverity = get_option('coverity-build')
- init_script = get_option('init-script')
- sanitize = get_option('b_sanitize')
- want_examples = get_option('examples')
-+want_install_init = get_option('install-init-files')
- want_io_uring = get_option('io-uring-event-loop')
- want_pam_cgroup = get_option('pam-cgroup')
- want_mans = get_option('man')
-@@ -160,10 +145,30 @@ want_openssl = get_option('openssl')
- want_selinux = get_option('selinux')
- want_oss_fuzz = get_option('oss-fuzz')
- want_seccomp = get_option('seccomp')
-+want_spec = get_option('specfile')
-+want_state_dirs = get_option('install-state-dirs')
- want_thread_safety = get_option('thread-safety')
- want_memfd_rexec = get_option('memfd-rexec')
- want_sd_bus = get_option('sd-bus')
- 
-+# Set sysconfdir
-+fs = import('fs')
-+if want_install_init
-+    distrosysconfdir = get_option('distrosysconfdir')
-+    if distrosysconfdir != ''
-+        distrosysconfdir = join_paths(sysconfdir, distrosysconfdir)
-+        conf.set('LXC_DISTRO_SYSCONF', distrosysconfdir)
-+    elif fs.is_dir('/etc/sysconfig')
-+        distrosysconfdir = join_paths(sysconfdir, 'sysconfig')
-+        conf.set('LXC_DISTRO_SYSCONF', distrosysconfdir)
-+    elif fs.is_dir('/etc/default')
-+        distrosysconfdir = join_paths(sysconfdir, 'default')
-+        conf.set('LXC_DISTRO_SYSCONF', distrosysconfdir)
-+    else
-+        error('"distrosysconfdir" is not set')
-+    endif
-+endif
-+
- srcconf.set_quoted('DEFAULT_CGROUP_PATTERN', cgrouppattern)
- if coverity
-     srcconf.set('ENABLE_COVERITY_BUILD', 1)
-@@ -926,14 +931,16 @@ if want_apparmor
- endif
- subdir('config/bash')
- subdir('config/etc')
--subdir('config/init/common')
--subdir('config/init/systemd')
--subdir('config/init/sysvinit')
--subdir('config/init/upstart')
-+if want_install_init
-+    subdir('config/init/common')
-+    subdir('config/init/systemd')
-+    subdir('config/init/sysvinit')
-+    subdir('config/init/upstart')
-+    subdir('config/sysconfig')
-+endif
- if want_selinux
-     subdir('config/selinux')
- endif
--subdir('config/sysconfig')
- subdir('config/templates')
- subdir('config/templates/common.conf.d')
- subdir('config/yum')
-@@ -963,21 +970,25 @@ pkg_config_file = pkgconfig.generate(liblxc,
- )
- 
- # Empty dirs.
--install_emptydir(join_paths(localstatedir, 'cache', 'lxc'))
--install_emptydir(join_paths(localstatedir, 'lib', 'lxc'))
-+if want_state_dirs
-+    install_emptydir(join_paths(localstatedir, 'cache', 'lxc'))
-+    install_emptydir(join_paths(localstatedir, 'lib', 'lxc'))
-+endif
- 
- # RPM spec file.
--specconf = configuration_data()
--specconf.set('LXC_VERSION_BASE', meson.project_version())
--specconf.set('LXC_VERSION_BETA', version_data.get('LXC_VERSION_BETA'))
--specconf.set('PACKAGE', meson.project_name())
--specconf.set('LXC_DISTRO_SYSCONF', conf.get('LXC_DISTRO_SYSCONF'))
--
--configure_file(
--    configuration: specconf,
--    input: 'lxc.spec.in',
--    output: 'lxc.spec',
--    install: false)
-+if want_spec
-+    specconf = configuration_data()
-+    specconf.set('LXC_VERSION_BASE', meson.project_version())
-+    specconf.set('LXC_VERSION_BETA', version_data.get('LXC_VERSION_BETA'))
-+    specconf.set('PACKAGE', meson.project_name())
-+    specconf.set('LXC_DISTRO_SYSCONF', conf.get('LXC_DISTRO_SYSCONF'))
-+
-+    configure_file(
-+        configuration: specconf,
-+        input: 'lxc.spec.in',
-+        output: 'lxc.spec',
-+        install: false)
-+endif
- 
- # Build overview.
- status = [
-diff --git a/meson_options.txt b/meson_options.txt
-index 9803473d2..84a6d45b5 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -120,3 +120,12 @@ option('memfd-rexec', type : 'boolean', value : 'true',
- 
- option('distrosysconfdir', type : 'string', value: '',
-        description: 'relative path to sysconfdir for distro default configuration')
-+
-+option('specfile', type : 'boolean', value: true,
-+       description: 'whether to prepare RPM spec')
-+
-+option('install-init-files', type : 'boolean', value: true,
-+       description: 'whether to install init files for local init (e.g. systemd, sysvinit)')
-+
-+option('install-state-dirs', type : 'boolean', value: true,
-+       description: 'whether to create state directories on install')
diff --git a/pkgs/os-specific/linux/mwprocapture/default.nix b/pkgs/os-specific/linux/mwprocapture/default.nix
index 2b4628762f105..711a14845df76 100644
--- a/pkgs/os-specific/linux/mwprocapture/default.nix
+++ b/pkgs/os-specific/linux/mwprocapture/default.nix
@@ -60,7 +60,7 @@ stdenv.mkDerivation rec {
     homepage = "https://www.magewell.com/";
     description = "Linux driver for the Magewell Pro Capture family";
     license = licenses.unfreeRedistributable;
-    maintainers = with maintainers; [ flexiondotorg MP2E ];
+    maintainers = with maintainers; [ flexiondotorg ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/nct6687d/default.nix b/pkgs/os-specific/linux/nct6687d/default.nix
index 493d0e6af101d..35e77c7922dfd 100644
--- a/pkgs/os-specific/linux/nct6687d/default.nix
+++ b/pkgs/os-specific/linux/nct6687d/default.nix
@@ -2,17 +2,18 @@
 , stdenv
 , fetchFromGitHub
 , kernel
+, nix-update-script
 }:
 
 stdenv.mkDerivation rec {
   pname = "nct6687d";
-  version = "unstable-2023-09-22";
+  version = "0-unstable-2024-02-23";
 
   src = fetchFromGitHub {
     owner = "Fred78290";
     repo = "nct6687d";
-    rev = "cdfe855342a9383a9c4c918d51576c36d989070d";
-    hash = "sha256-iOLWxj4I6oYkNXFSkmw7meTQEnrIfb4Mw+/LkzgzDxM=";
+    rev = "0ee35ed9541bde22fe219305d1647b51ed010c5e";
+    hash = "sha256-g81U+ngnsOslBDCQP51uDDyHPpCv9T/j+KmFUAQfz/M=";
   };
 
   setSourceRoot = ''
@@ -30,6 +31,10 @@ stdenv.mkDerivation rec {
   installFlags = [ "INSTALL_MOD_PATH=${placeholder "out"}" ];
   installTargets = [ "modules_install" ];
 
+  passthru.updateScript = nix-update-script {
+    extraArgs = [ "--version=branch=main" ];
+  };
+
   meta = with lib; {
     description = "Kernel module for the Nuvoton NCT6687-R chipset found on many B550/B650 motherboards from ASUS and MSI";
     license = with licenses; [ gpl2Only ];
diff --git a/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh b/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh
index 67733922f0c02..f3ee49a8c395f 100755
--- a/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh
+++ b/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh
@@ -50,6 +50,10 @@ while [ "$#" -gt 0 ]; do
         ;;
       switch|boot|test|build|edit|repl|dry-build|dry-run|dry-activate|build-vm|build-vm-with-bootloader|list-generations)
         if [ "$i" = dry-run ]; then i=dry-build; fi
+        if [ "$i" = list-generations ]; then
+            buildNix=
+            fast=1
+        fi
         # exactly one action mandatory, bail out if multiple are given
         if [ -n "$action" ]; then showSyntax; fi
         action="$i"
diff --git a/pkgs/os-specific/linux/nmon/default.nix b/pkgs/os-specific/linux/nmon/default.nix
index 9e3a6667d7054..3de22bfae6d76 100644
--- a/pkgs/os-specific/linux/nmon/default.nix
+++ b/pkgs/os-specific/linux/nmon/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "nmon";
-  version = "16p";
+  version = "16q";
 
   src = fetchurl {
     url = "mirror://sourceforge/nmon/lmon${version}.c";
-    sha256 = "sha256-XcYEX2cl4ySalpkY+uaWY6HWaRYgh3ILq825D86eayo=";
+    sha256 = "sha256-G3ioFnLBkpGz0RpuMZ3ZsjoCKiYtuh786gCNbfUaylE=";
   };
 
   buildInputs = [ ncurses ];
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix
index 318d2617c838c..777e5b6ca4d94 100644
--- a/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -33,12 +33,12 @@ rec {
   stable = if stdenv.hostPlatform.system == "i686-linux" then legacy_390 else latest;
 
   production = generic {
-    version = "550.76";
-    sha256_64bit = "sha256-2/wAmBNiePhX74FsV7j21LnCaubxMC/kAYMmf8kQt1s=";
-    sha256_aarch64 = "sha256-LhiyYCUTFwqzUITK6CKIqxOQp62wG1RuKOuP0fTKoVk=";
-    openSha256 = "sha256-RWaUXIr/yCRmX4yIyUxvBxrKCLKRKSi4lQJAYvrd2Kg=";
-    settingsSha256 = "sha256-Lv95+0ahvU1+X/twzWWVqQH4nqq491ALigH9TVBn+YY=";
-    persistencedSha256 = "sha256-rbgI9kGdVzGlPNEvaoOq2zrAMx+H8D+XEBah2eqZzuI=";
+    version = "550.78";
+    sha256_64bit = "sha256-NAcENFJ+ydV1SD5/EcoHjkZ+c/be/FQ2bs+9z+Sjv3M=";
+    sha256_aarch64 = "sha256-2POG5RWT2H7Rhs0YNfTGHO64Q8u5lJD9l/sQCGVb+AA=";
+    openSha256 = "sha256-cF9omNvfHx6gHUj2u99k6OXrHGJRpDQDcBG3jryf41Y=";
+    settingsSha256 = "sha256-lZiNZw4dJw4DI/6CI0h0AHbreLm825jlufuK9EB08iw=";
+    persistencedSha256 = "sha256-qDGBAcZEN/ueHqWO2Y6UhhXJiW5625Kzo1m/oJhvbj4=";
   };
 
   latest = selectHighestVersion production (generic {
@@ -64,11 +64,11 @@ rec {
   # Vulkan developer beta driver
   # See here for more information: https://developer.nvidia.com/vulkan-driver
   vulkan_beta = generic rec {
-    version = "550.40.59";
+    version = "550.40.61";
     persistencedVersion = "550.54.14";
     settingsVersion = "550.54.14";
-    sha256_64bit = "sha256-hVwYC454vkxcK8I9bj1kp6iFS667em0c+Ral243C0J8=";
-    openSha256 = "sha256-/v1iVcmHhdvib54LDktNBHkcmgFxZVwQxwPdWSi0l/U=";
+    sha256_64bit = "sha256-JNVeA5/u5/ictU3QpPnbXIHDKOtwou8wGmMt3We4FJY=";
+    openSha256 = "sha256-kWGTj3eAvwLTJ7zgzRFvyhXmfpxQbUMmyxWxER9i9m0=";
     settingsSha256 = "sha256-m2rNASJp0i0Ez2OuqL+JpgEF0Yd8sYVCyrOoo/ln2a4=";
     persistencedSha256 = "sha256-XaPN8jVTjdag9frLPgBtqvO/goB5zxeGzaTU0CdL6C4=";
     url = "https://developer.nvidia.com/downloads/vulkan-beta-${lib.concatStrings (lib.splitVersion version)}-linux";
diff --git a/pkgs/os-specific/linux/restool/default.nix b/pkgs/os-specific/linux/restool/default.nix
index 853d9eeb7f3d6..7f7c094007e47 100644
--- a/pkgs/os-specific/linux/restool/default.nix
+++ b/pkgs/os-specific/linux/restool/default.nix
@@ -47,6 +47,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/nxp-qoriq/restool";
     license = licenses.bsd3;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ delroth ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/os-specific/linux/rtl8852bu/default.nix b/pkgs/os-specific/linux/rtl8852bu/default.nix
new file mode 100644
index 0000000000000..cc0f495b8122f
--- /dev/null
+++ b/pkgs/os-specific/linux/rtl8852bu/default.nix
@@ -0,0 +1,51 @@
+{ lib, stdenv, fetchFromGitHub, kernel, bc, nukeReferences }:
+
+stdenv.mkDerivation {
+  pname = "rtl8852bu";
+  version = "${kernel.version}-unstable-2024-03-28";
+
+  src = fetchFromGitHub {
+    owner = "morrownr";
+    repo = "rtl8852bu";
+    rev = "f6aaa3c0094c541d9b0347926c76c1e9cc4a49d1";
+    hash = "sha256-Jbd6nixo873LU74klhhQU1qD3ahxEnywdqcF89LTRxc=";
+  };
+
+  nativeBuildInputs = [ bc nukeReferences ] ++ kernel.moduleBuildDependencies;
+  hardeningDisable = [ "pic" "format" ];
+
+  postPatch = ''
+    substituteInPlace ./Makefile \
+      --replace-fail /sbin/depmod \# \
+      --replace-fail '$(MODDESTDIR)' "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/"
+    substituteInPlace ./platform/i386_pc.mk \
+      --replace-fail /lib/modules "${kernel.dev}/lib/modules"
+  '';
+
+  makeFlags = [
+    "ARCH=${stdenv.hostPlatform.linuxArch}"
+    ("CONFIG_PLATFORM_I386_PC=" + (if stdenv.hostPlatform.isx86 then "y" else "n"))
+    ("CONFIG_PLATFORM_ARM_RPI=" + (if stdenv.hostPlatform.isAarch then "y" else "n"))
+  ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
+    "CROSS_COMPILE=${stdenv.cc.targetPrefix}"
+  ];
+
+  preInstall = ''
+    mkdir -p "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/"
+    mkdir -p "$out/usr/lib/systemd/system-sleep"
+  '';
+
+  postInstall = ''
+    nuke-refs $out/lib/modules/*/kernel/net/wireless/*.ko
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with lib; {
+    description = "Driver for Realtek rtl8852au and rtl8832bu chipsets, provides the 8852au mod";
+    homepage = "https://github.com/morrownr/rtl8852bu";
+    license = licenses.gpl2Only;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ lonyelon ];
+  };
+}
diff --git a/pkgs/servers/adguardhome/bins.nix b/pkgs/servers/adguardhome/bins.nix
index a47a8d33f4344..e854a32266725 100644
--- a/pkgs/servers/adguardhome/bins.nix
+++ b/pkgs/servers/adguardhome/bins.nix
@@ -1,31 +1,31 @@
 { fetchurl, fetchzip }:
 {
 x86_64-darwin = fetchzip {
-  sha256 = "sha256-jIrzE1Je2dhMJuq3k8KL1VoHru5qaUAJCR3kumE9aO0=";
-  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.36/AdGuardHome_darwin_amd64.zip";
+  sha256 = "sha256-97o4rMNwikQZR3DPhhE+OPlY3gA9HqCQxBf+mZSfDMs=";
+  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.48/AdGuardHome_darwin_amd64.zip";
 };
 aarch64-darwin = fetchzip {
-  sha256 = "sha256-9BgGGCP8n+5Op+S1/yT/kdMvmiNgKkkXLQmqF2plJZY=";
-  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.36/AdGuardHome_darwin_arm64.zip";
+  sha256 = "sha256-ZTGqn6xM9vRHmw2ask5P4vu+5BqkWfGS3ROzTN9VfXM=";
+  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.48/AdGuardHome_darwin_arm64.zip";
 };
 i686-linux = fetchurl {
-  sha256 = "sha256-yPxLYXtH4bwQk2M2VTS5aJWTJciNaeXRRAcMBHuvkcA=";
-  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.36/AdGuardHome_linux_386.tar.gz";
+  sha256 = "sha256-EbRiiThZsmBD/grtm58Su78OeF/6buwMbx6eBsusgII=";
+  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.48/AdGuardHome_linux_386.tar.gz";
 };
 x86_64-linux = fetchurl {
-  sha256 = "sha256-sG64t1x70uKk844dT1g9GzJ+DgHuv7sUEBaVqoEmWOw=";
-  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.36/AdGuardHome_linux_amd64.tar.gz";
+  sha256 = "sha256-FUnQJ3RRtsWz4DIO8Zi9Y6dO130qTdwj6RhJ6RNpljc=";
+  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.48/AdGuardHome_linux_amd64.tar.gz";
 };
 aarch64-linux = fetchurl {
-  sha256 = "sha256-rUSfo1uJGbxx1n/VcLyq5zqiDo4g0caCpVcL2uZUSkE=";
-  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.36/AdGuardHome_linux_arm64.tar.gz";
+  sha256 = "sha256-OZDryRiwyM6XgoiOhCsM6AFOE9masnGu2m6sDRUAaeY=";
+  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.48/AdGuardHome_linux_arm64.tar.gz";
 };
 armv6l-linux = fetchurl {
-  sha256 = "sha256-ruICFAGEMXDeLvoOxHg2oEaYDHkoGZI+SozDXmmD9VU=";
-  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.36/AdGuardHome_linux_armv6.tar.gz";
+  sha256 = "sha256-aL/wKQ9lbPgaTGCjZAph5iggSTJB1+Rrxbpf6IVgjuU=";
+  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.48/AdGuardHome_linux_armv6.tar.gz";
 };
 armv7l-linux = fetchurl {
-  sha256 = "sha256-mTGufMIKkj2R7QuNWKSKMt9KdwlZe9ORtJK5hIaeH/E=";
-  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.36/AdGuardHome_linux_armv7.tar.gz";
+  sha256 = "sha256-siWf7frIciYGVP7KgqS4Dr7o52y3QqGYvQlxtw2HnEo=";
+  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.48/AdGuardHome_linux_armv7.tar.gz";
 };
 }
diff --git a/pkgs/servers/adguardhome/default.nix b/pkgs/servers/adguardhome/default.nix
index 44940468dc81f..88163d9935974 100644
--- a/pkgs/servers/adguardhome/default.nix
+++ b/pkgs/servers/adguardhome/default.nix
@@ -7,7 +7,7 @@ in
 
 stdenv.mkDerivation rec {
   pname = "adguardhome";
-  version = "0.107.36";
+  version = "0.107.48";
   src = sources.${system} or (throw "Source for ${pname} is not available for ${system}");
 
   installPhase = ''
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = ./update.sh;
-    schema_version = 24;
+    schema_version = 28;
     tests.adguardhome = nixosTests.adguardhome;
   };
 
diff --git a/pkgs/servers/adguardhome/update.sh b/pkgs/servers/adguardhome/update.sh
index b7defa8113fac..4e3ecfbfaca44 100755
--- a/pkgs/servers/adguardhome/update.sh
+++ b/pkgs/servers/adguardhome/update.sh
@@ -13,8 +13,8 @@ version=$(jq -r '.tag_name' <<<"$latest_release")
 
 echo "got version $version"
 
-schema_version=$(curl --silent "https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/${version}/internal/home/upgrade.go" \
-    | grep -Po '(?<=const currentSchemaVersion = )[[:digit:]]+$')
+schema_version=$(curl --silent "https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/${version}/internal/configmigrate/configmigrate.go" \
+    | grep -Po '(?<=const LastSchemaVersion uint = )[[:digit:]]+$')
 
 echo "got schema_version $schema_version"
 
diff --git a/pkgs/servers/baserow/default.nix b/pkgs/servers/baserow/default.nix
index 37366183dba05..bfc905175084c 100644
--- a/pkgs/servers/baserow/default.nix
+++ b/pkgs/servers/baserow/default.nix
@@ -16,7 +16,7 @@ let
       baserow_premium = self.buildPythonPackage rec {
         pname = "baserow_premium";
         version = "1.12.1";
-        foramt = "setuptools";
+        format = "setuptools";
 
         src = fetchFromGitLab {
           owner = "bramw";
diff --git a/pkgs/servers/bindle/default.nix b/pkgs/servers/bindle/default.nix
index 1544a70e98fb4..9c0920ee3a0c5 100644
--- a/pkgs/servers/bindle/default.nix
+++ b/pkgs/servers/bindle/default.nix
@@ -32,7 +32,7 @@ rustPlatform.buildRustPackage rec {
     description = "Bindle: Aggregate Object Storage";
     homepage = "https://github.com/deislabs/bindle";
     license = licenses.asl20;
-    maintainers = with maintainers; [ endocrimes ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/servers/dns/nsd/default.nix b/pkgs/servers/dns/nsd/default.nix
index 1f82bde0384c2..eecef52e2b4e7 100644
--- a/pkgs/servers/dns/nsd/default.nix
+++ b/pkgs/servers/dns/nsd/default.nix
@@ -16,11 +16,11 @@
 
 stdenv.mkDerivation rec {
   pname = "nsd";
-  version = "4.8.0";
+  version = "4.9.1";
 
   src = fetchurl {
     url = "https://www.nlnetlabs.nl/downloads/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-gg2k44RyGRX0vK9/K+2YUZ2lY8bkwTDHQsckdg7AKgo=";
+    sha256 = "sha256-psI6U+6BEfpx53t1ZdG49IbqaVdwgWWF+93xTkNn5t8=";
   };
 
   prePatch = ''
diff --git a/pkgs/servers/endlessh/default.nix b/pkgs/servers/endlessh/default.nix
index 4c99251cfa90f..584a43920fe7a 100644
--- a/pkgs/servers/endlessh/default.nix
+++ b/pkgs/servers/endlessh/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/skeeto/endlessh";
     changelog = "https://github.com/skeeto/endlessh/releases/tag/${version}";
     license = licenses.unlicense;
-    maintainers = with maintainers; [ azahi marsam ];
+    maintainers = with maintainers; [ azahi ];
     platforms = platforms.unix;
     mainProgram = "endlessh";
   };
diff --git a/pkgs/servers/etcd/3.5/default.nix b/pkgs/servers/etcd/3.5/default.nix
index 2cd6cdefcb8c0..a837ae4713ca1 100644
--- a/pkgs/servers/etcd/3.5/default.nix
+++ b/pkgs/servers/etcd/3.5/default.nix
@@ -20,7 +20,7 @@ let
     description = "Distributed reliable key-value store for the most critical data of a distributed system";
     license = licenses.asl20;
     homepage = "https://etcd.io/";
-    maintainers = with maintainers; [ endocrimes offline superherointj ];
+    maintainers = with maintainers; [ offline superherointj ];
     platforms = platforms.darwin ++ platforms.linux;
   };
 
diff --git a/pkgs/servers/etcd/README.md b/pkgs/servers/etcd/README.md
new file mode 100644
index 0000000000000..9bbfded958e16
--- /dev/null
+++ b/pkgs/servers/etcd/README.md
@@ -0,0 +1,26 @@
+# etcd
+
+
+## Upstream release cadence and support
+
+The etcd project maintains release branches for the current version and previous release.
+
+For example, when v3.5 is the current version, v3.4 is supported. When v3.6 is released, v3.4 goes out of support.
+
+Reference: https://etcd.io/docs/v3.5/op-guide/versioning/
+
+
+## NixOS release and etcd version upkeep
+
+Every major/minor version bump of `etcd` top-level alias in nixpkgs requires a notification in the next NixOS release notes scheduling the removal of the now unsupported etcd version.
+
+After every NixOS release, the unsupported etcd versions should be removed by etcd maintainers.
+
+
+## User guidelines on etcd upgrades
+
+Before upgrading a NixOS release, certify to upgrade etcd to the latest version in the current used release.
+
+Manual steps might be required for the upgrade.
+
+NixOS release notes might have instructions on how to proceed on upgrades.
diff --git a/pkgs/servers/gotosocial/default.nix b/pkgs/servers/gotosocial/default.nix
index 58e916d625f89..2e452e0e57d70 100644
--- a/pkgs/servers/gotosocial/default.nix
+++ b/pkgs/servers/gotosocial/default.nix
@@ -9,11 +9,11 @@ let
   owner = "superseriousbusiness";
   repo = "gotosocial";
 
-  version = "0.14.2";
+  version = "0.15.0";
 
   web-assets = fetchurl {
     url = "https://github.com/${owner}/${repo}/releases/download/v${version}/${repo}_${version}_web-assets.tar.gz";
-    hash = "sha256-3aSOP8BTHdlODQnZr6DOZuybLl+02SWgP9YZ21guAPU=";
+    hash = "sha256-vrSdFIdBcfj6+sxtvv1s/Mu85I1mKxjyUYS902oLKk4=";
   };
 in
 buildGoModule rec {
@@ -23,7 +23,7 @@ buildGoModule rec {
   src = fetchFromGitHub {
     inherit owner repo;
     rev = "refs/tags/v${version}";
-    hash = "sha256-oeOxP9FkGsOH66Uk946H0b/zggz536YvRRuo1cINxSM=";
+    hash = "sha256-z0iETddkw4C2R6ig9ZO8MTvhuWnmQ37/6q3oZ4WAzd4=";
   };
 
   vendorHash = null;
@@ -41,7 +41,9 @@ buildGoModule rec {
   '';
 
   # tests are working only on x86_64-linux
-  doCheck = stdenv.isLinux && stdenv.isx86_64;
+  # doCheck = stdenv.isLinux && stdenv.isx86_64;
+  # checks are currently very unstable in our setup, so we should test manually for now
+  doCheck = false;
 
   checkFlags =
     let
@@ -49,9 +51,6 @@ buildGoModule rec {
       skippedTests = [
         # See: https://github.com/superseriousbusiness/gotosocial/issues/2651
         "TestPage/minID,_maxID_and_limit_set"
-        # See: https://github.com/superseriousbusiness/gotosocial/pull/2760. Stop skipping
-        # this test when fixed for go 1.21.8 and above
-        "TestValidationTestSuite/TestValidateEmail"
       ];
     in
     [ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ];
@@ -69,7 +68,7 @@ buildGoModule rec {
       advertised to! A light-weight alternative to Mastodon
       and Pleroma, with support for clients!
     '';
-    maintainers = with maintainers; [ misuzu blakesmith ];
+    maintainers = with maintainers; [ blakesmith ];
     license = licenses.agpl3Only;
   };
 }
diff --git a/pkgs/servers/guacamole-client/default.nix b/pkgs/servers/guacamole-client/default.nix
index 23c56df62a46a..e3a142983ad7a 100644
--- a/pkgs/servers/guacamole-client/default.nix
+++ b/pkgs/servers/guacamole-client/default.nix
@@ -5,11 +5,11 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "guacamole-client";
-  version = "1.5.4";
+  version = "1.5.5";
 
   src = fetchurl {
     url = "https://archive.apache.org/dist/guacamole/${finalAttrs.version}/binary/guacamole-${finalAttrs.version}.war";
-    hash = "sha256-Vyi1Y5Eb1kvOCguBx06ozLIZDReFv/NAMPxohagnPT4=";
+    hash = "sha256-QmcwfzYAZjcj8kr5LVlumcg1lCUxUTUFKkLUUflSkgA=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/servers/guacamole-server/default.nix b/pkgs/servers/guacamole-server/default.nix
index 58628b48a5b85..1b9623eab22f6 100644
--- a/pkgs/servers/guacamole-server/default.nix
+++ b/pkgs/servers/guacamole-server/default.nix
@@ -26,13 +26,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "guacamole-server";
-  version = "1.5.4";
+  version = "1.5.5";
 
   src = fetchFromGitHub {
     owner = "apache";
     repo = "guacamole-server";
     rev = finalAttrs.version;
-    hash = "sha256-Jke9Sp/T/GyamTq7lyu8JakJHqEwSrer0v1DugSg7JY=";
+    hash = "sha256-ZrUaoWkZ3I/LxE7csDXXeUZ92jZDhkZ1c8EQU0gI1yY=";
   };
 
   NIX_CFLAGS_COMPILE = [
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index d8da6b345eb46..186956baa9ff9 100644
--- a/pkgs/servers/home-assistant/component-packages.nix
+++ b/pkgs/servers/home-assistant/component-packages.nix
@@ -1,8 +1,8 @@
-# Generated by parse-requirements.py
+# Generated by update-component-packages.py
 # Do not edit!
 
 {
-  version = "2024.4.3";
+  version = "2024.4.4";
   components = {
     "3_day_blinds" = ps: with ps; [
     ];
@@ -5945,6 +5945,7 @@
     "airthings"
     "airthings_ble"
     "airtouch4"
+    "airtouch5"
     "airvisual"
     "airvisual_pro"
     "airzone"
diff --git a/pkgs/servers/home-assistant/custom-components/homematicip_local/default.nix b/pkgs/servers/home-assistant/custom-components/homematicip_local/default.nix
index 26fed03c92756..f6dcd994719b4 100644
--- a/pkgs/servers/home-assistant/custom-components/homematicip_local/default.nix
+++ b/pkgs/servers/home-assistant/custom-components/homematicip_local/default.nix
@@ -7,13 +7,13 @@
 buildHomeAssistantComponent rec {
   owner = "danielperna84";
   domain = "homematicip_local";
-  version = "1.59.0";
+  version = "1.60.1";
 
   src = fetchFromGitHub {
     owner = "danielperna84";
     repo = "custom_homematic";
     rev = "refs/tags/${version}";
-    hash = "sha256-fVOx/ONE+XXluXrImZWoD630EK/FOLb/Ft/L7t2Ua8o=";
+    hash = "sha256-EJj9zmDdJ+T7yrANmRJuLRCSwvGLy2CkIBsO9H3LIs4=";
   };
 
   dependencies = [
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
index e3bec47d25a80..0f90061ad61f0 100644
--- a/pkgs/servers/home-assistant/default.nix
+++ b/pkgs/servers/home-assistant/default.nix
@@ -388,6 +388,13 @@ let
           rev = "refs/tags/${version}";
           hash = "sha256-vi5f4V0nPb9K3nwdmwMDoNE85Or6haOWjMY4d/2Fj2s=";
         };
+        dependencies = with self; [
+          aiohttp
+          async-timeout
+          gql
+          python-dateutil
+          websockets
+        ];
       });
 
       pykaleidescape = super.pykaleidescape.overridePythonAttrs (oldAttrs: rec {
@@ -525,8 +532,8 @@ let
   # Ensure that we are using a consistent package set
   extraBuildInputs = extraPackages python.pkgs;
 
-  # Don't forget to run parse-requirements.py after updating
-  hassVersion = "2024.4.3";
+  # Don't forget to run update-component-packages.py after updating
+  hassVersion = "2024.4.4";
 
 in python.pkgs.buildPythonApplication rec {
   pname = "homeassistant";
@@ -544,13 +551,13 @@ in python.pkgs.buildPythonApplication rec {
     owner = "home-assistant";
     repo = "core";
     rev = "refs/tags/${version}";
-    hash = "sha256-jHt4cWi1JxUs2XKf0N9gqsYj5XZK7TXwgj7WPZ7dmEA=";
+    hash = "sha256-bZcrFtaO0S22M6Wt2otK8rCg+NhpXr+/yRFxi02QJJI=";
   };
 
   # Secondary source is pypi sdist for translations
   sdist = fetchPypi {
     inherit pname version;
-    hash = "sha256-sj3usdXUl/wNElO3OgGx6dsBqn9+h9zq/AC3Zdn379M=";
+    hash = "sha256-NyIBFpDstX1MEoLS9p7GXl/+V6xB2hklNf2LmNLUMQk=";
   };
 
   nativeBuildInputs = with python.pkgs; [
diff --git a/pkgs/servers/home-assistant/intents.nix b/pkgs/servers/home-assistant/intents.nix
index b7b1578033e25..744adc8b49739 100644
--- a/pkgs/servers/home-assistant/intents.nix
+++ b/pkgs/servers/home-assistant/intents.nix
@@ -1,33 +1,67 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , pythonOlder
 
 # build-system
 , setuptools
+
+# codegen
+, hassil
+, python
+, pyyaml
+, voluptuous
+, regex
+, jinja2
+
+# tests
+, pytest-xdist
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "home-assistant-intents";
   version = "2024.4.3";
-  format = "wheel";
+  pyproject = true;
 
   disabled = pythonOlder "3.9";
 
-  src = fetchPypi {
-    inherit version format;
-    pname = "home_assistant_intents";
-    dist = "py3";
-    python = "py3";
-    hash = "sha256-GraYVtioKIoKlPRBhhhzlbBfI6heXAaA1MQpUqAgEDQ=";
+  src = fetchFromGitHub {
+    owner = "home-assistant";
+    repo = "intents-package";
+    rev = "refs/tags/${version}";
+    hash = "sha256-hcstD1qkngZAl/jKLez+4qDs/ZIandkVkY2jrvZqph8=";
+    fetchSubmodules = true;
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace-fail "setuptools~=62.3" "setuptools" \
+      --replace-fail "wheel~=0.37.1" "wheel"
+  '';
+
   build-system = [
     setuptools
+
+    # build-time codegen; https://github.com/home-assistant/intents/blob/main/requirements.txt#L1-L5
+    hassil
+    pyyaml
+    voluptuous
+    regex
+    jinja2
   ];
 
-  # sdist/wheel do not ship tests
-  doCheck = false;
+  postInstall = ''
+    # https://github.com/home-assistant/intents-package/blob/main/script/package#L23-L24
+    PACKAGE_DIR=$out/${python.sitePackages}/home_assistant_intents
+    ${python.pythonOnBuildForHost.interpreter} script/merged_output.py $PACKAGE_DIR/data
+    ${python.pythonOnBuildForHost.interpreter} script/write_languages.py $PACKAGE_DIR/data > $PACKAGE_DIR/languages.py
+  '';
+
+  nativeCheckInputs = [
+    pytest-xdist
+    pytestCheckHook
+  ];
 
   pytestFlagsArray = [
     "intents/tests"
diff --git a/pkgs/servers/home-assistant/stubs.nix b/pkgs/servers/home-assistant/stubs.nix
index f8e4e49b13ff0..d31cf8104dbed 100644
--- a/pkgs/servers/home-assistant/stubs.nix
+++ b/pkgs/servers/home-assistant/stubs.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "homeassistant-stubs";
-  version = "2024.4.3";
+  version = "2024.4.4";
   format = "pyproject";
 
   disabled = python.version != home-assistant.python.version;
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "KapJI";
     repo = "homeassistant-stubs";
     rev = "refs/tags/${version}";
-    hash = "sha256-uFQQNcRfo4m3GnfCbAe4yjdphkpqnhpqVr1EZP3bqVM=";
+    hash = "sha256-BPmHorcyO6a7Ag7FQogkZYh2x3GoMRKiFh+9aSkjE7M=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/servers/home-assistant/parse-requirements.py b/pkgs/servers/home-assistant/update-component-packages.py
index 404120d062acb..10288f5e6d64f 100755
--- a/pkgs/servers/home-assistant/parse-requirements.py
+++ b/pkgs/servers/home-assistant/update-component-packages.py
@@ -268,7 +268,7 @@ def main() -> None:
             build_inputs[component] = (attr_paths, extra_attrs, missing_reqs)
 
     with open(os.path.dirname(sys.argv[0]) + "/component-packages.nix", "w") as f:
-        f.write("# Generated by parse-requirements.py\n")
+        f.write("# Generated by update-component-packages.py\n")
         f.write("# Do not edit!\n\n")
         f.write("{\n")
         f.write(f'  version = "{version}";\n')
diff --git a/pkgs/servers/home-assistant/update.py b/pkgs/servers/home-assistant/update.py
index c9b9eb183890e..70eb77ce9a1cd 100755
--- a/pkgs/servers/home-assistant/update.py
+++ b/pkgs/servers/home-assistant/update.py
@@ -222,7 +222,7 @@ class HomeAssistant:
 
     async def update_components(self):
         await run_async([
-            f"{ROOT}/pkgs/servers/home-assistant/parse-requirements.py"
+            f"{ROOT}/pkgs/servers/home-assistant/update-component-packages.py"
         ])
 
 
diff --git a/pkgs/servers/homepage-dashboard/default.nix b/pkgs/servers/homepage-dashboard/default.nix
index 50f75f63abd1e..a3144a12866f7 100644
--- a/pkgs/servers/homepage-dashboard/default.nix
+++ b/pkgs/servers/homepage-dashboard/default.nix
@@ -6,8 +6,6 @@
 , cctools
 , IOKit
 , lib
-, fetchpatch
-, makeBinaryWrapper
 , nixosTests
 , enableLocalIcons ? false
 , nix-update-script
@@ -29,13 +27,13 @@ let
 in
 buildNpmPackage rec {
   pname = "homepage-dashboard";
-  version = "0.8.11";
+  version = "0.8.12";
 
   src = fetchFromGitHub {
     owner = "gethomepage";
     repo = "homepage";
     rev = "v${version}";
-    hash = "sha256-vKKdyPUsKfTOBhOFw7psKU0YezLFPt7mrP1RqIyxrss=";
+    hash = "sha256-71s7Hy5brYof9fgzYxq/HGruyzxFbOfKkOLnpUY0fp8=";
   };
 
   npmDepsHash = "sha256-w3Wmutru91Zt+kAZ0PBf2CdpgdpxFRoqUmE/0CAu/z4=";
diff --git a/pkgs/servers/http/envoy/0001-nixpkgs-use-system-Python.patch b/pkgs/servers/http/envoy/0001-nixpkgs-use-system-Python.patch
index fc10f59992334..8d7d63445c062 100644
--- a/pkgs/servers/http/envoy/0001-nixpkgs-use-system-Python.patch
+++ b/pkgs/servers/http/envoy/0001-nixpkgs-use-system-Python.patch
@@ -1,21 +1,22 @@
-From 4a9739da420b9584d5b9582c19cf3f86a6a90609 Mon Sep 17 00:00:00 2001
-From: Luke Granger-Brown <git@lukegb.com>
-Date: Fri, 12 May 2023 08:12:04 +0100
-Subject: [PATCH 1/3] nixpkgs: use system Python
+From 418d38868d63c0009460e1a3ca004987fe26346b Mon Sep 17 00:00:00 2001
+From: Paul Meyer <49727155+katexochen@users.noreply.github.com>
+Date: Mon, 22 Apr 2024 11:52:59 +0200
+Subject: [PATCH 1/4] nixpkgs: use system Python
 
+Signed-off-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
 ---
  bazel/python_dependencies.bzl | 11 ++++-------
- bazel/repositories_extra.bzl  | 16 ----------------
- 2 files changed, 4 insertions(+), 23 deletions(-)
+ bazel/repositories_extra.bzl  | 17 +----------------
+ 2 files changed, 5 insertions(+), 23 deletions(-)
 
 diff --git a/bazel/python_dependencies.bzl b/bazel/python_dependencies.bzl
-index ea50bf30ba..b82f374720 100644
+index b747fd0b9a..b82f374720 100644
 --- a/bazel/python_dependencies.bzl
 +++ b/bazel/python_dependencies.bzl
 @@ -1,27 +1,24 @@
- load("@rules_python//python:pip.bzl", "pip_parse")
--load("@python3_11//:defs.bzl", "interpreter")
 -load("@envoy_toolshed//:packages.bzl", "load_packages")
+-load("@python3_11//:defs.bzl", "interpreter")
+ load("@rules_python//python:pip.bzl", "pip_parse")
  
  def envoy_python_dependencies():
 -    # TODO(phlax): rename base_pip3 -> pip3 and remove this
@@ -45,15 +46,16 @@ index ea50bf30ba..b82f374720 100644
          extra_pip_args = ["--require-hashes"],
      )
 diff --git a/bazel/repositories_extra.bzl b/bazel/repositories_extra.bzl
-index 40d348073f..17b98b1ea1 100644
+index a5bc2d5277..001de36a16 100644
 --- a/bazel/repositories_extra.bzl
 +++ b/bazel/repositories_extra.bzl
-@@ -1,29 +1,13 @@
+@@ -2,19 +2,11 @@ load("@aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies")
+ load("@com_github_rules_proto_grpc//:repositories.bzl", "rules_proto_grpc_toolchains")
  load("@emsdk//:deps.bzl", emsdk_deps = "deps")
--load("@rules_python//python:repositories.bzl", "python_register_toolchains")
  load("@proxy_wasm_cpp_host//bazel/cargo/wasmtime:crates.bzl", "wasmtime_fetch_remote_crates")
+-load("@rules_python//python:repositories.bzl", "py_repositories", "python_register_toolchains")
++load("@rules_python//python:repositories.bzl", "py_repositories")
  load("//bazel/external/cargo:crates.bzl", "raze_fetch_remote_crates")
- load("@aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies")
  
 -def _python_minor_version(python_version):
 -    return "_".join(python_version.split(".")[:-1])
@@ -68,7 +70,9 @@ index 40d348073f..17b98b1ea1 100644
          ignore_root_user_error = False):
      emsdk_deps()
      raze_fetch_remote_crates()
-     wasmtime_fetch_remote_crates()
+@@ -22,11 +14,4 @@ def envoy_dependencies_extra(
+     rules_proto_grpc_toolchains()
+     py_repositories()
  
 -    # Registers underscored Python minor version - eg `python3_10`
 -    python_register_toolchains(
@@ -79,5 +83,5 @@ index 40d348073f..17b98b1ea1 100644
 -
      aspect_bazel_lib_dependencies()
 -- 
-2.42.0
+2.44.0
 
diff --git a/pkgs/servers/http/envoy/0002-nixpkgs-use-system-Go.patch b/pkgs/servers/http/envoy/0002-nixpkgs-use-system-Go.patch
index 494b1e4e72622..b58bbdedf51ab 100644
--- a/pkgs/servers/http/envoy/0002-nixpkgs-use-system-Go.patch
+++ b/pkgs/servers/http/envoy/0002-nixpkgs-use-system-Go.patch
@@ -1,69 +1,32 @@
-From 10e577a3c300f76ead5a5512f2fe970f12e46592 Mon Sep 17 00:00:00 2001
-From: Luke Granger-Brown <git@lukegb.com>
-Date: Fri, 12 May 2023 08:13:21 +0100
-Subject: [PATCH 2/3] nixpkgs: use system Go
+From 0ecb8b5bc194fecb10c523d5856dc0b4cb78f6e4 Mon Sep 17 00:00:00 2001
+From: Paul Meyer <49727155+katexochen@users.noreply.github.com>
+Date: Mon, 22 Apr 2024 11:58:00 +0200
+Subject: [PATCH 2/4] nixpkgs: use system Go
 
+Signed-off-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
 ---
- bazel/dependency_imports.bzl | 29 +----------------------------
- bazel/repositories.bzl       |  3 ---
- 2 files changed, 1 insertion(+), 31 deletions(-)
+ bazel/dependency_imports.bzl | 2 +-
+ bazel/repositories.bzl       | 3 ---
+ 2 files changed, 1 insertion(+), 4 deletions(-)
 
 diff --git a/bazel/dependency_imports.bzl b/bazel/dependency_imports.bzl
-index b743a1936d..afa04ef5c0 100644
+index 0e29abb8d0..df19c84755 100644
 --- a/bazel/dependency_imports.bzl
 +++ b/bazel/dependency_imports.bzl
-@@ -18,7 +18,7 @@ load("@com_google_cel_cpp//bazel:deps.bzl", "parser_deps")
- load("@com_github_chrusty_protoc_gen_jsonschema//:deps.bzl", protoc_gen_jsonschema_go_dependencies = "go_dependencies")
+@@ -19,7 +19,7 @@ load("@rules_rust//rust:repositories.bzl", "rules_rust_dependencies", "rust_regi
+ load("@upb//bazel:workspace_deps.bzl", "upb_deps")
  
  # go version for rules_go
--GO_VERSION = "1.18"
+-GO_VERSION = "1.20"
 +GO_VERSION = "host"
  
- JQ_VERSION = "1.6"
+ JQ_VERSION = "1.7"
  YQ_VERSION = "4.24.4"
-@@ -27,7 +27,6 @@ def envoy_dependency_imports(go_version = GO_VERSION, jq_version = JQ_VERSION, y
-     rules_foreign_cc_dependencies()
-     go_rules_dependencies()
-     go_register_toolchains(go_version)
--    envoy_download_go_sdks(go_version)
-     gazelle_dependencies(go_sdk = "go_sdk")
-     apple_rules_dependencies()
-     pip_dependencies()
-@@ -148,29 +147,3 @@ def envoy_dependency_imports(go_version = GO_VERSION, jq_version = JQ_VERSION, y
-     )
- 
-     protoc_gen_jsonschema_go_dependencies()
--
--def envoy_download_go_sdks(go_version):
--    go_download_sdk(
--        name = "go_linux_amd64",
--        goos = "linux",
--        goarch = "amd64",
--        version = go_version,
--    )
--    go_download_sdk(
--        name = "go_linux_arm64",
--        goos = "linux",
--        goarch = "arm64",
--        version = go_version,
--    )
--    go_download_sdk(
--        name = "go_darwin_amd64",
--        goos = "darwin",
--        goarch = "amd64",
--        version = go_version,
--    )
--    go_download_sdk(
--        name = "go_darwin_arm64",
--        goos = "darwin",
--        goarch = "arm64",
--        version = go_version,
--    )
 diff --git a/bazel/repositories.bzl b/bazel/repositories.bzl
-index 71667227f7..b10a47d344 100644
+index d91aa712bd..6623972286 100644
 --- a/bazel/repositories.bzl
 +++ b/bazel/repositories.bzl
-@@ -215,9 +215,6 @@ def _go_deps(skip_targets):
+@@ -246,9 +246,6 @@ def _go_deps(skip_targets):
      if "io_bazel_rules_go" not in skip_targets:
          external_http_archive(
              name = "io_bazel_rules_go",
@@ -74,5 +37,5 @@ index 71667227f7..b10a47d344 100644
          external_http_archive("bazel_gazelle")
  
 -- 
-2.42.0
+2.44.0
 
diff --git a/pkgs/servers/http/envoy/0003-nixpkgs-use-system-C-C-toolchains.patch b/pkgs/servers/http/envoy/0003-nixpkgs-use-system-C-C-toolchains.patch
index 5a24e7e4a90d1..1e5a792f55a88 100644
--- a/pkgs/servers/http/envoy/0003-nixpkgs-use-system-C-C-toolchains.patch
+++ b/pkgs/servers/http/envoy/0003-nixpkgs-use-system-C-C-toolchains.patch
@@ -1,29 +1,30 @@
-From 6175deb13a2df8bd25a56021ba8754e4be445219 Mon Sep 17 00:00:00 2001
-From: Luke Granger-Brown <git@lukegb.com>
-Date: Fri, 13 Oct 2023 21:42:51 +0000
-Subject: [PATCH 3/3] nixpkgs: use system C/C++ toolchains
+From d2fbc618ea040360e08b3c462bcdf0f8f44dd434 Mon Sep 17 00:00:00 2001
+From: Paul Meyer <49727155+katexochen@users.noreply.github.com>
+Date: Mon, 22 Apr 2024 11:59:22 +0200
+Subject: [PATCH 3/4] nixpkgs: use system C/C++ toolchains
 
+Signed-off-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
 ---
  bazel/dependency_imports.bzl | 6 +++++-
  1 file changed, 5 insertions(+), 1 deletion(-)
 
 diff --git a/bazel/dependency_imports.bzl b/bazel/dependency_imports.bzl
-index afa04ef5c0..a5ffaf4ff3 100644
+index df19c84755..9732a5d646 100644
 --- a/bazel/dependency_imports.bzl
 +++ b/bazel/dependency_imports.bzl
-@@ -24,7 +24,11 @@ JQ_VERSION = "1.6"
+@@ -25,7 +25,11 @@ JQ_VERSION = "1.7"
  YQ_VERSION = "4.24.4"
  
  def envoy_dependency_imports(go_version = GO_VERSION, jq_version = JQ_VERSION, yq_version = YQ_VERSION):
 -    rules_foreign_cc_dependencies()
 +    rules_foreign_cc_dependencies(
 +        register_default_tools=False,  # no prebuilt toolchains
-+	register_built_tools=False,  # nor from source
-+	register_preinstalled_tools=True,  # use host tools (default)
++	    register_built_tools=False,  # nor from source
++	    register_preinstalled_tools=True,  # use host tools (default)
 +    )
      go_rules_dependencies()
      go_register_toolchains(go_version)
-     gazelle_dependencies(go_sdk = "go_sdk")
+     if go_version != "host":
 -- 
-2.42.0
+2.44.0
 
diff --git a/pkgs/servers/http/envoy/0004-nixpkgs-add-cstdint-in-dd-trace-cpp.patch b/pkgs/servers/http/envoy/0004-nixpkgs-add-cstdint-in-dd-trace-cpp.patch
new file mode 100644
index 0000000000000..31dfe08f91b90
--- /dev/null
+++ b/pkgs/servers/http/envoy/0004-nixpkgs-add-cstdint-in-dd-trace-cpp.patch
@@ -0,0 +1,29 @@
+From dd3509a7d646a970480f94a8e09f377e9783504d Mon Sep 17 00:00:00 2001
+From: Malte Poll <1780588+malt3@users.noreply.github.com>
+Date: Mon, 22 Apr 2024 16:07:58 +0200
+Subject: [PATCH 4/4] nixpkgs: add cstdint in dd-trace-cpp
+
+---
+ bazel/repositories.bzl | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/bazel/repositories.bzl b/bazel/repositories.bzl
+index d91aa712bd..467348e773 100644
+--- a/bazel/repositories.bzl
++++ b/bazel/repositories.bzl
+@@ -772,7 +772,11 @@ def _io_opentelemetry_api_cpp():
+     )
+ 
+ def _com_github_datadog_dd_trace_cpp():
+-    external_http_archive("com_github_datadog_dd_trace_cpp")
++    external_http_archive(
++    	name = "com_github_datadog_dd_trace_cpp",
++	patch_args = ["-p1"],
++	patches = ["@envoy//bazel:dd_trace_cpp.patch"],
++    )
+     native.bind(
+         name = "dd_trace_cpp",
+         actual = "@com_github_datadog_dd_trace_cpp//:dd_trace_cpp",
+-- 
+2.42.0
+
diff --git a/pkgs/servers/http/envoy/dd_trace_cpp.patch b/pkgs/servers/http/envoy/dd_trace_cpp.patch
new file mode 100644
index 0000000000000..d9873c8f1a8c9
--- /dev/null
+++ b/pkgs/servers/http/envoy/dd_trace_cpp.patch
@@ -0,0 +1,25 @@
+From 4851a6a722b228ecbfd9df255dab3d8f30bd84b9 Mon Sep 17 00:00:00 2001
+From: Malte Poll <1780588+malt3@users.noreply.github.com>
+Date: Mon, 22 Apr 2024 15:36:33 +0200
+Subject: [PATCH] nixpkgs: add cstdint to fix compilation under GCC 13
+
+https://gcc.gnu.org/gcc-13/porting_to.html#header-dep-changes
+---
+ src/datadog/parse_util.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/datadog/parse_util.h b/src/datadog/parse_util.h
+index c603286..c8e4e83 100644
+--- a/src/datadog/parse_util.h
++++ b/src/datadog/parse_util.h
+@@ -2,6 +2,7 @@
+ 
+ // This component provides parsing-related miscellanea.
+ 
++#include <cstdint>
+ #include <string>
+ #include <unordered_map>
+ #include <vector>
+-- 
+2.42.0
+
diff --git a/pkgs/servers/http/envoy/default.nix b/pkgs/servers/http/envoy/default.nix
index 7e58f50fa1c64..8a91e361f37f2 100644
--- a/pkgs/servers/http/envoy/default.nix
+++ b/pkgs/servers/http/envoy/default.nix
@@ -25,15 +25,15 @@ let
     # However, the version string is more useful for end-users.
     # These are contained in a attrset of their own to make it obvious that
     # people should update both.
-    version = "1.27.5";
-    rev = "be4f1cfd31c79fc05651efa2f88429b3c03d1d9e";
-    hash = "sha256-+sjNqq91YfyW83aq/8WoSo7Jl5QZUmtWtsajnLLMgDc=";
+    version = "1.30.1";
+    rev = "816188b86a0a52095b116b107f576324082c7c02";
+    hash = "sha256-G0rT+OfMk2nitTXcxMr04jwUMYTfb4VBEV1zftalgFU=";
   };
 
   # these need to be updated for any changes to fetchAttrs
   depsHash = {
-    x86_64-linux = "sha256-4XJgPfNEPmbvAZMLlQcnIaoGzaFtyhsuEshdEjLh0OY=";
-    aarch64-linux = "sha256-85HLiK+xX/tabazh97J4fWk5KYc7kynbxj/g8HCGTD4=";
+    x86_64-linux = "sha256-S2qfgaKyBSgCU6CkhLwezbgVqqqaFYAHQMCbYjwYRxY=";
+    aarch64-linux = "sha256-Ge6qfzjwdh9078LE5k9hqFMKx7yc2buoYOpB9IIBS/s=";
   }.${stdenv.system} or (throw "unsupported system ${stdenv.system}");
 in
 buildBazelPackage {
@@ -57,7 +57,7 @@ buildBazelPackage {
     sed -i '/javabase=/d' .bazelrc
     sed -i '/"-Werror"/d' bazel/envoy_internal.bzl
 
-    cp ${./protobuf.patch} bazel/protobuf.patch
+    cp ${./dd_trace_cpp.patch} bazel/dd_trace_cpp.patch
   '';
 
   patches = [
@@ -70,11 +70,10 @@ buildBazelPackage {
     # use system C/C++ tools
     ./0003-nixpkgs-use-system-C-C-toolchains.patch
 
-    # bump proxy-wasm-cpp-host until > 1.27.3/1.28.0
-    (fetchpatch {
-      url = "https://github.com/envoyproxy/envoy/pull/31451.patch";
-      hash = "sha256-n8k7bho3B8Gm0dJbgf43kU7ymvo15aGJ2Twi2xR450g=";
-    })
+    # apply patch to dd-trace-cpp
+    # remove once a version of dd-trace-cpp is released and adopted by envoy
+    # that contains https://github.com/DataDog/dd-trace-cpp/commit/3a8e1e9a3cf4e87ef053e954a39dc7a967ac6965
+    ./0004-nixpkgs-add-cstdint-in-dd-trace-cpp.patch
   ];
 
   nativeBuildInputs = [
@@ -91,9 +90,6 @@ buildBazelPackage {
     linuxHeaders
   ];
 
-  # external/com_github_grpc_grpc/src/core/ext/transport/binder/transport/binder_transport.cc:756:29: error: format not a string literal and no format arguments [-Werror=format-security]
-  hardeningDisable = [ "format" ];
-
   fetchAttrs = {
     sha256 = depsHash;
     dontUseCmakeConfigure = true;
@@ -172,6 +168,14 @@ buildBazelPackage {
     "--java_runtime_version=local_jdk"
     "--tool_java_runtime_version=local_jdk"
 
+    # undefined reference to 'grpc_core::*Metadata*::*Memento*
+    #
+    # During linking of the final binary, we see undefined references to grpc_core related symbols.
+    # The missing symbols would be instantiations of a template class from https://github.com/grpc/grpc/blob/v1.59.4/src/core/lib/transport/metadata_batch.h
+    # "ParseMemento" and "MementoToValue" are only implemented for some types
+    # and appear unused and unimplemented for the undefined cases reported by the linker.
+    "--linkopt=-Wl,--unresolved-symbols=ignore-in-object-files"
+
     "--define=wasm=${wasmRuntime}"
   ] ++ (lib.optionals stdenv.isAarch64 [
     # external/com_github_google_tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:611:9: error: expected ':' or '::' before '[' token
diff --git a/pkgs/servers/http/envoy/protobuf.patch b/pkgs/servers/http/envoy/protobuf.patch
deleted file mode 100644
index dc7026350316c..0000000000000
--- a/pkgs/servers/http/envoy/protobuf.patch
+++ /dev/null
@@ -1,116 +0,0 @@
-diff --git a/BUILD.bazel b/BUILD.bazel
-index 637882c49..2cb08f1b0 100644
---- a/BUILD.bazel
-+++ b/BUILD.bazel
-@@ -165,6 +165,8 @@ alias(
-     visibility = ["//visibility:public"],
- )
- 
-+# Envoy: Patch
-+
- cc_binary(
-     name = "protoc",
-     copts = COPTS,
-@@ -173,6 +175,14 @@ cc_binary(
-     deps = ["//src/google/protobuf/compiler:protoc_lib"],
- )
- 
-+alias(
-+    name = "protobuf_python_genproto",
-+    actual = "//python:well_known_types_py_pb2_genproto",
-+    visibility = ["//visibility:public"],
-+)
-+
-+# /Envoy: Patch
-+
- cc_binary(
-     name = "protoc_static",
-     copts = COPTS,
-diff --git a/python/google/protobuf/__init__.py b/python/google/protobuf/__init__.py
-index 88de4cf8a..b3e046997 100755
---- a/python/google/protobuf/__init__.py
-+++ b/python/google/protobuf/__init__.py
-@@ -31,3 +31,10 @@
- # Copyright 2007 Google Inc. All Rights Reserved.
- 
- __version__ = '4.23.1'
-+
-+
-+if __name__ != '__main__':
-+    try:
-+        __import__('pkg_resources').declare_namespace(__name__)
-+    except ImportError:
-+        __path__ = __import__('pkgutil').extend_path(__path__, __name__)
-diff --git a/src/google/protobuf/compiler/BUILD.bazel b/src/google/protobuf/compiler/BUILD.bazel
-index a2171c806..8aec6187f 100644
---- a/src/google/protobuf/compiler/BUILD.bazel
-+++ b/src/google/protobuf/compiler/BUILD.bazel
-@@ -306,7 +306,7 @@ cc_library(
-     srcs = ["retention.cc"],
-     hdrs = ["retention.h"],
-     include_prefix = "google/protobuf/compiler",
--    visibility = ["//src/google/protobuf:__subpackages__"],
-+    visibility = ["//visibility:public"],
-     deps = [
-         "//src/google/protobuf:protobuf_nowkt",
-         "@com_google_absl//absl/types:span",
-diff --git a/src/google/protobuf/io/BUILD.bazel b/src/google/protobuf/io/BUILD.bazel
-index 8f39625c2..2c2c73dcd 100644
---- a/src/google/protobuf/io/BUILD.bazel
-+++ b/src/google/protobuf/io/BUILD.bazel
-@@ -142,7 +142,7 @@ cc_library(
-         "@com_google_absl//absl/log:absl_log",
-     ] + select({
-         "//build_defs:config_msvc": [],
--        "//conditions:default": ["@zlib//:zlib"],
-+        "//conditions:default": ["//external:zlib"],
-     }),
- )
- 
-diff --git a/src/google/protobuf/map.h b/src/google/protobuf/map.h
-index 869ebf100..fec92e2b1 100644
---- a/src/google/protobuf/map.h
-+++ b/src/google/protobuf/map.h
-@@ -883,7 +883,7 @@ class KeyMapBase : public UntypedMapBase {
-         TreeConvert(b);
-       }
-       ABSL_DCHECK(TableEntryIsTree(b))
--          << (void*)table_[b] << " " << (uintptr_t)table_[b];
-+          << reinterpret_cast<void*>(table_[b]) << " " << static_cast<uintptr_t>(table_[b]);
-       InsertUniqueInTree(b, node);
-       index_of_first_non_null_ = (std::min)(index_of_first_non_null_, b);
-     }
-diff --git a/src/google/protobuf/map_field.h b/src/google/protobuf/map_field.h
-index 70b12b1e7..b8f46db45 100644
---- a/src/google/protobuf/map_field.h
-+++ b/src/google/protobuf/map_field.h
-@@ -345,7 +345,7 @@ class PROTOBUF_EXPORT MapFieldBase : public MapFieldBaseForParse {
- 
-  protected:
-   // "protected" stops users from deleting a `MapFieldBase *`
--  ~MapFieldBase();
-+  virtual ~MapFieldBase();
- 
-  public:
-   // Returns reference to internal repeated field. Data written using
-diff --git a/src/google/protobuf/port_def.inc b/src/google/protobuf/port_def.inc
-index 1c6a24945..6186c2ad1 100644
---- a/src/google/protobuf/port_def.inc
-+++ b/src/google/protobuf/port_def.inc
-@@ -1004,7 +1004,7 @@ static_assert(PROTOBUF_ABSL_MIN(20230125, 3),
- #pragma clang diagnostic ignored "-Wshorten-64-to-32"
- // Turn on -Wdeprecated-enum-enum-conversion. This deprecation comes in C++20
- // via http://wg21.link/p1120r0.
--#pragma clang diagnostic error "-Wdeprecated-enum-enum-conversion"
-+// #pragma clang diagnostic error "-Wdeprecated-enum-enum-conversion"
- // This error has been generally flaky, but we need to disable it specifically
- // to fix https://github.com/protocolbuffers/protobuf/issues/12313
- #pragma clang diagnostic ignored "-Wunused-parameter"
-@@ -1062,6 +1062,7 @@ static_assert(PROTOBUF_ABSL_MIN(20230125, 3),
- #pragma warning(disable: 4125)
- #endif
- 
-+#pragma GCC diagnostic ignored "-Wundef"
- #if PROTOBUF_ENABLE_DEBUG_LOGGING_MAY_LEAK_PII
- #define PROTOBUF_DEBUG true
- #else
diff --git a/pkgs/servers/icingaweb2/ipl.nix b/pkgs/servers/icingaweb2/ipl.nix
index 021876fa1d293..52ce346fd6521 100644
--- a/pkgs/servers/icingaweb2/ipl.nix
+++ b/pkgs/servers/icingaweb2/ipl.nix
@@ -2,13 +2,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "icingaweb2-ipl";
-  version = "0.13.1";
+  version = "0.13.2";
 
   src = fetchFromGitHub {
     owner = "Icinga";
     repo = "icinga-php-library";
     rev = "v${version}";
-    hash = "sha256-4f0Xx4mnc+M2i97/TFQeg2rZaJUpKkx1SvpbLWmSYNo=";
+    hash = "sha256-b0y3EKcYWt3cH79HvHnpiHt18ZbRf9lEsfKTZO0dHME=";
   };
 
   installPhase = ''
diff --git a/pkgs/servers/imgproxy/default.nix b/pkgs/servers/imgproxy/default.nix
index 3187346c07ebd..066265e162cc5 100644
--- a/pkgs/servers/imgproxy/default.nix
+++ b/pkgs/servers/imgproxy/default.nix
@@ -3,16 +3,16 @@
 
 buildGoModule rec {
   pname = "imgproxy";
-  version = "3.23.0";
+  version = "3.24.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
-    hash = "sha256-nsXIy/JpI7nDu40dUGPosMAOtFt/OzfSWyxD6JuKA+s=";
+    hash = "sha256-FOut1L4dyPvR1SSQLspA8PakQPewwTP2SgbfyDfWp3c=";
     rev = "v${version}";
   };
 
-  vendorHash = "sha256-KtqXhi8VwH1aZt/vLHuug5MJLchs0t4tqA7PIZUVPHQ=";
+  vendorHash = "sha256-GIMba/XlINwJilRo5Oi2j7HJJTQQpMOa2kPH17T/vLU=";
 
   nativeBuildInputs = [ pkg-config gobject-introspection ];
 
diff --git a/pkgs/servers/jackett/default.nix b/pkgs/servers/jackett/default.nix
index ada510938cf8a..dd072035f1f91 100644
--- a/pkgs/servers/jackett/default.nix
+++ b/pkgs/servers/jackett/default.nix
@@ -9,13 +9,13 @@
 
 buildDotnetModule rec {
   pname = "jackett";
-  version = "0.21.2342";
+  version = "0.21.2392";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    hash = "sha512-F1fmDe3ucnjlluyhoUhqrzO15FCvLkYJOAErgUsuIJd9Lw5v5cSANLa9ebuVzSTRscEAVwt7fRRXiJaWJInI/Q==";
+    hash = "sha512-VI7OBOSSHMfuwic7Ruk5IgLacEopD3cW4S8ZrvIsRZpUNZ1jBnUL0QC5pV4AIqB+AEJFeWoClGiqURal0TRPKg==";
   };
 
   projectFile = "src/Jackett.Server/Jackett.Server.csproj";
diff --git a/pkgs/servers/jicofo/default.nix b/pkgs/servers/jicofo/default.nix
index ddabc7c467ea7..f80487801be90 100644
--- a/pkgs/servers/jicofo/default.nix
+++ b/pkgs/servers/jicofo/default.nix
@@ -2,10 +2,10 @@
 
 let
   pname = "jicofo";
-  version = "1.0-1075";
+  version = "1.0-1078";
   src = fetchurl {
     url = "https://download.jitsi.org/stable/${pname}_${version}-1_all.deb";
-    sha256 = "tRlCZGBWlonTkKMxr2Rry70ZqC3mjcbF627XEn2D2UI=";
+    sha256 = "0+VfsolOcjC68DRrWUgYYCdKhCxd0x1Y6920OrixU5g=";
   };
 in
 stdenv.mkDerivation {
diff --git a/pkgs/servers/jitsi-videobridge/default.nix b/pkgs/servers/jitsi-videobridge/default.nix
index 9f25ec1fdc9c2..fa17c97642159 100644
--- a/pkgs/servers/jitsi-videobridge/default.nix
+++ b/pkgs/servers/jitsi-videobridge/default.nix
@@ -2,10 +2,10 @@
 
 let
   pname = "jitsi-videobridge2";
-  version = "2.3-92-g64f9f34f";
+  version = "2.3-105-ge155b81e";
   src = fetchurl {
     url = "https://download.jitsi.org/stable/${pname}_${version}-1_all.deb";
-    sha256 = "fatkARiFgSEQl/caVUjJX77os7IZDIEZrxp0RLLaK/M=";
+    sha256 = "jQTZwnj1oECjUTD8dC6PF5tJcPye8FYUJmYEEBhBuRs=";
   };
 in
 stdenv.mkDerivation {
diff --git a/pkgs/servers/klipper/default.nix b/pkgs/servers/klipper/default.nix
index 1bc2afb4f8401..071c268c5dc64 100644
--- a/pkgs/servers/klipper/default.nix
+++ b/pkgs/servers/klipper/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "klipper";
-  version = "unstable-2024-04-15";
+  version = "unstable-2024-04-20";
 
   src = fetchFromGitHub {
     owner = "KevinOConnor";
     repo = "klipper";
-    rev = "2425a74638baa87efef3ca02253804d126101c8a";
-    sha256 = "sha256-ZGsMv4+Nv2G2bHRI5Vm1Uj+Uj6zee4oAVDMLrVrwurU=";
+    rev = "2f6e94c94cae036b70b02df996dc12e2e61e5dcb";
+    sha256 = "sha256-qDV0L86NLQl8O/w9yuTnMZ0MdYfFn+u+jFUCDl5p1LY=";
   };
 
   sourceRoot = "${src.name}/klippy";
diff --git a/pkgs/servers/komga/default.nix b/pkgs/servers/komga/default.nix
index 84d1b958a57b6..bfe3f14f51b42 100644
--- a/pkgs/servers/komga/default.nix
+++ b/pkgs/servers/komga/default.nix
@@ -8,11 +8,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "komga";
-  version = "1.10.4";
+  version = "1.11.1";
 
   src = fetchurl {
     url = "https://github.com/gotson/${pname}/releases/download/${version}/${pname}-${version}.jar";
-    sha256 = "sha256-WKiybcQH+xxBUUbuXrN2u7oIBbQBp34Y1mgJe0u7hiI=";
+    sha256 = "sha256-L6fdR8j60x2YL5S5g6THN1LL+dy6kzHijjNR47Kuylo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/servers/lidarr/default.nix b/pkgs/servers/lidarr/default.nix
index 06a51b450331d..eb098615650e5 100644
--- a/pkgs/servers/lidarr/default.nix
+++ b/pkgs/servers/lidarr/default.nix
@@ -8,13 +8,13 @@ let
     x86_64-darwin = "x64";
   }."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
   hash = {
-    x64-linux_hash = "sha256-njTaQIi15k0+8tnuIO+waRmSE+BAG46ln+qzesFfI0E=";
-    arm64-linux_hash = "sha256-dgX/G3eyWjtVmwptv0+Fbmt7/SjR26N5Ug+YXeC9fgU=";
-    x64-osx_hash = "sha256-kFliWQB1eQK1AoeWIZ3XaYj5mwSwRJWL2G8OwaLTFN4=";
+    x64-linux_hash = "sha256-tc7ODqFifTI7+FhCNmUBAv0s324T4yH4AHIVy64N3/I=";
+    arm64-linux_hash = "sha256-hmS7m1w07n+1+Eia+hA8oK8fJr+lWyqVq1FGjyRYwaQ=";
+    x64-osx_hash = "sha256-+t3cEFlk5Agkb14hx1H3WQfpKniJkPImWoRn6swuoOE=";
   }."${arch}-${os}_hash";
 in stdenv.mkDerivation rec {
   pname = "lidarr";
-  version = "2.1.7.4030";
+  version = "2.2.5.4141";
 
   src = fetchurl {
     url = "https://github.com/lidarr/Lidarr/releases/download/v${version}/Lidarr.master.${version}.${os}-core-${arch}.tar.gz";
diff --git a/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix b/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix
index 29de85fa99142..163840979517b 100644
--- a/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix
+++ b/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dovecot-fts-xapian";
-  version = "1.7.10";
+  version = "1.7.11";
 
   src = fetchFromGitHub {
     owner = "grosjo";
     repo = "fts-xapian";
     rev = version;
-    hash = "sha256-Yd14kla33qAx4Hy0ZdE08javvki3t+hCEc3OTO6YfkQ=";
+    hash = "sha256-7G+2RezvaBZ/0h7uky20lvGXibCMAF+kOL3h96tythY=";
   };
 
   buildInputs = [ xapian icu sqlite ];
diff --git a/pkgs/servers/mail/stalwart/default.nix b/pkgs/servers/mail/stalwart/default.nix
index 096e600ba862f..44b2251ce0c70 100644
--- a/pkgs/servers/mail/stalwart/default.nix
+++ b/pkgs/servers/mail/stalwart/default.nix
@@ -10,11 +10,12 @@
 , stdenv
 , darwin
 , nix-update-script
-, rocksdb
+, rocksdb_8_3
 }:
 
 let
   version = "0.6.0";
+  rocksdb = rocksdb_8_3;
 in
 rustPlatform.buildRustPackage {
   pname = "stalwart-mail";
diff --git a/pkgs/servers/matrix-conduit/default.nix b/pkgs/servers/matrix-conduit/default.nix
index cc162e6373d67..1eb7500222d35 100644
--- a/pkgs/servers/matrix-conduit/default.nix
+++ b/pkgs/servers/matrix-conduit/default.nix
@@ -6,10 +6,13 @@
 , stdenv
 , darwin
 , nixosTests
-, rocksdb
+, rocksdb_8_3
 , rust-jemalloc-sys
 }:
 
+let
+  rocksdb = rocksdb_8_3;
+in
 rustPlatform.buildRustPackage rec {
   pname = "matrix-conduit";
   version = "0.6.0";
diff --git a/pkgs/servers/matrix-synapse/plugins/s3-storage-provider.nix b/pkgs/servers/matrix-synapse/plugins/s3-storage-provider.nix
index 7a37c69235d4f..386849f17896c 100644
--- a/pkgs/servers/matrix-synapse/plugins/s3-storage-provider.nix
+++ b/pkgs/servers/matrix-synapse/plugins/s3-storage-provider.nix
@@ -56,6 +56,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/matrix-org/synapse-s3-storage-provider";
     changelog = "https://github.com/matrix-org/synapse-s3-storage-provider/releases/tag/v${version}";
     license = licenses.asl20;
-    maintainers = with maintainers; [ yuka ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/servers/matrix-synapse/sliding-sync/default.nix b/pkgs/servers/matrix-synapse/sliding-sync/default.nix
index 107f2c1abb8ba..c8f545813538d 100644
--- a/pkgs/servers/matrix-synapse/sliding-sync/default.nix
+++ b/pkgs/servers/matrix-synapse/sliding-sync/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "matrix-sliding-sync";
-  version = "0.99.15";
+  version = "0.99.16";
 
   src = fetchFromGitHub {
     owner = "matrix-org";
     repo = "sliding-sync";
     rev = "refs/tags/v${version}";
-    hash = "sha256-9JYR9fBxtv+3E+l+l26jryqEstnOUm657VsKsDRzD9g=";
+    hash = "sha256-RMA6Nwdajd1ABaNGq4iGNhX+/FCVy8HcNPpcW/mWtcc=";
   };
 
   vendorHash = "sha256-THjvc0TepIBFOTte7t63Dmadf3HMuZ9m0YzQMI5e5Pw=";
diff --git a/pkgs/servers/matrix-synapse/tools/default.nix b/pkgs/servers/matrix-synapse/tools/default.nix
index defc35bc0e0a8..6f7f4e2e7b30e 100644
--- a/pkgs/servers/matrix-synapse/tools/default.nix
+++ b/pkgs/servers/matrix-synapse/tools/default.nix
@@ -1,6 +1,6 @@
 { callPackage }:
 {
-  rust-synapse-compress-state = callPackage ./rust-synapse-compress-state.nix { };
+  rust-synapse-compress-state = callPackage ./rust-synapse-compress-state { };
 
   synadm = callPackage ./synadm.nix { };
 }
diff --git a/pkgs/servers/matrix-synapse/tools/rust-synapse-compress-state/Cargo.lock b/pkgs/servers/matrix-synapse/tools/rust-synapse-compress-state/Cargo.lock
new file mode 100644
index 0000000000000..f273916961122
--- /dev/null
+++ b/pkgs/servers/matrix-synapse/tools/rust-synapse-compress-state/Cargo.lock
@@ -0,0 +1,1816 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "addr2line"
+version = "0.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb"
+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 = "1.0.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0c378d78423fdad8089616f827526ee33c19f2fddbd5de1629152c9593ba4783"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "anstream"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1f58811cfac344940f1a400b6e6231ce35171f614f26439e80f8c1465c5cc0c"
+dependencies = [
+ "anstyle",
+ "anstyle-parse",
+ "anstyle-query",
+ "anstyle-wincon",
+ "colorchoice",
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b84bf0a05bbb2a83e5eb6fa36bb6e87baa08193c35ff52bbf6b38d8af2890e46"
+
+[[package]]
+name = "anstyle-parse"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333"
+dependencies = [
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle-query"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b"
+dependencies = [
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "anstyle-wincon"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "58f54d10c6dfa51283a066ceab3ec1ab78d13fae00aa49243a45e4571fb79dfd"
+dependencies = [
+ "anstyle",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "anyhow"
+version = "1.0.75"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6"
+
+[[package]]
+name = "arc-swap"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6"
+
+[[package]]
+name = "async-trait"
+version = "0.1.73"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.32",
+]
+
+[[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.69"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837"
+dependencies = [
+ "addr2line",
+ "cc",
+ "cfg-if",
+ "libc",
+ "miniz_oxide",
+ "object",
+ "rustc-demangle",
+]
+
+[[package]]
+name = "base64"
+version = "0.21.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2"
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "bitflags"
+version = "2.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635"
+
+[[package]]
+name = "block-buffer"
+version = "0.10.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
+dependencies = [
+ "generic-array",
+]
+
+[[package]]
+name = "bumpalo"
+version = "3.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1"
+
+[[package]]
+name = "byteorder"
+version = "1.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
+
+[[package]]
+name = "bytes"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
+
+[[package]]
+name = "cc"
+version = "1.0.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "clap"
+version = "4.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a13b88d2c62ff462f88e4a121f17a82c1af05693a2f192b5c38d14de73c19f6"
+dependencies = [
+ "clap_builder",
+]
+
+[[package]]
+name = "clap_builder"
+version = "4.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2bb9faaa7c2ef94b2743a21f5a29e6f0010dff4caa69ac8e9d6cf8b6fa74da08"
+dependencies = [
+ "anstream",
+ "anstyle",
+ "clap_lex",
+ "strsim",
+]
+
+[[package]]
+name = "clap_lex"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cd7cc57abe963c6d3b9d8be5b06ba7c8957a930305ca90304f24ef040aa6f961"
+
+[[package]]
+name = "colorchoice"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
+
+[[package]]
+name = "compressor_integration_tests"
+version = "0.1.0"
+dependencies = [
+ "env_logger",
+ "log",
+ "openssl",
+ "postgres",
+ "postgres-openssl",
+ "rand",
+ "serial_test",
+ "state-map",
+ "string_cache",
+ "synapse_auto_compressor",
+ "synapse_compress_state",
+]
+
+[[package]]
+name = "console"
+version = "0.15.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c926e00cc70edefdc64d3a5ff31cc65bb97a3460097762bd23afb4d8145fccf8"
+dependencies = [
+ "encode_unicode",
+ "lazy_static",
+ "libc",
+ "unicode-width",
+ "windows-sys 0.45.0",
+]
+
+[[package]]
+name = "cpufeatures"
+version = "0.2.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "crossbeam-channel"
+version = "0.5.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200"
+dependencies = [
+ "cfg-if",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-deque"
+version = "0.8.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef"
+dependencies = [
+ "cfg-if",
+ "crossbeam-epoch",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-epoch"
+version = "0.9.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7"
+dependencies = [
+ "autocfg",
+ "cfg-if",
+ "crossbeam-utils",
+ "memoffset",
+ "scopeguard",
+]
+
+[[package]]
+name = "crossbeam-utils"
+version = "0.8.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "crypto-common"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
+dependencies = [
+ "generic-array",
+ "typenum",
+]
+
+[[package]]
+name = "dashmap"
+version = "5.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856"
+dependencies = [
+ "cfg-if",
+ "hashbrown",
+ "lock_api",
+ "once_cell",
+ "parking_lot_core",
+]
+
+[[package]]
+name = "digest"
+version = "0.10.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
+dependencies = [
+ "block-buffer",
+ "crypto-common",
+ "subtle",
+]
+
+[[package]]
+name = "either"
+version = "1.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
+
+[[package]]
+name = "encode_unicode"
+version = "0.3.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f"
+
+[[package]]
+name = "env_logger"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0"
+dependencies = [
+ "humantime",
+ "is-terminal",
+ "log",
+ "regex",
+ "termcolor",
+]
+
+[[package]]
+name = "errno"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
+dependencies = [
+ "libc",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "fallible-iterator"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7"
+
+[[package]]
+name = "finl_unicode"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8fcfdc7a0362c9f4444381a9e697c79d435fe65b52a37466fc2c1184cee9edc6"
+
+[[package]]
+name = "foreign-types"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
+dependencies = [
+ "foreign-types-shared",
+]
+
+[[package]]
+name = "foreign-types-shared"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
+
+[[package]]
+name = "futures"
+version = "0.3.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40"
+dependencies = [
+ "futures-channel",
+ "futures-core",
+ "futures-executor",
+ "futures-io",
+ "futures-sink",
+ "futures-task",
+ "futures-util",
+]
+
+[[package]]
+name = "futures-channel"
+version = "0.3.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2"
+dependencies = [
+ "futures-core",
+ "futures-sink",
+]
+
+[[package]]
+name = "futures-core"
+version = "0.3.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c"
+
+[[package]]
+name = "futures-executor"
+version = "0.3.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0"
+dependencies = [
+ "futures-core",
+ "futures-task",
+ "futures-util",
+]
+
+[[package]]
+name = "futures-io"
+version = "0.3.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964"
+
+[[package]]
+name = "futures-macro"
+version = "0.3.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.32",
+]
+
+[[package]]
+name = "futures-sink"
+version = "0.3.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e"
+
+[[package]]
+name = "futures-task"
+version = "0.3.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65"
+
+[[package]]
+name = "futures-util"
+version = "0.3.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533"
+dependencies = [
+ "futures-channel",
+ "futures-core",
+ "futures-io",
+ "futures-macro",
+ "futures-sink",
+ "futures-task",
+ "memchr",
+ "pin-project-lite",
+ "pin-utils",
+ "slab",
+]
+
+[[package]]
+name = "generic-array"
+version = "0.14.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
+dependencies = [
+ "typenum",
+ "version_check",
+]
+
+[[package]]
+name = "getrandom"
+version = "0.2.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "wasi",
+]
+
+[[package]]
+name = "gimli"
+version = "0.28.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0"
+
+[[package]]
+name = "hashbrown"
+version = "0.14.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a"
+
+[[package]]
+name = "hermit-abi"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b"
+
+[[package]]
+name = "hmac"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"
+dependencies = [
+ "digest",
+]
+
+[[package]]
+name = "humantime"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
+
+[[package]]
+name = "indicatif"
+version = "0.17.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b297dc40733f23a0e52728a58fa9489a5b7638a324932de16b41adc3ef80730"
+dependencies = [
+ "console",
+ "instant",
+ "number_prefix",
+ "portable-atomic",
+ "unicode-width",
+]
+
+[[package]]
+name = "indoc"
+version = "1.0.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bfa799dd5ed20a7e349f3b4639aa80d74549c81716d9ec4f994c9b5815598306"
+
+[[package]]
+name = "instant"
+version = "0.1.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "is-terminal"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
+dependencies = [
+ "hermit-abi",
+ "rustix",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "js-sys"
+version = "0.3.64"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"
+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.153"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.4.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
+
+[[package]]
+name = "lock_api"
+version = "0.4.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16"
+dependencies = [
+ "autocfg",
+ "scopeguard",
+]
+
+[[package]]
+name = "log"
+version = "0.4.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
+
+[[package]]
+name = "log-panics"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68f9dd8546191c1850ecf67d22f5ff00a935b890d0e84713159a55495cc2ac5f"
+dependencies = [
+ "log",
+]
+
+[[package]]
+name = "md-5"
+version = "0.10.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6365506850d44bff6e2fbcb5176cf63650e48bd45ef2fe2665ae1570e0f4b9ca"
+dependencies = [
+ "digest",
+]
+
+[[package]]
+name = "memchr"
+version = "2.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c"
+
+[[package]]
+name = "memoffset"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "miniz_oxide"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
+dependencies = [
+ "adler",
+]
+
+[[package]]
+name = "mio"
+version = "0.8.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c"
+dependencies = [
+ "libc",
+ "wasi",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "new_debug_unreachable"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54"
+
+[[package]]
+name = "num_cpus"
+version = "1.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
+dependencies = [
+ "hermit-abi",
+ "libc",
+]
+
+[[package]]
+name = "number_prefix"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3"
+
+[[package]]
+name = "object"
+version = "0.32.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
+
+[[package]]
+name = "openssl"
+version = "0.10.60"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "79a4c6c3a2b158f7f8f2a2fc5a969fa3a068df6fc9dbb4a43845436e3af7c800"
+dependencies = [
+ "bitflags 2.4.0",
+ "cfg-if",
+ "foreign-types",
+ "libc",
+ "once_cell",
+ "openssl-macros",
+ "openssl-sys",
+]
+
+[[package]]
+name = "openssl-macros"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.32",
+]
+
+[[package]]
+name = "openssl-src"
+version = "300.1.3+3.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cd2c101a165fff9935e34def4669595ab1c7847943c42be86e21503e482be107"
+dependencies = [
+ "cc",
+]
+
+[[package]]
+name = "openssl-sys"
+version = "0.9.96"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3812c071ba60da8b5677cc12bcb1d42989a65553772897a7e0355545a819838f"
+dependencies = [
+ "cc",
+ "libc",
+ "openssl-src",
+ "pkg-config",
+ "vcpkg",
+]
+
+[[package]]
+name = "parking_lot"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
+dependencies = [
+ "lock_api",
+ "parking_lot_core",
+]
+
+[[package]]
+name = "parking_lot_core"
+version = "0.9.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "redox_syscall 0.3.5",
+ "smallvec",
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "percent-encoding"
+version = "2.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
+
+[[package]]
+name = "phf"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc"
+dependencies = [
+ "phf_shared 0.11.2",
+]
+
+[[package]]
+name = "phf_shared"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096"
+dependencies = [
+ "siphasher",
+]
+
+[[package]]
+name = "phf_shared"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b"
+dependencies = [
+ "siphasher",
+]
+
+[[package]]
+name = "pin-project-lite"
+version = "0.2.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
+
+[[package]]
+name = "pin-utils"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
+
+[[package]]
+name = "pkg-config"
+version = "0.3.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
+
+[[package]]
+name = "portable-atomic"
+version = "1.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "31114a898e107c51bb1609ffaf55a0e011cf6a4d7f1170d0015a165082c0338b"
+
+[[package]]
+name = "postgres"
+version = "0.19.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7915b33ed60abc46040cbcaa25ffa1c7ec240668e0477c4f3070786f5916d451"
+dependencies = [
+ "bytes",
+ "fallible-iterator",
+ "futures-util",
+ "log",
+ "tokio",
+ "tokio-postgres",
+]
+
+[[package]]
+name = "postgres-openssl"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1de0ea6504e07ca78355a6fb88ad0f36cafe9e696cbc6717f16a207f3a60be72"
+dependencies = [
+ "futures",
+ "openssl",
+ "tokio",
+ "tokio-openssl",
+ "tokio-postgres",
+]
+
+[[package]]
+name = "postgres-protocol"
+version = "0.6.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49b6c5ef183cd3ab4ba005f1ca64c21e8bd97ce4699cfea9e8d9a2c4958ca520"
+dependencies = [
+ "base64",
+ "byteorder",
+ "bytes",
+ "fallible-iterator",
+ "hmac",
+ "md-5",
+ "memchr",
+ "rand",
+ "sha2",
+ "stringprep",
+]
+
+[[package]]
+name = "postgres-types"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8d2234cdee9408b523530a9b6d2d6b373d1db34f6a8e51dc03ded1828d7fb67c"
+dependencies = [
+ "bytes",
+ "fallible-iterator",
+ "postgres-protocol",
+]
+
+[[package]]
+name = "ppv-lite86"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+
+[[package]]
+name = "precomputed-hash"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.66"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "pyo3"
+version = "0.19.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e681a6cfdc4adcc93b4d3cf993749a4552018ee0a9b65fc0ccfad74352c72a38"
+dependencies = [
+ "cfg-if",
+ "indoc",
+ "libc",
+ "memoffset",
+ "parking_lot",
+ "pyo3-build-config",
+ "pyo3-ffi",
+ "pyo3-macros",
+ "unindent",
+]
+
+[[package]]
+name = "pyo3-build-config"
+version = "0.19.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "076c73d0bc438f7a4ef6fdd0c3bb4732149136abd952b110ac93e4edb13a6ba5"
+dependencies = [
+ "once_cell",
+ "target-lexicon",
+]
+
+[[package]]
+name = "pyo3-ffi"
+version = "0.19.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e53cee42e77ebe256066ba8aa77eff722b3bb91f3419177cf4cd0f304d3284d9"
+dependencies = [
+ "libc",
+ "pyo3-build-config",
+]
+
+[[package]]
+name = "pyo3-log"
+version = "0.8.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f47b0777feb17f61eea78667d61103758b243a871edc09a7786500a50467b605"
+dependencies = [
+ "arc-swap",
+ "log",
+ "pyo3",
+]
+
+[[package]]
+name = "pyo3-macros"
+version = "0.19.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dfeb4c99597e136528c6dd7d5e3de5434d1ceaf487436a3f03b2d56b6fc9efd1"
+dependencies = [
+ "proc-macro2",
+ "pyo3-macros-backend",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "pyo3-macros-backend"
+version = "0.19.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "947dc12175c254889edc0c02e399476c2f652b4b9ebd123aa655c224de259536"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.33"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "rand"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
+dependencies = [
+ "libc",
+ "rand_chacha",
+ "rand_core",
+]
+
+[[package]]
+name = "rand_chacha"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
+dependencies = [
+ "ppv-lite86",
+ "rand_core",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
+dependencies = [
+ "getrandom",
+]
+
+[[package]]
+name = "rayon"
+version = "1.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b"
+dependencies = [
+ "either",
+ "rayon-core",
+]
+
+[[package]]
+name = "rayon-core"
+version = "1.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d"
+dependencies = [
+ "crossbeam-channel",
+ "crossbeam-deque",
+ "crossbeam-utils",
+ "num_cpus",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
+dependencies = [
+ "bitflags 1.3.2",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
+dependencies = [
+ "bitflags 1.3.2",
+]
+
+[[package]]
+name = "regex"
+version = "1.9.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "697061221ea1b4a94a624f67d0ae2bfe4e22b8a17b6a192afb11046542cc8c47"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-automata",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c2f401f4955220693b56f8ec66ee9c78abffd8d1c4f23dc41a23839eb88f0795"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.7.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da"
+
+[[package]]
+name = "rustc-demangle"
+version = "0.1.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
+
+[[package]]
+name = "rustix"
+version = "0.38.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949"
+dependencies = [
+ "bitflags 2.4.0",
+ "errno",
+ "libc",
+ "linux-raw-sys",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "scopeguard"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
+
+[[package]]
+name = "serde"
+version = "1.0.188"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.188"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.32",
+]
+
+[[package]]
+name = "serial_test"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0e56dd856803e253c8f298af3f4d7eb0ae5e23a737252cd90bb4f3b435033b2d"
+dependencies = [
+ "dashmap",
+ "futures",
+ "lazy_static",
+ "log",
+ "parking_lot",
+ "serial_test_derive",
+]
+
+[[package]]
+name = "serial_test_derive"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "91d129178576168c589c9ec973feedf7d3126c01ac2bf08795109aa35b69fb8f"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.32",
+]
+
+[[package]]
+name = "sha2"
+version = "0.10.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8"
+dependencies = [
+ "cfg-if",
+ "cpufeatures",
+ "digest",
+]
+
+[[package]]
+name = "siphasher"
+version = "0.3.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d"
+
+[[package]]
+name = "slab"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "smallvec"
+version = "1.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9"
+
+[[package]]
+name = "socket2"
+version = "0.5.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4031e820eb552adee9295814c0ced9e5cf38ddf1e8b7d566d6de8e2538ea989e"
+dependencies = [
+ "libc",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "state-map"
+version = "0.1.0"
+source = "git+https://github.com/matrix-org/rust-matrix-state-map#211343e8dd8d14e8a4c5c6ab72b52589fdd37e27"
+
+[[package]]
+name = "string_cache"
+version = "0.8.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b"
+dependencies = [
+ "new_debug_unreachable",
+ "once_cell",
+ "parking_lot",
+ "phf_shared 0.10.0",
+ "precomputed-hash",
+ "serde",
+]
+
+[[package]]
+name = "stringprep"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bb41d74e231a107a1b4ee36bd1214b11285b77768d2e3824aedafa988fd36ee6"
+dependencies = [
+ "finl_unicode",
+ "unicode-bidi",
+ "unicode-normalization",
+]
+
+[[package]]
+name = "strsim"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
+
+[[package]]
+name = "subtle"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc"
+
+[[package]]
+name = "syn"
+version = "1.0.109"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "syn"
+version = "2.0.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "239814284fd6f1a4ffe4ca893952cdd93c224b6a1571c9a9eadd670295c0c9e2"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "synapse_auto_compressor"
+version = "0.1.3"
+dependencies = [
+ "anyhow",
+ "clap",
+ "env_logger",
+ "log",
+ "log-panics",
+ "openssl",
+ "postgres",
+ "postgres-openssl",
+ "pyo3",
+ "pyo3-log",
+ "rand",
+ "serial_test",
+ "synapse_compress_state",
+ "tikv-jemallocator",
+]
+
+[[package]]
+name = "synapse_compress_state"
+version = "0.1.0"
+dependencies = [
+ "clap",
+ "env_logger",
+ "indicatif",
+ "log",
+ "log-panics",
+ "openssl",
+ "postgres",
+ "postgres-openssl",
+ "pyo3",
+ "pyo3-log",
+ "rand",
+ "rayon",
+ "state-map",
+ "string_cache",
+ "tikv-jemallocator",
+]
+
+[[package]]
+name = "target-lexicon"
+version = "0.12.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d0e916b1148c8e263850e1ebcbd046f333e0683c724876bb0da63ea4373dc8a"
+
+[[package]]
+name = "termcolor"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6"
+dependencies = [
+ "winapi-util",
+]
+
+[[package]]
+name = "tikv-jemalloc-sys"
+version = "0.5.4+5.3.0-patched"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9402443cb8fd499b6f327e40565234ff34dbda27460c5b47db0db77443dd85d1"
+dependencies = [
+ "cc",
+ "libc",
+]
+
+[[package]]
+name = "tikv-jemallocator"
+version = "0.5.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "965fe0c26be5c56c94e38ba547249074803efd52adfb66de62107d95aab3eaca"
+dependencies = [
+ "libc",
+ "tikv-jemalloc-sys",
+]
+
+[[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.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
+
+[[package]]
+name = "tokio"
+version = "1.32.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9"
+dependencies = [
+ "backtrace",
+ "bytes",
+ "libc",
+ "mio",
+ "pin-project-lite",
+ "socket2",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "tokio-openssl"
+version = "0.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c08f9ffb7809f1b20c1b398d92acf4cc719874b3b2b2d9ea2f09b4a80350878a"
+dependencies = [
+ "futures-util",
+ "openssl",
+ "openssl-sys",
+ "tokio",
+]
+
+[[package]]
+name = "tokio-postgres"
+version = "0.7.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d340244b32d920260ae7448cb72b6e238bddc3d4f7603394e7dd46ed8e48f5b8"
+dependencies = [
+ "async-trait",
+ "byteorder",
+ "bytes",
+ "fallible-iterator",
+ "futures-channel",
+ "futures-util",
+ "log",
+ "parking_lot",
+ "percent-encoding",
+ "phf",
+ "pin-project-lite",
+ "postgres-protocol",
+ "postgres-types",
+ "rand",
+ "socket2",
+ "tokio",
+ "tokio-util",
+ "whoami",
+]
+
+[[package]]
+name = "tokio-util"
+version = "0.7.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "806fe8c2c87eccc8b3267cbae29ed3ab2d0bd37fca70ab622e46aaa9375ddb7d"
+dependencies = [
+ "bytes",
+ "futures-core",
+ "futures-sink",
+ "pin-project-lite",
+ "tokio",
+ "tracing",
+]
+
+[[package]]
+name = "tracing"
+version = "0.1.37"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
+dependencies = [
+ "cfg-if",
+ "pin-project-lite",
+ "tracing-core",
+]
+
+[[package]]
+name = "tracing-core"
+version = "0.1.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a"
+dependencies = [
+ "once_cell",
+]
+
+[[package]]
+name = "typenum"
+version = "1.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
+
+[[package]]
+name = "unicode-bidi"
+version = "0.3.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c"
+
+[[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-width"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
+
+[[package]]
+name = "unindent"
+version = "0.1.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e1766d682d402817b5ac4490b3c3002d91dfa0d22812f341609f97b08757359c"
+
+[[package]]
+name = "utf8parse"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
+
+[[package]]
+name = "vcpkg"
+version = "0.2.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
+
+[[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.11.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+
+[[package]]
+name = "wasite"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b"
+
+[[package]]
+name = "wasm-bindgen"
+version = "0.2.87"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
+dependencies = [
+ "cfg-if",
+ "wasm-bindgen-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.87"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
+dependencies = [
+ "bumpalo",
+ "log",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.32",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.87"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
+dependencies = [
+ "quote",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.87"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.32",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.87"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
+
+[[package]]
+name = "web-sys"
+version = "0.3.64"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "whoami"
+version = "1.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a44ab49fad634e88f55bf8f9bb3abd2f27d7204172a112c7c9987e01c1c94ea9"
+dependencies = [
+ "redox_syscall 0.4.1",
+ "wasite",
+ "web-sys",
+]
+
+[[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"
+
+[[package]]
+name = "windows-sys"
+version = "0.45.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
+dependencies = [
+ "windows-targets 0.42.2",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
+dependencies = [
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets 0.52.4",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
+dependencies = [
+ "windows_aarch64_gnullvm 0.42.2",
+ "windows_aarch64_msvc 0.42.2",
+ "windows_i686_gnu 0.42.2",
+ "windows_i686_msvc 0.42.2",
+ "windows_x86_64_gnu 0.42.2",
+ "windows_x86_64_gnullvm 0.42.2",
+ "windows_x86_64_msvc 0.42.2",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
+dependencies = [
+ "windows_aarch64_gnullvm 0.48.5",
+ "windows_aarch64_msvc 0.48.5",
+ "windows_i686_gnu 0.48.5",
+ "windows_i686_msvc 0.48.5",
+ "windows_x86_64_gnu 0.48.5",
+ "windows_x86_64_gnullvm 0.48.5",
+ "windows_x86_64_msvc 0.48.5",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b"
+dependencies = [
+ "windows_aarch64_gnullvm 0.52.4",
+ "windows_aarch64_msvc 0.52.4",
+ "windows_i686_gnu 0.52.4",
+ "windows_i686_msvc 0.52.4",
+ "windows_x86_64_gnu 0.52.4",
+ "windows_x86_64_gnullvm 0.52.4",
+ "windows_x86_64_msvc 0.52.4",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8"
diff --git a/pkgs/servers/matrix-synapse/tools/rust-synapse-compress-state.nix b/pkgs/servers/matrix-synapse/tools/rust-synapse-compress-state/default.nix
index fe1dc5f6b207c..8b1194c94fd5a 100644
--- a/pkgs/servers/matrix-synapse/tools/rust-synapse-compress-state.nix
+++ b/pkgs/servers/matrix-synapse/tools/rust-synapse-compress-state/default.nix
@@ -2,21 +2,29 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rust-synapse-compress-state";
-  version = "0.1.3";
+  version = "0.1.4";
 
   src = fetchFromGitHub {
     owner = "matrix-org";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-SSfVtG8kwHarVbB1O7xC2SSbUpPGYMHTMyoxu8mpEk0=";
+    hash = "sha256-nNQ/d4FFAvI+UY+XeqExyhngq+k+j5Pkz94ch27aoVM=";
   };
 
-  cargoSha256 = "sha256-PG+UeovhJMsIlm5dOYdtMxbUxZjwG3V59kAcB9aFP5c=";
+  cargoLock = {
+    lockFile = ./Cargo.lock;
+    outputHashes = {
+      "state-map-0.1.0" = "sha256-zToFCioijyT0vZ6c1uO+1ho+RODTe4OwbK2GhoKk+X4=";
+    };
+  };
 
   cargoBuildFlags = [
     "--all"
   ];
 
+  # Needed to get openssl-sys to use pkgconfig.
+  env.OPENSSL_NO_VENDOR = 1;
+
   nativeBuildInputs = [ python3 pkg-config ];
 
   buildInputs = [ openssl ];
diff --git a/pkgs/servers/mediamtx/default.nix b/pkgs/servers/mediamtx/default.nix
index cdc7226a4d28a..4e6c94d3dd3e7 100644
--- a/pkgs/servers/mediamtx/default.nix
+++ b/pkgs/servers/mediamtx/default.nix
@@ -14,16 +14,16 @@ in
 buildGoModule rec {
   pname = "mediamtx";
   # check for hls.js version updates in internal/servers/hls/hlsjsdownloader/VERSION
-  version = "1.7.0";
+  version = "1.8.0";
 
   src = fetchFromGitHub {
     owner = "bluenviron";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-i4tuGlRW5/HZobeSsgzWjHxIxZKB0cZIJcJyD0O/eIY=";
+    hash = "sha256-IIm+ZJYHGEfT+mvyq84L5hnkUPX784gjJUMzkE5kbaE=";
   };
 
-  vendorHash = "sha256-RWHu6VuL9RmmAS1CyInXVbn3dxU6yTAze92C19Fm6gM=";
+  vendorHash = "sha256-GGyacAN9Vs0SsLO7ZfyfOXznTJZg1V13DJucfzUGA/Q=";
 
   postPatch = ''
     cp ${hlsJs} internal/servers/hls/hls.min.js
diff --git a/pkgs/servers/monitoring/grafana/plugins/grafana-clickhouse-datasource/default.nix b/pkgs/servers/monitoring/grafana/plugins/grafana-clickhouse-datasource/default.nix
index 355153937b431..2ebc9834e27b1 100644
--- a/pkgs/servers/monitoring/grafana/plugins/grafana-clickhouse-datasource/default.nix
+++ b/pkgs/servers/monitoring/grafana/plugins/grafana-clickhouse-datasource/default.nix
@@ -13,7 +13,7 @@ grafanaPlugin rec {
     description = "Connects Grafana to ClickHouse";
     license = licenses.asl20;
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
-    maintainers = with maintainers; [ moody yuka ];
+    maintainers = with maintainers; [ moody ];
     platforms = attrNames zipHash;
   };
 }
diff --git a/pkgs/servers/monitoring/matrix-alertmanager/default.nix b/pkgs/servers/monitoring/matrix-alertmanager/default.nix
index a5c6212f6c8e1..952da144b3aa3 100644
--- a/pkgs/servers/monitoring/matrix-alertmanager/default.nix
+++ b/pkgs/servers/monitoring/matrix-alertmanager/default.nix
@@ -30,6 +30,6 @@ buildNpmPackage rec {
     mainProgram = "matrix-alertmanager";
     homepage = "https://github.com/jaywink/matrix-alertmanager";
     license = licenses.mit;
-    maintainers = with maintainers; [ yuka ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/servers/monitoring/mtail/default.nix b/pkgs/servers/monitoring/mtail/default.nix
index 089b2311873b1..d932994c6e82c 100644
--- a/pkgs/servers/monitoring/mtail/default.nix
+++ b/pkgs/servers/monitoring/mtail/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "mtail";
-  version = "3.0.0-rc54";
+  version = "3.0.0";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "mtail";
     rev = "v${version}";
-    hash = "sha256-c9lMqHyOerqN32UCyM52EZm4t+MQLDibUOD8rBvIARA=";
+    hash = "sha256-1AUV3NyALJbR2CPpDJaK+Cq/w87jGFtp/iUkBFqanSE=";
   };
 
-  vendorHash = "sha256-TKDOPs5kWOSXrDm6AadEF2PmSEzzrRyTMBWANZEr4cs=";
+  vendorHash = "sha256-XKELlrsyumv3EbNdepLRgX7kPWxzo2ZdKrOwiM0myf8=";
 
   ldflags = [
     "-X=main.Branch=main"
diff --git a/pkgs/servers/monitoring/openobserve/Cargo.lock b/pkgs/servers/monitoring/openobserve/Cargo.lock
index 81665794e1412..211385d4921e7 100644
--- a/pkgs/servers/monitoring/openobserve/Cargo.lock
+++ b/pkgs/servers/monitoring/openobserve/Cargo.lock
@@ -8,7 +8,7 @@ version = "0.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5f7b0a21988c1bf877cf4759ef5ddaac04c1c9fe808c9142ecb78ba97d97a28a"
 dependencies = [
- "bitflags 2.4.2",
+ "bitflags 2.5.0",
  "bytes",
  "futures-core",
  "futures-sink",
@@ -44,9 +44,9 @@ dependencies = [
  "actix-rt",
  "actix-service",
  "actix-utils",
- "ahash 0.8.7",
+ "ahash 0.8.11",
  "base64 0.21.7",
- "bitflags 2.4.2",
+ "bitflags 2.5.0",
  "brotli",
  "bytes",
  "bytestring",
@@ -55,7 +55,7 @@ dependencies = [
  "flate2",
  "futures-core",
  "h2",
- "http 0.2.11",
+ "http 0.2.12",
  "httparse",
  "httpdate",
  "itoa",
@@ -80,7 +80,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e01ed3140b2f8d422c68afa1ed2e85d996ea619c988ac834d255db32138655cb"
 dependencies = [
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
@@ -118,7 +118,7 @@ dependencies = [
  "parse-size",
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
@@ -128,7 +128,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d22475596539443685426b6bdadb926ad0ecaefdfc5fb05e5e3441f15463c511"
 dependencies = [
  "bytestring",
- "http 0.2.11",
+ "http 0.2.12",
  "regex",
  "serde",
  "tracing",
@@ -182,8 +182,8 @@ dependencies = [
  "actix-service",
  "actix-utils",
  "futures-core",
- "http 0.2.11",
- "http 1.0.0",
+ "http 0.2.12",
+ "http 1.1.0",
  "impl-more",
  "pin-project-lite",
  "tokio",
@@ -216,7 +216,7 @@ dependencies = [
  "actix-service",
  "actix-utils",
  "actix-web-codegen",
- "ahash 0.8.7",
+ "ahash 0.8.11",
  "bytes",
  "bytestring",
  "cfg-if 1.0.0",
@@ -250,7 +250,7 @@ dependencies = [
  "actix-router",
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
@@ -280,7 +280,7 @@ dependencies = [
  "actix-utils",
  "actix-web",
  "actix-web-lab-derive",
- "ahash 0.8.7",
+ "ahash 0.8.11",
  "arc-swap",
  "async-trait",
  "bytes",
@@ -289,7 +289,7 @@ dependencies = [
  "derive_more",
  "futures-core",
  "futures-util",
- "http 0.2.11",
+ "http 0.2.12",
  "impl-more",
  "itertools 0.12.1",
  "local-channel",
@@ -314,14 +314,14 @@ checksum = "9aa0b287c8de4a76b691f29dbb5451e8dd5b79d777eaf87350c9b0cbfdb5e968"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
 name = "actix-web-opentelemetry"
-version = "0.16.0"
+version = "0.17.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d164a9fe425132ff4ae92ce04912f7e31529b48a6e7cdce769ab45d272de285c"
+checksum = "d6e0327e7b731c61b77fb54b278477aa3ebd09752bde38d169863167636e2d48"
 dependencies = [
  "actix-http",
  "actix-web",
@@ -339,7 +339,7 @@ checksum = "ad5228fd1a6b5d0f60d636776c2a70acc9fc667034bb4ac02ec4259f0eeeab6c"
 dependencies = [
  "actix-service",
  "actix-web",
- "futures-lite",
+ "futures-lite 1.13.0",
  "pin-project",
  "prometheus",
  "quanta",
@@ -396,9 +396,9 @@ dependencies = [
 
 [[package]]
 name = "aes"
-version = "0.8.3"
+version = "0.8.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac1f845298e95f983ff1944b728ae08b8cebab80d684f0a832ed0fc74dfa27e2"
+checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0"
 dependencies = [
  "cfg-if 1.0.0",
  "cipher",
@@ -407,9 +407,9 @@ dependencies = [
 
 [[package]]
 name = "ahash"
-version = "0.7.7"
+version = "0.7.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a824f2aa7e75a0c98c5a504fceb80649e9c35265d44525b5f94de4771a395cd"
+checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9"
 dependencies = [
  "getrandom",
  "once_cell",
@@ -418,9 +418,9 @@ dependencies = [
 
 [[package]]
 name = "ahash"
-version = "0.8.7"
+version = "0.8.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01"
+checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"
 dependencies = [
  "cfg-if 1.0.0",
  "const-random",
@@ -433,9 +433,9 @@ dependencies = [
 
 [[package]]
 name = "aho-corasick"
-version = "1.1.2"
+version = "1.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
+checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
 dependencies = [
  "memchr",
 ]
@@ -484,9 +484,9 @@ checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299"
 
 [[package]]
 name = "anstream"
-version = "0.6.11"
+version = "0.6.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6e2e1ebcb11de5c03c67de28a7df593d32191b44939c482e97702baaaa6ab6a5"
+checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb"
 dependencies = [
  "anstyle",
  "anstyle-parse",
@@ -532,9 +532,9 @@ dependencies = [
 
 [[package]]
 name = "anyhow"
-version = "1.0.79"
+version = "1.0.81"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca"
+checksum = "0952808a6c2afd1aa8947271f3a60f1a6763c7b912d210184c5149b5cf147247"
 
 [[package]]
 name = "anymap"
@@ -544,9 +544,9 @@ checksum = "8f1f8f5a6f3d50d89e3797d7593a50f96bb2aaa20ca0cc7be1fb673232c91d72"
 
 [[package]]
 name = "arc-swap"
-version = "1.6.0"
+version = "1.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6"
+checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457"
 
 [[package]]
 name = "argon2"
@@ -614,7 +614,7 @@ version = "50.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d390feeb7f21b78ec997a4081a025baef1e2e0d6069e181939b61864c9779609"
 dependencies = [
- "ahash 0.8.7",
+ "ahash 0.8.11",
  "arrow-buffer",
  "arrow-data",
  "arrow-schema",
@@ -743,7 +743,7 @@ version = "50.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "007035e17ae09c4e8993e4cb8b5b96edf0afb927cd38e2dff27189b274d83dcf"
 dependencies = [
- "ahash 0.8.7",
+ "ahash 0.8.11",
  "arrow-array",
  "arrow-buffer",
  "arrow-data",
@@ -767,7 +767,7 @@ version = "50.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1ce20973c1912de6514348e064829e50947e35977bb9d7fb637dc99ea9ffd78c"
 dependencies = [
- "ahash 0.8.7",
+ "ahash 0.8.11",
  "arrow-array",
  "arrow-buffer",
  "arrow-data",
@@ -788,7 +788,7 @@ dependencies = [
  "arrow-select",
  "num",
  "regex",
- "regex-syntax 0.8.2",
+ "regex-syntax 0.8.3",
 ]
 
 [[package]]
@@ -826,7 +826,7 @@ dependencies = [
  "proc-macro2",
  "quote",
  "serde",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
@@ -845,10 +845,23 @@ dependencies = [
 ]
 
 [[package]]
+name = "async-channel"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f28243a43d821d11341ab73c80bed182dc015c514b951616cf79bd4af39af0c3"
+dependencies = [
+ "concurrent-queue",
+ "event-listener 5.3.0",
+ "event-listener-strategy 0.5.1",
+ "futures-core",
+ "pin-project-lite",
+]
+
+[[package]]
 name = "async-compression"
-version = "0.4.6"
+version = "0.4.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a116f46a969224200a0a97f29cfd4c50e7534e4b4826bd23ea2c3c533039c82c"
+checksum = "86a9249d1447a85f95810c620abea82e001fe58a31713fcce614caf52499f905"
 dependencies = [
  "bzip2",
  "flate2",
@@ -863,14 +876,69 @@ dependencies = [
 ]
 
 [[package]]
+name = "async-fs"
+version = "2.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bc19683171f287921f2405677dd2ed2549c3b3bda697a563ebc3a121ace2aba1"
+dependencies = [
+ "async-lock",
+ "blocking",
+ "futures-lite 2.3.0",
+]
+
+[[package]]
+name = "async-lock"
+version = "3.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b"
+dependencies = [
+ "event-listener 4.0.3",
+ "event-listener-strategy 0.4.0",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "async-nats"
+version = "0.34.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eea7b126ebfa4db78e9e788b2a792b6329f35b4f2fdd56dbc646dedc2beec7a5"
+dependencies = [
+ "base64 0.22.0",
+ "bytes",
+ "futures",
+ "memchr",
+ "nkeys",
+ "nuid",
+ "once_cell",
+ "portable-atomic",
+ "rand",
+ "regex",
+ "ring 0.17.8",
+ "rustls-native-certs 0.7.0",
+ "rustls-pemfile 2.1.1",
+ "rustls-webpki 0.102.2",
+ "serde",
+ "serde_json",
+ "serde_nanos",
+ "serde_repr",
+ "thiserror",
+ "time",
+ "tokio",
+ "tokio-rustls 0.25.0",
+ "tracing",
+ "tryhard",
+ "url",
+]
+
+[[package]]
 name = "async-recursion"
-version = "1.0.5"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0"
+checksum = "30c5ef0ede93efbf733c1a727f3b6b5a1060bbedd5600183e66f6e4be4af0ec5"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
@@ -892,18 +960,48 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
+name = "async-task"
+version = "4.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fbb36e985947064623dbd357f727af08ffd077f93d696782f3c56365fa2e2799"
+
+[[package]]
 name = "async-trait"
-version = "0.1.77"
+version = "0.1.79"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9"
+checksum = "a507401cad91ec6a857ed5513a2073c82a9b9048762b885bb98655b306964681"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
+]
+
+[[package]]
+name = "async-tungstenite"
+version = "0.23.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a1e9efbe14612da0a19fb983059a0b621e9cf6225d7018ecab4f9988215540dc"
+dependencies = [
+ "futures-io",
+ "futures-util",
+ "log",
+ "pin-project-lite",
+ "tokio",
+ "tungstenite",
+]
+
+[[package]]
+name = "async-walkdir"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "73f6338023cbfc0555eccb8e83d3d4dcf1183b51ca9140a03b1dbb8a559193db"
+dependencies = [
+ "async-fs",
+ "futures-lite 2.3.0",
 ]
 
 [[package]]
@@ -916,14 +1014,10 @@ dependencies = [
 ]
 
 [[package]]
-name = "atomic-write-file"
-version = "0.1.2"
+name = "atomic-waker"
+version = "1.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "edcdbedc2236483ab103a53415653d6b4442ea6141baf1ffa85df29635e88436"
-dependencies = [
- "nix 0.27.1",
- "rand",
-]
+checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
 
 [[package]]
 name = "atty"
@@ -938,9 +1032,9 @@ dependencies = [
 
 [[package]]
 name = "autocfg"
-version = "1.1.0"
+version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80"
 
 [[package]]
 name = "awc"
@@ -962,7 +1056,7 @@ dependencies = [
  "futures-core",
  "futures-util",
  "h2",
- "http 0.2.11",
+ "http 0.2.12",
  "itoa",
  "log",
  "mime",
@@ -993,9 +1087,9 @@ dependencies = [
  "aws-smithy-types",
  "aws-types",
  "bytes",
- "fastrand 2.0.1",
+ "fastrand 2.0.2",
  "hex",
- "http 0.2.11",
+ "http 0.2.12",
  "hyper",
  "ring 0.16.20",
  "time",
@@ -1013,7 +1107,7 @@ checksum = "70a66ac8ef5fa9cf01c2d999f39d16812e90ec1467bd382cbbb74ba23ea86201"
 dependencies = [
  "aws-smithy-async",
  "aws-smithy-types",
- "fastrand 2.0.1",
+ "fastrand 2.0.2",
  "tokio",
  "tracing",
  "zeroize",
@@ -1030,7 +1124,7 @@ dependencies = [
  "aws-smithy-types",
  "aws-types",
  "bytes",
- "http 0.2.11",
+ "http 0.2.12",
  "http-body",
  "lazy_static",
  "percent-encoding",
@@ -1052,39 +1146,14 @@ dependencies = [
  "aws-smithy-runtime-api",
  "aws-smithy-types",
  "aws-types",
- "fastrand 2.0.1",
- "http 0.2.11",
+ "fastrand 2.0.2",
+ "http 0.2.12",
  "percent-encoding",
  "tracing",
  "uuid",
 ]
 
 [[package]]
-name = "aws-sdk-dynamodb"
-version = "0.30.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "069e3c6f367a02ee0af86616b6bf9dcc4f1eab19e11b05d4b0f71da0c86fcd9d"
-dependencies = [
- "aws-credential-types",
- "aws-http",
- "aws-runtime",
- "aws-smithy-async",
- "aws-smithy-client",
- "aws-smithy-http",
- "aws-smithy-json",
- "aws-smithy-runtime",
- "aws-smithy-runtime-api",
- "aws-smithy-types",
- "aws-types",
- "bytes",
- "fastrand 2.0.1",
- "http 0.2.11",
- "regex",
- "tokio-stream",
- "tracing",
-]
-
-[[package]]
 name = "aws-sdk-sso"
 version = "0.30.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1102,7 +1171,7 @@ dependencies = [
  "aws-smithy-types",
  "aws-types",
  "bytes",
- "http 0.2.11",
+ "http 0.2.12",
  "regex",
  "tokio-stream",
  "tracing",
@@ -1127,7 +1196,7 @@ dependencies = [
  "aws-smithy-types",
  "aws-smithy-xml",
  "aws-types",
- "http 0.2.11",
+ "http 0.2.12",
  "regex",
  "tracing",
 ]
@@ -1142,7 +1211,7 @@ dependencies = [
  "form_urlencoded",
  "hex",
  "hmac",
- "http 0.2.11",
+ "http 0.2.12",
  "once_cell",
  "percent-encoding",
  "regex",
@@ -1174,8 +1243,8 @@ dependencies = [
  "aws-smithy-http-tower",
  "aws-smithy-types",
  "bytes",
- "fastrand 2.0.1",
- "http 0.2.11",
+ "fastrand 2.0.2",
+ "http 0.2.12",
  "http-body",
  "hyper",
  "hyper-rustls",
@@ -1197,15 +1266,13 @@ dependencies = [
  "bytes",
  "bytes-utils",
  "futures-core",
- "http 0.2.11",
+ "http 0.2.12",
  "http-body",
  "hyper",
  "once_cell",
  "percent-encoding",
  "pin-project-lite",
  "pin-utils",
- "tokio",
- "tokio-util",
  "tracing",
 ]
 
@@ -1218,7 +1285,7 @@ dependencies = [
  "aws-smithy-http",
  "aws-smithy-types",
  "bytes",
- "http 0.2.11",
+ "http 0.2.12",
  "http-body",
  "pin-project-lite",
  "tower",
@@ -1256,8 +1323,8 @@ dependencies = [
  "aws-smithy-runtime-api",
  "aws-smithy-types",
  "bytes",
- "fastrand 2.0.1",
- "http 0.2.11",
+ "fastrand 2.0.2",
+ "http 0.2.12",
  "http-body",
  "once_cell",
  "pin-project-lite",
@@ -1276,7 +1343,7 @@ dependencies = [
  "aws-smithy-http",
  "aws-smithy-types",
  "bytes",
- "http 0.2.11",
+ "http 0.2.12",
  "tokio",
  "tracing",
 ]
@@ -1315,7 +1382,7 @@ dependencies = [
  "aws-smithy-client",
  "aws-smithy-http",
  "aws-smithy-types",
- "http 0.2.11",
+ "http 0.2.12",
  "rustc_version",
  "tracing",
 ]
@@ -1331,7 +1398,7 @@ dependencies = [
  "bitflags 1.3.2",
  "bytes",
  "futures-util",
- "http 0.2.11",
+ "http 0.2.12",
  "http-body",
  "hyper",
  "itoa",
@@ -1357,7 +1424,7 @@ dependencies = [
  "async-trait",
  "bytes",
  "futures-util",
- "http 0.2.11",
+ "http 0.2.12",
  "http-body",
  "mime",
  "rustversion",
@@ -1367,9 +1434,9 @@ dependencies = [
 
 [[package]]
 name = "backtrace"
-version = "0.3.69"
+version = "0.3.71"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837"
+checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d"
 dependencies = [
  "addr2line",
  "cc",
@@ -1411,6 +1478,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
 
 [[package]]
+name = "base64"
+version = "0.22.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9475866fec1451be56a3c2400fd081ff546538961565ccb5b7142cbd22bc7a51"
+
+[[package]]
 name = "base64-simd"
 version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1428,15 +1501,15 @@ checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b"
 
 [[package]]
 name = "base85rs"
-version = "0.1.2"
+version = "0.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7b7172542a3d446ca7b2be4e28e4f4c119a89c396712f7ca1ad2822bfc54ca2"
+checksum = "87678d33a2af71f019ed11f52db246ca6c5557edee2cccbe689676d1ad9c6b5a"
 
 [[package]]
 name = "basic-toml"
-version = "0.1.8"
+version = "0.1.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2db21524cad41c5591204d22d75e1970a2d1f71060214ca931dc7d5afe2c14e5"
+checksum = "823388e228f614e9558c6804262db37960ec8821856535f5c3f59913140558f8"
 dependencies = [
  "serde",
 ]
@@ -1473,9 +1546,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
 name = "bitflags"
-version = "2.4.2"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf"
+checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1"
 dependencies = [
  "serde",
 ]
@@ -1503,9 +1576,9 @@ dependencies = [
 
 [[package]]
 name = "blake3"
-version = "1.5.0"
+version = "1.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0231f06152bf547e9c2b5194f247cd97aacf6dcd8b15d8e5ec0663f64580da87"
+checksum = "30cca6d3674597c30ddf2c587bf8d9d65c9a84d2326d941cc79c9842dfe0ef52"
 dependencies = [
  "arrayref",
  "arrayvec",
@@ -1534,10 +1607,26 @@ dependencies = [
 ]
 
 [[package]]
+name = "blocking"
+version = "1.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118"
+dependencies = [
+ "async-channel",
+ "async-lock",
+ "async-task",
+ "fastrand 2.0.2",
+ "futures-io",
+ "futures-lite 2.3.0",
+ "piper",
+ "tracing",
+]
+
+[[package]]
 name = "borsh"
-version = "1.3.1"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f58b559fd6448c6e2fd0adb5720cd98a2506594cafa4737ff98c396f3e82f667"
+checksum = "0901fc8eb0aca4c83be0106d6f2db17d86a08dfc2c25f0e84464bf381158add6"
 dependencies = [
  "borsh-derive",
  "cfg_aliases",
@@ -1545,23 +1634,23 @@ dependencies = [
 
 [[package]]
 name = "borsh-derive"
-version = "1.3.1"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7aadb5b6ccbd078890f6d7003694e33816e6b784358f18e15e7e6d9f065a57cd"
+checksum = "51670c3aa053938b0ee3bd67c3817e471e626151131b934038e83c5bf8de48f5"
 dependencies = [
  "once_cell",
  "proc-macro-crate 3.1.0",
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
  "syn_derive",
 ]
 
 [[package]]
 name = "brotli"
-version = "3.4.0"
+version = "3.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "516074a47ef4bce09577a3b379392300159ce5b1ba2e501ff1c819950066100f"
+checksum = "d640d25bc63c50fb1f0b545ffd80207d2e10a4c965530809b40ba3386825c391"
 dependencies = [
  "alloc-no-stdlib",
  "alloc-stdlib",
@@ -1580,9 +1669,9 @@ dependencies = [
 
 [[package]]
 name = "bstr"
-version = "1.9.0"
+version = "1.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c48f0051a4b4c5e0b6d365cd04af53aeaa209e3cc15ec2cdb69e73cc87fbd0dc"
+checksum = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706"
 dependencies = [
  "memchr",
  "serde",
@@ -1590,9 +1679,9 @@ dependencies = [
 
 [[package]]
 name = "bumpalo"
-version = "3.14.0"
+version = "3.15.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
+checksum = "7ff69b9dd49fd426c69a0db9fc04dd934cdb6645ff000864d98f7e2af8830eaa"
 
 [[package]]
 name = "bytecheck"
@@ -1624,9 +1713,12 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
 
 [[package]]
 name = "bytes"
-version = "1.5.0"
+version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
+checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9"
+dependencies = [
+ "serde",
+]
 
 [[package]]
 name = "bytes-utils"
@@ -1676,9 +1768,9 @@ checksum = "4964518bd3b4a8190e832886cdc0da9794f12e8e6c1613a9e90ff331c4c8724b"
 
 [[package]]
 name = "cactus"
-version = "1.0.6"
+version = "1.0.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf034765b7d19a011c6d619e880582bf95e8186b580e6fab56589872dd87dcf5"
+checksum = "acbc26382d871df4b7442e3df10a9402bf3cf5e55cbd66f12be38861425f0564"
 
 [[package]]
 name = "cast"
@@ -1697,9 +1789,9 @@ dependencies = [
 
 [[package]]
 name = "cc"
-version = "1.0.83"
+version = "1.0.90"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
+checksum = "8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5"
 dependencies = [
  "jobserver",
  "libc",
@@ -1787,10 +1879,87 @@ dependencies = [
 ]
 
 [[package]]
+name = "chromiumoxide"
+version = "0.5.7"
+source = "git+https://github.com/mattsse/chromiumoxide?rev=348967500868c2b5dfcb3930fe483b2ff17b35ff#348967500868c2b5dfcb3930fe483b2ff17b35ff"
+dependencies = [
+ "async-tungstenite",
+ "base64 0.21.7",
+ "cfg-if 1.0.0",
+ "chromiumoxide_cdp",
+ "chromiumoxide_fetcher",
+ "chromiumoxide_types",
+ "dunce",
+ "fnv",
+ "futures",
+ "futures-timer",
+ "pin-project-lite",
+ "reqwest",
+ "serde",
+ "serde_json",
+ "thiserror",
+ "tokio",
+ "tracing",
+ "url",
+ "which",
+ "winreg 0.51.0",
+]
+
+[[package]]
+name = "chromiumoxide_cdp"
+version = "0.5.2"
+source = "git+https://github.com/mattsse/chromiumoxide?rev=348967500868c2b5dfcb3930fe483b2ff17b35ff#348967500868c2b5dfcb3930fe483b2ff17b35ff"
+dependencies = [
+ "chromiumoxide_pdl",
+ "chromiumoxide_types",
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "chromiumoxide_fetcher"
+version = "0.5.3"
+source = "git+https://github.com/mattsse/chromiumoxide?rev=348967500868c2b5dfcb3930fe483b2ff17b35ff#348967500868c2b5dfcb3930fe483b2ff17b35ff"
+dependencies = [
+ "anyhow",
+ "directories",
+ "os_info",
+ "reqwest",
+ "thiserror",
+ "tokio",
+ "zip",
+]
+
+[[package]]
+name = "chromiumoxide_pdl"
+version = "0.5.2"
+source = "git+https://github.com/mattsse/chromiumoxide?rev=348967500868c2b5dfcb3930fe483b2ff17b35ff#348967500868c2b5dfcb3930fe483b2ff17b35ff"
+dependencies = [
+ "chromiumoxide_types",
+ "either",
+ "heck 0.4.1",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "regex",
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "chromiumoxide_types"
+version = "0.5.2"
+source = "git+https://github.com/mattsse/chromiumoxide?rev=348967500868c2b5dfcb3930fe483b2ff17b35ff#348967500868c2b5dfcb3930fe483b2ff17b35ff"
+dependencies = [
+ "serde",
+ "serde_json",
+]
+
+[[package]]
 name = "chrono"
-version = "0.4.33"
+version = "0.4.37"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f13690e35a5e4ace198e7beea2895d29f3a9cc55015fcebe6336bd2010af9eb"
+checksum = "8a0d04d43504c61aa6c7531f1871dd0d418d91130162063b789da00fd7057a5e"
 dependencies = [
  "android-tzdata",
  "iana-time-zone",
@@ -1798,14 +1967,14 @@ dependencies = [
  "num-traits",
  "serde",
  "wasm-bindgen",
- "windows-targets 0.52.0",
+ "windows-targets 0.52.4",
 ]
 
 [[package]]
 name = "chrono-tz"
-version = "0.8.5"
+version = "0.8.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91d7b79e99bfaa0d47da0687c43aa3b7381938a62ad3a6498599039321f660b7"
+checksum = "d59ae0466b83e838b81a54256c39d5d7c20b9d7daa10510a242d9b75abd5936e"
 dependencies = [
  "chrono",
  "chrono-tz-build",
@@ -1909,24 +2078,24 @@ dependencies = [
 
 [[package]]
 name = "clap"
-version = "4.5.0"
+version = "4.5.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "80c21025abd42669a92efc996ef13cfb2c5c627858421ea58d5c3b331a6c134f"
+checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0"
 dependencies = [
  "clap_builder",
- "clap_derive 4.5.0",
+ "clap_derive 4.5.4",
 ]
 
 [[package]]
 name = "clap_builder"
-version = "4.5.0"
+version = "4.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "458bf1f341769dfcf849846f65dffdf9146daa56bcd2a47cb4e1de9915567c99"
+checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4"
 dependencies = [
  "anstream",
  "anstyle",
  "clap_lex 0.7.0",
- "strsim 0.11.0",
+ "strsim 0.11.1",
 ]
 
 [[package]]
@@ -1935,7 +2104,7 @@ version = "3.2.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ae6371b8bdc8b7d3959e9cf7b22d4435ef3e79e138688421ec654acf8c81b008"
 dependencies = [
- "heck",
+ "heck 0.4.1",
  "proc-macro-error",
  "proc-macro2",
  "quote",
@@ -1944,14 +2113,14 @@ dependencies = [
 
 [[package]]
 name = "clap_derive"
-version = "4.5.0"
+version = "4.5.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "307bc0538d5f0f83b8248db3087aa92fe504e4691294d0c96c0eabc33f47ba47"
+checksum = "528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64"
 dependencies = [
- "heck",
+ "heck 0.5.0",
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
@@ -1996,7 +2165,7 @@ dependencies = [
  "delegate-attr",
  "futures",
  "hostname",
- "http 0.2.11",
+ "http 0.2.12",
  "serde",
  "serde_json",
  "snafu 0.6.10",
@@ -2037,8 +2206,8 @@ version = "7.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7c64043d6c7b7a4c58e39e7efccfdea7b93d885a795d0c054a69dbbf4dd52686"
 dependencies = [
- "strum",
- "strum_macros",
+ "strum 0.25.0",
+ "strum_macros 0.25.3",
  "unicode-width",
 ]
 
@@ -2057,24 +2226,35 @@ dependencies = [
 ]
 
 [[package]]
+name = "concurrent-queue"
+version = "2.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363"
+dependencies = [
+ "crossbeam-utils",
+]
+
+[[package]]
 name = "config"
 version = "0.1.0"
 dependencies = [
  "actix-web-prometheus",
- "ahash 0.8.7",
+ "ahash 0.8.11",
  "anyhow",
  "arrow",
  "arrow-json",
  "arrow-schema",
- "aws-sdk-dynamodb",
+ "async-walkdir",
  "base64 0.21.7",
  "byteorder",
  "bytes",
+ "chromiumoxide",
  "chrono",
  "cityhasher",
  "dashmap",
  "dotenv_config",
  "dotenvy",
+ "futures",
  "get_if_addrs",
  "getrandom",
  "gxhash",
@@ -2087,14 +2267,17 @@ dependencies = [
  "memchr",
  "murmur3",
  "once_cell",
- "parking_lot 0.12.1",
+ "parking_lot",
  "parquet",
  "prometheus",
+ "proto",
  "rand",
+ "regex",
  "reqwest",
  "segment",
  "serde",
  "serde_json",
+ "sqlparser",
  "svix-ksuid",
  "sysinfo",
  "tokio",
@@ -2102,7 +2285,43 @@ dependencies = [
  "tracing-log",
  "tracing-subscriber",
  "utoipa",
- "walkdir",
+]
+
+[[package]]
+name = "console-api"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fd326812b3fd01da5bb1af7d340d0d555fd3d4b641e7f1dfcf5962a902952787"
+dependencies = [
+ "futures-core",
+ "prost 0.12.3",
+ "prost-types",
+ "tonic 0.10.2",
+ "tracing-core",
+]
+
+[[package]]
+name = "console-subscriber"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7481d4c57092cd1c19dd541b92bdce883de840df30aa5d03fd48a3935c01842e"
+dependencies = [
+ "console-api",
+ "crossbeam-channel",
+ "crossbeam-utils",
+ "futures-task",
+ "hdrhistogram",
+ "humantime",
+ "prost-types",
+ "serde",
+ "serde_json",
+ "thread_local",
+ "tokio",
+ "tokio-stream",
+ "tonic 0.10.2",
+ "tracing",
+ "tracing-core",
+ "tracing-subscriber",
 ]
 
 [[package]]
@@ -2113,9 +2332,9 @@ checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8"
 
 [[package]]
 name = "const-random"
-version = "0.1.17"
+version = "0.1.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5aaf16c9c2c612020bcfd042e170f6e32de9b9d75adb5277cdbbd2e2c8c8299a"
+checksum = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359"
 dependencies = [
  "const-random-macro",
 ]
@@ -2214,9 +2433,9 @@ checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5"
 
 [[package]]
 name = "crc32fast"
-version = "1.3.2"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
+checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa"
 dependencies = [
  "cfg-if 1.0.0",
 ]
@@ -2230,7 +2449,7 @@ dependencies = [
  "anes",
  "cast",
  "ciborium",
- "clap 4.5.0",
+ "clap 4.5.4",
  "criterion-plot",
  "is-terminal",
  "itertools 0.10.5",
@@ -2257,10 +2476,21 @@ dependencies = [
 ]
 
 [[package]]
+name = "cron"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6f8c3e73077b4b4a6ab1ea5047c37c57aee77657bc8ecd6f29b0af082d0b0c07"
+dependencies = [
+ "chrono",
+ "nom",
+ "once_cell",
+]
+
+[[package]]
 name = "crossbeam-channel"
-version = "0.5.11"
+version = "0.5.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "176dc175b78f56c0f321911d9c8eb2b77a78a4860b9c19db83835fea1a46649b"
+checksum = "ab3db02a9c5b5121e1e42fbdb1aeb65f5e02624cc58c43f2884c6ccac0b82f95"
 dependencies = [
  "crossbeam-utils",
 ]
@@ -2362,10 +2592,37 @@ dependencies = [
 ]
 
 [[package]]
+name = "curve25519-dalek"
+version = "4.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0a677b8922c94e01bdbb12126b0bc852f00447528dee1782229af9c720c3f348"
+dependencies = [
+ "cfg-if 1.0.0",
+ "cpufeatures",
+ "curve25519-dalek-derive",
+ "digest",
+ "fiat-crypto",
+ "platforms",
+ "rustc_version",
+ "subtle",
+]
+
+[[package]]
+name = "curve25519-dalek-derive"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.58",
+]
+
+[[package]]
 name = "darling"
-version = "0.20.5"
+version = "0.20.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc5d6b04b3fd0ba9926f945895de7d806260a2d7431ba82e7edaecb043c4c6b8"
+checksum = "54e36fcd13ed84ffdfda6f5be89b31287cbb80c439841fe69e04841435464391"
 dependencies = [
  "darling_core",
  "darling_macro",
@@ -2373,27 +2630,27 @@ dependencies = [
 
 [[package]]
 name = "darling_core"
-version = "0.20.5"
+version = "0.20.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "04e48a959bcd5c761246f5d090ebc2fbf7b9cd527a492b07a67510c108f1e7e3"
+checksum = "9c2cf1c23a687a1feeb728783b993c4e1ad83d99f351801977dd809b48d0a70f"
 dependencies = [
  "fnv",
  "ident_case",
  "proc-macro2",
  "quote",
  "strsim 0.10.0",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
 name = "darling_macro"
-version = "0.20.5"
+version = "0.20.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d1545d67a2149e1d93b7e5c7752dce5a7426eb5d1357ddcfd89336b94444f77"
+checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f"
 dependencies = [
  "darling_core",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
@@ -2406,7 +2663,7 @@ dependencies = [
  "hashbrown 0.14.3",
  "lock_api",
  "once_cell",
- "parking_lot_core 0.9.9",
+ "parking_lot_core",
  "serde",
 ]
 
@@ -2418,11 +2675,11 @@ checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5"
 
 [[package]]
 name = "datafusion"
-version = "35.0.0"
+version = "36.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4328f5467f76d890fe3f924362dbc3a838c6a733f762b32d87f9e0b7bef5fb49"
+checksum = "b2b360b692bf6c6d6e6b6dbaf41a3be0020daeceac0f406aed54c75331e50dbb"
 dependencies = [
- "ahash 0.8.7",
+ "ahash 0.8.11",
  "arrow",
  "arrow-array",
  "arrow-ipc",
@@ -2436,6 +2693,8 @@ dependencies = [
  "datafusion-common",
  "datafusion-execution",
  "datafusion-expr",
+ "datafusion-functions",
+ "datafusion-functions-array",
  "datafusion-optimizer",
  "datafusion-physical-expr",
  "datafusion-physical-plan",
@@ -2450,7 +2709,7 @@ dependencies = [
  "log",
  "num_cpus",
  "object_store",
- "parking_lot 0.12.1",
+ "parking_lot",
  "parquet",
  "pin-project-lite",
  "rand",
@@ -2466,11 +2725,11 @@ dependencies = [
 
 [[package]]
 name = "datafusion-common"
-version = "35.0.0"
+version = "36.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d29a7752143b446db4a2cccd9a6517293c6b97e8c39e520ca43ccd07135a4f7e"
+checksum = "37f343ccc298f440e25aa38ff82678291a7acc24061c7370ba6c0ff5cc811412"
 dependencies = [
- "ahash 0.8.7",
+ "ahash 0.8.11",
  "arrow",
  "arrow-array",
  "arrow-buffer",
@@ -2486,9 +2745,9 @@ dependencies = [
 
 [[package]]
 name = "datafusion-execution"
-version = "35.0.0"
+version = "36.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d447650af16e138c31237f53ddaef6dd4f92f0e2d3f2f35d190e16c214ca496"
+checksum = "3f9c93043081487e335399a21ebf8295626367a647ac5cb87d41d18afad7d0f7"
 dependencies = [
  "arrow",
  "chrono",
@@ -2499,7 +2758,7 @@ dependencies = [
  "hashbrown 0.14.3",
  "log",
  "object_store",
- "parking_lot 0.12.1",
+ "parking_lot",
  "rand",
  "tempfile",
  "url",
@@ -2507,25 +2766,54 @@ dependencies = [
 
 [[package]]
 name = "datafusion-expr"
-version = "35.0.0"
+version = "36.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d8d19598e48a498850fb79f97a9719b1f95e7deb64a7a06f93f313e8fa1d524b"
+checksum = "e204d89909e678846b6a95f156aafc1ee5b36cb6c9e37ec2e1449b078a38c818"
 dependencies = [
- "ahash 0.8.7",
+ "ahash 0.8.11",
  "arrow",
  "arrow-array",
  "datafusion-common",
  "paste",
  "sqlparser",
- "strum",
- "strum_macros",
+ "strum 0.26.2",
+ "strum_macros 0.26.2",
+]
+
+[[package]]
+name = "datafusion-functions"
+version = "36.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "98f1c73f7801b2b8ba2297b3ad78ffcf6c1fc6b8171f502987eb9ad5cb244ee7"
+dependencies = [
+ "arrow",
+ "base64 0.21.7",
+ "datafusion-common",
+ "datafusion-execution",
+ "datafusion-expr",
+ "hex",
+ "log",
+]
+
+[[package]]
+name = "datafusion-functions-array"
+version = "36.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "42d16a0ddf2c991526f6ffe2f47a72c6da0b7354d6c32411dd20631fe2e38937"
+dependencies = [
+ "arrow",
+ "datafusion-common",
+ "datafusion-execution",
+ "datafusion-expr",
+ "log",
+ "paste",
 ]
 
 [[package]]
 name = "datafusion-optimizer"
-version = "35.0.0"
+version = "36.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b7feb0391f1fc75575acb95b74bfd276903dc37a5409fcebe160bc7ddff2010"
+checksum = "5ae27e07bf1f04d327be5c2a293470879801ab5535204dc3b16b062fda195496"
 dependencies = [
  "arrow",
  "async-trait",
@@ -2536,26 +2824,28 @@ dependencies = [
  "hashbrown 0.14.3",
  "itertools 0.12.1",
  "log",
- "regex-syntax 0.8.2",
+ "regex-syntax 0.8.3",
 ]
 
 [[package]]
 name = "datafusion-physical-expr"
-version = "35.0.0"
+version = "36.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e911bca609c89a54e8f014777449d8290327414d3e10c57a3e3c2122e38878d0"
+checksum = "dde620cd9ef76a3bca9c754fb68854bd2349c49f55baf97e08001f9e967f6d6b"
 dependencies = [
- "ahash 0.8.7",
+ "ahash 0.8.11",
  "arrow",
  "arrow-array",
  "arrow-buffer",
  "arrow-ord",
  "arrow-schema",
+ "arrow-string",
  "base64 0.21.7",
  "blake2",
  "blake3",
  "chrono",
  "datafusion-common",
+ "datafusion-execution",
  "datafusion-expr",
  "half",
  "hashbrown 0.14.3",
@@ -2575,11 +2865,11 @@ dependencies = [
 
 [[package]]
 name = "datafusion-physical-plan"
-version = "35.0.0"
+version = "36.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e96b546b8a02e9c2ab35ac6420d511f12a4701950c1eb2e568c122b4fefb0be3"
+checksum = "9a4c75fba9ea99d64b2246cbd2fcae2e6fc973e6616b1015237a616036506dd4"
 dependencies = [
- "ahash 0.8.7",
+ "ahash 0.8.11",
  "arrow",
  "arrow-array",
  "arrow-buffer",
@@ -2597,7 +2887,7 @@ dependencies = [
  "itertools 0.12.1",
  "log",
  "once_cell",
- "parking_lot 0.12.1",
+ "parking_lot",
  "pin-project-lite",
  "rand",
  "tokio",
@@ -2606,9 +2896,9 @@ dependencies = [
 
 [[package]]
 name = "datafusion-sql"
-version = "35.0.0"
+version = "36.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d18d36f260bbbd63aafdb55339213a23d540d3419810575850ef0a798a6b768"
+checksum = "21474a95c3a62d113599d21b439fa15091b538bac06bd20be0bb2e7d22903c09"
 dependencies = [
  "arrow",
  "arrow-schema",
@@ -2646,9 +2936,9 @@ dependencies = [
 
 [[package]]
 name = "der"
-version = "0.7.8"
+version = "0.7.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c"
+checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0"
 dependencies = [
  "const-oid",
  "pem-rfc7468",
@@ -2679,12 +2969,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "diff"
-version = "0.1.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8"
-
-[[package]]
 name = "digest"
 version = "0.10.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2697,6 +2981,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "directories"
+version = "5.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a49173b84e034382284f27f1af4dcbbd231ffa358c0fe316541a7337f376a35"
+dependencies = [
+ "dirs-sys",
+]
+
+[[package]]
 name = "dirs"
 version = "5.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2780,27 +3073,55 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b"
 
 [[package]]
+name = "dunce"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b"
+
+[[package]]
 name = "dyn-clone"
-version = "1.0.16"
+version = "1.0.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "545b22097d44f8a9581187cdf93de7a71e4722bf51200cfaba810865b49a495d"
+checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125"
+
+[[package]]
+name = "ed25519"
+version = "2.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53"
+dependencies = [
+ "signature",
+]
+
+[[package]]
+name = "ed25519-dalek"
+version = "2.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871"
+dependencies = [
+ "curve25519-dalek",
+ "ed25519",
+ "sha2",
+ "signature",
+ "subtle",
+]
 
 [[package]]
 name = "either"
-version = "1.9.0"
+version = "1.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
+checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a"
 dependencies = [
  "serde",
 ]
 
 [[package]]
 name = "email-encoding"
-version = "0.2.0"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dbfb21b9878cf7a348dcb8559109aabc0ec40d69924bd706fa5149846c4fef75"
+checksum = "60d1d33cdaede7e24091f039632eb5d3c7469fe5b066a985281a34fc70fa317f"
 dependencies = [
- "base64 0.21.7",
+ "base64 0.22.0",
  "memchr",
 ]
 
@@ -2862,7 +3183,7 @@ checksum = "03cdc46ec28bd728e67540c528013c6a10eb69a02eb31078a1bda695438cbfb8"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
@@ -2910,7 +3231,7 @@ version = "0.12.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4ae697f3928e8c89ae6f4dcf788059f49fd01a76dc53e63628f5a33881f5715e"
 dependencies = [
- "http 0.2.11",
+ "http 0.2.12",
  "prost 0.12.3",
  "tokio",
  "tokio-stream",
@@ -2938,6 +3259,48 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
 
 [[package]]
+name = "event-listener"
+version = "4.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e"
+dependencies = [
+ "concurrent-queue",
+ "parking",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "event-listener"
+version = "5.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d9944b8ca13534cdfb2800775f8dd4902ff3fc75a50101466decadfdf322a24"
+dependencies = [
+ "concurrent-queue",
+ "parking",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "event-listener-strategy"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3"
+dependencies = [
+ "event-listener 4.0.3",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "event-listener-strategy"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "332f51cb23d20b0de8458b86580878211da09bcd4503cb579c225b3d124cabb3"
+dependencies = [
+ "event-listener 5.3.0",
+ "pin-project-lite",
+]
+
+[[package]]
 name = "exitcode"
 version = "1.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2945,9 +3308,9 @@ checksum = "de853764b47027c2e862a995c34978ffa63c1501f2e15f987ba11bd4f9bba193"
 
 [[package]]
 name = "expect-test"
-version = "1.4.1"
+version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30d9eafeadd538e68fb28016364c9732d78e420b9ff8853fa5e4058861e9f8d3"
+checksum = "9e0be0a561335815e06dab7c62e50353134c796e7a6155402a64bcff66b6a5e0"
 dependencies = [
  "dissimilar",
  "once_cell",
@@ -2964,15 +3327,15 @@ dependencies = [
 
 [[package]]
 name = "fastrand"
-version = "2.0.1"
+version = "2.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
+checksum = "658bd65b1cf4c852a3cc96f18a8ce7b5640f6b703f905c7d74532294c2a63984"
 
 [[package]]
 name = "faststr"
-version = "0.2.16"
+version = "0.2.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c176ff74f084f24c4fdc98ac22d11e27da8daffbcbd13f4d71180758a319c2e3"
+checksum = "803cb35bf6b85a5879e47236c828243a74fe612e5c794e229ca61b25edf55706"
 dependencies = [
  "bytes",
  "serde",
@@ -2980,6 +3343,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "fiat-crypto"
+version = "0.2.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c007b1ae3abe1cb6f85a16305acd418b7ca6343b953633fee2b76d8f108b830f"
+
+[[package]]
 name = "filetime"
 version = "0.2.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2987,7 +3356,7 @@ checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd"
 dependencies = [
  "cfg-if 1.0.0",
  "libc",
- "redox_syscall 0.4.1",
+ "redox_syscall",
  "windows-sys 0.52.0",
 ]
 
@@ -3072,16 +3441,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "fs2"
-version = "0.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213"
-dependencies = [
- "libc",
- "winapi 0.3.9",
-]
-
-[[package]]
 name = "funty"
 version = "2.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3137,7 +3496,7 @@ checksum = "1d930c203dd0b6ff06e0201a4a2fe9149b43c684fd4420555b26d21b1a02956f"
 dependencies = [
  "futures-core",
  "lock_api",
- "parking_lot 0.12.1",
+ "parking_lot",
 ]
 
 [[package]]
@@ -3162,6 +3521,19 @@ dependencies = [
 ]
 
 [[package]]
+name = "futures-lite"
+version = "2.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5"
+dependencies = [
+ "fastrand 2.0.2",
+ "futures-core",
+ "futures-io",
+ "parking",
+ "pin-project-lite",
+]
+
+[[package]]
 name = "futures-macro"
 version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3169,7 +3541,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
@@ -3185,6 +3557,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004"
 
 [[package]]
+name = "futures-timer"
+version = "3.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24"
+
+[[package]]
 name = "futures-util"
 version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3203,15 +3581,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "fxhash"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c"
-dependencies = [
- "byteorder",
-]
-
-[[package]]
 name = "gcc"
 version = "0.3.55"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3305,8 +3674,8 @@ dependencies = [
  "aho-corasick",
  "bstr",
  "log",
- "regex-automata 0.4.5",
- "regex-syntax 0.8.2",
+ "regex-automata 0.4.6",
+ "regex-syntax 0.8.3",
 ]
 
 [[package]]
@@ -3331,16 +3700,16 @@ dependencies = [
 
 [[package]]
 name = "h2"
-version = "0.3.24"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb2c4422095b67ee78da96fbb51a4cc413b3b25883c7717ff7ca1ab31022c9c9"
+checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8"
 dependencies = [
  "bytes",
  "fnv",
  "futures-core",
  "futures-sink",
  "futures-util",
- "http 0.2.11",
+ "http 0.2.12",
  "indexmap 2.1.0",
  "slab",
  "tokio",
@@ -3350,9 +3719,9 @@ dependencies = [
 
 [[package]]
 name = "half"
-version = "2.3.1"
+version = "2.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc52e53916c08643f1b56ec082790d1e86a32e58dc5268f897f313fbae7b4872"
+checksum = "b5eceaaeec696539ddaf7b333340f1af35a5aa87ae3e4f3ead0532f72affab2e"
 dependencies = [
  "cfg-if 1.0.0",
  "crunchy",
@@ -3365,7 +3734,7 @@ version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
 dependencies = [
- "ahash 0.7.7",
+ "ahash 0.7.8",
 ]
 
 [[package]]
@@ -3374,7 +3743,7 @@ version = "0.14.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
 dependencies = [
- "ahash 0.8.7",
+ "ahash 0.8.11",
  "allocator-api2",
  "serde",
 ]
@@ -3389,6 +3758,19 @@ dependencies = [
 ]
 
 [[package]]
+name = "hdrhistogram"
+version = "7.5.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "765c9198f173dd59ce26ff9f95ef0aafd0a0fe01fb9d72841bc5066a4c06511d"
+dependencies = [
+ "base64 0.21.7",
+ "byteorder",
+ "flate2",
+ "nom",
+ "num-traits",
+]
+
+[[package]]
 name = "heck"
 version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3398,6 +3780,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "heck"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
+
+[[package]]
 name = "hermit-abi"
 version = "0.1.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3408,9 +3796,9 @@ dependencies = [
 
 [[package]]
 name = "hermit-abi"
-version = "0.3.5"
+version = "0.3.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d0c62115964e08cb8039170eb33c1d0e2388a256930279edca206fff675f82c3"
+checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
 
 [[package]]
 name = "hex"
@@ -3458,9 +3846,9 @@ dependencies = [
 
 [[package]]
 name = "http"
-version = "0.2.11"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb"
+checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1"
 dependencies = [
  "bytes",
  "fnv",
@@ -3469,9 +3857,9 @@ dependencies = [
 
 [[package]]
 name = "http"
-version = "1.0.0"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b32afd38673a8016f7c9ae69e5af41a58f81b1d31689040f2f1959594ce194ea"
+checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258"
 dependencies = [
  "bytes",
  "fnv",
@@ -3494,7 +3882,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2"
 dependencies = [
  "bytes",
- "http 0.2.11",
+ "http 0.2.12",
  "pin-project-lite",
 ]
 
@@ -3536,7 +3924,7 @@ dependencies = [
  "futures-core",
  "futures-util",
  "h2",
- "http 0.2.11",
+ "http 0.2.12",
  "http-body",
  "httparse",
  "httpdate",
@@ -3556,11 +3944,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590"
 dependencies = [
  "futures-util",
- "http 0.2.11",
+ "http 0.2.12",
  "hyper",
  "log",
  "rustls 0.21.10",
- "rustls-native-certs",
+ "rustls-native-certs 0.6.3",
  "tokio",
  "tokio-rustls 0.24.1",
 ]
@@ -3645,19 +4033,20 @@ dependencies = [
 
 [[package]]
 name = "indoc"
-version = "2.0.4"
+version = "2.0.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8"
+checksum = "b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5"
 
 [[package]]
 name = "infra"
 version = "0.1.0"
 dependencies = [
- "ahash 0.8.7",
+ "ahash 0.8.11",
  "anyhow",
+ "async-nats",
+ "async-recursion",
  "async-trait",
  "aws-config",
- "aws-sdk-dynamodb",
  "bytes",
  "chrono",
  "config",
@@ -3669,10 +4058,9 @@ dependencies = [
  "log",
  "object_store",
  "once_cell",
- "parking_lot 0.12.1",
+ "parking_lot",
  "serde",
  "serde_json",
- "sled",
  "sqlx",
  "thiserror",
  "tokio",
@@ -3685,6 +4073,7 @@ version = "0.1.0"
 dependencies = [
  "arrow",
  "arrow-schema",
+ "async-walkdir",
  "byteorder",
  "bytes",
  "chrono",
@@ -3701,7 +4090,6 @@ dependencies = [
  "snafu 0.7.5",
  "tokio",
  "wal",
- "walkdir",
 ]
 
 [[package]]
@@ -3735,7 +4123,7 @@ version = "1.0.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
 dependencies = [
- "hermit-abi 0.3.5",
+ "hermit-abi 0.3.9",
  "libc",
  "windows-sys 0.48.0",
 ]
@@ -3766,11 +4154,11 @@ dependencies = [
 
 [[package]]
 name = "is-terminal"
-version = "0.4.11"
+version = "0.4.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fe8f25ce1159c7740ff0b9b2f5cdf4a8428742ba7c112b9f20f22cd5219c7dab"
+checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b"
 dependencies = [
- "hermit-abi 0.3.5",
+ "hermit-abi 0.3.9",
  "libc",
  "windows-sys 0.52.0",
 ]
@@ -3804,9 +4192,9 @@ dependencies = [
 
 [[package]]
 name = "itoa"
-version = "1.0.10"
+version = "1.0.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
+checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
 
 [[package]]
 name = "jni"
@@ -3841,9 +4229,9 @@ dependencies = [
 
 [[package]]
 name = "js-sys"
-version = "0.3.68"
+version = "0.3.69"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "406cda4b368d531c842222cf9d2600a9a4acce8d29423695379c6868a143a9ee"
+checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d"
 dependencies = [
  "wasm-bindgen",
 ]
@@ -3856,14 +4244,14 @@ checksum = "078e285eafdfb6c4b434e0d31e8cfcb5115b651496faca5749b88fafd4f23bfd"
 
 [[package]]
 name = "jsonwebtoken"
-version = "9.2.0"
+version = "9.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c7ea04a7c5c055c175f189b6dc6ba036fd62306b58c66c9f6389036c503a3f4"
+checksum = "b9ae10193d25051e74945f1ea2d0b42e03cc3b890f7e4cc5faa44997d808193f"
 dependencies = [
  "base64 0.21.7",
  "js-sys",
  "pem",
- "ring 0.17.7",
+ "ring 0.17.8",
  "serde",
  "serde_json",
  "simple_asn1",
@@ -3880,31 +4268,33 @@ dependencies = [
 
 [[package]]
 name = "lalrpop"
-version = "0.20.0"
+version = "0.20.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da4081d44f4611b66c6dd725e6de3169f9f63905421e8626fcb86b6a898998b8"
+checksum = "55cb077ad656299f160924eb2912aa147d7339ea7d69e1b5517326fdcec3c1ca"
 dependencies = [
  "ascii-canvas",
  "bit-set",
- "diff",
  "ena",
- "is-terminal",
- "itertools 0.10.5",
+ "itertools 0.11.0",
  "lalrpop-util",
  "petgraph",
  "regex",
- "regex-syntax 0.7.5",
+ "regex-syntax 0.8.3",
  "string_cache",
  "term",
  "tiny-keccak",
  "unicode-xid",
+ "walkdir",
 ]
 
 [[package]]
 name = "lalrpop-util"
-version = "0.20.0"
+version = "0.20.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f35c735096c0293d313e8f2a641627472b83d01b937177fe76e5e2708d31e0d"
+checksum = "507460a910eb7b32ee961886ff48539633b788a36b65692b95f225b844c82553"
+dependencies = [
+ "regex-automata 0.4.6",
+]
 
 [[package]]
 name = "language-tags"
@@ -3923,16 +4313,16 @@ dependencies = [
 
 [[package]]
 name = "lettre"
-version = "0.11.4"
+version = "0.11.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "357ff5edb6d8326473a64c82cf41ddf78ab116f89668c50c4fac1b321e5e80f4"
+checksum = "47460276655930189e0919e4fbf46e46476b14f934f18a63dd726a5fb7b60e2e"
 dependencies = [
  "async-trait",
- "base64 0.21.7",
+ "base64 0.22.0",
  "chumsky",
  "email-encoding",
  "email_address",
- "fastrand 2.0.1",
+ "fastrand 2.0.2",
  "futures-io",
  "futures-util",
  "hostname",
@@ -3942,11 +4332,11 @@ dependencies = [
  "nom",
  "percent-encoding",
  "quoted_printable",
- "rustls 0.22.2",
- "rustls-pemfile 2.0.0",
+ "rustls 0.23.4",
+ "rustls-pemfile 2.1.1",
  "socket2",
  "tokio",
- "tokio-rustls 0.25.0",
+ "tokio-rustls 0.26.0",
  "url",
  "webpki-roots 0.26.1",
 ]
@@ -4059,13 +4449,12 @@ dependencies = [
 
 [[package]]
 name = "libredox"
-version = "0.0.1"
+version = "0.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8"
+checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d"
 dependencies = [
- "bitflags 2.4.2",
+ "bitflags 2.5.0",
  "libc",
- "redox_syscall 0.4.1",
 ]
 
 [[package]]
@@ -4081,9 +4470,9 @@ dependencies = [
 
 [[package]]
 name = "libz-sys"
-version = "1.1.15"
+version = "1.1.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "037731f5d3aaa87a5675e895b63ddff1a87624bc29f77004ea829809654e48f6"
+checksum = "5e143b5e666b2695d28f6bca6497720813f699c9602dd7f5cac91008b8ada7f9"
 dependencies = [
  "cc",
  "pkg-config",
@@ -4091,12 +4480,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "linked-hash-map"
-version = "0.5.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
-
-[[package]]
 name = "linux-raw-sys"
 version = "0.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4137,9 +4520,9 @@ dependencies = [
 
 [[package]]
 name = "log"
-version = "0.4.20"
+version = "0.4.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
+checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
 
 [[package]]
 name = "lrlex"
@@ -4196,9 +4579,9 @@ dependencies = [
 
 [[package]]
 name = "lz4_flex"
-version = "0.11.2"
+version = "0.11.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "912b45c753ff5f7f5208307e8ace7d2a2e30d024e26d3509f3dce546c044ce15"
+checksum = "75761162ae2b0e580d7e7c390558127e5f01b4194debd6221fd8c207fc80e3f5"
 dependencies = [
  "twox-hash",
 ]
@@ -4283,9 +4666,9 @@ checksum = "8878cd8d1b3c8c8ae4b2ba0a36652b7cf192f618a599a7fbdfa25cffd4ea72dd"
 
 [[package]]
 name = "memchr"
-version = "2.7.1"
+version = "2.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
+checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d"
 
 [[package]]
 name = "memmap2"
@@ -4388,9 +4771,9 @@ checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b"
 
 [[package]]
 name = "new_debug_unreachable"
-version = "1.0.4"
+version = "1.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54"
+checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086"
 
 [[package]]
 name = "new_mime_guess"
@@ -4414,14 +4797,19 @@ dependencies = [
 ]
 
 [[package]]
-name = "nix"
-version = "0.27.1"
+name = "nkeys"
+version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053"
+checksum = "6eafe79aeb8066a6f1f84dc44c03ae97403013e946bf0b13626468e0d5e26c6f"
 dependencies = [
- "bitflags 2.4.2",
- "cfg-if 1.0.0",
- "libc",
+ "byteorder",
+ "data-encoding",
+ "ed25519",
+ "ed25519-dalek",
+ "getrandom",
+ "log",
+ "rand",
+ "signatory",
 ]
 
 [[package]]
@@ -4454,6 +4842,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "nuid"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc895af95856f929163a0aa20c26a78d26bfdc839f51b9d5aa7a5b79e52b7e83"
+dependencies = [
+ "rand",
+]
+
+[[package]]
 name = "num"
 version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4558,7 +4955,7 @@ version = "1.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
 dependencies = [
- "hermit-abi 0.3.5",
+ "hermit-abi 0.3.9",
  "libc",
 ]
 
@@ -4580,7 +4977,7 @@ dependencies = [
  "proc-macro-crate 1.3.1",
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
@@ -4603,9 +5000,9 @@ dependencies = [
 
 [[package]]
 name = "object_store"
-version = "0.9.0"
+version = "0.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d139f545f64630e2e3688fd9f81c470888ab01edeb72d13b4e86c566f1130000"
+checksum = "b8718f8b65fdf67a45108d1548347d4af7d71fb81ce727bbf9e3b2535e079db3"
 dependencies = [
  "async-trait",
  "base64 0.21.7",
@@ -4615,13 +5012,14 @@ dependencies = [
  "humantime",
  "hyper",
  "itertools 0.12.1",
- "parking_lot 0.12.1",
+ "md-5",
+ "parking_lot",
  "percent-encoding",
  "quick-xml",
  "rand",
  "reqwest",
- "ring 0.17.7",
- "rustls-pemfile 2.0.0",
+ "ring 0.17.8",
+ "rustls-pemfile 2.1.1",
  "serde",
  "serde_json",
  "snafu 0.7.5",
@@ -4676,13 +5074,13 @@ checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575"
 
 [[package]]
 name = "opaque-debug"
-version = "0.3.0"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
+checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381"
 
 [[package]]
 name = "openobserve"
-version = "0.9.0"
+version = "0.10.0"
 dependencies = [
  "actix-cors",
  "actix-multipart",
@@ -4692,21 +5090,25 @@ dependencies = [
  "actix-web-opentelemetry",
  "actix-web-prometheus",
  "actix-web-rust-embed-responder",
- "ahash 0.8.7",
+ "ahash 0.8.11",
  "anyhow",
  "argon2",
  "arrow",
  "arrow-schema",
  "async-recursion",
  "async-trait",
+ "async-walkdir",
  "awc",
  "base64 0.21.7",
  "blake3",
  "bytes",
+ "chromiumoxide",
  "chrono",
- "clap 4.5.0",
+ "clap 4.5.4",
  "cloudevents-sdk",
  "config",
+ "console-subscriber",
+ "cron",
  "csv",
  "dashmap",
  "datafusion",
@@ -4739,18 +5141,18 @@ dependencies = [
  "opentelemetry-otlp",
  "opentelemetry-proto",
  "opentelemetry_sdk",
- "parking_lot 0.12.1",
+ "parking_lot",
  "parquet",
  "prometheus",
  "promql-parser",
- "prost 0.11.9",
- "prost-build 0.11.9",
+ "prost 0.12.3",
+ "proto",
  "pyroscope",
  "pyroscope_pprofrs",
  "rand",
  "rayon",
  "regex",
- "regex-syntax 0.8.2",
+ "regex-syntax 0.8.3",
  "reqwest",
  "rust-embed-for-web",
  "segment",
@@ -4760,7 +5162,7 @@ dependencies = [
  "snafu 0.7.5",
  "snap",
  "sqlparser",
- "strum",
+ "strum 0.25.0",
  "sysinfo",
  "syslog_loose 0.18.0",
  "thiserror",
@@ -4768,8 +5170,7 @@ dependencies = [
  "time",
  "tokio",
  "tokio-stream",
- "tonic 0.9.2",
- "tonic-build 0.9.2",
+ "tonic 0.11.0",
  "tracing",
  "tracing-appender",
  "tracing-opentelemetry",
@@ -4778,8 +5179,8 @@ dependencies = [
  "url",
  "utoipa",
  "utoipa-swagger-ui",
+ "version-compare",
  "vrl",
- "walkdir",
  "zstd",
 ]
 
@@ -4791,13 +5192,12 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
 
 [[package]]
 name = "opentelemetry"
-version = "0.21.0"
+version = "0.22.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e32339a5dc40459130b3bd269e9892439f55b33e772d2a9d402a789baaf4e8a"
+checksum = "900d57987be3f2aeb70d385fff9b27fb74c5723cc9a52d904d4f9c807a0667bf"
 dependencies = [
  "futures-core",
  "futures-sink",
- "indexmap 2.1.0",
  "js-sys",
  "once_cell",
  "pin-project-lite",
@@ -4807,66 +5207,63 @@ dependencies = [
 
 [[package]]
 name = "opentelemetry-http"
-version = "0.10.0"
+version = "0.11.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f51189ce8be654f9b5f7e70e49967ed894e84a06fc35c6c042e64ac1fc5399e"
+checksum = "7690dc77bf776713848c4faa6501157469017eaf332baccd4eb1cea928743d94"
 dependencies = [
  "async-trait",
  "bytes",
- "http 0.2.11",
+ "http 0.2.12",
  "opentelemetry",
  "reqwest",
 ]
 
 [[package]]
 name = "opentelemetry-otlp"
-version = "0.14.0"
+version = "0.15.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f24cda83b20ed2433c68241f918d0f6fdec8b1d43b7a9590ab4420c5095ca930"
+checksum = "1a016b8d9495c639af2145ac22387dcb88e44118e45320d9238fbf4e7889abcb"
 dependencies = [
  "async-trait",
  "futures-core",
- "http 0.2.11",
+ "http 0.2.12",
  "opentelemetry",
  "opentelemetry-http",
  "opentelemetry-proto",
  "opentelemetry-semantic-conventions",
  "opentelemetry_sdk",
- "prost 0.11.9",
+ "prost 0.12.3",
  "reqwest",
  "serde",
  "thiserror",
  "tokio",
- "tonic 0.9.2",
+ "tonic 0.11.0",
 ]
 
 [[package]]
 name = "opentelemetry-proto"
-version = "0.4.0"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2e155ce5cc812ea3d1dffbd1539aed653de4bf4882d60e6e04dcf0901d674e1"
+checksum = "3a8fddc9b68f5b80dae9d6f510b88e02396f006ad48cac349411fbecc80caae4"
 dependencies = [
  "opentelemetry",
  "opentelemetry_sdk",
- "prost 0.11.9",
+ "prost 0.12.3",
  "serde",
- "tonic 0.9.2",
+ "tonic 0.11.0",
 ]
 
 [[package]]
 name = "opentelemetry-semantic-conventions"
-version = "0.13.0"
+version = "0.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f5774f1ef1f982ef2a447f6ee04ec383981a3ab99c8e77a1a7b30182e65bbc84"
-dependencies = [
- "opentelemetry",
-]
+checksum = "f9ab5bd6c42fb9349dcf28af2ba9a0667f697f9bdcca045d39f2cec5543e2910"
 
 [[package]]
 name = "opentelemetry_sdk"
-version = "0.21.2"
+version = "0.22.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2f16aec8a98a457a52664d69e0091bac3a0abd18ead9b641cb00202ba4e0efe4"
+checksum = "9e90c7113be649e31e9a0f8b5ee24ed7a16923b322c3c5ab6367469c049d6b7e"
 dependencies = [
  "async-trait",
  "crossbeam-channel",
@@ -4910,6 +5307,16 @@ dependencies = [
 ]
 
 [[package]]
+name = "os_info"
+version = "3.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ae99c7fa6dd38c7cafe1ec085e804f8f555a2f8659b0dbe03f1f9963a9b51092"
+dependencies = [
+ "log",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
 name = "os_str_bytes"
 version = "6.6.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4945,37 +5352,12 @@ checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae"
 
 [[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 0.8.6",
-]
-
-[[package]]
-name = "parking_lot"
 version = "0.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
 dependencies = [
  "lock_api",
- "parking_lot_core 0.9.9",
-]
-
-[[package]]
-name = "parking_lot_core"
-version = "0.8.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc"
-dependencies = [
- "cfg-if 1.0.0",
- "instant",
- "libc",
- "redox_syscall 0.2.16",
- "smallvec",
- "winapi 0.3.9",
+ "parking_lot_core",
 ]
 
 [[package]]
@@ -4986,7 +5368,7 @@ checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
 dependencies = [
  "cfg-if 1.0.0",
  "libc",
- "redox_syscall 0.4.1",
+ "redox_syscall",
  "smallvec",
  "windows-targets 0.48.5",
 ]
@@ -4997,7 +5379,7 @@ version = "50.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "547b92ebf0c1177e3892f44c8f79757ee62e678d564a9834189725f2c5b7a750"
 dependencies = [
- "ahash 0.8.7",
+ "ahash 0.8.11",
  "arrow-array",
  "arrow-buffer",
  "arrow-cast",
@@ -5091,9 +5473,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
 
 [[package]]
 name = "pest"
-version = "2.7.7"
+version = "2.7.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "219c0dcc30b6a27553f9cc242972b67f75b60eb0db71f0b5462f38b058c41546"
+checksum = "311fb059dee1a7b802f036316d790138c613a4e8b180c822e3925a662e9f0c95"
 dependencies = [
  "memchr",
  "thiserror",
@@ -5102,9 +5484,9 @@ dependencies = [
 
 [[package]]
 name = "pest_derive"
-version = "2.7.7"
+version = "2.7.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "22e1288dbd7786462961e69bfd4df7848c1e37e8b74303dbdab82c3a9cdd2809"
+checksum = "f73541b156d32197eecda1a4014d7f868fd2bcb3c550d5386087cfba442bf69c"
 dependencies = [
  "pest",
  "pest_generator",
@@ -5112,22 +5494,22 @@ dependencies = [
 
 [[package]]
 name = "pest_generator"
-version = "2.7.7"
+version = "2.7.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1381c29a877c6d34b8c176e734f35d7f7f5b3adaefe940cb4d1bb7af94678e2e"
+checksum = "c35eeed0a3fab112f75165fdc026b3913f4183133f19b49be773ac9ea966e8bd"
 dependencies = [
  "pest",
  "pest_meta",
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
 name = "pest_meta"
-version = "2.7.7"
+version = "2.7.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d0934d6907f148c22a3acbda520c7eed243ad7487a30f51f6ce52b58b7077a8a"
+checksum = "2adbf29bb9776f28caece835398781ab24435585fe0d4dc1374a61db5accedca"
 dependencies = [
  "once_cell",
  "pest",
@@ -5193,29 +5575,29 @@ dependencies = [
 
 [[package]]
 name = "pin-project"
-version = "1.1.4"
+version = "1.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0302c4a0442c456bd56f841aee5c3bfd17967563f6fadc9ceb9f9c23cf3807e0"
+checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3"
 dependencies = [
  "pin-project-internal",
 ]
 
 [[package]]
 name = "pin-project-internal"
-version = "1.1.4"
+version = "1.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "266c042b60c9c76b8d53061e52b2e0d1116abc57cefc8c5cd671619a56ac3690"
+checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
 name = "pin-project-lite"
-version = "0.2.13"
+version = "0.2.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
+checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02"
 
 [[package]]
 name = "pin-utils"
@@ -5224,6 +5606,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
 
 [[package]]
+name = "piper"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4"
+dependencies = [
+ "atomic-waker",
+ "fastrand 2.0.2",
+ "futures-io",
+]
+
+[[package]]
 name = "pkcs1"
 version = "0.7.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5246,9 +5639,15 @@ dependencies = [
 
 [[package]]
 name = "pkg-config"
-version = "0.3.29"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec"
+
+[[package]]
+name = "platforms"
+version = "3.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2900ede94e305130c13ddd391e0ab7cbaeb783945ae07a279c268cb05109c6cb"
+checksum = "db23d408679286588f4d4644f965003d056e3dd5abcaaa938116871d7ce2fee7"
 
 [[package]]
 name = "poly1305"
@@ -5262,6 +5661,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "portable-atomic"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0"
+
+[[package]]
 name = "powerfmt"
 version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5278,9 +5683,9 @@ dependencies = [
  "findshlibs",
  "libc",
  "log",
- "nix 0.26.4",
+ "nix",
  "once_cell",
- "parking_lot 0.12.1",
+ "parking_lot",
  "smallvec",
  "symbolic-demangle",
  "tempfile",
@@ -5301,22 +5706,12 @@ checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"
 
 [[package]]
 name = "prettyplease"
-version = "0.1.25"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c8646e95016a7a6c4adea95bafa8a16baab64b583356217f2c85db4a39d9a86"
-dependencies = [
- "proc-macro2",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "prettyplease"
-version = "0.2.16"
+version = "0.2.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a41cf62165e97c7f814d2221421dbb9afcbcdb0a88068e5ea206e19951c2cbb5"
+checksum = "8d3928fb5db768cb86f891ff014f0144589297e3c6a1aba6ed7cecfdace270c7"
 dependencies = [
  "proc-macro2",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
@@ -5377,9 +5772,9 @@ dependencies = [
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.78"
+version = "1.0.79"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
+checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e"
 dependencies = [
  "unicode-ident",
 ]
@@ -5408,7 +5803,7 @@ dependencies = [
  "lazy_static",
  "libc",
  "memchr",
- "parking_lot 0.12.1",
+ "parking_lot",
  "procfs",
  "protobuf",
  "thiserror",
@@ -5449,44 +5844,22 @@ dependencies = [
 
 [[package]]
 name = "prost-build"
-version = "0.11.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "119533552c9a7ffacc21e099c24a0ac8bb19c2a2a3f363de84cd9b844feab270"
-dependencies = [
- "bytes",
- "heck",
- "itertools 0.10.5",
- "lazy_static",
- "log",
- "multimap",
- "petgraph",
- "prettyplease 0.1.25",
- "prost 0.11.9",
- "prost-types 0.11.9",
- "regex",
- "syn 1.0.109",
- "tempfile",
- "which",
-]
-
-[[package]]
-name = "prost-build"
 version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c55e02e35260070b6f716a2423c2ff1c3bb1642ddca6f99e1f26d06268a0e2d2"
 dependencies = [
  "bytes",
- "heck",
+ "heck 0.4.1",
  "itertools 0.11.0",
  "log",
  "multimap",
  "once_cell",
  "petgraph",
- "prettyplease 0.2.16",
+ "prettyplease",
  "prost 0.12.3",
- "prost-types 0.12.3",
+ "prost-types",
  "regex",
- "syn 2.0.48",
+ "syn 2.0.58",
  "tempfile",
  "which",
 ]
@@ -5514,25 +5887,28 @@ dependencies = [
  "itertools 0.11.0",
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
 name = "prost-types"
-version = "0.11.9"
+version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "213622a1460818959ac1181aaeb2dc9c7f63df720db7d788b3e24eacd1983e13"
+checksum = "193898f59edcf43c26227dcd4c8427f00d99d61e95dcde58dabd49fa291d470e"
 dependencies = [
- "prost 0.11.9",
+ "prost 0.12.3",
 ]
 
 [[package]]
-name = "prost-types"
-version = "0.12.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "193898f59edcf43c26227dcd4c8427f00d99d61e95dcde58dabd49fa291d470e"
+name = "proto"
+version = "0.1.0"
 dependencies = [
  "prost 0.12.3",
+ "prost-build",
+ "serde",
+ "serde_json",
+ "tonic 0.11.0",
+ "tonic-build 0.11.0",
 ]
 
 [[package]]
@@ -5694,9 +6070,9 @@ checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9"
 
 [[package]]
 name = "rayon"
-version = "1.8.1"
+version = "1.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa7237101a77a10773db45d62004a272517633fbcc3df19d96455ede1122e051"
+checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa"
 dependencies = [
  "either",
  "rayon-core",
@@ -5714,15 +6090,6 @@ dependencies = [
 
 [[package]]
 name = "redox_syscall"
-version = "0.2.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
-dependencies = [
- "bitflags 1.3.2",
-]
-
-[[package]]
-name = "redox_syscall"
 version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
@@ -5732,9 +6099,9 @@ dependencies = [
 
 [[package]]
 name = "redox_users"
-version = "0.4.4"
+version = "0.4.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4"
+checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891"
 dependencies = [
  "getrandom",
  "libredox",
@@ -5743,14 +6110,14 @@ dependencies = [
 
 [[package]]
 name = "regex"
-version = "1.10.3"
+version = "1.10.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15"
+checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c"
 dependencies = [
  "aho-corasick",
  "memchr",
- "regex-automata 0.4.5",
- "regex-syntax 0.8.2",
+ "regex-automata 0.4.6",
+ "regex-syntax 0.8.3",
 ]
 
 [[package]]
@@ -5764,13 +6131,13 @@ dependencies = [
 
 [[package]]
 name = "regex-automata"
-version = "0.4.5"
+version = "0.4.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd"
+checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea"
 dependencies = [
  "aho-corasick",
  "memchr",
- "regex-syntax 0.8.2",
+ "regex-syntax 0.8.3",
 ]
 
 [[package]]
@@ -5781,15 +6148,9 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
 
 [[package]]
 name = "regex-syntax"
-version = "0.7.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da"
-
-[[package]]
-name = "regex-syntax"
-version = "0.8.2"
+version = "0.8.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
+checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56"
 
 [[package]]
 name = "rend"
@@ -5802,9 +6163,9 @@ dependencies = [
 
 [[package]]
 name = "reqwest"
-version = "0.11.24"
+version = "0.11.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c6920094eb85afde5e4a138be3f2de8bbdf28000f0029e72c45025a56b042251"
+checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62"
 dependencies = [
  "base64 0.21.7",
  "bytes",
@@ -5812,7 +6173,7 @@ dependencies = [
  "futures-core",
  "futures-util",
  "h2",
- "http 0.2.11",
+ "http 0.2.12",
  "http-body",
  "hyper",
  "hyper-rustls",
@@ -5824,7 +6185,7 @@ dependencies = [
  "percent-encoding",
  "pin-project-lite",
  "rustls 0.21.10",
- "rustls-native-certs",
+ "rustls-native-certs 0.6.3",
  "rustls-pemfile 1.0.4",
  "serde",
  "serde_json",
@@ -5841,7 +6202,7 @@ dependencies = [
  "wasm-streams",
  "web-sys",
  "webpki-roots 0.25.4",
- "winreg",
+ "winreg 0.50.0",
 ]
 
 [[package]]
@@ -5861,16 +6222,17 @@ dependencies = [
 
 [[package]]
 name = "ring"
-version = "0.17.7"
+version = "0.17.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "688c63d65483050968b2a8937f7995f443e27041a0f7700aa59b0822aedebb74"
+checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d"
 dependencies = [
  "cc",
+ "cfg-if 1.0.0",
  "getrandom",
  "libc",
  "spin 0.9.8",
  "untrusted 0.9.0",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -5939,9 +6301,9 @@ dependencies = [
 
 [[package]]
 name = "rust-embed"
-version = "8.2.0"
+version = "8.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a82c0bbc10308ed323529fd3c1dce8badda635aa319a5ff0e6466f33b8101e3f"
+checksum = "fb78f46d0066053d16d4ca7b898e9343bc3530f71c61d5ad84cd404ada068745"
 dependencies = [
  "rust-embed-impl",
  "rust-embed-utils",
@@ -5972,7 +6334,7 @@ dependencies = [
  "quote",
  "rust-embed-for-web-utils",
  "shellexpand",
- "syn 2.0.48",
+ "syn 2.0.58",
  "walkdir",
 ]
 
@@ -5992,23 +6354,23 @@ dependencies = [
 
 [[package]]
 name = "rust-embed-impl"
-version = "8.2.0"
+version = "8.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6227c01b1783cdfee1bcf844eb44594cd16ec71c35305bf1c9fb5aade2735e16"
+checksum = "b91ac2a3c6c0520a3fb3dd89321177c3c692937c4eb21893378219da10c44fc8"
 dependencies = [
  "proc-macro2",
  "quote",
  "rust-embed-utils",
  "shellexpand",
- "syn 2.0.48",
+ "syn 2.0.58",
  "walkdir",
 ]
 
 [[package]]
 name = "rust-embed-utils"
-version = "8.2.0"
+version = "8.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8cb0a25bfbb2d4b4402179c2cf030387d9990857ce08a32592c6238db9fa8665"
+checksum = "86f69089032567ffff4eada41c573fc43ff466c7db7c5688b2e7969584345581"
 dependencies = [
  "sha2",
  "walkdir",
@@ -6016,9 +6378,9 @@ dependencies = [
 
 [[package]]
 name = "rust_decimal"
-version = "1.34.2"
+version = "1.35.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "755392e1a2f77afd95580d3f0d0e94ac83eeeb7167552c9b5bca549e61a94d83"
+checksum = "1790d1c4c0ca81211399e0e0af16333276f375209e71a37b67698a373db5b47a"
 dependencies = [
  "arrayvec",
  "borsh",
@@ -6061,11 +6423,11 @@ dependencies = [
 
 [[package]]
 name = "rustix"
-version = "0.38.31"
+version = "0.38.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949"
+checksum = "65e04861e65f21776e67888bfbea442b3642beaa0138fdb1dd7a84a52dffdb89"
 dependencies = [
- "bitflags 2.4.2",
+ "bitflags 2.5.0",
  "errno",
  "libc",
  "linux-raw-sys 0.4.13",
@@ -6079,19 +6441,34 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba"
 dependencies = [
  "log",
- "ring 0.17.7",
+ "ring 0.17.8",
  "rustls-webpki 0.101.7",
  "sct",
 ]
 
 [[package]]
 name = "rustls"
-version = "0.22.2"
+version = "0.22.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e87c9956bd9807afa1f77e0f7594af32566e830e088a5576d27c5b6f30f49d41"
+checksum = "99008d7ad0bbbea527ec27bddbc0e432c5b87d8175178cee68d2eec9c4a1813c"
 dependencies = [
  "log",
- "ring 0.17.7",
+ "ring 0.17.8",
+ "rustls-pki-types",
+ "rustls-webpki 0.102.2",
+ "subtle",
+ "zeroize",
+]
+
+[[package]]
+name = "rustls"
+version = "0.23.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8c4d6d8ad9f2492485e13453acbb291dd08f64441b6609c491f1c2cd2c6b4fe1"
+dependencies = [
+ "log",
+ "once_cell",
+ "ring 0.17.8",
  "rustls-pki-types",
  "rustls-webpki 0.102.2",
  "subtle",
@@ -6111,6 +6488,19 @@ dependencies = [
 ]
 
 [[package]]
+name = "rustls-native-certs"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f1fb85efa936c42c6d5fc28d2629bb51e4b2f4b8a5211e297d599cc5a093792"
+dependencies = [
+ "openssl-probe",
+ "rustls-pemfile 2.1.1",
+ "rustls-pki-types",
+ "schannel",
+ "security-framework",
+]
+
+[[package]]
 name = "rustls-pemfile"
 version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -6121,9 +6511,9 @@ dependencies = [
 
 [[package]]
 name = "rustls-pemfile"
-version = "2.0.0"
+version = "2.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35e4980fa29e4c4b212ffb3db068a564cbf560e51d3944b7c88bd8bf5bec64f4"
+checksum = "f48172685e6ff52a556baa527774f61fcaa884f59daf3375c62a3f1cd2549dab"
 dependencies = [
  "base64 0.21.7",
  "rustls-pki-types",
@@ -6131,9 +6521,9 @@ dependencies = [
 
 [[package]]
 name = "rustls-pki-types"
-version = "1.2.0"
+version = "1.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0a716eb65e3158e90e17cd93d855216e27bde02745ab842f2cab4a39dba1bacf"
+checksum = "ecd36cc4259e3e4514335c4a138c6b43171a8d61d8f5c9348f9fc7529416f247"
 
 [[package]]
 name = "rustls-webpki"
@@ -6141,7 +6531,7 @@ version = "0.101.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765"
 dependencies = [
- "ring 0.17.7",
+ "ring 0.17.8",
  "untrusted 0.9.0",
 ]
 
@@ -6151,7 +6541,7 @@ version = "0.102.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "faaa0a62740bedb9b2ef5afa303da42764c012f743917351dc9a237ea1663610"
 dependencies = [
- "ring 0.17.7",
+ "ring 0.17.8",
  "rustls-pki-types",
  "untrusted 0.9.0",
 ]
@@ -6168,13 +6558,13 @@ version = "12.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "994eca4bca05c87e86e15d90fc7a91d1be64b4482b38cb2d27474568fe7c9db9"
 dependencies = [
- "bitflags 2.4.2",
+ "bitflags 2.5.0",
  "cfg-if 1.0.0",
  "clipboard-win",
  "libc",
  "log",
  "memchr",
- "nix 0.26.4",
+ "nix",
  "scopeguard",
  "unicode-segmentation",
  "unicode-width",
@@ -6184,9 +6574,9 @@ dependencies = [
 
 [[package]]
 name = "ryu"
-version = "1.0.16"
+version = "1.0.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c"
+checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1"
 
 [[package]]
 name = "salsa20"
@@ -6227,7 +6617,7 @@ version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414"
 dependencies = [
- "ring 0.17.7",
+ "ring 0.17.8",
  "untrusted 0.9.0",
 ]
 
@@ -6239,9 +6629,9 @@ checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b"
 
 [[package]]
 name = "security-framework"
-version = "2.9.2"
+version = "2.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de"
+checksum = "770452e37cad93e0a50d5abc3990d2bc351c36d0328f86cefec2f2fb206eaef6"
 dependencies = [
  "bitflags 1.3.2",
  "core-foundation",
@@ -6252,9 +6642,9 @@ dependencies = [
 
 [[package]]
 name = "security-framework-sys"
-version = "2.9.1"
+version = "2.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a"
+checksum = "41f3cc463c0ef97e11c3461a9d3787412d30e8e7eb907c79180c4a57bf7c04ef"
 dependencies = [
  "core-foundation-sys",
  "libc",
@@ -6276,9 +6666,9 @@ dependencies = [
 
 [[package]]
 name = "semver"
-version = "1.0.21"
+version = "1.0.22"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0"
+checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca"
 
 [[package]]
 name = "seq-macro"
@@ -6288,29 +6678,29 @@ checksum = "a3f0bf26fd526d2a95683cd0f87bf103b8539e2ca1ef48ce002d67aad59aa0b4"
 
 [[package]]
 name = "serde"
-version = "1.0.196"
+version = "1.0.197"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32"
+checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.196"
+version = "1.0.197"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67"
+checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
 name = "serde_html_form"
-version = "0.2.4"
+version = "0.2.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "20e1066e1cfa6692a722cf40386a2caec36da5ddc4a2c16df592f0f609677e8c"
+checksum = "8de514ef58196f1fc96dcaef80fe6170a1ce6215df9687a93fe8300e773fefc5"
 dependencies = [
  "form_urlencoded",
  "indexmap 2.1.0",
@@ -6321,9 +6711,9 @@ dependencies = [
 
 [[package]]
 name = "serde_json"
-version = "1.0.113"
+version = "1.0.115"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "69801b70b1c3dac963ecb03a364ba0ceda9cf60c71cfe475e99864759c8b8a79"
+checksum = "12dc5c46daa8e9fdf4f5e71b6cf9a53f2487da0e86e55808e2d35539666497dd"
 dependencies = [
  "itoa",
  "ryu",
@@ -6331,6 +6721,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "serde_nanos"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ae801b7733ca8d6a2b580debe99f67f36826a0f5b8a36055dc6bc40f8d6bc71"
+dependencies = [
+ "serde",
+]
+
+[[package]]
 name = "serde_plain"
 version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -6340,6 +6739,17 @@ dependencies = [
 ]
 
 [[package]]
+name = "serde_repr"
+version = "0.1.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b2e6b945e9d3df726b65d6ee24060aff8e3533d431f677a9695db04eff9dfdb"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.58",
+]
+
+[[package]]
 name = "serde_urlencoded"
 version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -6353,14 +6763,15 @@ dependencies = [
 
 [[package]]
 name = "serde_yaml"
-version = "0.8.26"
+version = "0.9.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "578a7433b776b56a35785ed5ce9a7e777ac0598aac5a6dd1b4b18a307c7fc71b"
+checksum = "b1bf28c79a99f70ee1f1d83d10c875d2e70618417fda01ad1785e027579d9d38"
 dependencies = [
- "indexmap 1.9.3",
+ "indexmap 2.1.0",
+ "itoa",
  "ryu",
  "serde",
- "yaml-rust",
+ "unsafe-libyaml",
 ]
 
 [[package]]
@@ -6447,6 +6858,18 @@ dependencies = [
 ]
 
 [[package]]
+name = "signatory"
+version = "0.27.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c1e303f8205714074f6068773f0e29527e0453937fe837c9717d066635b65f31"
+dependencies = [
+ "pkcs8",
+ "rand_core",
+ "signature",
+ "zeroize",
+]
+
+[[package]]
 name = "signature"
 version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -6490,26 +6913,10 @@ dependencies = [
 ]
 
 [[package]]
-name = "sled"
-version = "0.34.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f96b4737c2ce5987354855aed3797279def4ebf734436c6aa4552cf8e169935"
-dependencies = [
- "crc32fast",
- "crossbeam-epoch",
- "crossbeam-utils",
- "fs2",
- "fxhash",
- "libc",
- "log",
- "parking_lot 0.11.2",
-]
-
-[[package]]
 name = "smallvec"
-version = "1.13.1"
+version = "1.13.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
+checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
 
 [[package]]
 name = "snafu"
@@ -6548,7 +6955,7 @@ version = "0.7.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "990079665f075b699031e9c08fd3ab99be5029b96f3b78dc0709e8f77e4efebf"
 dependencies = [
- "heck",
+ "heck 0.4.1",
  "proc-macro2",
  "quote",
  "syn 1.0.109",
@@ -6562,12 +6969,12 @@ checksum = "1b6b67fb9a61334225b5b790716f609cd58395f895b3fe8b328786812a40bc3b"
 
 [[package]]
 name = "socket2"
-version = "0.5.5"
+version = "0.5.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
+checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871"
 dependencies = [
  "libc",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -6620,9 +7027,9 @@ dependencies = [
 
 [[package]]
 name = "sqlparser"
-version = "0.41.0"
+version = "0.43.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5cc2c25a6c66789625ef164b4c7d2e548d627902280c13710d33da8222169964"
+checksum = "f95c4bae5aba7cd30bd506f7140026ade63cff5afd778af8854026f9606bf5d4"
 dependencies = [
  "log",
  "serde",
@@ -6637,14 +7044,14 @@ checksum = "01b2e185515564f15375f593fb966b5718bc624ba77fe49fa4616ad619690554"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
 name = "sqlx"
-version = "0.7.3"
+version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dba03c279da73694ef99763320dea58b51095dfe87d001b1d4b5fe78ba8763cf"
+checksum = "c9a2ccff1a000a5a59cd33da541d9f2fdcd9e6e8229cc200565942bff36d0aaa"
 dependencies = [
  "sqlx-core",
  "sqlx-macros",
@@ -6655,20 +7062,19 @@ dependencies = [
 
 [[package]]
 name = "sqlx-core"
-version = "0.7.3"
+version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d84b0a3c3739e220d94b3239fd69fb1f74bc36e16643423bd99de3b43c21bfbd"
+checksum = "24ba59a9342a3d9bab6c56c118be528b27c9b60e490080e9711a04dccac83ef6"
 dependencies = [
- "ahash 0.8.7",
+ "ahash 0.8.11",
  "atoi",
  "byteorder",
  "bytes",
  "chrono",
  "crc",
  "crossbeam-queue",
- "dotenvy",
  "either",
- "event-listener",
+ "event-listener 2.5.3",
  "futures-channel",
  "futures-core",
  "futures-intrusive",
@@ -6699,9 +7105,9 @@ dependencies = [
 
 [[package]]
 name = "sqlx-macros"
-version = "0.7.3"
+version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89961c00dc4d7dffb7aee214964b065072bff69e36ddb9e2c107541f75e4f2a5"
+checksum = "4ea40e2345eb2faa9e1e5e326db8c34711317d2b5e08d0d5741619048a803127"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -6712,14 +7118,13 @@ dependencies = [
 
 [[package]]
 name = "sqlx-macros-core"
-version = "0.7.3"
+version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d0bd4519486723648186a08785143599760f7cc81c52334a55d6a83ea1e20841"
+checksum = "5833ef53aaa16d860e92123292f1f6a3d53c34ba8b1969f152ef1a7bb803f3c8"
 dependencies = [
- "atomic-write-file",
  "dotenvy",
  "either",
- "heck",
+ "heck 0.4.1",
  "hex",
  "once_cell",
  "proc-macro2",
@@ -6739,13 +7144,13 @@ dependencies = [
 
 [[package]]
 name = "sqlx-mysql"
-version = "0.7.3"
+version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e37195395df71fd068f6e2082247891bc11e3289624bbc776a0cdfa1ca7f1ea4"
+checksum = "1ed31390216d20e538e447a7a9b959e06ed9fc51c37b514b46eb758016ecd418"
 dependencies = [
  "atoi",
  "base64 0.21.7",
- "bitflags 2.4.2",
+ "bitflags 2.5.0",
  "byteorder",
  "bytes",
  "chrono",
@@ -6782,13 +7187,13 @@ dependencies = [
 
 [[package]]
 name = "sqlx-postgres"
-version = "0.7.3"
+version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d6ac0ac3b7ccd10cc96c7ab29791a7dd236bd94021f31eec7ba3d46a74aa1c24"
+checksum = "7c824eb80b894f926f89a0b9da0c7f435d27cdd35b8c655b114e58223918577e"
 dependencies = [
  "atoi",
  "base64 0.21.7",
- "bitflags 2.4.2",
+ "bitflags 2.5.0",
  "byteorder",
  "chrono",
  "crc",
@@ -6810,7 +7215,6 @@ dependencies = [
  "rand",
  "serde",
  "serde_json",
- "sha1",
  "sha2",
  "smallvec",
  "sqlx-core",
@@ -6822,9 +7226,9 @@ dependencies = [
 
 [[package]]
 name = "sqlx-sqlite"
-version = "0.7.3"
+version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "210976b7d948c7ba9fced8ca835b11cbb2d677c59c79de41ac0d397e14547490"
+checksum = "b244ef0a8414da0bed4bb1910426e890b19e5e9bccc27ada6b797d05c55ae0aa"
 dependencies = [
  "atoi",
  "chrono",
@@ -6883,7 +7287,7 @@ checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b"
 dependencies = [
  "new_debug_unreachable",
  "once_cell",
- "parking_lot 0.12.1",
+ "parking_lot",
  "phf_shared 0.10.0",
  "precomputed-hash",
 ]
@@ -6916,9 +7320,9 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
 
 [[package]]
 name = "strsim"
-version = "0.11.0"
+version = "0.11.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01"
+checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
 
 [[package]]
 name = "strum"
@@ -6926,7 +7330,16 @@ version = "0.25.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125"
 dependencies = [
- "strum_macros",
+ "strum_macros 0.25.3",
+]
+
+[[package]]
+name = "strum"
+version = "0.26.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5d8cec3501a5194c432b2b7976db6b7d10ec95c253208b45f83f7136aa985e29"
+dependencies = [
+ "strum_macros 0.26.2",
 ]
 
 [[package]]
@@ -6935,11 +7348,24 @@ version = "0.25.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0"
 dependencies = [
- "heck",
+ "heck 0.4.1",
  "proc-macro2",
  "quote",
  "rustversion",
- "syn 2.0.48",
+ "syn 2.0.58",
+]
+
+[[package]]
+name = "strum_macros"
+version = "0.26.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c6cf59daf282c0a494ba14fd21610a0325f9f90ec9d1231dea26bcb1d696c946"
+dependencies = [
+ "heck 0.4.1",
+ "proc-macro2",
+ "quote",
+ "rustversion",
+ "syn 2.0.58",
 ]
 
 [[package]]
@@ -6997,9 +7423,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.48"
+version = "2.0.58"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f"
+checksum = "44cfb93f38070beee36b3fef7d4f5a16f27751d94b187b666a5cc5e9b0d30687"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -7015,7 +7441,7 @@ dependencies = [
  "proc-macro-error",
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
@@ -7088,13 +7514,13 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
 
 [[package]]
 name = "tempfile"
-version = "3.10.0"
+version = "3.10.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a365e8cd18e44762ef95d87f284f4b5cd04107fec2ff3052bd6a3e6069669e67"
+checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1"
 dependencies = [
  "cfg-if 1.0.0",
- "fastrand 2.0.1",
- "rustix 0.38.31",
+ "fastrand 2.0.2",
+ "rustix 0.38.32",
  "windows-sys 0.52.0",
 ]
 
@@ -7120,35 +7546,35 @@ dependencies = [
 
 [[package]]
 name = "textwrap"
-version = "0.16.0"
+version = "0.16.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
+checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9"
 
 [[package]]
 name = "thiserror"
-version = "1.0.56"
+version = "1.0.58"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad"
+checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.56"
+version = "1.0.58"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471"
+checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
 name = "thread_local"
-version = "1.1.7"
+version = "1.1.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152"
+checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c"
 dependencies = [
  "cfg-if 1.0.0",
  "once_cell",
@@ -7252,20 +7678,21 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
 
 [[package]]
 name = "tokio"
-version = "1.36.0"
+version = "1.37.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931"
+checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787"
 dependencies = [
  "backtrace",
  "bytes",
  "libc",
  "mio",
  "num_cpus",
- "parking_lot 0.12.1",
+ "parking_lot",
  "pin-project-lite",
  "signal-hook-registry",
  "socket2",
  "tokio-macros",
+ "tracing",
  "windows-sys 0.48.0",
 ]
 
@@ -7287,7 +7714,7 @@ checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
@@ -7306,16 +7733,27 @@ version = "0.25.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "775e0c0f0adb3a2f22a00c4745d728b479985fc15ee7ca6a2608388c5569860f"
 dependencies = [
- "rustls 0.22.2",
+ "rustls 0.22.3",
+ "rustls-pki-types",
+ "tokio",
+]
+
+[[package]]
+name = "tokio-rustls"
+version = "0.26.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4"
+dependencies = [
+ "rustls 0.23.4",
  "rustls-pki-types",
  "tokio",
 ]
 
 [[package]]
 name = "tokio-stream"
-version = "0.1.14"
+version = "0.1.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842"
+checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af"
 dependencies = [
  "futures-core",
  "pin-project-lite",
@@ -7366,26 +7804,27 @@ dependencies = [
 
 [[package]]
 name = "tonic"
-version = "0.9.2"
+version = "0.10.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3082666a3a6433f7f511c7192923fa1fe07c69332d3c6a2e6bb040b569199d5a"
+checksum = "d560933a0de61cf715926b9cac824d4c883c2c43142f787595e48280c40a1d0e"
 dependencies = [
+ "async-stream",
  "async-trait",
  "axum",
  "base64 0.21.7",
  "bytes",
- "flate2",
- "futures-core",
- "futures-util",
  "h2",
- "http 0.2.11",
+ "http 0.2.12",
  "http-body",
  "hyper",
  "hyper-timeout",
  "percent-encoding",
  "pin-project",
- "prost 0.11.9",
+ "prost 0.12.3",
+ "rustls 0.21.10",
+ "rustls-pemfile 1.0.4",
  "tokio",
+ "tokio-rustls 0.24.1",
  "tokio-stream",
  "tower",
  "tower-layer",
@@ -7395,27 +7834,25 @@ dependencies = [
 
 [[package]]
 name = "tonic"
-version = "0.10.2"
+version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d560933a0de61cf715926b9cac824d4c883c2c43142f787595e48280c40a1d0e"
+checksum = "76c4eb7a4e9ef9d4763600161f12f5070b92a578e1b634db88a6887844c91a13"
 dependencies = [
  "async-stream",
  "async-trait",
  "axum",
  "base64 0.21.7",
  "bytes",
+ "flate2",
  "h2",
- "http 0.2.11",
+ "http 0.2.12",
  "http-body",
  "hyper",
  "hyper-timeout",
  "percent-encoding",
  "pin-project",
  "prost 0.12.3",
- "rustls 0.21.10",
- "rustls-pemfile 1.0.4",
  "tokio",
- "tokio-rustls 0.24.1",
  "tokio-stream",
  "tower",
  "tower-layer",
@@ -7425,28 +7862,28 @@ dependencies = [
 
 [[package]]
 name = "tonic-build"
-version = "0.9.2"
+version = "0.10.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a6fdaae4c2c638bb70fe42803a26fbd6fc6ac8c72f5c59f67ecc2a2dcabf4b07"
+checksum = "9d021fc044c18582b9a2408cd0dd05b1596e3ecdb5c4df822bb0183545683889"
 dependencies = [
- "prettyplease 0.1.25",
+ "prettyplease",
  "proc-macro2",
- "prost-build 0.11.9",
+ "prost-build",
  "quote",
- "syn 1.0.109",
+ "syn 2.0.58",
 ]
 
 [[package]]
 name = "tonic-build"
-version = "0.10.2"
+version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d021fc044c18582b9a2408cd0dd05b1596e3ecdb5c4df822bb0183545683889"
+checksum = "be4ef6dd70a610078cb4e338a0f79d06bc759ff1b22d2120c2ff02ae264ba9c2"
 dependencies = [
- "prettyplease 0.2.16",
+ "prettyplease",
  "proc-macro2",
- "prost-build 0.12.3",
+ "prost-build",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
@@ -7513,7 +7950,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
@@ -7539,9 +7976,9 @@ dependencies = [
 
 [[package]]
 name = "tracing-opentelemetry"
-version = "0.22.0"
+version = "0.23.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c67ac25c5407e7b961fafc6f7e9aa5958fd297aada2d20fa2ae1737357e55596"
+checksum = "a9be14ba1bbe4ab79e9229f7f89fab8d120b865859f10527f31c033e599d2284"
 dependencies = [
  "js-sys",
  "once_cell",
@@ -7602,6 +8039,36 @@ dependencies = [
 ]
 
 [[package]]
+name = "tryhard"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c9f0a709784e86923586cff0d872dba54cd2d2e116b3bc57587d15737cfce9d"
+dependencies = [
+ "futures",
+ "pin-project-lite",
+ "tokio",
+]
+
+[[package]]
+name = "tungstenite"
+version = "0.20.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9"
+dependencies = [
+ "byteorder",
+ "bytes",
+ "data-encoding",
+ "http 0.2.12",
+ "httparse",
+ "log",
+ "rand",
+ "sha1",
+ "thiserror",
+ "url",
+ "utf-8",
+]
+
+[[package]]
 name = "twox-hash"
 version = "1.6.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -7619,9 +8086,9 @@ checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
 
 [[package]]
 name = "uaparser"
-version = "0.6.1"
+version = "0.6.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf694e7b0434d4fad6c879e984e8fdc3a62f5533c3d421762244f9e9d03f6927"
+checksum = "2a4d8fcdf9685cad74cecf1553af084ab4c494e833c47d3c50ca32cba8035545"
 dependencies = [
  "derive_more",
  "lazy_static",
@@ -7660,9 +8127,9 @@ checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
 
 [[package]]
 name = "unicode-normalization"
-version = "0.1.22"
+version = "0.1.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
+checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5"
 dependencies = [
  "tinyvec",
 ]
@@ -7702,6 +8169,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "unsafe-libyaml"
+version = "0.2.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861"
+
+[[package]]
 name = "untrusted"
 version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -7732,6 +8205,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da"
 
 [[package]]
+name = "utf-8"
+version = "0.7.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9"
+
+[[package]]
 name = "utf8-width"
 version = "0.1.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -7765,7 +8244,7 @@ dependencies = [
  "proc-macro2",
  "quote",
  "regex",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
@@ -7786,9 +8265,9 @@ dependencies = [
 
 [[package]]
 name = "uuid"
-version = "1.7.0"
+version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f00cc9702ca12d3c81455259621e676d0f7251cec66a21e98fe2e9a37db93b2a"
+checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0"
 dependencies = [
  "getrandom",
  "wasm-bindgen",
@@ -7822,6 +8301,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "version-compare"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "852e951cb7832cb45cb1169900d19760cfa39b82bc0ea9c0e5a14ae88411c98b"
+
+[[package]]
 name = "version_check"
 version = "0.9.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -7857,7 +8342,7 @@ dependencies = [
  "chrono",
  "chrono-tz",
  "cidr-utils",
- "clap 4.5.0",
+ "clap 4.5.4",
  "codespan-reporting",
  "community-id",
  "crypto_secretbox",
@@ -7956,7 +8441,7 @@ dependencies = [
  "bytes",
  "crc32fast",
  "criterion",
- "parking_lot 0.12.1",
+ "parking_lot",
  "snafu 0.7.5",
  "snap",
  "tempfile",
@@ -7964,9 +8449,9 @@ dependencies = [
 
 [[package]]
 name = "walkdir"
-version = "2.4.0"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee"
+checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
 dependencies = [
  "same-file",
  "winapi-util",
@@ -7994,10 +8479,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
+name = "wasite"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b"
+
+[[package]]
 name = "wasm-bindgen"
-version = "0.2.91"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f"
+checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8"
 dependencies = [
  "cfg-if 1.0.0",
  "wasm-bindgen-macro",
@@ -8005,24 +8496,24 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.91"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b"
+checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da"
 dependencies = [
  "bumpalo",
  "log",
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-futures"
-version = "0.4.41"
+version = "0.4.42"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "877b9c3f61ceea0e56331985743b13f3d25c406a7098d45180fb5f09bc19ed97"
+checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0"
 dependencies = [
  "cfg-if 1.0.0",
  "js-sys",
@@ -8032,9 +8523,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.91"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed"
+checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -8042,22 +8533,22 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.91"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66"
+checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.91"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838"
+checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96"
 
 [[package]]
 name = "wasm-streams"
@@ -8074,9 +8565,9 @@ dependencies = [
 
 [[package]]
 name = "web-sys"
-version = "0.3.68"
+version = "0.3.69"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96565907687f7aceb35bc5fc03770a8a0471d82e479f25832f54a0e3f4b28446"
+checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef"
 dependencies = [
  "js-sys",
  "wasm-bindgen",
@@ -8084,9 +8575,9 @@ dependencies = [
 
 [[package]]
 name = "web-time"
-version = "0.2.4"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa30049b1c872b72c89866d458eae9f20380ab280ffd1b1e18df2d3e2d98cfe0"
+checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb"
 dependencies = [
  "js-sys",
  "wasm-bindgen",
@@ -8094,9 +8585,9 @@ dependencies = [
 
 [[package]]
 name = "webbrowser"
-version = "0.8.12"
+version = "0.8.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "82b2391658b02c27719fc5a0a73d6e696285138e8b12fba9d4baa70451023c71"
+checksum = "d1b04c569c83a9bb971dd47ec6fd48753315f4bf989b9b04a2e7ca4d7f0dc950"
 dependencies = [
  "core-foundation",
  "home",
@@ -8133,14 +8624,18 @@ dependencies = [
  "either",
  "home",
  "once_cell",
- "rustix 0.38.31",
+ "rustix 0.38.32",
 ]
 
 [[package]]
 name = "whoami"
-version = "1.4.1"
+version = "1.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "22fc3756b8a9133049b26c7f61ab35416c130e8c09b660f5b3958b446f52cc50"
+checksum = "a44ab49fad634e88f55bf8f9bb3abd2f27d7204172a112c7c9987e01c1c94ea9"
+dependencies = [
+ "redox_syscall",
+ "wasite",
+]
 
 [[package]]
 name = "winapi"
@@ -8185,7 +8680,7 @@ version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
 dependencies = [
- "windows-targets 0.52.0",
+ "windows-targets 0.52.4",
 ]
 
 [[package]]
@@ -8212,7 +8707,7 @@ version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
 dependencies = [
- "windows-targets 0.52.0",
+ "windows-targets 0.52.4",
 ]
 
 [[package]]
@@ -8247,17 +8742,17 @@ dependencies = [
 
 [[package]]
 name = "windows-targets"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
+checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b"
 dependencies = [
- "windows_aarch64_gnullvm 0.52.0",
- "windows_aarch64_msvc 0.52.0",
- "windows_i686_gnu 0.52.0",
- "windows_i686_msvc 0.52.0",
- "windows_x86_64_gnu 0.52.0",
- "windows_x86_64_gnullvm 0.52.0",
- "windows_x86_64_msvc 0.52.0",
+ "windows_aarch64_gnullvm 0.52.4",
+ "windows_aarch64_msvc 0.52.4",
+ "windows_i686_gnu 0.52.4",
+ "windows_i686_msvc 0.52.4",
+ "windows_x86_64_gnu 0.52.4",
+ "windows_x86_64_gnullvm 0.52.4",
+ "windows_x86_64_msvc 0.52.4",
 ]
 
 [[package]]
@@ -8274,9 +8769,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
 
 [[package]]
 name = "windows_aarch64_gnullvm"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
+checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9"
 
 [[package]]
 name = "windows_aarch64_msvc"
@@ -8292,9 +8787,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
 
 [[package]]
 name = "windows_aarch64_msvc"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
+checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675"
 
 [[package]]
 name = "windows_i686_gnu"
@@ -8310,9 +8805,9 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
 
 [[package]]
 name = "windows_i686_gnu"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
+checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3"
 
 [[package]]
 name = "windows_i686_msvc"
@@ -8328,9 +8823,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
 
 [[package]]
 name = "windows_i686_msvc"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
+checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02"
 
 [[package]]
 name = "windows_x86_64_gnu"
@@ -8346,9 +8841,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
 
 [[package]]
 name = "windows_x86_64_gnu"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
+checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
@@ -8364,9 +8859,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
+checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177"
 
 [[package]]
 name = "windows_x86_64_msvc"
@@ -8382,15 +8877,15 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
 
 [[package]]
 name = "windows_x86_64_msvc"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
+checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8"
 
 [[package]]
 name = "winnow"
-version = "0.5.39"
+version = "0.5.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5389a154b01683d28c77f8f68f49dea75f0a4da32557a58f68ee51ebba472d29"
+checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876"
 dependencies = [
  "memchr",
 ]
@@ -8406,6 +8901,16 @@ dependencies = [
 ]
 
 [[package]]
+name = "winreg"
+version = "0.51.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "937f3df7948156640f46aacef17a70db0de5917bda9c92b0f751f3a955b588fc"
+dependencies = [
+ "cfg-if 1.0.0",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
 name = "woothee"
 version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -8440,15 +8945,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "yaml-rust"
-version = "0.4.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85"
-dependencies = [
- "linked-hash-map",
-]
-
-[[package]]
 name = "zerocopy"
 version = "0.7.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -8465,7 +8961,7 @@ checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
@@ -8488,27 +8984,27 @@ dependencies = [
 
 [[package]]
 name = "zstd"
-version = "0.13.0"
+version = "0.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bffb3309596d527cfcba7dfc6ed6052f1d39dfbd7c867aa2e865e4a449c10110"
+checksum = "2d789b1514203a1120ad2429eae43a7bd32b90976a7bb8a05f7ec02fa88cc23a"
 dependencies = [
  "zstd-safe",
 ]
 
 [[package]]
 name = "zstd-safe"
-version = "7.0.0"
+version = "7.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43747c7422e2924c11144d5229878b98180ef8b06cca4ab5af37afc8a8d8ea3e"
+checksum = "1cd99b45c6bc03a018c8b8a86025678c87e55526064e38f9df301989dce7ec0a"
 dependencies = [
  "zstd-sys",
 ]
 
 [[package]]
 name = "zstd-sys"
-version = "2.0.9+zstd.1.5.5"
+version = "2.0.10+zstd.1.5.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e16efa8a874a0481a574084d34cc26fdb3b99627480f785888deb6386506656"
+checksum = "c253a4914af5bafc8fa8c86ee400827e83cf6ec01195ec1f1ed8441bf00d65aa"
 dependencies = [
  "cc",
  "pkg-config",
diff --git a/pkgs/servers/monitoring/openobserve/default.nix b/pkgs/servers/monitoring/openobserve/default.nix
index 59a0d203e2589..0487a5d3a34dd 100644
--- a/pkgs/servers/monitoring/openobserve/default.nix
+++ b/pkgs/servers/monitoring/openobserve/default.nix
@@ -15,12 +15,12 @@
 }:
 
 let
-  version = "0.9.1";
+  version = "0.10.1";
   src = fetchFromGitHub {
     owner = "openobserve";
     repo = "openobserve";
     rev = "v${version}";
-    hash = "sha256-AQxSR2cMkNst5YEv4TqVNgdriMsg/0ed5YN4W8qZKxM=";
+    hash = "sha256-68fJYk/R1F7FHm4F+pyyA9BRVdV8S8p5uEM1hVbuArg=";
   };
   web = buildNpmPackage {
     inherit src version;
@@ -28,7 +28,7 @@ let
 
     sourceRoot = "${src.name}/web";
 
-    npmDepsHash = "sha256-c82NLNLfqQrS/jv7ixpLCYDMEUtx6+Mm8cSwvVis2fc=";
+    npmDepsHash = "sha256-7l1tdgR/R7qaYBbBm9OnKDBETPkaIN8AUgc9WdYQuwI=";
 
     preBuild = ''
       # Patch vite config to not open the browser to visualize plugin composition
@@ -65,6 +65,7 @@ rustPlatform.buildRustPackage {
   cargoLock = {
     lockFile = ./Cargo.lock;
     outputHashes = {
+      "chromiumoxide-0.5.7" = "sha256-GHrm5u8FtXRUjSRGMU4PNU6AJZ5W2KcgfZY1c/CBVYA=";
       "enrichment-0.1.0" = "sha256-FDPSCBkx+DPeWwTBz9+ORcbbiSBC2a8tJaay9Pxwz4w=";
     };
   };
@@ -125,6 +126,7 @@ rustPlatform.buildRustPackage {
     "--skip service::users::tests::test_post_user"
     "--skip service::users::tests::test_user"
     "--skip common::infra::cache::file_data::disk::tests::test_get_file_from_cache"
+    "--skip common::infra::cluster::tests::test_consistent_hashing"
     "--skip common::infra::db::tests::test_get"
     "--skip common::utils::auth::tests::test_is_root_user2"
     "--skip tests::e2e_test"
diff --git a/pkgs/servers/monitoring/prometheus/consul-exporter.nix b/pkgs/servers/monitoring/prometheus/consul-exporter.nix
index 4cc241af7c654..8b4695d4dd900 100644
--- a/pkgs/servers/monitoring/prometheus/consul-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/consul-exporter.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "consul_exporter";
-  version = "0.11.0";
+  version = "0.12.0";
 
   src = fetchFromGitHub {
     owner = "prometheus";
     repo = "consul_exporter";
     rev = "refs/tags/v${version}";
-    hash = "sha256-3aPLpTV+xuotpBYmRDfU3ewRRlmf7VUdh/u9/SLQDeE=";
+    hash = "sha256-qLc0CG+N3OF1V6rJQCWDxIrsU0lHoskMNUbwsx8pcPs=";
   };
 
-  vendorHash = "sha256-fsST29HGwJVLVSoAr8tNukW81iJtpb/oypwp5cH7oLQ=";
+  vendorHash = "sha256-G7Gf3igUnDID9hTuvIHd7syii2+3dPAlewsW8yKNJvs=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/servers/monitoring/prometheus/node-exporter.nix b/pkgs/servers/monitoring/prometheus/node-exporter.nix
index bce3eaeaa4088..4a9b0b934537d 100644
--- a/pkgs/servers/monitoring/prometheus/node-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/node-exporter.nix
@@ -5,17 +5,17 @@
 
 buildGoModule rec {
   pname = "node_exporter";
-  version = "1.7.0";
+  version = "1.8.0";
   rev = "v${version}";
 
   src = fetchFromGitHub {
     inherit rev;
     owner = "prometheus";
     repo = "node_exporter";
-    sha256 = "sha256-+KY/YXEqT/40QzODOk8lKAo0zMcNuiMvj6ippbJE9ho=";
+    hash = "sha256-TC7F/LQnn6OIhvWLy75MQyVGS7DlgJLbbaAUZUZTvEo=";
   };
 
-  vendorHash = "sha256-HrlzDupZP9+GxB58Lg62tvku1Sl2zo2iV0KnBNwkM58=";
+  vendorHash = "sha256-sly8AJk+jNZG8ijTBF1Pd5AOOUJJxIG8jHwBUdlt8fM=";
 
   # FIXME: tests fail due to read-only nix store
   doCheck = false;
diff --git a/pkgs/servers/monitoring/prometheus/tor-exporter.nix b/pkgs/servers/monitoring/prometheus/tor-exporter.nix
index 3b54e23f81ae3..caee06b735d04 100644
--- a/pkgs/servers/monitoring/prometheus/tor-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/tor-exporter.nix
@@ -34,7 +34,7 @@ python3Packages.buildPythonApplication rec {
     mainProgram = "prometheus-tor-exporter";
     homepage = "https://github.com/atx/prometheus-tor_exporter";
     license = licenses.mit;
-    maintainers = with maintainers; [ delroth ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/servers/monitoring/uptime-kuma/default.nix b/pkgs/servers/monitoring/uptime-kuma/default.nix
index b58579cc1e29e..f56303fefbe7c 100644
--- a/pkgs/servers/monitoring/uptime-kuma/default.nix
+++ b/pkgs/servers/monitoring/uptime-kuma/default.nix
@@ -2,16 +2,16 @@
 
 buildNpmPackage rec {
   pname = "uptime-kuma";
-  version = "1.23.11";
+  version = "1.23.13";
 
   src = fetchFromGitHub {
     owner = "louislam";
     repo = "uptime-kuma";
     rev = version;
-    hash = "sha256-PhIe2aDz6hr8001LL8N5L8jcUyzuamU0yYIVKcwmTlw=";
+    hash = "sha256-7JWn78gRLzuXuZjhTvjdJ7JVtLOtQ08zyokqkPdzYh0=";
   };
 
-  npmDepsHash = "sha256-Jyp/xY9K3sfqVnR7NQhgly8B54FmvnrStFO2GO2Kszs=";
+  npmDepsHash = "sha256-MKONzKCGYeMQK8JR9W9KiPLaqP/F0uAOzql4wZK4Sp4=";
 
   patches = [
     # Fixes the permissions of the database being not set correctly
diff --git a/pkgs/servers/monitoring/vmagent/default.nix b/pkgs/servers/monitoring/vmagent/default.nix
index 6267b14c0f4c4..c290b81ef04e2 100644
--- a/pkgs/servers/monitoring/vmagent/default.nix
+++ b/pkgs/servers/monitoring/vmagent/default.nix
@@ -22,6 +22,6 @@ buildGoModule rec {
     mainProgram = "vmagent";
     license = licenses.asl20;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nullx76 ];
+    maintainers = with maintainers; [ nullx76 leona ];
   };
 }
diff --git a/pkgs/servers/moonraker/default.nix b/pkgs/servers/moonraker/default.nix
index 6a524d371313c..d4cc61af2802d 100644
--- a/pkgs/servers/moonraker/default.nix
+++ b/pkgs/servers/moonraker/default.nix
@@ -19,6 +19,7 @@ let
       dbus-next
       apprise
       python-periphery
+      ldap3
     ]
   );
 in stdenvNoCC.mkDerivation rec {
diff --git a/pkgs/servers/nextcloud/packages/26.json b/pkgs/servers/nextcloud/packages/26.json
index d795245939dff..6df3fcac755de 100644
--- a/pkgs/servers/nextcloud/packages/26.json
+++ b/pkgs/servers/nextcloud/packages/26.json
@@ -10,9 +10,9 @@
     ]
   },
   "calendar": {
-    "sha256": "18hlk6j3dzpcd61sgn8r8zmcc9d1bklq030kwyn4mzr20dcf75w5",
-    "url": "https://github.com/nextcloud-releases/calendar/releases/download/v4.6.7/calendar-v4.6.7.tar.gz",
-    "version": "4.6.7",
+    "sha256": "10sxr8xczq29a3c5a7n074hpx80a21m6v7a2xhz0yhv9q80yv5gz",
+    "url": "https://github.com/nextcloud-releases/calendar/releases/download/v4.7.0/calendar-v4.7.0.tar.gz",
+    "version": "4.7.0",
     "description": "The Calendar app is a user interface for Nextcloud's CalDAV server. Easily sync events from various devices with your Nextcloud and edit them online.\n\n* 🚀 **Integration with other Nextcloud apps!** Currently Contacts - more to come.\n* 🌐 **WebCal Support!** Want to see your favorite team’s matchdays in your calendar? No problem!\n* 🙋 **Attendees!** Invite people to your events\n* ⌚️ **Free/Busy!** See when your attendees are available to meet\n* ⏰ **Reminders!** Get alarms for events inside your browser and via email\n* 🔍 Search! Find your events at ease\n* ☑️ Tasks! See tasks with a due date directly in the calendar\n* 🙈 **We’re not reinventing the wheel!** Based on the great [c-dav library](https://github.com/nextcloud/cdav-library), [ical.js](https://github.com/mozilla-comm/ical.js) and [fullcalendar](https://github.com/fullcalendar/fullcalendar) libraries.",
     "homepage": "https://github.com/nextcloud/calendar/",
     "licenses": [
@@ -90,9 +90,9 @@
     ]
   },
   "forms": {
-    "sha256": "1nwsbl3lh0s4if4665b1z7nf7r62chazfb5g3fdrlffrrrqbdj4y",
-    "url": "https://github.com/nextcloud-releases/forms/releases/download/v3.4.6/forms-v3.4.6.tar.gz",
-    "version": "3.4.6",
+    "sha256": "0shdkqhip988dng2105k5cjbqfqny5791h8gdachcv3vnq99fywi",
+    "url": "https://github.com/nextcloud-releases/forms/releases/download/v3.4.7/forms-v3.4.7.tar.gz",
+    "version": "3.4.7",
     "description": "**Simple surveys and questionnaires, self-hosted!**\n\n- **📝 Simple design:** No mass of options, only the essentials. Works well on mobile of course.\n- **📊 View & export results:** Results are visualized and can also be exported as CSV in the same format used by Google Forms.\n- **🔒 Data under your control!** Unlike in Google Forms, Typeform, Doodle and others, the survey info and responses are kept private on your instance.\n- **🧑‍💻 Connect to your software:** Easily integrate Forms into your service with our full-fledged [REST-API](https://github.com/nextcloud/forms/blob/main/docs/API.md).\n- **🙋 Get involved!** We have lots of stuff planned like more question types, collaboration on forms, [and much more](https://github.com/nextcloud/forms/milestones)!",
     "homepage": "https://github.com/nextcloud/forms",
     "licenses": [
@@ -110,9 +110,9 @@
     ]
   },
   "groupfolders": {
-    "sha256": "1icpj855ib6cx7b57njvhdkcwgd4jmndm3gwh8qgq0mvdlkqpmd0",
-    "url": "https://github.com/nextcloud-releases/groupfolders/releases/download/v14.0.8/groupfolders-v14.0.8.tar.gz",
-    "version": "14.0.8",
+    "sha256": "0gw8gc17brz0acaqnaiajyl461ywxnvjdm7xqkwf0ix83qc5pbxa",
+    "url": "https://github.com/nextcloud-releases/groupfolders/releases/download/v14.0.9/groupfolders-v14.0.9.tar.gz",
+    "version": "14.0.9",
     "description": "Admin configured folders shared with everyone in a group.\n\nFolders can be configured from *Group folders* in the admin settings.\n\nAfter a folder is created, the admin can give access to the folder to one or more groups, control their write/sharing permissions and assign a quota for the folder.\n\nNote: Encrypting the contents of group folders is currently not supported.",
     "homepage": "https://github.com/nextcloud/groupfolders",
     "licenses": [
@@ -133,16 +133,16 @@
     "sha256": "1hh35gadyxqal19pplblarffb35qc547ig3jp5464m317mykd03d",
     "url": "https://github.com/nextcloud-releases/integration_openai/releases/download/v1.0.11/integration_openai-v1.0.11.tar.gz",
     "version": "1.0.11",
-    "description": "This app includes 3 custom smart pickers for Nextcloud:\n* ChatGPT-like answers\n* Image generation (with DALL·E 2 or LocalAI)\n* Whisper dictation\n\nIt also implements\n\n* A Translation provider (using any available language model)\n* A SpeechToText provider (using Whisper)\n\nInstead of connecting to the OpenAI API for these, you can also connect to a self-hosted [LocalAI](https://localai.io) instance.\n\n## Ethical AI Rating\n### Rating for Text generation using ChatGPT via OpenAI API: 🔴\n\nNegative:\n* the software for training and inference of this model is proprietary, limiting running it locally or training by yourself\n* the trained model is not freely available, so the model can not be run on-premises\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model's performance and CO2 usage.\n\n\n### Rating for Translation using ChatGPT via OpenAI API: 🔴\n\nNegative:\n* the software for training and inference of this model is proprietary, limiting running it locally or training by yourself\n* the trained model is not freely available, so the model can not be run on-premises\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model's performance and CO2 usage.\n\n### Rating for Image generation using DALL·E via OpenAI API: 🔴\n\nNegative:\n* the software for training and inferencing of this model is proprietary, limiting running it locally or training by yourself\n* the trained model is not freely available, so the model can not be ran on-premises\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\n\n### Rating for Speech-To-Text using Whisper via OpenAI API: 🟡\n\nPositive:\n* the software for training and inferencing of this model is open source\n* The trained model is freely available, and thus can run on-premise\n\nNegative:\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\n### Rating for Text generation via LocalAI: 🟢\n\nPositive:\n* the software for training and inferencing of this model is open source\n* the trained model is freely available, and thus can be ran on-premises\n* the training data is freely available, making it possible to check or correct for bias or optimise the performance and CO2 usage.\n\n\n### Rating for Image generation using Stable Diffusion via LocalAI : 🟡\n\nPositive:\n* the software for training and inferencing of this model is open source\n* the trained model is freely available, and thus can be ran on-premises\n\nNegative:\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\n\n### Rating for Speech-To-Text using Whisper via LocalAI: 🟡\n\nPositive:\n* the software for training and inferencing of this model is open source\n* the trained model is freely available, and thus can be ran on-premises\n\nNegative:\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\nLearn more about the Nextcloud Ethical AI Rating [in our blog](https://nextcloud.com/blog/nextcloud-ethical-ai-rating/).",
+    "description": "⚠️ The smart pickers have been removed from this app\nas they are now included in the [Assistant app](https://apps.nextcloud.com/apps/assistant).\n\nThis app implements:\n\n* Text generation providers: Free prompt, Summarize, Headline and Reformulate (using any available large language model)\n* A Translation provider (using any available language model)\n* A SpeechToText provider (using Whisper)\n* An image generation provider\n\nInstead of connecting to the OpenAI API for these, you can also connect to a self-hosted [LocalAI](https://localai.io) instance\nor to any service that implements an API similar to the OpenAI one, for example: [Plusserver](https://www.plusserver.com/en/ai-platform/).\n\n## Ethical AI Rating\n### Rating for Text generation using ChatGPT via OpenAI API: 🔴\n\nNegative:\n* the software for training and inference of this model is proprietary, limiting running it locally or training by yourself\n* the trained model is not freely available, so the model can not be run on-premises\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model's performance and CO2 usage.\n\n\n### Rating for Translation using ChatGPT via OpenAI API: 🔴\n\nNegative:\n* the software for training and inference of this model is proprietary, limiting running it locally or training by yourself\n* the trained model is not freely available, so the model can not be run on-premises\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model's performance and CO2 usage.\n\n### Rating for Image generation using DALL·E via OpenAI API: 🔴\n\nNegative:\n* the software for training and inferencing of this model is proprietary, limiting running it locally or training by yourself\n* the trained model is not freely available, so the model can not be ran on-premises\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\n\n### Rating for Speech-To-Text using Whisper via OpenAI API: 🟡\n\nPositive:\n* the software for training and inferencing of this model is open source\n* The trained model is freely available, and thus can run on-premise\n\nNegative:\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\n### Rating for Text generation via LocalAI: 🟢\n\nPositive:\n* the software for training and inferencing of this model is open source\n* the trained model is freely available, and thus can be ran on-premises\n* the training data is freely available, making it possible to check or correct for bias or optimise the performance and CO2 usage.\n\n\n### Rating for Image generation using Stable Diffusion via LocalAI : 🟡\n\nPositive:\n* the software for training and inferencing of this model is open source\n* the trained model is freely available, and thus can be ran on-premises\n\nNegative:\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\n\n### Rating for Speech-To-Text using Whisper via LocalAI: 🟡\n\nPositive:\n* the software for training and inferencing of this model is open source\n* the trained model is freely available, and thus can be ran on-premises\n\nNegative:\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\nLearn more about the Nextcloud Ethical AI Rating [in our blog](https://nextcloud.com/blog/nextcloud-ethical-ai-rating/).",
     "homepage": "https://github.com/nextcloud/integration_openai",
     "licenses": [
       "agpl"
     ]
   },
   "mail": {
-    "sha256": "122qyz6d9771ivpl771g5wi3lxsd2g3v64n9cp5clm8p662msjfi",
-    "url": "https://github.com/nextcloud-releases/mail/releases/download/v3.5.7/mail-v3.5.7.tar.gz",
-    "version": "3.5.7",
+    "sha256": "1m48zdh7jjmgw7r9y9irp7z22wjippjswy7r60yvsdxbac765n14",
+    "url": "https://github.com/nextcloud-releases/mail/releases/download/v3.6.0/mail-v3.6.0.tar.gz",
+    "version": "3.6.0",
     "description": "**💌 A mail app for Nextcloud**\n\n- **🚀 Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **📥 Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **🔒 Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **🙈 We’re not reinventing the wheel!** Based on the great [Horde](https://horde.org) libraries.\n- **📬 Want to host your own mail server?** We do not have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!\n\n## Ethical AI Rating\n\n### Priority Inbox\n\nPositive:\n* The software for training and inferencing of this model is open source.\n* The model is created and trained on-premises based on the user's own data.\n* The training data is accessible to the user, making it possible to check or correct for bias or optimise the performance and CO2 usage.\n\n### Thread Summaries (opt-in)\n\n**Rating:** 🟢/🟡/🟠/🔴\n\nThe rating depends on the installed text processing backend. See [the rating overview](https://docs.nextcloud.com/server/latest/admin_manual/ai/index.html) for details.\n\nLearn more about the Nextcloud Ethical AI Rating [in our blog](https://nextcloud.com/blog/nextcloud-ethical-ai-rating/).",
     "homepage": "https://github.com/nextcloud/mail#readme",
     "licenses": [
@@ -160,9 +160,9 @@
     ]
   },
   "memories": {
-    "sha256": "0638120x6byp35gslcr2yg4rswihjjdssnjw87fxx7q41sd02vsz",
-    "url": "https://github.com/pulsejet/memories/releases/download/v7.0.2/memories.tar.gz",
-    "version": "7.0.2",
+    "sha256": "02l9rq117x7x4nra1f50fkn7yr3cpbjnsq9nlr7rnsn9qsf5rrw9",
+    "url": "https://github.com/pulsejet/memories/releases/download/v7.2.0/memories.tar.gz",
+    "version": "7.2.0",
     "description": "# Memories: Photo Management for Nextcloud\n\nMemories is a *batteries-included* photo management solution for Nextcloud with advanced features including:\n\n- **📸 Timeline**: Sort photos and videos by date taken, parsed from Exif data.\n- **⏪ Rewind**: Jump to any time in the past instantly and relive your memories.\n- **🤖 AI Tagging**: Group photos by people and objects, powered by [recognize](https://github.com/nextcloud/recognize) and [facerecognition](https://github.com/matiasdelellis/facerecognition).\n- **🖼️ Albums**: Create albums to group photos and videos together. Then share these albums with others.\n- **🫱🏻‍🫲🏻 External Sharing**: Share photos and videos with people outside of your Nextcloud instance.\n- **📱 Mobile Support**: Work from any device, of any shape and size through the web app.\n- **✏️ Edit Metadata**: Edit dates and other metadata on photos quickly and in bulk.\n- **📦 Archive**: Store photos you don't want to see in your timeline in a separate folder.\n- **📹 Video Transcoding**: Transcode videos and use HLS for maximal performance.\n- **🗺️ Map**: View your photos on a map, tagged with accurate reverse geocoding.\n- **📦 Migration**: Migrate easily from Nextcloud Photos and Google Takeout.\n- **⚡️ Performance**: Do all this very fast.\n\n## 🚀 Installation\n\n1. Install the app from the Nextcloud app store (try a demo [here](https://demo.memories.gallery/apps/memories/)).\n1. Perform the recommended [configuration steps](https://memories.gallery/config/).\n1. Run `php occ memories:index` to generate metadata indices for existing photos.\n1. Open the 📷 Memories app in Nextcloud and set the directory containing your photos.",
     "homepage": "https://memories.gallery",
     "licenses": [
@@ -170,9 +170,9 @@
     ]
   },
   "music": {
-    "sha256": "1afjqvmcim1r22bs5vpp2b2wd01df5xdchw6ifqf57vgb7nzzkbs",
-    "url": "https://github.com/owncloud/music/releases/download/v1.10.0/music_1.10.0_for_nextcloud.tar.gz",
-    "version": "1.10.0",
+    "sha256": "04dh6vzriiiqnn02pjbwn9rv0q427njbx558jl504jp91b8qd2wn",
+    "url": "https://github.com/owncloud/music/releases/download/v1.11.0/music_1.11.0_for_nextcloud.tar.gz",
+    "version": "1.11.0",
     "description": "A stand-alone music player app and a \"lite\" player for the Files app\n\n- On modern browsers, supports audio types .mp3, .ogg, .m4a, .m4b, .flac, .wav, and more\n- Playlist support with import from m3u, m3u8, and pls files\n- Browse by artists, albums, genres, or folders\n- Gapless play\n- Filter the shown content with the search function\n- Play internet radio and podcast channels\n- Setup Last.fm connection to see background information on artists, albums, and songs\n- Control with media control keys on the keyboard or OS\n- The app can handle libraries consisting of thousands of albums and tens of thousands of songs\n- Includes a server backend compatible with the Subsonic and Ampache protocols, allowing playback and browsing of your library on various external apps e.g. on Android or iPhone",
     "homepage": "https://github.com/owncloud/music",
     "licenses": [
@@ -190,9 +190,9 @@
     ]
   },
   "notes": {
-    "sha256": "1ii3ii2062wklss3mxsfbvqi4hvi96a20i20lbwm6z2x6q7fqqi3",
-    "url": "https://github.com/nextcloud-releases/notes/releases/download/v4.9.4/notes-v4.9.4.tar.gz",
-    "version": "4.9.4",
+    "sha256": "0j9bwbfvwwdaabyc79i514sp36cm4i9z02l8bkxlqr9fvim73nn9",
+    "url": "https://github.com/nextcloud-releases/notes/releases/download/v4.10.0/notes.tar.gz",
+    "version": "4.10.0",
     "description": "The Notes app is a distraction free notes taking app for [Nextcloud](https://www.nextcloud.com/). It provides categories for better organization and supports formatting using [Markdown](https://en.wikipedia.org/wiki/Markdown) syntax. Notes are saved as files in your Nextcloud, so you can view and edit them with every Nextcloud client. Furthermore, a separate [REST API](https://github.com/nextcloud/notes/blob/master/docs/api/README.md) allows for an easy integration into third-party apps (currently, there are notes apps for [Android](https://github.com/nextcloud/notes-android), [iOS](https://github.com/nextcloud/notes-ios) and the [console](https://git.danielmoch.com/nncli/about) which allow convenient access to your Nextcloud notes). Further features include marking notes as favorites.",
     "homepage": "https://github.com/nextcloud/notes",
     "licenses": [
@@ -210,9 +210,9 @@
     ]
   },
   "onlyoffice": {
-    "sha256": "0hf015rvramksh7v06n7pn5kmyhgqzg17vmrgfqjbndg1r6rghpc",
-    "url": "https://github.com/ONLYOFFICE/onlyoffice-nextcloud/releases/download/v7.9.4/onlyoffice.tar.gz",
-    "version": "7.9.4",
+    "sha256": "0md102hk29pakjxmybyhdqwh0hxvxpdxdki8y7wpk498gza3qmyh",
+    "url": "https://github.com/ONLYOFFICE/onlyoffice-nextcloud/releases/download/v7.10/onlyoffice.tar.gz",
+    "version": "7.10.0",
     "description": "ONLYOFFICE connector allows you to view, edit and collaborate on text documents, spreadsheets and presentations within Nextcloud using ONLYOFFICE Docs. This will create a new Edit in ONLYOFFICE action within the document library for Office documents. This allows multiple users to co-author documents in real time from the familiar web interface and save the changes back to your file storage.",
     "homepage": "https://www.onlyoffice.com",
     "licenses": [
@@ -240,9 +240,9 @@
     ]
   },
   "previewgenerator": {
-    "sha256": "08f0ivxqa2b54w2q4lycb3p5ngqyk92n2qll54pmpj54pfn1sj3m",
-    "url": "https://github.com/nextcloud-releases/previewgenerator/releases/download/v5.4.0/previewgenerator-v5.4.0.tar.gz",
-    "version": "5.4.0",
+    "sha256": "0505kg4pxa6dqylniwa5ip6h5bama8cp0ng2y7prhb93mnhgr051",
+    "url": "https://github.com/nextcloud-releases/previewgenerator/releases/download/v5.5.0/previewgenerator-v5.5.0.tar.gz",
+    "version": "5.5.0",
     "description": "The Preview Generator app allows admins to pre-generate previews. The app listens to edit events and stores this information. Once a cron job is triggered it will generate start preview generation. This means that you can better utilize your system by pre-generating previews when your system is normally idle and thus putting less load on your machine when the requests are actually served.\n\nThe app does not replace on demand preview generation so if a preview is requested before it is pre-generated it will still be shown.\nThe first time you install this app, before using a cron job, you properly want to generate all previews via:\n**./occ preview:generate-all -vvv**\n\n**Important**: To enable pre-generation of previews you must add **php /var/www/nextcloud/occ preview:pre-generate** to a system cron job that runs at times of your choosing.",
     "homepage": "https://github.com/nextcloud/previewgenerator",
     "licenses": [
@@ -250,9 +250,9 @@
     ]
   },
   "qownnotesapi": {
-    "sha256": "1pyr4b3w6gsy83ci6cy0wfv870qm2v957nl4w6xk989iyknk4ana",
-    "url": "https://github.com/pbek/qownnotesapi/releases/download/v23.12.0/qownnotesapi-nc.tar.gz",
-    "version": "23.12.0",
+    "sha256": "0y4cv4hagmax4nkdfzysd5fg2h2xak4m87waf3b0ci5f1bwdxdxx",
+    "url": "https://github.com/pbek/qownnotesapi/releases/download/v24.4.0/qownnotesapi-nc.tar.gz",
+    "version": "24.4.0",
     "description": "QOwnNotesAPI is the Nextcloud/ownCloud API for [QOwnNotes](http://www.qownnotes.org), the open source notepad for Linux, macOS and Windows, that works together with the notes application of Nextcloud/ownCloud.\n\nThe only purpose of this App is to provide API access to your Nextcloud/ownCloud server for your QOwnNotes desktop installation, you cannot use this App for anything else, if you don't have QOwnNotes installed on your desktop computer!",
     "homepage": "https://github.com/pbek/qownnotesapi",
     "licenses": [
@@ -273,7 +273,7 @@
     "sha256": "1d04y6jjhk41ghykqwxca4vmjlpn8cwlabqd9hjsccr2845gksad",
     "url": "https://github.com/nextcloud-releases/spreed/releases/download/v16.0.11/spreed-v16.0.11.tar.gz",
     "version": "16.0.11",
-    "description": "Chat, video & audio-conferencing using WebRTC\n\n* 💬 **Chat integration!** Nextcloud Talk comes with a simple text chat. Allowing you to share files from your Nextcloud and mentioning other participants.\n* 👥 **Private, group, public and password protected calls!** Just invite somebody, a whole group or send a public link to invite to a call.\n* 💻 **Screen sharing!** Share your screen with participants of your call. You just need to use Firefox version 66 (or newer), latest Edge or Chrome 72 (or newer, also possible using Chrome 49 with this [Chrome extension](https://chrome.google.com/webstore/detail/screensharing-for-nextclo/kepnpjhambipllfmgmbapncekcmabkol)).\n* 🚀 **Integration with other Nextcloud apps** like Files, Contacts and Deck. More to come.\n\nAnd in the works for the [coming versions](https://github.com/nextcloud/spreed/milestones/):\n* ✋ [Federated calls](https://github.com/nextcloud/spreed/issues/21), to call people on other Nextclouds",
+    "description": "Chat, video & audio-conferencing using WebRTC\n\n* 💬 **Chat** Nextcloud Talk comes with a simple text chat, allowing you to share or upload files from your Nextcloud Files app or local device and mention other participants.\n* 👥 **Private, group, public and password protected calls!** Invite someone, a whole group or send a public link to invite to a call.\n* 🌐 **Federated chats** Chat with other Nextcloud users on their servers\n* 💻 **Screen sharing!** Share your screen with the participants of your call.\n* 🚀 **Integration with other Nextcloud apps** like Files, Calendar, User status, Dashboard, Flow, Maps, Smart picker, Contacts, Deck, and many more.\n* 🌉 **Sync with other chat solutions** With [Matterbridge](https://github.com/42wim/matterbridge/) being integrated in Talk, you can easily sync a lot of other chat solutions to Nextcloud Talk and vice-versa.",
     "homepage": "https://github.com/nextcloud/spreed",
     "licenses": [
       "agpl"
@@ -309,6 +309,16 @@
       "agpl"
     ]
   },
+  "unroundedcorners": {
+    "sha256": "1ykgnwv41n4i1gwlbgxqflgrl68qc7byvlx4a8clbzhryn2745jf",
+    "url": "https://github.com/OliverParoczai/nextcloud-unroundedcorners/releases/download/v1.0.9/unroundedcorners-v1.0.9.tar.gz",
+    "version": "1.0.9",
+    "description": "# Unrounded Corners\nA Nextcloud app that restores the corners of buttons and widgets to their original looks by unrounding them.",
+    "homepage": "https://github.com/OliverParoczai/nextcloud-unroundedcorners",
+    "licenses": [
+      "agpl"
+    ]
+  },
   "unsplash": {
     "sha256": "1ya1h4nb9cyj1hdgb5l5isx7a43a7ri92cm0h8nwih20hi6a9wzx",
     "url": "https://github.com/nextcloud/unsplash/releases/download/v2.2.1/unsplash.tar.gz",
diff --git a/pkgs/servers/nextcloud/packages/27.json b/pkgs/servers/nextcloud/packages/27.json
index acf8763b62d2f..aba3f7f8b5509 100644
--- a/pkgs/servers/nextcloud/packages/27.json
+++ b/pkgs/servers/nextcloud/packages/27.json
@@ -10,9 +10,9 @@
     ]
   },
   "calendar": {
-    "sha256": "18hlk6j3dzpcd61sgn8r8zmcc9d1bklq030kwyn4mzr20dcf75w5",
-    "url": "https://github.com/nextcloud-releases/calendar/releases/download/v4.6.7/calendar-v4.6.7.tar.gz",
-    "version": "4.6.7",
+    "sha256": "10sxr8xczq29a3c5a7n074hpx80a21m6v7a2xhz0yhv9q80yv5gz",
+    "url": "https://github.com/nextcloud-releases/calendar/releases/download/v4.7.0/calendar-v4.7.0.tar.gz",
+    "version": "4.7.0",
     "description": "The Calendar app is a user interface for Nextcloud's CalDAV server. Easily sync events from various devices with your Nextcloud and edit them online.\n\n* 🚀 **Integration with other Nextcloud apps!** Currently Contacts - more to come.\n* 🌐 **WebCal Support!** Want to see your favorite team’s matchdays in your calendar? No problem!\n* 🙋 **Attendees!** Invite people to your events\n* ⌚️ **Free/Busy!** See when your attendees are available to meet\n* ⏰ **Reminders!** Get alarms for events inside your browser and via email\n* 🔍 Search! Find your events at ease\n* ☑️ Tasks! See tasks with a due date directly in the calendar\n* 🙈 **We’re not reinventing the wheel!** Based on the great [c-dav library](https://github.com/nextcloud/cdav-library), [ical.js](https://github.com/mozilla-comm/ical.js) and [fullcalendar](https://github.com/fullcalendar/fullcalendar) libraries.",
     "homepage": "https://github.com/nextcloud/calendar/",
     "licenses": [
@@ -90,9 +90,9 @@
     ]
   },
   "forms": {
-    "sha256": "1nwsbl3lh0s4if4665b1z7nf7r62chazfb5g3fdrlffrrrqbdj4y",
-    "url": "https://github.com/nextcloud-releases/forms/releases/download/v3.4.6/forms-v3.4.6.tar.gz",
-    "version": "3.4.6",
+    "sha256": "0shdkqhip988dng2105k5cjbqfqny5791h8gdachcv3vnq99fywi",
+    "url": "https://github.com/nextcloud-releases/forms/releases/download/v3.4.7/forms-v3.4.7.tar.gz",
+    "version": "3.4.7",
     "description": "**Simple surveys and questionnaires, self-hosted!**\n\n- **📝 Simple design:** No mass of options, only the essentials. Works well on mobile of course.\n- **📊 View & export results:** Results are visualized and can also be exported as CSV in the same format used by Google Forms.\n- **🔒 Data under your control!** Unlike in Google Forms, Typeform, Doodle and others, the survey info and responses are kept private on your instance.\n- **🧑‍💻 Connect to your software:** Easily integrate Forms into your service with our full-fledged [REST-API](https://github.com/nextcloud/forms/blob/main/docs/API.md).\n- **🙋 Get involved!** We have lots of stuff planned like more question types, collaboration on forms, [and much more](https://github.com/nextcloud/forms/milestones)!",
     "homepage": "https://github.com/nextcloud/forms",
     "licenses": [
@@ -110,9 +110,9 @@
     ]
   },
   "groupfolders": {
-    "sha256": "00pjva8hc36mnawvbpsi6lizzdhclp30z92vaz8j24xmhf21yvh9",
-    "url": "https://github.com/nextcloud-releases/groupfolders/releases/download/v15.3.6/groupfolders-v15.3.6.tar.gz",
-    "version": "15.3.6",
+    "sha256": "00c387vjz5sxw3gv61m4p3jby50bcadk8dwpz0zsd5wbhwffd63q",
+    "url": "https://github.com/nextcloud-releases/groupfolders/releases/download/v15.3.7/groupfolders-v15.3.7.tar.gz",
+    "version": "15.3.7",
     "description": "Admin configured folders shared with everyone in a group.\n\nFolders can be configured from *Group folders* in the admin settings.\n\nAfter a folder is created, the admin can give access to the folder to one or more groups, control their write/sharing permissions and assign a quota for the folder.\n\nNote: Encrypting the contents of group folders is currently not supported.",
     "homepage": "https://github.com/nextcloud/groupfolders",
     "licenses": [
@@ -133,16 +133,16 @@
     "sha256": "1cb5csdn85y5fkwhbxxl9i1qy92iqx9v9ccavcp66xfpyk4dlf22",
     "url": "https://github.com/nextcloud-releases/integration_openai/releases/download/v1.1.5/integration_openai-v1.1.5.tar.gz",
     "version": "1.1.5",
-    "description": "This app includes 3 custom smart pickers for Nextcloud:\n* ChatGPT-like answers\n* Image generation (with DALL·E 2 or LocalAI)\n* Whisper dictation\n\nIt also implements\n\n* A Translation provider (using any available language model)\n* A SpeechToText provider (using Whisper)\n\nInstead of connecting to the OpenAI API for these, you can also connect to a self-hosted [LocalAI](https://localai.io) instance.\n\n## Ethical AI Rating\n### Rating for Text generation using ChatGPT via OpenAI API: 🔴\n\nNegative:\n* the software for training and inference of this model is proprietary, limiting running it locally or training by yourself\n* the trained model is not freely available, so the model can not be run on-premises\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model's performance and CO2 usage.\n\n\n### Rating for Translation using ChatGPT via OpenAI API: 🔴\n\nNegative:\n* the software for training and inference of this model is proprietary, limiting running it locally or training by yourself\n* the trained model is not freely available, so the model can not be run on-premises\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model's performance and CO2 usage.\n\n### Rating for Image generation using DALL·E via OpenAI API: 🔴\n\nNegative:\n* the software for training and inferencing of this model is proprietary, limiting running it locally or training by yourself\n* the trained model is not freely available, so the model can not be ran on-premises\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\n\n### Rating for Speech-To-Text using Whisper via OpenAI API: 🟡\n\nPositive:\n* the software for training and inferencing of this model is open source\n* The trained model is freely available, and thus can run on-premise\n\nNegative:\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\n### Rating for Text generation via LocalAI: 🟢\n\nPositive:\n* the software for training and inferencing of this model is open source\n* the trained model is freely available, and thus can be ran on-premises\n* the training data is freely available, making it possible to check or correct for bias or optimise the performance and CO2 usage.\n\n\n### Rating for Image generation using Stable Diffusion via LocalAI : 🟡\n\nPositive:\n* the software for training and inferencing of this model is open source\n* the trained model is freely available, and thus can be ran on-premises\n\nNegative:\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\n\n### Rating for Speech-To-Text using Whisper via LocalAI: 🟡\n\nPositive:\n* the software for training and inferencing of this model is open source\n* the trained model is freely available, and thus can be ran on-premises\n\nNegative:\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\nLearn more about the Nextcloud Ethical AI Rating [in our blog](https://nextcloud.com/blog/nextcloud-ethical-ai-rating/).",
+    "description": "⚠️ The smart pickers have been removed from this app\nas they are now included in the [Assistant app](https://apps.nextcloud.com/apps/assistant).\n\nThis app implements:\n\n* Text generation providers: Free prompt, Summarize, Headline and Reformulate (using any available large language model)\n* A Translation provider (using any available language model)\n* A SpeechToText provider (using Whisper)\n* An image generation provider\n\nInstead of connecting to the OpenAI API for these, you can also connect to a self-hosted [LocalAI](https://localai.io) instance\nor to any service that implements an API similar to the OpenAI one, for example: [Plusserver](https://www.plusserver.com/en/ai-platform/).\n\n## Ethical AI Rating\n### Rating for Text generation using ChatGPT via OpenAI API: 🔴\n\nNegative:\n* the software for training and inference of this model is proprietary, limiting running it locally or training by yourself\n* the trained model is not freely available, so the model can not be run on-premises\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model's performance and CO2 usage.\n\n\n### Rating for Translation using ChatGPT via OpenAI API: 🔴\n\nNegative:\n* the software for training and inference of this model is proprietary, limiting running it locally or training by yourself\n* the trained model is not freely available, so the model can not be run on-premises\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model's performance and CO2 usage.\n\n### Rating for Image generation using DALL·E via OpenAI API: 🔴\n\nNegative:\n* the software for training and inferencing of this model is proprietary, limiting running it locally or training by yourself\n* the trained model is not freely available, so the model can not be ran on-premises\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\n\n### Rating for Speech-To-Text using Whisper via OpenAI API: 🟡\n\nPositive:\n* the software for training and inferencing of this model is open source\n* The trained model is freely available, and thus can run on-premise\n\nNegative:\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\n### Rating for Text generation via LocalAI: 🟢\n\nPositive:\n* the software for training and inferencing of this model is open source\n* the trained model is freely available, and thus can be ran on-premises\n* the training data is freely available, making it possible to check or correct for bias or optimise the performance and CO2 usage.\n\n\n### Rating for Image generation using Stable Diffusion via LocalAI : 🟡\n\nPositive:\n* the software for training and inferencing of this model is open source\n* the trained model is freely available, and thus can be ran on-premises\n\nNegative:\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\n\n### Rating for Speech-To-Text using Whisper via LocalAI: 🟡\n\nPositive:\n* the software for training and inferencing of this model is open source\n* the trained model is freely available, and thus can be ran on-premises\n\nNegative:\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\nLearn more about the Nextcloud Ethical AI Rating [in our blog](https://nextcloud.com/blog/nextcloud-ethical-ai-rating/).",
     "homepage": "https://github.com/nextcloud/integration_openai",
     "licenses": [
       "agpl"
     ]
   },
   "mail": {
-    "sha256": "122qyz6d9771ivpl771g5wi3lxsd2g3v64n9cp5clm8p662msjfi",
-    "url": "https://github.com/nextcloud-releases/mail/releases/download/v3.5.7/mail-v3.5.7.tar.gz",
-    "version": "3.5.7",
+    "sha256": "1m48zdh7jjmgw7r9y9irp7z22wjippjswy7r60yvsdxbac765n14",
+    "url": "https://github.com/nextcloud-releases/mail/releases/download/v3.6.0/mail-v3.6.0.tar.gz",
+    "version": "3.6.0",
     "description": "**💌 A mail app for Nextcloud**\n\n- **🚀 Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **📥 Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **🔒 Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **🙈 We’re not reinventing the wheel!** Based on the great [Horde](https://horde.org) libraries.\n- **📬 Want to host your own mail server?** We do not have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!\n\n## Ethical AI Rating\n\n### Priority Inbox\n\nPositive:\n* The software for training and inferencing of this model is open source.\n* The model is created and trained on-premises based on the user's own data.\n* The training data is accessible to the user, making it possible to check or correct for bias or optimise the performance and CO2 usage.\n\n### Thread Summaries (opt-in)\n\n**Rating:** 🟢/🟡/🟠/🔴\n\nThe rating depends on the installed text processing backend. See [the rating overview](https://docs.nextcloud.com/server/latest/admin_manual/ai/index.html) for details.\n\nLearn more about the Nextcloud Ethical AI Rating [in our blog](https://nextcloud.com/blog/nextcloud-ethical-ai-rating/).",
     "homepage": "https://github.com/nextcloud/mail#readme",
     "licenses": [
@@ -160,9 +160,9 @@
     ]
   },
   "memories": {
-    "sha256": "0638120x6byp35gslcr2yg4rswihjjdssnjw87fxx7q41sd02vsz",
-    "url": "https://github.com/pulsejet/memories/releases/download/v7.0.2/memories.tar.gz",
-    "version": "7.0.2",
+    "sha256": "02l9rq117x7x4nra1f50fkn7yr3cpbjnsq9nlr7rnsn9qsf5rrw9",
+    "url": "https://github.com/pulsejet/memories/releases/download/v7.2.0/memories.tar.gz",
+    "version": "7.2.0",
     "description": "# Memories: Photo Management for Nextcloud\n\nMemories is a *batteries-included* photo management solution for Nextcloud with advanced features including:\n\n- **📸 Timeline**: Sort photos and videos by date taken, parsed from Exif data.\n- **⏪ Rewind**: Jump to any time in the past instantly and relive your memories.\n- **🤖 AI Tagging**: Group photos by people and objects, powered by [recognize](https://github.com/nextcloud/recognize) and [facerecognition](https://github.com/matiasdelellis/facerecognition).\n- **🖼️ Albums**: Create albums to group photos and videos together. Then share these albums with others.\n- **🫱🏻‍🫲🏻 External Sharing**: Share photos and videos with people outside of your Nextcloud instance.\n- **📱 Mobile Support**: Work from any device, of any shape and size through the web app.\n- **✏️ Edit Metadata**: Edit dates and other metadata on photos quickly and in bulk.\n- **📦 Archive**: Store photos you don't want to see in your timeline in a separate folder.\n- **📹 Video Transcoding**: Transcode videos and use HLS for maximal performance.\n- **🗺️ Map**: View your photos on a map, tagged with accurate reverse geocoding.\n- **📦 Migration**: Migrate easily from Nextcloud Photos and Google Takeout.\n- **⚡️ Performance**: Do all this very fast.\n\n## 🚀 Installation\n\n1. Install the app from the Nextcloud app store (try a demo [here](https://demo.memories.gallery/apps/memories/)).\n1. Perform the recommended [configuration steps](https://memories.gallery/config/).\n1. Run `php occ memories:index` to generate metadata indices for existing photos.\n1. Open the 📷 Memories app in Nextcloud and set the directory containing your photos.",
     "homepage": "https://memories.gallery",
     "licenses": [
@@ -170,9 +170,9 @@
     ]
   },
   "music": {
-    "sha256": "1afjqvmcim1r22bs5vpp2b2wd01df5xdchw6ifqf57vgb7nzzkbs",
-    "url": "https://github.com/owncloud/music/releases/download/v1.10.0/music_1.10.0_for_nextcloud.tar.gz",
-    "version": "1.10.0",
+    "sha256": "04dh6vzriiiqnn02pjbwn9rv0q427njbx558jl504jp91b8qd2wn",
+    "url": "https://github.com/owncloud/music/releases/download/v1.11.0/music_1.11.0_for_nextcloud.tar.gz",
+    "version": "1.11.0",
     "description": "A stand-alone music player app and a \"lite\" player for the Files app\n\n- On modern browsers, supports audio types .mp3, .ogg, .m4a, .m4b, .flac, .wav, and more\n- Playlist support with import from m3u, m3u8, and pls files\n- Browse by artists, albums, genres, or folders\n- Gapless play\n- Filter the shown content with the search function\n- Play internet radio and podcast channels\n- Setup Last.fm connection to see background information on artists, albums, and songs\n- Control with media control keys on the keyboard or OS\n- The app can handle libraries consisting of thousands of albums and tens of thousands of songs\n- Includes a server backend compatible with the Subsonic and Ampache protocols, allowing playback and browsing of your library on various external apps e.g. on Android or iPhone",
     "homepage": "https://github.com/owncloud/music",
     "licenses": [
@@ -190,9 +190,9 @@
     ]
   },
   "notes": {
-    "sha256": "1ii3ii2062wklss3mxsfbvqi4hvi96a20i20lbwm6z2x6q7fqqi3",
-    "url": "https://github.com/nextcloud-releases/notes/releases/download/v4.9.4/notes-v4.9.4.tar.gz",
-    "version": "4.9.4",
+    "sha256": "0j9bwbfvwwdaabyc79i514sp36cm4i9z02l8bkxlqr9fvim73nn9",
+    "url": "https://github.com/nextcloud-releases/notes/releases/download/v4.10.0/notes.tar.gz",
+    "version": "4.10.0",
     "description": "The Notes app is a distraction free notes taking app for [Nextcloud](https://www.nextcloud.com/). It provides categories for better organization and supports formatting using [Markdown](https://en.wikipedia.org/wiki/Markdown) syntax. Notes are saved as files in your Nextcloud, so you can view and edit them with every Nextcloud client. Furthermore, a separate [REST API](https://github.com/nextcloud/notes/blob/master/docs/api/README.md) allows for an easy integration into third-party apps (currently, there are notes apps for [Android](https://github.com/nextcloud/notes-android), [iOS](https://github.com/nextcloud/notes-ios) and the [console](https://git.danielmoch.com/nncli/about) which allow convenient access to your Nextcloud notes). Further features include marking notes as favorites.",
     "homepage": "https://github.com/nextcloud/notes",
     "licenses": [
@@ -210,13 +210,13 @@
     ]
   },
   "onlyoffice": {
-    "sha256": "0wnlm12wy7vsjmgh49ag7mm51mr2h8m05vdiwzkrfm7zazgdwadh",
-    "url": "https://github.com/ONLYOFFICE/onlyoffice-nextcloud/releases/download/v8.2.4/onlyoffice.tar.gz",
-    "version": "8.2.4",
+    "sha256": "1hg6cs8rbvy00w541pd1qcr5l6xqnjz816pm2jyxqxm8dm5kag7a",
+    "url": "https://github.com/ONLYOFFICE/onlyoffice-nextcloud/releases/download/v9.1.2/onlyoffice.tar.gz",
+    "version": "9.1.2",
     "description": "ONLYOFFICE connector allows you to view, edit and collaborate on text documents, spreadsheets and presentations within Nextcloud using ONLYOFFICE Docs. This will create a new Edit in ONLYOFFICE action within the document library for Office documents. This allows multiple users to co-author documents in real time from the familiar web interface and save the changes back to your file storage.",
     "homepage": "https://www.onlyoffice.com",
     "licenses": [
-      "apache"
+      "agpl"
     ]
   },
   "phonetrack": {
@@ -240,9 +240,9 @@
     ]
   },
   "previewgenerator": {
-    "sha256": "08f0ivxqa2b54w2q4lycb3p5ngqyk92n2qll54pmpj54pfn1sj3m",
-    "url": "https://github.com/nextcloud-releases/previewgenerator/releases/download/v5.4.0/previewgenerator-v5.4.0.tar.gz",
-    "version": "5.4.0",
+    "sha256": "0505kg4pxa6dqylniwa5ip6h5bama8cp0ng2y7prhb93mnhgr051",
+    "url": "https://github.com/nextcloud-releases/previewgenerator/releases/download/v5.5.0/previewgenerator-v5.5.0.tar.gz",
+    "version": "5.5.0",
     "description": "The Preview Generator app allows admins to pre-generate previews. The app listens to edit events and stores this information. Once a cron job is triggered it will generate start preview generation. This means that you can better utilize your system by pre-generating previews when your system is normally idle and thus putting less load on your machine when the requests are actually served.\n\nThe app does not replace on demand preview generation so if a preview is requested before it is pre-generated it will still be shown.\nThe first time you install this app, before using a cron job, you properly want to generate all previews via:\n**./occ preview:generate-all -vvv**\n\n**Important**: To enable pre-generation of previews you must add **php /var/www/nextcloud/occ preview:pre-generate** to a system cron job that runs at times of your choosing.",
     "homepage": "https://github.com/nextcloud/previewgenerator",
     "licenses": [
@@ -250,9 +250,9 @@
     ]
   },
   "qownnotesapi": {
-    "sha256": "1pyr4b3w6gsy83ci6cy0wfv870qm2v957nl4w6xk989iyknk4ana",
-    "url": "https://github.com/pbek/qownnotesapi/releases/download/v23.12.0/qownnotesapi-nc.tar.gz",
-    "version": "23.12.0",
+    "sha256": "0y4cv4hagmax4nkdfzysd5fg2h2xak4m87waf3b0ci5f1bwdxdxx",
+    "url": "https://github.com/pbek/qownnotesapi/releases/download/v24.4.0/qownnotesapi-nc.tar.gz",
+    "version": "24.4.0",
     "description": "QOwnNotesAPI is the Nextcloud/ownCloud API for [QOwnNotes](http://www.qownnotes.org), the open source notepad for Linux, macOS and Windows, that works together with the notes application of Nextcloud/ownCloud.\n\nThe only purpose of this App is to provide API access to your Nextcloud/ownCloud server for your QOwnNotes desktop installation, you cannot use this App for anything else, if you don't have QOwnNotes installed on your desktop computer!",
     "homepage": "https://github.com/pbek/qownnotesapi",
     "licenses": [
@@ -270,10 +270,10 @@
     ]
   },
   "spreed": {
-    "sha256": "0vlmgiwjqk8bjvjkamca4b97lqs5wj1c4xsdz87gd1zjz3ja4332",
-    "url": "https://github.com/nextcloud-releases/spreed/releases/download/v17.1.6/spreed-v17.1.6.tar.gz",
-    "version": "17.1.6",
-    "description": "Chat, video & audio-conferencing using WebRTC\n\n* 💬 **Chat integration!** Nextcloud Talk comes with a simple text chat. Allowing you to share files from your Nextcloud and mentioning other participants.\n* 👥 **Private, group, public and password protected calls!** Just invite somebody, a whole group or send a public link to invite to a call.\n* 💻 **Screen sharing!** Share your screen with participants of your call. You just need to use Firefox version 66 (or newer), latest Edge or Chrome 72 (or newer, also possible using Chrome 49 with this [Chrome extension](https://chrome.google.com/webstore/detail/screensharing-for-nextclo/kepnpjhambipllfmgmbapncekcmabkol)).\n* 🚀 **Integration with other Nextcloud apps** like Files, Contacts and Deck. More to come.\n\nAnd in the works for the [coming versions](https://github.com/nextcloud/spreed/milestones/):\n* ✋ [Federated calls](https://github.com/nextcloud/spreed/issues/21), to call people on other Nextclouds",
+    "sha256": "0699c9xfmzk48q0f48lxw16h9l2300w6vp1sn2vb8wr76fbhm9kf",
+    "url": "https://github.com/nextcloud-releases/spreed/releases/download/v17.1.8/spreed-v17.1.8.tar.gz",
+    "version": "17.1.8",
+    "description": "Chat, video & audio-conferencing using WebRTC\n\n* 💬 **Chat** Nextcloud Talk comes with a simple text chat, allowing you to share or upload files from your Nextcloud Files app or local device and mention other participants.\n* 👥 **Private, group, public and password protected calls!** Invite someone, a whole group or send a public link to invite to a call.\n* 🌐 **Federated chats** Chat with other Nextcloud users on their servers\n* 💻 **Screen sharing!** Share your screen with the participants of your call.\n* 🚀 **Integration with other Nextcloud apps** like Files, Calendar, User status, Dashboard, Flow, Maps, Smart picker, Contacts, Deck, and many more.\n* 🌉 **Sync with other chat solutions** With [Matterbridge](https://github.com/42wim/matterbridge/) being integrated in Talk, you can easily sync a lot of other chat solutions to Nextcloud Talk and vice-versa.",
     "homepage": "https://github.com/nextcloud/spreed",
     "licenses": [
       "agpl"
@@ -309,6 +309,16 @@
       "agpl"
     ]
   },
+  "unroundedcorners": {
+    "sha256": "16h8zg7k18r01yx2a72bn22nmvbafrs3ksyy23fbrnirzgwcaaqf",
+    "url": "https://github.com/OliverParoczai/nextcloud-unroundedcorners/releases/download/v1.1.3/unroundedcorners-v1.1.3.tar.gz",
+    "version": "1.1.3",
+    "description": "# Unrounded Corners\nA Nextcloud app that restores the corners of buttons and widgets to their original looks by unrounding them.",
+    "homepage": "https://github.com/OliverParoczai/nextcloud-unroundedcorners",
+    "licenses": [
+      "agpl"
+    ]
+  },
   "unsplash": {
     "sha256": "1ya1h4nb9cyj1hdgb5l5isx7a43a7ri92cm0h8nwih20hi6a9wzx",
     "url": "https://github.com/nextcloud/unsplash/releases/download/v2.2.1/unsplash.tar.gz",
diff --git a/pkgs/servers/nextcloud/packages/28.json b/pkgs/servers/nextcloud/packages/28.json
index ef885c7b7a0ec..c2906ab8a0214 100644
--- a/pkgs/servers/nextcloud/packages/28.json
+++ b/pkgs/servers/nextcloud/packages/28.json
@@ -10,9 +10,9 @@
     ]
   },
   "calendar": {
-    "sha256": "18hlk6j3dzpcd61sgn8r8zmcc9d1bklq030kwyn4mzr20dcf75w5",
-    "url": "https://github.com/nextcloud-releases/calendar/releases/download/v4.6.7/calendar-v4.6.7.tar.gz",
-    "version": "4.6.7",
+    "sha256": "10sxr8xczq29a3c5a7n074hpx80a21m6v7a2xhz0yhv9q80yv5gz",
+    "url": "https://github.com/nextcloud-releases/calendar/releases/download/v4.7.0/calendar-v4.7.0.tar.gz",
+    "version": "4.7.0",
     "description": "The Calendar app is a user interface for Nextcloud's CalDAV server. Easily sync events from various devices with your Nextcloud and edit them online.\n\n* 🚀 **Integration with other Nextcloud apps!** Currently Contacts - more to come.\n* 🌐 **WebCal Support!** Want to see your favorite team’s matchdays in your calendar? No problem!\n* 🙋 **Attendees!** Invite people to your events\n* ⌚️ **Free/Busy!** See when your attendees are available to meet\n* ⏰ **Reminders!** Get alarms for events inside your browser and via email\n* 🔍 Search! Find your events at ease\n* ☑️ Tasks! See tasks with a due date directly in the calendar\n* 🙈 **We’re not reinventing the wheel!** Based on the great [c-dav library](https://github.com/nextcloud/cdav-library), [ical.js](https://github.com/mozilla-comm/ical.js) and [fullcalendar](https://github.com/fullcalendar/fullcalendar) libraries.",
     "homepage": "https://github.com/nextcloud/calendar/",
     "licenses": [
@@ -70,9 +70,9 @@
     ]
   },
   "forms": {
-    "sha256": "0iqkwnadhi6i1gnx7wiqny862g25kfiqi2mgkaf5cyiig3rispa0",
-    "url": "https://github.com/nextcloud-releases/forms/releases/download/v4.1.1/forms-v4.1.1.tar.gz",
-    "version": "4.1.1",
+    "sha256": "0ca627nyrs61k5990j3m1l7vxavsh8x8rrhfvk01pdl9f1556jmf",
+    "url": "https://github.com/nextcloud-releases/forms/releases/download/v4.2.3/forms-v4.2.3.tar.gz",
+    "version": "4.2.3",
     "description": "**Simple surveys and questionnaires, self-hosted!**\n\n- **📝 Simple design:** No mass of options, only the essentials. Works well on mobile of course.\n- **📊 View & export results:** Results are visualized and can also be exported as CSV in the same format used by Google Forms.\n- **🔒 Data under your control!** Unlike in Google Forms, Typeform, Doodle and others, the survey info and responses are kept private on your instance.\n- **🧑‍💻 Connect to your software:** Easily integrate Forms into your service with our full-fledged [REST-API](https://github.com/nextcloud/forms/blob/main/docs/API.md).\n- **🙋 Get involved!** We have lots of stuff planned like more question types, collaboration on forms, [and much more](https://github.com/nextcloud/forms/milestones)!",
     "homepage": "https://github.com/nextcloud/forms",
     "licenses": [
@@ -90,9 +90,9 @@
     ]
   },
   "groupfolders": {
-    "sha256": "0cg81d75dg96zp09jy4yzg65v14wf99c2snnj304v4dia410c8a3",
-    "url": "https://github.com/nextcloud-releases/groupfolders/releases/download/v16.0.5/groupfolders-v16.0.5.tar.gz",
-    "version": "16.0.5",
+    "sha256": "06lbv04byc08zqfws2hbxqdg05d25sfps80y21xahzcrv74z4ngl",
+    "url": "https://github.com/nextcloud-releases/groupfolders/releases/download/v16.0.6/groupfolders-v16.0.6.tar.gz",
+    "version": "16.0.6",
     "description": "Admin configured folders shared with everyone in a group.\n\nFolders can be configured from *Group folders* in the admin settings.\n\nAfter a folder is created, the admin can give access to the folder to one or more groups, control their write/sharing permissions and assign a quota for the folder.\n\nNote: Encrypting the contents of group folders is currently not supported.",
     "homepage": "https://github.com/nextcloud/groupfolders",
     "licenses": [
@@ -110,19 +110,19 @@
     ]
   },
   "integration_openai": {
-    "sha256": "0v8bpd74mvkc87jbqjkxcfhb728l0r85fsqjn1ahaj2g9xql07f6",
-    "url": "https://github.com/nextcloud-releases/integration_openai/releases/download/v1.2.1/integration_openai-v1.2.1.tar.gz",
-    "version": "1.2.1",
-    "description": "This app includes 3 custom smart pickers for Nextcloud:\n* ChatGPT-like answers\n* Image generation (with DALL·E 2 or LocalAI)\n* Whisper dictation\n\nIt also implements\n\n* A Translation provider (using any available language model)\n* A SpeechToText provider (using Whisper)\n\nInstead of connecting to the OpenAI API for these, you can also connect to a self-hosted [LocalAI](https://localai.io) instance.\n\n## Ethical AI Rating\n### Rating for Text generation using ChatGPT via OpenAI API: 🔴\n\nNegative:\n* the software for training and inference of this model is proprietary, limiting running it locally or training by yourself\n* the trained model is not freely available, so the model can not be run on-premises\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model's performance and CO2 usage.\n\n\n### Rating for Translation using ChatGPT via OpenAI API: 🔴\n\nNegative:\n* the software for training and inference of this model is proprietary, limiting running it locally or training by yourself\n* the trained model is not freely available, so the model can not be run on-premises\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model's performance and CO2 usage.\n\n### Rating for Image generation using DALL·E via OpenAI API: 🔴\n\nNegative:\n* the software for training and inferencing of this model is proprietary, limiting running it locally or training by yourself\n* the trained model is not freely available, so the model can not be ran on-premises\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\n\n### Rating for Speech-To-Text using Whisper via OpenAI API: 🟡\n\nPositive:\n* the software for training and inferencing of this model is open source\n* The trained model is freely available, and thus can run on-premise\n\nNegative:\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\n### Rating for Text generation via LocalAI: 🟢\n\nPositive:\n* the software for training and inferencing of this model is open source\n* the trained model is freely available, and thus can be ran on-premises\n* the training data is freely available, making it possible to check or correct for bias or optimise the performance and CO2 usage.\n\n\n### Rating for Image generation using Stable Diffusion via LocalAI : 🟡\n\nPositive:\n* the software for training and inferencing of this model is open source\n* the trained model is freely available, and thus can be ran on-premises\n\nNegative:\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\n\n### Rating for Speech-To-Text using Whisper via LocalAI: 🟡\n\nPositive:\n* the software for training and inferencing of this model is open source\n* the trained model is freely available, and thus can be ran on-premises\n\nNegative:\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\nLearn more about the Nextcloud Ethical AI Rating [in our blog](https://nextcloud.com/blog/nextcloud-ethical-ai-rating/).",
+    "sha256": "1x9w13xljh8h8n7hic4ffxsk7y63x9yghr1450ng2p68y6vjsg4g",
+    "url": "https://github.com/nextcloud-releases/integration_openai/releases/download/v2.0.0/integration_openai-v2.0.0.tar.gz",
+    "version": "2.0.0",
+    "description": "⚠️ The smart pickers have been removed from this app\nas they are now included in the [Assistant app](https://apps.nextcloud.com/apps/assistant).\n\nThis app implements:\n\n* Text generation providers: Free prompt, Summarize, Headline and Reformulate (using any available large language model)\n* A Translation provider (using any available language model)\n* A SpeechToText provider (using Whisper)\n* An image generation provider\n\nInstead of connecting to the OpenAI API for these, you can also connect to a self-hosted [LocalAI](https://localai.io) instance\nor to any service that implements an API similar to the OpenAI one, for example: [Plusserver](https://www.plusserver.com/en/ai-platform/).\n\n## Ethical AI Rating\n### Rating for Text generation using ChatGPT via OpenAI API: 🔴\n\nNegative:\n* the software for training and inference of this model is proprietary, limiting running it locally or training by yourself\n* the trained model is not freely available, so the model can not be run on-premises\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model's performance and CO2 usage.\n\n\n### Rating for Translation using ChatGPT via OpenAI API: 🔴\n\nNegative:\n* the software for training and inference of this model is proprietary, limiting running it locally or training by yourself\n* the trained model is not freely available, so the model can not be run on-premises\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model's performance and CO2 usage.\n\n### Rating for Image generation using DALL·E via OpenAI API: 🔴\n\nNegative:\n* the software for training and inferencing of this model is proprietary, limiting running it locally or training by yourself\n* the trained model is not freely available, so the model can not be ran on-premises\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\n\n### Rating for Speech-To-Text using Whisper via OpenAI API: 🟡\n\nPositive:\n* the software for training and inferencing of this model is open source\n* The trained model is freely available, and thus can run on-premise\n\nNegative:\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\n### Rating for Text generation via LocalAI: 🟢\n\nPositive:\n* the software for training and inferencing of this model is open source\n* the trained model is freely available, and thus can be ran on-premises\n* the training data is freely available, making it possible to check or correct for bias or optimise the performance and CO2 usage.\n\n\n### Rating for Image generation using Stable Diffusion via LocalAI : 🟡\n\nPositive:\n* the software for training and inferencing of this model is open source\n* the trained model is freely available, and thus can be ran on-premises\n\nNegative:\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\n\n### Rating for Speech-To-Text using Whisper via LocalAI: 🟡\n\nPositive:\n* the software for training and inferencing of this model is open source\n* the trained model is freely available, and thus can be ran on-premises\n\nNegative:\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\nLearn more about the Nextcloud Ethical AI Rating [in our blog](https://nextcloud.com/blog/nextcloud-ethical-ai-rating/).",
     "homepage": "https://github.com/nextcloud/integration_openai",
     "licenses": [
       "agpl"
     ]
   },
   "mail": {
-    "sha256": "122qyz6d9771ivpl771g5wi3lxsd2g3v64n9cp5clm8p662msjfi",
-    "url": "https://github.com/nextcloud-releases/mail/releases/download/v3.5.7/mail-v3.5.7.tar.gz",
-    "version": "3.5.7",
+    "sha256": "1m48zdh7jjmgw7r9y9irp7z22wjippjswy7r60yvsdxbac765n14",
+    "url": "https://github.com/nextcloud-releases/mail/releases/download/v3.6.0/mail-v3.6.0.tar.gz",
+    "version": "3.6.0",
     "description": "**💌 A mail app for Nextcloud**\n\n- **🚀 Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **📥 Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **🔒 Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **🙈 We’re not reinventing the wheel!** Based on the great [Horde](https://horde.org) libraries.\n- **📬 Want to host your own mail server?** We do not have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!\n\n## Ethical AI Rating\n\n### Priority Inbox\n\nPositive:\n* The software for training and inferencing of this model is open source.\n* The model is created and trained on-premises based on the user's own data.\n* The training data is accessible to the user, making it possible to check or correct for bias or optimise the performance and CO2 usage.\n\n### Thread Summaries (opt-in)\n\n**Rating:** 🟢/🟡/🟠/🔴\n\nThe rating depends on the installed text processing backend. See [the rating overview](https://docs.nextcloud.com/server/latest/admin_manual/ai/index.html) for details.\n\nLearn more about the Nextcloud Ethical AI Rating [in our blog](https://nextcloud.com/blog/nextcloud-ethical-ai-rating/).",
     "homepage": "https://github.com/nextcloud/mail#readme",
     "licenses": [
@@ -130,9 +130,9 @@
     ]
   },
   "maps": {
-    "sha256": "0rs5cqn2saip7fmj71ww879iqsmmigf0fi6fdbqmdxmrmvsnl9l6",
-    "url": "https://github.com/nextcloud/maps/releases/download/v1.3.1/maps-1.3.1.tar.gz",
-    "version": "1.3.1",
+    "sha256": "18gln06hgljgnr90ki95nl7b8986ivf3cymr6hajilszlr77hk22",
+    "url": "https://github.com/nextcloud/maps/releases/download/v1.4.0-1-nightly/maps-1.4.0-1-nightly.tar.gz",
+    "version": "1.4.0",
     "description": "**The whole world fits inside your cloud!**\n\n- **🗺 Beautiful map:** Using [OpenStreetMap](https://www.openstreetmap.org) and [Leaflet](https://leafletjs.com), you can choose between standard map, satellite, topographical, dark mode or even watercolor! 🎨\n- **⭐ Favorites:** Save your favorite places, privately! Sync with [GNOME Maps](https://github.com/nextcloud/maps/issues/30) and mobile apps is planned.\n- **🧭 Routing:** Possible using either [OSRM](http://project-osrm.org), [GraphHopper](https://www.graphhopper.com) or [Mapbox](https://www.mapbox.com).\n- **🖼 Photos on the map:** No more boring slideshows, just show directly where you were!\n- **🙋 Contacts on the map:** See where your friends live and plan your next visit.\n- **📱 Devices:** Lost your phone? Check the map!\n- **〰 Tracks:** Load GPS tracks or past trips. Recording with [PhoneTrack](https://f-droid.org/en/packages/net.eneiluj.nextcloud.phonetrack/) or [OwnTracks](https://owntracks.org) is planned.",
     "homepage": "https://github.com/nextcloud/maps",
     "licenses": [
@@ -140,9 +140,9 @@
     ]
   },
   "memories": {
-    "sha256": "0638120x6byp35gslcr2yg4rswihjjdssnjw87fxx7q41sd02vsz",
-    "url": "https://github.com/pulsejet/memories/releases/download/v7.0.2/memories.tar.gz",
-    "version": "7.0.2",
+    "sha256": "02l9rq117x7x4nra1f50fkn7yr3cpbjnsq9nlr7rnsn9qsf5rrw9",
+    "url": "https://github.com/pulsejet/memories/releases/download/v7.2.0/memories.tar.gz",
+    "version": "7.2.0",
     "description": "# Memories: Photo Management for Nextcloud\n\nMemories is a *batteries-included* photo management solution for Nextcloud with advanced features including:\n\n- **📸 Timeline**: Sort photos and videos by date taken, parsed from Exif data.\n- **⏪ Rewind**: Jump to any time in the past instantly and relive your memories.\n- **🤖 AI Tagging**: Group photos by people and objects, powered by [recognize](https://github.com/nextcloud/recognize) and [facerecognition](https://github.com/matiasdelellis/facerecognition).\n- **🖼️ Albums**: Create albums to group photos and videos together. Then share these albums with others.\n- **🫱🏻‍🫲🏻 External Sharing**: Share photos and videos with people outside of your Nextcloud instance.\n- **📱 Mobile Support**: Work from any device, of any shape and size through the web app.\n- **✏️ Edit Metadata**: Edit dates and other metadata on photos quickly and in bulk.\n- **📦 Archive**: Store photos you don't want to see in your timeline in a separate folder.\n- **📹 Video Transcoding**: Transcode videos and use HLS for maximal performance.\n- **🗺️ Map**: View your photos on a map, tagged with accurate reverse geocoding.\n- **📦 Migration**: Migrate easily from Nextcloud Photos and Google Takeout.\n- **⚡️ Performance**: Do all this very fast.\n\n## 🚀 Installation\n\n1. Install the app from the Nextcloud app store (try a demo [here](https://demo.memories.gallery/apps/memories/)).\n1. Perform the recommended [configuration steps](https://memories.gallery/config/).\n1. Run `php occ memories:index` to generate metadata indices for existing photos.\n1. Open the 📷 Memories app in Nextcloud and set the directory containing your photos.",
     "homepage": "https://memories.gallery",
     "licenses": [
@@ -150,9 +150,9 @@
     ]
   },
   "music": {
-    "sha256": "1afjqvmcim1r22bs5vpp2b2wd01df5xdchw6ifqf57vgb7nzzkbs",
-    "url": "https://github.com/owncloud/music/releases/download/v1.10.0/music_1.10.0_for_nextcloud.tar.gz",
-    "version": "1.10.0",
+    "sha256": "04dh6vzriiiqnn02pjbwn9rv0q427njbx558jl504jp91b8qd2wn",
+    "url": "https://github.com/owncloud/music/releases/download/v1.11.0/music_1.11.0_for_nextcloud.tar.gz",
+    "version": "1.11.0",
     "description": "A stand-alone music player app and a \"lite\" player for the Files app\n\n- On modern browsers, supports audio types .mp3, .ogg, .m4a, .m4b, .flac, .wav, and more\n- Playlist support with import from m3u, m3u8, and pls files\n- Browse by artists, albums, genres, or folders\n- Gapless play\n- Filter the shown content with the search function\n- Play internet radio and podcast channels\n- Setup Last.fm connection to see background information on artists, albums, and songs\n- Control with media control keys on the keyboard or OS\n- The app can handle libraries consisting of thousands of albums and tens of thousands of songs\n- Includes a server backend compatible with the Subsonic and Ampache protocols, allowing playback and browsing of your library on various external apps e.g. on Android or iPhone",
     "homepage": "https://github.com/owncloud/music",
     "licenses": [
@@ -160,9 +160,9 @@
     ]
   },
   "notes": {
-    "sha256": "1ii3ii2062wklss3mxsfbvqi4hvi96a20i20lbwm6z2x6q7fqqi3",
-    "url": "https://github.com/nextcloud-releases/notes/releases/download/v4.9.4/notes-v4.9.4.tar.gz",
-    "version": "4.9.4",
+    "sha256": "0j9bwbfvwwdaabyc79i514sp36cm4i9z02l8bkxlqr9fvim73nn9",
+    "url": "https://github.com/nextcloud-releases/notes/releases/download/v4.10.0/notes.tar.gz",
+    "version": "4.10.0",
     "description": "The Notes app is a distraction free notes taking app for [Nextcloud](https://www.nextcloud.com/). It provides categories for better organization and supports formatting using [Markdown](https://en.wikipedia.org/wiki/Markdown) syntax. Notes are saved as files in your Nextcloud, so you can view and edit them with every Nextcloud client. Furthermore, a separate [REST API](https://github.com/nextcloud/notes/blob/master/docs/api/README.md) allows for an easy integration into third-party apps (currently, there are notes apps for [Android](https://github.com/nextcloud/notes-android), [iOS](https://github.com/nextcloud/notes-ios) and the [console](https://git.danielmoch.com/nncli/about) which allow convenient access to your Nextcloud notes). Further features include marking notes as favorites.",
     "homepage": "https://github.com/nextcloud/notes",
     "licenses": [
@@ -180,9 +180,9 @@
     ]
   },
   "onlyoffice": {
-    "sha256": "14vqyr7yq95kiwkb2q25qa5kxfx0mri12bbyy2fpm94kk2y2km37",
-    "url": "https://github.com/ONLYOFFICE/onlyoffice-nextcloud/releases/download/v9.0.0/onlyoffice.tar.gz",
-    "version": "9.0.0",
+    "sha256": "1hg6cs8rbvy00w541pd1qcr5l6xqnjz816pm2jyxqxm8dm5kag7a",
+    "url": "https://github.com/ONLYOFFICE/onlyoffice-nextcloud/releases/download/v9.1.2/onlyoffice.tar.gz",
+    "version": "9.1.2",
     "description": "ONLYOFFICE connector allows you to view, edit and collaborate on text documents, spreadsheets and presentations within Nextcloud using ONLYOFFICE Docs. This will create a new Edit in ONLYOFFICE action within the document library for Office documents. This allows multiple users to co-author documents in real time from the familiar web interface and save the changes back to your file storage.",
     "homepage": "https://www.onlyoffice.com",
     "licenses": [
@@ -200,9 +200,9 @@
     ]
   },
   "polls": {
-    "sha256": "0gym2sx9lx6nvyby9pj1xml4n9fa7q91rl1i33kb70fclv622ca3",
-    "url": "https://github.com/nextcloud/polls/releases/download/v7.0.0/polls.tar.gz",
-    "version": "7.0.0",
+    "sha256": "1crs6fks9ywywyi3pnji49dxnry5vpcmd1x29y8anyp32ji2a35r",
+    "url": "https://github.com/nextcloud/polls/releases/download/v7.0.3/polls.tar.gz",
+    "version": "7.0.3",
     "description": "A polls app, similar to Doodle/Dudle with the possibility to restrict access (members, certain groups/users, hidden and public).",
     "homepage": "https://github.com/nextcloud/polls",
     "licenses": [
@@ -210,9 +210,9 @@
     ]
   },
   "previewgenerator": {
-    "sha256": "08f0ivxqa2b54w2q4lycb3p5ngqyk92n2qll54pmpj54pfn1sj3m",
-    "url": "https://github.com/nextcloud-releases/previewgenerator/releases/download/v5.4.0/previewgenerator-v5.4.0.tar.gz",
-    "version": "5.4.0",
+    "sha256": "0505kg4pxa6dqylniwa5ip6h5bama8cp0ng2y7prhb93mnhgr051",
+    "url": "https://github.com/nextcloud-releases/previewgenerator/releases/download/v5.5.0/previewgenerator-v5.5.0.tar.gz",
+    "version": "5.5.0",
     "description": "The Preview Generator app allows admins to pre-generate previews. The app listens to edit events and stores this information. Once a cron job is triggered it will generate start preview generation. This means that you can better utilize your system by pre-generating previews when your system is normally idle and thus putting less load on your machine when the requests are actually served.\n\nThe app does not replace on demand preview generation so if a preview is requested before it is pre-generated it will still be shown.\nThe first time you install this app, before using a cron job, you properly want to generate all previews via:\n**./occ preview:generate-all -vvv**\n\n**Important**: To enable pre-generation of previews you must add **php /var/www/nextcloud/occ preview:pre-generate** to a system cron job that runs at times of your choosing.",
     "homepage": "https://github.com/nextcloud/previewgenerator",
     "licenses": [
@@ -220,9 +220,9 @@
     ]
   },
   "qownnotesapi": {
-    "sha256": "1pyr4b3w6gsy83ci6cy0wfv870qm2v957nl4w6xk989iyknk4ana",
-    "url": "https://github.com/pbek/qownnotesapi/releases/download/v23.12.0/qownnotesapi-nc.tar.gz",
-    "version": "23.12.0",
+    "sha256": "0y4cv4hagmax4nkdfzysd5fg2h2xak4m87waf3b0ci5f1bwdxdxx",
+    "url": "https://github.com/pbek/qownnotesapi/releases/download/v24.4.0/qownnotesapi-nc.tar.gz",
+    "version": "24.4.0",
     "description": "QOwnNotesAPI is the Nextcloud/ownCloud API for [QOwnNotes](http://www.qownnotes.org), the open source notepad for Linux, macOS and Windows, that works together with the notes application of Nextcloud/ownCloud.\n\nThe only purpose of this App is to provide API access to your Nextcloud/ownCloud server for your QOwnNotes desktop installation, you cannot use this App for anything else, if you don't have QOwnNotes installed on your desktop computer!",
     "homepage": "https://github.com/pbek/qownnotesapi",
     "licenses": [
@@ -240,10 +240,10 @@
     ]
   },
   "spreed": {
-    "sha256": "1irkfcyv07ij564aigsrrg1glw78v9lm09126qwmbs6fbz1acxl2",
-    "url": "https://github.com/nextcloud-releases/spreed/releases/download/v18.0.5/spreed-v18.0.5.tar.gz",
-    "version": "18.0.5",
-    "description": "Chat, video & audio-conferencing using WebRTC\n\n* 💬 **Chat integration!** Nextcloud Talk comes with a simple text chat. Allowing you to share files from your Nextcloud and mentioning other participants.\n* 👥 **Private, group, public and password protected calls!** Just invite somebody, a whole group or send a public link to invite to a call.\n* 💻 **Screen sharing!** Share your screen with participants of your call. You just need to use Firefox version 66 (or newer), latest Edge or Chrome 72 (or newer, also possible using Chrome 49 with this [Chrome extension](https://chrome.google.com/webstore/detail/screensharing-for-nextclo/kepnpjhambipllfmgmbapncekcmabkol)).\n* 🚀 **Integration with other Nextcloud apps** like Files, Contacts and Deck. More to come.\n\nAnd in the works for the [coming versions](https://github.com/nextcloud/spreed/milestones/):\n* ✋ [Federated calls](https://github.com/nextcloud/spreed/issues/21), to call people on other Nextclouds",
+    "sha256": "1d6y473xnlc2n3k9hqb2n2zk780pran77k4frbgfyikinbadd1ci",
+    "url": "https://github.com/nextcloud-releases/spreed/releases/download/v18.0.7/spreed-v18.0.7.tar.gz",
+    "version": "18.0.7",
+    "description": "Chat, video & audio-conferencing using WebRTC\n\n* 💬 **Chat** Nextcloud Talk comes with a simple text chat, allowing you to share or upload files from your Nextcloud Files app or local device and mention other participants.\n* 👥 **Private, group, public and password protected calls!** Invite someone, a whole group or send a public link to invite to a call.\n* 🌐 **Federated chats** Chat with other Nextcloud users on their servers\n* 💻 **Screen sharing!** Share your screen with the participants of your call.\n* 🚀 **Integration with other Nextcloud apps** like Files, Calendar, User status, Dashboard, Flow, Maps, Smart picker, Contacts, Deck, and many more.\n* 🌉 **Sync with other chat solutions** With [Matterbridge](https://github.com/42wim/matterbridge/) being integrated in Talk, you can easily sync a lot of other chat solutions to Nextcloud Talk and vice-versa.",
     "homepage": "https://github.com/nextcloud/spreed",
     "licenses": [
       "agpl"
@@ -279,6 +279,16 @@
       "agpl"
     ]
   },
+  "unroundedcorners": {
+    "sha256": "16h8zg7k18r01yx2a72bn22nmvbafrs3ksyy23fbrnirzgwcaaqf",
+    "url": "https://github.com/OliverParoczai/nextcloud-unroundedcorners/releases/download/v1.1.3/unroundedcorners-v1.1.3.tar.gz",
+    "version": "1.1.3",
+    "description": "# Unrounded Corners\nA Nextcloud app that restores the corners of buttons and widgets to their original looks by unrounding them.",
+    "homepage": "https://github.com/OliverParoczai/nextcloud-unroundedcorners",
+    "licenses": [
+      "agpl"
+    ]
+  },
   "user_oidc": {
     "sha256": "0nl716c8jx6hhpkxjdpbldlnqhh6jsm6xx1zmcmvkzkdr9pjkggj",
     "url": "https://github.com/nextcloud-releases/user_oidc/releases/download/v5.0.2/user_oidc-v5.0.2.tar.gz",
@@ -290,9 +300,9 @@
     ]
   },
   "user_saml": {
-    "sha256": "112nmngl99vfiqx39zbz6n8ajaifr02y5p0kcd5iz60qnf8za3kk",
-    "url": "https://github.com/nextcloud-releases/user_saml/releases/download/v6.1.2/user_saml-v6.1.2.tar.gz",
-    "version": "6.1.2",
+    "sha256": "1dw5mwzzlhfwarnnpsij3l6153psl83qkjmgm0bnipy4v8wkkqvj",
+    "url": "https://github.com/nextcloud-releases/user_saml/releases/download/v6.1.3/user_saml-v6.1.3.tar.gz",
+    "version": "6.1.3",
     "description": "Using the SSO & SAML app of your Nextcloud you can make it easily possible to integrate your existing Single-Sign-On solution with Nextcloud. In addition, you can use the Nextcloud LDAP user provider to keep the convenience for users. (e.g. when sharing)\nThe following providers are supported and tested at the moment:\n\n* **SAML 2.0**\n\t* OneLogin\n\t* Shibboleth\n\t* Active Directory Federation Services (ADFS)\n\n* **Authentication via Environment Variable**\n\t* Kerberos (mod_auth_kerb)\n\t* Any other provider that authenticates using the environment variable\n\nWhile theoretically any other authentication provider implementing either one of those standards is compatible, we like to note that they are not part of any internal test matrix.",
     "homepage": "https://github.com/nextcloud/user_saml",
     "licenses": [
diff --git a/pkgs/servers/nextcloud/packages/nextcloud-apps.json b/pkgs/servers/nextcloud/packages/nextcloud-apps.json
index 825063b6fad3f..b7a48a0baca77 100644
--- a/pkgs/servers/nextcloud/packages/nextcloud-apps.json
+++ b/pkgs/servers/nextcloud/packages/nextcloud-apps.json
@@ -31,6 +31,7 @@
 , "twofactor_nextcloud_notification": "agpl3Only"
 , "twofactor_totp": "agpl3Plus"
 , "twofactor_webauthn": "agpl3Plus"
+, "unroundedcorners": "agpl3Only"
 , "unsplash": "agpl3Only"
 , "user_oidc": "agpl3Plus"
 , "user_saml": "agpl3Plus"
diff --git a/pkgs/servers/nosql/influxdb2/cli.nix b/pkgs/servers/nosql/influxdb2/cli.nix
index 5583014c2a3ea..a331c58a3dbec 100644
--- a/pkgs/servers/nosql/influxdb2/cli.nix
+++ b/pkgs/servers/nosql/influxdb2/cli.nix
@@ -27,7 +27,7 @@ in buildGoModule {
     description = "CLI for managing resources in InfluxDB v2";
     license = licenses.mit;
     homepage = "https://influxdata.com/";
-    maintainers = with maintainers; [ abbradar danderson ];
+    maintainers = with maintainers; [ abbradar ];
     mainProgram = "influx";
   };
 }
diff --git a/pkgs/servers/nosql/influxdb2/default.nix b/pkgs/servers/nosql/influxdb2/default.nix
index 7013b0cd6806f..7d585c3d6b963 100644
--- a/pkgs/servers/nosql/influxdb2/default.nix
+++ b/pkgs/servers/nosql/influxdb2/default.nix
@@ -123,6 +123,6 @@ in buildGoModule {
     description = "An open-source distributed time series database";
     license = licenses.mit;
     homepage = "https://influxdata.com/";
-    maintainers = with maintainers; [ abbradar danderson ];
+    maintainers = with maintainers; [ abbradar ];
   };
 }
diff --git a/pkgs/servers/nosql/redis/default.nix b/pkgs/servers/nosql/redis/default.nix
index 750b943eff0bf..afa63219e3572 100644
--- a/pkgs/servers/nosql/redis/default.nix
+++ b/pkgs/servers/nosql/redis/default.nix
@@ -93,7 +93,7 @@ stdenv.mkDerivation (finalAttrs: {
     license = licenses.bsd3;
     platforms = platforms.all;
     changelog = "https://github.com/redis/redis/raw/${finalAttrs.version}/00-RELEASENOTES";
-    maintainers = with maintainers; [ berdario globin marsam ];
+    maintainers = with maintainers; [ berdario globin ];
     mainProgram = "redis-cli";
   };
 })
diff --git a/pkgs/servers/pleroma/default.nix b/pkgs/servers/pleroma/default.nix
index a1876b1fa3744..4f695b4008932 100644
--- a/pkgs/servers/pleroma/default.nix
+++ b/pkgs/servers/pleroma/default.nix
@@ -164,7 +164,7 @@ beamPackages.mixRelease rec {
     description = "ActivityPub microblogging server";
     homepage = "https://git.pleroma.social/pleroma/pleroma";
     license = licenses.agpl3Only;
-    maintainers = with maintainers; [ picnoir yuka kloenk yayayayaka ];
+    maintainers = with maintainers; [ picnoir kloenk yayayayaka ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/servers/plex/raw.nix b/pkgs/servers/plex/raw.nix
index 9e2488e3b7bc4..54ffa4e426559 100644
--- a/pkgs/servers/plex/raw.nix
+++ b/pkgs/servers/plex/raw.nix
@@ -88,7 +88,6 @@ stdenv.mkDerivation rec {
       lnl7
       pjones
       thoughtpolice
-      amaxine
       MayNiklas
     ];
     description = "Media library streaming server";
diff --git a/pkgs/servers/prowlarr/default.nix b/pkgs/servers/prowlarr/default.nix
index fac52dfa9397f..280e7f81396ec 100644
--- a/pkgs/servers/prowlarr/default.nix
+++ b/pkgs/servers/prowlarr/default.nix
@@ -21,15 +21,15 @@ let
   }.${stdenv.hostPlatform.system} or unsupported;
 
   hash = {
-    aarch64-darwin = "sha256-ImivrfKromlA4753KUJIJCZr3yFYm/fWEqK6veEJBfw=";
-    aarch64-linux = "sha256-6UvjzheFkIRE1m0Wglhuch8oL5mmZoVMd9mtS7Gz7JQ=";
-    x86_64-darwin = "sha256-SvdMYwTcSm+Ozs2eBgTtjgMcUpgHK+VfQqmhPwD7VIk=";
-    x86_64-linux = "sha256-9yGQ7f28hTo+WKr6wqrSqMUqMTeRuq1cBs9e2INQfqM=";
+    aarch64-darwin = "sha256-Mf+l5VfPSsT/LRfQnzzc7jjkfkeF/L8jwxJJ8JAYflY=";
+    aarch64-linux = "sha256-/ioLYcws1TYMjuAFIj8yjcvTGzsvPhNwApQ84RWKZxc=";
+    x86_64-darwin = "sha256-CioWiSC7AlVEpQA1eoQE0YhCuX2kWz00mY/UsqZ9T40=";
+    x86_64-linux = "sha256-QhpJ/JunCbkuF2z1uNBojmv/wsISOrozTc0VgR+PuqQ=";
   }.${stdenv.hostPlatform.system} or unsupported;
 
 in stdenv.mkDerivation rec {
   inherit pname;
-  version = "1.15.0.4361";
+  version = "1.16.2.4435";
 
   src = fetchurl {
     url = "https://github.com/Prowlarr/Prowlarr/releases/download/v${version}/Prowlarr.master.${version}.${os}-core-${arch}.tar.gz";
diff --git a/pkgs/servers/redpanda/default.nix b/pkgs/servers/redpanda/default.nix
index 7efd9f75154b1..c90f055be42d6 100644
--- a/pkgs/servers/redpanda/default.nix
+++ b/pkgs/servers/redpanda/default.nix
@@ -7,12 +7,12 @@
 , stdenv
 }:
 let
-  version = "23.3.12";
+  version = "23.3.13";
   src = fetchFromGitHub {
     owner = "redpanda-data";
     repo = "redpanda";
     rev = "v${version}";
-    sha256 = "sha256-gkJlqyPDsWaXcbOGB7m70YuHY44xLNymf9laK30yr1k=";
+    sha256 = "sha256-5JbC9FEF0h9nExrb4IGnc5lzStf7FyQ9imkz6ekRyJg=";
   };
   server = callPackage ./server.nix { inherit src version; };
 in
diff --git a/pkgs/servers/sabnzbd/default.nix b/pkgs/servers/sabnzbd/default.nix
index 4f2217be346fb..4b95a1841e476 100644
--- a/pkgs/servers/sabnzbd/default.nix
+++ b/pkgs/servers/sabnzbd/default.nix
@@ -82,7 +82,7 @@ in stdenv.mkDerivation rec {
     homepage = "https://sabnzbd.org";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
-    maintainers = with lib.maintainers; [ fridh jojosch adamcstephens ];
+    maintainers = with lib.maintainers; [ jojosch adamcstephens ];
     mainProgram = "sabnzbd";
   };
 }
diff --git a/pkgs/servers/search/weaviate/default.nix b/pkgs/servers/search/weaviate/default.nix
index 02d3d61ea0f88..3170ab1fd7c25 100644
--- a/pkgs/servers/search/weaviate/default.nix
+++ b/pkgs/servers/search/weaviate/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "weaviate";
-  version = "1.24.9";
+  version = "1.24.10";
 
   src = fetchFromGitHub {
     owner = "weaviate";
     repo = "weaviate";
     rev = "v${version}";
-    hash = "sha256-fIOTk+h39LHUBWYvGiP2Vzhmcy0xjqprECOzzC3TvQM=";
+    hash = "sha256-+8l0On2A3hTkBCRGFfQVwoZcwPxcLwe0Ju2Fr2N0K50=";
   };
 
   vendorHash = "sha256-f7LskkQbsPwNmrzLTze0C66y++7Vqtb15tjW142TQmE=";
diff --git a/pkgs/servers/ser2net/default.nix b/pkgs/servers/ser2net/default.nix
index a05791eb67fca..2d580ce8ba0cb 100644
--- a/pkgs/servers/ser2net/default.nix
+++ b/pkgs/servers/ser2net/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ser2net";
-  version = "4.6.1";
+  version = "4.6.2";
 
   src = fetchFromGitHub {
     owner = "cminyard";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-1bEjmChoVB9WUAASz06U94YJ71BGvZfU6dObszXqwoA=";
+    hash = "sha256-cREtVvUZggVZpd3HFqrfikCInIyrRXSk4HKYhEWkXXc=";
   };
 
   passthru = {
diff --git a/pkgs/servers/sickbeard/sickgear.nix b/pkgs/servers/sickbeard/sickgear.nix
index 30a93d81c6ba9..fd405b598e92a 100644
--- a/pkgs/servers/sickbeard/sickgear.nix
+++ b/pkgs/servers/sickbeard/sickgear.nix
@@ -4,13 +4,13 @@ let
   pythonEnv = python3.withPackages(ps: with ps; [ cheetah3 lxml ]);
 in stdenv.mkDerivation rec {
   pname = "sickgear";
-  version = "3.30.17";
+  version = "3.30.18";
 
   src = fetchFromGitHub {
     owner = "SickGear";
     repo = "SickGear";
     rev = "release_${version}";
-    hash = "sha256-ITEKF/YPoozAaCH/8s7Jwlj2YUc+CLqIjtpDZ3b2J5w=";
+    hash = "sha256-Xt4/bAK48A57n2Kl3LQICem8IR3pgsdgMjlP9qEVvBM=";
   };
 
   patches = [
diff --git a/pkgs/servers/spicedb/default.nix b/pkgs/servers/spicedb/default.nix
index 3ef10799a5f14..8ded7678a860d 100644
--- a/pkgs/servers/spicedb/default.nix
+++ b/pkgs/servers/spicedb/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "spicedb";
-  version = "1.30.1";
+  version = "1.31.0";
 
   src = fetchFromGitHub {
     owner = "authzed";
     repo = "spicedb";
     rev = "v${version}";
-    hash = "sha256-4hxIDdmPXU+wnD6O7S/H30YIAroOWAQobAPimwwxxv0=";
+    hash = "sha256-xbYK+9wTsOIh8fpgbL63JmDzsXFmfPa0TKS06hmwLAg=";
   };
 
-  vendorHash = "sha256-lMhfCkuLuA8aj3Q+I/v/Ohof/htBJjPRmQ3c9QXsioc=";
+  vendorHash = "sha256-RBQfrz74Fzse9Rjj6DGfMttbupfSFjP5KbxFHihwMKY=";
 
   subPackages = [ "cmd/spicedb" ];
 
diff --git a/pkgs/servers/spicedb/zed.nix b/pkgs/servers/spicedb/zed.nix
index 4430bd5b6c813..e42bf543a2397 100644
--- a/pkgs/servers/spicedb/zed.nix
+++ b/pkgs/servers/spicedb/zed.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "zed";
-  version = "0.17.1";
+  version = "0.18.0";
 
   src = fetchFromGitHub {
     owner = "authzed";
     repo = "zed";
     rev = "v${version}";
-    hash = "sha256-Bbh57UQRB/G5r4FoExp+cJyraTM/jBf87Ylt4BgPVdQ=";
+    hash = "sha256-3qjwBsMISmh+0YJxYx36c3ceZJBpqkA+9XRZfgqhezw=";
   };
 
-  vendorHash = "sha256-AKp7A9WnN9fSGqr4fU53e1/rzBgbV4DJIZKxLms2WDk=";
+  vendorHash = "sha256-U4hFB/v9DHa3iDZJ+AgbFk5/E/LkvUoYHcaSArE/PKk=";
 
   meta = with lib; {
     description = "Command line for managing SpiceDB";
diff --git a/pkgs/servers/sql/dolt/default.nix b/pkgs/servers/sql/dolt/default.nix
index b749d71d1223f..a947a2a9ea30e 100644
--- a/pkgs/servers/sql/dolt/default.nix
+++ b/pkgs/servers/sql/dolt/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "dolt";
-  version = "1.35.10";
+  version = "1.35.11";
 
   src = fetchFromGitHub {
     owner = "dolthub";
     repo = "dolt";
     rev = "v${version}";
-    sha256 = "sha256-VTScVd9GHbwHGZDGquld05zP6CrvqfdfhRO9GHH2zHA=";
+    sha256 = "sha256-nOS6Gj6id9s03iEhhhj99v3t38i/AoFO72swi30fflw=";
   };
 
   modRoot = "./go";
   subPackages = [ "cmd/dolt" ];
-  vendorHash = "sha256-4lmwDD9LKTATA8vJiWaWaWueIoSFrfW+C0O5uCh3TJw=";
+  vendorHash = "sha256-tNnfHyqBN49Z/F4Z68JfSa860uo0i2gAkKv2IDoONr4=";
   proxyVendor = true;
   doCheck = false;
 
diff --git a/pkgs/servers/sql/postgresql/ext/citus.nix b/pkgs/servers/sql/postgresql/ext/citus.nix
index c51aa7946f5e9..211216d86672c 100644
--- a/pkgs/servers/sql/postgresql/ext/citus.nix
+++ b/pkgs/servers/sql/postgresql/ext/citus.nix
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
     homepage = "https://www.citusdata.com/";
     changelog = "https://github.com/citusdata/citus/blob/${src.rev}/CHANGELOG.md";
     license = licenses.agpl3Only;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
     inherit (postgresql.meta) platforms;
   };
 }
diff --git a/pkgs/servers/sql/postgresql/ext/default.nix b/pkgs/servers/sql/postgresql/ext/default.nix
index af78f47eebcaf..6166bda6b41d7 100644
--- a/pkgs/servers/sql/postgresql/ext/default.nix
+++ b/pkgs/servers/sql/postgresql/ext/default.nix
@@ -99,8 +99,6 @@ self: super: {
 
     pg_uuidv7 = super.callPackage ./pg_uuidv7.nix { };
 
-    promscale_extension = super.callPackage ./promscale_extension.nix { };
-
     repmgr = super.callPackage ./repmgr.nix { };
 
     rum = super.callPackage ./rum.nix { };
diff --git a/pkgs/servers/sql/postgresql/ext/h3-pg.nix b/pkgs/servers/sql/postgresql/ext/h3-pg.nix
index 91437de345859..4a5786e03d9df 100644
--- a/pkgs/servers/sql/postgresql/ext/h3-pg.nix
+++ b/pkgs/servers/sql/postgresql/ext/h3-pg.nix
@@ -70,7 +70,7 @@ stdenv.mkDerivation (finalAttrs: {
     description = "PostgreSQL bindings for H3, a hierarchical hexagonal geospatial indexing system";
     homepage = "https://github.com/zachasme/h3-pg";
     license = licenses.asl20;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
     inherit (postgresql.meta) platforms;
   };
 })
diff --git a/pkgs/servers/sql/postgresql/ext/lantern.nix b/pkgs/servers/sql/postgresql/ext/lantern.nix
index 75c321571e052..1e632228663b1 100644
--- a/pkgs/servers/sql/postgresql/ext/lantern.nix
+++ b/pkgs/servers/sql/postgresql/ext/lantern.nix
@@ -71,7 +71,7 @@ stdenv.mkDerivation (finalAttrs: {
     homepage = "https://lantern.dev/";
     changelog = "https://github.com/lanterndata/lantern/blob/${finalAttrs.src.rev}/CHANGELOG.md";
     license = licenses.bsl11;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     platforms = postgresql.meta.platforms;
     # error: use of undeclared identifier 'aligned_alloc'
     broken = stdenv.isDarwin && lib.versionOlder stdenv.hostPlatform.darwinMinVersion "10.13";
diff --git a/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix b/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix
index 7a1741b70490c..ed0bfde0caba8 100644
--- a/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix
+++ b/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     mainProgram = "pg_autoctl";
     homepage = "https://github.com/citusdata/pg_auto_failover";
     changelog = "https://github.com/citusdata/pg_auto_failover/blob/v${version}/CHANGELOG.md";
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     platforms = postgresql.meta.platforms;
     license = licenses.postgresql;
   };
diff --git a/pkgs/servers/sql/postgresql/ext/pg_bigm.nix b/pkgs/servers/sql/postgresql/ext/pg_bigm.nix
index bf3b9d34cc4e6..f47ce5694588e 100644
--- a/pkgs/servers/sql/postgresql/ext/pg_bigm.nix
+++ b/pkgs/servers/sql/postgresql/ext/pg_bigm.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Text similarity measurement and index searching based on bigrams";
     homepage = "https://pgbigm.osdn.jp/";
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     platforms = postgresql.meta.platforms;
     license = licenses.postgresql;
   };
diff --git a/pkgs/servers/sql/postgresql/ext/pg_roaringbitmap.nix b/pkgs/servers/sql/postgresql/ext/pg_roaringbitmap.nix
index 11cee5389b97a..682275fbf15ca 100644
--- a/pkgs/servers/sql/postgresql/ext/pg_roaringbitmap.nix
+++ b/pkgs/servers/sql/postgresql/ext/pg_roaringbitmap.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation (finalAttrs: {
     homepage = "https://github.com/ChenHuajun/pg_roaringbitmap";
     changelog = "https://github.com/ChenHuajun/pg_roaringbitmap/blob/${finalAttrs.src.rev}/CHANGELOG.md";
     license = licenses.asl20;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     inherit (postgresql.meta) platforms;
   };
 })
diff --git a/pkgs/servers/sql/postgresql/ext/pg_squeeze.nix b/pkgs/servers/sql/postgresql/ext/pg_squeeze.nix
index c9f32f634888a..54a81ff2d2474 100644
--- a/pkgs/servers/sql/postgresql/ext/pg_squeeze.nix
+++ b/pkgs/servers/sql/postgresql/ext/pg_squeeze.nix
@@ -61,7 +61,7 @@ stdenv.mkDerivation (finalAttrs: {
     homepage = "https://github.com/cybertec-postgresql/pg_squeeze";
     changelog = "https://github.com/cybertec-postgresql/pg_squeeze/blob/${finalAttrs.src.rev}/NEWS";
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     platforms = postgresql.meta.platforms;
   };
 })
diff --git a/pkgs/servers/sql/postgresql/ext/pgsodium.nix b/pkgs/servers/sql/postgresql/ext/pgsodium.nix
index 4057fd78fee86..e61a2d9332cc8 100644
--- a/pkgs/servers/sql/postgresql/ext/pgsodium.nix
+++ b/pkgs/servers/sql/postgresql/ext/pgsodium.nix
@@ -67,7 +67,7 @@ stdenv.mkDerivation (finalAttrs: {
     homepage = "https://github.com/michelp/pgsodium";
     changelog = "https://github.com/michelp/pgsodium/releases/tag/v${finalAttrs.version}";
     license = licenses.postgresql;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     platforms = postgresql.meta.platforms;
   };
 })
diff --git a/pkgs/servers/sql/postgresql/ext/pgsql-http.nix b/pkgs/servers/sql/postgresql/ext/pgsql-http.nix
index f2fc5a329f877..bfe9052acf587 100644
--- a/pkgs/servers/sql/postgresql/ext/pgsql-http.nix
+++ b/pkgs/servers/sql/postgresql/ext/pgsql-http.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     description = "HTTP client for PostgreSQL, retrieve a web page from inside the database";
     homepage = "https://github.com/pramsey/pgsql-http";
     changelog = "https://github.com/pramsey/pgsql-http/releases/tag/v${version}";
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     platforms = postgresql.meta.platforms;
     license = licenses.mit;
   };
diff --git a/pkgs/servers/sql/postgresql/ext/pgvector.nix b/pkgs/servers/sql/postgresql/ext/pgvector.nix
index 1dfda512e1d4f..619c5e7ab24d3 100644
--- a/pkgs/servers/sql/postgresql/ext/pgvector.nix
+++ b/pkgs/servers/sql/postgresql/ext/pgvector.nix
@@ -25,6 +25,6 @@ stdenv.mkDerivation rec {
     changelog = "https://github.com/pgvector/pgvector/raw/v${version}/CHANGELOG.md";
     license = licenses.postgresql;
     platforms = postgresql.meta.platforms;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/servers/sql/postgresql/ext/plpgsql_check.nix b/pkgs/servers/sql/postgresql/ext/plpgsql_check.nix
index 9b990d7048e79..51747dce056bc 100644
--- a/pkgs/servers/sql/postgresql/ext/plpgsql_check.nix
+++ b/pkgs/servers/sql/postgresql/ext/plpgsql_check.nix
@@ -41,6 +41,6 @@ stdenv.mkDerivation rec {
     changelog = "https://github.com/okbob/plpgsql_check/releases/tag/v${version}";
     platforms = postgresql.meta.platforms;
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/servers/sql/postgresql/ext/plv8/default.nix b/pkgs/servers/sql/postgresql/ext/plv8/default.nix
index fa2f1b7ad2d8e..2e8ac591a2ddd 100644
--- a/pkgs/servers/sql/postgresql/ext/plv8/default.nix
+++ b/pkgs/servers/sql/postgresql/ext/plv8/default.nix
@@ -136,7 +136,7 @@ stdenv.mkDerivation (finalAttrs: {
   meta = with lib; {
     description = "V8 Engine Javascript Procedural Language add-on for PostgreSQL";
     homepage = "https://plv8.github.io/";
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
     platforms = [ "x86_64-linux" "aarch64-linux" ];
     license = licenses.postgresql;
     broken = jitSupport;
diff --git a/pkgs/servers/sql/postgresql/ext/promscale_extension.nix b/pkgs/servers/sql/postgresql/ext/promscale_extension.nix
deleted file mode 100644
index 80de9315d985f..0000000000000
--- a/pkgs/servers/sql/postgresql/ext/promscale_extension.nix
+++ /dev/null
@@ -1,59 +0,0 @@
-{ lib
-, fetchFromGitHub
-, fetchpatch
-, buildPgxExtension
-, postgresql
-, stdenv
-, nixosTests
-}:
-
-buildPgxExtension rec {
-  inherit postgresql;
-
-  pname = "promscale_extension";
-  version = "0.8.0";
-
-  src = fetchFromGitHub {
-    owner = "timescale";
-    repo = "promscale_extension";
-    rev = version;
-    sha256 = "sha256-vyEfQMGguHrHYdBEEmbev29L2uCa/4xL9DpGIniUwfI=";
-  };
-
-  cargoSha256 = "sha256-VK9DObkg4trcGUXxxISCd0zqU3vc1Qt6NxqpgKIARCQ=";
-
-  cargoPatches = [
-    # there is a duplicate definition in the lock file which fails to build with buildRustPackage
-    (fetchpatch {
-      name = "cargo-vendor.patch";
-      url = "https://github.com/timescale/promscale_extension/commit/3048bd959430e9abc2c1d5c772ab6b4fc1dc6a95.patch";
-      hash = "sha256-xTk4Ml8GN06QlJdrvAdVK21r30ZR/S83y5A5jJPdOw4=";
-    })
-  ];
-
-  preBuild = ''
-    patchShebangs create-upgrade-symlinks.sh extract-extension-version.sh
-    ## Hack to boostrap the build because some pgx commands require this file. It gets re-generated later.
-    cp templates/promscale.control ./promscale.control
-  '';
-  postInstall = ''
-    ln -s $out/lib/promscale-${version}.so $out/lib/promscale.so
-  '';
-  passthru.tests = {
-    promscale = nixosTests.promscale;
-  };
-
-  # tests take really long
-  doCheck = false;
-
-  meta = with lib; {
-    description = "Promscale is an open source observability backend for metrics and traces powered by SQL";
-    homepage = "https://github.com/timescale/promscale_extension";
-    maintainers = with maintainers; [ anpin ];
-    platforms = postgresql.meta.platforms;
-    license = licenses.unfree;
-
-    # as it needs to be used with timescaledb, simply use the condition from there
-    broken = versionAtLeast postgresql.version "15";
-  };
-}
diff --git a/pkgs/servers/sql/postgresql/ext/smlar.nix b/pkgs/servers/sql/postgresql/ext/smlar.nix
index 3bbd19b862fdb..a3ce699b87e6e 100644
--- a/pkgs/servers/sql/postgresql/ext/smlar.nix
+++ b/pkgs/servers/sql/postgresql/ext/smlar.nix
@@ -25,6 +25,6 @@ stdenv.mkDerivation rec {
     homepage = "http://sigaev.ru/git/gitweb.cgi?p=smlar.git";
     platforms = postgresql.meta.platforms;
     license = licenses.bsd2;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/servers/sql/postgresql/ext/timescaledb.nix b/pkgs/servers/sql/postgresql/ext/timescaledb.nix
index 8e1147630a849..3701ae6e8495f 100644
--- a/pkgs/servers/sql/postgresql/ext/timescaledb.nix
+++ b/pkgs/servers/sql/postgresql/ext/timescaledb.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
     description = "Scales PostgreSQL for time-series data via automatic partitioning across time and space";
     homepage = "https://www.timescale.com/";
     changelog = "https://github.com/timescale/timescaledb/blob/${version}/CHANGELOG.md";
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
     platforms = postgresql.meta.platforms;
     license = with licenses; if enableUnfree then tsl else asl20;
     broken = versionOlder postgresql.version "13";
diff --git a/pkgs/servers/sql/postgresql/generic.nix b/pkgs/servers/sql/postgresql/generic.nix
index 7f9e561f877ba..302350edeb5e0 100644
--- a/pkgs/servers/sql/postgresql/generic.nix
+++ b/pkgs/servers/sql/postgresql/generic.nix
@@ -24,7 +24,6 @@ let
       # JIT
       , jitSupport
       , nukeReferences, patchelf, llvmPackages
-      , makeRustPlatform, buildPgxExtension, cargo, rustc
 
       # PL/Python
       , pythonSupport ? false
@@ -235,13 +234,6 @@ let
           inherit (llvmPackages) llvm;
           postgresql = this;
           stdenv = stdenv';
-          buildPgxExtension = buildPgxExtension.override {
-            stdenv = stdenv';
-            rustPlatform = makeRustPlatform {
-              stdenv = stdenv';
-              inherit rustc cargo;
-            };
-          };
         };
         newSelf = self // scope;
         newSuper = { callPackage = newScope (scope // this.pkgs); };
@@ -266,7 +258,7 @@ let
       description = "A powerful, open source object-relational database system";
       license     = licenses.postgresql;
       changelog   = "https://www.postgresql.org/docs/release/${finalAttrs.version}/";
-      maintainers = with maintainers; [ thoughtpolice danbst globin marsam ivan ma27 ];
+      maintainers = with maintainers; [ thoughtpolice danbst globin ivan ma27 ];
       pkgConfigModules = [ "libecpg" "libecpg_compat" "libpgtypes" "libpq" ];
       platforms   = platforms.unix;
 
diff --git a/pkgs/servers/sql/rqlite/default.nix b/pkgs/servers/sql/rqlite/default.nix
index 32ddb8ac6b515..d590037c2403d 100644
--- a/pkgs/servers/sql/rqlite/default.nix
+++ b/pkgs/servers/sql/rqlite/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "rqlite";
-  version = "8.23.2";
+  version = "8.23.4";
 
   src = fetchFromGitHub {
     owner = "rqlite";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-/u817cYaa8Qfq2cbyBIJZdGpqHQFtPhrHTRSSpz8658=";
+    sha256 = "sha256-5/vcle0b/EypdA7IC28IYRYc5HxUC2zT/VsKLPurWPk=";
   };
 
-  vendorHash = "sha256-CXwcz4L5Y0HbOdQm62YQGFtguk3X+dYx5Gc6E55PhjM=";
+  vendorHash = "sha256-Z/Cou6NDVQVu1F4XlgMM0jI72jF2vuI6mRGhWqObXKM=";
 
   subPackages = [ "cmd/rqlite" "cmd/rqlited" "cmd/rqbench" ];
 
diff --git a/pkgs/servers/tailscale/default.nix b/pkgs/servers/tailscale/default.nix
index 695e91d978944..20637c70129f0 100644
--- a/pkgs/servers/tailscale/default.nix
+++ b/pkgs/servers/tailscale/default.nix
@@ -30,7 +30,7 @@ buildGoModule {
 
   CGO_ENABLED = 0;
 
-  subPackages = [ "cmd/tailscale" "cmd/tailscaled" ];
+  subPackages = [ "cmd/tailscaled" ];
 
   ldflags = [
     "-w"
@@ -39,11 +39,18 @@ buildGoModule {
     "-X tailscale.com/version.shortStamp=${version}"
   ];
 
+  tags = [
+    "ts_include_cli"
+  ];
+
   doCheck = false;
 
-  postInstall = lib.optionalString stdenv.isLinux ''
-    wrapProgram $out/bin/tailscaled --prefix PATH : ${lib.makeBinPath [ iproute2 iptables getent shadow ]}
-    wrapProgram $out/bin/tailscale --suffix PATH : ${lib.makeBinPath [ procps ]}
+  postInstall = ''
+    ln -s $out/bin/tailscaled $out/bin/tailscale
+  '' + lib.optionalString stdenv.isLinux ''
+    wrapProgram $out/bin/tailscaled \
+      --prefix PATH : ${lib.makeBinPath [ iproute2 iptables getent shadow ]} \
+      --suffix PATH : ${lib.makeBinPath [ procps ]}
 
     sed -i -e "s#/usr/sbin#$out/bin#" -e "/^EnvironmentFile/d" ./cmd/tailscaled/tailscaled.service
     install -D -m0444 -t $out/lib/systemd/system ./cmd/tailscaled/tailscaled.service
@@ -58,6 +65,6 @@ buildGoModule {
     description = "The node agent for Tailscale, a mesh VPN built on WireGuard";
     license = licenses.bsd3;
     mainProgram = "tailscale";
-    maintainers = with maintainers; [ danderson mbaillie twitchyliquid64 jk mfrw ];
+    maintainers = with maintainers; [ mbaillie jk mfrw ];
   };
 }
diff --git a/pkgs/servers/traefik/default.nix b/pkgs/servers/traefik/default.nix
index 22ad9d0d94294..77fac1c365f73 100644
--- a/pkgs/servers/traefik/default.nix
+++ b/pkgs/servers/traefik/default.nix
@@ -2,23 +2,23 @@
 
 buildGoModule rec {
   pname = "traefik";
-  version = "2.10.7";
+  version = "3.0.0";
 
   # Archive with static assets for webui
   src = fetchzip {
     url = "https://github.com/traefik/traefik/releases/download/v${version}/traefik-v${version}.src.tar.gz";
-    hash = "sha256-I+jmMtqWadWfT7nk2D9im6C2BGpPLts/7cdJ3NHsIks=";
+    hash = "sha256-OX9VJpO+SWIsocaSu+BhF3HT+zrhhgxb5NBvaRTadIY=";
     stripRoot = false;
   };
 
-  vendorHash = "sha256-3SyD1mC+tc8cf5MGcw891W5VbX+b7d0cIJQfwNq2NU8=";
+  vendorHash = "sha256-GRVSZB4GojXv2xAdx8Y5RSuhF/3paRhhq7HOWLRmmHE=";
 
   subPackages = [ "cmd/traefik" ];
 
   preBuild = ''
     GOOS= GOARCH= CGO_ENABLED=0 go generate
 
-    CODENAME=$(awk -F "=" '/CODENAME=/ { print $2}' script/binary)
+    CODENAME=$(grep -Po "CODENAME \?=\s\K.+$" Makefile)
 
     buildFlagsArray+=("-ldflags= -s -w \
       -X github.com/traefik/traefik/v${lib.versions.major version}/pkg/version.Version=${version} \
diff --git a/pkgs/servers/unifiedpush-common-proxies/default.nix b/pkgs/servers/unifiedpush-common-proxies/default.nix
index 0302eb6cb6b06..72740b07cb365 100644
--- a/pkgs/servers/unifiedpush-common-proxies/default.nix
+++ b/pkgs/servers/unifiedpush-common-proxies/default.nix
@@ -20,7 +20,7 @@ buildGoModule rec {
     description = "A set of rewrite proxies and gateways for UnifiedPush";
     homepage = "https://github.com/UnifiedPush/common-proxies";
     license = licenses.mit;
-    maintainers = with maintainers; [ yuka ];
+    maintainers = with maintainers; [ ];
     mainProgram = "up_rewrite";
   };
 }
diff --git a/pkgs/servers/web-apps/changedetection-io/default.nix b/pkgs/servers/web-apps/changedetection-io/default.nix
index c3c9c8116addd..c5bac2fa3d903 100644
--- a/pkgs/servers/web-apps/changedetection-io/default.nix
+++ b/pkgs/servers/web-apps/changedetection-io/default.nix
@@ -5,14 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "changedetection-io";
-  version = "0.45.20";
+  version = "0.45.21";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "dgtlmoon";
     repo = "changedetection.io";
     rev = "refs/tags/${version}";
-    hash = "sha256-wnJz/yVOSBTgOfGxmrO4JXifZxoTk8bjqGKqKsbwXAI=";
+    hash = "sha256-v+bjGIwJlHcim29BRR+5kZABnmtLYSS/U3pbPnCvAhU=";
   };
 
   postPatch = ''
diff --git a/pkgs/servers/web-apps/jitsi-meet/default.nix b/pkgs/servers/web-apps/jitsi-meet/default.nix
index a3e0696ac01c1..e7956b6c694ac 100644
--- a/pkgs/servers/web-apps/jitsi-meet/default.nix
+++ b/pkgs/servers/web-apps/jitsi-meet/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "jitsi-meet";
-  version = "1.0.7874";
+  version = "1.0.7952";
 
   src = fetchurl {
     url = "https://download.jitsi.org/jitsi-meet/src/jitsi-meet-${version}.tar.bz2";
-    sha256 = "LP37K5xuvWvSiJrRmgRuRA60N7ll2m7mYUge8jZZt/c=";
+    sha256 = "K3CBISTOza8xhF4/DmqdTZaPL9zwu4ej+yqJXBawFEk=";
   };
 
   dontBuild = true;
diff --git a/pkgs/servers/web-apps/kavita/default.nix b/pkgs/servers/web-apps/kavita/default.nix
index 2213b2560ede0..44c0ad59cda2e 100644
--- a/pkgs/servers/web-apps/kavita/default.nix
+++ b/pkgs/servers/web-apps/kavita/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenvNoCC
 , fetchFromGitHub
+, fetchpatch
 , buildDotnetModule
 , buildNpmPackage
 , dotnetCorePackages
@@ -10,13 +11,13 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "kavita";
-  version = "0.8.0";
+  version = "0.8.1";
 
   src = fetchFromGitHub {
     owner = "kareadita";
     repo = "kavita";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-0pVQ/gezi8Hzxrn/1QVFTOXeHRCayYkA3Kh5b81oW34=";
+    hash = "sha256-Z8bGVF6h//37zz/J+PDlJhm7c9AUs2pgKhYY/4ELMhQ=";
   };
 
   backend = buildDotnetModule {
@@ -24,6 +25,13 @@ stdenvNoCC.mkDerivation (finalAttrs: {
     inherit (finalAttrs) version src;
 
     patches = [
+      # Fix wrongly bumped version 0.8.0.10 -> 0.8.1
+      # Remove on next release
+      (fetchpatch {
+        name = "fix-0.8.1-version.patch";
+        url = "https://github.com/Kareadita/Kavita/commit/3c9565468ad5494aef11dace62ba4b18b0c7d7f3.patch";
+        hash = "sha256-/dPHYrCeS6M82rw0lQ8K6C4jfXEvVVmjA85RKyVaxcE=";
+      })
       # The webroot is hardcoded as ./wwwroot
       ./change-webroot.diff
     ];
@@ -51,7 +59,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
     npmBuildScript = "prod";
     npmFlags = [ "--legacy-peer-deps" ];
     npmRebuildFlags = [ "--ignore-scripts" ]; # Prevent playwright from trying to install browsers
-    npmDepsHash = "sha256-yy4vEI+aDgAcCyXyzfPm31oGiTl+Gsycyh69D3yex2I=";
+    npmDepsHash = "sha256-+RJ9mX/cIainO2xS/hIrIOShPVbHkhkCq6q2bP8dGKM=";
   };
 
   dontBuild = true;
diff --git a/pkgs/servers/web-apps/kavita/nuget-deps.nix b/pkgs/servers/web-apps/kavita/nuget-deps.nix
index 9a85ef26b24f2..481f343856268 100644
--- a/pkgs/servers/web-apps/kavita/nuget-deps.nix
+++ b/pkgs/servers/web-apps/kavita/nuget-deps.nix
@@ -24,10 +24,10 @@
   (fetchNuGet { pname = "Hangfire.MaximumConcurrentExecutions"; version = "1.1.0"; sha256 = "181147h5dsbml58ffq1jc7k6012fahi0n20wply9gmn6v1dh8h66"; })
   (fetchNuGet { pname = "Hangfire.NetCore"; version = "1.8.12"; sha256 = "19987w1nng7mr5r66y5523q67ig2xb98im4b1ahqsc5s9mwkm0qh"; })
   (fetchNuGet { pname = "Hangfire.SqlServer"; version = "1.8.12"; sha256 = "0h68hz7bzbypff1sg5hq1b0pfg7ckz506rfsiphqninrpczc9zsa"; })
-  (fetchNuGet { pname = "Hangfire.Storage.SQLite"; version = "0.4.1"; sha256 = "029prxla8mpck49rxk2rygns958xpss5lg1lizws2nm8q547kwil"; })
+  (fetchNuGet { pname = "Hangfire.Storage.SQLite"; version = "0.4.2"; sha256 = "1sa2ws9p6fxrlp0ny42hsqmlxsnnsy3zsyx2mh1hg4kyyndk9zpz"; })
   (fetchNuGet { pname = "HtmlAgilityPack"; version = "1.11.60"; sha256 = "0jpv1vry0mfwbswxn70knbkzsrwwz2ijsm5d4rj9jf2kk37m0xga"; })
   (fetchNuGet { pname = "Humanizer.Core"; version = "2.14.1"; sha256 = "1ai7hgr0qwd7xlqfd92immddyi41j3ag91h3594yzfsgsy6yhyqi"; })
-  (fetchNuGet { pname = "MailKit"; version = "4.4.0"; sha256 = "0v0hzvzxw960j7j5y4sns4v9zawhcbs558drrihmhp1a8al0cjk4"; })
+  (fetchNuGet { pname = "MailKit"; version = "4.5.0"; sha256 = "0f9z43bba2g6vzwbb9frdf9787vzablyzaswdxryn5s1fgqkrrda"; })
   (fetchNuGet { pname = "MarkdownDeep.NET.Core"; version = "1.5.0.4"; sha256 = "0cpshs1lwmyyg40lvnf4b9s1z7yaw6s4a0341qr4ww40791gzvrl"; })
   (fetchNuGet { pname = "Microsoft.AspNetCore.Authentication.Abstractions"; version = "2.2.0"; sha256 = "0vj7fhpk0d95nkkxz4q0rma6pb4ym96mx6nms4603y0l19h0k5yh"; })
   (fetchNuGet { pname = "Microsoft.AspNetCore.Authentication.JwtBearer"; version = "8.0.4"; sha256 = "1q2ai2jqc4zc2bdrbjng9fb7n0pch4f8bap3drd1v2vrha0d2r3q"; })
@@ -158,7 +158,7 @@
   (fetchNuGet { pname = "Microsoft.OpenApi"; version = "1.3.1"; sha256 = "0icds4jxz90v156vkbza1s1rqdf737glfddbllkp6y2zcnin99yv"; })
   (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; })
   (fetchNuGet { pname = "Microsoft.Win32.SystemEvents"; version = "8.0.0"; sha256 = "05392f41ijgn17y8pbjcx535l1k09krnq3xdp60kyq568sn6xk2i"; })
-  (fetchNuGet { pname = "MimeKit"; version = "4.4.0"; sha256 = "107225n55ib9y0y7azarjq3xcf8shsn329fbh5rmpcj5rhcv47kx"; })
+  (fetchNuGet { pname = "MimeKit"; version = "4.5.0"; sha256 = "1df0wrfhg8lw9a401rbj9vdsm0nkn064bv9jq2wy0b3jpw33gj9n"; })
   (fetchNuGet { pname = "MimeTypeMapOfficial"; version = "1.0.17"; sha256 = "1l5d42pgfz4cpvgdyxf2crzyv7jycky5mhmrrl5501p3806i3r0y"; })
   (fetchNuGet { pname = "Mono.TextTemplating"; version = "2.2.1"; sha256 = "1ih6399x4bxzchw7pq5195imir9viy2r1w702vy87vrarxyjqdp1"; })
   (fetchNuGet { pname = "Nager.ArticleNumber"; version = "1.0.7"; sha256 = "1lfhr20527xhzql5nsn5c1s5as79haz9xcqan8pqsfk200hc27af"; })
@@ -236,8 +236,8 @@
   (fetchNuGet { pname = "Serilog.Sinks.File"; version = "5.0.0"; sha256 = "097rngmgcrdfy7jy8j7dq3xaq2qky8ijwg0ws6bfv5lx0f3vvb0q"; })
   (fetchNuGet { pname = "Serilog.Sinks.SignalR.Core"; version = "0.1.2"; sha256 = "16f86661vr7gw8xay1735y551p0z39mks7xagwxb8lxqxwmm4gzf"; })
   (fetchNuGet { pname = "SharpCompress"; version = "0.36.0"; sha256 = "164ikphk4glldr73l247cjb65v064md0ccccm06rh0zvjq5iqlph"; })
-  (fetchNuGet { pname = "SixLabors.ImageSharp"; version = "3.1.3"; sha256 = "0f36my2lzkgc5fvk6s0lh4gn15vxhbl2zg71rdql7vrzh8b77c6q"; })
-  (fetchNuGet { pname = "SonarAnalyzer.CSharp"; version = "9.23.1.88495"; sha256 = "1mj18mc8k9nq074jksnh71r5cnlr45730n3ww5gi6c17xnar0m6p"; })
+  (fetchNuGet { pname = "SixLabors.ImageSharp"; version = "3.1.4"; sha256 = "0cs6wfx74rwp88m5arci04ldv2s92kpif28ykfm9ig17h9a8gsnc"; })
+  (fetchNuGet { pname = "SonarAnalyzer.CSharp"; version = "9.23.2.88755"; sha256 = "1nrvvpbxsgxsa0byy7drw7lrw5byg45n9gkmk2n4b9400fs2b0b5"; })
   (fetchNuGet { pname = "sqlite-net-pcl"; version = "1.8.116"; sha256 = "0h3s43pfjqgy9amrdj4d7p65hmys895hlkczj62wg974qb4z8l2y"; })
   (fetchNuGet { pname = "SQLitePCLRaw.bundle_e_sqlite3"; version = "2.1.6"; sha256 = "0pzgdfl707pd9fz108xaff22w7c2y27yaix6wfp36phqkdnzz43m"; })
   (fetchNuGet { pname = "SQLitePCLRaw.bundle_green"; version = "2.0.4"; sha256 = "1197ynpm4fl6il9vi0mi1s1pmw3rk3j0a05kwrxpqlfgp7iwhc22"; })
@@ -362,7 +362,6 @@
   (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; })
   (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "4.5.1"; sha256 = "1z21qyfs6sg76rp68qdx0c9iy57naan89pg7p6i3qpj8kyzn921w"; })
   (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "6.0.0"; sha256 = "0gm2kiz2ndm9xyzxgi0jhazgwslcs427waxgfa30m7yqll1kcrww"; })
-  (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "8.0.0"; sha256 = "1lgdd78cik4qyvp2fggaa0kzxasw6kc9a6cjqw46siagrm0qnc3y"; })
   (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.0.11"; sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs"; })
   (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; })
   (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "4.5.0"; sha256 = "0srd5bva52n92i90wd88pzrqjsxnfgka3ilybwh7s6sf469y5s53"; })
@@ -389,6 +388,6 @@
   (fetchNuGet { pname = "TestableIO.System.IO.Abstractions"; version = "21.0.2"; sha256 = "1mc358wlq9y21gzj44af8hxlyjm0ws0i9f5vmsn31dn5wbfh4dy5"; })
   (fetchNuGet { pname = "TestableIO.System.IO.Abstractions.Wrappers"; version = "21.0.2"; sha256 = "0q3vghssyh6rd7w7n4rjv5ngh5byf1y80i22yw9fx10f4hcsw1az"; })
   (fetchNuGet { pname = "VersOne.Epub"; version = "3.3.1"; sha256 = "1v7ms857yhm38syi4l63g9hzn0y08n8csr4z4i56xmzpj1big2s6"; })
-  (fetchNuGet { pname = "xunit.assert"; version = "2.7.0"; sha256 = "14g5pvv709ykkz3lgqbdisksqfll72792fkrg4qr0s8jcp38kpyc"; })
+  (fetchNuGet { pname = "xunit.assert"; version = "2.7.1"; sha256 = "1nz05bh78d6ilz2g2vqp3jgxag5p3h1cnidwr9qxzgr89nj2fas6"; })
   (fetchNuGet { pname = "ZstdSharp.Port"; version = "0.7.4"; sha256 = "0087rymvclj96pscd8lbjidsdg1g4p83m6y20bcicz8sx7jnnzyg"; })
 ]
diff --git a/pkgs/servers/web-apps/wiki-js/default.nix b/pkgs/servers/web-apps/wiki-js/default.nix
index 2c39348054367..753ad982ca0af 100644
--- a/pkgs/servers/web-apps/wiki-js/default.nix
+++ b/pkgs/servers/web-apps/wiki-js/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchurl, lib, nixosTests, jq, moreutils }:
+{ stdenv, fetchurl, lib, nixosTests }:
 
 stdenv.mkDerivation rec {
   pname = "wiki-js";
-  version = "2.5.301";
+  version = "2.5.302";
 
   src = fetchurl {
     url = "https://github.com/Requarks/wiki/releases/download/v${version}/${pname}.tar.gz";
-    sha256 = "sha256-E1XXq4xzExOqBHjgvfVnZ9z8qH1/99ku53KYwQYe7kM=";
+    sha256 = "sha256-hz6pfiObVgoVAkYx0Js6Dc310mNMC9QT2D+sNqsl4LA=";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/shells/fish/plugins/autopair.nix b/pkgs/shells/fish/plugins/autopair.nix
index 50b5a30b1d93a..7c75cc1236010 100644
--- a/pkgs/shells/fish/plugins/autopair.nix
+++ b/pkgs/shells/fish/plugins/autopair.nix
@@ -15,6 +15,6 @@ buildFishPlugin rec {
     description = "Auto-complete matching pairs in the Fish command line";
     homepage = "https://github.com/jorgebucaran/autopair.fish";
     license = licenses.mit;
-    maintainers = with maintainers; [ figsoda kidonng thehedgeh0g ];
+    maintainers = with maintainers; [ figsoda kidonng pyrox0 ];
   };
 }
diff --git a/pkgs/shells/fish/plugins/hydro.nix b/pkgs/shells/fish/plugins/hydro.nix
index cd8705d547166..c8e6eed725824 100644
--- a/pkgs/shells/fish/plugins/hydro.nix
+++ b/pkgs/shells/fish/plugins/hydro.nix
@@ -15,6 +15,6 @@ buildFishPlugin rec {
     description = "Ultra-pure, lag-free prompt with async Git status";
     homepage = "https://github.com/jorgebucaran/hydro";
     license = licenses.mit;
-    maintainers = with maintainers; [ thehedgeh0g ];
+    maintainers = with maintainers; [ pyrox0 ];
   };
 }
diff --git a/pkgs/shells/hilbish/default.nix b/pkgs/shells/hilbish/default.nix
index ae13e69b2e422..17bc851ac771b 100644
--- a/pkgs/shells/hilbish/default.nix
+++ b/pkgs/shells/hilbish/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "hilbish";
-  version = "2.2.2";
+  version = "2.2.3";
 
   src = fetchFromGitHub {
     owner = "Rosettea";
     repo = "Hilbish";
     rev = "v${version}";
-    hash = "sha256-tkEEvxIBPpPbdIFxbo0pOHHORXEFZ8wn9emIeyz6glc=";
+    hash = "sha256-iqQhgge+m22gIIGlwwmAoYTxfMAs/sKrKjoQzyedil4=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/shells/hishtory/default.nix b/pkgs/shells/hishtory/default.nix
index b5bc4ce70539e..e1b4e5e33274a 100644
--- a/pkgs/shells/hishtory/default.nix
+++ b/pkgs/shells/hishtory/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "hishtory";
-  version = "0.291";
+  version = "0.292";
 
   src = fetchFromGitHub {
     owner = "ddworken";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-pBUe0iwzv9Yv9/wmqIjZrDkjBYbARL+A8fhUZJnHRaQ=";
+    hash = "sha256-jCm/iSPKjQ0RRGw8bXPiKutMk/fM6mQ/Na6j+RrE0b4=";
   };
 
-  vendorHash = "sha256-qw4whXAX8y0x7IWnpZHT45XTQ82CdoWPDnoQhr20cII=";
+  vendorHash = "sha256-9ZRhbRxQV9pzFzDhWIjgzQWXFWuzWMdeoNl4YsDuPFc=";
 
   ldflags = [ "-X github.com/ddworken/hishtory/client/lib.Version=${version}" ];
 
diff --git a/pkgs/shells/nsh/default.nix b/pkgs/shells/nsh/default.nix
index 3280bc9b2a381..365c14bc5c6d8 100644
--- a/pkgs/shells/nsh/default.nix
+++ b/pkgs/shells/nsh/default.nix
@@ -21,7 +21,7 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/nuta/nsh";
     changelog = "https://github.com/nuta/nsh/raw/v${version}/docs/changelog.md";
     license = [ licenses.cc0 /* or */ licenses.mit ];
-    maintainers = [ maintainers.marsam ];
+    maintainers = with maintainers; [ cafkafk ];
   };
 
   passthru = {
diff --git a/pkgs/shells/nushell/default.nix b/pkgs/shells/nushell/default.nix
index de838b9729503..6a76b5e5d3292 100644
--- a/pkgs/shells/nushell/default.nix
+++ b/pkgs/shells/nushell/default.nix
@@ -73,7 +73,7 @@ rustPlatform.buildRustPackage {
     description = "A modern shell written in Rust";
     homepage = "https://www.nushell.sh/";
     license = licenses.mit;
-    maintainers = with maintainers; [ Br1ght0ne johntitor marsam joaquintrinanes ];
+    maintainers = with maintainers; [ Br1ght0ne johntitor joaquintrinanes ];
     mainProgram = "nu";
   };
 }
diff --git a/pkgs/shells/zsh/oh-my-zsh/default.nix b/pkgs/shells/zsh/oh-my-zsh/default.nix
index ecd2c274ae52f..09fe271892db7 100644
--- a/pkgs/shells/zsh/oh-my-zsh/default.nix
+++ b/pkgs/shells/zsh/oh-my-zsh/default.nix
@@ -5,14 +5,14 @@
 , git, nix, nixfmt-classic, jq, coreutils, gnused, curl, cacert, bash }:
 
 stdenv.mkDerivation rec {
-  version = "2024-04-12";
+  version = "2024-04-25";
   pname = "oh-my-zsh";
 
   src = fetchFromGitHub {
     owner = "ohmyzsh";
     repo = "ohmyzsh";
-    rev = "31f2025e0fa963788655fe197e0179c47588b175";
-    sha256 = "sha256-tQD7H1f2KKSo647rWtplSIoBUiiNWAvAxSWw6e26BNk=";
+    rev = "803e1a784cd520f101d126b47deea3297e6a82fc";
+    sha256 = "sha256-spfi3Jdd9yjZ+1l4uz6QX7HF996VvbHwgtlTaHSrAXM=";
   };
 
   strictDeps = true;
diff --git a/pkgs/shells/zsh/zimfw/default.nix b/pkgs/shells/zsh/zimfw/default.nix
index c62c978b983d8..f91709a4c29a7 100644
--- a/pkgs/shells/zsh/zimfw/default.nix
+++ b/pkgs/shells/zsh/zimfw/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "zimfw";
-  version = "1.13.0";
+  version = "1.13.1";
   src = fetchFromGitHub {
     owner = "zimfw";
     repo = "zimfw";
     rev = "v${version}";
     ## zim only needs this one file to be installed.
     sparseCheckout = [ "zimfw.zsh" ];
-    sha256 = "sha256-yo1+jXmBzJdFLaVpmyKe8cyceg+sIgD++l2mSYPaKd8=";
+    sha256 = "sha256-ZmOmdIvSs60GYT4zfhYONmfayDOEHG8acsf4u1A2wWQ=";
   };
   strictDeps = true;
   dontConfigure = true;
diff --git a/pkgs/shells/zsh/zsh-prezto/default.nix b/pkgs/shells/zsh/zsh-prezto/default.nix
index 5f7c1b03e39c2..61b51a252fb65 100644
--- a/pkgs/shells/zsh/zsh-prezto/default.nix
+++ b/pkgs/shells/zsh/zsh-prezto/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zsh-prezto";
-  version = "unstable-2024-03-17";
+  version = "unstable-2024-04-15";
 
   src = fetchFromGitHub {
     owner = "sorin-ionescu";
     repo = "prezto";
-    rev = "c667dd3ea62b62b111102f0da58d33b5b20847a6";
-    sha256 = "cpxJII4bMunfdbWYo/feP2ZyVDlba3wG99o0n7DKt1k=";
+    rev = "f5a8cb456b74d4d71caf46037a356d2deee27b50";
+    sha256 = "iikJ/U7amsmMgFIEYuIIIymNeWr4ag/QPeyQjBJ/lOY=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/test/config.nix b/pkgs/test/config.nix
index 734e1aace1487..24a840af0aead 100644
--- a/pkgs/test/config.nix
+++ b/pkgs/test/config.nix
@@ -2,22 +2,19 @@
 lib.recurseIntoAttrs {
 
   # https://github.com/NixOS/nixpkgs/issues/175196
+  # This test has since been simplified to test the recursion without
+  # the fluff to make it look like a real-world example.
+  # The requirement we test here is:
+  # - `permittedInsecurePackages` must be allowed to
+  #   use `pkgs` to retrieve at least *some* information.
+  #
+  # Instead of `builtins.seq`, the list may be constructed based on actual package info.
   allowPkgsInPermittedInsecurePackages =
     let pkgs = import ../.. {
           config = {
-            permittedInsecurePackages =
-              tempAllow pkgs.authy "2.1.0" [ "electron-9.4.4" ];
+            permittedInsecurePackages = builtins.seq pkgs.glibc.version [];
           };
         };
-        # A simplification of `tempAllow` that doesn't check the version, but
-        # has the same strictness characteristics. Actually checking a version
-        # here would add undue maintenance.
-        #
-        # Original:
-        #     tempAllow = p: v: pa:
-        #       lib.optionals (lib.assertMsg (p.version == v) "${p.name} is no longer at version ${v}, consider removing the tempAllow") pa;
-        #
-        tempAllow = p: v: pa: builtins.seq v builtins.seq p.version pa;
 
     in pkgs.hello;
 
diff --git a/pkgs/tools/X11/skippy-xd/default.nix b/pkgs/tools/X11/skippy-xd/default.nix
index 4df15acf76e4f..27ee6ba88f303 100644
--- a/pkgs/tools/X11/skippy-xd/default.nix
+++ b/pkgs/tools/X11/skippy-xd/default.nix
@@ -14,12 +14,12 @@
 }:
 stdenv.mkDerivation rec {
   pname = "skippy-xd";
-  version = "0.6.0";
+  version = "0.7.2";
   src = fetchFromGitHub {
-    owner = "dreamcat4";
+    owner = "felixfung";
     repo = "skippy-xd";
-    rev = "d0557c3144fc67568a49d7207efef89c1d5777a0";
-    sha256 = "sha256-dnoPUPCvuR/HhqIz1WAsmWL/CkfTf11YEkbrkVWM4dc=";
+    rev = "e033b9ea80b5bbe922b05c64ed6ba0bf31c3acf6";
+    hash = "sha256-DsoRxbAF0DitgxknJVHDWH7VL5hWMhwH9I6m1SyItMM=";
   };
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [
diff --git a/pkgs/tools/X11/xloadimage/default.nix b/pkgs/tools/X11/xloadimage/default.nix
index e228c8223f4f9..ec570892412c4 100644
--- a/pkgs/tools/X11/xloadimage/default.nix
+++ b/pkgs/tools/X11/xloadimage/default.nix
@@ -82,7 +82,7 @@ stdenv.mkDerivation rec {
 
     license = lib.licenses.gpl2Plus;
 
-    maintainers = with lib.maintainers; [ andrew-d ];
+    maintainers = with lib.maintainers; [ ];
     platforms = lib.platforms.linux;  # arbitrary choice
   };
 }
diff --git a/pkgs/tools/admin/aliyun-cli/default.nix b/pkgs/tools/admin/aliyun-cli/default.nix
index 217724e89dfa2..dd8c10bb51cb3 100644
--- a/pkgs/tools/admin/aliyun-cli/default.nix
+++ b/pkgs/tools/admin/aliyun-cli/default.nix
@@ -2,17 +2,17 @@
 
 buildGoModule rec {
   pname = "aliyun-cli";
-  version = "3.0.202";
+  version = "3.0.203";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "aliyun";
     repo = pname;
     fetchSubmodules = true;
-    sha256 = "sha256-tZBAu8LiqsWZE12UQcUdAr+6HkOOb7Au6Mg5lo0DXTQ=";
+    sha256 = "sha256-S+go4uMUjzZNvzI5e/h7b2YFNdkzmZbVf7pIXOJeUX0=";
   };
 
-  vendorHash = "sha256-t9ukiREUEmW6KK7m5Uv5Ce6n/1GsBLom9H35eEyOBys=";
+  vendorHash = "sha256-AvlDqaJ5w9oDV1slwArr12KA1d3FKVU9H5WK4s3ePtU=";
 
   subPackages = [ "main" ];
 
diff --git a/pkgs/tools/admin/aws-google-auth/default.nix b/pkgs/tools/admin/aws-google-auth/default.nix
index 84b9d3fd8c993..abe36d683dc14 100644
--- a/pkgs/tools/admin/aws-google-auth/default.nix
+++ b/pkgs/tools/admin/aws-google-auth/default.nix
@@ -78,7 +78,7 @@ buildPythonApplication rec {
     description = "Acquire AWS STS (temporary) credentials via Google Apps SAML Single Sign On";
     mainProgram = "aws-google-auth";
     homepage = "https://github.com/cevoaustralia/aws-google-auth";
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     license = licenses.mit;
   };
 }
diff --git a/pkgs/tools/admin/awsweeper/default.nix b/pkgs/tools/admin/awsweeper/default.nix
index 9f0489c4dbb12..a249863301240 100644
--- a/pkgs/tools/admin/awsweeper/default.nix
+++ b/pkgs/tools/admin/awsweeper/default.nix
@@ -21,7 +21,7 @@ buildGoModule rec {
     description = "A tool to clean out your AWS account";
     homepage = "https://github.com/jckuester/awsweeper";
     license = licenses.mpl20;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     mainProgram = "awsweeper";
   };
 }
diff --git a/pkgs/tools/admin/azure-cli/default.nix b/pkgs/tools/admin/azure-cli/default.nix
index 93ba305ae8948..49d3b6ffb139d 100644
--- a/pkgs/tools/admin/azure-cli/default.nix
+++ b/pkgs/tools/admin/azure-cli/default.nix
@@ -39,8 +39,8 @@ let
     , url
     , sha256
     , description
-    }: python3.pkgs.buildPythonPackage {
-      inherit pname version;
+    , ...
+    }@args: python3.pkgs.buildPythonPackage ({
       format = "wheel";
       src = fetchurl { inherit url sha256; };
       meta = with lib; {
@@ -51,9 +51,11 @@ let
         license = lib.licenses.mit;
         sourceProvenance = [ sourceTypes.fromSource ];
       };
-    };
+    } // (removeAttrs args [ "url" "sha256" "description" ]));
 
-  extensions = callPackages ./extensions-generated.nix { inherit mkAzExtension; };
+  extensions =
+    callPackages ./extensions-generated.nix { inherit mkAzExtension; }
+    // callPackages ./extensions-manual.nix { inherit mkAzExtension; };
 
   extensionDir = stdenvNoCC.mkDerivation {
     name = "azure-cli-extensions";
diff --git a/pkgs/tools/admin/azure-cli/extensions-manual.nix b/pkgs/tools/admin/azure-cli/extensions-manual.nix
new file mode 100644
index 0000000000000..e69888b216b9f
--- /dev/null
+++ b/pkgs/tools/admin/azure-cli/extensions-manual.nix
@@ -0,0 +1,16 @@
+{ mkAzExtension
+, python3Packages
+}:
+
+{
+  azure-devops = mkAzExtension rec {
+    pname = "azure-devops";
+    version = "1.0.0";
+    url = "https://github.com/Azure/azure-devops-cli-extension/releases/download/20240206.1/azure_devops-${version}-py2.py3-none-any.whl";
+    sha256 = "658a2854d8c80f874f9382d421fa45abf6a38d00334737dda006f8dec64cf70a";
+    description = "Tools for managing Azure DevOps";
+    propagatedBuildInputs = with python3Packages; [
+      distro
+    ];
+  };
+}
diff --git a/pkgs/tools/admin/balena-cli/default.nix b/pkgs/tools/admin/balena-cli/default.nix
index 0229c81953780..58805192bde62 100644
--- a/pkgs/tools/admin/balena-cli/default.nix
+++ b/pkgs/tools/admin/balena-cli/default.nix
@@ -18,16 +18,16 @@ let
   };
 in buildNpmPackage' rec {
   pname = "balena-cli";
-  version = "18.2.0";
+  version = "18.2.1";
 
   src = fetchFromGitHub {
     owner = "balena-io";
     repo = "balena-cli";
     rev = "v${version}";
-    hash = "sha256-8T+6j2wIsCn27I7V6u5bXIjjbkU2soGI3rBfIzb4IxY=";
+    hash = "sha256-UOA8YIY08ocRyr9DLOBBqgkzMxL5BKqy9UWrc3bPiDE=";
   };
 
-  npmDepsHash = "sha256-XTCdrb5qwyaSnxjJOGOvpn22YsoS4WNXRwFTjPXzf5U=";
+  npmDepsHash = "sha256-9atwUBU/L8vCepkFudW3JvzXX9/Neyi/ioc0vuuxsss=";
 
   postPatch = ''
     ln -s npm-shrinkwrap.json package-lock.json
diff --git a/pkgs/tools/admin/certigo/default.nix b/pkgs/tools/admin/certigo/default.nix
index 6274833b26d7a..6a98bfc89e652 100644
--- a/pkgs/tools/admin/certigo/default.nix
+++ b/pkgs/tools/admin/certigo/default.nix
@@ -17,7 +17,7 @@ buildGoModule rec {
     description = "A utility to examine and validate certificates in a variety of formats";
     homepage = "https://github.com/square/certigo";
     license = licenses.asl20;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     mainProgram = "certigo";
   };
 }
diff --git a/pkgs/tools/admin/clair/default.nix b/pkgs/tools/admin/clair/default.nix
index ae49b0e4e9937..4a6dd2ef4baee 100644
--- a/pkgs/tools/admin/clair/default.nix
+++ b/pkgs/tools/admin/clair/default.nix
@@ -44,6 +44,6 @@ buildGoModule rec {
     homepage = "https://github.com/quay/clair";
     changelog = "https://github.com/quay/clair/blob/v${version}/CHANGELOG.md";
     license = licenses.asl20;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/tools/admin/docker-credential-helpers/default.nix b/pkgs/tools/admin/docker-credential-helpers/default.nix
index ba5aa38860ef1..28a50c8053ba1 100644
--- a/pkgs/tools/admin/docker-credential-helpers/default.nix
+++ b/pkgs/tools/admin/docker-credential-helpers/default.nix
@@ -46,7 +46,7 @@ buildGoModule rec {
     description = "Suite of programs to use native stores to keep Docker credentials safe";
     homepage = "https://github.com/docker/docker-credential-helpers";
     license = licenses.mit;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
   } // lib.optionalAttrs stdenv.isDarwin {
     mainProgram = "docker-credential-osxkeychain";
   };
diff --git a/pkgs/tools/admin/exoscale-cli/default.nix b/pkgs/tools/admin/exoscale-cli/default.nix
index 0da9611783775..53c45858e4fe2 100644
--- a/pkgs/tools/admin/exoscale-cli/default.nix
+++ b/pkgs/tools/admin/exoscale-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "exoscale-cli";
-  version = "1.77.1";
+  version = "1.77.2";
 
   src = fetchFromGitHub {
     owner = "exoscale";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-vDlT+gLizFGxKPdKYk2p+0Nk21exI0AEfJ77MNBsBxc=";
+    sha256 = "sha256-hVuQBdmVBEwioNYHPUneF5Ink12Lh5cdS7UU2hd6SXs=";
   };
 
   vendorHash = null;
diff --git a/pkgs/tools/admin/fastlane/default.nix b/pkgs/tools/admin/fastlane/default.nix
index b1ad9fa401c87..a34429d657caa 100644
--- a/pkgs/tools/admin/fastlane/default.nix
+++ b/pkgs/tools/admin/fastlane/default.nix
@@ -22,7 +22,6 @@ bundlerApp {
       peterromfeldhk
       nicknovitski
       shahrukh330
-      marsam
     ];
     mainProgram = "fastlane";
   };
diff --git a/pkgs/tools/admin/google-cloud-sdk/default.nix b/pkgs/tools/admin/google-cloud-sdk/default.nix
index f354dde039c8b..dca993567e1b1 100644
--- a/pkgs/tools/admin/google-cloud-sdk/default.nix
+++ b/pkgs/tools/admin/google-cloud-sdk/default.nix
@@ -49,6 +49,9 @@ in stdenv.mkDerivation rec {
     runHook preInstall
 
     mkdir -p $out/google-cloud-sdk
+    if [ -d .install/platform/bundledpythonunix ]; then
+      rm -r .install/platform/bundledpythonunix
+    fi
     cp -R * .install $out/google-cloud-sdk/
 
     mkdir -p $out/google-cloud-sdk/lib/surface/{alpha,beta}
diff --git a/pkgs/tools/admin/granted/default.nix b/pkgs/tools/admin/granted/default.nix
index c9547e2723401..6624ae3eca277 100644
--- a/pkgs/tools/admin/granted/default.nix
+++ b/pkgs/tools/admin/granted/default.nix
@@ -12,16 +12,16 @@
 
 buildGoModule rec {
   pname = "granted";
-  version = "0.23.1";
+  version = "0.24.0";
 
   src = fetchFromGitHub {
     owner = "common-fate";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-w/vsS206gKZ8PbfD2BAsYxasXWJEX72AMpmwyR/NCcU=";
+    sha256 = "sha256-wZP7QEFzPdDXL00/+jiVghwrObWYcy+Nf9DuOWBwrlQ=";
   };
 
-  vendorHash = "sha256-F8KkBeig0TofMRdg2puFjqPXB6TnUc15enodiE57pxA=";
+  vendorHash = "sha256-XzoN8gOQTU8LMInsV6gVetUp1xlPOxedF1ksQ0V1ynY=";
 
   nativeBuildInputs = [ makeWrapper ];
 
diff --git a/pkgs/tools/admin/kics/default.nix b/pkgs/tools/admin/kics/default.nix
index f4c812308cecb..ba8818c7f415b 100644
--- a/pkgs/tools/admin/kics/default.nix
+++ b/pkgs/tools/admin/kics/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "kics";
-  version = "1.7.13";
+  version = "2.0.0";
 
   src = fetchFromGitHub {
     owner = "Checkmarx";
     repo = "kics";
     rev = "v${version}";
-    hash = "sha256-5+ZxQaLc5KBl+e//9FQAM+isMU8QchtHwRm4rMr7Hd0=";
+    hash = "sha256-OdX3ipfPj+rope5oT5ND9MEaefW36X6XDV5F7PaQOuw=";
   };
 
-  vendorHash = "sha256-+XszRGnGw/YmrU8SazoNSZkA5s1aFWf3mIBZtK4UBy0=";
+  vendorHash = "sha256-vYAMzXBQIt8F9DTGLkWNXx6e08MPo12W2ogiTZ8gcjw=";
 
   subPackages = [ "cmd/console" ];
 
diff --git a/pkgs/tools/admin/qovery-cli/default.nix b/pkgs/tools/admin/qovery-cli/default.nix
index 95ce88d06946a..642d912268937 100644
--- a/pkgs/tools/admin/qovery-cli/default.nix
+++ b/pkgs/tools/admin/qovery-cli/default.nix
@@ -9,16 +9,16 @@
 
 buildGoModule rec {
   pname = "qovery-cli";
-  version = "0.89.0";
+  version = "0.90.2";
 
   src = fetchFromGitHub {
     owner = "Qovery";
     repo = "qovery-cli";
     rev = "refs/tags/v${version}";
-    hash = "sha256-3guMKAxDxv/R60pKP0y+XTTaxHZSTfnXtNO2RC74/xE=";
+    hash = "sha256-vY+NW4rEmxmyfG2pEfmZ7mgbKbUAnwvpYnFrvXxxkso=";
   };
 
-  vendorHash = "sha256-/wm/KCO/oYJkjh0AuUi9rUyrqen/otC4KVVXhROz9Ro=";
+  vendorHash = "sha256-0mQQkEXevFMtWzDdQCGuZmsizAYnWtRahghVwTuYtNc=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/tools/admin/swapspace/default.nix b/pkgs/tools/admin/swapspace/default.nix
index 27ec7f31f8911..fa379e6a2d282 100644
--- a/pkgs/tools/admin/swapspace/default.nix
+++ b/pkgs/tools/admin/swapspace/default.nix
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/Tookmund/Swapspace";
     license = licenses.gpl2Only;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ misuzu Luflosi ];
+    maintainers = with maintainers; [ Luflosi ];
     mainProgram = "swapspace";
   };
 }
diff --git a/pkgs/tools/admin/trivy/default.nix b/pkgs/tools/admin/trivy/default.nix
index f29cf3b0046fc..8c22e6941c4d6 100644
--- a/pkgs/tools/admin/trivy/default.nix
+++ b/pkgs/tools/admin/trivy/default.nix
@@ -11,13 +11,13 @@
 
 buildGoModule rec {
   pname = "trivy";
-  version = "0.50.2";
+  version = "0.50.4";
 
   src = fetchFromGitHub {
     owner = "aquasecurity";
     repo = "trivy";
     rev = "refs/tags/v${version}";
-    hash = "sha256-0FV67+m09PCkPZfnkepkvBA4mFYIkJSMT5v0tDwalW8=";
+    hash = "sha256-KFVeJmtMPGPjeiXzeVFtY73drZ4CySdmMRxDqEJfA4c=";
   };
 
   # Hash mismatch on across Linux and Darwin
diff --git a/pkgs/tools/admin/winbox/default.nix b/pkgs/tools/admin/winbox/default.nix
index f4a39b2cbbc5d..874e9b40d6b7c 100644
--- a/pkgs/tools/admin/winbox/default.nix
+++ b/pkgs/tools/admin/winbox/default.nix
@@ -14,10 +14,10 @@ let
   name = "${pname}-${version}";
 
   executable = fetchurl (if (wine.meta.mainProgram == "wine64") then {
-    url = "https://download.mikrotik.com/winbox/${version}/winbox64.exe";
+    url = "https://download.mikrotik.com/routeros/winbox/${version}/winbox64.exe";
     sha256 = "1dxny1qmq4pmdn40j9zk461p3qwwjin5d18ajhczrnqrcr2v1xwi";
   } else {
-    url = "https://download.mikrotik.com/winbox/${version}/winbox.exe";
+    url = "https://download.mikrotik.com/routeros/winbox/${version}/winbox.exe";
     sha256 = "11vmdkwi38y7wkdkgsqpfs4l2bdaj9yg6c8wlgfzp91227gjn5li";
   });
 
diff --git a/pkgs/tools/archivers/rpm2targz/default.nix b/pkgs/tools/archivers/rpm2targz/default.nix
index da231bf4a742f..c9fa1a0e63978 100644
--- a/pkgs/tools/archivers/rpm2targz/default.nix
+++ b/pkgs/tools/archivers/rpm2targz/default.nix
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
     description = "Convert a .rpm file to a .tar.gz archive";
     homepage = "http://slackware.com/config/packages.php";
     license = licenses.bsd1;
-    maintainers = [ maintainers.fogti ];
+    maintainers = [ ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/audio/mpris-scrobbler/default.nix b/pkgs/tools/audio/mpris-scrobbler/default.nix
index a5e7b24833054..13070ea70513b 100644
--- a/pkgs/tools/audio/mpris-scrobbler/default.nix
+++ b/pkgs/tools/audio/mpris-scrobbler/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mpris-scrobbler";
-  version = "0.5.0";
+  version = "0.5.2";
 
   src = fetchFromGitHub {
     owner = "mariusor";
     repo = "mpris-scrobbler";
     rev = "v${version}";
-    sha256 = "sha256-HUEUkVL5d6FD698k8iSCJMNeSo8vGJCsExJW/E0EWpQ=";
+    sha256 = "sha256-Gpgiu3wdxP4XjHzl1S4/wpTh2ZJjqowsD8wpbZuaySs=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/backup/wal-g/default.nix b/pkgs/tools/backup/wal-g/default.nix
index fe6a1bd2cdbdb..d469db8925af9 100644
--- a/pkgs/tools/backup/wal-g/default.nix
+++ b/pkgs/tools/backup/wal-g/default.nix
@@ -35,6 +35,6 @@ buildGoModule rec {
     license = licenses.asl20;
     description = "An archival restoration tool for PostgreSQL";
     mainProgram = "wal-g";
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/tools/backup/zrepl/default.nix b/pkgs/tools/backup/zrepl/default.nix
index b0e0f75fe8c6d..65aed9dedc972 100644
--- a/pkgs/tools/backup/zrepl/default.nix
+++ b/pkgs/tools/backup/zrepl/default.nix
@@ -44,7 +44,7 @@ buildGoModule rec {
     description = "A one-stop, integrated solution for ZFS replication";
     platforms = platforms.linux;
     license = licenses.mit;
-    maintainers = with maintainers; [ cole-h danderson mdlayher ];
+    maintainers = with maintainers; [ cole-h mdlayher ];
     mainProgram = "zrepl";
   };
 }
diff --git a/pkgs/tools/bootloaders/refind/default.nix b/pkgs/tools/bootloaders/refind/default.nix
index 0a33305d10f7a..a481bfdc37ab3 100644
--- a/pkgs/tools/bootloaders/refind/default.nix
+++ b/pkgs/tools/bootloaders/refind/default.nix
@@ -24,11 +24,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "refind";
-  version = "0.14.0.2";
+  version = "0.14.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/refind/${version}/refind-src-${version}.tar.gz";
-    hash = "sha256-JqDFXf01ZUmeH4LY/ldGTb7xnKiGzm0BqBUii478iw8=";
+    hash = "sha256-99k86A2na4bFZygeoiW2qHkHzob/dyM8k1elIsEVyPA=";
   };
 
   patches = [
@@ -49,6 +49,9 @@ stdenv.mkDerivation rec {
       "EFICRT0=${gnu-efi}/lib"
       "HOSTARCH=${hostarch}"
       "ARCH=${hostarch}"
+    ] ++ lib.optional stdenv.isAarch64 [
+      # aarch64 is special for GNU-EFI, see BUILDING.txt
+      "GNUEFI_ARM64_TARGET_SUPPORT=y"
     ];
 
   buildFlags = [ "gnuefi" "fs_gnuefi" ];
diff --git a/pkgs/tools/compression/imagelol/default.nix b/pkgs/tools/compression/imagelol/default.nix
index 950b12826b33f..1d965dd2ca1ac 100644
--- a/pkgs/tools/compression/imagelol/default.nix
+++ b/pkgs/tools/compression/imagelol/default.nix
@@ -30,7 +30,6 @@ stdenv.mkDerivation rec {
     })
   ];
 
-
   # fix for case-sensitive filesystems
   # https://github.com/MCredstoner2004/ImageLOL/issues/1
   postPatch = ''
@@ -46,7 +45,7 @@ stdenv.mkDerivation rec {
     cp ./ImageLOL $out/bin
   '';
 
-  cmakeFlags = lib.optional (stdenv.isDarwin && stdenv.isAarch64) "-DPNG_ARM_NEON=off";
+  cmakeFlags = [ (lib.cmakeFeature "CMAKE_C_FLAGS" "-std=gnu90") ] ++ lib.optional (stdenv.isDarwin && stdenv.isAarch64) "-DPNG_ARM_NEON=off";
 
   meta = with lib; {
     homepage = "https://github.com/MCredstoner2004/ImageLOL";
diff --git a/pkgs/tools/filesystems/dwarfs/default.nix b/pkgs/tools/filesystems/dwarfs/default.nix
index abd99731de132..b2c52694d07c3 100644
--- a/pkgs/tools/filesystems/dwarfs/default.nix
+++ b/pkgs/tools/filesystems/dwarfs/default.nix
@@ -95,7 +95,7 @@ stdenv.mkDerivation rec {
     description = "A fast high compression read-only file system";
     homepage = "https://github.com/mhx/dwarfs";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ keksbg ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/filesystems/f2fs-tools/default.nix b/pkgs/tools/filesystems/f2fs-tools/default.nix
index 811adfadb55bc..d0d97f124d09c 100644
--- a/pkgs/tools/filesystems/f2fs-tools/default.nix
+++ b/pkgs/tools/filesystems/f2fs-tools/default.nix
@@ -1,4 +1,6 @@
-{ lib, stdenv, fetchzip, autoreconfHook, libselinux, libuuid, pkg-config }:
+{ lib, stdenv, fetchzip, fetchpatch
+, autoreconfHook, libselinux, libuuid, pkg-config
+}:
 
 stdenv.mkDerivation rec {
   pname = "f2fs-tools";
@@ -12,7 +14,15 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ autoreconfHook pkg-config ];
   buildInputs = [ libselinux libuuid ];
 
-  patches = [ ./f2fs-tools-cross-fix.patch ];
+  patches = [
+    ./f2fs-tools-cross-fix.patch
+
+    (fetchpatch {
+      name = "lfs64.patch";
+      url = "https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git/patch/?id=b15b6cc56ac7764be17acbdbf96448f388992adc";
+      hash = "sha256-9XrNf9MMMDGOsuP3DvUhm30Sa2xICDtXbUIvM/TP35o=";
+    })
+  ];
 
   meta = with lib; {
     homepage = "https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git/";
diff --git a/pkgs/tools/filesystems/genromfs/default.nix b/pkgs/tools/filesystems/genromfs/default.nix
index 6c40c4ad94cd6..ce611736b77ec 100644
--- a/pkgs/tools/filesystems/genromfs/default.nix
+++ b/pkgs/tools/filesystems/genromfs/default.nix
@@ -9,17 +9,16 @@ stdenv.mkDerivation rec {
     sha256 = "0q6rpq7cmclmb4ayfyknvzbqysxs4fy8aiahlax1sb2p6k3pzwrh";
   };
 
-  postPatch = ''
-    substituteInPlace Makefile \
-      --replace "prefix = /usr" "prefix = $out" \
-      --replace "gcc" "cc"
-  '';
+  makeFlags = [
+    "prefix:=$(out)"
+    "CC:=$(CC)"
+  ];
 
   meta = with lib; {
     homepage = "https://romfs.sourceforge.net/";
     description = "Tool for creating romfs file system images";
     license = licenses.gpl2;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ nickcao ];
     platforms = platforms.all;
     mainProgram = "genromfs";
   };
diff --git a/pkgs/tools/filesystems/mount-zip/default.nix b/pkgs/tools/filesystems/mount-zip/default.nix
index 8bff2e4fb47e1..2610a32e7e664 100644
--- a/pkgs/tools/filesystems/mount-zip/default.nix
+++ b/pkgs/tools/filesystems/mount-zip/default.nix
@@ -1,5 +1,14 @@
-{ lib, stdenv, fetchFromGitHub, fuse, boost, gcc, icu, libzip, pandoc
-, pkg-config }:
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  fuse,
+  boost,
+  icu,
+  libzip,
+  pandoc,
+  pkg-config,
+}:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "mount-zip";
@@ -12,8 +21,19 @@ stdenv.mkDerivation (finalAttrs: {
     hash = "sha256-S2snseC9JAjYRberL2/CyRQTcZQ8GtGQNU3WuTqSRl4=";
   };
 
-  nativeBuildInputs = [ boost gcc icu pandoc pkg-config ];
-  buildInputs = [ fuse libzip ];
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    pandoc
+    pkg-config
+  ];
+
+  buildInputs = [
+    boost
+    fuse
+    icu
+    libzip
+  ];
 
   makeFlags = [ "prefix=$(out)" ];
 
diff --git a/pkgs/tools/filesystems/tar2ext4/default.nix b/pkgs/tools/filesystems/tar2ext4/default.nix
index dd4ab499de92f..aa1abaef4796e 100644
--- a/pkgs/tools/filesystems/tar2ext4/default.nix
+++ b/pkgs/tools/filesystems/tar2ext4/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "tar2ext4";
-  version = "0.12.1";
+  version = "0.12.3";
 
   src = fetchFromGitHub {
     owner = "microsoft";
     repo = "hcsshim";
     rev = "v${version}";
-    sha256 = "sha256-p0sNdCC8T5MDVimkS2DJusfuM788QxEtgKJNGlqrkAU=";
+    sha256 = "sha256-xBlol+09rogbNSYM6Ok5EWb6IEfrVb+/wNMqAA3ZELU=";
   };
 
   sourceRoot = "${src.name}/cmd/tar2ext4";
diff --git a/pkgs/tools/filesystems/ubidump/default.nix b/pkgs/tools/filesystems/ubidump/default.nix
index c038042b6871b..72ef56fa47f8e 100644
--- a/pkgs/tools/filesystems/ubidump/default.nix
+++ b/pkgs/tools/filesystems/ubidump/default.nix
@@ -1,35 +1,28 @@
-{ lib, fetchFromGitHub, python3 }:
-
-python3.pkgs.buildPythonApplication rec {
+{
+  lib,
+  fetchFromGitHub,
+  python3,
+}:
 
+python3.pkgs.buildPythonApplication {
   pname = "ubidump";
-  version = "unstable-2019-09-11";
-  format = "other";
+  version = "0-unstable-2023-09-20";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "nlitsme";
-    repo = pname;
-    rev = "0691f1a9a38604c2baf8c9af6b826eb2632af74a";
-    sha256 = "1hiivlgni4r3nd5n2rzl5qzw6y2wpjpmyls5lybrc8imd6rmj3w2";
+    repo = "ubidump";
+    rev = "c8cffcbb8c2d61ebece81dff643b8eccfe6d5642";
+    sha256 = "sha256-R568pV3bkdpNAexr8tfAbXVpvHEx/9r1KDWhDM+HyVg=";
   };
 
-  propagatedBuildInputs = with python3.pkgs; [ crcmod python-lzo setuptools ];
-
-  dontBuild = true;
-
-  patchPhase = ''
-    sed -i '1s;^;#!${python3.interpreter}\n;' ubidump.py
-    patchShebangs ubidump.py
-  '';
+  build-system = with python3.pkgs; [ setuptools ];
 
-  installPhase = ''
-    install -D -m755 ubidump.py $out/bin/ubidump
-    wrapProgram $out/bin/ubidump --set PYTHONPATH $PYTHONPATH
-  '';
-
-  installCheckPhase = ''
-    $out/bin/ubidump -h  > /dev/null
-  '';
+  dependencies = with python3.pkgs; [
+    setuptools # pkg_resources
+    python-lzo
+    crcmod
+  ];
 
   meta = with lib; {
     description = "View or extract the contents of UBIFS images";
@@ -39,4 +32,3 @@ python3.pkgs.buildPythonApplication rec {
     mainProgram = "ubidump";
   };
 }
-
diff --git a/pkgs/tools/filesystems/xtreemfs/default.nix b/pkgs/tools/filesystems/xtreemfs/default.nix
index 6c02117936dac..a92369f498413 100644
--- a/pkgs/tools/filesystems/xtreemfs/default.nix
+++ b/pkgs/tools/filesystems/xtreemfs/default.nix
@@ -3,6 +3,7 @@
 , fetchFromGitHub
 , fetchpatch
 , makeWrapper
+, stripJavaArchivesHook
 , ant
 , attr
 , boost
@@ -28,7 +29,7 @@ stdenv.mkDerivation {
     sha256 = "1hjmd32pla27zf98ghzz6r5ml8ry86m9dsryv1z01kxv5l95b3m0";
   };
 
-  nativeBuildInputs = [ makeWrapper python3 ];
+  nativeBuildInputs = [ makeWrapper python3 stripJavaArchivesHook ];
   buildInputs = [ which attr ];
 
   patches = [
diff --git a/pkgs/tools/games/minecraft/mcaselector/default.nix b/pkgs/tools/games/minecraft/mcaselector/default.nix
index a2099c4e382e8..cbd0ce7036a1a 100644
--- a/pkgs/tools/games/minecraft/mcaselector/default.nix
+++ b/pkgs/tools/games/minecraft/mcaselector/default.nix
@@ -2,22 +2,25 @@
 , stdenvNoCC
 , fetchurl
 , makeWrapper
+, wrapGAppsHook
 , jre
 }:
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "mcaselector";
-  version = "2.3";
+  version = "2.4";
 
   src = fetchurl {
     url = "https://github.com/Querz/mcaselector/releases/download/${finalAttrs.version}/mcaselector-${finalAttrs.version}.jar";
-    hash = "sha256-8ivqTqgO6hvEgwnAfnPXuruFGS3s/wD/WKt+5Bg/5Z0=";
+    hash = "sha256-6WQIvDmyVVmxHFOMk2emT1a4PMGVjvtC0aSkryvwARs=";
   };
 
   dontUnpack = true;
   dontBuild = true;
 
-  nativeBuildInputs = [ jre makeWrapper ];
+  nativeBuildInputs = [ jre makeWrapper wrapGAppsHook ];
+
+  dontWrapGApps = true;
 
   installPhase = ''
     runHook preInstall
@@ -25,7 +28,8 @@ stdenvNoCC.mkDerivation (finalAttrs: {
     mkdir -p $out/{bin,lib/mcaselector}
     cp $src $out/lib/mcaselector/mcaselector.jar
     makeWrapper ${jre}/bin/java $out/bin/mcaselector \
-      --add-flags "-jar $out/lib/mcaselector/mcaselector.jar"
+      --add-flags "-jar $out/lib/mcaselector/mcaselector.jar" \
+      ''${gappsWrapperArgs[@]}
 
     runHook postInstall
   '';
diff --git a/pkgs/tools/games/opentracker/default.nix b/pkgs/tools/games/opentracker/default.nix
index 6bb5fc8ff207d..5bab19fa2ad97 100644
--- a/pkgs/tools/games/opentracker/default.nix
+++ b/pkgs/tools/games/opentracker/default.nix
@@ -3,7 +3,6 @@
   stdenv,
   buildDotnetModule,
   fetchFromGitHub,
-  autoPatchelfHook,
   wrapGAppsHook,
   dotnetCorePackages,
   fontconfig,
@@ -40,7 +39,6 @@ buildDotnetModule rec {
   ];
 
   nativeBuildInputs = [
-    autoPatchelfHook
     wrapGAppsHook
   ];
 
@@ -64,12 +62,6 @@ buildDotnetModule rec {
       libXi
     ]);
 
-  # Attempts to patchelf unneeded SOs
-  autoPatchelfIgnoreMissingDeps = [
-    "libc.musl-x86_64.so.1"
-    "libintl.so.8"
-  ];
-
   meta = with lib; {
     description = "A tracking application for A Link to the Past Randomizer";
     homepage = "https://github.com/trippsc2/OpenTracker";
diff --git a/pkgs/tools/games/ukmm/Cargo.lock b/pkgs/tools/games/ukmm/Cargo.lock
index 9872fa564617b..c8c049fef936f 100644
--- a/pkgs/tools/games/ukmm/Cargo.lock
+++ b/pkgs/tools/games/ukmm/Cargo.lock
@@ -10,9 +10,9 @@ checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3"
 
 [[package]]
 name = "ab_glyph"
-version = "0.2.21"
+version = "0.2.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5110f1c78cf582855d895ecd0746b653db010cec6d9f5575293f27934d980a39"
+checksum = "80179d7dd5d7e8c285d67c4a1e652972a92de7475beddfb92028c76463b13225"
 dependencies = [
  "ab_glyph_rasterizer",
  "owned_ttf_parser",
@@ -26,16 +26,27 @@ checksum = "c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046"
 
 [[package]]
 name = "accesskit"
-version = "0.8.1"
+version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3083ac5a97521e35388ca80cf365b6be5210962cc59f11ee238cd92ac2fa9524"
+checksum = "74a4b14f3d99c1255dcba8f45621ab1a2e7540a0009652d33989005a4d0bfc6b"
 dependencies = [
- "enumset",
- "kurbo",
+ "enumn",
  "serde",
 ]
 
 [[package]]
+name = "acid_io"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3e08a77c8b11dbd46fd3ba4f0aa0bf7ed078793201540779b0841a297acdad2c"
+dependencies = [
+ "byteorder",
+ "libc",
+ "memchr",
+ "windows 0.29.0",
+]
+
+[[package]]
 name = "adler"
 version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -49,21 +60,23 @@ checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234"
 
 [[package]]
 name = "ahash"
-version = "0.8.3"
+version = "0.8.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f"
+checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"
 dependencies = [
  "cfg-if 1.0.0",
+ "getrandom",
  "once_cell",
  "serde",
  "version_check",
+ "zerocopy",
 ]
 
 [[package]]
 name = "aho-corasick"
-version = "1.0.1"
+version = "1.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67fc08ce920c31afb70f013dcce1bfc3a3195de6a228474e45e1f145b36f8d04"
+checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
 dependencies = [
  "memchr",
 ]
@@ -76,9 +89,9 @@ checksum = "250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd"
 
 [[package]]
 name = "aligned"
-version = "0.4.1"
+version = "0.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "80a21b9440a626c7fc8573a9e3d3a06b75c7c97754c2949bc7857b90353ca655"
+checksum = "377e4c0ba83e4431b10df45c1d4666f178ea9c552cac93e60c3a88bf32785923"
 dependencies = [
  "as-slice",
 ]
@@ -90,6 +103,39 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3aa2999eb46af81abb65c2d30d446778d7e613b60bbf4e174a027e80f90a3c14"
 
 [[package]]
+name = "android-activity"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ee91c0c2905bae44f84bfa4e044536541df26b7703fd0888deeb9060fcc44289"
+dependencies = [
+ "android-properties",
+ "bitflags 2.5.0",
+ "cc",
+ "cesu8",
+ "jni",
+ "jni-sys",
+ "libc",
+ "log",
+ "ndk",
+ "ndk-context",
+ "ndk-sys",
+ "num_enum",
+ "thiserror",
+]
+
+[[package]]
+name = "android-properties"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04"
+
+[[package]]
+name = "android-tzdata"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
+
+[[package]]
 name = "android_system_properties"
 version = "0.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -109,9 +155,9 @@ dependencies = [
 
 [[package]]
 name = "anyhow"
-version = "1.0.71"
+version = "1.0.81"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8"
+checksum = "0952808a6c2afd1aa8947271f3a60f1a6763c7b912d210184c5149b5cf147247"
 
 [[package]]
 name = "anyhow_ext"
@@ -124,19 +170,17 @@ dependencies = [
 
 [[package]]
 name = "arboard"
-version = "3.2.0"
+version = "3.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d6041616acea41d67c4a984709ddab1587fd0b10efe5cc563fee954d2f011854"
+checksum = "a2041f1943049c7978768d84e6d0fd95de98b76d6c4727b09e78ec253d29fa58"
 dependencies = [
  "clipboard-win",
  "log",
  "objc",
  "objc-foundation",
  "objc_id",
- "once_cell",
  "parking_lot",
  "thiserror",
- "winapi",
  "x11rb",
 ]
 
@@ -154,15 +198,15 @@ checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545"
 
 [[package]]
 name = "arrayvec"
-version = "0.5.2"
+version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b"
+checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711"
 
 [[package]]
-name = "arrayvec"
-version = "0.7.2"
+name = "as-raw-xcb-connection"
+version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6"
+checksum = "175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b"
 
 [[package]]
 name = "as-slice"
@@ -175,9 +219,9 @@ dependencies = [
 
 [[package]]
 name = "astrolabe"
-version = "0.2.0"
+version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f751fcf1d5272d514a83197d8440d6c4527cc5ba992713f93b666eba556f92c"
+checksum = "55189fd93a1d108bb6fb4a7dc223c141a1200841dfeeea9f984b58338ef8fc24"
 
 [[package]]
 name = "async-io"
@@ -192,8 +236,8 @@ dependencies = [
  "futures-lite",
  "log",
  "parking",
- "polling",
- "rustix",
+ "polling 2.8.0",
+ "rustix 0.37.27",
  "slab",
  "socket2",
  "waker-fn",
@@ -201,9 +245,9 @@ dependencies = [
 
 [[package]]
 name = "async-lock"
-version = "2.7.0"
+version = "2.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa24f727524730b077666307f2734b4a1a1c57acb79193127dcc8914d5242dd7"
+checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b"
 dependencies = [
  "event-listener",
 ]
@@ -221,10 +265,10 @@ dependencies = [
 ]
 
 [[package]]
-name = "atomic_refcell"
-version = "0.1.10"
+name = "atomic-waker"
+version = "1.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "79d6dc922a2792b006573f60b2648076355daeae5ce9cb59507e5908c9625d31"
+checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
 
 [[package]]
 name = "atty"
@@ -250,9 +294,9 @@ dependencies = [
 
 [[package]]
 name = "autocfg"
-version = "1.1.0"
+version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80"
 
 [[package]]
 name = "base64"
@@ -271,9 +315,15 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
 
 [[package]]
 name = "base64"
-version = "0.21.0"
+version = "0.21.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
+
+[[package]]
+name = "base64"
+version = "0.22.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a"
+checksum = "9475866fec1451be56a3c2400fd081ff546538961565ccb5b7142cbd22bc7a51"
 
 [[package]]
 name = "bincode"
@@ -291,7 +341,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ab81d22cbd2d745852348b2138f3db2103afa8ce043117a374581926a523e267"
 dependencies = [
  "array-init",
- "binrw_derive",
+ "binrw_derive 0.11.2",
+ "bytemuck",
+]
+
+[[package]]
+name = "binrw"
+version = "0.13.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "173901312e9850391d4d7c1318c4e099fdc037d61870fca427429830efdb4e5f"
+dependencies = [
+ "array-init",
+ "binrw_derive 0.13.3",
  "bytemuck",
 ]
 
@@ -303,8 +364,21 @@ checksum = "d6b019a3efebe7f453612083202887b6f1ace59e20d010672e336eea4ed5be97"
 dependencies = [
  "either",
  "owo-colors",
- "proc-macro2 1.0.56",
- "quote 1.0.26",
+ "proc-macro2 1.0.79",
+ "quote 1.0.35",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "binrw_derive"
+version = "0.13.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb515fdd6f8d3a357c8e19b8ec59ef53880807864329b1cb1cba5c53bf76557e"
+dependencies = [
+ "either",
+ "owo-colors",
+ "proc-macro2 1.0.79",
+ "quote 1.0.35",
  "syn 1.0.109",
 ]
 
@@ -336,6 +410,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
+name = "bitflags"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1"
+dependencies = [
+ "serde",
+]
+
+[[package]]
 name = "block"
 version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -352,21 +435,21 @@ dependencies = [
 
 [[package]]
 name = "block-sys"
-version = "0.1.0-beta.1"
+version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fa55741ee90902547802152aaf3f8e5248aab7e21468089560d4c8840561146"
+checksum = "ae85a0696e7ea3b835a453750bf002770776609115e6d25c6d2ff28a8200f7e7"
 dependencies = [
  "objc-sys",
 ]
 
 [[package]]
 name = "block2"
-version = "0.2.0-alpha.6"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8dd9e63c1744f755c2f60332b88de39d341e5e86239014ad839bd71c106dec42"
+checksum = "15b55663a85f33501257357e6421bb33e769d5c9ffb5ba0921c975a123e35e68"
 dependencies = [
  "block-sys",
- "objc2-encode",
+ "objc2",
 ]
 
 [[package]]
@@ -378,48 +461,48 @@ dependencies = [
  "include-flate",
  "once_cell",
  "regex",
- "roead",
+ "roead 0.23.1",
  "serde_json",
  "twox-hash",
 ]
 
 [[package]]
 name = "bumpalo"
-version = "3.12.1"
+version = "3.15.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b1ce199063694f33ffb7dd4e0ee620741495c32833cde5aa08f02a0bf96f0c8"
+checksum = "7ff69b9dd49fd426c69a0db9fc04dd934cdb6645ff000864d98f7e2af8830eaa"
 
 [[package]]
 name = "bytecount"
-version = "0.6.3"
+version = "0.6.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c676a478f63e9fa2dd5368a42f28bba0d6c560b775f38583c8bbaa7fcd67c9c"
+checksum = "e1e5f035d16fc623ae5f74981db80a439803888314e3a555fd6f04acd51a3205"
 
 [[package]]
 name = "bytemuck"
-version = "1.13.1"
+version = "1.15.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea"
+checksum = "5d6d68c57235a3a081186990eca2867354726650f42f7516ca50c28d6281fd15"
 dependencies = [
  "bytemuck_derive",
 ]
 
 [[package]]
 name = "bytemuck_derive"
-version = "1.4.1"
+version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fdde5c9cd29ebd706ce1b35600920a33550e402fc998a2e53ad3b42c3c47a192"
+checksum = "4da9a32f3fed317401fa3c862968128267c3106685286e15d5aaa3d7389c2f60"
 dependencies = [
- "proc-macro2 1.0.56",
- "quote 1.0.26",
- "syn 2.0.15",
+ "proc-macro2 1.0.79",
+ "quote 1.0.35",
+ "syn 2.0.55",
 ]
 
 [[package]]
 name = "byteorder"
-version = "1.4.3"
+version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
+checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
 
 [[package]]
 name = "byteordered"
@@ -432,9 +515,9 @@ dependencies = [
 
 [[package]]
 name = "bytes"
-version = "1.4.0"
+version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
+checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9"
 
 [[package]]
 name = "cairo-sys-rs"
@@ -448,31 +531,44 @@ dependencies = [
 
 [[package]]
 name = "calloop"
-version = "0.10.5"
+version = "0.12.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a59225be45a478d772ce015d9743e49e92798ece9e34eda9a6aa2a6a7f40192"
+checksum = "fba7adb4dd5aa98e5553510223000e7148f621165ec5f9acd7113f6ca4995298"
 dependencies = [
+ "bitflags 2.5.0",
  "log",
- "nix 0.25.1",
- "slotmap",
+ "polling 3.6.0",
+ "rustix 0.38.32",
+ "slab",
  "thiserror",
- "vec_map",
+]
+
+[[package]]
+name = "calloop-wayland-source"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0f0ea9b9476c7fad82841a8dbb380e2eae480c21910feba80725b46931ed8f02"
+dependencies = [
+ "calloop",
+ "rustix 0.38.32",
+ "wayland-backend",
+ "wayland-client",
 ]
 
 [[package]]
 name = "camino"
-version = "1.1.4"
+version = "1.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c530edf18f37068ac2d977409ed5cd50d53d73bc653c7647b48eb78976ac9ae2"
+checksum = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c"
 dependencies = [
  "serde",
 ]
 
 [[package]]
 name = "cargo-platform"
-version = "0.1.2"
+version = "0.1.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cbdb825da8a5df079a43676dbe042702f1707b1109f713a01420fbb4cc71fa27"
+checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc"
 dependencies = [
  "serde",
 ]
@@ -492,19 +588,21 @@ dependencies = [
 
 [[package]]
 name = "catppuccin-egui"
-version = "1.0.2"
-source = "git+https://github.com/NiceneNerd/egui-catppuccin#23adfdba9f43e35ed1f0656df654cb04cc0c0e52"
+version = "5.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0e55b1e8024ec4a7b9af879cf3eb4f9cfbedfa529cef9badb94226fed59e140c"
 dependencies = [
  "egui",
 ]
 
 [[package]]
 name = "cc"
-version = "1.0.79"
+version = "1.0.90"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
+checksum = "8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5"
 dependencies = [
  "jobserver",
+ "libc",
 ]
 
 [[package]]
@@ -515,9 +613,9 @@ checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c"
 
 [[package]]
 name = "cfg-expr"
-version = "0.15.1"
+version = "0.15.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c8790cf1286da485c72cf5fc7aeba308438800036ec67d89425924c4807268c9"
+checksum = "fa50868b64a9a6fda9d593ce778849ea8715cd2a3d2cc17ffdb4a2f2f2f1961d"
 dependencies = [
  "smallvec",
  "target-lexicon",
@@ -552,18 +650,17 @@ dependencies = [
 
 [[package]]
 name = "chrono"
-version = "0.4.24"
+version = "0.4.37"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4e3c5919066adf22df73762e50cffcde3a758f2a848b113b586d1f86728b673b"
+checksum = "8a0d04d43504c61aa6c7531f1871dd0d418d91130162063b789da00fd7057a5e"
 dependencies = [
+ "android-tzdata",
  "iana-time-zone",
  "js-sys",
- "num-integer",
  "num-traits",
  "serde",
- "time 0.1.45",
  "wasm-bindgen",
- "winapi",
+ "windows-targets 0.52.4",
 ]
 
 [[package]]
@@ -574,7 +671,7 @@ checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c"
 dependencies = [
  "ansi_term",
  "atty",
- "bitflags",
+ "bitflags 1.3.2",
  "strsim 0.8.0",
  "textwrap",
  "unicode-width",
@@ -583,13 +680,11 @@ dependencies = [
 
 [[package]]
 name = "clipboard-win"
-version = "4.5.0"
+version = "5.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7191c27c2357d9b7ef96baac1773290d4ca63b24205b82a3fd8a0637afcf0362"
+checksum = "d517d4b86184dbb111d3556a10f1c8a04da7428d2987bf1081602bf11c3aa9ee"
 dependencies = [
  "error-code",
- "str-buf",
- "winapi",
 ]
 
 [[package]]
@@ -603,31 +698,30 @@ dependencies = [
 
 [[package]]
 name = "cocoa"
-version = "0.24.1"
+version = "0.25.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f425db7937052c684daec3bd6375c8abe2d146dca4b8b143d6db777c39138f3a"
+checksum = "f6140449f97a6e97f9511815c5632d84c8aacf8ac271ad77c559218161a1373c"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "block",
  "cocoa-foundation",
  "core-foundation",
- "core-graphics",
- "foreign-types 0.3.2",
+ "core-graphics 0.23.1",
+ "foreign-types 0.5.0",
  "libc",
  "objc",
 ]
 
 [[package]]
 name = "cocoa-foundation"
-version = "0.1.1"
+version = "0.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "931d3837c286f56e3c58423ce4eba12d08db2374461a785c86f672b08b5650d6"
+checksum = "8c6234cbb2e4c785b456c0644748b1ac416dd045799740356f8363dfe00c93f7"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "block",
  "core-foundation",
  "core-graphics-types",
- "foreign-types 0.3.2",
  "libc",
  "objc",
 ]
@@ -675,24 +769,24 @@ dependencies = [
 
 [[package]]
 name = "concurrent-queue"
-version = "2.2.0"
+version = "2.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62ec6771ecfa0762d24683ee5a32ad78487a3d3afdc0fb8cae19d2c5deb50b7c"
+checksum = "d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363"
 dependencies = [
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "configparser"
-version = "3.0.2"
+version = "3.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5458d9d1a587efaf5091602c59d299696a3877a439c8f6d461a2d3cce11df87a"
+checksum = "4ec6d3da8e550377a85339063af6e3735f4b1d9392108da4e083a1b3b9820288"
 
 [[package]]
 name = "core-foundation"
-version = "0.9.3"
+version = "0.9.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
+checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f"
 dependencies = [
  "core-foundation-sys",
  "libc",
@@ -700,9 +794,9 @@ dependencies = [
 
 [[package]]
 name = "core-foundation-sys"
-version = "0.8.4"
+version = "0.8.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
+checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
 
 [[package]]
 name = "core-graphics"
@@ -710,7 +804,7 @@ version = "0.22.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2581bbab3b8ffc6fcbd550bf46c355135d16e9ff2a6ea032ad6b9bf1d7efe4fb"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "core-foundation",
  "core-graphics-types",
  "foreign-types 0.3.2",
@@ -718,14 +812,26 @@ dependencies = [
 ]
 
 [[package]]
+name = "core-graphics"
+version = "0.23.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "970a29baf4110c26fedbc7f82107d42c23f7e88e404c4577ed73fe99ff85a212"
+dependencies = [
+ "bitflags 1.3.2",
+ "core-foundation",
+ "core-graphics-types",
+ "foreign-types 0.5.0",
+ "libc",
+]
+
+[[package]]
 name = "core-graphics-types"
-version = "0.1.1"
+version = "0.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3a68b68b3446082644c91ac778bf50cd4104bfb002b5a6a7c44cca5a2c70788b"
+checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "core-foundation",
- "foreign-types 0.3.2",
  "libc",
 ]
 
@@ -736,16 +842,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "99d74ada66e07c1cefa18f8abfba765b486f250de2e4a999e5727fc0dd4b4a25"
 dependencies = [
  "core-foundation",
- "core-graphics",
+ "core-graphics 0.22.3",
  "foreign-types 0.3.2",
  "libc",
 ]
 
 [[package]]
 name = "cpufeatures"
-version = "0.2.7"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3e4c1eaa2012c47becbbad2ab175484c2a84d1185b566fb2cc5b8707343dfe58"
+checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504"
 dependencies = [
  "libc",
 ]
@@ -765,7 +871,7 @@ version = "3.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "86ec7a15cbe22e59248fc7eadb1907dab5ba09372595da4d73dd805ed4417dfe"
 dependencies = [
- "crc-catalog 2.2.0",
+ "crc-catalog 2.4.0",
 ]
 
 [[package]]
@@ -776,26 +882,25 @@ checksum = "ccaeedb56da03b09f598226e25e80088cb4cd25f316e6e4df7d695f0feeb1403"
 
 [[package]]
 name = "crc-catalog"
-version = "2.2.0"
+version = "2.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9cace84e55f07e7301bae1c519df89cdad8cc3cd868413d3fdbdeca9ff3db484"
+checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5"
 
 [[package]]
 name = "crc32fast"
-version = "1.3.2"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
+checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa"
 dependencies = [
  "cfg-if 1.0.0",
 ]
 
 [[package]]
 name = "crossbeam"
-version = "0.8.2"
+version = "0.8.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2801af0d36612ae591caa9568261fddce32ce6e08a7275ea334a06a4ad021a2c"
+checksum = "1137cd7e7fc0fb5d3c5a8678be38ec56e819125d8d7907411fe24ccb943faca8"
 dependencies = [
- "cfg-if 1.0.0",
  "crossbeam-channel",
  "crossbeam-deque",
  "crossbeam-epoch",
@@ -805,79 +910,46 @@ dependencies = [
 
 [[package]]
 name = "crossbeam-channel"
-version = "0.5.8"
+version = "0.5.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200"
+checksum = "ab3db02a9c5b5121e1e42fbdb1aeb65f5e02624cc58c43f2884c6ccac0b82f95"
 dependencies = [
- "cfg-if 1.0.0",
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "crossbeam-deque"
-version = "0.8.3"
+version = "0.8.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef"
+checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d"
 dependencies = [
- "cfg-if 1.0.0",
  "crossbeam-epoch",
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "crossbeam-epoch"
-version = "0.9.14"
+version = "0.9.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "46bd5f3f85273295a9d14aedfb86f6aadbff6d8f5295c4a9edb08e819dcf5695"
+checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
 dependencies = [
- "autocfg",
- "cfg-if 1.0.0",
  "crossbeam-utils",
- "memoffset 0.8.0",
- "scopeguard",
 ]
 
 [[package]]
 name = "crossbeam-queue"
-version = "0.3.8"
+version = "0.3.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add"
+checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35"
 dependencies = [
- "cfg-if 1.0.0",
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "crossbeam-utils"
-version = "0.8.15"
+version = "0.8.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b"
-dependencies = [
- "cfg-if 1.0.0",
-]
-
-[[package]]
-name = "crossfont"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "21fd3add36ea31aba1520aa5288714dd63be506106753226d0eb387a93bc9c45"
-dependencies = [
- "cocoa",
- "core-foundation",
- "core-foundation-sys",
- "core-graphics",
- "core-text",
- "dwrote",
- "foreign-types 0.5.0",
- "freetype-rs",
- "libc",
- "log",
- "objc",
- "once_cell",
- "pkg-config",
- "servo-fontconfig",
- "winapi",
-]
+checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345"
 
 [[package]]
 name = "crunchy"
@@ -887,9 +959,9 @@ checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
 
 [[package]]
 name = "csv"
-version = "1.2.1"
+version = "1.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b015497079b9a9d69c02ad25de6c0a6edef051ea6360a327d0bd05802ef64ad"
+checksum = "ac574ff4d437a7b5ad237ef331c17ccca63c46479e5b5453eb8e10bb99a759fe"
 dependencies = [
  "csv-core",
  "itoa",
@@ -899,28 +971,18 @@ dependencies = [
 
 [[package]]
 name = "csv-core"
-version = "0.1.10"
+version = "0.1.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b2466559f260f48ad25fe6317b3c8dac77b5bdb5763ac7d9d6103530663bc90"
+checksum = "5efa2b3d7902f4b634a20cae3c9c4e6209dc4779feb6863329607560143efa70"
 dependencies = [
  "memchr",
 ]
 
 [[package]]
-name = "ctor"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd4056f63fce3b82d852c3da92b08ea59959890813a7f4ce9c0ff85b10cf301b"
-dependencies = [
- "quote 1.0.26",
- "syn 2.0.15",
-]
-
-[[package]]
-name = "cty"
-version = "0.2.2"
+name = "cursor-icon"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b365fabc795046672053e29c954733ec3b05e4be654ab130fe8f1f94d7051f35"
+checksum = "96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991"
 
 [[package]]
 name = "cvt"
@@ -933,9 +995,9 @@ dependencies = [
 
 [[package]]
 name = "cxx"
-version = "1.0.94"
+version = "1.0.120"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f61f1b6389c3fe1c316bf8a4dccc90a38208354b330925bce1f74a6c4756eb93"
+checksum = "ff4dc7287237dd438b926a81a1a5605dad33d286870e5eee2db17bf2bcd9e92a"
 dependencies = [
  "cc",
  "cxxbridge-flags",
@@ -945,114 +1007,79 @@ dependencies = [
 
 [[package]]
 name = "cxx-build"
-version = "1.0.94"
+version = "1.0.120"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12cee708e8962df2aeb38f594aae5d827c022b6460ac71a7a3e2c3c2aae5a07b"
+checksum = "f47c6c8ad7c1a10d3ef0fe3ff6733f4db0d78f08ef0b13121543163ef327058b"
 dependencies = [
  "cc",
  "codespan-reporting",
  "once_cell",
- "proc-macro2 1.0.56",
- "quote 1.0.26",
+ "proc-macro2 1.0.79",
+ "quote 1.0.35",
  "scratch",
- "syn 2.0.15",
+ "syn 2.0.55",
 ]
 
 [[package]]
 name = "cxxbridge-flags"
-version = "1.0.94"
+version = "1.0.120"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7944172ae7e4068c533afbb984114a56c46e9ccddda550499caa222902c7f7bb"
+checksum = "701a1ac7a697e249cdd8dc026d7a7dafbfd0dbcd8bd24ec55889f2bc13dd6287"
 
 [[package]]
 name = "cxxbridge-macro"
-version = "1.0.94"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2345488264226bf682893e25de0769f3360aac9957980ec49361b083ddaa5bc5"
-dependencies = [
- "proc-macro2 1.0.56",
- "quote 1.0.26",
- "syn 2.0.15",
-]
-
-[[package]]
-name = "darling"
-version = "0.13.4"
+version = "1.0.120"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a01d95850c592940db9b8194bc39f4bc0e89dee5c4265e4b1807c34a9aba453c"
+checksum = "b404f596046b0bb2d903a9c786b875a126261b52b7c3a64bbb66382c41c771df"
 dependencies = [
- "darling_core 0.13.4",
- "darling_macro 0.13.4",
+ "proc-macro2 1.0.79",
+ "quote 1.0.35",
+ "syn 2.0.55",
 ]
 
 [[package]]
 name = "darling"
-version = "0.20.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7c99d16b88c92aef47e58dadd53e87b4bd234c29934947a6cec8b466300f99b"
-dependencies = [
- "darling_core 0.20.0",
- "darling_macro 0.20.0",
-]
-
-[[package]]
-name = "darling_core"
-version = "0.13.4"
+version = "0.20.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "859d65a907b6852c9361e3185c862aae7fafd2887876799fa55f5f99dc40d610"
+checksum = "54e36fcd13ed84ffdfda6f5be89b31287cbb80c439841fe69e04841435464391"
 dependencies = [
- "fnv",
- "ident_case",
- "proc-macro2 1.0.56",
- "quote 1.0.26",
- "strsim 0.10.0",
- "syn 1.0.109",
+ "darling_core",
+ "darling_macro",
 ]
 
 [[package]]
 name = "darling_core"
-version = "0.20.0"
+version = "0.20.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2ea05d2fcb27b53f7a98faddaf5f2914760330ab7703adfc9df13332b42189f9"
+checksum = "9c2cf1c23a687a1feeb728783b993c4e1ad83d99f351801977dd809b48d0a70f"
 dependencies = [
  "fnv",
  "ident_case",
- "proc-macro2 1.0.56",
- "quote 1.0.26",
+ "proc-macro2 1.0.79",
+ "quote 1.0.35",
  "strsim 0.10.0",
- "syn 2.0.15",
-]
-
-[[package]]
-name = "darling_macro"
-version = "0.13.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835"
-dependencies = [
- "darling_core 0.13.4",
- "quote 1.0.26",
- "syn 1.0.109",
+ "syn 2.0.55",
 ]
 
 [[package]]
 name = "darling_macro"
-version = "0.20.0"
+version = "0.20.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7bfb82b62b1b8a2a9808fb4caf844ede819a76cfc23b2827d7f94eefb49551eb"
+checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f"
 dependencies = [
- "darling_core 0.20.0",
- "quote 1.0.26",
- "syn 2.0.15",
+ "darling_core",
+ "quote 1.0.35",
+ "syn 2.0.55",
 ]
 
 [[package]]
 name = "dashmap"
-version = "5.4.0"
+version = "5.5.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "907076dfda823b0b36d2a1bb5f90c96660a5bbcd7729e10727f07858f22c4edc"
+checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856"
 dependencies = [
  "cfg-if 1.0.0",
- "hashbrown",
+ "hashbrown 0.14.3",
  "lock_api",
  "once_cell",
  "parking_lot_core",
@@ -1062,11 +1089,18 @@ dependencies = [
 
 [[package]]
 name = "data-url"
-version = "0.1.1"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3a30bfce702bcfa94e906ef82421f2c0e61c076ad76030c16ee5d2e9a32fe193"
+checksum = "5c297a1c74b71ae29df00c3e22dd9534821d60eb9af5a0192823fa2acea70c2a"
+
+[[package]]
+name = "deranged"
+version = "0.3.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4"
 dependencies = [
- "matches",
+ "powerfmt",
+ "serde",
 ]
 
 [[package]]
@@ -1080,25 +1114,16 @@ dependencies = [
 
 [[package]]
 name = "dircpy"
-version = "0.3.14"
+version = "0.3.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "10b6622b9d0dc20c70e74ff24c56493278d7d9299ac8729deb923703616e5a7e"
+checksum = "29259db751c34980bfc44100875890c507f585323453b91936960ab1104272ca"
 dependencies = [
- "jwalk 0.6.2",
+ "jwalk",
  "log",
  "walkdir",
 ]
 
 [[package]]
-name = "dirs"
-version = "4.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059"
-dependencies = [
- "dirs-sys",
-]
-
-[[package]]
 name = "dirs-sys"
 version = "0.3.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1127,37 +1152,43 @@ checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b"
 
 [[package]]
 name = "dlib"
-version = "0.5.0"
+version = "0.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac1b7517328c04c2aa68422fc60a41b92208182142ed04a25879c26c8f878794"
+checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412"
 dependencies = [
  "libloading",
 ]
 
 [[package]]
+name = "document-features"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ef5282ad69563b5fc40319526ba27e0e7363d552a896f0297d54f767717f9b95"
+dependencies = [
+ "litrs",
+]
+
+[[package]]
 name = "downcast-rs"
 version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650"
 
 [[package]]
-name = "dwrote"
-version = "0.11.0"
+name = "duplicate"
+version = "1.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "439a1c2ba5611ad3ed731280541d36d2e9c4ac5e7fb818a27b604bdc5a6aa65b"
+checksum = "de78e66ac9061e030587b2a2e75cc88f22304913c907b11307bca737141230cb"
 dependencies = [
- "lazy_static",
- "libc",
- "serde",
- "serde_derive",
- "winapi",
- "wio",
+ "heck 0.4.1",
+ "proc-macro-error",
 ]
 
 [[package]]
 name = "ecolor"
-version = "0.20.0"
-source = "git+https://github.com/NiceneNerd/egui#3803a3223e98b3e50dfd858aa9e7fd5c6615dc09"
+version = "0.27.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "20930a432bbd57a6d55e07976089708d4893f3d556cf42a0d79e9e321fa73b10"
 dependencies = [
  "bytemuck",
  "color-hex",
@@ -1166,118 +1197,146 @@ dependencies = [
 
 [[package]]
 name = "eframe"
-version = "0.20.0"
-source = "git+https://github.com/NiceneNerd/egui#3803a3223e98b3e50dfd858aa9e7fd5c6615dc09"
+version = "0.27.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "020e2ccef6bbcec71dbc542f7eed64a5846fc3076727f5746da8fd307c91bab2"
 dependencies = [
  "bytemuck",
+ "cocoa",
+ "document-features",
  "egui",
  "egui-winit",
  "egui_glow",
  "glow",
  "glutin",
+ "glutin-winit",
+ "image",
  "js-sys",
+ "log",
+ "objc",
+ "parking_lot",
  "percent-encoding",
  "raw-window-handle 0.5.2",
- "tracing",
+ "raw-window-handle 0.6.0",
+ "static_assertions",
+ "thiserror",
  "wasm-bindgen",
  "wasm-bindgen-futures",
  "web-sys",
+ "web-time",
+ "winapi",
  "winit",
 ]
 
 [[package]]
 name = "egui"
-version = "0.20.0"
-source = "git+https://github.com/NiceneNerd/egui#3803a3223e98b3e50dfd858aa9e7fd5c6615dc09"
+version = "0.27.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "584c5d1bf9a67b25778a3323af222dbe1a1feb532190e103901187f92c7fe29a"
 dependencies = [
  "accesskit",
  "ahash",
  "epaint",
+ "log",
  "nohash-hasher",
  "ron",
  "serde",
- "tracing",
+]
+
+[[package]]
+name = "egui-aesthetix"
+version = "0.2.2"
+source = "git+https://github.com/NiceneNerd/egui-aesthetix#d2caf2f42666b62de16dda0f6e2e20e1b8dc038a"
+dependencies = [
+ "egui",
 ]
 
 [[package]]
 name = "egui-notify"
-version = "0.4.0"
-source = "git+https://github.com/NiceneNerd/egui-notify#ae2c44477b154133037f04f1adf8df60c2f0dc53"
+version = "0.14.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "319327faee7bb116bcdbe43af1b8cbea06dc5d9ddbb23d35e012949afbd76cde"
 dependencies = [
  "egui",
 ]
 
 [[package]]
 name = "egui-winit"
-version = "0.20.0"
-source = "git+https://github.com/NiceneNerd/egui#3803a3223e98b3e50dfd858aa9e7fd5c6615dc09"
+version = "0.27.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2e3da0cbe020f341450c599b35b92de4af7b00abde85624fd16f09c885573609"
 dependencies = [
  "arboard",
  "egui",
- "instant",
+ "log",
+ "raw-window-handle 0.6.0",
  "smithay-clipboard",
- "tracing",
+ "web-time",
  "webbrowser",
  "winit",
 ]
 
 [[package]]
 name = "egui_commonmark"
-version = "0.6.0"
-source = "git+https://github.com/NiceneNerd/egui_commonmark#a3cde22510be11330467d920d8fdd379964f260d"
+version = "0.15.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "013480797931a2649e03069613ed35514569372d6f79df70fc3653ae18a75c6c"
 dependencies = [
  "egui",
- "ehttp",
- "image",
- "pulldown-cmark",
- "resvg 0.20.0",
- "tiny-skia 0.6.6",
- "url",
- "usvg 0.20.0",
+ "egui_extras",
+ "pulldown-cmark 0.10.2",
 ]
 
 [[package]]
 name = "egui_dock"
-version = "0.2.1"
-source = "git+https://github.com/NiceneNerd/egui_dock#0dffb443c6dcc19bc5713b5f8ad2d4b4abd44c9c"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c3b8d9a54c0ed60f2670ad387c269663b4771431f090fa586906cf5f0bc586f4"
 dependencies = [
+ "duplicate",
  "egui",
+ "paste",
  "serde",
 ]
 
 [[package]]
 name = "egui_extras"
-version = "0.20.0"
-source = "git+https://github.com/NiceneNerd/egui#3803a3223e98b3e50dfd858aa9e7fd5c6615dc09"
+version = "0.27.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1b78779f35ded1a853786c9ce0b43fe1053e10a21ea3b23ebea411805ce41593"
 dependencies = [
  "egui",
+ "ehttp",
+ "enum-map",
  "image",
- "resvg 0.23.0",
+ "log",
+ "mime_guess2",
+ "resvg",
  "serde",
- "tiny-skia 0.6.6",
- "usvg 0.23.0",
 ]
 
 [[package]]
 name = "egui_glow"
-version = "0.20.0"
-source = "git+https://github.com/NiceneNerd/egui#3803a3223e98b3e50dfd858aa9e7fd5c6615dc09"
+version = "0.27.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e0e5d975f3c86edc3d35b1db88bb27c15dde7c55d3b5af164968ab5ede3f44ca"
 dependencies = [
  "bytemuck",
  "egui",
  "glow",
- "memoffset 0.6.5",
- "tracing",
+ "log",
+ "memoffset 0.9.1",
  "wasm-bindgen",
  "web-sys",
 ]
 
 [[package]]
 name = "ehttp"
-version = "0.2.0"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "80b69a6f9168b96c0ae04763bec27a8b06b34343c334dd2703a4ec21f0f5e110"
+checksum = "59a81c221a1e4dad06cb9c9deb19aea1193a5eea084e8cd42d869068132bf876"
 dependencies = [
+ "document-features",
  "js-sys",
  "ureq",
  "wasm-bindgen",
@@ -1287,14 +1346,15 @@ dependencies = [
 
 [[package]]
 name = "either"
-version = "1.8.1"
+version = "1.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91"
+checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a"
 
 [[package]]
 name = "emath"
-version = "0.20.0"
-source = "git+https://github.com/NiceneNerd/egui#3803a3223e98b3e50dfd858aa9e7fd5c6615dc09"
+version = "0.27.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e4c3a552cfca14630702449d35f41c84a0d15963273771c6059175a803620f3f"
 dependencies = [
  "bytemuck",
  "serde",
@@ -1302,55 +1362,65 @@ dependencies = [
 
 [[package]]
 name = "enum-as-inner"
-version = "0.5.1"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c9720bba047d567ffc8a3cba48bf19126600e249ab7f128e9233e6376976a116"
+checksum = "5ffccbb6966c05b32ef8fbac435df276c4ae4d3dc55a8cd0eb9745e6c12f546a"
 dependencies = [
- "heck",
- "proc-macro2 1.0.56",
- "quote 1.0.26",
- "syn 1.0.109",
+ "heck 0.4.1",
+ "proc-macro2 1.0.79",
+ "quote 1.0.35",
+ "syn 2.0.55",
 ]
 
 [[package]]
-name = "enum_dispatch"
-version = "0.3.11"
+name = "enum-map"
+version = "2.7.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "11f36e95862220b211a6e2aa5eca09b4fa391b13cd52ceb8035a24bf65a79de2"
+checksum = "6866f3bfdf8207509a033af1a75a7b08abda06bbaaeae6669323fd5a097df2e9"
 dependencies = [
- "once_cell",
- "proc-macro2 1.0.56",
- "quote 1.0.26",
- "syn 1.0.109",
+ "enum-map-derive",
+ "serde",
 ]
 
 [[package]]
-name = "enumset"
-version = "1.0.13"
+name = "enum-map-derive"
+version = "0.17.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59b025475ad197bd8b4a9bdce339216b6cf3bd568bf2e107c286b51613f0b3cf"
+checksum = "f282cfdfe92516eb26c2af8589c274c7c17681f5ecc03c18255fe741c6aa64eb"
 dependencies = [
- "enumset_derive",
- "serde",
+ "proc-macro2 1.0.79",
+ "quote 1.0.35",
+ "syn 2.0.55",
 ]
 
 [[package]]
-name = "enumset_derive"
-version = "0.7.0"
+name = "enum_dispatch"
+version = "0.3.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aa18ce2bc66555b3218614519ac839ddb759a7d6720732f979ef8d13be147ecd"
+dependencies = [
+ "once_cell",
+ "proc-macro2 1.0.79",
+ "quote 1.0.35",
+ "syn 2.0.55",
+]
+
+[[package]]
+name = "enumn"
+version = "0.1.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14c2852ff17a4c9a2bb2abbca3074737919cb05dc24b0a8ca9498081a7033dd6"
+checksum = "6fd000fd6988e73bbe993ea3db9b1aa64906ab88766d654973924340c8cddb42"
 dependencies = [
- "darling 0.20.0",
- "proc-macro2 1.0.56",
- "quote 1.0.26",
- "syn 2.0.15",
+ "proc-macro2 1.0.79",
+ "quote 1.0.35",
+ "syn 2.0.55",
 ]
 
 [[package]]
 name = "env_logger"
-version = "0.10.0"
+version = "0.10.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0"
+checksum = "4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580"
 dependencies = [
  "humantime",
  "is-terminal",
@@ -1361,48 +1431,44 @@ dependencies = [
 
 [[package]]
 name = "epaint"
-version = "0.20.0"
-source = "git+https://github.com/NiceneNerd/egui#3803a3223e98b3e50dfd858aa9e7fd5c6615dc09"
+version = "0.27.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b381f8b149657a4acf837095351839f32cd5c4aec1817fc4df84e18d76334176"
 dependencies = [
  "ab_glyph",
  "ahash",
- "atomic_refcell",
  "bytemuck",
  "ecolor",
  "emath",
+ "log",
  "nohash-hasher",
  "parking_lot",
  "serde",
 ]
 
 [[package]]
-name = "erased-serde"
-version = "0.3.25"
+name = "equivalent"
+version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f2b0c2380453a92ea8b6c8e5f64ecaafccddde8ceab55ff7a8ac1029f894569"
-dependencies = [
- "serde",
-]
+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
 
 [[package]]
-name = "errno"
-version = "0.3.1"
+name = "erased-serde"
+version = "0.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a"
+checksum = "2b73807008a3c7f171cc40312f37d95ef0396e048b5848d775f54b1a4dd4a0d3"
 dependencies = [
- "errno-dragonfly",
- "libc",
- "windows-sys 0.48.0",
+ "serde",
 ]
 
 [[package]]
-name = "errno-dragonfly"
-version = "0.1.2"
+name = "errno"
+version = "0.3.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
+checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
 dependencies = [
- "cc",
  "libc",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -1416,13 +1482,9 @@ dependencies = [
 
 [[package]]
 name = "error-code"
-version = "2.3.1"
+version = "3.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64f18991e7bf11e7ffee451b5318b5c1a73c52d0d0ada6e5a3017c8c1ced6a21"
-dependencies = [
- "libc",
- "str-buf",
-]
+checksum = "a0474425d51df81997e2f90a21591180b38eccf27292d755f3e30750225c175b"
 
 [[package]]
 name = "event-listener"
@@ -1442,15 +1504,15 @@ dependencies = [
 
 [[package]]
 name = "exr"
-version = "1.6.3"
+version = "1.72.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bdd2162b720141a91a054640662d3edce3d50a944a50ffca5313cd951abb35b4"
+checksum = "887d93f60543e9a9362ef8a21beedd0a833c5d9610e18c67abe15a5963dcb1a4"
 dependencies = [
  "bit_field",
  "flume",
  "half",
  "lebe",
- "miniz_oxide 0.6.2",
+ "miniz_oxide",
  "rayon-core",
  "smallvec",
  "zune-inflate",
@@ -1458,9 +1520,9 @@ dependencies = [
 
 [[package]]
 name = "fancy-regex"
-version = "0.7.1"
+version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d6b8560a05112eb52f04b00e5d3790c0dd75d9d980eb8a122fb23b92a623ccf"
+checksum = "b95f7c0680e4142284cf8b22c14a476e87d61b004a3a0861872b32ef7ead40a2"
 dependencies = [
  "bit-set",
  "regex",
@@ -1476,45 +1538,51 @@ dependencies = [
 ]
 
 [[package]]
+name = "fastrand"
+version = "2.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "658bd65b1cf4c852a3cc96f18a8ce7b5640f6b703f905c7d74532294c2a63984"
+
+[[package]]
 name = "fdeflate"
-version = "0.3.0"
+version = "0.3.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d329bdeac514ee06249dabc27877490f17f5d371ec693360768b838e19f3ae10"
+checksum = "4f9bfee30e4dedf0ab8b422f03af778d9612b63f502710fc500a334ebe2de645"
 dependencies = [
  "simd-adler32",
 ]
 
 [[package]]
 name = "filetime"
-version = "0.2.21"
+version = "0.2.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5cbc844cecaee9d4443931972e1289c8ff485cb4cc2767cb03ca139ed6885153"
+checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd"
 dependencies = [
  "cfg-if 1.0.0",
  "libc",
- "redox_syscall 0.2.16",
- "windows-sys 0.48.0",
+ "redox_syscall 0.4.1",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "filetime_creation"
-version = "0.1.5"
+version = "0.1.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d961767622336521cc48b3de810fce4edbf02d0c21079d78f3a6eeaf45b9450"
+checksum = "4d273b12293b73b44ab8a525e161f74ebe2f38dd50c33ce7f538a4ccf9077383"
 dependencies = [
  "cfg-if 1.0.0",
  "filetime",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "flate2"
-version = "1.0.26"
+version = "1.0.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743"
+checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e"
 dependencies = [
  "crc32fast",
- "miniz_oxide 0.7.1",
+ "miniz_oxide",
 ]
 
 [[package]]
@@ -1525,14 +1593,13 @@ checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4"
 
 [[package]]
 name = "flume"
-version = "0.10.14"
+version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1657b4441c3403d9f7b3409e47575237dac27b1b5726df654a6ecbf92f0f7577"
+checksum = "55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181"
 dependencies = [
  "futures-core",
  "futures-sink",
  "nanorand",
- "pin-project",
  "spin 0.9.8",
 ]
 
@@ -1556,38 +1623,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "fontconfig-parser"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ab2e12762761366dcb876ab8b6e0cfa4797ddcd890575919f008b5ba655672a"
-dependencies = [
- "roxmltree 0.18.0",
-]
-
-[[package]]
-name = "fontdb"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "01b07f5c05414a0d8caba4c17eef8dc8b5c8955fc7c68d324191c7a56d3f3449"
-dependencies = [
- "log",
- "memmap2",
- "ttf-parser 0.12.3",
-]
-
-[[package]]
-name = "fontdb"
-version = "0.9.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d52186a39c335aa6f79fc0bf1c3cf854870b6ad4e50a7bb8a59b4ba1331f478a"
-dependencies = [
- "fontconfig-parser",
- "log",
- "memmap2",
- "ttf-parser 0.17.1",
-]
-
-[[package]]
 name = "foreign-types"
 version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1612,9 +1647,9 @@ version = "0.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742"
 dependencies = [
- "proc-macro2 1.0.56",
- "quote 1.0.26",
- "syn 2.0.15",
+ "proc-macro2 1.0.79",
+ "quote 1.0.35",
+ "syn 2.0.55",
 ]
 
 [[package]]
@@ -1631,25 +1666,14 @@ checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b"
 
 [[package]]
 name = "form_urlencoded"
-version = "1.1.0"
+version = "1.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8"
+checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
 dependencies = [
  "percent-encoding",
 ]
 
 [[package]]
-name = "freetype-rs"
-version = "0.26.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "74eadec9d0a5c28c54bb9882e54787275152a4e36ce206b45d7451384e5bf5fb"
-dependencies = [
- "bitflags",
- "freetype-sys",
- "libc",
-]
-
-[[package]]
 name = "freetype-sys"
 version = "0.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1662,36 +1686,38 @@ dependencies = [
 
 [[package]]
 name = "fs-err"
-version = "2.9.0"
+version = "2.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0845fa252299212f0389d64ba26f34fa32cfe41588355f21ed507c59a0f64541"
+checksum = "88a41f105fe1d5b6b34b2055e3dc59bb79b46b48b2040b9e6c7b4b5de097aa41"
+dependencies = [
+ "autocfg",
+]
 
 [[package]]
 name = "fs_at"
-version = "0.1.6"
+version = "0.1.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0504bab20f4487fdf1c20ed48e3e32c7951827a778cd3dfded1768f90b6abb0a"
+checksum = "982f82cc75107eef84f417ad6c53ae89bf65b561937ca4a3b3b0fd04d0aa2425"
 dependencies = [
  "aligned",
  "cfg-if 1.0.0",
  "cvt",
  "libc",
- "nix 0.26.2",
- "smart-default",
+ "nix 0.26.4",
  "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "futures-core"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c"
+checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d"
 
 [[package]]
 name = "futures-io"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964"
+checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1"
 
 [[package]]
 name = "futures-lite"
@@ -1699,7 +1725,7 @@ version = "1.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce"
 dependencies = [
- "fastrand",
+ "fastrand 1.9.0",
  "futures-core",
  "futures-io",
  "memchr",
@@ -1710,21 +1736,21 @@ dependencies = [
 
 [[package]]
 name = "futures-sink"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e"
+checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5"
 
 [[package]]
 name = "futures-task"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65"
+checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004"
 
 [[package]]
 name = "futures-util"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533"
+checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48"
 dependencies = [
  "futures-core",
  "futures-io",
@@ -1777,53 +1803,32 @@ dependencies = [
 
 [[package]]
 name = "gethostname"
-version = "0.2.3"
+version = "0.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1ebd34e35c46e00bb73e81363248d627782724609fe1b6396f553f68fe3862e"
+checksum = "0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818"
 dependencies = [
  "libc",
- "winapi",
+ "windows-targets 0.48.5",
 ]
 
 [[package]]
 name = "getrandom"
-version = "0.2.9"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4"
+checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
 dependencies = [
  "cfg-if 1.0.0",
  "js-sys",
  "libc",
- "wasi 0.11.0+wasi-snapshot-preview1",
+ "wasi",
  "wasm-bindgen",
 ]
 
 [[package]]
-name = "ghost"
-version = "0.1.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e77ac7b51b8e6313251737fcef4b1c01a2ea102bde68415b62c0ee9268fec357"
-dependencies = [
- "proc-macro2 1.0.56",
- "quote 1.0.26",
- "syn 2.0.15",
-]
-
-[[package]]
 name = "gif"
-version = "0.11.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3edd93c6756b4dfaf2709eafcc345ba2636565295c198a9cfbf75fa5e3e00b06"
-dependencies = [
- "color_quant",
- "weezl",
-]
-
-[[package]]
-name = "gif"
-version = "0.12.0"
+version = "0.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "80792593675e051cf94a4b111980da2ba60d4a83e43e0048c5693baab3977045"
+checksum = "3fb2d69b19215e18bb912fa30f7ce15846e301408695e44e0ef719f1da9e19f2"
 dependencies = [
  "color_quant",
  "weezl",
@@ -1871,9 +1876,9 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
 
 [[package]]
 name = "glow"
-version = "0.11.2"
+version = "0.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d8bd5877156a19b8ac83a29b2306fe20537429d318f3ff0a1a2119f8d9c61919"
+checksum = "bd348e04c43b32574f2de31c8bb397d96c9fcfa1371bd4ca6d8bdc464ab121b1"
 dependencies = [
  "js-sys",
  "slotmap",
@@ -1883,11 +1888,11 @@ dependencies = [
 
 [[package]]
 name = "glutin"
-version = "0.30.7"
+version = "0.31.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f89bab9ec7715de13d5d5402238e66f48e3a5ae636ebb45aba4013c962e2ff15"
+checksum = "18fcd4ae4e86d991ad1300b8f57166e5be0c95ef1f63f3f5b827f8a164548746"
 dependencies = [
- "bitflags",
+ "bitflags 2.5.0",
  "cfg_aliases",
  "cgl",
  "core-foundation",
@@ -1895,30 +1900,43 @@ dependencies = [
  "glutin_egl_sys",
  "glutin_glx_sys",
  "glutin_wgl_sys",
+ "icrate",
  "libloading",
  "objc2",
  "once_cell",
  "raw-window-handle 0.5.2",
- "wayland-sys 0.30.1",
- "windows-sys 0.45.0",
+ "wayland-sys",
+ "windows-sys 0.48.0",
  "x11-dl",
 ]
 
 [[package]]
+name = "glutin-winit"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1ebcdfba24f73b8412c5181e56f092b5eff16671c514ce896b258a0a64bd7735"
+dependencies = [
+ "cfg_aliases",
+ "glutin",
+ "raw-window-handle 0.5.2",
+ "winit",
+]
+
+[[package]]
 name = "glutin_egl_sys"
-version = "0.4.0"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5aaf0abb5c4148685b33101ae326a207946b4d3764d6cdc79f8316cdaa8367d"
+checksum = "77cc5623f5309ef433c3dd4ca1223195347fe62c413da8e2fdd0eb76db2d9bcd"
 dependencies = [
  "gl_generator",
- "windows-sys 0.45.0",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "glutin_glx_sys"
-version = "0.4.0"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b53cb5fe568964aa066a3ba91eac5ecbac869fb0842cd0dc9e412434f1a1494"
+checksum = "a165fd686c10dcc2d45380b35796e577eacfd43d4660ee741ec8ebe2201b3b4f"
 dependencies = [
  "gl_generator",
  "x11-dl",
@@ -1926,9 +1944,9 @@ dependencies = [
 
 [[package]]
 name = "glutin_wgl_sys"
-version = "0.4.0"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef89398e90033fc6bc65e9bd42fd29bbbfd483bda5b56dc5562f455550618165"
+checksum = "6c8098adac955faa2d31079b65dc48841251f69efd3ac25477903fc424362ead"
 dependencies = [
  "gl_generator",
 ]
@@ -1964,10 +1982,11 @@ dependencies = [
 
 [[package]]
 name = "half"
-version = "2.2.1"
+version = "2.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "02b4af3693f1b705df946e9fe5631932443781d0aabb423b62fcd4d73f6d2fd0"
+checksum = "b5eceaaeec696539ddaf7b333340f1af35a5aa87ae3e4f3ead0532f72affab2e"
 dependencies = [
+ "cfg-if 1.0.0",
  "crunchy",
 ]
 
@@ -1978,34 +1997,37 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
 
 [[package]]
+name = "hashbrown"
+version = "0.14.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
+
+[[package]]
 name = "heck"
 version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
 
 [[package]]
-name = "hermit-abi"
-version = "0.1.19"
+name = "heck"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
-dependencies = [
- "libc",
-]
+checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
 
 [[package]]
 name = "hermit-abi"
-version = "0.2.6"
+version = "0.1.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
+checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
 dependencies = [
  "libc",
 ]
 
 [[package]]
 name = "hermit-abi"
-version = "0.3.1"
+version = "0.3.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286"
+checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
 
 [[package]]
 name = "hex"
@@ -2014,14 +2036,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
 
 [[package]]
+name = "home"
+version = "0.5.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5"
+dependencies = [
+ "windows-sys 0.52.0",
+]
+
+[[package]]
 name = "http_req"
-version = "0.9.1"
+version = "0.9.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5825a38a94c3aff23ea7f60572726829ef055ca02fc64899c3e2e7db2ce4f03f"
+checksum = "42ce34c74ec562d68f2c23a532c62c1332ff1d1b6147fd118bd1938e090137d0"
 dependencies = [
  "rustls 0.19.1",
  "unicase",
- "webpki 0.21.4",
+ "webpki",
  "webpki-roots 0.21.1",
 ]
 
@@ -2033,26 +2064,36 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
 
 [[package]]
 name = "iana-time-zone"
-version = "0.1.56"
+version = "0.1.60"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0722cd7114b7de04316e7ea5456a0bbb20e4adb46fd27a3697adb812cff0f37c"
+checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141"
 dependencies = [
  "android_system_properties",
  "core-foundation-sys",
  "iana-time-zone-haiku",
  "js-sys",
  "wasm-bindgen",
- "windows 0.48.0",
+ "windows-core",
 ]
 
 [[package]]
 name = "iana-time-zone-haiku"
-version = "0.1.1"
+version = "0.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca"
+checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
 dependencies = [
- "cxx",
- "cxx-build",
+ "cc",
+]
+
+[[package]]
+name = "icrate"
+version = "0.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "99d3aaff8a54577104bafdf686ff18565c3b6903ca5782a2026ef06e2c7aa319"
+dependencies = [
+ "block2",
+ "dispatch",
+ "objc2",
 ]
 
 [[package]]
@@ -2063,9 +2104,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
 
 [[package]]
 name = "idna"
-version = "0.3.0"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6"
+checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
 dependencies = [
  "unicode-bidi",
  "unicode-normalization",
@@ -2073,17 +2114,16 @@ dependencies = [
 
 [[package]]
 name = "image"
-version = "0.24.6"
+version = "0.24.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "527909aa81e20ac3a44803521443a765550f09b5130c2c2fa1ea59c2f8f50a3a"
+checksum = "5690139d2f55868e080017335e4b94cb7414274c74f1669c84fb5feba2c9f69d"
 dependencies = [
  "bytemuck",
  "byteorder",
  "color_quant",
  "exr",
- "gif 0.12.0",
- "jpeg-decoder 0.3.0",
- "num-rational",
+ "gif",
+ "jpeg-decoder",
  "num-traits",
  "png",
  "qoi",
@@ -2091,6 +2131,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "imagesize"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "029d73f573d8e8d63e6d5020011d3255b28c3ba85d6cf870a07184ed23de9284"
+
+[[package]]
 name = "include-flate"
 version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2109,8 +2155,8 @@ checksum = "3a7d6e1419fa3129eb0802b4c99603c0d425c79fb5d76191d5a20d0ab0d664e8"
 dependencies = [
  "libflate",
  "proc-macro-hack",
- "proc-macro2 1.0.56",
- "quote 1.0.26",
+ "proc-macro2 1.0.79",
+ "quote 1.0.35",
  "syn 1.0.109",
 ]
 
@@ -2131,7 +2177,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
 dependencies = [
  "autocfg",
- "hashbrown",
+ "hashbrown 0.12.3",
+ "serde",
+]
+
+[[package]]
+name = "indexmap"
+version = "2.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26"
+dependencies = [
+ "equivalent",
+ "hashbrown 0.14.3",
  "serde",
 ]
 
@@ -2142,42 +2199,34 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
 dependencies = [
  "cfg-if 1.0.0",
- "js-sys",
- "wasm-bindgen",
- "web-sys",
 ]
 
 [[package]]
 name = "inventory"
-version = "0.3.5"
+version = "0.3.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7741301a6d6a9b28ce77c0fb77a4eb116b6bc8f3bef09923f7743d059c4157d3"
-dependencies = [
- "ctor",
- "ghost",
-]
+checksum = "f958d3d68f4167080a18141e10381e7634563984a537f2a49a30fd8e53ac5767"
 
 [[package]]
 name = "io-lifetimes"
-version = "1.0.10"
+version = "1.0.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c66c74d2ae7e79a5a8f7ac924adbe38ee42a859c6539ad869eb51f0b52dc220"
+checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
 dependencies = [
- "hermit-abi 0.3.1",
+ "hermit-abi 0.3.9",
  "libc",
  "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "is-terminal"
-version = "0.4.7"
+version = "0.4.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f"
+checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b"
 dependencies = [
- "hermit-abi 0.3.1",
- "io-lifetimes",
- "rustix",
- "windows-sys 0.48.0",
+ "hermit-abi 0.3.9",
+ "libc",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -2191,9 +2240,9 @@ dependencies = [
 
 [[package]]
 name = "itoa"
-version = "1.0.6"
+version = "1.0.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6"
+checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
 
 [[package]]
 name = "jni"
@@ -2219,9 +2268,9 @@ checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130"
 
 [[package]]
 name = "jobserver"
-version = "0.1.26"
+version = "0.1.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2"
+checksum = "ab46a6e9526ddef3ae7f787c06f0f2600639ba80ea3eade3d8e670a2230f51d6"
 dependencies = [
  "libc",
 ]
@@ -2234,30 +2283,18 @@ checksum = "0de046f45ca45d4526a5d340223c0e03cef1f06457bee78a523d5ce55894ac0a"
 
 [[package]]
 name = "jpeg-decoder"
-version = "0.1.22"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "229d53d58899083193af11e15917b5640cd40b29ff475a1fe4ef725deb02d0f2"
-
-[[package]]
-name = "jpeg-decoder"
-version = "0.2.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9478aa10f73e7528198d75109c8be5cd7d15fb530238040148d5f9a22d4c5b3b"
-
-[[package]]
-name = "jpeg-decoder"
-version = "0.3.0"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc0000e42512c92e31c2252315bda326620a4e034105e900c98ec492fa077b3e"
+checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0"
 dependencies = [
  "rayon",
 ]
 
 [[package]]
 name = "js-sys"
-version = "0.3.61"
+version = "0.3.69"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730"
+checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d"
 dependencies = [
  "wasm-bindgen",
 ]
@@ -2273,16 +2310,6 @@ dependencies = [
 
 [[package]]
 name = "jwalk"
-version = "0.6.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5dbcda57db8b6dc067e589628b7348639014e793d9e8137d8cf215e8b133a0bd"
-dependencies = [
- "crossbeam",
- "rayon",
-]
-
-[[package]]
-name = "jwalk"
 version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2735847566356cd2179a2a38264839308f7079fa96e6bd5a42d740460e003c56"
@@ -2299,12 +2326,11 @@ checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc"
 
 [[package]]
 name = "kurbo"
-version = "0.8.3"
+version = "0.9.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a53776d271cfb873b17c618af0298445c88afc52837f3e948fa3fafd131f449"
+checksum = "bd85a5776cd9500c2e2059c8c76c3b01528566b7fcbaf8098b55a33fc298849b"
 dependencies = [
- "arrayvec 0.7.2",
- "serde",
+ "arrayvec",
 ]
 
 [[package]]
@@ -2435,15 +2461,15 @@ dependencies = [
 
 [[package]]
 name = "libc"
-version = "0.2.142"
+version = "0.2.153"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a987beff54b60ffa6d51982e1aa1146bc42f19bd26be28b0586f252fccf5317"
+checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
 
 [[package]]
 name = "libflate"
-version = "1.3.0"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97822bf791bd4d5b403713886a5fbe8bf49520fe78e323b0dc480ca1a03e50b0"
+checksum = "5ff4ae71b685bbad2f2f391fe74f6b7659a34871c08b210fdc039e43bee07d18"
 dependencies = [
  "adler32",
  "crc32fast",
@@ -2461,25 +2487,47 @@ dependencies = [
 
 [[package]]
 name = "libloading"
-version = "0.7.4"
+version = "0.8.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f"
+checksum = "0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19"
 dependencies = [
  "cfg-if 1.0.0",
- "winapi",
+ "windows-targets 0.52.4",
 ]
 
 [[package]]
 name = "libmimalloc-sys"
-version = "0.1.33"
+version = "0.1.35"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4ac0e912c8ef1b735e92369695618dc5b1819f5a7bf3f167301a3ba1cea515e"
+checksum = "3979b5c37ece694f1f5e51e7ecc871fdb0f517ed04ee45f88d15d6d553cb9664"
 dependencies = [
  "cc",
  "libc",
 ]
 
 [[package]]
+name = "libredox"
+version = "0.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8"
+dependencies = [
+ "bitflags 2.5.0",
+ "libc",
+ "redox_syscall 0.4.1",
+]
+
+[[package]]
+name = "libredox"
+version = "0.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3af92c55d7d839293953fcd0fda5ecfe93297cfde6ffbdec13b41d99c0ba6607"
+dependencies = [
+ "bitflags 2.5.0",
+ "libc",
+ "redox_syscall 0.4.1",
+]
+
+[[package]]
 name = "lighter"
 version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2495,16 +2543,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "38ce0407b25ce2ba0e9ff4ec2cf60c2b499da0658fe6b6745fb85dfbb56fae12"
 dependencies = [
  "proc-macro-crate",
- "proc-macro2 1.0.56",
- "quote 1.0.26",
+ "proc-macro2 1.0.79",
+ "quote 1.0.35",
  "syn 1.0.109",
 ]
 
 [[package]]
 name = "link-cplusplus"
-version = "1.0.8"
+version = "1.0.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5"
+checksum = "9d240c6f7e1ba3a28b0249f774e6a9dd0175054b52dfbb61b16eb8505c3785c9"
 dependencies = [
  "cc",
 ]
@@ -2517,15 +2565,27 @@ checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.3.6"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.4.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
+
+[[package]]
+name = "litrs"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b64f40e5e03e0d54f03845c8197d0291253cdbedfb1cb46b13c2c117554a9f4c"
+checksum = "b4ce301924b7887e9d637144fdade93f9dfff9b60981d4ac161db09720d39aa5"
 
 [[package]]
 name = "lock_api"
-version = "0.4.9"
+version = "0.4.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
+checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
 dependencies = [
  "autocfg",
  "scopeguard",
@@ -2534,27 +2594,24 @@ dependencies = [
 
 [[package]]
 name = "log"
-version = "0.4.17"
+version = "0.4.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
-dependencies = [
- "cfg-if 1.0.0",
-]
+checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
 
 [[package]]
 name = "lzma-rust"
-version = "0.1.1"
+version = "0.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "808dc37ccba979c213304880eadaab444bb522a5fe79acca9e90ec62377125c2"
+checksum = "7f798132166cc040cb70dbab4ccbb89643a6966a4ac33f0b312e76a8238673a5"
 dependencies = [
  "byteorder",
 ]
 
 [[package]]
 name = "mach2"
-version = "0.4.1"
+version = "0.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d0d1830bcd151a6fc4aea1369af235b36c1528fe976b8ff678683c9995eade8"
+checksum = "19b955cdeb2a02b9117f121ce63aa52d08ade45de53e48fe6a38b39c10f6f709"
 dependencies = [
  "libc",
 ]
@@ -2569,22 +2626,16 @@ dependencies = [
 ]
 
 [[package]]
-name = "matches"
-version = "0.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5"
-
-[[package]]
 name = "memchr"
-version = "2.5.0"
+version = "2.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d"
 
 [[package]]
 name = "memmap2"
-version = "0.5.10"
+version = "0.9.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327"
+checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322"
 dependencies = [
  "libc",
 ]
@@ -2600,23 +2651,39 @@ dependencies = [
 
 [[package]]
 name = "memoffset"
-version = "0.8.0"
+version = "0.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1"
+checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a"
 dependencies = [
  "autocfg",
 ]
 
 [[package]]
 name = "mimalloc"
-version = "0.1.37"
+version = "0.1.39"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4e2894987a3459f3ffb755608bd82188f8ed00d0ae077f1edea29c068d639d98"
+checksum = "fa01922b5ea280a911e323e4d2fd24b7fe5cc4042e0d2cda3c40775cdc4bdc9c"
 dependencies = [
  "libmimalloc-sys",
 ]
 
 [[package]]
+name = "mime"
+version = "0.3.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
+
+[[package]]
+name = "mime_guess2"
+version = "2.0.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "25a3333bb1609500601edc766a39b4c1772874a4ce26022f4d866854dc020c41"
+dependencies = [
+ "mime",
+ "unicase",
+]
+
+[[package]]
 name = "minicbor"
 version = "0.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2631,8 +2698,8 @@ version = "0.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8608fb1c805b5b6b3d5ab7bd95c40c396df622b64d77b2d621a5eae1eed050ee"
 dependencies = [
- "proc-macro2 1.0.56",
- "quote 1.0.26",
+ "proc-macro2 1.0.79",
+ "quote 1.0.35",
  "syn 1.0.109",
 ]
 
@@ -2647,49 +2714,22 @@ dependencies = [
 ]
 
 [[package]]
-name = "minimal-lexical"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
-
-[[package]]
-name = "miniz_oxide"
-version = "0.6.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa"
-dependencies = [
- "adler",
-]
-
-[[package]]
 name = "miniz_oxide"
-version = "0.7.1"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
+checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7"
 dependencies = [
  "adler",
  "simd-adler32",
 ]
 
 [[package]]
-name = "mio"
-version = "0.8.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9"
-dependencies = [
- "libc",
- "log",
- "wasi 0.11.0+wasi-snapshot-preview1",
- "windows-sys 0.45.0",
-]
-
-[[package]]
 name = "mmap-rs"
 version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "07e0a1864d403b362a53630123b970d4c59074a225002955b781d95a1a831631"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "combine",
  "libc",
  "mach2",
@@ -2702,9 +2742,9 @@ dependencies = [
 
 [[package]]
 name = "moka"
-version = "0.10.2"
+version = "0.10.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e0d3b8e76a2e4b17de765db9432e377a171c42fbe0512b8bc860ff1bfe2e273b"
+checksum = "0be0a3dd6fe7c99233c2b1476e703147fb7516c68dce585b19b51efc08fe93d8"
 dependencies = [
  "crossbeam-channel",
  "crossbeam-epoch",
@@ -2742,7 +2782,7 @@ dependencies = [
  "byteordered",
  "clap",
  "glob",
- "indexmap",
+ "indexmap 1.9.3",
  "msbt",
  "rayon",
  "serde",
@@ -2761,15 +2801,17 @@ dependencies = [
 
 [[package]]
 name = "ndk"
-version = "0.7.0"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "451422b7e4718271c8b5b3aadf5adedba43dc76312454b387e98fae0fc951aa0"
+checksum = "2076a31b7010b17a38c01907c45b945e8f11495ee4dd588309718901b1f7a5b7"
 dependencies = [
- "bitflags",
+ "bitflags 2.5.0",
  "jni-sys",
+ "log",
  "ndk-sys",
  "num_enum",
  "raw-window-handle 0.5.2",
+ "raw-window-handle 0.6.0",
  "thiserror",
 ]
 
@@ -2780,39 +2822,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b"
 
 [[package]]
-name = "ndk-glue"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0434fabdd2c15e0aab768ca31d5b7b333717f03cf02037d5a0a3ff3c278ed67f"
-dependencies = [
- "libc",
- "log",
- "ndk",
- "ndk-context",
- "ndk-macro",
- "ndk-sys",
- "once_cell",
- "parking_lot",
-]
-
-[[package]]
-name = "ndk-macro"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0df7ac00c4672f9d5aece54ee3347520b7e20f158656c7db2e6de01902eb7a6c"
-dependencies = [
- "darling 0.13.4",
- "proc-macro-crate",
- "proc-macro2 1.0.56",
- "quote 1.0.26",
- "syn 1.0.109",
-]
-
-[[package]]
 name = "ndk-sys"
-version = "0.4.1+23.1.7779620"
+version = "0.5.0+25.2.9519653"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3cf2aae958bd232cac5069850591667ad422d263686d75b52a065f9badeee5a3"
+checksum = "8c196769dd60fd4f363e11d948139556a344e79d451aeb2fa2fd040738ef7691"
 dependencies = [
  "jni-sys",
 ]
@@ -2823,20 +2836,7 @@ version = "0.24.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069"
 dependencies = [
- "bitflags",
- "cfg-if 1.0.0",
- "libc",
- "memoffset 0.6.5",
-]
-
-[[package]]
-name = "nix"
-version = "0.25.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f346ff70e7dbfd675fe90590b92d59ef2de15a8779ae305ebcbfd3f0caf59be4"
-dependencies = [
- "autocfg",
- "bitflags",
+ "bitflags 1.3.2",
  "cfg-if 1.0.0",
  "libc",
  "memoffset 0.6.5",
@@ -2844,14 +2844,13 @@ dependencies = [
 
 [[package]]
 name = "nix"
-version = "0.26.2"
+version = "0.26.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a"
+checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "cfg-if 1.0.0",
  "libc",
- "static_assertions",
 ]
 
 [[package]]
@@ -2861,83 +2860,77 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451"
 
 [[package]]
-name = "nom"
-version = "7.1.3"
+name = "normpath"
+version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
+checksum = "5831952a9476f2fed74b77d74182fa5ddc4d21c72ec45a333b250e3ed0272804"
 dependencies = [
- "memchr",
- "minimal-lexical",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
-name = "normpath"
-version = "1.1.1"
+name = "nt-time"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec60c60a693226186f5d6edf073232bfb6464ed97eb22cf3b01c1e8198fd97f5"
+checksum = "91dd7a30dbf611fc3c790404c9ef8e1631971a9dd020a45905c7685727e9cf43"
 dependencies = [
- "windows-sys 0.48.0",
+ "chrono",
+ "time",
 ]
 
 [[package]]
-name = "num-integer"
-version = "0.1.45"
+name = "num-conv"
+version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
-dependencies = [
- "autocfg",
- "num-traits",
-]
+checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
 
 [[package]]
-name = "num-rational"
-version = "0.4.1"
+name = "num-integer"
+version = "0.1.46"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0"
+checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f"
 dependencies = [
- "autocfg",
- "num-integer",
  "num-traits",
 ]
 
 [[package]]
 name = "num-traits"
-version = "0.2.15"
+version = "0.2.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
+checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a"
 dependencies = [
  "autocfg",
 ]
 
 [[package]]
 name = "num_cpus"
-version = "1.15.0"
+version = "1.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b"
+checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
 dependencies = [
- "hermit-abi 0.2.6",
+ "hermit-abi 0.3.9",
  "libc",
 ]
 
 [[package]]
 name = "num_enum"
-version = "0.5.11"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9"
+checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845"
 dependencies = [
  "num_enum_derive",
 ]
 
 [[package]]
 name = "num_enum_derive"
-version = "0.5.11"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799"
+checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b"
 dependencies = [
  "proc-macro-crate",
- "proc-macro2 1.0.56",
- "quote 1.0.26",
- "syn 1.0.109",
+ "proc-macro2 1.0.79",
+ "quote 1.0.35",
+ "syn 2.0.55",
 ]
 
 [[package]]
@@ -2962,29 +2955,25 @@ dependencies = [
 
 [[package]]
 name = "objc-sys"
-version = "0.2.0-beta.2"
+version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df3b9834c1e95694a05a828b59f55fa2afec6288359cda67146126b3f90a55d7"
+checksum = "c7c71324e4180d0899963fc83d9d241ac39e699609fc1025a850aadac8257459"
 
 [[package]]
 name = "objc2"
-version = "0.3.0-beta.3.patch-leaks.3"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e01640f9f2cb1220bbe80325e179e532cb3379ebcd1bf2279d703c19fe3a468"
+checksum = "559c5a40fdd30eb5e344fbceacf7595a81e242529fb4e21cf5f43fb4f11ff98d"
 dependencies = [
- "block2",
  "objc-sys",
  "objc2-encode",
 ]
 
 [[package]]
 name = "objc2-encode"
-version = "2.0.0-pre.2"
+version = "3.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abfcac41015b00a120608fdaa6938c44cb983fee294351cc4bac7638b4e50512"
-dependencies = [
- "objc-sys",
-]
+checksum = "d079845b37af429bfe5dfa76e6d087d788031045b25cfc6fd898486fd9847666"
 
 [[package]]
 name = "objc_id"
@@ -2997,15 +2986,15 @@ dependencies = [
 
 [[package]]
 name = "once_cell"
-version = "1.17.1"
+version = "1.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
 
 [[package]]
 name = "opaque-debug"
-version = "0.3.0"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
+checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381"
 
 [[package]]
 name = "open"
@@ -3018,6 +3007,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "orbclient"
+version = "0.3.47"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "52f0d54bde9774d3a51dcf281a5def240c71996bc6ca05d2c847ec8b2b216166"
+dependencies = [
+ "libredox 0.0.2",
+]
+
+[[package]]
 name = "ouroboros"
 version = "0.15.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3035,18 +3033,18 @@ checksum = "5f7d21ccd03305a674437ee1248f3ab5d4b1db095cf1caf49f1713ddf61956b7"
 dependencies = [
  "Inflector",
  "proc-macro-error",
- "proc-macro2 1.0.56",
- "quote 1.0.26",
+ "proc-macro2 1.0.79",
+ "quote 1.0.35",
  "syn 1.0.109",
 ]
 
 [[package]]
 name = "owned_ttf_parser"
-version = "0.19.0"
+version = "0.20.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "706de7e2214113d63a8238d1910463cfce781129a6f263d13fdb09ff64355ba4"
+checksum = "d4586edfe4c648c71797a74c84bacb32b52b212eff5dfe2bb9f2c599844023e7"
 dependencies = [
- "ttf-parser 0.19.0",
+ "ttf-parser",
 ]
 
 [[package]]
@@ -3069,9 +3067,9 @@ dependencies = [
 
 [[package]]
 name = "parking"
-version = "2.1.0"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14f2252c834a40ed9bb5422029649578e63aa341ac401f74e719dd1afda8394e"
+checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae"
 
 [[package]]
 name = "parking_lot"
@@ -3085,18 +3083,24 @@ dependencies = [
 
 [[package]]
 name = "parking_lot_core"
-version = "0.9.7"
+version = "0.9.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521"
+checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
 dependencies = [
  "cfg-if 1.0.0",
  "libc",
- "redox_syscall 0.2.16",
+ "redox_syscall 0.4.1",
  "smallvec",
- "windows-sys 0.45.0",
+ "windows-targets 0.48.5",
 ]
 
 [[package]]
+name = "paste"
+version = "1.0.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
+
+[[package]]
 name = "path-slash"
 version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3110,15 +3114,15 @@ checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd"
 
 [[package]]
 name = "percent-encoding"
-version = "2.2.0"
+version = "2.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
+checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
 
 [[package]]
 name = "phf"
-version = "0.11.1"
+version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "928c6535de93548188ef63bb7c4036bd415cd8f36ad25af44b9789b2ee72a48c"
+checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc"
 dependencies = [
  "phf_macros",
  "phf_shared",
@@ -3126,9 +3130,9 @@ dependencies = [
 
 [[package]]
 name = "phf_generator"
-version = "0.11.1"
+version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1181c94580fa345f50f19d738aaa39c0ed30a600d95cb2d3e23f94266f14fbf"
+checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0"
 dependencies = [
  "phf_shared",
  "rand",
@@ -3136,63 +3140,37 @@ dependencies = [
 
 [[package]]
 name = "phf_macros"
-version = "0.11.1"
+version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "92aacdc5f16768709a569e913f7451034034178b05bdc8acda226659a3dccc66"
+checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b"
 dependencies = [
  "phf_generator",
  "phf_shared",
- "proc-macro2 1.0.56",
- "quote 1.0.26",
- "syn 1.0.109",
+ "proc-macro2 1.0.79",
+ "quote 1.0.35",
+ "syn 2.0.55",
 ]
 
 [[package]]
 name = "phf_shared"
-version = "0.11.1"
+version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1fb5f6f826b772a8d4c0394209441e7d37cbbb967ae9c7e0e8134365c9ee676"
+checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b"
 dependencies = [
  "siphasher",
 ]
 
 [[package]]
 name = "pico-args"
-version = "0.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db8bcd96cb740d03149cbad5518db9fd87126a10ab519c011893b1754134c468"
-
-[[package]]
-name = "pico-args"
 version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315"
 
 [[package]]
-name = "pin-project"
-version = "1.0.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc"
-dependencies = [
- "pin-project-internal",
-]
-
-[[package]]
-name = "pin-project-internal"
-version = "1.0.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55"
-dependencies = [
- "proc-macro2 1.0.56",
- "quote 1.0.26",
- "syn 1.0.109",
-]
-
-[[package]]
 name = "pin-project-lite"
-version = "0.2.9"
+version = "0.2.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
+checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
 
 [[package]]
 name = "pin-utils"
@@ -3218,21 +3196,21 @@ dependencies = [
 
 [[package]]
 name = "pkg-config"
-version = "0.3.26"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160"
+checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec"
 
 [[package]]
 name = "png"
-version = "0.17.8"
+version = "0.17.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aaeebc51f9e7d2c150d3f3bfeb667f2aa985db5ef1e3d212847bdedb488beeaa"
+checksum = "06e4b0d3d1312775e782c86c91a111aa1f910cbb65e1337f9975b5f9a554b5e1"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "crc32fast",
  "fdeflate",
  "flate2",
- "miniz_oxide 0.7.1",
+ "miniz_oxide",
 ]
 
 [[package]]
@@ -3242,7 +3220,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce"
 dependencies = [
  "autocfg",
- "bitflags",
+ "bitflags 1.3.2",
  "cfg-if 1.0.0",
  "concurrent-queue",
  "libc",
@@ -3252,6 +3230,27 @@ dependencies = [
 ]
 
 [[package]]
+name = "polling"
+version = "3.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e0c976a60b2d7e99d6f229e414670a9b85d13ac305cc6d1e9c134de58c5aaaf6"
+dependencies = [
+ "cfg-if 1.0.0",
+ "concurrent-queue",
+ "hermit-abi 0.3.9",
+ "pin-project-lite",
+ "rustix 0.38.32",
+ "tracing",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "powerfmt"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
+
+[[package]]
 name = "ppv-lite86"
 version = "0.2.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3264,7 +3263,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919"
 dependencies = [
  "once_cell",
- "toml_edit",
+ "toml_edit 0.19.15",
 ]
 
 [[package]]
@@ -3274,8 +3273,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
 dependencies = [
  "proc-macro-error-attr",
- "proc-macro2 1.0.56",
- "quote 1.0.26",
+ "proc-macro2 1.0.79",
+ "quote 1.0.35",
  "syn 1.0.109",
  "version_check",
 ]
@@ -3286,8 +3285,8 @@ version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
 dependencies = [
- "proc-macro2 1.0.56",
- "quote 1.0.26",
+ "proc-macro2 1.0.79",
+ "quote 1.0.35",
  "version_check",
 ]
 
@@ -3308,20 +3307,31 @@ dependencies = [
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.56"
+version = "1.0.79"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435"
+checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e"
 dependencies = [
  "unicode-ident",
 ]
 
 [[package]]
 name = "pulldown-cmark"
-version = "0.9.2"
+version = "0.9.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "57206b407293d2bcd3af849ce869d52068623f19e1b5ff8e8778e3309439682b"
+dependencies = [
+ "bitflags 2.5.0",
+ "memchr",
+ "unicase",
+]
+
+[[package]]
+name = "pulldown-cmark"
+version = "0.10.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d9cc634bc78768157b5cbfe988ffcd1dcba95cd2b2f03a88316c08c6d00ed63"
+checksum = "5f0530d13d87d1f549b66a3e8d0c688952abe5994e204ed62615baaf25dc029c"
 dependencies = [
- "bitflags",
+ "bitflags 2.5.0",
  "memchr",
  "unicase",
 ]
@@ -3337,21 +3347,30 @@ dependencies = [
 
 [[package]]
 name = "quanta"
-version = "0.11.0"
+version = "0.11.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8cc73c42f9314c4bdce450c77e6f09ecbddefbeddb1b5979ded332a3913ded33"
+checksum = "a17e662a7a8291a865152364c20c7abc5e60486ab2001e8ec10b24862de0b9ab"
 dependencies = [
  "crossbeam-utils",
  "libc",
  "mach2",
  "once_cell",
  "raw-cpuid",
- "wasi 0.11.0+wasi-snapshot-preview1",
+ "wasi",
  "web-sys",
  "winapi",
 ]
 
 [[package]]
+name = "quick-xml"
+version = "0.31.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
 name = "quote"
 version = "0.6.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3362,11 +3381,11 @@ dependencies = [
 
 [[package]]
 name = "quote"
-version = "1.0.26"
+version = "1.0.35"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc"
+checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
 dependencies = [
- "proc-macro2 1.0.56",
+ "proc-macro2 1.0.79",
 ]
 
 [[package]]
@@ -3405,29 +3424,26 @@ version = "10.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6c297679cb867470fa8c9f67dbba74a78d78e3e98d7cf2b08d6d71540f797332"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
 ]
 
 [[package]]
 name = "raw-window-handle"
-version = "0.4.3"
+version = "0.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b800beb9b6e7d2df1fe337c9e3d04e3af22a124460fb4c30fcc22c9117cefb41"
-dependencies = [
- "cty",
-]
+checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9"
 
 [[package]]
 name = "raw-window-handle"
-version = "0.5.2"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9"
+checksum = "42a9830a0e1b9fb145ebb365b8bc4ccd75f290f98c0247deafbbe2c75cefb544"
 
 [[package]]
 name = "rayon"
-version = "1.7.0"
+version = "1.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b"
+checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa"
 dependencies = [
  "either",
  "rayon-core",
@@ -3435,73 +3451,77 @@ dependencies = [
 
 [[package]]
 name = "rayon-core"
-version = "1.11.0"
+version = "1.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d"
+checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
 dependencies = [
- "crossbeam-channel",
  "crossbeam-deque",
  "crossbeam-utils",
- "num_cpus",
 ]
 
 [[package]]
 name = "rctree"
-version = "0.4.0"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ae028b272a6e99d9f8260ceefa3caa09300a8d6c8d2b2001316474bc52122e9"
+checksum = "3b42e27ef78c35d3998403c1d26f3efd9e135d3e5121b0a4845cc5cc27547f4f"
 
 [[package]]
 name = "redox_syscall"
-version = "0.2.16"
+version = "0.3.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
+checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
 ]
 
 [[package]]
 name = "redox_syscall"
-version = "0.3.5"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
+checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
 ]
 
 [[package]]
 name = "redox_users"
-version = "0.4.3"
+version = "0.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
+checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4"
 dependencies = [
  "getrandom",
- "redox_syscall 0.2.16",
+ "libredox 0.0.1",
  "thiserror",
 ]
 
 [[package]]
 name = "regex"
-version = "1.8.1"
+version = "1.10.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af83e617f331cc6ae2da5443c602dfa5af81e517212d9d611a5b3ba1777b5370"
+checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c"
 dependencies = [
  "aho-corasick",
  "memchr",
- "regex-syntax 0.7.1",
+ "regex-automata",
+ "regex-syntax",
 ]
 
 [[package]]
-name = "regex-syntax"
-version = "0.6.29"
+name = "regex-automata"
+version = "0.4.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
+checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
+]
 
 [[package]]
 name = "regex-syntax"
-version = "0.7.1"
+version = "0.8.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a5996294f19bd3aae0453a862ad728f60e6600695733dd5df01da90c54363a3c"
+checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56"
 
 [[package]]
 name = "remove_dir_all"
@@ -3521,44 +3541,23 @@ dependencies = [
 
 [[package]]
 name = "resvg"
-version = "0.20.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d94a32ca845cdda27237a40beba9bd3d3858ac8fc5356eb9442bdeecfe34d9e0"
-dependencies = [
- "jpeg-decoder 0.1.22",
- "log",
- "pico-args 0.4.2",
- "png",
- "rgb",
- "svgfilters",
- "svgtypes",
- "tiny-skia 0.6.6",
- "usvg 0.20.0",
-]
-
-[[package]]
-name = "resvg"
-version = "0.23.0"
+version = "0.37.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "34489194784b86c03c3d688258e2ba73f3c82700ba4673ee2ecad5ae540b9438"
+checksum = "cadccb3d99a9efb8e5e00c16fbb732cbe400db2ec7fc004697ee7d97d86cf1f4"
 dependencies = [
- "gif 0.11.4",
- "jpeg-decoder 0.2.6",
  "log",
- "pico-args 0.5.0",
- "png",
+ "pico-args",
  "rgb",
- "svgfilters",
  "svgtypes",
- "tiny-skia 0.6.6",
- "usvg 0.23.0",
+ "tiny-skia",
+ "usvg",
 ]
 
 [[package]]
 name = "rfd"
-version = "0.11.3"
+version = "0.11.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7cb2988ec50c9bcdb0c012b89643a6094a35a785a37897211ee62e1639342f7b"
+checksum = "4fe664af397d2b6a13a8ba1d172a2b5c87c6c5149039edbf8fa122b98c9ed96f"
 dependencies = [
  "async-io",
  "block",
@@ -3581,9 +3580,9 @@ dependencies = [
 
 [[package]]
 name = "rgb"
-version = "0.8.36"
+version = "0.8.37"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "20ec2d3e3fc7a92ced357df9cebd5a10b6fb2aa1ee797bf7e9ce2f17dffc8f59"
+checksum = "05aaa8004b64fd573fc9d002f4e632d51ad4f026c2b5ba95fcb6c2f32c2c47d8"
 dependencies = [
  "bytemuck",
 ]
@@ -3598,12 +3597,27 @@ dependencies = [
  "libc",
  "once_cell",
  "spin 0.5.2",
- "untrusted",
+ "untrusted 0.7.1",
  "web-sys",
  "winapi",
 ]
 
 [[package]]
+name = "ring"
+version = "0.17.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d"
+dependencies = [
+ "cc",
+ "cfg-if 1.0.0",
+ "getrandom",
+ "libc",
+ "spin 0.9.8",
+ "untrusted 0.9.0",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
 name = "rle-decode-fast"
 version = "1.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3611,16 +3625,39 @@ checksum = "3582f63211428f83597b51b2ddb88e2a91a9d52d12831f9d08f5e624e8977422"
 
 [[package]]
 name = "roead"
-version = "0.23.0"
+version = "0.23.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8d6ee119334dbf298d9c144867d9a6f5475020e3acb2116175cc16867e436941"
+checksum = "f1ec7db39f26fcb9a57e2fcf01fabc31741eda43cf5f2182aed1907cf9dbf487"
 dependencies = [
  "almost",
- "base64 0.21.0",
- "binrw",
+ "binrw 0.11.2",
  "cxx",
  "cxx-build",
- "indexmap",
+ "indexmap 1.9.3",
+ "join_str",
+ "num-integer",
+ "num-traits",
+ "once_cell",
+ "parking_lot",
+ "rustc-hash",
+ "serde",
+ "serde_json",
+ "smartstring",
+ "thiserror",
+]
+
+[[package]]
+name = "roead"
+version = "0.25.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4a6616ebe9a3fe9654846fa1bb04be93de7c5feccf73fa46b4a054b17e5d76eb"
+dependencies = [
+ "almost",
+ "base64 0.22.0",
+ "binrw 0.13.3",
+ "cxx",
+ "cxx-build",
+ "indexmap 2.2.6",
  "join_str",
  "lexical",
  "num-integer",
@@ -3637,32 +3674,30 @@ dependencies = [
 
 [[package]]
 name = "ron"
-version = "0.8.0"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "300a51053b1cb55c80b7a9fde4120726ddf25ca241a1cbb926626f62fb136bff"
+checksum = "b91f7eff05f748767f183df4320a63d6936e9c6107d97c9e6bdd9784f4289c94"
 dependencies = [
- "base64 0.13.1",
- "bitflags",
+ "base64 0.21.7",
+ "bitflags 2.5.0",
  "serde",
+ "serde_derive",
 ]
 
 [[package]]
 name = "roxmltree"
-version = "0.14.1"
+version = "0.18.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "921904a62e410e37e215c40381b7117f830d9d89ba60ab5236170541dd25646b"
+checksum = "862340e351ce1b271a378ec53f304a5558f7db87f3769dc655a8f6ecbb68b302"
 dependencies = [
  "xmlparser",
 ]
 
 [[package]]
 name = "roxmltree"
-version = "0.18.0"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d8f595a457b6b8c6cda66a48503e92ee8d19342f905948f29c383200ec9eb1d8"
-dependencies = [
- "xmlparser",
-]
+checksum = "3cd14fd5e3b777a7422cca79358c57a8f6e3a703d9ac187448d0daf220c2407f"
 
 [[package]]
 name = "rstb"
@@ -3674,7 +3709,7 @@ dependencies = [
  "include-flate",
  "once_cell",
  "phf",
- "roead",
+ "roead 0.23.1",
  "serde",
  "serde_json",
  "thiserror",
@@ -3697,19 +3732,32 @@ dependencies = [
 
 [[package]]
 name = "rustix"
-version = "0.37.18"
+version = "0.37.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8bbfc1d1c7c40c01715f47d71444744a81669ca84e8b63e25a55e169b1f86433"
+checksum = "fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "errno",
  "io-lifetimes",
  "libc",
- "linux-raw-sys",
+ "linux-raw-sys 0.3.8",
  "windows-sys 0.48.0",
 ]
 
 [[package]]
+name = "rustix"
+version = "0.38.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "65e04861e65f21776e67888bfbea442b3642beaa0138fdb1dd7a84a52dffdb89"
+dependencies = [
+ "bitflags 2.5.0",
+ "errno",
+ "libc",
+ "linux-raw-sys 0.4.13",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
 name = "rustls"
 version = "0.19.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3717,81 +3765,60 @@ checksum = "35edb675feee39aec9c99fa5ff985081995a06d594114ae14cbe797ad7b7a6d7"
 dependencies = [
  "base64 0.13.1",
  "log",
- "ring",
- "sct 0.6.1",
- "webpki 0.21.4",
+ "ring 0.16.20",
+ "sct",
+ "webpki",
 ]
 
 [[package]]
 name = "rustls"
-version = "0.20.8"
+version = "0.22.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f"
+checksum = "99008d7ad0bbbea527ec27bddbc0e432c5b87d8175178cee68d2eec9c4a1813c"
 dependencies = [
  "log",
- "ring",
- "sct 0.7.0",
- "webpki 0.22.0",
+ "ring 0.17.8",
+ "rustls-pki-types",
+ "rustls-webpki",
+ "subtle",
+ "zeroize",
 ]
 
 [[package]]
-name = "rustybuzz"
-version = "0.4.0"
+name = "rustls-pki-types"
+version = "1.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44561062e583c4873162861261f16fd1d85fe927c4904d71329a4fe43dc355ef"
-dependencies = [
- "bitflags",
- "bytemuck",
- "smallvec",
- "ttf-parser 0.12.3",
- "unicode-bidi-mirroring",
- "unicode-ccc",
- "unicode-general-category",
- "unicode-script",
-]
+checksum = "ecd36cc4259e3e4514335c4a138c6b43171a8d61d8f5c9348f9fc7529416f247"
 
 [[package]]
-name = "rustybuzz"
-version = "0.5.1"
+name = "rustls-webpki"
+version = "0.102.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a617c811f5c9a7060fe511d35d13bf5b9f0463ce36d63ce666d05779df2b4eba"
+checksum = "faaa0a62740bedb9b2ef5afa303da42764c012f743917351dc9a237ea1663610"
 dependencies = [
- "bitflags",
- "bytemuck",
- "smallvec",
- "ttf-parser 0.15.2",
- "unicode-bidi-mirroring",
- "unicode-ccc",
- "unicode-general-category",
- "unicode-script",
+ "ring 0.17.8",
+ "rustls-pki-types",
+ "untrusted 0.9.0",
 ]
 
 [[package]]
 name = "ryml"
-version = "0.2.0"
+version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d623f90d8843413059c3de3ae7ae1b2e445dba85293247f3494ac97475accfc0"
+checksum = "a31e644dc0e4bc9d0981500f0c9f284bc3dacb50d1239fa2b702256d59c689ab"
 dependencies = [
+ "acid_io",
  "auto-enum",
  "cxx",
  "cxx-build",
- "thiserror",
+ "thiserror-no-std",
 ]
 
 [[package]]
 name = "ryu"
-version = "1.0.13"
+version = "1.0.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041"
-
-[[package]]
-name = "safe_arch"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1ff3d6d9696af502cc3110dacce942840fb06ff4514cad92236ecc455f2ce05"
-dependencies = [
- "bytemuck",
-]
+checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1"
 
 [[package]]
 name = "same-file"
@@ -3825,15 +3852,15 @@ checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294"
 
 [[package]]
 name = "scopeguard"
-version = "1.1.0"
+version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
+checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
 
 [[package]]
 name = "scratch"
-version = "1.0.5"
+version = "1.0.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1792db035ce95be60c3f8853017b3999209281c24e2ba5bc8e59bf97a0c590c1"
+checksum = "a3cf7c11c38cb994f3d40e8a8cde3bbd1f72a435e4c49e85d6553d8312306152"
 
 [[package]]
 name = "sct"
@@ -3841,66 +3868,44 @@ version = "0.6.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b362b83898e0e69f38515b82ee15aa80636befe47c3b6d3d89a911e78fc228ce"
 dependencies = [
- "ring",
- "untrusted",
-]
-
-[[package]]
-name = "sct"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4"
-dependencies = [
- "ring",
- "untrusted",
-]
-
-[[package]]
-name = "sctk-adwaita"
-version = "0.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61270629cc6b4d77ec1907db1033d5c2e1a404c412743621981a871dc9c12339"
-dependencies = [
- "crossfont",
- "log",
- "smithay-client-toolkit",
- "tiny-skia 0.7.0",
+ "ring 0.16.20",
+ "untrusted 0.7.1",
 ]
 
 [[package]]
 name = "semver"
-version = "1.0.17"
+version = "1.0.22"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed"
+checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca"
 dependencies = [
  "serde",
 ]
 
 [[package]]
 name = "serde"
-version = "1.0.160"
+version = "1.0.197"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb2f3770c8bce3bcda7e149193a069a0f4365bda1fa5cd88e03bca26afc1216c"
+checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.160"
+version = "1.0.197"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "291a097c63d8497e00160b166a967a4a79c64f3facdd01cbd7502231688d77df"
+checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
 dependencies = [
- "proc-macro2 1.0.56",
- "quote 1.0.26",
- "syn 2.0.15",
+ "proc-macro2 1.0.79",
+ "quote 1.0.35",
+ "syn 2.0.55",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.96"
+version = "1.0.115"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1"
+checksum = "12dc5c46daa8e9fdf4f5e71b6cf9a53f2487da0e86e55808e2d35539666497dd"
 dependencies = [
  "itoa",
  "ryu",
@@ -3909,39 +3914,41 @@ dependencies = [
 
 [[package]]
 name = "serde_spanned"
-version = "0.6.1"
+version = "0.6.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0efd8caf556a6cebd3b285caf480045fcc1ac04f6bd786b09a6f11af30c4fcf4"
+checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1"
 dependencies = [
  "serde",
 ]
 
 [[package]]
 name = "serde_with"
-version = "3.0.0"
+version = "3.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f02d8aa6e3c385bf084924f660ce2a3a6bd333ba55b35e8590b321f35d88513"
+checksum = "ee80b0e361bbf88fd2f6e242ccd19cfda072cb0faa6ae694ecee08199938569a"
 dependencies = [
- "base64 0.21.0",
+ "base64 0.21.7",
  "chrono",
  "hex",
- "indexmap",
+ "indexmap 1.9.3",
+ "indexmap 2.2.6",
  "serde",
+ "serde_derive",
  "serde_json",
  "serde_with_macros",
- "time 0.3.20",
+ "time",
 ]
 
 [[package]]
 name = "serde_with_macros"
-version = "3.0.0"
+version = "3.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "edc7d5d3932fb12ce722ee5e64dd38c504efba37567f0c402f6ca728c3b8b070"
+checksum = "6561dc161a9224638a31d876ccdfefbc1df91d3f3a8342eddb35f055d48c7655"
 dependencies = [
- "darling 0.20.0",
- "proc-macro2 1.0.56",
- "quote 1.0.26",
- "syn 2.0.15",
+ "darling",
+ "proc-macro2 1.0.79",
+ "quote 1.0.35",
+ "syn 2.0.55",
 ]
 
 [[package]]
@@ -3950,7 +3957,7 @@ version = "0.8.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "578a7433b776b56a35785ed5ce9a7e777ac0598aac5a6dd1b4b18a307c7fc71b"
 dependencies = [
- "indexmap",
+ "indexmap 1.9.3",
  "ryu",
  "serde",
  "yaml-rust",
@@ -3958,11 +3965,11 @@ dependencies = [
 
 [[package]]
 name = "serde_yaml"
-version = "0.9.21"
+version = "0.9.34+deprecated"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9d684e3ec7de3bf5466b32bd75303ac16f0736426e5a4e0d6e489559ce1249c"
+checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47"
 dependencies = [
- "indexmap",
+ "indexmap 2.2.6",
  "itoa",
  "ryu",
  "serde",
@@ -3992,9 +3999,9 @@ dependencies = [
 
 [[package]]
 name = "sevenz-rust"
-version = "0.2.10"
+version = "0.2.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1e99665d02305372743530ff8b84069ea54f4edee8eceb4c92f840e5664c7b3"
+checksum = "0bf83efe73d438a1aad929279a2fc0ff3fb32f841421c09a64f3d04c4d162a23"
 dependencies = [
  "bit-set",
  "byteorder",
@@ -4002,6 +4009,7 @@ dependencies = [
  "filetime_creation",
  "js-sys",
  "lzma-rust",
+ "nt-time",
  "sha2",
  "wasm-bindgen",
 ]
@@ -4021,9 +4029,9 @@ dependencies = [
 
 [[package]]
 name = "simd-adler32"
-version = "0.3.5"
+version = "0.3.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "238abfbb77c1915110ad968465608b68e869e0772622c9656714e73e5a1a522f"
+checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe"
 
 [[package]]
 name = "simplecss"
@@ -4036,9 +4044,9 @@ dependencies = [
 
 [[package]]
 name = "siphasher"
-version = "0.3.10"
+version = "0.3.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de"
+checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d"
 
 [[package]]
 name = "skeptic"
@@ -4050,45 +4058,34 @@ dependencies = [
  "cargo_metadata",
  "error-chain",
  "glob",
- "pulldown-cmark",
+ "pulldown-cmark 0.9.6",
  "tempfile",
  "walkdir",
 ]
 
 [[package]]
 name = "slab"
-version = "0.4.8"
+version = "0.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d"
+checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
 dependencies = [
  "autocfg",
 ]
 
 [[package]]
 name = "slotmap"
-version = "1.0.6"
+version = "1.0.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1e08e261d0e8f5c43123b7adf3e4ca1690d655377ac93a03b2c9d3e98de1342"
+checksum = "dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a"
 dependencies = [
  "version_check",
 ]
 
 [[package]]
 name = "smallvec"
-version = "1.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
-
-[[package]]
-name = "smart-default"
-version = "0.7.1"
+version = "1.13.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0eb01866308440fc64d6c44d9e86c5cc17adfe33c4d6eed55da9145044d0ffc1"
-dependencies = [
- "proc-macro2 1.0.56",
- "quote 1.0.26",
- "syn 2.0.15",
-]
+checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
 
 [[package]]
 name = "smartstring"
@@ -4104,38 +4101,54 @@ dependencies = [
 
 [[package]]
 name = "smithay-client-toolkit"
-version = "0.16.0"
+version = "0.18.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f307c47d32d2715eb2e0ece5589057820e0e5e70d07c247d1063e844e107f454"
+checksum = "922fd3eeab3bd820d76537ce8f582b1cf951eceb5475c28500c7457d9d17f53a"
 dependencies = [
- "bitflags",
+ "bitflags 2.5.0",
  "calloop",
- "dlib",
- "lazy_static",
+ "calloop-wayland-source",
+ "cursor-icon",
+ "libc",
  "log",
  "memmap2",
- "nix 0.24.3",
- "pkg-config",
+ "rustix 0.38.32",
+ "thiserror",
+ "wayland-backend",
  "wayland-client",
+ "wayland-csd-frame",
  "wayland-cursor",
  "wayland-protocols",
+ "wayland-protocols-wlr",
+ "wayland-scanner",
+ "xkeysym",
 ]
 
 [[package]]
 name = "smithay-clipboard"
-version = "0.6.6"
+version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0a345c870a1fae0b1b779085e81b51e614767c239e93503588e54c5b17f4b0e8"
+checksum = "c091e7354ea8059d6ad99eace06dd13ddeedbb0ac72d40a9a6e7ff790525882d"
 dependencies = [
+ "libc",
  "smithay-client-toolkit",
- "wayland-client",
+ "wayland-backend",
+]
+
+[[package]]
+name = "smol_str"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6845563ada680337a52d43bb0b29f396f2d911616f6573012645b9e3d048a49"
+dependencies = [
+ "serde",
 ]
 
 [[package]]
 name = "socket2"
-version = "0.4.9"
+version = "0.4.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662"
+checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d"
 dependencies = [
  "libc",
  "winapi",
@@ -4175,10 +4188,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
 
 [[package]]
-name = "str-buf"
-version = "1.0.6"
+name = "strict-num"
+version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e08d8363704e6c71fc928674353e6b7c23dcea9d82d7012c8faf2a3a025f8d0"
+checksum = "6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731"
+dependencies = [
+ "float-cmp",
+]
 
 [[package]]
 name = "strsim"
@@ -4193,21 +4209,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
 
 [[package]]
-name = "svgfilters"
-version = "0.4.0"
+name = "subtle"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "639abcebc15fdc2df179f37d6f5463d660c1c79cd552c12343a4600827a04bce"
-dependencies = [
- "float-cmp",
- "rgb",
-]
+checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc"
 
 [[package]]
 name = "svgtypes"
-version = "0.8.2"
+version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "22975e8a2bac6a76bb54f898a6b18764633b00e780330f0b689f65afb3975564"
+checksum = "6e44e288cd960318917cbd540340968b90becc8bc81f171345d706e7a89d9d70"
 dependencies = [
+ "kurbo",
  "siphasher",
 ]
 
@@ -4228,36 +4241,35 @@ version = "1.0.109"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
 dependencies = [
- "proc-macro2 1.0.56",
- "quote 1.0.26",
+ "proc-macro2 1.0.79",
+ "quote 1.0.35",
  "unicode-ident",
 ]
 
 [[package]]
 name = "syn"
-version = "2.0.15"
+version = "2.0.55"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a34fcf3e8b60f57e6a14301a2e916d323af98b0ea63c599441eec8558660c822"
+checksum = "002a1b3dbf967edfafc32655d0f377ab0bb7b994aa1d32c8cc7e9b8bf3ebb8f0"
 dependencies = [
- "proc-macro2 1.0.56",
- "quote 1.0.26",
+ "proc-macro2 1.0.79",
+ "quote 1.0.35",
  "unicode-ident",
 ]
 
 [[package]]
 name = "syntect"
-version = "5.0.0"
+version = "5.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c6c454c27d9d7d9a84c7803aaa3c50cd088d2906fe3c6e42da3209aa623576a8"
+checksum = "874dcfa363995604333cf947ae9f751ca3af4522c60886774c4963943b4746b1"
 dependencies = [
  "bincode",
- "bitflags",
+ "bitflags 1.3.2",
  "fancy-regex",
  "flate2",
  "fnv",
- "lazy_static",
  "once_cell",
- "regex-syntax 0.6.29",
+ "regex-syntax",
  "serde",
  "serde_derive",
  "serde_json",
@@ -4268,11 +4280,11 @@ dependencies = [
 
 [[package]]
 name = "sysctl"
-version = "0.5.4"
+version = "0.5.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed66d6a2ccbd656659289bc90767895b7abbdec897a0fc6031aca3ed1cb51d3e"
+checksum = "ec7dddc5f0fee506baf8b9fdb989e242f17e4b11c61dfbb0635b705217199eea"
 dependencies = [
- "bitflags",
+ "bitflags 2.5.0",
  "byteorder",
  "enum-as-inner",
  "libc",
@@ -4282,14 +4294,14 @@ dependencies = [
 
 [[package]]
 name = "system-deps"
-version = "6.0.5"
+version = "6.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d0fe581ad25d11420b873cf9aedaca0419c2b411487b134d4d21065f3d092055"
+checksum = "a3e535eb8dded36d55ec13eddacd30dec501792ff23a0b1682c38601b8cf2349"
 dependencies = [
  "cfg-expr",
- "heck",
+ "heck 0.5.0",
  "pkg-config",
- "toml 0.7.3",
+ "toml 0.8.12",
  "version-compare",
 ]
 
@@ -4301,28 +4313,27 @@ checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417"
 
 [[package]]
 name = "target-lexicon"
-version = "0.12.7"
+version = "0.12.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd1ba337640d60c3e96bc6f0638a939b9c9a7f2c316a1598c279828b3d1dc8c5"
+checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f"
 
 [[package]]
 name = "tempfile"
-version = "3.5.0"
+version = "3.10.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9fbec84f381d5795b08656e4912bec604d162bff9291d6189a78f4c8ab87998"
+checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1"
 dependencies = [
  "cfg-if 1.0.0",
- "fastrand",
- "redox_syscall 0.3.5",
- "rustix",
- "windows-sys 0.45.0",
+ "fastrand 2.0.2",
+ "rustix 0.38.32",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "termcolor"
-version = "1.2.0"
+version = "1.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6"
+checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
 dependencies = [
  "winapi-util",
 ]
@@ -4338,53 +4349,65 @@ dependencies = [
 
 [[package]]
 name = "thiserror"
-version = "1.0.40"
+version = "1.0.58"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac"
+checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.40"
+version = "1.0.58"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f"
+checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7"
 dependencies = [
- "proc-macro2 1.0.56",
- "quote 1.0.26",
- "syn 2.0.15",
+ "proc-macro2 1.0.79",
+ "quote 1.0.35",
+ "syn 2.0.55",
 ]
 
 [[package]]
-name = "tiff"
-version = "0.8.1"
+name = "thiserror-impl-no-std"
+version = "2.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7449334f9ff2baf290d55d73983a7d6fa15e01198faef72af07e2a8db851e471"
+checksum = "58e6318948b519ba6dc2b442a6d0b904ebfb8d411a3ad3e07843615a72249758"
 dependencies = [
- "flate2",
- "jpeg-decoder 0.3.0",
- "weezl",
+ "proc-macro2 1.0.79",
+ "quote 1.0.35",
+ "syn 1.0.109",
 ]
 
 [[package]]
-name = "time"
-version = "0.1.45"
+name = "thiserror-no-std"
+version = "2.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a"
+checksum = "a3ad459d94dd517257cc96add8a43190ee620011bb6e6cdc82dafd97dfafafea"
 dependencies = [
- "libc",
- "wasi 0.10.0+wasi-snapshot-preview1",
- "winapi",
+ "thiserror-impl-no-std",
+]
+
+[[package]]
+name = "tiff"
+version = "0.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba1310fcea54c6a9a4fd1aad794ecc02c31682f6bfbecdf460bf19533eed1e3e"
+dependencies = [
+ "flate2",
+ "jpeg-decoder",
+ "weezl",
 ]
 
 [[package]]
 name = "time"
-version = "0.3.20"
+version = "0.3.34"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd0cbfecb4d19b5ea75bb31ad904eb5b9fa13f21079c3b92017ebdf4999a5890"
+checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749"
 dependencies = [
+ "deranged",
  "itoa",
+ "num-conv",
+ "powerfmt",
  "serde",
  "time-core",
  "time-macros",
@@ -4392,56 +4415,44 @@ dependencies = [
 
 [[package]]
 name = "time-core"
-version = "0.1.0"
+version = "0.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd"
+checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
 
 [[package]]
 name = "time-macros"
-version = "0.2.8"
+version = "0.2.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd80a657e71da814b8e5d60d3374fc6d35045062245d80224748ae522dd76f36"
+checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774"
 dependencies = [
+ "num-conv",
  "time-core",
 ]
 
 [[package]]
 name = "tiny-skia"
-version = "0.6.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d049bfef0eaa2521e75d9ffb5ce86ad54480932ae19b85f78bec6f52c4d30d78"
-dependencies = [
- "arrayref",
- "arrayvec 0.5.2",
- "bytemuck",
- "cfg-if 1.0.0",
- "png",
- "safe_arch",
-]
-
-[[package]]
-name = "tiny-skia"
-version = "0.7.0"
+version = "0.11.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "642680569bb895b16e4b9d181c60be1ed136fa0c9c7f11d004daf053ba89bf82"
+checksum = "83d13394d44dae3207b52a326c0c85a8bf87f1541f23b0d143811088497b09ab"
 dependencies = [
  "arrayref",
- "arrayvec 0.5.2",
+ "arrayvec",
  "bytemuck",
  "cfg-if 1.0.0",
+ "log",
  "png",
- "safe_arch",
  "tiny-skia-path",
 ]
 
 [[package]]
 name = "tiny-skia-path"
-version = "0.7.0"
+version = "0.11.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c114d32f0c2ee43d585367cb013dfaba967ab9f62b90d9af0d696e955e70fa6c"
+checksum = "9c9e7fc0c2e86a30b117d0462aa261b72b7a99b7ebd7deb3a14ceda95c5bdc93"
 dependencies = [
  "arrayref",
  "bytemuck",
+ "strict-num",
 ]
 
 [[package]]
@@ -4470,87 +4481,76 @@ dependencies = [
 
 [[package]]
 name = "toml"
-version = "0.7.3"
+version = "0.8.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b403acf6f2bb0859c93c7f0d967cb4a75a7ac552100f9322faf64dc047669b21"
+checksum = "e9dd1545e8208b4a5af1aa9bbd0b4cf7e9ea08fabc5d0a5c67fcaafa17433aa3"
 dependencies = [
  "serde",
  "serde_spanned",
  "toml_datetime",
- "toml_edit",
+ "toml_edit 0.22.9",
 ]
 
 [[package]]
 name = "toml_datetime"
-version = "0.6.1"
+version = "0.6.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3ab8ed2edee10b50132aed5f331333428b011c99402b5a534154ed15746f9622"
+checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1"
 dependencies = [
  "serde",
 ]
 
 [[package]]
 name = "toml_edit"
-version = "0.19.8"
+version = "0.19.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "239410c8609e8125456927e6707163a3b1fdb40561e4b803bc041f466ccfdc13"
+checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
 dependencies = [
- "indexmap",
+ "indexmap 2.2.6",
+ "toml_datetime",
+ "winnow 0.5.40",
+]
+
+[[package]]
+name = "toml_edit"
+version = "0.22.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e40bb779c5187258fd7aad0eb68cb8706a0a81fa712fbea808ab43c4b8374c4"
+dependencies = [
+ "indexmap 2.2.6",
  "serde",
  "serde_spanned",
  "toml_datetime",
- "winnow",
+ "winnow 0.6.5",
 ]
 
 [[package]]
 name = "tracing"
-version = "0.1.37"
+version = "0.1.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
+checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
 dependencies = [
- "cfg-if 1.0.0",
  "pin-project-lite",
  "tracing-core",
 ]
 
 [[package]]
 name = "tracing-core"
-version = "0.1.30"
+version = "0.1.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a"
-dependencies = [
- "once_cell",
-]
+checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
 
 [[package]]
 name = "triomphe"
-version = "0.1.8"
+version = "0.1.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1ee9bd9239c339d714d657fac840c6d2a4f9c45f4f9ec7b0975113458be78db"
+checksum = "859eb650cfee7434994602c3a68b25d77ad9e68c8a6cd491616ef86661382eb3"
 
 [[package]]
 name = "ttf-parser"
-version = "0.12.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ae2f58a822f08abdaf668897e96a5656fe72f5a9ce66422423e8849384872e6"
-
-[[package]]
-name = "ttf-parser"
-version = "0.15.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b3e06c9b9d80ed6b745c7159c40b311ad2916abb34a49e9be2653b90db0d8dd"
-
-[[package]]
-name = "ttf-parser"
-version = "0.17.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "375812fa44dab6df41c195cd2f7fecb488f6c09fbaafb62807488cefab642bff"
-
-[[package]]
-name = "ttf-parser"
-version = "0.19.0"
+version = "0.20.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44dcf002ae3b32cd25400d6df128c5babec3927cd1eb7ce813cfff20eb6c3746"
+checksum = "17f77d76d837a7830fe1d4f12b7b4ba4192c1888001c7164257e4bc6d21d96b4"
 
 [[package]]
 name = "twox-hash"
@@ -4565,15 +4565,15 @@ dependencies = [
 
 [[package]]
 name = "typenum"
-version = "1.16.0"
+version = "1.17.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
+checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
 
 [[package]]
 name = "typetag"
-version = "0.2.8"
+version = "0.2.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a6898cc6f6a32698cc3e14d5632a14d2b23ed9f7b11e6b8e05ce685990acc22"
+checksum = "661d18414ec032a49ece2d56eee03636e43c4e8d577047ab334c0ba892e29aaf"
 dependencies = [
  "erased-serde",
  "inventory",
@@ -4584,21 +4584,21 @@ dependencies = [
 
 [[package]]
 name = "typetag-impl"
-version = "0.2.8"
+version = "0.2.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c3e1c30cedd24fc597f7d37a721efdbdc2b1acae012c1ef1218f4c7c2c0f3e7"
+checksum = "ac73887f47b9312552aa90ef477927ff014d63d1920ca8037c6c1951eab64bb1"
 dependencies = [
- "proc-macro2 1.0.56",
- "quote 1.0.26",
- "syn 2.0.15",
+ "proc-macro2 1.0.79",
+ "quote 1.0.35",
+ "syn 2.0.55",
 ]
 
 [[package]]
 name = "uk-content"
-version = "0.10.1"
+version = "0.11.1"
 dependencies = [
  "anyhow",
- "indexmap",
+ "indexmap 2.2.6",
  "itertools",
  "join_str",
  "lexical",
@@ -4607,7 +4607,7 @@ dependencies = [
  "mimalloc",
  "minicbor-ser",
  "msyt",
- "roead",
+ "roead 0.25.1",
  "rstb",
  "rustc-hash",
  "serde",
@@ -4625,30 +4625,30 @@ dependencies = [
 name = "uk-content-derive"
 version = "0.1.0"
 dependencies = [
- "proc-macro2 1.0.56",
- "quote 1.0.26",
+ "proc-macro2 1.0.79",
+ "quote 1.0.35",
  "syn 1.0.109",
 ]
 
 [[package]]
 name = "uk-editor"
-version = "0.10.1"
+version = "0.11.1"
 dependencies = [
  "anyhow",
  "eframe",
  "flume",
  "fs-err",
- "jwalk 0.8.1",
+ "jwalk",
  "minicbor-ser",
  "parking_lot",
  "path-slash",
  "rayon",
  "rfd",
- "roead",
+ "roead 0.25.1",
  "ron",
  "serde",
  "serde_json",
- "serde_yaml 0.9.21",
+ "serde_yaml 0.9.34+deprecated",
  "uk-content",
  "uk-manager",
  "uk-mod",
@@ -4659,7 +4659,7 @@ dependencies = [
 
 [[package]]
 name = "uk-manager"
-version = "0.10.1"
+version = "0.11.1"
 dependencies = [
  "anyhow",
  "anyhow_ext",
@@ -4669,21 +4669,21 @@ dependencies = [
  "fs-err",
  "join_str",
  "junction",
- "jwalk 0.8.1",
+ "jwalk",
  "lenient_semver",
  "log",
  "parking_lot",
  "path-slash",
  "rayon",
  "remove_dir_all",
- "roead",
+ "roead 0.25.1",
  "rstb",
  "rustc-hash",
  "sanitise-file-name",
  "serde",
  "serde_json",
  "serde_with",
- "serde_yaml 0.9.21",
+ "serde_yaml 0.9.34+deprecated",
  "sevenz-rust",
  "smartstring",
  "split-iter",
@@ -4697,7 +4697,7 @@ dependencies = [
 
 [[package]]
 name = "uk-mod"
-version = "0.10.1"
+version = "0.11.1"
 dependencies = [
  "anyhow",
  "anyhow_ext",
@@ -4707,9 +4707,9 @@ dependencies = [
  "enum_dispatch",
  "env_logger",
  "fs-err",
- "indexmap",
+ "indexmap 2.2.6",
  "join_str",
- "jwalk 0.8.1",
+ "jwalk",
  "lenient_semver",
  "log",
  "minicbor-ser",
@@ -4719,13 +4719,13 @@ dependencies = [
  "path-slash",
  "piz",
  "rayon",
- "roead",
+ "roead 0.25.1",
  "rstb",
  "sanitise-file-name",
  "serde",
  "serde_json",
  "serde_with",
- "serde_yaml 0.9.21",
+ "serde_yaml 0.9.34+deprecated",
  "smartstring",
  "tempfile",
  "typetag",
@@ -4738,7 +4738,7 @@ dependencies = [
 
 [[package]]
 name = "uk-reader"
-version = "0.10.1"
+version = "0.11.1"
 dependencies = [
  "anyhow",
  "anyhow_ext",
@@ -4750,7 +4750,7 @@ dependencies = [
  "minicbor-ser",
  "moka",
  "parking_lot",
- "roead",
+ "roead 0.25.1",
  "serde",
  "serde_json",
  "smartstring",
@@ -4763,24 +4763,25 @@ dependencies = [
 
 [[package]]
 name = "uk-ui"
-version = "0.10.1"
+version = "0.11.1"
 dependencies = [
  "catppuccin-egui",
  "color-hex",
  "eframe",
  "egui",
+ "egui-aesthetix",
  "egui_dock",
  "egui_extras",
  "font-loader",
  "hex",
- "indexmap",
+ "indexmap 2.2.6",
  "msyt",
  "once_cell",
  "rfd",
- "roead",
+ "roead 0.25.1",
  "rustc-hash",
  "serde",
- "serde_yaml 0.9.21",
+ "serde_yaml 0.9.34+deprecated",
  "smartstring",
  "syntect",
 ]
@@ -4789,21 +4790,21 @@ dependencies = [
 name = "uk-ui-derive"
 version = "0.1.0"
 dependencies = [
- "proc-macro2 1.0.56",
- "quote 1.0.26",
+ "proc-macro2 1.0.79",
+ "quote 1.0.35",
  "syn 1.0.109",
 ]
 
 [[package]]
 name = "uk-util"
-version = "0.10.1"
+version = "0.11.1"
 dependencies = [
  "once_cell",
 ]
 
 [[package]]
 name = "ukmm"
-version = "0.10.1"
+version = "0.11.1"
 dependencies = [
  "anyhow",
  "anyhow_ext",
@@ -4819,7 +4820,7 @@ dependencies = [
  "http_req",
  "image",
  "join_str",
- "jwalk 0.8.1",
+ "jwalk",
  "lenient_semver",
  "log",
  "once_cell",
@@ -4828,11 +4829,11 @@ dependencies = [
  "rayon",
  "remove_dir_all",
  "rfd",
- "roxmltree 0.18.0",
+ "roxmltree 0.18.1",
  "rustc-hash",
  "serde",
  "serde_json",
- "serde_yaml 0.9.21",
+ "serde_yaml 0.9.34+deprecated",
  "smartstring",
  "uk-content",
  "uk-manager",
@@ -4847,69 +4848,45 @@ dependencies = [
 
 [[package]]
 name = "unicase"
-version = "2.6.0"
+version = "2.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6"
+checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89"
 dependencies = [
  "version_check",
 ]
 
 [[package]]
 name = "unicode-bidi"
-version = "0.3.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
-
-[[package]]
-name = "unicode-bidi-mirroring"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56d12260fb92d52f9008be7e4bca09f584780eb2266dc8fecc6a192bec561694"
-
-[[package]]
-name = "unicode-ccc"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc2520efa644f8268dce4dcd3050eaa7fc044fca03961e9998ac7e2e92b77cf1"
-
-[[package]]
-name = "unicode-general-category"
-version = "0.4.0"
+version = "0.3.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "07547e3ee45e28326cc23faac56d44f58f16ab23e413db526debce3b0bfd2742"
+checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75"
 
 [[package]]
 name = "unicode-ident"
-version = "1.0.8"
+version = "1.0.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
 
 [[package]]
 name = "unicode-normalization"
-version = "0.1.22"
+version = "0.1.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
+checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5"
 dependencies = [
  "tinyvec",
 ]
 
 [[package]]
-name = "unicode-script"
-version = "0.5.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d817255e1bed6dfd4ca47258685d14d2bdcfbc64fdc9e3819bd5848057b8ecc"
-
-[[package]]
-name = "unicode-vo"
-version = "0.1.0"
+name = "unicode-segmentation"
+version = "1.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1d386ff53b415b7fe27b50bb44679e2cc4660272694b7b6f3326d8480823a94"
+checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202"
 
 [[package]]
 name = "unicode-width"
-version = "0.1.10"
+version = "0.1.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
+checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"
 
 [[package]]
 name = "unicode-xid"
@@ -4919,9 +4896,9 @@ checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
 
 [[package]]
 name = "unsafe-libyaml"
-version = "0.2.8"
+version = "0.2.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1865806a559042e51ab5414598446a5871b561d21b6764f2eabb0dd481d880a6"
+checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861"
 
 [[package]]
 name = "untrusted"
@@ -4930,26 +4907,33 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
 
 [[package]]
+name = "untrusted"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
+
+[[package]]
 name = "ureq"
-version = "2.6.2"
+version = "2.9.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "338b31dd1314f68f3aabf3ed57ab922df95ffcd902476ca7ba3c4ce7b908c46d"
+checksum = "11f214ce18d8b2cbe84ed3aa6486ed3f5b285cf8d8fbdbce9f3f767a724adc35"
 dependencies = [
- "base64 0.13.1",
+ "base64 0.21.7",
  "flate2",
  "log",
  "once_cell",
- "rustls 0.20.8",
+ "rustls 0.22.3",
+ "rustls-pki-types",
+ "rustls-webpki",
  "url",
- "webpki 0.22.0",
- "webpki-roots 0.22.6",
+ "webpki-roots 0.26.1",
 ]
 
 [[package]]
 name = "url"
-version = "2.3.1"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643"
+checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
 dependencies = [
  "form_urlencoded",
  "idna",
@@ -4958,63 +4942,53 @@ dependencies = [
 
 [[package]]
 name = "usvg"
-version = "0.20.0"
+version = "0.37.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "00f064d38f79ff69e3160e2fba884e4ede897061c15178041a3976371c68cab1"
+checksum = "38b0a51b72ab80ca511d126b77feeeb4fb1e972764653e61feac30adc161a756"
 dependencies = [
- "base64 0.13.1",
- "data-url",
- "flate2",
- "float-cmp",
- "fontdb 0.7.0",
- "kurbo",
+ "base64 0.21.7",
  "log",
- "pico-args 0.4.2",
- "rctree",
- "roxmltree 0.14.1",
- "rustybuzz 0.4.0",
- "simplecss",
- "siphasher",
- "svgtypes",
- "ttf-parser 0.12.3",
- "unicode-bidi",
- "unicode-script",
- "unicode-vo",
+ "pico-args",
+ "usvg-parser",
+ "usvg-tree",
  "xmlwriter",
 ]
 
 [[package]]
-name = "usvg"
-version = "0.23.0"
+name = "usvg-parser"
+version = "0.37.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28a82565b5c96dcbb58c9bdbb6aa3642abd395a6a6b480658532c6f74c3c4b7a"
+checksum = "9bd4e3c291f45d152929a31f0f6c819245e2921bfd01e7bd91201a9af39a2bdc"
 dependencies = [
- "base64 0.13.1",
  "data-url",
  "flate2",
- "float-cmp",
- "fontdb 0.9.3",
+ "imagesize",
  "kurbo",
  "log",
- "pico-args 0.5.0",
- "rctree",
- "roxmltree 0.14.1",
- "rustybuzz 0.5.1",
+ "roxmltree 0.19.0",
  "simplecss",
  "siphasher",
  "svgtypes",
- "ttf-parser 0.15.2",
- "unicode-bidi",
- "unicode-script",
- "unicode-vo",
- "xmlwriter",
+ "usvg-tree",
+]
+
+[[package]]
+name = "usvg-tree"
+version = "0.37.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ee3d202ebdb97a6215604b8f5b4d6ef9024efd623cf2e373a6416ba976ec7d3"
+dependencies = [
+ "rctree",
+ "strict-num",
+ "svgtypes",
+ "tiny-skia-path",
 ]
 
 [[package]]
 name = "uuid"
-version = "1.3.2"
+version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4dad5567ad0cf5b760e5665964bec1b47dfd077ba8a2544b513f3556d3d239a2"
+checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0"
 dependencies = [
  "getrandom",
 ]
@@ -5027,9 +5001,9 @@ checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
 
 [[package]]
 name = "version-compare"
-version = "0.1.1"
+version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "579a42fc0b8e0c63b76519a339be31bed574929511fa53c1a3acae26eb258f29"
+checksum = "852e951cb7832cb45cb1169900d19760cfa39b82bc0ea9c0e5a14ae88411c98b"
 
 [[package]]
 name = "version_check"
@@ -5039,15 +5013,15 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
 
 [[package]]
 name = "waker-fn"
-version = "1.1.0"
+version = "1.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca"
+checksum = "f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690"
 
 [[package]]
 name = "walkdir"
-version = "2.3.3"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698"
+checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
 dependencies = [
  "same-file",
  "winapi-util",
@@ -5055,21 +5029,15 @@ dependencies = [
 
 [[package]]
 name = "wasi"
-version = "0.10.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
-
-[[package]]
-name = "wasi"
 version = "0.11.0+wasi-snapshot-preview1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.84"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b"
+checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8"
 dependencies = [
  "cfg-if 1.0.0",
  "wasm-bindgen-macro",
@@ -5077,24 +5045,24 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.84"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9"
+checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da"
 dependencies = [
  "bumpalo",
  "log",
  "once_cell",
- "proc-macro2 1.0.56",
- "quote 1.0.26",
- "syn 1.0.109",
+ "proc-macro2 1.0.79",
+ "quote 1.0.35",
+ "syn 2.0.55",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-futures"
-version = "0.4.34"
+version = "0.4.42"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454"
+checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0"
 dependencies = [
  "cfg-if 1.0.0",
  "js-sys",
@@ -5104,123 +5072,157 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.84"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5"
+checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726"
 dependencies = [
- "quote 1.0.26",
+ "quote 1.0.35",
  "wasm-bindgen-macro-support",
 ]
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.84"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6"
+checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
 dependencies = [
- "proc-macro2 1.0.56",
- "quote 1.0.26",
- "syn 1.0.109",
+ "proc-macro2 1.0.79",
+ "quote 1.0.35",
+ "syn 2.0.55",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.84"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d"
+checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96"
 
 [[package]]
-name = "wayland-client"
-version = "0.29.5"
+name = "wayland-backend"
+version = "0.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f3b068c05a039c9f755f881dc50f01732214f5685e379829759088967c46715"
+checksum = "9d50fa61ce90d76474c87f5fc002828d81b32677340112b4ef08079a9d459a40"
 dependencies = [
- "bitflags",
+ "cc",
  "downcast-rs",
- "libc",
- "nix 0.24.3",
+ "rustix 0.38.32",
  "scoped-tls",
- "wayland-commons",
+ "smallvec",
+ "wayland-sys",
+]
+
+[[package]]
+name = "wayland-client"
+version = "0.31.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "82fb96ee935c2cea6668ccb470fb7771f6215d1691746c2d896b447a00ad3f1f"
+dependencies = [
+ "bitflags 2.5.0",
+ "rustix 0.38.32",
+ "wayland-backend",
  "wayland-scanner",
- "wayland-sys 0.29.5",
 ]
 
 [[package]]
-name = "wayland-commons"
-version = "0.29.5"
+name = "wayland-csd-frame"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8691f134d584a33a6606d9d717b95c4fa20065605f798a3f350d78dced02a902"
+checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e"
 dependencies = [
- "nix 0.24.3",
- "once_cell",
- "smallvec",
- "wayland-sys 0.29.5",
+ "bitflags 2.5.0",
+ "cursor-icon",
+ "wayland-backend",
 ]
 
 [[package]]
 name = "wayland-cursor"
-version = "0.29.5"
+version = "0.31.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6865c6b66f13d6257bef1cd40cbfe8ef2f150fb8ebbdb1e8e873455931377661"
+checksum = "71ce5fa868dd13d11a0d04c5e2e65726d0897be8de247c0c5a65886e283231ba"
 dependencies = [
- "nix 0.24.3",
+ "rustix 0.38.32",
  "wayland-client",
  "xcursor",
 ]
 
 [[package]]
 name = "wayland-protocols"
-version = "0.29.5"
+version = "0.31.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b950621f9354b322ee817a23474e479b34be96c2e909c14f7bc0100e9a970bc6"
+checksum = "8f81f365b8b4a97f422ac0e8737c438024b5951734506b0e1d775c73030561f4"
 dependencies = [
- "bitflags",
+ "bitflags 2.5.0",
+ "wayland-backend",
  "wayland-client",
- "wayland-commons",
  "wayland-scanner",
 ]
 
 [[package]]
-name = "wayland-scanner"
-version = "0.29.5"
+name = "wayland-protocols-plasma"
+version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f4303d8fa22ab852f789e75a967f0a2cdc430a607751c0499bada3e451cbd53"
+checksum = "23803551115ff9ea9bce586860c5c5a971e360825a0309264102a9495a5ff479"
 dependencies = [
- "proc-macro2 1.0.56",
- "quote 1.0.26",
- "xml-rs",
+ "bitflags 2.5.0",
+ "wayland-backend",
+ "wayland-client",
+ "wayland-protocols",
+ "wayland-scanner",
 ]
 
 [[package]]
-name = "wayland-sys"
-version = "0.29.5"
+name = "wayland-protocols-wlr"
+version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be12ce1a3c39ec7dba25594b97b42cb3195d54953ddb9d3d95a7c3902bc6e9d4"
+checksum = "ad1f61b76b6c2d8742e10f9ba5c3737f6530b4c243132c2a2ccc8aa96fe25cd6"
 dependencies = [
- "dlib",
- "lazy_static",
- "pkg-config",
+ "bitflags 2.5.0",
+ "wayland-backend",
+ "wayland-client",
+ "wayland-protocols",
+ "wayland-scanner",
+]
+
+[[package]]
+name = "wayland-scanner"
+version = "0.31.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "63b3a62929287001986fb58c789dce9b67604a397c15c611ad9f747300b6c283"
+dependencies = [
+ "proc-macro2 1.0.79",
+ "quick-xml",
+ "quote 1.0.35",
 ]
 
 [[package]]
 name = "wayland-sys"
-version = "0.30.1"
+version = "0.31.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96b2a02ac608e07132978689a6f9bf4214949c85998c247abadd4f4129b1aa06"
+checksum = "15a0c8eaff5216d07f226cb7a549159267f3467b289d9a2e52fd3ef5aae2b7af"
 dependencies = [
  "dlib",
- "lazy_static",
  "log",
+ "once_cell",
  "pkg-config",
 ]
 
 [[package]]
 name = "web-sys"
-version = "0.3.61"
+version = "0.3.69"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "web-time"
+version = "0.2.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97"
+checksum = "aa30049b1c872b72c89866d458eae9f20380ab280ffd1b1e18df2d3e2d98cfe0"
 dependencies = [
  "js-sys",
  "wasm-bindgen",
@@ -5228,12 +5230,12 @@ dependencies = [
 
 [[package]]
 name = "webbrowser"
-version = "0.8.9"
+version = "0.8.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b692165700260bbd40fbc5ff23766c03e339fbaca907aeea5cb77bf0a553ca83"
+checksum = "d1b04c569c83a9bb971dd47ec6fd48753315f4bf989b9b04a2e7ca4d7f0dc950"
 dependencies = [
  "core-foundation",
- "dirs",
+ "home",
  "jni",
  "log",
  "ndk-context",
@@ -5249,18 +5251,8 @@ version = "0.21.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b8e38c0608262c46d4a56202ebabdeb094cef7e560ca7a226c6bf055188aa4ea"
 dependencies = [
- "ring",
- "untrusted",
-]
-
-[[package]]
-name = "webpki"
-version = "0.22.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd"
-dependencies = [
- "ring",
- "untrusted",
+ "ring 0.16.20",
+ "untrusted 0.7.1",
 ]
 
 [[package]]
@@ -5269,23 +5261,23 @@ version = "0.21.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "aabe153544e473b775453675851ecc86863d2a81d786d741f6b76778f2a48940"
 dependencies = [
- "webpki 0.21.4",
+ "webpki",
 ]
 
 [[package]]
 name = "webpki-roots"
-version = "0.22.6"
+version = "0.26.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87"
+checksum = "b3de34ae270483955a94f4b21bdaaeb83d508bb84a01435f393818edb0012009"
 dependencies = [
- "webpki 0.22.0",
+ "rustls-pki-types",
 ]
 
 [[package]]
 name = "weezl"
-version = "0.1.7"
+version = "0.1.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb"
+checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082"
 
 [[package]]
 name = "widestring"
@@ -5311,18 +5303,9 @@ 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-wsapoll"
-version = "0.1.1"
+version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44c17110f57155602a80dca10be03852116403c9ff3cd25b079d666f2aa3df6e"
+checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
 dependencies = [
  "winapi",
 ]
@@ -5335,6 +5318,19 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
 
 [[package]]
 name = "windows"
+version = "0.29.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aac7fef12f4b59cd0a29339406cc9203ab44e440ddff6b3f5a41455349fa9cf3"
+dependencies = [
+ "windows_aarch64_msvc 0.29.0",
+ "windows_i686_gnu 0.29.0",
+ "windows_i686_msvc 0.29.0",
+ "windows_x86_64_gnu 0.29.0",
+ "windows_x86_64_msvc 0.29.0",
+]
+
+[[package]]
+name = "windows"
 version = "0.39.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f1c4bd0a50ac6020f65184721f758dba47bb9fbc2133df715ec74a237b26794a"
@@ -5356,25 +5352,12 @@ dependencies = [
 ]
 
 [[package]]
-name = "windows"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
-dependencies = [
- "windows-targets 0.48.0",
-]
-
-[[package]]
-name = "windows-sys"
-version = "0.36.1"
+name = "windows-core"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2"
+checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
 dependencies = [
- "windows_aarch64_msvc 0.36.1",
- "windows_i686_gnu 0.36.1",
- "windows_i686_msvc 0.36.1",
- "windows_x86_64_gnu 0.36.1",
- "windows_x86_64_msvc 0.36.1",
+ "windows-targets 0.52.4",
 ]
 
 [[package]]
@@ -5407,7 +5390,16 @@ version = "0.48.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
 dependencies = [
- "windows-targets 0.48.0",
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets 0.52.4",
 ]
 
 [[package]]
@@ -5427,17 +5419,32 @@ dependencies = [
 
 [[package]]
 name = "windows-targets"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5"
+checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
 dependencies = [
- "windows_aarch64_gnullvm 0.48.0",
- "windows_aarch64_msvc 0.48.0",
- "windows_i686_gnu 0.48.0",
- "windows_i686_msvc 0.48.0",
- "windows_x86_64_gnu 0.48.0",
- "windows_x86_64_gnullvm 0.48.0",
- "windows_x86_64_msvc 0.48.0",
+ "windows_aarch64_gnullvm 0.48.5",
+ "windows_aarch64_msvc 0.48.5",
+ "windows_i686_gnu 0.48.5",
+ "windows_i686_msvc 0.48.5",
+ "windows_x86_64_gnu 0.48.5",
+ "windows_x86_64_gnullvm 0.48.5",
+ "windows_x86_64_msvc 0.48.5",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b"
+dependencies = [
+ "windows_aarch64_gnullvm 0.52.4",
+ "windows_aarch64_msvc 0.52.4",
+ "windows_i686_gnu 0.52.4",
+ "windows_i686_msvc 0.52.4",
+ "windows_x86_64_gnu 0.52.4",
+ "windows_x86_64_gnullvm 0.52.4",
+ "windows_x86_64_msvc 0.52.4",
 ]
 
 [[package]]
@@ -5448,15 +5455,21 @@ checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
 
 [[package]]
 name = "windows_aarch64_gnullvm"
-version = "0.48.0"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
+checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9"
 
 [[package]]
 name = "windows_aarch64_msvc"
-version = "0.36.1"
+version = "0.29.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47"
+checksum = "c3d027175d00b01e0cbeb97d6ab6ebe03b12330a35786cbaca5252b1c4bf5d9b"
 
 [[package]]
 name = "windows_aarch64_msvc"
@@ -5472,15 +5485,21 @@ checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
 
 [[package]]
 name = "windows_aarch64_msvc"
-version = "0.48.0"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
+checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675"
 
 [[package]]
 name = "windows_i686_gnu"
-version = "0.36.1"
+version = "0.29.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6"
+checksum = "8793f59f7b8e8b01eda1a652b2697d87b93097198ae85f823b969ca5b89bba58"
 
 [[package]]
 name = "windows_i686_gnu"
@@ -5496,15 +5515,21 @@ checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
 
 [[package]]
 name = "windows_i686_gnu"
-version = "0.48.0"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
+checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3"
 
 [[package]]
 name = "windows_i686_msvc"
-version = "0.36.1"
+version = "0.29.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024"
+checksum = "8602f6c418b67024be2996c512f5f995de3ba417f4c75af68401ab8756796ae4"
 
 [[package]]
 name = "windows_i686_msvc"
@@ -5520,15 +5545,21 @@ checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
 
 [[package]]
 name = "windows_i686_msvc"
-version = "0.48.0"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
+checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02"
 
 [[package]]
 name = "windows_x86_64_gnu"
-version = "0.36.1"
+version = "0.29.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1"
+checksum = "f3d615f419543e0bd7d2b3323af0d86ff19cbc4f816e6453f36a2c2ce889c354"
 
 [[package]]
 name = "windows_x86_64_gnu"
@@ -5544,9 +5575,15 @@ checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
 
 [[package]]
 name = "windows_x86_64_gnu"
-version = "0.48.0"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
+checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
@@ -5556,15 +5593,21 @@ checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
-version = "0.48.0"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
+checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177"
 
 [[package]]
 name = "windows_x86_64_msvc"
-version = "0.36.1"
+version = "0.29.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680"
+checksum = "11d95421d9ed3672c280884da53201a5c46b7b2765ca6faf34b0d71cf34a3561"
 
 [[package]]
 name = "windows_x86_64_msvc"
@@ -5580,68 +5623,89 @@ checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
 
 [[package]]
 name = "windows_x86_64_msvc"
-version = "0.48.0"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
+checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8"
 
 [[package]]
 name = "winit"
-version = "0.27.5"
+version = "0.29.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb796d6fbd86b2fd896c9471e6f04d39d750076ebe5680a3958f00f5ab97657c"
+checksum = "0d59ad965a635657faf09c8f062badd885748428933dad8e8bdd64064d92e5ca"
 dependencies = [
- "bitflags",
- "cocoa",
+ "ahash",
+ "android-activity",
+ "atomic-waker",
+ "bitflags 2.5.0",
+ "bytemuck",
+ "calloop",
+ "cfg_aliases",
  "core-foundation",
- "core-graphics",
- "dispatch",
- "instant",
+ "core-graphics 0.23.1",
+ "cursor-icon",
+ "icrate",
+ "js-sys",
  "libc",
  "log",
- "mio",
+ "memmap2",
  "ndk",
- "ndk-glue",
- "objc",
+ "ndk-sys",
+ "objc2",
  "once_cell",
- "parking_lot",
+ "orbclient",
  "percent-encoding",
- "raw-window-handle 0.4.3",
  "raw-window-handle 0.5.2",
- "sctk-adwaita",
+ "raw-window-handle 0.6.0",
+ "redox_syscall 0.3.5",
+ "rustix 0.38.32",
  "smithay-client-toolkit",
+ "smol_str",
+ "unicode-segmentation",
  "wasm-bindgen",
+ "wasm-bindgen-futures",
+ "wayland-backend",
  "wayland-client",
  "wayland-protocols",
+ "wayland-protocols-plasma",
  "web-sys",
- "windows-sys 0.36.1",
+ "web-time",
+ "windows-sys 0.48.0",
  "x11-dl",
+ "x11rb",
+ "xkbcommon-dl",
 ]
 
 [[package]]
 name = "winnow"
-version = "0.4.6"
+version = "0.5.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61de7bac303dc551fe038e2b3cef0f571087a47571ea6e79a87692ac99b99699"
+checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876"
 dependencies = [
  "memchr",
 ]
 
 [[package]]
-name = "winres"
-version = "0.1.12"
+name = "winnow"
+version = "0.6.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b68db261ef59e9e52806f688020631e987592bd83619edccda9c47d42cde4f6c"
+checksum = "dffa400e67ed5a4dd237983829e66475f0a4a26938c4b04c21baede6262215b8"
 dependencies = [
- "toml 0.5.11",
+ "memchr",
 ]
 
 [[package]]
-name = "wio"
-version = "0.2.2"
+name = "winres"
+version = "0.1.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d129932f4644ac2396cb456385cbf9e63b5b30c6e8dc4820bdca4eb082037a5"
+checksum = "b68db261ef59e9e52806f688020631e987592bd83619edccda9c47d42cde4f6c"
 dependencies = [
- "winapi",
+ "toml 0.5.11",
 ]
 
 [[package]]
@@ -5657,61 +5721,76 @@ dependencies = [
 
 [[package]]
 name = "x11rb"
-version = "0.10.1"
+version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "592b4883219f345e712b3209c62654ebda0bb50887f330cbd018d0f654bfd507"
+checksum = "f8f25ead8c7e4cba123243a6367da5d3990e0d3affa708ea19dce96356bd9f1a"
 dependencies = [
+ "as-raw-xcb-connection",
  "gethostname",
- "nix 0.24.3",
- "winapi",
- "winapi-wsapoll",
+ "libc",
+ "libloading",
+ "once_cell",
+ "rustix 0.38.32",
  "x11rb-protocol",
 ]
 
 [[package]]
 name = "x11rb-protocol"
-version = "0.10.0"
+version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56b245751c0ac9db0e006dc812031482784e434630205a93c73cfefcaabeac67"
-dependencies = [
- "nix 0.24.3",
-]
+checksum = "e63e71c4b8bd9ffec2c963173a4dc4cbde9ee96961d4fcb4429db9929b606c34"
 
 [[package]]
 name = "xcursor"
-version = "0.3.4"
+version = "0.3.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "463705a63313cd4301184381c5e8042f0a7e9b4bb63653f216311d4ae74690b7"
-dependencies = [
- "nom",
-]
+checksum = "6a0ccd7b4a5345edfcd0c3535718a4e9ff7798ffc536bb5b5a0e26ff84732911"
 
 [[package]]
 name = "xflags"
-version = "0.3.1"
+version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4554b580522d0ca238369c16b8f6ce34524d61dafe7244993754bbd05f2c2ea"
+checksum = "7d9e15fbb3de55454b0106e314b28e671279009b363e6f1d8e39fdc3bf048944"
 dependencies = [
  "xflags-macros",
 ]
 
 [[package]]
 name = "xflags-macros"
-version = "0.3.1"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "672423d4fea7ffa2f6c25ba60031ea13dc6258070556f125cc4d790007d4a155"
+
+[[package]]
+name = "xkbcommon-dl"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d039de8032a9a8856a6be89cea3e5d12fdd82306ab7c94d74e6deab2460651c5"
+dependencies = [
+ "bitflags 2.5.0",
+ "dlib",
+ "log",
+ "once_cell",
+ "xkeysym",
+]
+
+[[package]]
+name = "xkeysym"
+version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f58e7b3ca8977093aae6b87b6a7730216fc4c53a6530bab5c43a783cd810c1a8"
+checksum = "054a8e68b76250b253f671d1268cb7f1ae089ec35e195b2efb2a4e9a836d0621"
 
 [[package]]
 name = "xml-rs"
-version = "0.8.4"
+version = "0.8.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d2d7d3948613f75c98fd9328cfdcc45acc4d360655289d0a7d4ec931392200a3"
+checksum = "0fcb9cbac069e033553e8bb871be2fbdffcab578eb25bd0f7c508cedc6dcd75a"
 
 [[package]]
 name = "xmlparser"
-version = "0.13.5"
+version = "0.13.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4d25c75bf9ea12c4040a97f829154768bbbce366287e2dc044af160cd79a13fd"
+checksum = "66fee0b777b0f5ac1c69bb06d361268faafa61cd4682ae064a171c16c433e9e4"
 
 [[package]]
 name = "xmlwriter"
@@ -5742,10 +5821,36 @@ dependencies = [
 ]
 
 [[package]]
+name = "zerocopy"
+version = "0.7.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be"
+dependencies = [
+ "zerocopy-derive",
+]
+
+[[package]]
+name = "zerocopy-derive"
+version = "0.7.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
+dependencies = [
+ "proc-macro2 1.0.79",
+ "quote 1.0.35",
+ "syn 2.0.55",
+]
+
+[[package]]
+name = "zeroize"
+version = "1.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d"
+
+[[package]]
 name = "zip"
-version = "0.6.4"
+version = "0.6.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0445d0fbc924bb93539b4316c11afb121ea39296f99a3c4c9edad09e3658cdef"
+checksum = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261"
 dependencies = [
  "byteorder",
  "crc32fast",
@@ -5755,31 +5860,29 @@ dependencies = [
 
 [[package]]
 name = "zstd"
-version = "0.12.3+zstd.1.5.2"
+version = "0.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "76eea132fb024e0e13fd9c2f5d5d595d8a967aa72382ac2f9d39fcc95afd0806"
+checksum = "2d789b1514203a1120ad2429eae43a7bd32b90976a7bb8a05f7ec02fa88cc23a"
 dependencies = [
  "zstd-safe",
 ]
 
 [[package]]
 name = "zstd-safe"
-version = "6.0.5+zstd.1.5.4"
+version = "7.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d56d9e60b4b1758206c238a10165fbcae3ca37b01744e394c463463f6529d23b"
+checksum = "1cd99b45c6bc03a018c8b8a86025678c87e55526064e38f9df301989dce7ec0a"
 dependencies = [
- "libc",
  "zstd-sys",
 ]
 
 [[package]]
 name = "zstd-sys"
-version = "2.0.8+zstd.1.5.5"
+version = "2.0.10+zstd.1.5.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5556e6ee25d32df2586c098bbfa278803692a20d0ab9565e049480d52707ec8c"
+checksum = "c253a4914af5bafc8fa8c86ee400827e83cf6ec01195ec1f1ed8441bf00d65aa"
 dependencies = [
  "cc",
- "libc",
  "pkg-config",
 ]
 
diff --git a/pkgs/tools/games/ukmm/default.nix b/pkgs/tools/games/ukmm/default.nix
index 389b7486b8b98..aa5469472d85a 100644
--- a/pkgs/tools/games/ukmm/default.nix
+++ b/pkgs/tools/games/ukmm/default.nix
@@ -4,50 +4,40 @@
 , cmake
 , pkg-config
 , wrapGAppsHook
-, atk
-, glib
-, gtk3-x11
+, libglvnd
 , nix-update-script
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "ukmm";
-  version = "0.10.1";
+  version = "0.11.1";
 
   src = fetchFromGitHub {
     owner = "NiceneNerd";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-suxUiJ++39aJe5XmAqh5sQajLzYoXo06k9mYw9rLU9E=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-yxF08kTA/IhM3LKFH523kVY3QfqwUElz3ICkjKPAo7E=";
   };
 
   cargoLock = {
     lockFile = ./Cargo.lock;
     outputHashes = {
-      "catppuccin-egui-1.0.2" = "sha256-+ILfvDgZxe/QPJuVqIbRjaHNovpRAX+ym2QZ96glb4w=";
-      "ecolor-0.20.0" = "sha256-uTDkNRWsA1nM8Qhb0X2LjVDRuaW31vWxR8kDLL27BVE=";
-      "egui-notify-0.4.0" = "sha256-jybtUnv9xqzulZ5nfg+T1u8iTOsPjKGVVQ7JhwbvPdU=";
-      "egui_commonmark-0.6.0" = "sha256-hsVbtL2F+jifnzN6FgcDAVtLd1bVxTs0twn0SMvq9eU=";
-      "egui_dock-0.2.1" = "sha256-gGIO0boXKxLu0ABDH/uJhEZEoE/ql8E65LRmr0Xhv3s=";
+      "egui-aesthetix-0.2.2" = "sha256-LtrMSnz5KWUrYCe50kgGU98WdPxWlo+U7FtRmxSIeI8=";
       "junction-0.2.0" = "sha256-6+pPp5wG1NoIj16Z+OvO4Pvy0jnQibn/A9cTaHAEVq4=";
       "msbt-0.1.1" = "sha256-PtBs60xgYrwS7yPnRzXpExwYUD3azIaqObRnnJEL5dE=";
       "msyt-1.2.1" = "sha256-aw5whCoQBhO0u9Fx2rTO1sRuPdGnAAlmPWv5q8CbQcI=";
     };
   };
 
-  RUSTC_BOOTSTRAP = true;
-
   nativeBuildInputs = [
     cmake
     pkg-config
     wrapGAppsHook
   ];
 
-  buildInputs = [
-    atk
-    glib
-    gtk3-x11
-  ];
+  preFixup = ''
+    gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libglvnd ]})
+  '';
 
   cargoTestFlags = [
     "--all"
@@ -71,11 +61,11 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     description = "A new mod manager for The Legend of Zelda: Breath of the Wild";
-    mainProgram = "ukmm";
     homepage = "https://github.com/NiceneNerd/ukmm";
     changelog = "https://github.com/NiceneNerd/ukmm/blob/${src.rev}/CHANGELOG.md";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ kira-bruneau ];
     platforms = platforms.linux;
+    mainProgram = "ukmm";
   };
 }
diff --git a/pkgs/tools/graphics/argyllcms/default.nix b/pkgs/tools/graphics/argyllcms/default.nix
index a966b11382aa8..efb77b89a64bf 100644
--- a/pkgs/tools/graphics/argyllcms/default.nix
+++ b/pkgs/tools/graphics/argyllcms/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "argyllcms";
-  version = "3.1.0";
+  version = "3.2.0";
 
   src = fetchzip {
     # Kind of flacky URL, it was reaturning 406 and inconsistent binaries for a
     # while on me. It might be good to find a mirror
     url = "https://www.argyllcms.com/Argyll_V${version}_src.zip";
-    hash = "sha256-IZScf+xpvvMt5YFlYQprg51cw2ztMdOrqcLm7l5uBhU=";
+    hash = "sha256-t2dvbYFHEz9IUYpcM5HqDju4ugHrD7seG3QxumspxDg=";
   };
 
   nativeBuildInputs = [ jam unzip ];
diff --git a/pkgs/tools/graphics/gifski/default.nix b/pkgs/tools/graphics/gifski/default.nix
index 2427027fa2d20..ba2427281528b 100644
--- a/pkgs/tools/graphics/gifski/default.nix
+++ b/pkgs/tools/graphics/gifski/default.nix
@@ -54,7 +54,7 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://gif.ski/";
     changelog = "https://github.com/ImageOptim/gifski/releases/tag/${src.rev}";
     license = licenses.agpl3Plus;
-    maintainers = with maintainers; [ figsoda marsam ];
+    maintainers = with maintainers; [ figsoda ];
     mainProgram = "gifski";
   };
 }
diff --git a/pkgs/tools/graphics/guff/default.nix b/pkgs/tools/graphics/guff/default.nix
index 2ca68376baa27..056b6b58feb44 100644
--- a/pkgs/tools/graphics/guff/default.nix
+++ b/pkgs/tools/graphics/guff/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     description = "A plot device";
     homepage = "https://github.com/silentbicycle/guff";
     license = licenses.isc;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     platforms = platforms.all;
     mainProgram = "guff";
   };
diff --git a/pkgs/tools/graphics/hobbits/default.nix b/pkgs/tools/graphics/hobbits/default.nix
index 78cb959a8fc22..db0f30e846903 100644
--- a/pkgs/tools/graphics/hobbits/default.nix
+++ b/pkgs/tools/graphics/hobbits/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "hobbits";
-  version = "0.54.0";
+  version = "0.54.1";
 
   src = fetchFromGitHub {
     owner = "Mahlet-Inc";
     repo = "hobbits";
     rev = "v${version}";
-    hash = "sha256-zbpYVoWOffMxx2RS5gXw+rpwdxoRutH/yzZqJIc57UU=";
+    hash = "sha256-SbSuw5e2ll/wU5UBV0MOlvCXb4rvPtsE4l8XzRbBiLI=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/graphics/oxipng/default.nix b/pkgs/tools/graphics/oxipng/default.nix
index 23f9692597a3a..4650db3e506d6 100644
--- a/pkgs/tools/graphics/oxipng/default.nix
+++ b/pkgs/tools/graphics/oxipng/default.nix
@@ -1,15 +1,15 @@
 { lib, stdenv, fetchCrate, rustPlatform }:
 
 rustPlatform.buildRustPackage rec {
-  version = "9.0.0";
+  version = "9.1.1";
   pname = "oxipng";
 
   src = fetchCrate {
     inherit version pname;
-    hash = "sha256-1OpSweosYiqtLqCcAw1EsAtBAYVc/VH8kRtVSpmTytM=";
+    hash = "sha256-I+1yQQEzhGApvHxPM8W1wySQtDglGp3V4vkwoTd92EU=";
   };
 
-  cargoHash = "sha256-kPdAfqMNOoQPSdv+VLRDUr6AXGPy47UnldXwvpwKp6s=";
+  cargoHash = "sha256-miXrQVFahz9WYRCduSF5+RSY4j/XNEt8lnSuOohBUFU=";
 
   doCheck = !stdenv.isAarch64 && !stdenv.isDarwin;
 
diff --git a/pkgs/tools/graphics/ploticus/default.nix b/pkgs/tools/graphics/ploticus/default.nix
index ac5855304f4ad..e83c57aa5ca37 100644
--- a/pkgs/tools/graphics/ploticus/default.nix
+++ b/pkgs/tools/graphics/ploticus/default.nix
@@ -50,7 +50,8 @@ stdenv.mkDerivation (finalAttrs: {
   preBuild = ''
     cd src
   '';
-  makeFlags = [ "CC=cc" ];
+
+  makeFlags = [ "CC:=$(CC)" ];
 
   preInstall = ''
     mkdir -p "$out/bin"
@@ -69,7 +70,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   passthru.tests = {
     prefab = runCommand "ploticus-prefab-test" {
-      buildInputs = [ finalAttrs.finalPackage ];
+      nativeBuildInputs = [ finalAttrs.finalPackage ];
     } ''
       # trivial test to see if the prefab path munging works
       mkdir $out/
diff --git a/pkgs/tools/graphics/resvg/default.nix b/pkgs/tools/graphics/resvg/default.nix
index 75fa23a60641e..0839e91f38e6a 100644
--- a/pkgs/tools/graphics/resvg/default.nix
+++ b/pkgs/tools/graphics/resvg/default.nix
@@ -28,7 +28,7 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/RazrFalcon/resvg";
     changelog = "https://github.com/RazrFalcon/resvg/blob/v${version}/CHANGELOG.md";
     license = licenses.mpl20;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     mainProgram = "resvg";
   };
 }
diff --git a/pkgs/tools/graphics/shotgun/default.nix b/pkgs/tools/graphics/shotgun/default.nix
index d2d3c92982f69..eff9924f4fd00 100644
--- a/pkgs/tools/graphics/shotgun/default.nix
+++ b/pkgs/tools/graphics/shotgun/default.nix
@@ -17,7 +17,7 @@ rustPlatform.buildRustPackage rec {
     description = "Minimal X screenshot utility";
     homepage = "https://github.com/neXromancers/shotgun";
     license = with licenses; [ mpl20 ];
-    maintainers = with maintainers; [ figsoda lumi novenary ];
+    maintainers = with maintainers; [ figsoda lumi ];
     platforms = platforms.linux;
     mainProgram = "shotgun";
   };
diff --git a/pkgs/tools/graphics/spirv-cross/default.nix b/pkgs/tools/graphics/spirv-cross/default.nix
index c6aaf73c1eb9d..5f970916049c6 100644
--- a/pkgs/tools/graphics/spirv-cross/default.nix
+++ b/pkgs/tools/graphics/spirv-cross/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation (finalAttrs: {
   meta = with lib; {
     description = "A tool designed for parsing and converting SPIR-V to other shader languages";
     homepage = "https://github.com/KhronosGroup/SPIRV-Cross";
-    changelog = "https://github.com/KhronosGroup/SPIRV-Cross/releases/tag/${version}";
+    changelog = "https://github.com/KhronosGroup/SPIRV-Cross/releases/tag/${finalAttrs.version}";
     platforms = platforms.all;
     license = licenses.asl20;
     maintainers = with maintainers; [ Flakebi ];
diff --git a/pkgs/tools/graphics/svgbob/default.nix b/pkgs/tools/graphics/svgbob/default.nix
index b09d8dee1ab0a..d852e3d17d880 100644
--- a/pkgs/tools/graphics/svgbob/default.nix
+++ b/pkgs/tools/graphics/svgbob/default.nix
@@ -21,7 +21,7 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/ivanceras/svgbob";
     changelog = "https://github.com/ivanceras/svgbob/raw/${version}/Changelog.md";
     license = licenses.asl20;
-    maintainers = [ maintainers.marsam ];
+    maintainers = with maintainers; [ cafkafk ];
     mainProgram = "svgbob";
   };
 }
diff --git a/pkgs/tools/graphics/zbar/default.nix b/pkgs/tools/graphics/zbar/default.nix
index fe398bf533140..e44f46a19a16b 100644
--- a/pkgs/tools/graphics/zbar/default.nix
+++ b/pkgs/tools/graphics/zbar/default.nix
@@ -142,7 +142,7 @@ stdenv.mkDerivation rec {
       EAN-13/UPC-A, UPC-E, EAN-8, Code 128, Code 39, Interleaved 2 of 5 and QR
       Code.
     '';
-    maintainers = with maintainers; [ delroth raskin ];
+    maintainers = with maintainers; [ raskin ];
     platforms = platforms.unix;
     license = licenses.lgpl21;
     homepage = "https://github.com/mchehab/zbar";
diff --git a/pkgs/tools/inputmethods/fcitx5/default.nix b/pkgs/tools/inputmethods/fcitx5/default.nix
index 865134947be5c..a7680189b5088 100644
--- a/pkgs/tools/inputmethods/fcitx5/default.nix
+++ b/pkgs/tools/inputmethods/fcitx5/default.nix
@@ -2,7 +2,6 @@
 , stdenv
 , fetchurl
 , fetchFromGitHub
-, fetchpatch
 , pkg-config
 , cmake
 , extra-cmake-modules
@@ -44,13 +43,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "fcitx5";
-  version = "5.1.8";
+  version = "5.1.9";
 
   src = fetchFromGitHub {
     owner = "fcitx";
     repo = pname;
     rev = version;
-    hash = "sha256-MeknggrpOzpkT1EXZCftIrlevuMEEHM5d8vszKRp+DI=";
+    hash = "sha256-zapkhDM8rrZwJhaafFVsBjjkK/bRJsZqUkq9RyOqV3E=";
   };
 
   prePatch = ''
diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-anthy.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-anthy.nix
index de8e78f62ad1c..afe410f9e2954 100644
--- a/pkgs/tools/inputmethods/fcitx5/fcitx5-anthy.nix
+++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-anthy.nix
@@ -1,15 +1,16 @@
-{ lib, stdenv, fetchurl, cmake, extra-cmake-modules, pkg-config, fcitx5, anthy, gettext }:
+{ lib, stdenv, fetchurl, cmake, extra-cmake-modules, pkg-config, fcitx5, anthy
+, gettext, zstd }:
 
 stdenv.mkDerivation rec {
   pname = "fcitx5-anthy";
-  version = "5.1.3";
+  version = "5.1.4";
 
   src = fetchurl {
-    url = "https://download.fcitx-im.org/fcitx5/fcitx5-anthy/${pname}-${version}.tar.xz";
-    sha256 = "sha256-pOJYe5+/11j8YmuJDyAbFPFsnUa9DQqbYirSwD992zY=";
+    url = "https://download.fcitx-im.org/fcitx5/fcitx5-anthy/${pname}-${version}.tar.zst";
+    hash = "sha256-e0X00plXfRgoSkhTDVJfububin8h+NiGzrnOSIaSa7g=";
   };
 
-  nativeBuildInputs = [ cmake extra-cmake-modules pkg-config ];
+  nativeBuildInputs = [ cmake extra-cmake-modules pkg-config zstd ];
   buildInputs = [ fcitx5 anthy gettext ];
 
   meta = with lib; {
diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-bamboo.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-bamboo.nix
index b8e34332e8ae8..b28254ea3c121 100644
--- a/pkgs/tools/inputmethods/fcitx5/fcitx5-bamboo.nix
+++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-bamboo.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "fcitx5-bamboo";
-  version = "1.0.4";
+  version = "1.0.5";
 
   src = fetchFromGitHub {
     owner = "fcitx";
     repo = "fcitx5-bamboo";
     rev = finalAttrs.version;
-    hash = "sha256-EcpuZN2JU6HSuiQgBPBsoYftdHypiyFlrUxDBlVW6eo=";
+    hash = "sha256-vEc9z7lFqk+LPP5sTzOYgV7u+/mQY2OsaRsTrtcI/EI=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-chewing.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-chewing.nix
index 47d7dfad6bd54..008ec44955a95 100644
--- a/pkgs/tools/inputmethods/fcitx5/fcitx5-chewing.nix
+++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-chewing.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fcitx5-chewing";
-  version = "5.1.1";
+  version = "5.1.3";
 
   src = fetchFromGitHub {
     owner = "fcitx";
     repo = pname;
     rev = version;
-    sha256 = "sha256-boIkbtNLPTNXY9e5gdQklhJuDU36ZswOqY2X8nRKqho=";
+    hash = "sha256-1rbpCniRPP9528qCAohN1o5198vypfWmYgCx8sd+NXU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-chinese-addons.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-chinese-addons.nix
index 4aac06dc1aded..7875e14ec399b 100644
--- a/pkgs/tools/inputmethods/fcitx5/fcitx5-chinese-addons.nix
+++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-chinese-addons.nix
@@ -21,24 +21,24 @@ let
   pyStrokeVer = "20121124";
   pyStroke = fetchurl {
     url = "http://download.fcitx-im.org/data/py_stroke-${pyStrokeVer}.tar.gz";
-    sha256 = "0j72ckmza5d671n2zg0psg7z9iils4gyxz7jgkk54fd4pyljiccf";
+    hash = "sha256-jrEoqb+kOVLmfPL87h/RNMb0z9MXvC9sOKYV9etk4kg=";
   };
   pyTableVer = "20121124";
   pyTable = fetchurl {
     url = "http://download.fcitx-im.org/data/py_table-${pyTableVer}.tar.gz";
-    sha256 = "011cg7wssssm6hm564cwkrrnck2zj5rxi7p9z5akvhg6gp4nl522";
+    hash = "sha256-QhRqyX3mwT1V+eme2HORX0xmc56cEVMqNFVrrfl5LAQ=";
   };
 in
 
 stdenv.mkDerivation rec {
   pname = "fcitx5-chinese-addons";
-  version = "5.1.4";
+  version = "5.1.5";
 
   src = fetchFromGitHub {
     owner = "fcitx";
     repo = pname;
     rev = version;
-    sha256 = "sha256-OqVoXZ8SIO8KRs3ehxul9Ug4sV47cxVCbLCBh6/8EoE=";
+    hash = "sha256-7BgwMKssP9H8hryH+6p3g66ocZQcMvAysQrxZrLI+9I=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-configtool.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-configtool.nix
index f0553a5d52f75..7239a70ed94ba 100644
--- a/pkgs/tools/inputmethods/fcitx5/fcitx5-configtool.nix
+++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-configtool.nix
@@ -29,13 +29,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fcitx5-configtool";
-  version = "5.1.4";
+  version = "5.1.5";
 
   src = fetchFromGitHub {
     owner = "fcitx";
     repo = pname;
     rev = version;
-    sha256 = "sha256-jYO1jdiuDjt6e98qhwMpTQTnGxoIYWMKkORGJbmk3mk=";
+    hash = "sha256-MMrhJwG3FApYopXys2CpavHBOm8h+wBoDN4T5e2bzH4=";
   };
 
   cmakeFlags = [
diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-gtk.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-gtk.nix
index 6be9e49886f8a..0e23f7e5729f4 100644
--- a/pkgs/tools/inputmethods/fcitx5/fcitx5-gtk.nix
+++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-gtk.nix
@@ -26,13 +26,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fcitx5-gtk";
-  version = "5.1.2";
+  version = "5.1.3";
 
   src = fetchFromGitHub {
     owner = "fcitx";
     repo = pname;
     rev = version;
-    sha256 = "sha256-iNqY/VORDEPR4rc0LjVgcojZlMcT+LBdrdOwBkC5Vkk=";
+    hash = "sha256-qckaD2VDlXyaXe52PTjYfKIJbsIBRgD5s3b9Oc6l/64=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-hangul.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-hangul.nix
index 23aabde1e653c..844f9c477459d 100644
--- a/pkgs/tools/inputmethods/fcitx5/fcitx5-hangul.nix
+++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-hangul.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fcitx5-hangul";
-  version = "5.1.2";
+  version = "5.1.3";
 
   src = fetchFromGitHub {
     owner = "fcitx";
     repo = pname;
     rev = version;
-    sha256 = "sha256-S5TGjb5vD0rk7V88b4yRziszLrwO1pgVFWuEGMp48oY=";
+    hash = "sha256-eaL+5wEQdEkXchKBxUhIys1qwjKLOL3awRhFgai4l1U=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-lua.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-lua.nix
index 45d7cc3288a59..870239b54d998 100644
--- a/pkgs/tools/inputmethods/fcitx5/fcitx5-lua.nix
+++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-lua.nix
@@ -9,13 +9,13 @@
 }:
 stdenv.mkDerivation rec {
   pname = "fcitx5-lua";
-  version = "5.0.12";
+  version = "5.0.13";
 
   src = fetchFromGitHub {
     owner = "fcitx";
     repo = pname;
     rev = version;
-    sha256 = "sha256-tnGPjMc8oL/P6Vyt7eNYWcPMhYhdpFWtCF4E3dJYGPw=";
+    hash = "sha256-XRfYQquR9SVlYr2sX6ii8JjMyjJZWSMf1u2oKUmOhf8=";
   };
 
   nativeBuildInputs = [ cmake extra-cmake-modules ];
diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-m17n.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-m17n.nix
index 19336e58d1dd6..d1e96090000d6 100644
--- a/pkgs/tools/inputmethods/fcitx5/fcitx5-m17n.nix
+++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-m17n.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fcitx5-m17n";
-  version = "5.1.0";
+  version = "5.1.1";
 
   src = fetchFromGitHub {
     owner = "fcitx";
     repo = pname;
     rev = version;
-    sha256 = "sha256-qo3tS0tjQCD7+CoNvjyvhQPAfa38o7/f/MjqRkIL2R0=";
+    hash = "sha256-5zXLbKHcTMrX+Ux9aN2jl15Go58m7Fr7ZkFyvDGWKaw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix
index b0cd6dc6d59be..d6e76af14d66c 100644
--- a/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix
+++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix
@@ -14,13 +14,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "fcitx5-qt${majorVersion}";
-  version = "5.1.4";
+  version = "5.1.6";
 
   src = fetchFromGitHub {
     owner = "fcitx";
     repo = "fcitx5-qt";
     rev = version;
-    sha256 = "sha256-bVH2US/uEZGERslnAh/fyUbzR9fK1UfG4J+mOmrIE8Y=";
+    hash = "sha256-ptAJNc7zhXQ+nFfjmVQd5nZvN5lyk0jV6AHBKQkUGOM=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-rime.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-rime.nix
index 4fecf46e5e3b2..26e4011034fa9 100644
--- a/pkgs/tools/inputmethods/fcitx5/fcitx5-rime.nix
+++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-rime.nix
@@ -5,6 +5,7 @@
 , cmake
 , extra-cmake-modules
 , gettext
+, zstd
 , fcitx5
 , librime
 , rime-data
@@ -14,11 +15,11 @@
 
 stdenv.mkDerivation rec {
   pname = "fcitx5-rime";
-  version = "5.1.5";
+  version = "5.1.6";
 
   src = fetchurl {
-    url = "https://download.fcitx-im.org/fcitx5/${pname}/${pname}-${version}.tar.xz";
-    hash = "sha256-/eVgF5kgf1gmbkOInoGbmH/eH0vO2xj3X6k+wzeEssM=";
+    url = "https://download.fcitx-im.org/fcitx5/${pname}/${pname}-${version}.tar.zst";
+    hash = "sha256-Ll0T+bgGXYbg/POJmCeDVjkTvaNuR/bxw9hQJJV+CQo=";
   };
 
   cmakeFlags = [
@@ -30,6 +31,7 @@ stdenv.mkDerivation rec {
     extra-cmake-modules
     pkg-config
     gettext
+    zstd
   ];
 
   buildInputs = [
diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-skk.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-skk.nix
index 6cfced6a632e6..664c86f048817 100644
--- a/pkgs/tools/inputmethods/fcitx5/fcitx5-skk.nix
+++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-skk.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fcitx5-skk";
-  version = "5.1.2";
+  version = "5.1.3";
 
   src = fetchFromGitHub {
     owner = "fcitx";
     repo = pname;
     rev = version;
-    sha256 = "sha256-vg79zJ/ZoUjCKU11krDUjO0rAyZxDMsBnHqJ/I6NTTA=";
+    hash = "sha256-dbgnhPkpwytPV3EiT4vvpkSucJVDPIED96snF0Eu6qQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-table-extra.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-table-extra.nix
index dea3e2d038025..d5136baf4e80c 100644
--- a/pkgs/tools/inputmethods/fcitx5/fcitx5-table-extra.nix
+++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-table-extra.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fcitx5-table-extra";
-  version = "5.1.4";
+  version = "5.1.5";
 
   src = fetchFromGitHub {
     owner = "fcitx";
     repo = pname;
     rev = version;
-    hash = "sha256-Lb8CYFQl48arJEn9gemZ7imD/gdKjN+7Wnm21/0/Sko=";
+    hash = "sha256-7SZuMGUQcvKVYFdDkSOSmfO4E9mIfS5EK3+ufg5u2vk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-table-other.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-table-other.nix
index 410413bf30d82..449be2318bddb 100644
--- a/pkgs/tools/inputmethods/fcitx5/fcitx5-table-other.nix
+++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-table-other.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fcitx5-table-other";
-  version = "5.1.1";
+  version = "5.1.2";
 
   src = fetchFromGitHub {
     owner = "fcitx";
     repo = pname;
     rev = version;
-    sha256 = "sha256-G34hPEdcdi5agWiFEgUHWD18ozOgBCaoS6HMAklUcO4=";
+    hash = "sha256-S9no+OxCwZUfRUKdpbBBqUSeVVs8uI9otV4ndqsgaXM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-unikey.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-unikey.nix
index a1a077264b3a8..ef9658570593b 100644
--- a/pkgs/tools/inputmethods/fcitx5/fcitx5-unikey.nix
+++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-unikey.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fcitx5-unikey";
-  version = "5.1.3";
+  version = "5.1.4";
 
   src = fetchFromGitHub {
     owner = "fcitx";
     repo = "fcitx5-unikey";
     rev = version;
-    sha256 = "sha256-wrsA0gSexOZgsJunozt49GyP9R3Xe2Aci7Q8p3zAM9Q=";
+    hash = "sha256-BwKlhb3nIzBgD3XSuDOH6f2sFbtx8cc4R4qC5ZQrZus=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix
index d0199bdbed4a0..d5b1e306f8e8d 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix
@@ -12,19 +12,19 @@ let
   zip-codes = fetchFromGitHub {
     owner = "musjj";
     repo = "jp-zip-codes";
-    rev = "a1eed9bae0ba909c8c8f5387008b08ff490f5e57";
-    hash = "sha256-VfI8qAMPPCC2H4vjm4a6sAmSwc1YkXlMyLm1cnufvrU=";
+    rev = "119c888a38032a92e139c52cd26f45bb495c4d54";
+    hash = "sha256-uyAL2TcFJsYZACFDAxIQ4LE40Hi4PVrQRnJl5O5+RmU=";
   };
 in
 buildBazelPackage rec {
   pname = "ibus-mozc";
-  version = "2.29.5268.102";
+  version = "2.29.5374.102";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "mozc";
     rev = version;
-    hash = "sha256-B7hG8OUaQ1jmmcOPApJlPVcB8h1Rw06W5LAzlTzI9rU=";
+    hash = "sha256-AcIN5sWPBe4JotAUYv1fytgQw+mJzdFhKuVPLR48soA=";
     fetchSubmodules = true;
   };
 
@@ -38,11 +38,11 @@ buildBazelPackage rec {
   inherit bazel;
 
   fetchAttrs = {
-    sha256 = "sha256-17QHh1MJUu8OK/T+WSpLXEx83DmRORLN7yLzILqP7vw=";
+    sha256 = "sha256-ToBLVJpAQErL/P1bfWJca2FjhDW5XTrwuJQLquwlrhA=";
 
-    # remove references of buildInputs
+    # remove references of buildInputs and zip code files
     preInstall = ''
-      rm -rv $bazelOut/external/{ibus,qt_linux}
+      rm -rv $bazelOut/external/{ibus,qt_linux,zip_code_*}
     '';
   };
 
diff --git a/pkgs/tools/misc/android-tools/default.nix b/pkgs/tools/misc/android-tools/default.nix
index ed0acaff3a5e9..efc5a95e7bdec 100644
--- a/pkgs/tools/misc/android-tools/default.nix
+++ b/pkgs/tools/misc/android-tools/default.nix
@@ -9,11 +9,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "android-tools";
-  version = "34.0.5";
+  version = "35.0.1";
 
   src = fetchurl {
     url = "https://github.com/nmeum/android-tools/releases/download/${version}/android-tools-${version}.tar.xz";
-    hash = "sha256-+wnP8Sz7gqz0Ko6+u8A0JnG/zQIRdxY2i9xz/dpgMEo=";
+    hash = "sha256-ZUAwx/ltJdciTNaGH6wUoEPPHTmA9AKIzfviGflP+vk=";
   };
 
   nativeBuildInputs = [ cmake ninja pkg-config perl go ];
diff --git a/pkgs/tools/misc/betterdiscord-installer/default.nix b/pkgs/tools/misc/betterdiscord-installer/default.nix
index f064f5227bf9f..bb2d88a64e605 100644
--- a/pkgs/tools/misc/betterdiscord-installer/default.nix
+++ b/pkgs/tools/misc/betterdiscord-installer/default.nix
@@ -2,20 +2,17 @@
 let
   pname = "betterdiscord-installer";
   version = "1.0.0-beta";
-  name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://github.com/BetterDiscord/Installer/releases/download/v${version}/Betterdiscord-Linux.AppImage";
     sha256 = "103acb11qmvjmf6g9lgsfm5jyahfwfdqw0x9w6lmv1hzwbs26dsr";
   };
 
-  appimageContents = appimageTools.extract { inherit name src; };
+  appimageContents = appimageTools.extract { inherit pname version src; };
 in appimageTools.wrapType2 {
-  inherit name src;
+  inherit pname version src;
 
   extraInstallCommands = ''
-    mv $out/bin/${name} $out/bin/${pname}
-
     install -m 444 -D ${appimageContents}/betterdiscord.desktop -t $out/share/applications
     substituteInPlace $out/share/applications/betterdiscord.desktop \
       --replace 'Exec=AppRun' 'Exec=${pname}'
diff --git a/pkgs/tools/misc/broot/default.nix b/pkgs/tools/misc/broot/default.nix
index 4a2470e86ffa7..b136dcb6ad93e 100644
--- a/pkgs/tools/misc/broot/default.nix
+++ b/pkgs/tools/misc/broot/default.nix
@@ -18,16 +18,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "broot";
-  version = "1.36.1";
+  version = "1.37.0";
 
   src = fetchFromGitHub {
     owner = "Canop";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-mwccjsrveqoepBaCeQaija3DsXcuMtCK5PyoghtAJ9w=";
+    hash = "sha256-IJSXP4B07/0ZHzuAmPBXn/n0O7LOYNTB812sKz+mGuc=";
   };
 
-  cargoHash = "sha256-GykLzXKFtebFuOWLtZ2Qj5OrZXiSrfEJ98cog5PwCfQ=";
+  cargoHash = "sha256-jsy7FtTX/iG3TPdbYemG+6jbguQN4LoYMgscMffik7g=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/pkgs/tools/misc/chezmoi/default.nix b/pkgs/tools/misc/chezmoi/default.nix
deleted file mode 100644
index e5c2e9407c79e..0000000000000
--- a/pkgs/tools/misc/chezmoi/default.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{ lib
-, buildGoModule
-, fetchFromGitHub
-, installShellFiles
-}:
-
-buildGoModule rec {
-  pname = "chezmoi";
-  version = "2.47.4";
-
-  src = fetchFromGitHub {
-    owner = "twpayne";
-    repo = "chezmoi";
-    rev = "v${version}";
-    hash = "sha256-clhW/Y+OJ7iQVK8I2xwoVT9rXF2CXRBaUxDZrREAjYc=";
-  };
-
-  vendorHash = "sha256-8Puy1IKLMENduWyOAJtvpd7FV1a0IdmkMYztIJdeaBs=";
-
-  doCheck = false;
-
-  ldflags = [
-    "-s" "-w" "-X main.version=${version}" "-X main.builtBy=nixpkgs"
-  ];
-
-  nativeBuildInputs = [ installShellFiles ];
-
-  postInstall = ''
-    installShellCompletion --bash --name chezmoi.bash completions/chezmoi-completion.bash
-    installShellCompletion --fish completions/chezmoi.fish
-    installShellCompletion --zsh completions/chezmoi.zsh
-  '';
-
-  subPackages = [ "." ];
-
-  meta = with lib; {
-    homepage = "https://www.chezmoi.io/";
-    description = "Manage your dotfiles across multiple machines, securely";
-    changelog = "https://github.com/twpayne/chezmoi/releases/tag/v${version}";
-    license = licenses.mit;
-    maintainers = with maintainers; [ jhillyerd ];
-    mainProgram = "chezmoi";
-  };
-}
diff --git a/pkgs/tools/misc/coreboot-utils/default.nix b/pkgs/tools/misc/coreboot-utils/default.nix
index 50045b7855741..e13b97e0c3a0b 100644
--- a/pkgs/tools/misc/coreboot-utils/default.nix
+++ b/pkgs/tools/misc/coreboot-utils/default.nix
@@ -7,7 +7,7 @@ let
     description = "Various coreboot-related tools";
     homepage = "https://www.coreboot.org";
     license = with licenses; [ gpl2Only gpl2Plus ];
-    maintainers = with maintainers; [ felixsinger yuka ];
+    maintainers = with maintainers; [ felixsinger ];
     platforms = platforms.linux;
   };
 
diff --git a/pkgs/tools/misc/cyberchef/default.nix b/pkgs/tools/misc/cyberchef/default.nix
index 15ecd3ad32269..ba1a609c96825 100644
--- a/pkgs/tools/misc/cyberchef/default.nix
+++ b/pkgs/tools/misc/cyberchef/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "cyberchef";
-  version = "10.17.0";
+  version = "10.18.3";
 
   src = fetchzip {
     url = "https://github.com/gchq/CyberChef/releases/download/v${version}/CyberChef_v${version}.zip";
-    sha256 = "sha256-mOnjW6ncsNQ16YELX63sIsQTNE2Y/gbs0rcOUFd2umw=";
+    sha256 = "sha256-HLYcKF+DCj5QA+0ZJwRpC+iTN5z/S249UnQirNJMLF4=";
     stripRoot = false;
   };
 
diff --git a/pkgs/tools/misc/diffoscope/default.nix b/pkgs/tools/misc/diffoscope/default.nix
index 580d01376eb87..6d97581af26f6 100644
--- a/pkgs/tools/misc/diffoscope/default.nix
+++ b/pkgs/tools/misc/diffoscope/default.nix
@@ -59,7 +59,6 @@
 , python3
 , qemu
 , R
-, radare2
 , sng
 , sqlite
 , squashfsTools
@@ -76,8 +75,26 @@
 , writeScript
 }:
 
+let
+  python = python3.override {
+    packageOverrides = final: prev: {
+      # version 4 or newer would log the followng error but tests currently don't fail because radare2 is disabled
+      # ValueError: argument TNULL is not a TLSH hex string
+      tlsh = prev.tlsh.overridePythonAttrs ({ src, ... }: let
+        version = "3.19.1";
+      in {
+        inherit version;
+        src = src.override {
+          rev = version;
+          hash = "sha256-ZYEjT/yShfA4+zpbGOtaFOx1nSSOWPtMvskPhHv3c9U=";
+        };
+      });
+    };
+  };
+in
+
 # Note: when upgrading this package, please run the list-missing-tools.sh script as described below!
-python3.pkgs.buildPythonApplication rec {
+python.pkgs.buildPythonApplication rec {
   pname = "diffoscope";
   version = "265";
 
@@ -124,6 +141,11 @@ python3.pkgs.buildPythonApplication rec {
   # docx2txt <- makes tests broken:
   # > FAILED tests/comparators/test_docx.py::test_diff - IndexError: list index out of range
   # > FAILED tests/comparators/test_docx.py::test_compare_non_existing - AssertionError
+  # radare2
+  # > FAILED tests/comparators/test_elf_decompiler.py::test_ghidra_diff - IndexError: list index out of range
+  # > FAILED tests/comparators/test_elf_decompiler.py::test_radare2_diff - AssertionError
+  # > FAILED tests/comparators/test_macho_decompiler.py::test_ghidra_diff - assert 0 == 1
+  # > FAILED tests/comparators/test_macho_decompiler.py::test_radare2_diff - AssertionError
   #
   # We filter automatically all packages for the host platform (some dependencies are not supported on Darwin, aarch64, etc.).
   pythonPath = lib.filter (lib.meta.availableOn stdenv.hostPlatform) ([
@@ -160,7 +182,7 @@ python3.pkgs.buildPythonApplication rec {
     zip
     zstd
   ]
-  ++ (with python3.pkgs; [
+  ++ (with python.pkgs; [
     argcomplete
     debian
     defusedxml
@@ -168,7 +190,7 @@ python3.pkgs.buildPythonApplication rec {
     jsondiff
     libarchive-c
     progressbar33
-    pypdf2
+    pypdf
     python-magic
     pyxattr
     rpm
@@ -203,19 +225,19 @@ python3.pkgs.buildPythonApplication rec {
       procyon
       qemu
       R
-      radare2
       tcpdump
       ubootTools
       wabt
       xmlbeans
     ]
-    ++ (with python3.pkgs; [
+    ++ (with python.pkgs; [
       androguard
       binwalk
       guestfs
       h5py
       pdfminer-six
-      # docx2txt, breaks the tests.
+      r2pipe
+      # docx2txt, nixpkgs packages another project named the same, which does not work
     ])
     # oggvideotools is broken on Darwin, please put it back when it will be fixed?
     ++ lib.optionals stdenv.isLinux [ oggvideotools ]
@@ -223,7 +245,7 @@ python3.pkgs.buildPythonApplication rec {
     ++ lib.optionals (stdenv.hostPlatform.system != "aarch64-darwin") [ gnumeric ]
   ));
 
-  nativeCheckInputs = with python3.pkgs; [
+  nativeCheckInputs = with python.pkgs; [
     pytestCheckHook
   ] ++ pythonPath;
 
diff --git a/pkgs/tools/misc/digitemp/default.nix b/pkgs/tools/misc/digitemp/default.nix
index 2be4ac841afc6..312127a6f9300 100644
--- a/pkgs/tools/misc/digitemp/default.nix
+++ b/pkgs/tools/misc/digitemp/default.nix
@@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = "https://www.digitemp.com";
     license = licenses.gpl2Plus;
-    maintainers = [ maintainers.fogti ];
+    maintainers = [ ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/misc/envchain/default.nix b/pkgs/tools/misc/envchain/default.nix
index a204f31a7484e..643eb86cb576a 100644
--- a/pkgs/tools/misc/envchain/default.nix
+++ b/pkgs/tools/misc/envchain/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "envchain";
-  version = "1.0.1";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "sorah";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0qxwiqhb8cg0zbn5p0mvnbyxx1xwvgiricrkjlvxz13sf2ngq87p";
+    sha256 = "sha256-QUy38kJzMbYOyT86as4/yq2ctcszSnB8a3eVWxgd4Fo=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/misc/fclones/default.nix b/pkgs/tools/misc/fclones/default.nix
index 6db73d081a24b..deb97aced8ef0 100644
--- a/pkgs/tools/misc/fclones/default.nix
+++ b/pkgs/tools/misc/fclones/default.nix
@@ -35,7 +35,7 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/pkolaczk/fclones";
     changelog = "https://github.com/pkolaczk/fclones/releases/tag/${src.rev}";
     license = licenses.mit;
-    maintainers = with maintainers; [ cyounkins figsoda msfjarvis ];
+    maintainers = with maintainers; [ cyounkins figsoda ];
     mainProgram = "fclones";
   };
 }
diff --git a/pkgs/tools/misc/fdupes/default.nix b/pkgs/tools/misc/fdupes/default.nix
index e4e52115c3563..fefb3992749b9 100644
--- a/pkgs/tools/misc/fdupes/default.nix
+++ b/pkgs/tools/misc/fdupes/default.nix
@@ -1,18 +1,33 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, ncurses, pcre2 }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+, pkg-config
+, ncurses
+, pcre2
+, sqlite
+}:
 
 stdenv.mkDerivation rec {
   pname = "fdupes";
-  version = "2.2.1";
+  version = "2.3.0";
 
   src = fetchFromGitHub {
     owner = "adrianlopezroche";
-    repo  = "fdupes";
-    rev   = "v${version}";
-    hash  = "sha256-8GYQfnUxS790pDXw2sjnDZNB55PMDaCcO6daIa/MPMw=";
+    repo = "fdupes";
+    rev = "v${version}";
+    hash = "sha256-BW6a5vKRAuXs/zWPHhtZs6Y4scyCEfqHEAkGUSUiwkI=";
   };
 
-  nativeBuildInputs = [ autoreconfHook pkg-config ];
-  buildInputs = [ ncurses pcre2 ];
+  nativeBuildInputs = [
+    autoreconfHook
+    pkg-config
+  ];
+  buildInputs = [
+    ncurses
+    pcre2
+    sqlite
+  ];
 
   meta = with lib; {
     description = "Identifies duplicate files residing within specified directories";
diff --git a/pkgs/tools/misc/fedifetcher/default.nix b/pkgs/tools/misc/fedifetcher/default.nix
index 36885e953262d..ac34847ab2341 100644
--- a/pkgs/tools/misc/fedifetcher/default.nix
+++ b/pkgs/tools/misc/fedifetcher/default.nix
@@ -35,7 +35,7 @@ python3.pkgs.buildPythonApplication rec {
     '';
     homepage = "https://blog.thms.uk/fedifetcher";
     license = licenses.mit;
-    maintainers = with maintainers; [ delroth ];
+    maintainers = with maintainers; [ ];
     mainProgram = "fedifetcher";
   };
 }
diff --git a/pkgs/tools/misc/fffuu/default.nix b/pkgs/tools/misc/fffuu/default.nix
index 2463ee5a6e99e..53f8397a6d450 100644
--- a/pkgs/tools/misc/fffuu/default.nix
+++ b/pkgs/tools/misc/fffuu/default.nix
@@ -14,7 +14,8 @@ mkDerivation {
   postPatch = ''
     substituteInPlace haskell_tool/fffuu.cabal \
       --replace "containers >=0.5 && <0.6" "containers >= 0.6" \
-      --replace "optparse-generic >= 1.2.3 && < 1.3" "optparse-generic >= 1.2.3"
+      --replace "optparse-generic >= 1.2.3 && < 1.3" "optparse-generic >= 1.2.3" \
+      --replace "split >= 0.2.3 && <= 0.2.4" "split >= 0.2.3"
   '';
 
   preCompileBuildDriver = ''
@@ -47,5 +48,5 @@ mkDerivation {
   description = "Fancy Formal Firewall Universal Understander";
   homepage = "https://github.com/diekmann/Iptables_Semantics/tree/master/haskell_tool";
   license = lib.licenses.bsd2;
-  maintainers = [ lib.maintainers.marsam ];
+  maintainers = [ ];
 }
diff --git a/pkgs/tools/misc/ffsend/default.nix b/pkgs/tools/misc/ffsend/default.nix
index 18f5a0ee0a16c..ae377b63812f4 100644
--- a/pkgs/tools/misc/ffsend/default.nix
+++ b/pkgs/tools/misc/ffsend/default.nix
@@ -86,7 +86,7 @@ rustPlatform.buildRustPackage rec {
     '';
     homepage = "https://gitlab.com/timvisee/ffsend";
     license = licenses.gpl3Only;
-    maintainers = with maintainers; [ lilyball equirosa marsam ];
+    maintainers = with maintainers; [ lilyball equirosa ];
     platforms = platforms.unix;
     mainProgram = "ffsend";
   };
diff --git a/pkgs/tools/misc/flexoptix-app/default.nix b/pkgs/tools/misc/flexoptix-app/default.nix
index 6712925d01206..662193f353289 100644
--- a/pkgs/tools/misc/flexoptix-app/default.nix
+++ b/pkgs/tools/misc/flexoptix-app/default.nix
@@ -1,11 +1,11 @@
 { lib, appimageTools, fetchurl, asar }: let
   pname = "flexoptix-app";
-  version = "5.20.0-latest";
+  version = "5.21.2-latest";
 
   src = fetchurl {
     name = "${pname}-${version}.AppImage";
     url = "https://flexbox.reconfigure.me/download/electron/linux/x64/FLEXOPTIX%20App.${version}.AppImage";
-    hash = "sha256-/4vZaVLpSiufjNwwofPi+YBtTJ4aq7eYgFnYFv89LFY=";
+    hash = "sha256-BnNRwD09CE1EZDg3Hn3khN4FZ8Hj5LLAunk+NKU5BJo=";
   };
 
   udevRules = fetchurl {
@@ -35,7 +35,6 @@ in appimageTools.wrapAppImage {
 
   extraInstallCommands = ''
     # Add desktop convencience stuff
-    mv $out/bin/{${pname}-*,${pname}}
     install -Dm444 ${appimageContents}/flexoptix-app.desktop -t $out/share/applications
     install -Dm444 ${appimageContents}/flexoptix-app.png -t $out/share/pixmaps
     substituteInPlace $out/share/applications/flexoptix-app.desktop \
diff --git a/pkgs/tools/misc/fluent-bit/default.nix b/pkgs/tools/misc/fluent-bit/default.nix
index 236d7e9b72c60..86ae31ba214d0 100644
--- a/pkgs/tools/misc/fluent-bit/default.nix
+++ b/pkgs/tools/misc/fluent-bit/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "fluent-bit";
-  version = "3.0.2";
+  version = "3.0.3";
 
   src = fetchFromGitHub {
     owner = "fluent";
     repo = "fluent-bit";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-4LYIQ1WIt9btQI255nnTnGjz/GSUl/5mI6TEq99zNCM=";
+    hash = "sha256-nlBzD9u7DsCbJq9FxsbsP8F/tPklZ43NV8T2eiwWE24=";
   };
 
   nativeBuildInputs = [ cmake flex bison ];
diff --git a/pkgs/tools/misc/fortune/default.nix b/pkgs/tools/misc/fortune/default.nix
index 91afc1f76fd6b..516cfc201eb8a 100644
--- a/pkgs/tools/misc/fortune/default.nix
+++ b/pkgs/tools/misc/fortune/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
   '') ];
 
   postFixup = lib.optionalString (!withOffensive) ''
-    rm -f $out/share/fortunes/men-women*
+    rm $out/share/games/fortunes/men-women*
   '';
 
   meta = with lib; {
diff --git a/pkgs/tools/misc/fwup/default.nix b/pkgs/tools/misc/fwup/default.nix
index d43914685d2c4..904aca2052141 100644
--- a/pkgs/tools/misc/fwup/default.nix
+++ b/pkgs/tools/misc/fwup/default.nix
@@ -21,13 +21,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fwup";
-  version = "1.10.1";
+  version = "1.10.2";
 
   src = fetchFromGitHub {
     owner = "fhunleth";
     repo = "fwup";
     rev = "v${version}";
-    sha256 = "sha256-s2TlxksxGYvRqDwRA7eLlXAyT5uPK2DiL8ma1nNVz5Q=";
+    sha256 = "sha256-SuagtYfLD8yXFpLHNl1J0m5/iapYU+Si6tJl0paStTY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/misc/gigalixir/default.nix b/pkgs/tools/misc/gigalixir/default.nix
index 399bfd6026c34..d03d353a088bd 100644
--- a/pkgs/tools/misc/gigalixir/default.nix
+++ b/pkgs/tools/misc/gigalixir/default.nix
@@ -7,12 +7,12 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "gigalixir";
-  version = "1.12.0";
+  version = "1.12.1";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-/ugvNObkr966jnnKNTJK3nzIWZmVc0ZtAkv0leiCdgw=";
+    hash = "sha256-T16+0F28/SxDl53GGTRzKbG+ghbL/80NkY08WpCixhA=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/misc/goaccess/default.nix b/pkgs/tools/misc/goaccess/default.nix
index 774cc18ad8011..68169debff5bf 100644
--- a/pkgs/tools/misc/goaccess/default.nix
+++ b/pkgs/tools/misc/goaccess/default.nix
@@ -1,44 +1,37 @@
-{ lib
-, stdenv
-, autoreconfHook
-, fetchFromGitHub
-, gettext
-, libmaxminddb
-, ncurses
-, openssl
-, withGeolocation ? true
+{
+  lib,
+  stdenv,
+  autoreconfHook,
+  fetchFromGitHub,
+  gettext,
+  libmaxminddb,
+  ncurses,
+  openssl,
+  withGeolocation ? true,
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.9.1";
   pname = "goaccess";
+  version = "1.9.2";
 
   src = fetchFromGitHub {
     owner = "allinurl";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-vfsMyUnhwsI/tY7d/UpDCyG6DmYzWn9qTi2C0icTPpg=";
+    repo = "goaccess";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-FAooBAP2RbqAp7NTJNBdbRVldGCbx3SvOoTaiQ9Fl/I=";
   };
 
-  nativeBuildInputs = [
-    autoreconfHook
-  ];
+  nativeBuildInputs = [ autoreconfHook ];
 
   buildInputs = [
     ncurses
     openssl
-  ] ++ lib.optionals withGeolocation [
-    libmaxminddb
-  ] ++ lib.optionals stdenv.isDarwin [
-    gettext
-  ];
+  ] ++ lib.optionals withGeolocation [ libmaxminddb ] ++ lib.optionals stdenv.isDarwin [ gettext ];
 
   configureFlags = [
     "--enable-utf8"
     "--with-openssl"
-  ] ++ lib.optionals withGeolocation [
-    "--enable-geoip=mmdb"
-  ];
+  ] ++ lib.optionals withGeolocation [ "--enable-geoip=mmdb" ];
 
   meta = with lib; {
     description = "Real-time web log analyzer and interactive viewer that runs in a terminal in *nix systems";
diff --git a/pkgs/tools/misc/goose/default.nix b/pkgs/tools/misc/goose/default.nix
index aec189dc528c0..dcb6acec4d9e3 100644
--- a/pkgs/tools/misc/goose/default.nix
+++ b/pkgs/tools/misc/goose/default.nix
@@ -44,7 +44,7 @@ buildGoModule rec {
     description = "Database migration tool which supports SQL migrations and Go functions";
     homepage = "https://pressly.github.io/goose/";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ yuka ];
+    maintainers = with maintainers; [ ];
     mainProgram = "goose";
   };
 }
diff --git a/pkgs/tools/misc/goreleaser/default.nix b/pkgs/tools/misc/goreleaser/default.nix
index e5c0ab3561ba5..7b121ac3f9a7e 100644
--- a/pkgs/tools/misc/goreleaser/default.nix
+++ b/pkgs/tools/misc/goreleaser/default.nix
@@ -50,7 +50,6 @@ buildGoModule rec {
     homepage = "https://goreleaser.com";
     maintainers = with maintainers; [
       c0deaddict
-      endocrimes
       sarcasticadmin
       techknowlogick
       developer-guy
diff --git a/pkgs/tools/misc/hyperledger-fabric/default.nix b/pkgs/tools/misc/hyperledger-fabric/default.nix
index e320b0355e4e8..d1646f92c7bac 100644
--- a/pkgs/tools/misc/hyperledger-fabric/default.nix
+++ b/pkgs/tools/misc/hyperledger-fabric/default.nix
@@ -52,6 +52,6 @@ buildGoModule rec {
     '';
     homepage = "https://wiki.hyperledger.org/display/fabric";
     license = licenses.asl20;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/tools/misc/lsd/default.nix b/pkgs/tools/misc/lsd/default.nix
index e4dd016bcd65c..f89467af643af 100644
--- a/pkgs/tools/misc/lsd/default.nix
+++ b/pkgs/tools/misc/lsd/default.nix
@@ -56,7 +56,7 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/lsd-rs/lsd";
     description = "The next gen ls command";
     license = licenses.asl20;
-    maintainers = with maintainers; [ marsam zowoq SuperSandro2000 ];
+    maintainers = with maintainers; [ zowoq SuperSandro2000 ];
     mainProgram = "lsd";
   };
 }
diff --git a/pkgs/tools/misc/maker-panel/default.nix b/pkgs/tools/misc/maker-panel/default.nix
index cbe618d406fe0..12a5d46547a2c 100644
--- a/pkgs/tools/misc/maker-panel/default.nix
+++ b/pkgs/tools/misc/maker-panel/default.nix
@@ -32,6 +32,6 @@ rustPlatform.buildRustPackage rec {
     description = "Make mechanical PCBs by combining shapes together";
     homepage = "https://github.com/twitchyliquid64/maker-panel";
     license = with licenses; [ mit ];
-    maintainers = with maintainers; [ twitchyliquid64 ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/tools/misc/massren/default.nix b/pkgs/tools/misc/massren/default.nix
index 4ca386c1374a7..763c3a2ae3706 100644
--- a/pkgs/tools/misc/massren/default.nix
+++ b/pkgs/tools/misc/massren/default.nix
@@ -39,7 +39,7 @@ buildGoModule rec {
     description = "Easily rename multiple files using your text editor";
     license = licenses.mit;
     homepage = "https://github.com/laurent22/massren";
-    maintainers = with maintainers; [ andrew-d ];
+    maintainers = with maintainers; [ ];
     mainProgram = "massren";
   };
 }
diff --git a/pkgs/tools/misc/mathpix-snipping-tool/default.nix b/pkgs/tools/misc/mathpix-snipping-tool/default.nix
index 2a3e45dd6367b..0f03913c87a84 100644
--- a/pkgs/tools/misc/mathpix-snipping-tool/default.nix
+++ b/pkgs/tools/misc/mathpix-snipping-tool/default.nix
@@ -2,20 +2,17 @@
 let
   pname = "mathpix-snipping-tool";
   version = "03.00.0072";
-  name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://download.mathpix.com/linux/Mathpix_Snipping_Tool-x86_64.v${version}.AppImage";
     sha256 = "1igg8wnshmg9f23qqw1gqb85h1aa3461c1n7dmgw6sn4lrrrh5ms";
   };
 
-  appimageContents = appimageTools.extract { inherit name src; };
+  appimageContents = appimageTools.extract { inherit pname version src; };
 in appimageTools.wrapType2 {
-  inherit name src;
+  inherit pname version src;
 
   extraInstallCommands = ''
-    mv $out/bin/${name} $out/bin/${pname}
-
     install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications
 
     cp -r ${appimageContents}/usr/share/icons $out/share
diff --git a/pkgs/tools/misc/mbuffer/default.nix b/pkgs/tools/misc/mbuffer/default.nix
index 45510dafa8cb9..672f2eb9298ab 100644
--- a/pkgs/tools/misc/mbuffer/default.nix
+++ b/pkgs/tools/misc/mbuffer/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     description  = "A tool for buffering data streams with a large set of unique features";
     homepage = "https://www.maier-komor.de/mbuffer.html";
     license = licenses.gpl3Only;
-    maintainers = with maintainers; [ tokudan ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.linux; # Maybe other non-darwin Unix
     mainProgram = "mbuffer";
   };
diff --git a/pkgs/tools/misc/mise/default.nix b/pkgs/tools/misc/mise/default.nix
index f013f6a035615..280b7adde970c 100644
--- a/pkgs/tools/misc/mise/default.nix
+++ b/pkgs/tools/misc/mise/default.nix
@@ -17,16 +17,22 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mise";
-  version = "2024.4.0";
+  version = "2024.4.8";
 
   src = fetchFromGitHub {
     owner = "jdx";
     repo = "mise";
     rev = "v${version}";
-    hash = "sha256-l+Em04q40R5iTm4lNjY6sRE7Vu7UBl7lPNU9yj/hKzk=";
+    hash = "sha256-bIw7j7KPHlgIucV/onvp92k0OlNgaxqiVq/Cnj0kIuQ=";
+
+    # registry is not needed for compilation nor for tests.
+    # contains files with the same name but different case, which cause problems with hash on darwin
+    postFetch = ''
+      rm -rf $out/registry
+    '';
   };
 
-  cargoHash = "sha256-BPPjR0o+M5sTBWRgq3kOL+94qnRKnskLyFRUEPlPQtA=";
+  cargoHash = "sha256-yMpU39SU4Ut7vUQdzkBjhf8p8yCU350HMYKGm5CCado=";
 
   nativeBuildInputs = [ installShellFiles pkg-config ];
   buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security SystemConfiguration ];
diff --git a/pkgs/tools/misc/mloader/default.nix b/pkgs/tools/misc/mloader/default.nix
index 9790b169651d7..f8a6366cd3da4 100644
--- a/pkgs/tools/misc/mloader/default.nix
+++ b/pkgs/tools/misc/mloader/default.nix
@@ -30,7 +30,7 @@ python3Packages.buildPythonApplication rec {
     description = "Command-line tool to download manga from mangaplus";
     homepage = "https://github.com/hurlenko/mloader";
     license = licenses.gpl3Only;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
     mainProgram = "mloader";
   };
 }
diff --git a/pkgs/tools/misc/moar/default.nix b/pkgs/tools/misc/moar/default.nix
index d8972a89912ee..c99c394f100a6 100644
--- a/pkgs/tools/misc/moar/default.nix
+++ b/pkgs/tools/misc/moar/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "moar";
-  version = "1.23.10";
+  version = "1.23.11";
 
   src = fetchFromGitHub {
     owner = "walles";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-ue/ZcIIJJAxUMhsEA3FtrkE5mgtiY626b+GmX62Q8dM=";
+    hash = "sha256-dKsDvtFs1/WToqpfW84dxDAHRN13TUnZKKk26h3pQ18=";
   };
 
   vendorHash = "sha256-1u/2OlMX2FuZaxWnpU4n5r/4xKe+rK++GoCJiSq/BdE=";
diff --git a/pkgs/tools/misc/mprocs/default.nix b/pkgs/tools/misc/mprocs/default.nix
index c42c17bd53c9a..ae0d113f8159b 100644
--- a/pkgs/tools/misc/mprocs/default.nix
+++ b/pkgs/tools/misc/mprocs/default.nix
@@ -23,7 +23,7 @@ rustPlatform.buildRustPackage rec {
     description = "A TUI tool to run multiple commands in parallel and show the output of each command separately";
     homepage = "https://github.com/pvolok/mprocs";
     license = licenses.mit;
-    maintainers = with maintainers; [ GaetanLepage thehedgeh0g ];
+    maintainers = with maintainers; [ GaetanLepage pyrox0 ];
     mainProgram = "mprocs";
   };
 }
diff --git a/pkgs/tools/misc/mtm/default.nix b/pkgs/tools/misc/mtm/default.nix
index ffd7eefce8ae7..8ecbc087894b1 100644
--- a/pkgs/tools/misc/mtm/default.nix
+++ b/pkgs/tools/misc/mtm/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/deadpixi/mtm";
     license = licenses.gpl3Plus;
     platforms = platforms.unix;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     mainProgram = "mtm";
   };
 }
diff --git a/pkgs/tools/misc/mutagen/default.nix b/pkgs/tools/misc/mutagen/default.nix
index f759620d63fd0..d3ffa387d9f27 100644
--- a/pkgs/tools/misc/mutagen/default.nix
+++ b/pkgs/tools/misc/mutagen/default.nix
@@ -52,7 +52,7 @@ buildGoModule rec {
     description = "Make remote development work with your local tools";
     homepage = "https://mutagen.io/";
     changelog = "https://github.com/mutagen-io/mutagen/releases/tag/v${version}";
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.mit;
   };
diff --git a/pkgs/tools/misc/natls/default.nix b/pkgs/tools/misc/natls/default.nix
index 205905224f838..a324768faea49 100644
--- a/pkgs/tools/misc/natls/default.nix
+++ b/pkgs/tools/misc/natls/default.nix
@@ -20,7 +20,7 @@ rustPlatform.buildRustPackage rec {
     description = "the 'ls' replacement you never knew you needed";
     homepage = "https://github.com/willdoescode/nat";
     license = licenses.mit;
-    maintainers = with maintainers; [ msfjarvis ];
+    maintainers = with maintainers; [ cafkafk ];
     mainProgram = "natls";
   };
 }
diff --git a/pkgs/tools/misc/ncdu/default.nix b/pkgs/tools/misc/ncdu/default.nix
index 47a1365b5367f..d4bdbeacc9295 100644
--- a/pkgs/tools/misc/ncdu/default.nix
+++ b/pkgs/tools/misc/ncdu/default.nix
@@ -2,7 +2,7 @@
 , stdenv
 , fetchurl
 , ncurses
-, zig_0_11
+, zig
 , installShellFiles
 , testers
 , pie ? stdenv.isDarwin
@@ -10,15 +10,15 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "ncdu";
-  version = "2.3";
+  version = "2.4";
 
   src = fetchurl {
     url = "https://dev.yorhel.nl/download/ncdu-${finalAttrs.version}.tar.gz";
-    hash = "sha256-u84dHHDxJHZxvk6iE12MUs0ppwivXtYs7Np9xqgACjw=";
+    hash = "sha256-Sj0AAjCc9qfOp5GTjayb7N7OTVKdDW3I2RtztOaFVQk=";
   };
 
   nativeBuildInputs = [
-    zig_0_11.hook
+    zig.hook
     installShellFiles
   ];
 
@@ -42,7 +42,7 @@ stdenv.mkDerivation (finalAttrs: {
     changelog = "https://dev.yorhel.nl/ncdu/changes2";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ pSub rodrgz ];
-    inherit (zig_0_11.meta) platforms;
+    inherit (zig.meta) platforms;
     mainProgram = "ncdu";
   };
 })
diff --git a/pkgs/tools/misc/noti/default.nix b/pkgs/tools/misc/noti/default.nix
index 82d3dd4c2ef42..3401f74de9373 100644
--- a/pkgs/tools/misc/noti/default.nix
+++ b/pkgs/tools/misc/noti/default.nix
@@ -47,7 +47,7 @@ buildGoModule rec {
     '';
     homepage = "https://github.com/variadico/noti";
     license = licenses.mit;
-    maintainers = with maintainers; [ stites marsam ];
+    maintainers = with maintainers; [ stites ];
     mainProgram = "noti";
   };
 }
diff --git a/pkgs/tools/misc/odyssey/default.nix b/pkgs/tools/misc/odyssey/default.nix
index 2f3ccb0e154b7..726b12182ebb9 100644
--- a/pkgs/tools/misc/odyssey/default.nix
+++ b/pkgs/tools/misc/odyssey/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     description = "Scalable PostgreSQL connection pooler";
     homepage = "https://github.com/yandex/odyssey";
     license = licenses.bsd3;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     platforms = [ "x86_64-linux" ];
     mainProgram = "odyssey";
   };
diff --git a/pkgs/tools/misc/opentelemetry-collector/default.nix b/pkgs/tools/misc/opentelemetry-collector/default.nix
index d8a42d82ed34c..421f59f750090 100644
--- a/pkgs/tools/misc/opentelemetry-collector/default.nix
+++ b/pkgs/tools/misc/opentelemetry-collector/default.nix
@@ -8,17 +8,17 @@
 
 buildGoModule rec {
   pname = "opentelemetry-collector";
-  version = "0.97.0";
+  version = "0.99.0";
 
   src = fetchFromGitHub {
     owner = "open-telemetry";
     repo = "opentelemetry-collector";
     rev = "v${version}";
-    hash = "sha256-0zTEaSylZEU7mCCrMf9aV8V0MMD4Au4y0zacWSLcujg=";
+    hash = "sha256-O0I6G8Wa2GTv/lR6ijo9XglAdciJj2yuupJP9/uYySM=";
   };
   # there is a nested go.mod
   sourceRoot = "${src.name}/cmd/otelcorecol";
-  vendorHash = "sha256-/8WxTtTTuwdPP/4Bix8d9nkR/w6MDKLyumv4KBx5VqU=";
+  vendorHash = "sha256-JaquTJ3xl2NvipKF8her5m7tbYbLVQjYprGXEcrzv4s=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/tools/misc/ostree/default.nix b/pkgs/tools/misc/ostree/default.nix
index 025b57a8eb442..caccfbec9b699 100644
--- a/pkgs/tools/misc/ostree/default.nix
+++ b/pkgs/tools/misc/ostree/default.nix
@@ -1,6 +1,7 @@
 { stdenv
 , lib
 , fetchurl
+, fetchpatch
 , substituteAll
 , pkg-config
 , gtk-doc
@@ -51,6 +52,19 @@ in stdenv.mkDerivation rec {
     sha256 = "sha256-Y8kZCCEzOsc3Pg2SPkwnZrJevc/fTvtEy1koxlidn8s=";
   };
 
+  patches = lib.optionals stdenv.hostPlatform.isMusl [
+    # > I guess my inclination here is to recommend that musl users
+    # > carry a downstream patch to revert the commits in #3175 until
+    # > such time as they can update to the new musl.
+    # https://github.com/ostreedev/ostree/issues/3200#issuecomment-1974819192
+    (fetchpatch {
+      name = "revert-statx.diff";
+      url = "https://github.com/ostreedev/ostree/commit/f46cc0cd85b564e40e03c7438a41c8e57f6b836c.diff";
+      excludes = [ "ci/*" ];
+      revert = true;
+      hash = "sha256-LsXbRYh4hfjNdt1S384IPlSvtC5f2rgSTZEkIIBkT0g=";
+    })
+  ];
 
   nativeBuildInputs = [
     autoconf
@@ -132,7 +146,7 @@ in stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Git for operating system binaries";
-    homepage = "https://ostree.readthedocs.io/en/latest/";
+    homepage = "https://ostreedev.github.io/ostree/";
     license = licenses.lgpl2Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ copumpkin ];
diff --git a/pkgs/tools/misc/otel-cli/default.nix b/pkgs/tools/misc/otel-cli/default.nix
index 1330188a3ee4b..65f97c75f7d29 100644
--- a/pkgs/tools/misc/otel-cli/default.nix
+++ b/pkgs/tools/misc/otel-cli/default.nix
@@ -2,24 +2,26 @@
 
 buildGoModule rec {
   pname = "otel-cli";
-  version = "0.4.4";
+  version = "0.4.5";
 
   src = fetchFromGitHub {
     owner = "equinix-labs";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-XVhnDtt2FhYgfGWDPFkneZTboeHGaIbiF5YdHoqB8N8=";
+    hash = "sha256-JYi9CbP4mUhX0zNjhi6QlBzLKcj2zdPwlyBSIYKp6vk=";
   };
 
-  vendorHash = "sha256-HwbEqWtOqiTe5Z/MtMAs63Lzvll/vgmbCpMTREXgtXA=";
+  vendorHash = "sha256-fWQz7ZrU8gulhpOHSN8Prn4EMC0KXy942FZD/PMsLxc=";
 
   preCheck = ''
     ln -s $GOPATH/bin/otel-cli .
   '' + lib.optionalString (!stdenv.isDarwin) ''
     substituteInPlace main_test.go \
-      --replace 'const minimumPath = `/bin:/usr/bin`' 'const minimumPath = `${lib.makeBinPath [ getent coreutils ]}`'
+      --replace-fail 'const minimumPath = `/bin:/usr/bin`' 'const minimumPath = `${lib.makeBinPath [ getent coreutils ]}`'
   '';
 
+  patches = [ ./patches/bin-echo-patch.patch ];
+
   passthru.updateScript = nix-update-script {};
 
   meta = with lib; {
diff --git a/pkgs/tools/misc/otel-cli/patches/bin-echo-patch.patch b/pkgs/tools/misc/otel-cli/patches/bin-echo-patch.patch
new file mode 100644
index 0000000000000..2366728605853
--- /dev/null
+++ b/pkgs/tools/misc/otel-cli/patches/bin-echo-patch.patch
@@ -0,0 +1,21 @@
+diff --git a/data_for_test.go b/data_for_test.go
+index c0b8980..691e270 100644
+--- a/data_for_test.go
++++ b/data_for_test.go
+@@ -555,14 +555,14 @@ var suites = []FixtureSuite{
+ 					"--endpoint", "{{endpoint}}",
+ 					"--verbose", "--fail",
+ 					"--attrs", "zy=ab", // ensure CLI args still propagate
+-					"--", "/bin/echo", "a", "z",
++					"--", "echo", "a", "z",
+ 				},
+ 			},
+ 			Expect: Results{
+ 				SpanCount: 1,
+ 				CliOutput: "a z\n",
+ 				SpanData: map[string]string{
+-					"attributes": "/^process.command=/bin/echo,process.command_args=/bin/echo,a,z,process.owner=\\w+,process.parent_pid=\\d+,process.pid=\\d+,zy=ab/",
++					"attributes": "/^process.command=echo,process.command_args=echo,a,z,process.owner=\\w+,process.parent_pid=\\d+,process.pid=\\d+,zy=ab/",
+ 				},
+ 			},
+ 		},
diff --git a/pkgs/tools/misc/pgcenter/default.nix b/pkgs/tools/misc/pgcenter/default.nix
index ba962a3936656..0b3dde03b4c6f 100644
--- a/pkgs/tools/misc/pgcenter/default.nix
+++ b/pkgs/tools/misc/pgcenter/default.nix
@@ -28,7 +28,7 @@ buildGoModule rec {
     changelog = "https://github.com/lesovsky/pgcenter/raw/v${version}/doc/Changelog";
     description = "Command-line admin tool for observing and troubleshooting PostgreSQL";
     license = licenses.bsd3;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     mainProgram = "pgcenter";
   };
 }
diff --git a/pkgs/tools/misc/pgmetrics/default.nix b/pkgs/tools/misc/pgmetrics/default.nix
index 0df0070e18b97..b068c8303a829 100644
--- a/pkgs/tools/misc/pgmetrics/default.nix
+++ b/pkgs/tools/misc/pgmetrics/default.nix
@@ -21,7 +21,7 @@ buildGoModule rec {
     homepage = "https://pgmetrics.io/";
     description = "Collect and display information and stats from a running PostgreSQL server";
     license = licenses.asl20;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     mainProgram = "pgmetrics";
   };
 }
diff --git a/pkgs/tools/misc/phrase-cli/default.nix b/pkgs/tools/misc/phrase-cli/default.nix
index c06b1d386768d..70b08aa96a928 100644
--- a/pkgs/tools/misc/phrase-cli/default.nix
+++ b/pkgs/tools/misc/phrase-cli/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "phrase-cli";
-  version = "2.24.0";
+  version = "2.25.0";
 
   src = fetchFromGitHub {
     owner = "phrase";
     repo = "phrase-cli";
     rev = version;
-    sha256 = "sha256-i1gf/xTdZaseUiu70i0Yh+DZlRoJjKYG1Q+D7uUyMl8=";
+    sha256 = "sha256-JVelz5I6HWgoqqkfNzb0DlAA4DsydBzdcxEIdKs24i4=";
   };
 
-  vendorHash = "sha256-+UjUk2Uf4ESHkUSM9X+a3fBF05cVsQ4JwPn93hbELLs=";
+  vendorHash = "sha256-8lqiseOJ8eDvY4J/MimKVvh5euHfOgQLjhKf7sPS6AE=";
 
   ldflags = [ "-X=github.com/phrase/phrase-cli/cmd.PHRASE_CLIENT_VERSION=${version}" ];
 
diff --git a/pkgs/tools/misc/poweralertd/default.nix b/pkgs/tools/misc/poweralertd/default.nix
index 677d85e18f090..c61f5af1b41d1 100644
--- a/pkgs/tools/misc/poweralertd/default.nix
+++ b/pkgs/tools/misc/poweralertd/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "poweralertd";
-  version = "0.2.0";
+  version = "0.3.0";
 
   outputs = [ "out" "man" ];
 
@@ -10,11 +10,11 @@ stdenv.mkDerivation rec {
     owner = "~kennylevinsen";
     repo = "poweralertd";
     rev = version;
-    sha256 = "19rw9q4pcqw56nmzjfglfikzx5wwjl4n08awwdhg0jy1k0bm3dvp";
+    hash = "sha256-WzqThv3Vu8R+g6Bn8EfesRk18rchCvw/UMPwbn9YC80=";
   };
 
   postPatch = ''
-    substituteInPlace meson.build --replace "systemd.get_pkgconfig_variable('systemduserunitdir')" "'${placeholder "out"}/lib/systemd/user'"
+    substituteInPlace meson.build --replace-fail "systemd.get_pkgconfig_variable('systemduserunitdir')" "'${placeholder "out"}/lib/systemd/user'"
   '';
 
   buildInputs = [
diff --git a/pkgs/tools/misc/pspg/default.nix b/pkgs/tools/misc/pspg/default.nix
index 1dc464fe36464..9d0adb051af0e 100644
--- a/pkgs/tools/misc/pspg/default.nix
+++ b/pkgs/tools/misc/pspg/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pspg";
-  version = "5.8.4";
+  version = "5.8.5";
 
   src = fetchFromGitHub {
     owner = "okbob";
     repo = pname;
     rev = version;
-    sha256 = "sha256-VTg+GDyPAxyxXP9VgKi63LhBKhuVx6rPWc9o/fRmHho=";
+    sha256 = "sha256-Lri675TEIVWp8iEQI1oeSd9xNCVtzlUcK2AEJHmWNjs=";
   };
 
   nativeBuildInputs = [ pkg-config installShellFiles ];
diff --git a/pkgs/tools/misc/pv/default.nix b/pkgs/tools/misc/pv/default.nix
index 2c8f0d5521ba3..740bea469a393 100644
--- a/pkgs/tools/misc/pv/default.nix
+++ b/pkgs/tools/misc/pv/default.nix
@@ -3,21 +3,21 @@
 , fetchurl
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "pv";
-  version = "1.8.5";
+  version = "1.8.9";
 
   src = fetchurl {
-    url = "https://www.ivarch.com/programs/sources/pv-${version}.tar.gz";
-    sha256 = "sha256-0ilI0GvgalvjczYxjeVAoiFb4QqwFj+M0jogFJZHt4A=";
+    url = "https://www.ivarch.com/programs/sources/pv-${finalAttrs.version}.tar.gz";
+    sha256 = "sha256-oHidj4xaCPrzcLWgfR2Tau/5UEpPSdp21BZHl6xGBuY=";
   };
 
   meta = {
     homepage = "https://www.ivarch.com/programs/pv.shtml";
     description = "Tool for monitoring the progress of data through a pipeline";
-    license = lib.licenses.artistic2;
+    license = lib.licenses.gpl3Plus;
     maintainers = with lib.maintainers; [ matthiasbeyer ];
     platforms = lib.platforms.all;
     mainProgram = "pv";
   };
-}
+})
diff --git a/pkgs/tools/misc/ripdrag/default.nix b/pkgs/tools/misc/ripdrag/default.nix
index b437018c8a7c5..ac8772b30496a 100644
--- a/pkgs/tools/misc/ripdrag/default.nix
+++ b/pkgs/tools/misc/ripdrag/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "ripdrag";
-  version = "0.4.7";
+  version = "0.4.8";
 
   src = fetchFromGitHub {
     owner = "nik012003";
     repo = "ripdrag";
     rev = "v${version}";
-    hash = "sha256-nO+eiQLlK5sgOrFpYrP/svzUff0gKju1DjAUMEti6HM=";
+    hash = "sha256-DjLQJUaSwglM9mtgKhG+JZ9vHTTfLXy21YLkZiPfTyE=";
   };
 
-  cargoHash = "sha256-/OAaxB1AzmuSTJiZKGoEkh0TcVu+HkBvEmgyeg8R1Ds=";
+  cargoHash = "sha256-un7HE91w4p5+2LrjasKC8/q+nGg8F/6+ZACS5X3OJ1Q=";
 
   nativeBuildInputs = [ pkg-config wrapGAppsHook4 ];
 
diff --git a/pkgs/tools/misc/rpm-ostree/default.nix b/pkgs/tools/misc/rpm-ostree/default.nix
index 60a086bbbedc0..8cf801da5712e 100644
--- a/pkgs/tools/misc/rpm-ostree/default.nix
+++ b/pkgs/tools/misc/rpm-ostree/default.nix
@@ -40,13 +40,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rpm-ostree";
-  version = "2024.4";
+  version = "2024.5";
 
   outputs = [ "out" "dev" "man" "devdoc" ];
 
   src = fetchurl {
     url = "https://github.com/coreos/${pname}/releases/download/v${version}/${pname}-${version}.tar.xz";
-    hash = "sha256-7gEHr0niDCjYaZAEB2tUuFVy5wIROCanHyL/HkbZkbw=";
+    hash = "sha256-lwgEOnV82/EHRem3owngq4ALcjIWj7V1J552JsNCrBw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/misc/scdl/default.nix b/pkgs/tools/misc/scdl/default.nix
index d2e28865e33c6..5d30d7aec5051 100644
--- a/pkgs/tools/misc/scdl/default.nix
+++ b/pkgs/tools/misc/scdl/default.nix
@@ -29,7 +29,7 @@ python3Packages.buildPythonApplication rec {
     description = "Download Music from Souncloud";
     homepage = "https://github.com/flyingrub/scdl";
     license = licenses.gpl2Only;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
     mainProgram = "scdl";
   };
 }
diff --git a/pkgs/tools/misc/shadowenv/default.nix b/pkgs/tools/misc/shadowenv/default.nix
index 06b7cb4e82c29..b9387024419b1 100644
--- a/pkgs/tools/misc/shadowenv/default.nix
+++ b/pkgs/tools/misc/shadowenv/default.nix
@@ -35,7 +35,7 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://shopify.github.io/shadowenv/";
     description = "reversible directory-local environment variable manipulations";
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     mainProgram = "shadowenv";
   };
 }
diff --git a/pkgs/tools/misc/snore/default.nix b/pkgs/tools/misc/snore/default.nix
index a3b9d67bba461..572f504873f85 100644
--- a/pkgs/tools/misc/snore/default.nix
+++ b/pkgs/tools/misc/snore/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     description = "sleep with feedback";
     homepage = "https://github.com/clamiax/snore";
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = with maintainers; [ cafkafk ];
     platforms = platforms.unix;
     mainProgram = "snore";
   };
diff --git a/pkgs/tools/misc/starship/default.nix b/pkgs/tools/misc/starship/default.nix
index 1d2f484d34e42..d040534cf3004 100644
--- a/pkgs/tools/misc/starship/default.nix
+++ b/pkgs/tools/misc/starship/default.nix
@@ -60,7 +60,7 @@ rustPlatform.buildRustPackage rec {
     description = "A minimal, blazing fast, and extremely customizable prompt for any shell";
     homepage = "https://starship.rs";
     license = licenses.isc;
-    maintainers = with maintainers; [ danth davidtwco Br1ght0ne Frostman marsam ];
+    maintainers = with maintainers; [ danth davidtwco Br1ght0ne Frostman ];
     mainProgram = "starship";
   };
 }
diff --git a/pkgs/tools/misc/svtplay-dl/default.nix b/pkgs/tools/misc/svtplay-dl/default.nix
index f777c73e0bebc..5abdb5bba60d7 100644
--- a/pkgs/tools/misc/svtplay-dl/default.nix
+++ b/pkgs/tools/misc/svtplay-dl/default.nix
@@ -15,7 +15,7 @@ let
     python pytest nose3 cryptography pyyaml requests mock requests-mock
     python-dateutil setuptools;
 
-  version = "4.69";
+  version = "4.73";
 
 in
 
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     owner = "spaam";
     repo = "svtplay-dl";
     rev = version;
-    hash = "sha256-F8VyeIj9I7oDpHTyGw1T8ZvC6kxYf15soY9ni0Zg7u4=";
+    hash = "sha256-e8ewsx2mx62JTUnpMoSRL44EGDllQuk/k9gRztOkWMc=";
   };
 
   pythonPaths = [ cryptography pyyaml requests ];
diff --git a/pkgs/tools/misc/tmuxp/default.nix b/pkgs/tools/misc/tmuxp/default.nix
index 98335cc895cf3..f0352cdda3602 100644
--- a/pkgs/tools/misc/tmuxp/default.nix
+++ b/pkgs/tools/misc/tmuxp/default.nix
@@ -1,13 +1,16 @@
 { lib, python3Packages, fetchPypi, installShellFiles }:
 
-python3Packages.buildPythonApplication rec {
+let
   pname = "tmuxp";
   version = "1.46.0";
+  hash = "sha256-+aXpsB4mjw9sZLalv3knW8okP+mh2P/nbZCiCwa3UBU=";
+in
+python3Packages.buildPythonApplication {
+  inherit pname version;
   pyproject = true;
 
   src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-+aXpsB4mjw9sZLalv3knW8okP+mh2P/nbZCiCwa3UBU=";
+    inherit pname version hash;
   };
 
   nativeBuildInputs = [
@@ -17,10 +20,9 @@ python3Packages.buildPythonApplication rec {
   ];
 
   propagatedBuildInputs = with python3Packages; [
-    click
     colorama
-    kaptan
     libtmux
+    pyyaml
   ];
 
   # No tests in archive
@@ -32,12 +34,12 @@ python3Packages.buildPythonApplication rec {
       --zsh <(shtab --shell=zsh -u tmuxp.cli.create_parser)
   '';
 
-  meta = with lib; {
+  meta = {
     description = "tmux session manager";
     homepage = "https://tmuxp.git-pull.com/";
     changelog = "https://github.com/tmux-python/tmuxp/raw/v${version}/CHANGES";
-    license = licenses.mit;
-    maintainers = with maintainers; [ peterhoeg otavio ];
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ otavio ];
     mainProgram = "tmuxp";
   };
 }
diff --git a/pkgs/tools/misc/trash-cli/default.nix b/pkgs/tools/misc/trash-cli/default.nix
index 7b1e286a8ebd3..7f89f7a12cdee 100644
--- a/pkgs/tools/misc/trash-cli/default.nix
+++ b/pkgs/tools/misc/trash-cli/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "trash-cli";
-  version = "0.23.11.10";
+  version = "0.24.4.17";
 
   src = fetchFromGitHub {
     owner = "andreafrancia";
     repo = "trash-cli";
     rev = version;
-    hash = "sha256-bP1x+yYAsPQ1vXS3rmHD11UiJ7r/02akb84hr+o8JLs=";
+    hash = "sha256-pXDqn+QuhTE12zXq6A4GSGSCtYJ6hBahv2p9aYQXxaI=";
   };
 
   propagatedBuildInputs = with python3Packages; [ psutil six ];
diff --git a/pkgs/tools/misc/twspace-crawler/default.nix b/pkgs/tools/misc/twspace-crawler/default.nix
index 34a1c72e20486..fa38e636c77ef 100644
--- a/pkgs/tools/misc/twspace-crawler/default.nix
+++ b/pkgs/tools/misc/twspace-crawler/default.nix
@@ -18,7 +18,7 @@ buildNpmPackage rec {
     homepage = "https://github.com/HitomaruKonpaku/twspace-crawler";
     changelog = "https://github.com/HitomaruKonpaku/twspace-crawler/blob/${src.rev}/CHANGELOG.md";
     license = licenses.isc;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     mainProgram = "twspace-crawler";
   };
 }
diff --git a/pkgs/tools/misc/twspace-dl/default.nix b/pkgs/tools/misc/twspace-dl/default.nix
index 48f760b0e0f18..a9d86a18c66b3 100644
--- a/pkgs/tools/misc/twspace-dl/default.nix
+++ b/pkgs/tools/misc/twspace-dl/default.nix
@@ -28,7 +28,7 @@ python3Packages.buildPythonApplication rec {
     homepage = "https://github.com/HoloArchivists/twspace-dl";
     changelog = "https://github.com/HoloArchivists/twspace-dl/releases/tag/${version}";
     license = licenses.gpl2Only;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
     mainProgram = "twspace_dl";
   };
 }
diff --git a/pkgs/tools/misc/via/default.nix b/pkgs/tools/misc/via/default.nix
index 47f3df7743780..ffcd456e75fff 100644
--- a/pkgs/tools/misc/via/default.nix
+++ b/pkgs/tools/misc/via/default.nix
@@ -3,16 +3,15 @@
 let
   pname = "via";
   version = "3.0.0";
-  name = "${pname}-${version}";
   src = fetchurl {
     url = "https://github.com/the-via/releases/releases/download/v${version}/via-${version}-linux.AppImage";
     name = "via-${version}-linux.AppImage";
     sha256 = "sha256-+uTvmrqHK7L5VA/lUHCZZeRYPUrcVA+vjG7venxuHhs=";
   };
-  appimageContents = appimageTools.extractType2 { inherit name src; };
+  appimageContents = appimageTools.extractType2 { inherit pname version src; };
 in
 appimageTools.wrapType2 {
-  inherit name src;
+  inherit pname version src;
 
   profile = ''
     # Skip prompt to add udev rule.
@@ -21,7 +20,6 @@ appimageTools.wrapType2 {
   '';
 
   extraInstallCommands = ''
-    mv $out/bin/${name} $out/bin/${pname}
     install -m 444 -D ${appimageContents}/via-nativia.desktop -t $out/share/applications
     substituteInPlace $out/share/applications/via-nativia.desktop \
       --replace 'Exec=AppRun' 'Exec=${pname}'
diff --git a/pkgs/tools/misc/vial/default.nix b/pkgs/tools/misc/vial/default.nix
index e4c2b2989394c..d33a6053d5744 100644
--- a/pkgs/tools/misc/vial/default.nix
+++ b/pkgs/tools/misc/vial/default.nix
@@ -1,6 +1,5 @@
 { lib, fetchurl, appimageTools }:
 let
-  name = "vial-${version}";
   version = "0.7.1";
   pname = "Vial";
 
@@ -9,13 +8,12 @@ let
     hash = "sha256-pOcrxZ6vbnbdE/H4Kxufxm/ZovaYBXjFpVpKZYV7f3c=";
   };
 
-  appimageContents = appimageTools.extractType2 { inherit name src; };
+  appimageContents = appimageTools.extractType2 { inherit pname version src; };
 in
 appimageTools.wrapType2 {
-  inherit name src;
+  inherit pname version src;
 
   extraInstallCommands = ''
-    mv $out/bin/${name} $out/bin/${pname}
     install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications
     cp -r ${appimageContents}/usr/share/icons $out/share
 
diff --git a/pkgs/tools/misc/vtm/default.nix b/pkgs/tools/misc/vtm/default.nix
index e1bc945772616..9cd8d5df90107 100644
--- a/pkgs/tools/misc/vtm/default.nix
+++ b/pkgs/tools/misc/vtm/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "vtm";
-  version = "0.9.78";
+  version = "0.9.81";
 
   src = fetchFromGitHub {
     owner = "netxs-group";
     repo = "vtm";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-sYRBx60G/3ErBDeUJWPEaWD51B23nBseB2wDE4Tn2NA=";
+    hash = "sha256-/PVZr87w4Iu44355U9YH51jWF+mNPZvdyfYKJvOLDJU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/misc/wasm-tools/default.nix b/pkgs/tools/misc/wasm-tools/default.nix
index 6b818f9e05fc1..529815b12ec45 100644
--- a/pkgs/tools/misc/wasm-tools/default.nix
+++ b/pkgs/tools/misc/wasm-tools/default.nix
@@ -5,19 +5,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "wasm-tools";
-  version = "1.202.0";
+  version = "1.206.0";
 
   src = fetchFromGitHub {
     owner = "bytecodealliance";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-7JH93VaRQTi2pcHYB+oDqe1FDiyNDWXwRnw5qZMEi7c=";
+    hash = "sha256-dRCPur2EmEF5GV4PWSWAKIE+A9KfW2FbnUJVdXct3aA=";
     fetchSubmodules = true;
   };
 
   # Disable cargo-auditable until https://github.com/rust-secure-code/cargo-auditable/issues/124 is solved.
   auditable = false;
-  cargoHash = "sha256-8W2x9pbIu/9DXrRXo4IbSBSa8wAFj5djNpHq7gfa46E=";
+  cargoHash = "sha256-M3wtgvZWWTlB1mmyLJNHBXwVMc5b61ie/RmSGn1ow9U=";
   cargoBuildFlags = [ "--package" "wasm-tools" ];
   cargoTestFlags = [ "--all" ];
 
diff --git a/pkgs/tools/misc/watchexec/default.nix b/pkgs/tools/misc/watchexec/default.nix
index cf21202dc810c..0841a6490cc4b 100644
--- a/pkgs/tools/misc/watchexec/default.nix
+++ b/pkgs/tools/misc/watchexec/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "watchexec";
-  version = "1.25.1";
+  version = "2.0.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-0zBY0PS7qJCAabg9ZKX1JC+gaTM/WSs2U6Avcq3MHmQ=";
+    hash = "sha256-wJt8247RKS6g+O2Ho75Fn4O4w6RoxotRm0yXBRM9d8g=";
   };
 
-  cargoHash = "sha256-RSJOGiSziI2OJkRJAxPZ57uyPPjd3uExijHdIy52dr4=";
+  cargoHash = "sha256-JLDNAuYE7Pu9E82TD2cz9lnCWEC9bNQxd3MP4lXjo3k=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/tools/misc/wootility/default.nix b/pkgs/tools/misc/wootility/default.nix
index eaa910def691d..803ad53038e7a 100644
--- a/pkgs/tools/misc/wootility/default.nix
+++ b/pkgs/tools/misc/wootility/default.nix
@@ -26,7 +26,6 @@ appimageTools.wrapType2 rec {
       wooting-udev-rules
       xorg.libxkbfile
     ]);
-  extraInstallCommands = "mv $out/bin/{${pname}-${version},${pname}}";
 
   meta = with lib; {
     homepage = "https://wooting.io/wootility";
diff --git a/pkgs/tools/misc/xprite-editor/default.nix b/pkgs/tools/misc/xprite-editor/default.nix
index 87733d5d9a81e..b6a0a9b470856 100644
--- a/pkgs/tools/misc/xprite-editor/default.nix
+++ b/pkgs/tools/misc/xprite-editor/default.nix
@@ -41,7 +41,7 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/rickyhan/xprite-editor";
     description = "Pixel art editor";
     license = licenses.gpl3;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/pkgs/tools/misc/yt-dlp/default.nix b/pkgs/tools/misc/yt-dlp/default.nix
index 9844e1399f1e6..87326c4531319 100644
--- a/pkgs/tools/misc/yt-dlp/default.nix
+++ b/pkgs/tools/misc/yt-dlp/default.nix
@@ -88,7 +88,7 @@ buildPythonPackage rec {
     '';
     changelog = "https://github.com/yt-dlp/yt-dlp/releases/tag/${version}";
     license = licenses.unlicense;
-    maintainers = with maintainers; [ mkg20001 SuperSandro2000 marsam ];
+    maintainers = with maintainers; [ mkg20001 SuperSandro2000 ];
     mainProgram = "yt-dlp";
   };
 }
diff --git a/pkgs/tools/misc/ytarchive/default.nix b/pkgs/tools/misc/ytarchive/default.nix
index d2c836402e50c..fd26b0f5d28cc 100644
--- a/pkgs/tools/misc/ytarchive/default.nix
+++ b/pkgs/tools/misc/ytarchive/default.nix
@@ -25,7 +25,7 @@ buildGoModule rec {
     homepage = "https://github.com/Kethsar/ytarchive";
     description = "Garbage Youtube livestream downloader";
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     mainProgram = "ytarchive";
   };
 }
diff --git a/pkgs/tools/misc/z-lua/default.nix b/pkgs/tools/misc/z-lua/default.nix
index 2d8dcc30f33ac..f9347ad41c453 100644
--- a/pkgs/tools/misc/z-lua/default.nix
+++ b/pkgs/tools/misc/z-lua/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/skywind3000/z.lua";
     description = "A new cd command that helps you navigate faster by learning your habits";
     license = licenses.mit;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
     mainProgram = "z.lua";
   };
 }
diff --git a/pkgs/tools/misc/zellij/default.nix b/pkgs/tools/misc/zellij/default.nix
index e32304e1f201e..567783f9d7505 100644
--- a/pkgs/tools/misc/zellij/default.nix
+++ b/pkgs/tools/misc/zellij/default.nix
@@ -63,7 +63,7 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://zellij.dev/";
     changelog = "https://github.com/zellij-org/zellij/blob/v${version}/CHANGELOG.md";
     license = with licenses; [ mit ];
-    maintainers = with maintainers; [ therealansh _0x4A6F abbe thehedgeh0g ];
+    maintainers = with maintainers; [ therealansh _0x4A6F abbe pyrox0 ];
     mainProgram = "zellij";
   };
 }
diff --git a/pkgs/tools/misc/zotero-translation-server/default.nix b/pkgs/tools/misc/zotero-translation-server/default.nix
index d44ec426fee5b..5150df1fbb8f5 100644
--- a/pkgs/tools/misc/zotero-translation-server/default.nix
+++ b/pkgs/tools/misc/zotero-translation-server/default.nix
@@ -30,7 +30,7 @@ buildNpmPackage rec {
     description = "A Node.js-based server to run Zotero translators";
     homepage = "https://github.com/zotero/translation-server";
     license = licenses.agpl3Only;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     mainProgram = "translation-server";
   };
 }
diff --git a/pkgs/tools/networking/apc-temp-fetch/default.nix b/pkgs/tools/networking/apc-temp-fetch/default.nix
index 7676465eb4997..13ba358d933e8 100644
--- a/pkgs/tools/networking/apc-temp-fetch/default.nix
+++ b/pkgs/tools/networking/apc-temp-fetch/default.nix
@@ -30,6 +30,6 @@ buildPythonApplication rec {
     description = "unified temperature fetcher interface to several UPS network adapters";
     homepage = "https://github.com/YZITE/APC_Temp_fetch";
     license = licenses.asl20;
-    maintainers = [ maintainers.fogti ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/tools/networking/asleap/default.nix b/pkgs/tools/networking/asleap/default.nix
index 1d40bb3b22d42..64494ede9c593 100644
--- a/pkgs/tools/networking/asleap/default.nix
+++ b/pkgs/tools/networking/asleap/default.nix
@@ -22,6 +22,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/zackw/asleap";
     description = "Recovers weak LEAP and PPTP passwords";
     license = licenses.gpl2Only;
-    maintainers = with maintainers; [ thehedgeh0g ];
+    maintainers = with maintainers; [ pyrox0 ];
   };
 }
diff --git a/pkgs/tools/networking/boringtun/default.nix b/pkgs/tools/networking/boringtun/default.nix
index b1defdcfb1c3f..11fd60aa1ecf1 100644
--- a/pkgs/tools/networking/boringtun/default.nix
+++ b/pkgs/tools/networking/boringtun/default.nix
@@ -22,7 +22,7 @@ rustPlatform.buildRustPackage rec {
     description = "Userspace WireGuard® implementation in Rust";
     homepage = "https://github.com/cloudflare/boringtun";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ xrelkd marsam ];
+    maintainers = with maintainers; [ xrelkd ];
     platforms = platforms.linux ++ platforms.darwin;
     mainProgram = "boringtun-cli";
   };
diff --git a/pkgs/tools/networking/cassowary/default.nix b/pkgs/tools/networking/cassowary/default.nix
index 2fa92e073076d..5cb699531b1a3 100644
--- a/pkgs/tools/networking/cassowary/default.nix
+++ b/pkgs/tools/networking/cassowary/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "cassowary";
-  version = "0.16.0";
+  version = "0.17.0";
 
   src = fetchFromGitHub {
     owner = "rogerwelin";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-wRpITbxtn2sHw7kkQ8rnCPQCU0JS6smdQLq1Z/RyeHo=";
+    sha256 = "sha256-lC3GOS4hugRoQbJYVGv6kl3h6xMAukcOdV2m/u3Wgkk=";
   };
 
-  vendorHash = "sha256-b77Sje5OsysTRRbzgdLnTlLLyLIACjD4c/oS9zyI0d8=";
+  vendorHash = "sha256-YP9q9lL2A9ERhzbJBIFKsYsgvy5xYeUO3ekyQdh97f8=";
 
   ldflags = [ "-s" "-w" "-X main.version=${version}" ];
 
diff --git a/pkgs/tools/networking/checkip/default.nix b/pkgs/tools/networking/checkip/default.nix
index 180c08702901e..7262d4d08f390 100644
--- a/pkgs/tools/networking/checkip/default.nix
+++ b/pkgs/tools/networking/checkip/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "checkip";
-  version = "0.46.1";
+  version = "0.46.2";
 
   src = fetchFromGitHub {
     owner = "jreisinger";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-U0jHwKmGHpaHSiOYDeYCXiufw0JjzAmhBnINmFsqOJo=";
+    hash = "sha256-5GOVn95gaiRPoQvfeBG+zxSISwgMk0L2vexcQtPC/dw=";
   };
 
-  vendorHash = "sha256-9/z1mtZGqrvcvq8cWBpYN7kaPHaPqtyMwMNxuRRP4Cs=";
+  vendorHash = "sha256-awqaDEdWILm8RcQ8hrtJFMTJQA5TzGZhiBTMfexmtA0=";
 
   ldflags = [
     "-w"
diff --git a/pkgs/tools/networking/cloudflare-warp/default.nix b/pkgs/tools/networking/cloudflare-warp/default.nix
index ee7070d06ddad..7f5c9b18438c9 100644
--- a/pkgs/tools/networking/cloudflare-warp/default.nix
+++ b/pkgs/tools/networking/cloudflare-warp/default.nix
@@ -1,22 +1,32 @@
 { stdenv
 , lib
-, fetchurl
-, dpkg
 , autoPatchelfHook
-, makeWrapper
 , copyDesktopItems
-, makeDesktopItem
 , dbus
+, dpkg
+, fetchurl
+, gtk3
+, libpcap
+, makeDesktopItem
+, makeWrapper
 , nftables
 }:
 
 stdenv.mkDerivation rec {
   pname = "cloudflare-warp";
-  version = "2023.3.470";
+  version = "2024.4.133";
+
+  suffix = {
+    aarch64-linux = "arm64";
+    x86_64-linux = "amd64";
+  }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
 
   src = fetchurl {
-    url = "https://pkg.cloudflareclient.com/pool/jammy/main/c/cloudflare-warp/cloudflare-warp_2023.3.470-1_amd64.deb";
-    hash = "sha256-AYnmisEQKFiEB2iRJifEqRbdzAyBcfrU0ITeUokKLag=";
+    url = "https://pkg.cloudflareclient.com/pool/jammy/main/c/cloudflare-warp/cloudflare-warp_${version}-1_${suffix}.deb";
+    hash = {
+      aarch64-linux = "sha256-qua+aL4+yvpTBGCVUS1rzJX1KZ3DeaW9Bce9lYWvWOM=";
+      x86_64-linux = "sha256-xZhyYDMjcv8SLfYwclvWBqPDETbeaxiA6jFCg3Nv5gc=";
+    }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
   };
 
   nativeBuildInputs = [
@@ -28,6 +38,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     dbus
+    gtk3
+    libpcap
     stdenv.cc.cc.lib
   ];
 
@@ -44,12 +56,17 @@ stdenv.mkDerivation rec {
     })
   ];
 
+  autoPatchelfIgnoreMissingDeps = [
+    "libpcap.so.0.8"
+  ];
+
   installPhase = ''
     runHook preInstall
 
     mv usr $out
     mv bin $out
     mv etc $out
+    patchelf --replace-needed libpcap.so.0.8 ${libpcap}/lib/libpcap.so $out/bin/warp-dex
     mv lib/systemd/system $out/lib/systemd/
     substituteInPlace $out/lib/systemd/system/warp-svc.service \
       --replace "ExecStart=" "ExecStart=$out"
@@ -72,6 +89,6 @@ stdenv.mkDerivation rec {
       wolfangaukang
       devpikachu
     ];
-    platforms = [ "x86_64-linux" ];
+    platforms = [ "x86_64-linux" "aarch64-linux" ];
   };
 }
diff --git a/pkgs/tools/networking/dnsproxy/default.nix b/pkgs/tools/networking/dnsproxy/default.nix
index e9f010e89dd31..aca0907785449 100644
--- a/pkgs/tools/networking/dnsproxy/default.nix
+++ b/pkgs/tools/networking/dnsproxy/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "dnsproxy";
-  version = "0.70.0";
+  version = "0.71.0";
 
   src = fetchFromGitHub {
     owner = "AdguardTeam";
     repo = "dnsproxy";
     rev = "v${version}";
-    hash = "sha256-kXIUcTT3LGhKeUVlq/hDvO6/y/mQNIFBhJLSe1F89EI=";
+    hash = "sha256-2Qn5lYam4bMA7JS/rovHTUGXovCUOhikpv8pcWzyO24=";
   };
 
-  vendorHash = "sha256-ECi6NciA5oyUyVaVlON4mAPKoWQSDvgV0uwk5MGYjy4=";
+  vendorHash = "sha256-8t1/XIjDXRHumHkRNxQBeexL2qN94AHModk8ioLpMNY=";
 
   ldflags = [ "-s" "-w" "-X" "github.com/AdguardTeam/dnsproxy/internal/version.version=${version}" ];
 
diff --git a/pkgs/tools/networking/fping/default.nix b/pkgs/tools/networking/fping/default.nix
index df36d80925798..bf97d0c3155a6 100644
--- a/pkgs/tools/networking/fping/default.nix
+++ b/pkgs/tools/networking/fping/default.nix
@@ -1,21 +1,30 @@
-{ lib, stdenv, fetchurl }:
+{
+  lib,
+  stdenv,
+  fetchurl,
+}:
 
 stdenv.mkDerivation rec {
   pname = "fping";
-  version = "5.1";
+  version = "5.2";
 
   src = fetchurl {
     url = "https://www.fping.org/dist/fping-${version}.tar.gz";
-    sha256 = "sha256-HuUmjAY9dmRq8rRCYFLn2BpCtlfmp32OfT0uYP10Cf4=";
+    hash = "sha256-p2ktENc/sLt24fdFmqfxm7zb/Frb7e8C9GiXSxiw5C8=";
   };
 
-  configureFlags = [ "--enable-ipv6" "--enable-ipv4" ];
+  configureFlags = [
+    "--enable-ipv6"
+    "--enable-ipv4"
+  ];
 
   meta = with lib; {
-    homepage = "http://fping.org/";
     description = "Send ICMP echo probes to network hosts";
+    homepage = "http://fping.org/";
+    changelog = "https://github.com/schweikert/fping/releases/tag/v${version}";
     license = licenses.bsd0;
-    platforms = platforms.all;
     mainProgram = "fping";
+    maintainers = with maintainers; [ fab ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/networking/ghz/default.nix b/pkgs/tools/networking/ghz/default.nix
index 89253f3fe4891..eb20a398e419a 100644
--- a/pkgs/tools/networking/ghz/default.nix
+++ b/pkgs/tools/networking/ghz/default.nix
@@ -35,6 +35,5 @@ buildGoModule rec {
     description = "Simple gRPC benchmarking and load testing tool";
     homepage = "https://ghz.sh";
     license = licenses.asl20;
-    maintainers = [ maintainers.zombiezen ];
   };
 }
diff --git a/pkgs/tools/networking/goflow2/default.nix b/pkgs/tools/networking/goflow2/default.nix
index c8bb785413cac..6edd9b87f6577 100644
--- a/pkgs/tools/networking/goflow2/default.nix
+++ b/pkgs/tools/networking/goflow2/default.nix
@@ -1,8 +1,8 @@
-{ lib
-, buildGoModule
-, fetchFromGitHub
+{
+  lib,
+  buildGoModule,
+  fetchFromGitHub,
 }:
-
 buildGoModule rec {
   pname = "goflow2";
   version = "2.1.3";
@@ -26,6 +26,6 @@ buildGoModule rec {
     description = "High performance sFlow/IPFIX/NetFlow Collector";
     homepage = "https://github.com/netsampler/goflow2";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ yuka ];
+    maintainers = with maintainers; [ isabelroses ];
   };
 }
diff --git a/pkgs/tools/networking/gping/default.nix b/pkgs/tools/networking/gping/default.nix
index 80e6898630d28..1a3303049e049 100644
--- a/pkgs/tools/networking/gping/default.nix
+++ b/pkgs/tools/networking/gping/default.nix
@@ -41,7 +41,7 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/orf/gping";
     changelog = "https://github.com/orf/gping/releases/tag/gping-v${version}";
     license = licenses.mit;
-    maintainers = with maintainers; [ andrew-d ];
+    maintainers = with maintainers; [ cafkafk ];
     mainProgram = "gping";
   };
 }
diff --git a/pkgs/tools/networking/graphqurl/default.nix b/pkgs/tools/networking/graphqurl/default.nix
index e0b6fa9de9c01..3e7d05ce44e1d 100644
--- a/pkgs/tools/networking/graphqurl/default.nix
+++ b/pkgs/tools/networking/graphqurl/default.nix
@@ -5,16 +5,16 @@
 
 buildNpmPackage rec {
   pname = "graphqurl";
-  version = "1.0.1";
+  version = "1.0.3";
 
   src = fetchFromGitHub {
     owner = "hasura";
     repo = "graphqurl";
     rev = "v${version}";
-    hash = "sha256-0dR8lLD0yatAvE3kA90cNOzVRTFpQmzN1l13hdFr3TM=";
+    hash = "sha256-w7t3p7TOBA0nxUlfRfQkiZ26SCDCwv03A1r+pTgUCqc=";
   };
 
-  npmDepsHash = "sha256-2kLmhNFO/ySa6S9rBNYCePmsYXWz006IxiOJ7ZUkgPw=";
+  npmDepsHash = "sha256-17eRYr0vgnq7eFtlYY2CwvluwhbXWClL3onTNBkDF0c=";
 
   dontNpmBuild = true;
 
diff --git a/pkgs/tools/networking/grpc_cli/default.nix b/pkgs/tools/networking/grpc_cli/default.nix
index 993a0707bc80b..9fac34f18bb0b 100644
--- a/pkgs/tools/networking/grpc_cli/default.nix
+++ b/pkgs/tools/networking/grpc_cli/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "grpc_cli";
-  version = "1.62.2";
+  version = "1.63.0";
   src = fetchFromGitHub {
     owner = "grpc";
     repo = "grpc";
     rev = "v${version}";
-    hash = "sha256-LHR29QP0yyfKw9hr3SzkdP0WmHP2b4boBgTXgsiAqjs=";
+    hash = "sha256-xTDHd1VA7xjAnGNNwtk3vZuljVHZsjAzLc/uWdt+2Fs=";
     fetchSubmodules = true;
   };
   nativeBuildInputs = [ automake cmake autoconf ];
diff --git a/pkgs/tools/networking/hysteria/default.nix b/pkgs/tools/networking/hysteria/default.nix
index 33b0d9d4c1526..5443d2c7f957a 100644
--- a/pkgs/tools/networking/hysteria/default.nix
+++ b/pkgs/tools/networking/hysteria/default.nix
@@ -4,16 +4,16 @@
 }:
 buildGoModule rec {
   pname = "hysteria";
-  version = "2.4.1";
+  version = "2.4.3";
 
   src = fetchFromGitHub {
     owner = "apernet";
     repo = pname;
     rev = "app/v${version}";
-    hash = "sha256-ohqWubYR9Z5KtMEOyqVfxnmNO6SoaSsA3SOMDivVA54=";
+    hash = "sha256-4i3bXtg7WCSPDE7fUWVJnOOFNGLAo1F/a2wbuUH785o=";
   };
 
-  vendorHash = "sha256-DuQwg4vJgwC6IBs+8J5OVdO67OgdhmGTF88zlikHaAQ=";
+  vendorHash = "sha256-dV/bomGPg0Q3OEDuu6vRVsFRveDVzw6Hv0KLla2uZqc=";
   proxyVendor = true;
 
   ldflags =
diff --git a/pkgs/tools/networking/lychee/default.nix b/pkgs/tools/networking/lychee/default.nix
index 91620663e604c..d141217591509 100644
--- a/pkgs/tools/networking/lychee/default.nix
+++ b/pkgs/tools/networking/lychee/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "lychee";
-  version = "0.14.3";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "lycheeverse";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-Ogbfzb57HaWJD2AR9fequty9SyXJ8aqbQ6Tlt82EP/c=";
+    hash = "sha256-luc6rzNYhS+c5B4S3/cOvDqnRF+LfRDY1aw99hkF+nE=";
   };
 
-  cargoHash = "sha256-EmSM8lRCjX9XZVr34SpMhTIKWxRsaJ+g4EphV8bahsU=";
+  cargoHash = "sha256-kGdRz5m0L3v3DBeabYq1Zp0bEEPW5C0y+A7tTjWkCwM=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/tools/networking/minio-client/default.nix b/pkgs/tools/networking/minio-client/default.nix
index 3b09ddf5694d6..b9e23b6548ef5 100644
--- a/pkgs/tools/networking/minio-client/default.nix
+++ b/pkgs/tools/networking/minio-client/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "minio-client";
-  version = "2024-04-18T16-45-29Z";
+  version = "2024-04-29T09-56-05Z";
 
   src = fetchFromGitHub {
     owner = "minio";
     repo = "mc";
     rev = "RELEASE.${version}";
-    sha256 = "sha256-aEhkk1nB8CGzuZfD8a62RwzcvF2HZTm1LPfb13c6x9Q=";
+    sha256 = "sha256-Fx7D8w5cPrl/TFmMIGZxn00BC0AYaLEh6K1PQ10jTBQ=";
   };
 
-  vendorHash = "sha256-qb4gR//8UzJAJ5WthfyxYwhR3YCwUGxfy8aRMW2MXks=";
+  vendorHash = "sha256-vqPSzzNIvy+9J9bPE4hxWvRPuPKpB8ahuu6ENnFmfJ0=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/tools/networking/mockoon/default.nix b/pkgs/tools/networking/mockoon/default.nix
index 0a2670009cced..362d400f48d5d 100644
--- a/pkgs/tools/networking/mockoon/default.nix
+++ b/pkgs/tools/networking/mockoon/default.nix
@@ -21,8 +21,6 @@ appimageTools.wrapType2 {
   inherit pname version src;
 
   extraInstallCommands = ''
-    mv $out/bin/${pname}-${version} $out/bin/${pname}
-
     install -Dm 444 ${appimageContents}/${pname}.desktop -t $out/share/applications
     cp -r ${appimageContents}/usr/share/icons $out/share
 
diff --git a/pkgs/tools/networking/motrix/default.nix b/pkgs/tools/networking/motrix/default.nix
index 2270034ce5de2..2d0919cb0aceb 100644
--- a/pkgs/tools/networking/motrix/default.nix
+++ b/pkgs/tools/networking/motrix/default.nix
@@ -19,8 +19,6 @@ appimageTools.wrapType2 {
   inherit pname version src;
 
   extraInstallCommands = ''
-    mv $out/bin/${pname}-${version} $out/bin/${pname}
-
     install -Dm 444 ${appimageContents}/${pname}.desktop -t $out/share/applications
     cp -r ${appimageContents}/usr/share/icons $out/share
 
diff --git a/pkgs/tools/networking/mqttmultimeter/default.nix b/pkgs/tools/networking/mqttmultimeter/default.nix
index e2d6f4e6fbd37..1c2c290bef787 100644
--- a/pkgs/tools/networking/mqttmultimeter/default.nix
+++ b/pkgs/tools/networking/mqttmultimeter/default.nix
@@ -4,7 +4,6 @@
 , dotnet-runtime_8
 , buildDotnetModule
 , fetchFromGitHub
-, autoPatchelfHook
 , fontconfig
 , xorg
 , libglvnd
@@ -12,9 +11,6 @@
 , copyDesktopItems
 }:
 
-# NOTES:
-# 1. we need autoPatchelfHook for quite a number of things in $out/lib
-
 buildDotnetModule rec {
   pname = "mqttmultimeter";
   version = "1.8.2.272";
@@ -35,13 +31,11 @@ buildDotnetModule rec {
   executables = [ "mqttMultimeter" ];
 
   nativeBuildInputs = [
-    autoPatchelfHook
     copyDesktopItems
   ];
 
   buildInputs = [ stdenv.cc.cc.lib fontconfig ];
 
-  # don't care about musl and windows versions, as they fail autoPatchelfHook
   postInstall = ''
     rm -rf $out/lib/${lib.toLower pname}/runtimes/{*musl*,win*}
   '';
diff --git a/pkgs/tools/networking/networkmanager/default.nix b/pkgs/tools/networking/networkmanager/default.nix
index 67de0c877d0d7..16ec7b7a0ccab 100644
--- a/pkgs/tools/networking/networkmanager/default.nix
+++ b/pkgs/tools/networking/networkmanager/default.nix
@@ -214,7 +214,7 @@ stdenv.mkDerivation rec {
     description = "Network configuration and management tool";
     license = licenses.gpl2Plus;
     changelog = "https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/raw/${version}/NEWS";
-    maintainers = teams.freedesktop.members ++ (with maintainers; [ domenkozar obadz amaxine ]);
+    maintainers = teams.freedesktop.members ++ (with maintainers; [ domenkozar obadz ]);
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/networkmanager/l2tp/default.nix b/pkgs/tools/networking/networkmanager/l2tp/default.nix
index ac60739abcff1..bcc5e314cfbaa 100644
--- a/pkgs/tools/networking/networkmanager/l2tp/default.nix
+++ b/pkgs/tools/networking/networkmanager/l2tp/default.nix
@@ -22,13 +22,13 @@
 stdenv.mkDerivation rec {
   name = "${pname}${lib.optionalString withGnome "-gnome"}-${version}";
   pname = "NetworkManager-l2tp";
-  version = "1.20.12";
+  version = "1.20.14";
 
   src = fetchFromGitHub {
     owner = "nm-l2tp";
     repo = "network-manager-l2tp";
     rev = version;
-    hash = "sha256-fFgalLDjSOW+f69ZWKthvoeQHkS1max0/WXLOw2eR9Q=";
+    hash = "sha256-PTDr2M88ZC3Y92zsz/GiSxavd8MdfC9lwxep0+Wjgjk=";
   };
 
   patches = [
diff --git a/pkgs/tools/networking/ntttcp/default.nix b/pkgs/tools/networking/ntttcp/default.nix
index cc816b737bdbb..af1a298fdadbf 100644
--- a/pkgs/tools/networking/ntttcp/default.nix
+++ b/pkgs/tools/networking/ntttcp/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     description = "A Linux network throughput multiple-thread benchmark tool";
     homepage = "https://github.com/microsoft/ntttcp-for-linux";
     license = licenses.mit;
-    maintainers = with maintainers; [ delroth ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.linux;
     mainProgram = "ntttcp";
   };
diff --git a/pkgs/tools/networking/nzbget/default.nix b/pkgs/tools/networking/nzbget/default.nix
index 574045aaa10b3..c1eff0920f0b2 100644
--- a/pkgs/tools/networking/nzbget/default.nix
+++ b/pkgs/tools/networking/nzbget/default.nix
@@ -19,23 +19,15 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "nzbget";
-  version = "23.0";
+  version = "24.0";
 
   src = fetchFromGitHub {
     owner = "nzbgetcom";
     repo = "nzbget";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-JqC82zpsIqRYB7128gTSOQMWJFR/t63NJXlPgGqP0jE=";
+    hash = "sha256-vEtbf4y3Jc69FrEzGE34Xt/4oDmZlWTbwispvoypRI0=";
   };
 
-  patches = [
-    # add nzbget-ng patch not in nzbgetcom for buffer overflow issue -- see https://github.com/nzbget-ng/nzbget/pull/43
-    (fetchpatch {
-      url = "https://github.com/nzbget-ng/nzbget/commit/8fbbbfb40003c6f32379a562ce1d12515e61e93e.patch";
-      hash = "sha256-mgI/twEoMTFMFGfH1/Jm6mE9u9/CE6RwELCSGx5erUo=";
-    })
-  ];
-
   nativeBuildInputs = [ autoreconfHook pkg-config ];
 
   buildInputs = [
diff --git a/pkgs/tools/networking/ockam/default.nix b/pkgs/tools/networking/ockam/default.nix
index c191efbff6e1a..612e6b7f9a412 100644
--- a/pkgs/tools/networking/ockam/default.nix
+++ b/pkgs/tools/networking/ockam/default.nix
@@ -13,7 +13,7 @@
 
 let
   pname = "ockam";
-  version = "0.121.0";
+  version = "0.122.0";
 in
 rustPlatform.buildRustPackage {
   inherit pname version;
@@ -22,10 +22,10 @@ rustPlatform.buildRustPackage {
     owner = "build-trust";
     repo = pname;
     rev = "ockam_v${version}";
-    hash = "sha256-WXkprfA7DY3ZKCtTkVYMqYxyhLbfXPbXhYd0Oj5mJ+w=";
+    hash = "sha256-0iFY9T+44V3hT21OLGeao2dyEbyNWrQdLAFhMe8QD5o=";
   };
 
-  cargoHash = "sha256-TLNV+6n9J9rhf8Lck0HK+ZNPDDh8C+M+MLbIWBS8cO0=";
+  cargoHash = "sha256-yctLLRX6ZHIA19cfQhnbvcveMq2HVyTBrG8aRbr5HXw=";
   nativeBuildInputs = [ git pkg-config ];
   buildInputs = [ openssl dbus ]
     ++ lib.optionals stdenv.isDarwin [ AppKit Security ];
diff --git a/pkgs/tools/networking/offlineimap/default.nix b/pkgs/tools/networking/offlineimap/default.nix
index 33fe31b91d6e6..16bca4c2197da 100644
--- a/pkgs/tools/networking/offlineimap/default.nix
+++ b/pkgs/tools/networking/offlineimap/default.nix
@@ -75,7 +75,7 @@ python3.pkgs.buildPythonApplication rec {
     description = "Synchronize emails between two repositories, so that you can read the same mailbox from multiple computers";
     homepage = "http://offlineimap.org";
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ endocrimes ];
+    maintainers = with maintainers; [ ];
     mainProgram = "offlineimap";
   };
 }
diff --git a/pkgs/tools/networking/oha/default.nix b/pkgs/tools/networking/oha/default.nix
index cbe629234b404..40eedfffb7a64 100644
--- a/pkgs/tools/networking/oha/default.nix
+++ b/pkgs/tools/networking/oha/default.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "oha";
-  version = "1.4.1";
+  version = "1.4.4";
 
   src = fetchFromGitHub {
     owner = "hatoo";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-r5jYHs+oVflgFTQZpKvdNs56TmZtyljZKDJMVP+iUNY=";
+    hash = "sha256-ghzBP7Y76eUmVbKAym7bujXdwJtHxuZKBt3kcbBriY4=";
   };
 
-  cargoHash = "sha256-Q3ixlB/P/99h6ZuT37KrM9fxyBzcmlmM5jw6xDT2lPE=";
+  cargoHash = "sha256-2QY4vmLvJ+QcSAfeDPGGW/YcUWd1kKeqKbYThYf4uOA=";
 
   nativeBuildInputs = lib.optionals stdenv.isLinux [
     pkg-config
diff --git a/pkgs/tools/networking/openssh/default.nix b/pkgs/tools/networking/openssh/default.nix
index e0d34e23a6b06..855ce3de34cba 100644
--- a/pkgs/tools/networking/openssh/default.nix
+++ b/pkgs/tools/networking/openssh/default.nix
@@ -58,12 +58,12 @@ in
 
   openssh_gssapi = common rec {
     pname = "openssh-with-gssapi";
-    version = "9.6p1";
+    version = "9.7p1";
     extraDesc = " with GSSAPI support";
 
     src = fetchurl {
       url = "mirror://openbsd/OpenSSH/portable/openssh-${version}.tar.gz";
-      hash = "sha256-kQIRwHJVqMWtZUORtA7lmABxDdgRndU2LeCThap6d3w=";
+      hash = "sha256-SQQm92bYKidj/KzY2D6j1weYdQx70q/y5X3FZg93P/0=";
     };
 
     extraPatches = [
@@ -71,8 +71,8 @@ in
 
       (fetchpatch {
         name = "openssh-gssapi.patch";
-        url = "https://salsa.debian.org/ssh-team/openssh/raw/debian/1%25${version}-1/debian/patches/gssapi.patch";
-        hash = "sha256-gzDQdO6yOoN0apGj5aoKFdUkmKzFyphFUdgNhDLMp8U=";
+        url = "https://salsa.debian.org/ssh-team/openssh/raw/debian/1%25${version}-3/debian/patches/gssapi.patch";
+        hash = "sha256-/lEbH5sIS+o+DStEDAghFy43nZlvcIXSFJrnvp+fDdY=";
       })
     ];
 
diff --git a/pkgs/tools/networking/p2p/gtk-gnutella/default.nix b/pkgs/tools/networking/p2p/gtk-gnutella/default.nix
index 53622d30db489..2c75cefe850e5 100644
--- a/pkgs/tools/networking/p2p/gtk-gnutella/default.nix
+++ b/pkgs/tools/networking/p2p/gtk-gnutella/default.nix
@@ -60,7 +60,7 @@ stdenv.mkDerivation (finalAttrs: {
     description = "A GTK Gnutella client, optimized for speed and scalability";
     mainProgram = "gtk-gnutella";
     homepage = "https://gtk-gnutella.sourceforge.net/"; # Code: https://github.com/gtk-gnutella/gtk-gnutella
-    changelog = "https://raw.githubusercontent.com/gtk-gnutella/gtk-gnutella/v${version}/ChangeLog";
+    changelog = "https://raw.githubusercontent.com/gtk-gnutella/gtk-gnutella/v${finalAttrs.version}/ChangeLog";
     maintainers = [ maintainers.doronbehar ];
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
diff --git a/pkgs/tools/networking/pixiecore/default.nix b/pkgs/tools/networking/pixiecore/default.nix
index e73999d446890..cbdee103912ff 100644
--- a/pkgs/tools/networking/pixiecore/default.nix
+++ b/pkgs/tools/networking/pixiecore/default.nix
@@ -22,7 +22,7 @@ buildGoModule rec {
     description = "A tool to manage network booting of machines";
     homepage = "https://github.com/danderson/netboot/tree/master/pixiecore";
     license =  lib.licenses.asl20;
-    maintainers = with lib.maintainers; [ bbigras danderson ];
+    maintainers = with lib.maintainers; [ bbigras ];
     mainProgram = "pixiecore";
   };
 }
diff --git a/pkgs/tools/networking/ratman/default.nix b/pkgs/tools/networking/ratman/default.nix
index 96b1b94563af5..7dee1717e9cbf 100644
--- a/pkgs/tools/networking/ratman/default.nix
+++ b/pkgs/tools/networking/ratman/default.nix
@@ -88,6 +88,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://git.irde.st/we/irdest";
     platforms = platforms.unix;
     license = licenses.agpl3Only;
-    maintainers = with maintainers; [ spacekookie yuka ];
+    maintainers = with maintainers; [ spacekookie ];
   };
 }
diff --git a/pkgs/tools/networking/requestly/default.nix b/pkgs/tools/networking/requestly/default.nix
index 20e877563afa9..6f5dec9975594 100644
--- a/pkgs/tools/networking/requestly/default.nix
+++ b/pkgs/tools/networking/requestly/default.nix
@@ -18,8 +18,6 @@ appimageTools.wrapType2 {
   inherit pname version src;
 
   extraInstallCommands = ''
-    mv $out/bin/${pname}-${version} $out/bin/${pname}
-
     install -Dm 444 ${appimageContents}/${pname}.desktop -t $out/share/applications
     cp -r ${appimageContents}/usr/share/icons $out/share
   '';
diff --git a/pkgs/tools/networking/shadowsocks-rust/default.nix b/pkgs/tools/networking/shadowsocks-rust/default.nix
index 4f1885c2d7f2a..3cf9c598b4ac7 100644
--- a/pkgs/tools/networking/shadowsocks-rust/default.nix
+++ b/pkgs/tools/networking/shadowsocks-rust/default.nix
@@ -52,6 +52,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/shadowsocks/shadowsocks-rust";
     changelog = "https://github.com/shadowsocks/shadowsocks-rust/raw/v${version}/debian/changelog";
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/tools/networking/sing-box/default.nix b/pkgs/tools/networking/sing-box/default.nix
index da73cd8d0f7a2..75ab85403951a 100644
--- a/pkgs/tools/networking/sing-box/default.nix
+++ b/pkgs/tools/networking/sing-box/default.nix
@@ -11,16 +11,16 @@
 
 buildGoModule rec {
   pname = "sing-box";
-  version = "1.8.11";
+  version = "1.8.12";
 
   src = fetchFromGitHub {
     owner = "SagerNet";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-arAT23Cf72CcBVxsSK46eqVxTw8lHiHzzr2u2Xj0dcg=";
+    hash = "sha256-hgp4SzPJMeIaCxsuK7Y93h6E3KxK0KdNp+DCfv8UtiI=";
   };
 
-  vendorHash = "sha256-JI8YB1o84xFcfG1p4SkWdhubZlp9q1THfj1Clb8TvHA=";
+  vendorHash = "sha256-4P36eTT7Q5+fZuPUGKEYal3NQ9WyEJxfNVoKJRIk6bo=";
 
   tags = [
     "with_quic"
diff --git a/pkgs/tools/networking/sitespeed-io/default.nix b/pkgs/tools/networking/sitespeed-io/default.nix
index efffd6de379a0..ed7bf5363e9bc 100644
--- a/pkgs/tools/networking/sitespeed-io/default.nix
+++ b/pkgs/tools/networking/sitespeed-io/default.nix
@@ -24,13 +24,13 @@
 assert (!withFirefox && !withChromium) -> throw "Either `withFirefox` or `withChromium` must be enabled.";
 buildNpmPackage rec {
   pname = "sitespeed-io";
-  version = "33.5.0";
+  version = "33.6.0";
 
   src = fetchFromGitHub {
     owner = "sitespeedio";
     repo = "sitespeed.io";
     rev = "v${version}";
-    hash = "sha256-CR2/EBFxwUPAWnOXD1sEV1XirSJy6ojOndRR8Y1Ir24=";
+    hash = "sha256-ln4P0mVKv/QppkKJwBQsV1OSvH3OFUsDN/WsOyRDGus=";
   };
 
   nodejs = nodejs_18;
@@ -46,7 +46,7 @@ buildNpmPackage rec {
 
   dontNpmBuild = true;
   npmInstallFlags = [ "--omit=dev" ];
-  npmDepsHash = "sha256-7MB5zc4b0cy0OzAKidcmBeBMor/ZsMfHlRBN/y9QKI4=";
+  npmDepsHash = "sha256-XdWpoXeDY7eV5F9UezUZBsr3RelajleVNzThTEjzw74=";
 
   postInstall = ''
     mv $out/bin/sitespeed{.,-}io
diff --git a/pkgs/tools/networking/slirp4netns/default.nix b/pkgs/tools/networking/slirp4netns/default.nix
index 2b2091d85b27c..85c5f36063a7b 100644
--- a/pkgs/tools/networking/slirp4netns/default.nix
+++ b/pkgs/tools/networking/slirp4netns/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "slirp4netns";
-  version = "1.2.3";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "rootless-containers";
     repo = "slirp4netns";
     rev = "v${version}";
-    sha256 = "sha256-6kfL0ZjXzcyZl3remLi25RMLWCpg+a8EHC1M5LJE4a4=";
+    sha256 = "sha256-SjdRFcW8xjwJurOcNoHZTp3Ug17DmPrYZu8gcpQL2mE=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/pkgs/tools/networking/speedtest-go/default.nix b/pkgs/tools/networking/speedtest-go/default.nix
index 9570442345ece..3d079932c607d 100644
--- a/pkgs/tools/networking/speedtest-go/default.nix
+++ b/pkgs/tools/networking/speedtest-go/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "speedtest-go";
-  version = "1.6.10";
+  version = "1.6.12";
 
   src = fetchFromGitHub {
     owner = "showwin";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-Uk7ZKGxyK4b7P87qN7rGgj4oXJgYhH4NzZa+4fOkh14=";
+    hash = "sha256-YXLa/0WCWDhQNIDM4kY/5BvUnb+GMmNzAZcYewrMYeg=";
   };
 
   vendorHash = "sha256-wQqAX7YuxxTiMWmV9LRoXunGMMzs12UyHbf4VvbQF1E=";
diff --git a/pkgs/tools/networking/xray/default.nix b/pkgs/tools/networking/xray/default.nix
index e2ac3e2264b30..e2a07cf2d2625 100644
--- a/pkgs/tools/networking/xray/default.nix
+++ b/pkgs/tools/networking/xray/default.nix
@@ -11,16 +11,16 @@
 
 buildGoModule rec {
   pname = "xray";
-  version = "1.8.10";
+  version = "1.8.11";
 
   src = fetchFromGitHub {
     owner = "XTLS";
     repo = "Xray-core";
     rev = "v${version}";
-    hash = "sha256-Pc3sWVUZTOyCxGHcfKJ3fc0vUKtymPTe5DOEP+dScwg=";
+    hash = "sha256-uOE+Gp42WsqSA5/kQRjk+BKq9igmZCrq/9v1BJMXwFc=";
   };
 
-  vendorHash = "sha256-e+SJQBfwIkuzRblOQPt8ZKZgROBAZy2y5dyh6ykdFeg=";
+  vendorHash = "sha256-7E/H8ctv9BU59wPmywNeDhx1R4mqrjpM9E+Hz+AaPlk=";
 
   nativeBuildInputs = [ makeWrapper ];
 
diff --git a/pkgs/tools/networking/ytcc/default.nix b/pkgs/tools/networking/ytcc/default.nix
index d771db21d494e..5e326316817af 100644
--- a/pkgs/tools/networking/ytcc/default.nix
+++ b/pkgs/tools/networking/ytcc/default.nix
@@ -55,6 +55,6 @@ python3Packages.buildPythonApplication rec {
     description = "Command Line tool to keep track of your favourite YouTube channels without signing up for a Google account";
     homepage = "https://github.com/woefe/ytcc";
     license = lib.licenses.gpl3Plus;
-    maintainers = with lib.maintainers; [ marius851000 marsam ];
+    maintainers = with lib.maintainers; [ marius851000 ];
   };
 }
diff --git a/pkgs/tools/networking/zrok/default.nix b/pkgs/tools/networking/zrok/default.nix
index 6de421dce2d19..ac21cd9d0fcf2 100644
--- a/pkgs/tools/networking/zrok/default.nix
+++ b/pkgs/tools/networking/zrok/default.nix
@@ -14,14 +14,14 @@ let
   }.${system} or throwSystem;
 
   hash = {
-    x86_64-linux = "sha256-XzMd2NgMY8AUSjdYDyOEcK3HlZ5hl+L/ulHgy2iDtKg=";
-    aarch64-linux = "sha256-ypjg73ciUhXIyiNSLzim8AZV0ByU27WRc3PJqTyTllg=";
-    armv7l-linux = "sha256-VgVn5NsGpvGpkLQRZDphOgeZFQzhR2rVfcwi/EkJ/y4=";
+    x86_64-linux = "sha256-cg/4BNjL0+Zl8AHJOK/vVutXrz1aLJ+4cHvzcx5iU/8=";
+    aarch64-linux = "sha256-W+wTOZUYMqqAOrnhrWsnGYfz7FUQ7D/ssoMsZWrhTqw=";
+    armv7l-linux = "sha256-Sgfrms2prm3VJECKoqb5NaTYkgGHTdfm2mcR+BIPm2U=";
   }.${system} or throwSystem;
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "zrok";
-  version = "0.4.26";
+  version = "0.4.27";
 
   src = fetchzip {
     url = "https://github.com/openziti/zrok/releases/download/v${finalAttrs.version}/zrok_${finalAttrs.version}_${plat}.tar.gz";
diff --git a/pkgs/tools/networking/zs-apc-spdu-ctl/default.nix b/pkgs/tools/networking/zs-apc-spdu-ctl/default.nix
index d832a102f33be..bb523aa707c35 100644
--- a/pkgs/tools/networking/zs-apc-spdu-ctl/default.nix
+++ b/pkgs/tools/networking/zs-apc-spdu-ctl/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "APC SPDU control utility";
     license = licenses.mit;
-    maintainers = [ maintainers.fogti ];
+    maintainers = [ ];
     platforms = platforms.linux;
     mainProgram = "zs-apc-spdu-ctl";
   };
diff --git a/pkgs/tools/networking/zs-wait4host/default.nix b/pkgs/tools/networking/zs-wait4host/default.nix
index a33d25561e2e5..96d200382b356 100644
--- a/pkgs/tools/networking/zs-wait4host/default.nix
+++ b/pkgs/tools/networking/zs-wait4host/default.nix
@@ -28,7 +28,7 @@ stdenvNoCC.mkDerivation rec {
     description = "Wait for a host to come up/go down";
     homepage = "https://ytrizja.de/";
     license = licenses.gpl3Plus;
-    maintainers = [ maintainers.fogti ];
+    maintainers = [ ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/package-management/akku/default.nix b/pkgs/tools/package-management/akku/default.nix
index 68ee94d3f94e2..4b96fed6d32ab 100644
--- a/pkgs/tools/package-management/akku/default.nix
+++ b/pkgs/tools/package-management/akku/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
     changelog = "https://gitlab.com/akkuscm/akku/-/raw/v${version}/NEWS.md";
     platforms = platforms.all;
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
     mainProgram = "akku";
   };
 }
diff --git a/pkgs/tools/package-management/comma/default.nix b/pkgs/tools/package-management/comma/default.nix
index cf3b9c3dc9e44..d9e33a82ed6ec 100644
--- a/pkgs/tools/package-management/comma/default.nix
+++ b/pkgs/tools/package-management/comma/default.nix
@@ -38,6 +38,6 @@ rustPlatform.buildRustPackage rec {
     description = "Runs programs without installing them";
     license = licenses.mit;
     mainProgram = "comma";
-    maintainers = with maintainers; [ Enzime artturin marsam ];
+    maintainers = with maintainers; [ Enzime artturin ];
   };
 }
diff --git a/pkgs/tools/package-management/dnf5/default.nix b/pkgs/tools/package-management/dnf5/default.nix
index 39c2b0cb329b0..81c4a10c08c9a 100644
--- a/pkgs/tools/package-management/dnf5/default.nix
+++ b/pkgs/tools/package-management/dnf5/default.nix
@@ -112,7 +112,7 @@ stdenv.mkDerivation (finalAttrs: {
   meta = with lib; {
     description = "Next-generation RPM package management system";
     homepage = "https://github.com/rpm-software-management/dnf5";
-    changelog = "https://github.com/rpm-software-management/dnf5/releases/tag/${version}";
+    changelog = "https://github.com/rpm-software-management/dnf5/releases/tag/${finalAttrs.version}";
     license = licenses.gpl2Plus;
     maintainers = with lib.maintainers; [ malt3 katexochen ];
     mainProgram = "dnf5";
diff --git a/pkgs/tools/package-management/nfpm/default.nix b/pkgs/tools/package-management/nfpm/default.nix
index 67d9bd518588b..3b68b36403e2c 100644
--- a/pkgs/tools/package-management/nfpm/default.nix
+++ b/pkgs/tools/package-management/nfpm/default.nix
@@ -38,7 +38,7 @@ buildGoModule rec {
     description = "A simple deb and rpm packager written in Go";
     homepage = "https://github.com/goreleaser/nfpm";
     changelog = "https://github.com/goreleaser/nfpm/releases/tag/v${version}";
-    maintainers = with maintainers; [ marsam techknowlogick caarlos0 ];
+    maintainers = with maintainers; [ techknowlogick caarlos0 ];
     license = with licenses; [ mit ];
     mainProgram = "nfpm";
   };
diff --git a/pkgs/tools/package-management/niff/default.nix b/pkgs/tools/package-management/niff/default.nix
index 827d4353f2835..9fd71964dc26f 100644
--- a/pkgs/tools/package-management/niff/default.nix
+++ b/pkgs/tools/package-management/niff/default.nix
@@ -29,7 +29,6 @@ in stdenv.mkDerivation {
     description = "A program that compares two Nix expressions and determines which attributes changed";
     homepage = "https://github.com/FRidh/niff";
     license = lib.licenses.mit;
-    maintainers = [ lib.maintainers.fridh ];
     mainProgram = "niff";
   };
 }
diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix
index 61053e491dbb3..3eb49fb62b3d7 100644
--- a/pkgs/tools/package-management/nix/default.nix
+++ b/pkgs/tools/package-management/nix/default.nix
@@ -109,27 +109,6 @@ let
     hash = "sha256-f+F0fUO+bqyPXjt+IXJtISVr589hdc3y+Cdrxznb+Nk=";
   };
 
-  # https://github.com/NixOS/nix/pull/7473
-  patch-sqlite-exception = fetchpatch2 {
-    name = "nix-7473-sqlite-exception-add-message.patch";
-    url = "https://github.com/hercules-ci/nix/commit/c965f35de71cc9d88f912f6b90fd7213601e6eb8.patch";
-    hash = "sha256-tI5nKU7SZgsJrxiskJ5nHZyfrWf5aZyKYExM0792N80=";
-  };
-
-  patch-non-existing-output = fetchpatch {
-    # https://github.com/NixOS/nix/pull/7283
-    name = "fix-requires-non-existing-output.patch";
-    url = "https://github.com/NixOS/nix/commit/3ade5f5d6026b825a80bdcc221058c4f14e10a27.patch";
-    hash = "sha256-s1ybRFCjQaSGj7LKu0Z5g7UiHqdJGeD+iPoQL0vaiS0=";
-  };
-
-  patch-rapidcheck-shared = fetchpatch2 {
-    # https://github.com/NixOS/nix/pull/9431
-    name = "fix-missing-librapidcheck.patch";
-    url = "https://github.com/NixOS/nix/commit/46131567da96ffac298b9ec54016b37114b0dfd5.patch";
-    hash = "sha256-lShYxYKRDWwBqCysAFmFBudhhAL1eendWcL8sEFLCGg=";
-  };
-
   # Intentionally does not support overrideAttrs etc
   # Use only for tests that are about the package relation to `pkgs` and/or NixOS.
   addTestsShallowly = tests: pkg: pkg // {
@@ -163,11 +142,10 @@ let
 
 in lib.makeExtensible (self: ({
   nix_2_3 = ((common {
-    version = "2.3.17";
-    hash = "sha256-EK0pgHDekJFqr0oMj+8ANIjq96WPjICe2s0m4xkUdH4=";
+    version = "2.3.18";
+    hash = "sha256-jBz2Ub65eFYG+aWgSI3AJYvLSghio77fWQiIW1svA9U=";
     patches = [
       patch-monitorfdhup
-      ./patches/2_3/CVE-2024-27297.patch
     ];
     maintainers = with lib.maintainers; [ flokli raitobezarius ];
   }).override { boehmgc = boehmgc-nix_2_3; }).overrideAttrs {
@@ -176,72 +154,6 @@ in lib.makeExtensible (self: ({
     enableParallelChecking = false;
   };
 
-  nix_2_10 = common {
-    version = "2.10.3";
-    hash = "sha256-B9EyDUz/9tlcWwf24lwxCFmkxuPTVW7HFYvp0C4xGbc=";
-    patches = [
-      ./patches/flaky-tests.patch
-      patch-non-existing-output
-      patch-monitorfdhup
-      patch-sqlite-exception
-    ];
-  };
-
-  nix_2_11 = common {
-    version = "2.11.1";
-    hash = "sha256-qCV65kw09AG+EkdchDPq7RoeBznX0Q6Qa4yzPqobdOk=";
-    patches = [
-      ./patches/flaky-tests.patch
-      patch-non-existing-output
-      patch-monitorfdhup
-      patch-sqlite-exception
-    ];
-  };
-
-  nix_2_12 = common {
-    version = "2.12.1";
-    hash = "sha256-GmHKhq0uFtdOiJnuBwj2YwlZjvh6YTkfQZgeu4e0dLU=";
-    patches = [
-      ./patches/flaky-tests.patch
-      patch-monitorfdhup
-      patch-sqlite-exception
-    ];
-  };
-
-  nix_2_13 = common {
-    version = "2.13.6";
-    hash = "sha256-pd2yGmHWn4njfbrSP6cMJx8qL+yeGieqcbLNICzcRFs=";
-  };
-
-  nix_2_14 = common {
-    version = "2.14.1";
-    hash = "sha256-5aCmGZbsFcLIckCDfvnPD4clGPQI7qYAqHYlttN/Wkg=";
-    patches = [
-      patch-rapidcheck-shared
-    ];
-  };
-
-  nix_2_15 = common {
-    version = "2.15.3";
-    hash = "sha256-sfFXbjC5iIdSAbctZIuFozxX0uux/KFBNr9oh33xINs=";
-    patches = [
-      patch-rapidcheck-shared
-    ];
-  };
-
-  nix_2_16 = common {
-    version = "2.16.3";
-    hash = "sha256-/tnjRCk+VaWPThzdn3C0zU1AMON+7AFsHgTTzErFxV4=";
-  };
-
-  nix_2_17 = common {
-    version = "2.17.1";
-    hash = "sha256-Q5L+rHzjp0bYuR2ogg+YPCn6isjmlQ4CJVT0zpn/hFc=";
-    patches = [
-      patch-rapidcheck-shared
-    ];
-  };
-
   nix_2_18 = common {
     version = "2.18.2";
     hash = "sha256-8gNJlBlv2bnffRg0CejiBXc6U/S6YeCLAdHrYvTPyoY=";
@@ -253,8 +165,8 @@ in lib.makeExtensible (self: ({
   };
 
   nix_2_20 = common {
-    version = "2.20.5";
-    hash = "sha256-bfFe38BkoQws7om4gBtBWoNTLkt9piMXdLLoHYl+vBQ=";
+    version = "2.20.6";
+    hash = "sha256-BSl8Jijq1A4n1ToQy0t0jDJCXhJK+w1prL8QMHS5t54=";
   };
 
   nix_2_21 = common {
@@ -262,6 +174,11 @@ in lib.makeExtensible (self: ({
     hash = "sha256-ObaVDDPtnOeIE0t7m4OVk5G+OS6d9qYh+ktK67Fe/zE=";
   };
 
+  nix_2_22 = common {
+    version = "2.22.0";
+    hash = "sha256-Ugcc+lSq8nJP+mddMlGFnoG4Ix1lRFHWOal3299bqR8=";
+  };
+
   # The minimum Nix version supported by Nixpkgs
   # Note that some functionality *might* have been backported into this Nix version,
   # making this package an inaccurate representation of what features are available
@@ -281,17 +198,13 @@ in lib.makeExtensible (self: ({
 
   stable = addFallbackPathsCheck self.nix_2_18;
 
-  unstable = self.nix_2_21;
-} // lib.optionalAttrs config.allowAliases {
-  nix_2_4 = throw "nixVersions.nix_2_4 has been removed";
-
-  nix_2_5 = throw "nixVersions.nix_2_5 has been removed";
-
-  nix_2_6 = throw "nixVersions.nix_2_6 has been removed";
-
-  nix_2_7 = throw "nixVersions.nix_2_7 has been removed";
-
-  nix_2_8 = throw "nixVersions.nix_2_8 has been removed";
-
-  nix_2_9 = throw "nixVersions.nix_2_9 has been removed";
-}))
+  unstable = self.nix_2_22;
+} // lib.optionalAttrs config.allowAliases (
+  lib.listToAttrs (map (
+    minor:
+    let
+      attr = "nix_2_${toString minor}";
+    in
+    lib.nameValuePair attr (throw "${attr} has been removed")
+  ) (lib.range 4 17))
+)))
diff --git a/pkgs/tools/package-management/nix/patches/2_3/CVE-2024-27297.patch b/pkgs/tools/package-management/nix/patches/2_3/CVE-2024-27297.patch
deleted file mode 100644
index b8201cb99ef5c..0000000000000
--- a/pkgs/tools/package-management/nix/patches/2_3/CVE-2024-27297.patch
+++ /dev/null
@@ -1,375 +0,0 @@
-From 9c0be4c156e74a3e7e0d33b04d870642350e72d4 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Th=C3=A9ophane=20Hufschmitt?=
- <theophane.hufschmitt@tweag.io>
-Date: Mon, 12 Feb 2024 21:28:20 +0100
-Subject: [PATCH 1/4] Add a NixOS test for the sandbox escape
-
-Test that we can't leverage abstract unix domain sockets to leak file
-descriptors out of the sandbox and modify the path after it has been
-registered.
----
- release.nix                        |  5 ++
- tests/nixos/ca-fd-leak/default.nix | 93 ++++++++++++++++++++++++++++++
- tests/nixos/ca-fd-leak/sender.c    | 65 +++++++++++++++++++++
- tests/nixos/ca-fd-leak/smuggler.c  | 66 +++++++++++++++++++++
- 4 files changed, 229 insertions(+)
- create mode 100644 tests/nixos/ca-fd-leak/default.nix
- create mode 100644 tests/nixos/ca-fd-leak/sender.c
- create mode 100644 tests/nixos/ca-fd-leak/smuggler.c
-
-diff --git a/release.nix b/release.nix
-index f468946c5..2e71f3796 100644
---- a/release.nix
-+++ b/release.nix
-@@ -235,6 +235,11 @@ let
-       nix = build.x86_64-linux; system = "x86_64-linux";
-     });
- 
-+    tests.ca-fd-leak = (import ./tests/nixos/ca-fd-leak rec {
-+      inherit nixpkgs;
-+      nix = build.x86_64-linux; system = "x86_64-linux";
-+    });
-+
-     tests.setuid = pkgs.lib.genAttrs
-       ["i686-linux" "x86_64-linux"]
-       (system:
-diff --git a/tests/nixos/ca-fd-leak/default.nix b/tests/nixos/ca-fd-leak/default.nix
-new file mode 100644
-index 000000000..c252caa4d
---- /dev/null
-+++ b/tests/nixos/ca-fd-leak/default.nix
-@@ -0,0 +1,93 @@
-+# Nix is a sandboxed build system. But Not everything can be handled inside its
-+# sandbox: Network access is normally blocked off, but to download sources, a
-+# trapdoor has to exist. Nix handles this by having "Fixed-output derivations".
-+# The detail here is not important, but in our case it means that the hash of
-+# the output has to be known beforehand. And if you know that, you get a few
-+# rights: you no longer run inside a special network namespace!
-+#
-+# Now, Linux has a special feature, that not many other unices do: Abstract
-+# unix domain sockets! Not only that, but those are namespaced using the
-+# network namespace! That means that we have a way to create sockets that are
-+# available in every single fixed-output derivation, and also all processes
-+# running on the host machine! Now, this wouldn't be that much of an issue, as,
-+# well, the whole idea is that the output is pure, and all processes in the
-+# sandbox are killed before finalizing the output. What if we didn't need those
-+# processes at all? Unix domain sockets have a semi-known trick: you can pass
-+# file descriptors around!
-+# This makes it possible to exfiltrate a file-descriptor with write access to
-+# $out outside of the sandbox. And that file-descriptor can be used to modify
-+# the contents of the store path after it has been registered.
-+
-+{ nixpkgs, system, nix }:
-+
-+with import (nixpkgs + "/nixos/lib/testing-python.nix") {
-+  inherit system;
-+};
-+
-+let
-+  # Simple C program that sends a a file descriptor to `$out` to a Unix
-+  # domain socket.
-+  # Compiled statically so that we can easily send it to the VM and use it
-+  # inside the build sandbox.
-+  sender = pkgs.runCommandWith {
-+    name = "sender";
-+    stdenv = pkgs.pkgsStatic.stdenv;
-+  } ''
-+    $CC -static -o $out ${./sender.c}
-+  '';
-+
-+  # Okay, so we have a file descriptor shipped out of the FOD now. But the
-+  # Nix store is read-only, right? .. Well, yeah. But this file descriptor
-+  # lives in a mount namespace where it is not! So even when this file exists
-+  # in the actual Nix store, we're capable of just modifying its contents...
-+  smuggler = pkgs.writeCBin "smuggler" (builtins.readFile ./smuggler.c);
-+
-+  # The abstract socket path used to exfiltrate the file descriptor
-+  socketName = "FODSandboxExfiltrationSocket";
-+in
-+makeTest {
-+  name = "ca-fd-leak";
-+
-+  nodes.machine =
-+    { config, lib, pkgs, ... }:
-+    { virtualisation.writableStore = true;
-+      virtualisation.pathsInNixDB = [ pkgs.busybox-sandbox-shell sender smuggler pkgs.socat ];
-+      nix.binaryCaches = [ ];
-+      nix.package = nix;
-+    };
-+
-+  testScript = { nodes }: ''
-+    start_all()
-+
-+    machine.succeed("echo hello")
-+    # Start the smuggler server
-+    machine.succeed("${smuggler}/bin/smuggler ${socketName} >&2 &")
-+
-+    # Build the smuggled derivation.
-+    # This will connect to the smuggler server and send it the file descriptor
-+    machine.succeed(r"""
-+      nix-build -E '
-+        builtins.derivation {
-+          name = "smuggled";
-+          system = builtins.currentSystem;
-+          # look ma, no tricks!
-+          outputHashMode = "flat";
-+          outputHashAlgo = "sha256";
-+          outputHash = builtins.hashString "sha256" "hello, world\n";
-+          builder = "${pkgs.busybox-sandbox-shell}/bin/sh";
-+          args = [ "-c" "echo \"hello, world\" > $out; ''${${sender}} ${socketName}" ];
-+      }'
-+    """.strip())
-+
-+
-+    # Tell the smuggler server that we're done
-+    machine.execute("echo done | ${pkgs.socat}/bin/socat - ABSTRACT-CONNECT:${socketName}")
-+
-+    # Check that the file was modified
-+    machine.succeed(r"""
-+      cat ./result
-+      test "$(cat ./result)" = "hello, world"
-+    """.strip())
-+  '';
-+
-+}
-diff --git a/tests/nixos/ca-fd-leak/sender.c b/tests/nixos/ca-fd-leak/sender.c
-new file mode 100644
-index 000000000..75e54fc8f
---- /dev/null
-+++ b/tests/nixos/ca-fd-leak/sender.c
-@@ -0,0 +1,65 @@
-+#include <sys/socket.h>
-+#include <sys/un.h>
-+#include <stdlib.h>
-+#include <stddef.h>
-+#include <stdio.h>
-+#include <unistd.h>
-+#include <fcntl.h>
-+#include <errno.h>
-+#include <string.h>
-+#include <assert.h>
-+
-+int main(int argc, char **argv) {
-+
-+    assert(argc == 2);
-+
-+    int sock = socket(AF_UNIX, SOCK_STREAM, 0);
-+
-+    // Set up a abstract domain socket path to connect to.
-+    struct sockaddr_un data;
-+    data.sun_family = AF_UNIX;
-+    data.sun_path[0] = 0;
-+    strcpy(data.sun_path + 1, argv[1]);
-+
-+    // Now try to connect, To ensure we work no matter what order we are
-+    // executed in, just busyloop here.
-+    int res = -1;
-+    while (res < 0) {
-+        res = connect(sock, (const struct sockaddr *)&data,
-+            offsetof(struct sockaddr_un, sun_path)
-+              + strlen(argv[1])
-+              + 1);
-+        if (res < 0 && errno != ECONNREFUSED) perror("connect");
-+        if (errno != ECONNREFUSED) break;
-+    }
-+
-+    // Write our message header.
-+    struct msghdr msg = {0};
-+    msg.msg_control = malloc(128);
-+    msg.msg_controllen = 128;
-+
-+    // Write an SCM_RIGHTS message containing the output path.
-+    struct cmsghdr *hdr = CMSG_FIRSTHDR(&msg);
-+    hdr->cmsg_len = CMSG_LEN(sizeof(int));
-+    hdr->cmsg_level = SOL_SOCKET;
-+    hdr->cmsg_type = SCM_RIGHTS;
-+    int fd = open(getenv("out"), O_RDWR | O_CREAT, 0640);
-+    memcpy(CMSG_DATA(hdr), (void *)&fd, sizeof(int));
-+
-+    msg.msg_controllen = CMSG_SPACE(sizeof(int));
-+
-+    // Write a single null byte too.
-+    msg.msg_iov = malloc(sizeof(struct iovec));
-+    msg.msg_iov[0].iov_base = "";
-+    msg.msg_iov[0].iov_len = 1;
-+    msg.msg_iovlen = 1;
-+
-+    // Send it to the othher side of this connection.
-+    res = sendmsg(sock, &msg, 0);
-+    if (res < 0) perror("sendmsg");
-+    int buf;
-+
-+    // Wait for the server to close the socket, implying that it has
-+    // received the commmand.
-+    recv(sock, (void *)&buf, sizeof(int), 0);
-+}
-diff --git a/tests/nixos/ca-fd-leak/smuggler.c b/tests/nixos/ca-fd-leak/smuggler.c
-new file mode 100644
-index 000000000..82acf37e6
---- /dev/null
-+++ b/tests/nixos/ca-fd-leak/smuggler.c
-@@ -0,0 +1,66 @@
-+#include <sys/socket.h>
-+#include <sys/un.h>
-+#include <stdlib.h>
-+#include <stddef.h>
-+#include <stdio.h>
-+#include <unistd.h>
-+#include <assert.h>
-+
-+int main(int argc, char **argv) {
-+
-+    assert(argc == 2);
-+
-+    int sock = socket(AF_UNIX, SOCK_STREAM, 0);
-+
-+    // Bind to the socket.
-+    struct sockaddr_un data;
-+    data.sun_family = AF_UNIX;
-+    data.sun_path[0] = 0;
-+    strcpy(data.sun_path + 1, argv[1]);
-+    int res = bind(sock, (const struct sockaddr *)&data,
-+        offsetof(struct sockaddr_un, sun_path)
-+        + strlen(argv[1])
-+        + 1);
-+    if (res < 0) perror("bind");
-+
-+    res = listen(sock, 1);
-+    if (res < 0) perror("listen");
-+
-+    int smuggling_fd = -1;
-+
-+    // Accept the connection a first time to receive the file descriptor.
-+    fprintf(stderr, "%s\n", "Waiting for the first connection");
-+    int a = accept(sock, 0, 0);
-+    if (a < 0) perror("accept");
-+
-+    struct msghdr msg = {0};
-+    msg.msg_control = malloc(128);
-+    msg.msg_controllen = 128;
-+
-+    // Receive the file descriptor as sent by the smuggler.
-+    recvmsg(a, &msg, 0);
-+
-+    struct cmsghdr *hdr = CMSG_FIRSTHDR(&msg);
-+    while (hdr) {
-+        if (hdr->cmsg_level == SOL_SOCKET
-+          && hdr->cmsg_type == SCM_RIGHTS) {
-+
-+            // Grab the copy of the file descriptor.
-+            memcpy((void *)&smuggling_fd, CMSG_DATA(hdr), sizeof(int));
-+        }
-+
-+        hdr = CMSG_NXTHDR(&msg, hdr);
-+    }
-+    fprintf(stderr, "%s\n", "Got the file descriptor. Now waiting for the second connection");
-+    close(a);
-+
-+    // Wait for a second connection, which will tell us that the build is
-+    // done
-+    a = accept(sock, 0, 0);
-+    fprintf(stderr, "%s\n", "Got a second connection, rewriting the file");
-+    // Write a new content to the file
-+    if (ftruncate(smuggling_fd, 0)) perror("ftruncate");
-+    char * new_content = "Pwned\n";
-+    int written_bytes = write(smuggling_fd, new_content, strlen(new_content));
-+    if (written_bytes != strlen(new_content)) perror("write");
-+}
-
-From 8c27eb6c1bc490c9d2f3c7c1dedb1ca3c8e00759 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Th=C3=A9ophane=20Hufschmitt?=
- <theophane.hufschmitt@tweag.io>
-Date: Tue, 13 Feb 2024 08:28:02 +0100
-Subject: [PATCH 2/4] Copy the output of fixed-output derivations before
- registering them
-
-It is possible to exfiltrate a file descriptor out of the build sandbox
-of FODs, and use it to modify the store path after it has been
-registered.
-To avoid that issue, don't register the output of the build, but a copy
-of it (that will be free of any leaked file descriptor).
----
- src/libstore/build.cc | 11 +++++++++--
- 1 file changed, 9 insertions(+), 2 deletions(-)
-
-diff --git a/src/libstore/build.cc b/src/libstore/build.cc
-index d3a712c1a..3fb827a15 100644
---- a/src/libstore/build.cc
-+++ b/src/libstore/build.cc
-@@ -3286,10 +3286,17 @@ void DerivationGoal::registerOutputs()
-             throw BuildError(format("suspicious ownership or permission on '%1%'; rejecting this build output") % path);
- #endif
- 
--        /* Apply hash rewriting if necessary. */
-+        /* Apply hash rewriting if necessary.
-+         *
-+         * For FODs, we always do the dump-and-restore dance regardless to make
-+         * sure that there's no stale file descriptor pointing to the output
-+         * of the path.
-+         * */
-         bool rewritten = false;
--        if (!outputRewrites.empty()) {
-+        if (fixedOutput || !outputRewrites.empty()) {
-+            if (!outputRewrites.empty()) {
-             printError(format("warning: rewriting hashes in '%1%'; cross fingers") % path);
-+            }
- 
-             /* Canonicalise first.  This ensures that the path we're
-                rewriting doesn't contain a hard link to /etc/shadow or
-
-From 2064277b0566c361339d55fbbf46edbc2519f3b3 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Th=C3=A9ophane=20Hufschmitt?=
- <7226587+thufschmitt@users.noreply.github.com>
-Date: Wed, 21 Feb 2024 17:32:36 +0100
-Subject: [PATCH 3/4] Fix a typo in a test comment
-
-Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
----
- tests/nixos/ca-fd-leak/default.nix | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tests/nixos/ca-fd-leak/default.nix b/tests/nixos/ca-fd-leak/default.nix
-index c252caa4d..2fd5ca2d6 100644
---- a/tests/nixos/ca-fd-leak/default.nix
-+++ b/tests/nixos/ca-fd-leak/default.nix
-@@ -83,7 +83,7 @@ makeTest {
-     # Tell the smuggler server that we're done
-     machine.execute("echo done | ${pkgs.socat}/bin/socat - ABSTRACT-CONNECT:${socketName}")
- 
--    # Check that the file was modified
-+    # Check that the file was not modified
-     machine.succeed(r"""
-       cat ./result
-       test "$(cat ./result)" = "hello, world"
-
-From 8604f6d32976fbdf84e46f75cbfa2446209b8a6b Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Th=C3=A9ophane=20Hufschmitt?=
- <theophane.hufschmitt@tweag.io>
-Date: Fri, 1 Mar 2024 09:31:05 +0100
-Subject: [PATCH 4/4] Add release notes
-
----
- doc/manual/rl-next/fod-sandbox-escape.md | 14 ++++++++++++++
- 1 file changed, 14 insertions(+)
- create mode 100644 doc/manual/rl-next/fod-sandbox-escape.md
-
-diff --git a/doc/manual/rl-next/fod-sandbox-escape.md b/doc/manual/rl-next/fod-sandbox-escape.md
-new file mode 100644
-index 000000000..ed451711e
---- /dev/null
-+++ b/doc/manual/rl-next/fod-sandbox-escape.md
-@@ -0,0 +1,14 @@
-+---
-+synopsis: Fix a FOD sandbox escape
-+issues:
-+prs:
-+---
-+
-+Cooperating Nix derivations could send file descriptors to files in the Nix
-+store to each other via Unix domain sockets in the abstract namespace. This
-+allowed one derivation to modify the output of the other derivation, after Nix
-+has registered the path as "valid" and immutable in the Nix database.
-+In particular, this allowed the output of fixed-output derivations to be
-+modified from their expected content.
-+
-+This isn't the case any more.
diff --git a/pkgs/tools/package-management/pdm/default.nix b/pkgs/tools/package-management/pdm/default.nix
index fd8539da9654e..523d610a9575d 100644
--- a/pkgs/tools/package-management/pdm/default.nix
+++ b/pkgs/tools/package-management/pdm/default.nix
@@ -1,6 +1,5 @@
 { lib
 , python3
-, fetchFromGitHub
 , fetchPypi
 , nix-update-script
 , runtimeShell
@@ -8,39 +7,18 @@
 , testers
 , pdm
 }:
-let
-  python = python3.override {
-    # override resolvelib due to
-    # 1. pdm requiring a later version of resolvelib
-    # 2. Ansible being packaged as a library
-    # 3. Ansible being unable to upgrade to a later version of resolvelib
-    # see here for more details: https://github.com/NixOS/nixpkgs/pull/155380/files#r786255738
-    packageOverrides = self: super: {
-      resolvelib = super.resolvelib.overridePythonAttrs rec {
-        version = "1.0.1";
-        src = fetchFromGitHub {
-          owner = "sarugaku";
-          repo = "resolvelib";
-          rev = "/refs/tags/${version}";
-          hash = "sha256-oxyPn3aFPOyx/2aP7Eg2ThtPbyzrFT1JzWqy6GqNbzM=";
-        };
-      };
-    };
-    self = python;
-  };
-in
 
-with python.pkgs;
+with python3.pkgs;
 buildPythonApplication rec {
   pname = "pdm";
-  version = "2.13.2";
+  version = "2.15.1";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-4oK/HK8KCD/A+16JrW9518V5/1LHu1juhYfqPVu54Uo=";
+    hash = "sha256-HJzQScEBZjOiPvkuwfx4LaiuB0MULvM/r31Ihy+HSzk=";
   };
 
   nativeBuildInputs = [
@@ -94,10 +72,12 @@ buildPythonApplication rec {
   '';
 
   postInstall = ''
-    installShellCompletion --cmd pdm \
-      --bash <($out/bin/pdm completion bash) \
-      --fish <($out/bin/pdm completion fish) \
-      --zsh <($out/bin/pdm completion zsh)
+    export PDM_LOG_DIR=/tmp/pdm/log
+    $out/bin/pdm completion bash >pdm.bash
+    $out/bin/pdm completion fish >pdm.fish
+    $out/bin/pdm completion zsh >pdm.zsh
+    installShellCompletion pdm.{bash,fish,zsh}
+    unset PDM_LOG_DIR
   '';
 
   nativeCheckInputs = [
@@ -125,6 +105,8 @@ buildPythonApplication rec {
 
     # touches the network
     "test_find_candidates_from_find_links"
+    "test_lock_all_with_excluded_groups"
+    "test_find_interpreters_with_PDM_IGNORE_ACTIVE_VENV"
   ];
 
   __darwinAllowLocalNetworking = true;
diff --git a/pkgs/tools/package-management/pkg/default.nix b/pkgs/tools/package-management/pkg/default.nix
index 83ae30ee22a37..1d0d021809603 100644
--- a/pkgs/tools/package-management/pkg/default.nix
+++ b/pkgs/tools/package-management/pkg/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "pkg";
-  version = "1.21.0";
+  version = "1.21.2";
 
   src = fetchFromGitHub {
     owner = "freebsd";
     repo = "pkg";
     rev = finalAttrs.version;
-    sha256 = "sha256-5Yoe0Y2WTBc19OzB1QvJCX8FXtBlgxORyUppX6ZWnAM=";
+    hash = "sha256-iiekjV/X9dAqk9WTxDgi6SK/XkI0aKEfN4Hopgid3Rw=";
   };
 
   setOutputFlags = false;
diff --git a/pkgs/tools/security/agebox/default.nix b/pkgs/tools/security/agebox/default.nix
index b87cb2b8ca2af..fb75fbf9b0937 100644
--- a/pkgs/tools/security/agebox/default.nix
+++ b/pkgs/tools/security/agebox/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub, fetchpatch }:
 
 buildGoModule rec {
   pname = "agebox";
@@ -11,7 +11,16 @@ buildGoModule rec {
     hash = "sha256-W6/v5BIl+k6tMan/Wdua7mHKMsq23QZN13Cy24akJr4=";
   };
 
-  vendorHash = "sha256-PLeNTlQ0OMcupfbVN/KGb0iJYf3Jbcevg8gTcKHpn8s=";
+  patches = [
+    # Update gopkg.in/yaml.v2 to v2.2.8 to fix vulnerabilities.
+    # https://github.com/slok/agebox/pull/199
+    (fetchpatch {
+      url = "https://github.com/slok/agebox/commit/40a515d39911f601ebe05cc914e8a02695d85dc7.patch";
+      hash = "sha256-0iBI0nID12OoWqWY/8MPb3vvTUDe0JdSHu2vefix/bM=";
+    })
+  ];
+
+  vendorHash = "sha256-MNAF2ExIOYPzXyGR6H7lfUEhnMDCyD7ecst5MKm7u+A=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/tools/security/arti/default.nix b/pkgs/tools/security/arti/default.nix
index c58ccce99aec9..e410a86855560 100644
--- a/pkgs/tools/security/arti/default.nix
+++ b/pkgs/tools/security/arti/default.nix
@@ -39,6 +39,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://arti.torproject.org/";
     changelog = "https://gitlab.torproject.org/tpo/core/arti/-/blob/${src.rev}/CHANGELOG.md";
     license = with licenses; [ asl20 /* or */ mit ];
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/tools/security/biscuit-cli/default.nix b/pkgs/tools/security/biscuit-cli/default.nix
index 74dac8b565860..c5ee1da6b52bc 100644
--- a/pkgs/tools/security/biscuit-cli/default.nix
+++ b/pkgs/tools/security/biscuit-cli/default.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "biscuit-cli";
-  version = "0.4.1";
+  version = "0.4.2";
 
   src = fetchFromGitHub {
     owner = "biscuit-auth";
     repo = "biscuit-cli";
     rev = version;
-    sha256 = "sha256-Mvrv3BU0Pw85fs8IbjMKSQLIhtU6SKoLC0cuGdhfAYs=";
+    sha256 = "sha256-Aj/s5RnkRFZMOJAHY9tdVtq24DgrgMjaYEq7oA9lXFc=";
   };
 
-  cargoHash = "sha256-tgmM0rswIFrpFyupaASTXYvIyhVu0fXJJN+hg0p+vrQ=";
+  cargoHash = "sha256-TUu+2i+GJiS7PvzVDwWLa+w+RfbYX+k51WG2LbcqINk=";
 
   passthru = {
     updateScript = nix-update-script { };
diff --git a/pkgs/tools/security/bpb/default.nix b/pkgs/tools/security/bpb/default.nix
deleted file mode 100644
index 88eeb7c254d03..0000000000000
--- a/pkgs/tools/security/bpb/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ stdenv
-, lib
-, rustPlatform
-, fetchFromGitHub
-, Security
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "bpb";
-  version = "unstable-2018-07-27";
-
-  src = fetchFromGitHub {
-    owner = "withoutboats";
-    repo = "bpb";
-    rev = "b1ef5ca1d2dea0e2ec0b1616f087f110ea17adfa";
-    sha256 = "sVfM8tlAsF4uKLxl3g/nSYgOx+znHIdPalSIiCd18o4=";
-  };
-
-  cargoSha256 = "7cARRJWRxF1kMySX6KcB6nrVf8k1p/nr3OyAwNLmztc=";
-
-  # a nightly compiler is required unless we use this cheat code.
-  RUSTC_BOOTSTRAP = 1;
-
-  buildInputs = lib.optional stdenv.isDarwin Security;
-
-  meta = with lib; {
-    description = "Tool to automatically sign git commits, replacing gpg for that purpose";
-    homepage = "https://github.com/withoutboats/bpb";
-    license = licenses.mit;
-    maintainers = with maintainers; [ ];
-  };
-}
diff --git a/pkgs/tools/security/buttercup-desktop/default.nix b/pkgs/tools/security/buttercup-desktop/default.nix
index 3926a3ee81c3b..0ee20dbc4f6b6 100644
--- a/pkgs/tools/security/buttercup-desktop/default.nix
+++ b/pkgs/tools/security/buttercup-desktop/default.nix
@@ -15,7 +15,6 @@ in appimageTools.wrapType2 {
   extraPkgs = pkgs: (appimageTools.defaultFhsEnvArgs.multiPkgs pkgs) ++ [ pkgs.libsecret ];
 
   extraInstallCommands = ''
-    mv $out/bin/${pname}-${version} $out/bin/${pname}
     install -m 444 -D ${appimageContents}/buttercup.desktop -t $out/share/applications
     substituteInPlace $out/share/applications/buttercup.desktop \
       --replace 'Exec=AppRun' 'Exec=${pname}'
diff --git a/pkgs/tools/security/cdxgen/default.nix b/pkgs/tools/security/cdxgen/default.nix
index 3558dd6553ff7..c9d962ed47afe 100644
--- a/pkgs/tools/security/cdxgen/default.nix
+++ b/pkgs/tools/security/cdxgen/default.nix
@@ -5,16 +5,16 @@
 
 buildNpmPackage rec {
   pname = "cdxgen";
-  version = "10.3.5";
+  version = "10.4.3";
 
   src = fetchFromGitHub {
     owner = "AppThreat";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Tpmx94pQq7lqDvTtPY0chwcwAMmydkFFv2IlXb+q8EU=";
+    sha256 = "sha256-m6AtAbsZ7zPu7MlwEt9+RBs11DAHNa3x0Nn7b3TWdAY=";
   };
 
-  npmDepsHash = "sha256-V7eLhscu7gTLtfq0OI3yCfT5Xlkbj54WrgOM6WUArTU=";
+  npmDepsHash = "sha256-z7tBghs2bg2eYNRkhe9J8/0rqaAXV5e5ZT9u5fdABe0=";
 
   dontNpmBuild = true;
 
diff --git a/pkgs/tools/security/cnquery/default.nix b/pkgs/tools/security/cnquery/default.nix
index a5dafec184fd5..9c87dab3f1c6d 100644
--- a/pkgs/tools/security/cnquery/default.nix
+++ b/pkgs/tools/security/cnquery/default.nix
@@ -6,18 +6,18 @@
 
 buildGoModule rec {
   pname = "cnquery";
-  version = "11.0.2";
+  version = "11.1.1";
 
   src = fetchFromGitHub {
     owner = "mondoohq";
     repo = "cnquery";
     rev = "refs/tags/v${version}";
-    hash = "sha256-hWZXt9hUK0IXnmqKvKdowR42NVu+guMPW3krzgI1KqU=";
+    hash = "sha256-99bkEoAfNfejO/M1V8KmAmyP+klrCtmkf1l6aZynEgQ=";
   };
 
   subPackages = [ "apps/cnquery" ];
 
-  vendorHash = "sha256-Q1Wz3zHow4UeqgZVP9s9xHuLwrG2LE/tsDUdgs6xMNo=";
+  vendorHash = "sha256-Nb2KSTS85//GC4ikYgrNNoKYJYBYvG9q5GF5RPemklE=";
 
   ldflags = [
     "-w"
diff --git a/pkgs/tools/security/cnspec/default.nix b/pkgs/tools/security/cnspec/default.nix
index 50b1860535eb3..1c221457a06e5 100644
--- a/pkgs/tools/security/cnspec/default.nix
+++ b/pkgs/tools/security/cnspec/default.nix
@@ -6,18 +6,18 @@
 
 buildGoModule rec {
   pname = "cnspec";
-  version = "11.0.2";
+  version = "11.2.0";
 
   src = fetchFromGitHub {
     owner = "mondoohq";
     repo = "cnspec";
     rev = "refs/tags/v${version}";
-    hash = "sha256-TSTOhfFNFwuF9kNf1q2HVcoxhKS1pKW4kSorSPyyeQU=";
+    hash = "sha256-KjF1tVeASK+psbcf/ND+SRCXYJog74O3Qm2yRGLN6LI=";
   };
 
   proxyVendor = true;
 
-  vendorHash = "sha256-Uuz/ghtd/1ol1ugDI7pz5Fyv6U5PpOdcoerU/qx4MPA=";
+  vendorHash = "sha256-HKqUBtr6qidBx4SoiWkCdwri3dCrxXMPMSb/X7h+WBs=";
 
   subPackages = [ "apps/cnspec" ];
 
diff --git a/pkgs/tools/security/feroxbuster/default.nix b/pkgs/tools/security/feroxbuster/default.nix
index 5871895cd9c01..0459519c43f76 100644
--- a/pkgs/tools/security/feroxbuster/default.nix
+++ b/pkgs/tools/security/feroxbuster/default.nix
@@ -9,13 +9,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "feroxbuster";
-  version = "2.10.2";
+  version = "2.10.3";
 
   src = fetchFromGitHub {
     owner = "epi052";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-jsaUSnqzqeKxos8fDvaOAzuGWxn5tJYjFp4qolWRRs4=";
+    hash = "sha256-3cznGVpZISLD2TbsHYyYYUTD55NmgBdNJ44V4XfZ40k=";
   };
 
   # disable linker overrides on aarch64-linux
@@ -23,7 +23,7 @@ rustPlatform.buildRustPackage rec {
     rm .cargo/config
   '';
 
-  cargoHash = "sha256-xACWDgFrZXcxbfczR9tfT1CTaPnDHBITbg3x8+708gE=";
+  cargoHash = "sha256-hOIOcz7YyZbQNScsY0jdxGLZQnWRBsFOzmRdu8oWIN8=";
 
   OPENSSL_NO_VENDOR = true;
 
diff --git a/pkgs/tools/security/ghauri/default.nix b/pkgs/tools/security/ghauri/default.nix
index fd4a0fa9903f8..c4d176eb2a276 100644
--- a/pkgs/tools/security/ghauri/default.nix
+++ b/pkgs/tools/security/ghauri/default.nix
@@ -5,14 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "ghauri";
-  version = "1.3";
+  version = "1.3.1";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "r0oth3x49";
     repo = "ghauri";
     rev = "refs/tags/${version}";
-    hash = "sha256-CZhkb8GmXXSA5QqhW7IAirwsxQg6YNFT3RHrGsyqAbk=";
+    hash = "sha256-QO4/dkJU/uhP1AT1kIxDBIGBfLI1rOhOe/cHC8GwhkA=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/tools/security/ibm-sw-tpm2/default.nix b/pkgs/tools/security/ibm-sw-tpm2/default.nix
index 969a758d18d4e..76123a7c893fb 100644
--- a/pkgs/tools/security/ibm-sw-tpm2/default.nix
+++ b/pkgs/tools/security/ibm-sw-tpm2/default.nix
@@ -58,7 +58,7 @@ stdenv.mkDerivation rec {
     mainProgram = "tpm_server";
     homepage = "https://sourceforge.net/projects/ibmswtpm2/";
     platforms = platforms.linux ++ platforms.darwin;
-    maintainers = with maintainers; [ delroth ];
+    maintainers = with maintainers; [ tomfitzhenry ];
     license = licenses.bsd3;
   };
 }
diff --git a/pkgs/tools/security/isolate/default.nix b/pkgs/tools/security/isolate/default.nix
index b745af75d8b7f..a1d67c49d531d 100644
--- a/pkgs/tools/security/isolate/default.nix
+++ b/pkgs/tools/security/isolate/default.nix
@@ -3,7 +3,10 @@
 , fetchFromGitHub
 , asciidoc
 , libcap
+, pkg-config
+, systemdLibs
 , installShellFiles
+, nixosTests
 }:
 
 stdenv.mkDerivation rec {
@@ -20,26 +23,33 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     asciidoc
     installShellFiles
+    pkg-config
   ];
 
   buildInputs = [
     libcap.dev
+    systemdLibs.dev
   ];
 
-  buildFlags = [
-    "isolate"
-    "isolate.1"
+  patches = [
+    ./take-config-file-from-env.patch
   ];
 
   installPhase = ''
     runHook preInstall
 
     install -Dm755 ./isolate $out/bin/isolate
+    install -Dm755 ./isolate-cg-keeper $out/bin/isolate-cg-keeper
+    install -Dm755 ./isolate-check-environment $out/bin/isolate-check-environment
     installManPage isolate.1
 
     runHook postInstall
   '';
 
+  passthru.tests = {
+    isolate = nixosTests.isolate;
+  };
+
   meta = {
     description = "Sandbox for securely executing untrusted programs";
     mainProgram = "isolate";
diff --git a/pkgs/tools/security/isolate/take-config-file-from-env.patch b/pkgs/tools/security/isolate/take-config-file-from-env.patch
new file mode 100644
index 0000000000000..c42d9a6e45b83
--- /dev/null
+++ b/pkgs/tools/security/isolate/take-config-file-from-env.patch
@@ -0,0 +1,19 @@
+diff --git a/config.c b/config.c
+index 6477259..c462ed3 100644
+--- a/config.c
++++ b/config.c
+@@ -114,9 +114,12 @@ cf_check(void)
+ void
+ cf_parse(void)
+ {
+-  FILE *f = fopen(CONFIG_FILE, "r");
++  char *config_file = getenv("ISOLATE_CONFIG_FILE");
++  if(!config_file)
++    die("ISOLATE_CONFIG_FILE environment variable not set");
++  FILE *f = fopen(config_file, "r");
+   if (!f)
+-    die("Cannot open %s: %m", CONFIG_FILE);
++    die("Cannot open %s: %m", config_file);
+ 
+   char line[MAX_LINE_LEN];
+   while (fgets(line, sizeof(line), f))
diff --git a/pkgs/tools/security/jadx/default.nix b/pkgs/tools/security/jadx/default.nix
index a1fbd44b02320..df7bb1ca839cd 100644
--- a/pkgs/tools/security/jadx/default.nix
+++ b/pkgs/tools/security/jadx/default.nix
@@ -156,6 +156,6 @@ in stdenv.mkDerivation (finalAttrs: {
     ];
     license = licenses.asl20;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ delroth emilytrau ];
+    maintainers = with maintainers; [ emilytrau ];
   };
 })
diff --git a/pkgs/tools/security/kbs2/default.nix b/pkgs/tools/security/kbs2/default.nix
index 2592fe444d8df..4c1c23820f5ff 100644
--- a/pkgs/tools/security/kbs2/default.nix
+++ b/pkgs/tools/security/kbs2/default.nix
@@ -51,6 +51,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/woodruffw/kbs2";
     changelog = "https://github.com/woodruffw/kbs2/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/tools/security/libmodsecurity/default.nix b/pkgs/tools/security/libmodsecurity/default.nix
index 61669836f7925..f2abaaf7d8a7f 100644
--- a/pkgs/tools/security/libmodsecurity/default.nix
+++ b/pkgs/tools/security/libmodsecurity/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
   version = "3.0.12";
 
   src = fetchFromGitHub {
-    owner = "SpiderLabs";
+    owner = "owasp-modsecurity";
     repo = "ModSecurity";
     rev = "v${version}";
     sha256 = "sha256-WIFAg9LvKAC8e3gpcIxtNHT53AIfPtUTyrv30woxP4M=";
@@ -61,7 +61,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = with lib; {
-    homepage = "https://github.com/SpiderLabs/ModSecurity";
+    homepage = "https://github.com/owasp-modsecurity/ModSecurity";
     description = ''
       ModSecurity v3 library component.
     '';
diff --git a/pkgs/tools/security/metasploit/Gemfile b/pkgs/tools/security/metasploit/Gemfile
index 2adc7f605c817..6d2752ed93501 100644
--- a/pkgs/tools/security/metasploit/Gemfile
+++ b/pkgs/tools/security/metasploit/Gemfile
@@ -1,4 +1,4 @@
 # frozen_string_literal: true
 source "https://rubygems.org"
 
-gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.4.5"
+gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.4.6"
diff --git a/pkgs/tools/security/metasploit/Gemfile.lock b/pkgs/tools/security/metasploit/Gemfile.lock
index 1496f83026256..1da9542ad25b5 100644
--- a/pkgs/tools/security/metasploit/Gemfile.lock
+++ b/pkgs/tools/security/metasploit/Gemfile.lock
@@ -1,9 +1,9 @@
 GIT
   remote: https://github.com/rapid7/metasploit-framework
-  revision: 6dfd13e04c9e9763b485a5b7d6e85d97632a8edf
-  ref: refs/tags/6.4.5
+  revision: 55ea82f7d3f98652ea81ab1d29d3be3e55528345
+  ref: refs/tags/6.4.6
   specs:
-    metasploit-framework (6.4.5)
+    metasploit-framework (6.4.6)
       actionpack (~> 7.0.0)
       activerecord (~> 7.0.0)
       activesupport (~> 7.0.0)
@@ -22,7 +22,7 @@ GIT
       em-http-request
       eventmachine
       faker
-      faraday
+      faraday (= 2.7.11)
       faraday-retry
       faye-websocket
       filesize
@@ -87,7 +87,7 @@ GIT
       rubyntlm
       rubyzip
       sinatra
-      sqlite3
+      sqlite3 (= 1.6.6)
       sshkey
       swagger-blocks
       thin
@@ -193,10 +193,11 @@ GEM
     eventmachine (1.2.7)
     faker (3.3.1)
       i18n (>= 1.8.11, < 2)
-    faraday (2.9.0)
-      faraday-net_http (>= 2.0, < 3.2)
-    faraday-net_http (3.1.0)
-      net-http
+    faraday (2.7.11)
+      base64
+      faraday-net_http (>= 2.0, < 3.1)
+      ruby2_keywords (>= 0.0.4)
+    faraday-net_http (3.0.2)
     faraday-retry (2.2.1)
       faraday (~> 2.0)
     faye-websocket (0.11.3)
@@ -275,8 +276,6 @@ GEM
     mustermann (3.0.0)
       ruby2_keywords (~> 0.0.1)
     nessus_rest (0.1.6)
-    net-http (0.4.1)
-      uri
     net-imap (0.4.10)
       date
       net-protocol
@@ -416,7 +415,7 @@ GEM
       rack (~> 2.2, >= 2.2.4)
       rack-protection (= 3.2.0)
       tilt (~> 2.0)
-    sqlite3 (2.0.0)
+    sqlite3 (1.6.6)
       mini_portile2 (~> 2.8.0)
     sshkey (3.0.0)
     strptime (0.2.5)
@@ -438,7 +437,6 @@ GEM
       unf_ext
     unf_ext (0.0.9.1)
     unix-crypt (1.3.1)
-    uri (0.13.0)
     warden (1.2.9)
       rack (>= 2.0.9)
     webrick (1.8.1)
@@ -470,4 +468,4 @@ DEPENDENCIES
   metasploit-framework!
 
 BUNDLED WITH
-   2.4.13
+   2.5.7
diff --git a/pkgs/tools/security/metasploit/default.nix b/pkgs/tools/security/metasploit/default.nix
index 1026323587d66..f2f5ca23e8020 100644
--- a/pkgs/tools/security/metasploit/default.nix
+++ b/pkgs/tools/security/metasploit/default.nix
@@ -15,13 +15,13 @@ let
   };
 in stdenv.mkDerivation rec {
   pname = "metasploit-framework";
-  version = "6.4.5";
+  version = "6.4.6";
 
   src = fetchFromGitHub {
     owner = "rapid7";
     repo = "metasploit-framework";
     rev = "refs/tags/${version}";
-    hash = "sha256-KmELKjbWjhHmyj8IlL5U2yNHwtpc8qX5ZAT1PcIJOd8=";
+    hash = "sha256-2O/Hl95yd+4va6TGxd5zYdsjcgBwCGOcZ2jvtoOBhBE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/security/metasploit/gemset.nix b/pkgs/tools/security/metasploit/gemset.nix
index fbf6bb89b8a3f..d829b53f6c5c3 100644
--- a/pkgs/tools/security/metasploit/gemset.nix
+++ b/pkgs/tools/security/metasploit/gemset.nix
@@ -414,20 +414,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1qqb1rmk0f9m82iijjlqadh5yby1bhnr6svjk9vxdvh6f181988s";
+      sha256 = "0vn7jwss2v6jhnxvjsiwbs3irjwhbx9zxn4l6fhd4rkcfyxzdnw5";
       type = "gem";
     };
-    version = "2.9.0";
+    version = "2.7.11";
   };
   faraday-net_http = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "17w51yk4rrm9rpnbc3x509s619kba0jga3qrj4b17l30950vw9qn";
+      sha256 = "13byv3mp1gsjyv8k0ih4612y6vw5kqva6i03wcg4w2fqpsd950k8";
       type = "gem";
     };
-    version = "3.1.0";
+    version = "3.0.2";
   };
   faraday-retry = {
     groups = ["default"];
@@ -674,12 +674,12 @@
     platforms = [];
     source = {
       fetchSubmodules = false;
-      rev = "6dfd13e04c9e9763b485a5b7d6e85d97632a8edf";
-      sha256 = "1prr1713vx84ckwsbwjwvb14f8yvajz9821zrbk133nn6qm0nq9a";
+      rev = "55ea82f7d3f98652ea81ab1d29d3be3e55528345";
+      sha256 = "04c4h61vdvv8cyf6623h01r27nv1fggcbim4dcpywxvjvsbwgvyq";
       type = "git";
       url = "https://github.com/rapid7/metasploit-framework";
     };
-    version = "6.4.5";
+    version = "6.4.6";
   };
   metasploit-model = {
     groups = ["default"];
@@ -801,16 +801,6 @@
     };
     version = "0.1.6";
   };
-  net-http = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "10n2n9aq00ih8v881af88l1zyrqgs5cl3njdw8argjwbl5ggqvm9";
-      type = "gem";
-    };
-    version = "0.4.1";
-  };
   net-imap = {
     groups = ["default"];
     platforms = [];
@@ -1457,10 +1447,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01sfiwn60czgpabfr7xq8dk3qkc17ai3z7d4yfwanq1zw6mf927n";
+      sha256 = "15415lmz69jbzl6nch4q5l2jxv054676nk6y0vgy0g3iklmjrxvc";
       type = "gem";
     };
-    version = "2.0.0";
+    version = "1.6.6";
   };
   sshkey = {
     groups = ["default"];
@@ -1592,16 +1582,6 @@
     };
     version = "1.3.1";
   };
-  uri = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "094gk72ckazf495qc76gk09b5i318d5l9m7bicg2wxlrjcm3qm96";
-      type = "gem";
-    };
-    version = "0.13.0";
-  };
   warden = {
     groups = ["default"];
     platforms = [];
diff --git a/pkgs/tools/security/monsoon/default.nix b/pkgs/tools/security/monsoon/default.nix
index 3341366e47bb6..e17081487db27 100644
--- a/pkgs/tools/security/monsoon/default.nix
+++ b/pkgs/tools/security/monsoon/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "monsoon";
-  version = "0.8.0";
+  version = "0.9.2";
 
   src = fetchFromGitHub {
     owner = "RedTeamPentesting";
     repo = "monsoon";
     rev = "refs/tags/v${version}";
-    hash = "sha256-7cfy8dYhiReFVz10wui3qqxlXOX7wheREkvSnj2KyOw=";
+    hash = "sha256-5aV4/JEtaUEtE/csvch/JooeWNLpysqrI2hwVWMJhnI=";
   };
 
-  vendorHash = "sha256-SZDX61iPwT/mfxJ+n2nlvzgEvUu6h3wVkmeqZtxQ9KE=";
+  vendorHash = "sha256-gdoOBW5MD94RiKINVtTDvBQRZaJ9tlgu0eh7MxuMezg=";
 
   # Tests fails on darwin
   doCheck = !stdenv.isDarwin;
diff --git a/pkgs/tools/security/nuclei/default.nix b/pkgs/tools/security/nuclei/default.nix
index 1f95c78530b84..933b3241d8eec 100644
--- a/pkgs/tools/security/nuclei/default.nix
+++ b/pkgs/tools/security/nuclei/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "nuclei";
-  version = "3.2.4";
+  version = "3.2.5";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = "nuclei";
     rev = "refs/tags/v${version}";
-    hash = "sha256-xrIR2QVizORxR2OO09Qj5h8avv2xeIsQ+VfmlZotML8=";
+    hash = "sha256-eoTENTqQgBFS/a7hakJh3eugoSrQrYMSnlT0381308Q=";
   };
 
-  vendorHash = "sha256-s2h0ayBEuHUHcqYvyQTMNu9+NR5OVjzRshKzILDlrKs=";
+  vendorHash = "sha256-+TIovSS13z9NIixEOFDPH3aOEoH7emlTunH9IoG/RWY=";
 
   subPackages = [ "cmd/nuclei/" ];
 
diff --git a/pkgs/tools/security/openpgp-card-tools/default.nix b/pkgs/tools/security/openpgp-card-tools/default.nix
index ff1e2958cde5d..009807058661d 100644
--- a/pkgs/tools/security/openpgp-card-tools/default.nix
+++ b/pkgs/tools/security/openpgp-card-tools/default.nix
@@ -12,17 +12,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "openpgp-card-tools";
-  version = "0.10.0";
+  version = "0.10.1";
 
   src = fetchFromGitea {
     domain = "codeberg.org";
     owner = "openpgp-card";
     repo = "openpgp-card-tools";
     rev = "v${version}";
-    hash = "sha256-dSGkPAeiQ54hYMJgghlPkbeJP3ZPUXGU7WmE63yIvz0=";
+    hash = "sha256-fasu2XElGk6TB2VNFg43rpa3ZafgGZga9WojyUiXj0k=";
   };
 
-  cargoHash = "sha256-coFoFWI/Iq7tbkv9RKPCNfAVKWDsJd7KTzOTtQDHXJY=";
+  cargoHash = "sha256-7OauQRG8DhIoANfel45QBm3igGjmtNw9KNAwt1TL5xg=";
 
   nativeBuildInputs = [ pkg-config rustPlatform.bindgenHook ];
   buildInputs = [ pcsclite nettle ] ++ lib.optionals stdenv.isDarwin [ PCSC ];
diff --git a/pkgs/tools/security/ospd-openvas/default.nix b/pkgs/tools/security/ospd-openvas/default.nix
index 82afa1e0fec1d..9b20f221447ec 100644
--- a/pkgs/tools/security/ospd-openvas/default.nix
+++ b/pkgs/tools/security/ospd-openvas/default.nix
@@ -5,14 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "ospd-openvas";
-  version = "22.7.0";
+  version = "22.7.1";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "greenbone";
     repo = "ospd-openvas";
     rev = "refs/tags/v${version}";
-    hash = "sha256-aBrJODymUMj0sflJW/+dMYZBRPYqtS1L2UBENDXb2Xw=";
+    hash = "sha256-bFZTwNITDG5OpoWD7F1Ad6BQFpY4Q5CGUGbYy7rTuc0=";
   };
 
   pythonRelaxDeps = [
@@ -20,8 +20,11 @@ python3.pkgs.buildPythonApplication rec {
     "python-gnupg"
   ];
 
-  nativeBuildInputs = with python3.pkgs; [
+  build-system = with python3.pkgs; [
     poetry-core
+  ];
+
+  nativeBuildInputs = with python3.pkgs; [
     pythonRelaxDepsHook
   ];
 
diff --git a/pkgs/tools/security/pinentry-bemenu/default.nix b/pkgs/tools/security/pinentry-bemenu/default.nix
index 36fff7d34d5cd..65e7a88bcfbb1 100644
--- a/pkgs/tools/security/pinentry-bemenu/default.nix
+++ b/pkgs/tools/security/pinentry-bemenu/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pinentry-bemenu";
-  version = "0.13.1";
+  version = "0.13.2";
 
   src = fetchFromGitHub {
     owner = "t-8ch";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-h+PC8IGwCW5ZroLGpypcmpejOo+JGM7zG4N5fguBWvM=";
+    sha256 = "sha256-m6P8/cCdGH2c9ne8aLrh6pUJ6Ekn+CNyEn3WlD2LhU8=";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config ];
diff --git a/pkgs/tools/security/prs/default.nix b/pkgs/tools/security/prs/default.nix
index cfab2229efeeb..39a629cb707c8 100644
--- a/pkgs/tools/security/prs/default.nix
+++ b/pkgs/tools/security/prs/default.nix
@@ -14,16 +14,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "prs";
-  version = "0.5.0";
+  version = "0.5.1";
 
   src = fetchFromGitLab {
     owner = "timvisee";
     repo = "prs";
     rev = "refs/tags/v${version}";
-    hash = "sha256-9/XKz+yOCFEB1VI2EK0xF5ecyBPeGztpGPo/aXQ6v5E=";
+    hash = "sha256-MvQ0B35NF/AuGHBMa201FkFlU/UX0WXMcBRxTJwpUFw=";
   };
 
-  cargoHash = "sha256-kxIgToqhJhUgJcxnGRGG6I+YqM2diFgQDyn1jBxWAw8=";
+  cargoHash = "sha256-YDcAjBIdUboOKvGSnGW6b1JVbhQaB3ccXcSmK78M7DI=";
 
   postPatch = ''
     # The GPGME backend is recommended
diff --git a/pkgs/tools/security/rbw/default.nix b/pkgs/tools/security/rbw/default.nix
index 929282d51276f..201c86c861629 100644
--- a/pkgs/tools/security/rbw/default.nix
+++ b/pkgs/tools/security/rbw/default.nix
@@ -76,6 +76,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://crates.io/crates/rbw";
     changelog = "https://git.tozt.net/rbw/plain/CHANGELOG.md?id=${version}";
     license = licenses.mit;
-    maintainers = with maintainers; [ albakham luc65r marsam ];
+    maintainers = with maintainers; [ albakham luc65r ];
   };
 }
diff --git a/pkgs/tools/security/rustscan/default.nix b/pkgs/tools/security/rustscan/default.nix
index 5189b7c882b73..238fa8fcc5e33 100644
--- a/pkgs/tools/security/rustscan/default.nix
+++ b/pkgs/tools/security/rustscan/default.nix
@@ -1,37 +1,52 @@
-{ lib, rustPlatform, fetchCrate, nmap, stdenv, Security, perl, python3 }:
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  nmap,
+  perl,
+  python3,
+  rustPlatform,
+  Security,
+}:
 
 rustPlatform.buildRustPackage rec {
   pname = "rustscan";
-  version = "2.1.1";
+  version = "2.2.2";
 
-  src = fetchCrate {
-    inherit pname version;
-    sha256 = "sha256-yGVhbI1LivTIQEgqOK59T1+8SiTJBPIdftiXkwE4lZM=";
+  src = fetchFromGitHub {
+    owner = "RustScan";
+    repo = "RustScan";
+    rev = "refs/tags/${version}";
+    hash = "sha256-67XNEKzR72NOYlPbz2E9yf+THa1XN6muFJG2/iJa8AU=";
   };
 
-  cargoSha256 = "sha256-UR3ktV80QU0N3f7qmqdhYpc5uwoPq4UvN40zEuMbp+Q=";
+  cargoHash = "sha256-U9Kn9xAG+emyi8cWUCNP32z7f19MK8AGgGR6vFJd62Q=";
 
   postPatch = ''
     substituteInPlace src/scripts/mod.rs \
-      --replace 'call_format = "nmap' 'call_format = "${nmap}/bin/nmap'
+      --replace-fail 'call_format = "nmap' 'call_format = "${nmap}/bin/nmap'
     patchShebangs fixtures/.rustscan_scripts/*
   '';
 
   buildInputs = lib.optional stdenv.isDarwin Security;
 
-  nativeCheckInputs = [ perl python3 ];
+  nativeCheckInputs = [
+    perl
+    python3
+  ];
 
-  # these tests require network access
   checkFlags = [
+    # These tests require network access
     "--skip=parse_correct_host_addresses"
     "--skip=parse_hosts_file_and_incorrect_hosts"
   ];
 
   meta = with lib; {
     description = "Faster Nmap Scanning with Rust";
-    mainProgram = "rustscan";
     homepage = "https://github.com/RustScan/RustScan";
+    changelog = "https://github.com/RustScan/RustScan/releases/tag/${version}";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ figsoda ];
+    mainProgram = "rustscan";
   };
 }
diff --git a/pkgs/tools/security/semgrep/common.nix b/pkgs/tools/security/semgrep/common.nix
index 9fb3ae427a2ec..ee56a4c9d82d6 100644
--- a/pkgs/tools/security/semgrep/common.nix
+++ b/pkgs/tools/security/semgrep/common.nix
@@ -1,9 +1,9 @@
 { lib }:
 
 rec {
-  version = "1.69.0";
+  version = "1.70.0";
 
-  srcHash = "sha256-LA0mRuYJg97tMbmlmJpZ8wQc83S/jXNWBUjcoXSqoVo=";
+  srcHash = "sha256-+fpXHUqTltS+eHvX5qVSLqJkFZGXJ6fTmezDdkocXmY=";
 
   # submodule dependencies
   # these are fetched so we:
@@ -13,8 +13,8 @@ rec {
     "cli/src/semgrep/semgrep_interfaces" = {
       owner = "semgrep";
       repo = "semgrep-interfaces";
-      rev = "d5b91fa4f6a03240db31e9bbbc5376a99bc8eeea";
-      hash = "sha256-IQ22HvO0gHAfbZrt+bz1yMb/XRZOU+z03X+SOK9iDQs=";
+      rev = "df63c8fe4695d742eb7c027cd5d12ccbb3395dab";
+      hash = "sha256-UHF0rGKYCiefU42bk5T3oBW2GYT4HGSmRQYprfneOlY=";
     };
   };
 
@@ -25,19 +25,19 @@ rec {
   core = {
     x86_64-linux = {
       platform = "any";
-      hash = "sha256-QFE8NzGW2kkP5xtmbXgxE1OAxz6z7MT8wW/EmIVMgHE=";
+      hash = "sha256-DjIv5LTOZbjIr8BFqnIpH5h09KtxrggtA3xdCZ+OvZ8=";
     };
     aarch64-linux = {
       platform = "musllinux_1_0_aarch64.manylinux2014_aarch64";
-      hash = "sha256-E1fGT5TO2DbP4oYtkRs794jXGOp75q3o+xlOao8E7Lk=";
+      hash = "sha256-09zeVoSb61WeKHJZOLIHXHP+m6X5k7x38iU8jlpubBk=";
     };
     x86_64-darwin = {
       platform = "macosx_10_14_x86_64";
-      hash = "sha256-oWY57rQvxjMIhzjR62cpIVmKynmdF3zQOLMHBjbf1ig=";
+      hash = "sha256-nRpkJEeO8/cQmScg8vNuRLFfKcJZ7vG7pP37FqgcNlQ=";
     };
     aarch64-darwin = {
       platform = "macosx_11_0_arm64";
-      hash = "sha256-L2eFkahzwfBzPcx7Zq+NhtgJvBq5W1vZ4m1YNQ3dWAo=";
+      hash = "sha256-SzqFYyWJFNyW5H5xEcxF1GsuLK9GoaqiAx94X754QpI=";
     };
   };
 
diff --git a/pkgs/tools/security/sops/default.nix b/pkgs/tools/security/sops/default.nix
index 1c1b058973602..707d4b8c3131e 100644
--- a/pkgs/tools/security/sops/default.nix
+++ b/pkgs/tools/security/sops/default.nix
@@ -22,7 +22,7 @@ buildGoModule rec {
     description = "Simple and flexible tool for managing secrets";
     changelog = "https://github.com/getsops/sops/blob/v${version}/CHANGELOG.rst";
     mainProgram = "sops";
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     license = licenses.mpl20;
   };
 }
diff --git a/pkgs/tools/security/ssh-audit/default.nix b/pkgs/tools/security/ssh-audit/default.nix
index d704832f248d2..0551a7b10b222 100644
--- a/pkgs/tools/security/ssh-audit/default.nix
+++ b/pkgs/tools/security/ssh-audit/default.nix
@@ -6,14 +6,14 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "ssh-audit";
-  version = "3.1.0";
+  version = "3.2.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "jtesta";
     repo = pname;
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-pO6qpY1gqE40bb7q8J/35Dd0XckoFAaIBwWjFsxFO3c=";
+    sha256 = "sha256-g5h0A1BJqzOZaSVUxyi7IsCcrbto4+7+HpiVjFZy50Y=";
   };
 
   nativeCheckInputs = with python3Packages; [
diff --git a/pkgs/tools/security/step-ca/default.nix b/pkgs/tools/security/step-ca/default.nix
index 6bdbfa02d62a3..72f80c3c79eac 100644
--- a/pkgs/tools/security/step-ca/default.nix
+++ b/pkgs/tools/security/step-ca/default.nix
@@ -1,31 +1,30 @@
-{ stdenv
-, lib
-, fetchFromGitHub
-, buildGoModule
-, coreutils
-, pcsclite
-, PCSC
-, pkg-config
-, hsmSupport ? true
-, nixosTests
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  buildGoModule,
+  coreutils,
+  pcsclite,
+  PCSC,
+  pkg-config,
+  hsmSupport ? true,
+  nixosTests,
 }:
 
 buildGoModule rec {
   pname = "step-ca";
-  version = "0.25.2";
+  version = "0.26.1";
 
   src = fetchFromGitHub {
     owner = "smallstep";
     repo = "certificates";
     rev = "refs/tags/v${version}";
-    hash = "sha256-cP3QypBNWGbr7R7lJLfaoBh6C37ubGuaxnxWlZ1Z000=";
+    hash = "sha256-yej7gzhaUPbcvqbse7Hh7Im38+DUfC9UZkpjpuG8ctk=";
   };
 
-  vendorHash = "sha256-AXMMpzXEhdKSGeVg/KK2NEgalxIXP6DUTcoxOQVqow4=";
+  vendorHash = "sha256-XlfdIg8YHCeCvc7kZczUxlxUonyZSQATgsxLTMvNDk4=";
 
-  nativeBuildInputs = lib.optionals hsmSupport [
-    pkg-config
-  ];
+  nativeBuildInputs = lib.optionals hsmSupport [ pkg-config ];
 
   buildInputs =
     lib.optionals (hsmSupport && stdenv.isLinux) [ pcsclite ]
@@ -62,6 +61,10 @@ buildGoModule rec {
     homepage = "https://smallstep.com/certificates/";
     changelog = "https://github.com/smallstep/certificates/releases/tag/v${version}";
     license = licenses.asl20;
-    maintainers = with maintainers; [ cmcdragonkai mohe2015 techknowlogick ];
+    maintainers = with maintainers; [
+      cmcdragonkai
+      mohe2015
+      techknowlogick
+    ];
   };
 }
diff --git a/pkgs/tools/security/step-cli/default.nix b/pkgs/tools/security/step-cli/default.nix
deleted file mode 100644
index 0b7271b5b67a2..0000000000000
--- a/pkgs/tools/security/step-cli/default.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ lib
-, buildGoModule
-, fetchFromGitHub
-}:
-
-buildGoModule rec {
-  pname = "step-cli";
-  version = "0.26.0";
-
-  src = fetchFromGitHub {
-    owner = "smallstep";
-    repo = "cli";
-    rev = "refs/tags/v${version}";
-    hash = "sha256-fxBWYz95yxNa7xotmId2SHLAIymJIBOJumYzAPB3Ias=";
-  };
-
-  ldflags = [
-    "-w"
-    "-s"
-    "-X main.Version=${version}"
-  ];
-
-  preCheck = ''
-    # Tries to connect to smallstep.com
-    rm command/certificate/remote_test.go
-  '';
-
-  vendorHash = "sha256-A38pmKRulvmxXbIaUsTiMWgq1MhUKkvuGp07H1rxCJg=";
-
-  meta = with lib; {
-    description = "A zero trust swiss army knife for working with X509, OAuth, JWT, OATH OTP, etc";
-    homepage = "https://smallstep.com/cli/";
-    changelog = "https://github.com/smallstep/cli/blob/v${version}/CHANGELOG.md";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ ];
-    platforms = platforms.linux ++ platforms.darwin;
-    mainProgram = "step";
-  };
-}
diff --git a/pkgs/tools/security/sudo/default.nix b/pkgs/tools/security/sudo/default.nix
index a2501cb34f58e..060dbb34f5600 100644
--- a/pkgs/tools/security/sudo/default.nix
+++ b/pkgs/tools/security/sudo/default.nix
@@ -85,7 +85,7 @@ stdenv.mkDerivation (finalAttrs: {
     homepage = "https://www.sudo.ws/";
     # From https://www.sudo.ws/about/license/
     license = with licenses; [ sudo bsd2 bsd3 zlib ];
-    maintainers = with maintainers; [ delroth ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.linux;
     mainProgram = "sudo";
   };
diff --git a/pkgs/tools/security/tpm2-tools/default.nix b/pkgs/tools/security/tpm2-tools/default.nix
index d622ab5b93da6..b664eb6f01a3e 100644
--- a/pkgs/tools/security/tpm2-tools/default.nix
+++ b/pkgs/tools/security/tpm2-tools/default.nix
@@ -43,6 +43,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/tpm2-software/tpm2-tools";
     license = licenses.bsd3;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ delroth ];
+    maintainers = with maintainers; [ tomfitzhenry ];
   };
 }
diff --git a/pkgs/tools/security/trufflehog/default.nix b/pkgs/tools/security/trufflehog/default.nix
index 7771760dee6ed..4c5a536c882f4 100644
--- a/pkgs/tools/security/trufflehog/default.nix
+++ b/pkgs/tools/security/trufflehog/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "trufflehog";
-  version = "3.73.0";
+  version = "3.74.0";
 
   src = fetchFromGitHub {
     owner = "trufflesecurity";
     repo = "trufflehog";
     rev = "refs/tags/v${version}";
-    hash = "sha256-5tyjSwuhrtiAzvS5F8TyPCZhjSasTWQE9wcNGDevucE=";
+    hash = "sha256-smG27WHWGe15Q0XIjeK4C45mEvJuYqsUf0SsaMyYGzs=";
   };
 
-  vendorHash = "sha256-eK4YwNkBvC7VW5Cn6/M4clN83LGRNuw5jpjtnM0B9g8=";
+  vendorHash = "sha256-FOFrFmILeONJyKGZ7I+sWd8Di0Ni6P5/buA5QbR41A4=";
 
   proxyVendor = true;
 
diff --git a/pkgs/tools/system/acpica-tools/default.nix b/pkgs/tools/system/acpica-tools/default.nix
index 5525c73f43a85..1076209b21366 100644
--- a/pkgs/tools/system/acpica-tools/default.nix
+++ b/pkgs/tools/system/acpica-tools/default.nix
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
     homepage = "https://www.acpica.org/";
     description = "ACPICA Tools";
     license = with licenses; [ iasl gpl2Only bsd3 ];
-    maintainers = with maintainers; [ delroth tadfisher ];
+    maintainers = with maintainers; [ tadfisher ];
     platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/pkgs/tools/system/ctop/default.nix b/pkgs/tools/system/ctop/default.nix
index 6cf30afa3fd7d..0ddaac6352310 100644
--- a/pkgs/tools/system/ctop/default.nix
+++ b/pkgs/tools/system/ctop/default.nix
@@ -19,7 +19,7 @@ buildGoModule rec {
     description = "Top-like interface for container metrics";
     homepage = "https://ctop.sh/";
     license = licenses.mit;
-    maintainers = with maintainers; [ apeyroux marsam ];
+    maintainers = with maintainers; [ apeyroux ];
     mainProgram = "ctop";
   };
 }
diff --git a/pkgs/tools/system/dell-command-configure/default.nix b/pkgs/tools/system/dell-command-configure/default.nix
index b4cd7e5dbf63a..cd313751c7b63 100644
--- a/pkgs/tools/system/dell-command-configure/default.nix
+++ b/pkgs/tools/system/dell-command-configure/default.nix
@@ -55,10 +55,11 @@ let
     pname = "dell-command-configure-unpacked-wrapper-lib";
     inherit version;
 
-    src = ./.;
+    unpackPhase = ''
+      cp ${./wrapper-lib.c} wrapper-lib.c
+    '';
 
     postPatch = ''
-      ls -al
       substitute wrapper-lib.c lib.c \
         --subst-var-by to "${unpacked}/srvadmin-hapi/opt/dell/srvadmin/etc/omreg.d/omreg-hapi.cfg"
       cc -fPIC -shared lib.c -o ${wrapperLibName}
diff --git a/pkgs/tools/system/kmon/default.nix b/pkgs/tools/system/kmon/default.nix
index a54f835d7b9fd..b432b52ac43c5 100644
--- a/pkgs/tools/system/kmon/default.nix
+++ b/pkgs/tools/system/kmon/default.nix
@@ -29,7 +29,7 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/orhun/kmon/blob/v${version}/CHANGELOG.md";
     license = licenses.gpl3Only;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ figsoda misuzu matthiasbeyer ];
+    maintainers = with maintainers; [ figsoda matthiasbeyer ];
     mainProgram = "kmon";
   };
 }
diff --git a/pkgs/tools/text/csview/default.nix b/pkgs/tools/text/csview/default.nix
index 5420591e58425..b85d98b58fd7b 100644
--- a/pkgs/tools/text/csview/default.nix
+++ b/pkgs/tools/text/csview/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "csview";
-  version = "1.3.0";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "wfxr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-v+WqiHecps3rCGf6CF0KJDZUWs7zMrFypVPTANR8b6Y=";
+    sha256 = "sha256-Tu/h9jhZgulrc5bTJrwq7Ksg69qUVUBjWNdzve4m9JM=";
   };
 
-  cargoHash = "sha256-v5QxJto9acVJnMUvBK3QdkDH+qO2+wtqitGfSCcaJ5w=";
+  cargoHash = "sha256-ZXLu/6IQ20u8dk0gaZoBh0rt6CGaRBNVHGgrCW5+yzA=";
 
   meta = with lib; {
     description = "A high performance csv viewer with cjk/emoji support";
diff --git a/pkgs/tools/text/diffsitter/default.nix b/pkgs/tools/text/diffsitter/default.nix
index e3c14df854078..8e0a6bbc3d156 100644
--- a/pkgs/tools/text/diffsitter/default.nix
+++ b/pkgs/tools/text/diffsitter/default.nix
@@ -32,17 +32,17 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "diffsitter";
-  version = "0.8.2";
+  version = "0.8.3";
 
   src = fetchFromGitHub {
     owner = "afnanenayet";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-rB580TlM0/HXYgPvWtm7KMtXrw6i996HyvCrNr3QmNA=";
+    hash = "sha256-XYuX8NMVnVyOo3I2CmMS/TE47wQaigc8sen3ap2geSU=";
     fetchSubmodules = false;
   };
 
-  cargoHash = "sha256-8ajCXoB+mVhHrstVG+QkWYfXJqDk4+XPcO6yjR4TqpQ=";
+  cargoHash = "sha256-re0FRoyENpo+BF88U9ARuB05W03Slgm4nw1yxcpOA4o=";
 
   buildNoDefaultFeatures = true;
   buildFeatures = [
diff --git a/pkgs/tools/text/ltex-ls/default.nix b/pkgs/tools/text/ltex-ls/default.nix
index a494ebfe864f5..744c4f3345e7c 100644
--- a/pkgs/tools/text/ltex-ls/default.nix
+++ b/pkgs/tools/text/ltex-ls/default.nix
@@ -28,7 +28,7 @@ stdenvNoCC.mkDerivation rec {
     homepage = "https://valentjn.github.io/ltex/";
     description = "LSP language server for LanguageTool";
     license = licenses.mpl20;
-    maintainers = [ maintainers.marsam ];
+    maintainers = with maintainers; [ vinnymeller ];
     platforms = jre_headless.meta.platforms;
   };
 }
diff --git a/pkgs/tools/text/opencc/default.nix b/pkgs/tools/text/opencc/default.nix
index 4093554604f62..5cc8594741185 100644
--- a/pkgs/tools/text/opencc/default.nix
+++ b/pkgs/tools/text/opencc/default.nix
@@ -1,4 +1,11 @@
-{ lib, stdenv, fetchFromGitHub, cmake, python3 }:
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  cmake,
+  python3,
+  opencc,
+}:
 
 stdenv.mkDerivation rec {
   pname = "opencc";
@@ -11,7 +18,14 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-N7nazA0xoQ2ewOGDiJg1vBBYMdF1/qiCfNjG5CFFbuk=";
   };
 
-  nativeBuildInputs = [ cmake python3 ];
+  nativeBuildInputs =
+    [
+      cmake
+      python3
+    ]
+    ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
+      opencc # opencc_dict
+    ];
 
   meta = with lib; {
     homepage = "https://github.com/BYVoid/OpenCC";
diff --git a/pkgs/tools/text/ov/default.nix b/pkgs/tools/text/ov/default.nix
index e0ccf023a5ae7..76271f3d389bd 100644
--- a/pkgs/tools/text/ov/default.nix
+++ b/pkgs/tools/text/ov/default.nix
@@ -10,13 +10,13 @@
 
 buildGoModule rec {
   pname = "ov";
-  version = "0.34.0";
+  version = "0.34.1";
 
   src = fetchFromGitHub {
     owner = "noborus";
     repo = "ov";
     rev = "refs/tags/v${version}";
-    hash = "sha256-2Qk94xaDD+O8jO7Pq1MUWieEjUlVLxYxMMcsrEUwP4M=";
+    hash = "sha256-1IFjnBIa/xCX2nY0RHhj/7OCYErY9QB/OBMaf3wDvrc=";
   };
 
   vendorHash = "sha256-USMDIgB4LhI4kzSg2kkCXfbN9t49WEg0fUtAcZkngac=";
diff --git a/pkgs/tools/text/paperoni/default.nix b/pkgs/tools/text/paperoni/default.nix
index 203e5b21689f9..9e188c6d55083 100644
--- a/pkgs/tools/text/paperoni/default.nix
+++ b/pkgs/tools/text/paperoni/default.nix
@@ -47,6 +47,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/hipstermojo/paperoni";
     changelog = "https://github.com/hipstermojo/paperoni/releases/tag/${src.rev}";
     license = licenses.mit;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/tools/text/patchutils/0.4.2.nix b/pkgs/tools/text/patchutils/0.4.2.nix
index 1b2c0d6b1f3ec..d3d26c11481d6 100644
--- a/pkgs/tools/text/patchutils/0.4.2.nix
+++ b/pkgs/tools/text/patchutils/0.4.2.nix
@@ -5,4 +5,5 @@ callPackage ./generic.nix (args // {
   sha256 = "sha256-iHWwll/jPeYriQ9s15O+f6/kGk5VLtv2QfH+1eu/Re0=";
   # for gitdiff
   extraBuildInputs = [ python3 ];
+  patches = [ ./Revert-Fix-grepdiff-test.patch ];
 })
diff --git a/pkgs/tools/text/patchutils/Revert-Fix-grepdiff-test.patch b/pkgs/tools/text/patchutils/Revert-Fix-grepdiff-test.patch
new file mode 100644
index 0000000000000..434378a219ac4
--- /dev/null
+++ b/pkgs/tools/text/patchutils/Revert-Fix-grepdiff-test.patch
@@ -0,0 +1,38 @@
+From 13672e53371ea9593130bdca178f3b8b2e174032 Mon Sep 17 00:00:00 2001
+From: Alyssa Ross <hi@alyssa.is>
+Date: Thu, 25 Apr 2024 09:10:54 +0200
+Subject: [PATCH] Revert "Fix grepdiff test"
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This reverts commit a6538753a51db973a05c9034ed78f2dd946453db.
+
+There's no need for an escape here, because POSIX regexes don't treat
+'+' specially if it's at the start of the experssion.  musl rejects
+the version with the backslash.
+
+I'm still not clear why this change was made in the first place, but
+reverting it seems to make the test pass on both glibc and musl…
+
+Link: https://github.com/twaugh/patchutils/issues/61
+---
+ tests/grepdiff1/run-test | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/grepdiff1/run-test b/tests/grepdiff1/run-test
+index c4311f8..c3cebdd 100755
+--- a/tests/grepdiff1/run-test
++++ b/tests/grepdiff1/run-test
+@@ -20,7 +20,7 @@ cat << EOF > diff
+ +b
+ EOF
+ 
+-${GREPDIFF} '\+a' diff 2>errors >index || exit 1
++${GREPDIFF} '+a' diff 2>errors >index || exit 1
+ [ -s errors ] && exit 1
+ 
+ cat << EOF | cmp - index || exit 1
+-- 
+2.44.0
+
diff --git a/pkgs/tools/text/readability-cli/default.nix b/pkgs/tools/text/readability-cli/default.nix
index 5c0fedd752c35..aea915c73ef4e 100644
--- a/pkgs/tools/text/readability-cli/default.nix
+++ b/pkgs/tools/text/readability-cli/default.nix
@@ -34,7 +34,7 @@ buildNpmPackage rec {
     description = "Firefox Reader Mode in your terminal - get useful text from a web page using Mozilla's Readability library";
     homepage = "https://gitlab.com/gardenappl/readability-cli";
     license = licenses.gpl3Only;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     mainProgram = "readable";
   };
 }
diff --git a/pkgs/tools/text/tml/default.nix b/pkgs/tools/text/tml/default.nix
index 5a083bfc4d60c..0dc3cba1dbd19 100644
--- a/pkgs/tools/text/tml/default.nix
+++ b/pkgs/tools/text/tml/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "tml";
-  version = "0.6.1";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "liamg";
     repo = "tml";
     rev = "v${version}";
-    hash = "sha256-y9iv6s+ShKLxd+SOBQxwvPwuEL1kepJL6ukA4aoV9Z8=";
+    hash = "sha256-QMXEKjOKYQlzXc2ds8OAAL5xUxayGb6mxxyeHsCkfwo=";
   };
 
   vendorHash = "sha256-CHZS1SpPko8u3tZAYbf+Di882W55X9Q/zd4SmFCRgKM=";
diff --git a/pkgs/tools/text/vale/default.nix b/pkgs/tools/text/vale/default.nix
index 5bb73a50f9e64..a2a0259963b6a 100644
--- a/pkgs/tools/text/vale/default.nix
+++ b/pkgs/tools/text/vale/default.nix
@@ -36,6 +36,9 @@ buildGoModule rec {
       wrapProgram "$out/bin/vale" \
         --set VALE_STYLES_PATH "$out/share/vale/styles/"
     '';
+    meta = {
+      inherit (vale.meta) mainProgram;
+    };
   };
 
   meta = with lib; {
@@ -50,6 +53,6 @@ buildGoModule rec {
     changelog = "https://github.com/errata-ai/vale/releases/tag/v${version}";
     mainProgram = "vale";
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/tools/text/zstxtns-utils/default.nix b/pkgs/tools/text/zstxtns-utils/default.nix
index a797f2b8dab53..485a8b3a40d9d 100644
--- a/pkgs/tools/text/zstxtns-utils/default.nix
+++ b/pkgs/tools/text/zstxtns-utils/default.nix
@@ -33,7 +33,7 @@ stdenvNoCC.mkDerivation rec {
     description = "utilities to deal with text based name service databases";
     homepage = "https://ytrizja.de/";
     license = licenses.gpl3Plus;
-    maintainers = [ maintainers.fogti ];
+    maintainers = [ ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/typesetting/pulldown-cmark/default.nix b/pkgs/tools/typesetting/pulldown-cmark/default.nix
index b63cc05cd2afd..b77c5984a7a78 100644
--- a/pkgs/tools/typesetting/pulldown-cmark/default.nix
+++ b/pkgs/tools/typesetting/pulldown-cmark/default.nix
@@ -5,14 +5,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "pulldown-cmark";
-  version = "0.10.2";
+  version = "0.10.3";
 
   src = fetchCrate {
     inherit pname version;
-    hash = "sha256-jRQ2BnaElhciyBPQiHw680uFC6FXs+rP8rJGWH5ZbCc=";
+    hash = "sha256-lJTMMXjuam872p+3+uesODd3s3/IJFg476AssikhI48=";
   };
 
-  cargoHash = "sha256-UsdssFfy7cTM0wrfLDLrzbKudB5vqFINInJAteH5OTk=";
+  cargoHash = "sha256-P0Wem+iEnjq+iyJYw0QqwFQ7UuG/BMKEUernykjg44o=";
 
   meta = {
     description = "A pull parser for CommonMark written in Rust";
diff --git a/pkgs/tools/typesetting/satysfi/default.nix b/pkgs/tools/typesetting/satysfi/default.nix
index 1478da2d7675a..64bd2a80fff5a 100644
--- a/pkgs/tools/typesetting/satysfi/default.nix
+++ b/pkgs/tools/typesetting/satysfi/default.nix
@@ -67,7 +67,7 @@ in
       description = "A statically-typed, functional typesetting system";
       changelog = "https://github.com/gfngfn/SATySFi/blob/v${version}/CHANGELOG.md";
       license = licenses.lgpl3Only;
-      maintainers = [ maintainers.mt-caret maintainers.marsam ];
+      maintainers = [ maintainers.mt-caret ];
       platforms = platforms.all;
       mainProgram = "satysfi";
     };
diff --git a/pkgs/tools/typesetting/tex/pgf-tikz/pgf-2.x.nix b/pkgs/tools/typesetting/tex/pgf-tikz/pgf-2.x.nix
index e823d0a4c4d93..d25e1bd84904f 100644
--- a/pkgs/tools/typesetting/tex/pgf-tikz/pgf-2.x.nix
+++ b/pkgs/tools/typesetting/tex/pgf-tikz/pgf-2.x.nix
@@ -28,7 +28,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
 
   meta = with lib; {
     homepage = "https://github.com/pgf-tikz/pgf";
-    description = "A Portable Graphic Format for TeX - version ${version}";
+    description = "A Portable Graphic Format for TeX";
     branch = lib.versions.major version;
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ AndersonTorres ];
diff --git a/pkgs/tools/typesetting/tex/texlive/bin.nix b/pkgs/tools/typesetting/tex/texlive/bin.nix
index af810aa51d316..ece8a36aa5536 100644
--- a/pkgs/tools/typesetting/tex/texlive/bin.nix
+++ b/pkgs/tools/typesetting/tex/texlive/bin.nix
@@ -196,7 +196,7 @@ core = stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Basic binaries for TeX Live";
     homepage    = "http://www.tug.org/texlive";
-    license     = lib.licenses.gpl2;
+    license     = lib.licenses.gpl2Plus;
     maintainers = with maintainers; [ veprbl lovek323 raskin jwiegley ];
     platforms   = platforms.all;
   };
diff --git a/pkgs/tools/typesetting/tex/texlive/build-texlive-package.nix b/pkgs/tools/typesetting/tex/texlive/build-texlive-package.nix
index a682d90c7b22e..8d08c89ef0b6b 100644
--- a/pkgs/tools/typesetting/tex/texlive/build-texlive-package.nix
+++ b/pkgs/tools/typesetting/tex/texlive/build-texlive-package.nix
@@ -1,6 +1,7 @@
 { lib
 , fetchurl
 , runCommand
+, writeShellScript
 
   # script interpreters
 , bash
@@ -18,6 +19,16 @@
 /* Convert an attribute set extracted from tlpdb.nix (with the deps attribute
   already processed) to a fake multi-output derivation with possible outputs
   [ "tex" "texdoc" "texsource" "tlpkg" "out" "man" "info" ]
+
+  The multi-output is emulated as follows:
+  - the main derivation is a multi-output derivation that builds links to the
+    containers (tex, texdoc, ...)
+  - the output attributes are replaced with the actual containers with the
+    outputSpecified attribute set to true
+
+  In this way, when texlive.withPackages picks an output such as drv.tex, it
+  receives the actual container, avoiding superfluous dependencies on the other
+  containers (for instance doc containers).
 */
 
 # TODO stabilise a generic interface decoupled from the finer details of the
@@ -50,47 +61,43 @@ let
     license = map (x: lib.licenses.${x}) license;
     # TeX Live packages should not be installed directly into the user profile
     outputsToInstall = [ ];
+    longDescription = ''
+      This package cannot be installed directly. Please use `texlive.withPackages`.
+    '';
+  } // lib.optionalAttrs (args ? shortdesc) {
+    description = args.shortdesc;
   };
 
   hasBinfiles = args ? binfiles && args.binfiles != [ ];
   hasDocfiles = sha512 ? doc;
   hasSource = sha512 ? source;
 
-  # emulate drv.all, drv.outputs lists
-  all = lib.optional hasBinfiles bin ++
-    lib.optional hasRunfiles tex ++
-    lib.optional hasDocfiles texdoc ++
-    lib.optional hasSource texsource ++
-    lib.optional hasTlpkg tlpkg ++
-    lib.optional hasManpages man ++
-    lib.optional hasInfo info;
-  outputs = lib.catAttrs "tlOutputName" all;
-
-  mainDrv = if hasBinfiles then bin
-    else if hasRunfiles then tex
-    else if hasTlpkg then tlpkg
-    else if hasDocfiles then texdoc
-    else if hasSource then texsource
-    else tex; # fall back to attrset tex if there is no derivation
-
-  # emulate multi-output derivation plus additional metadata
-  # (out is handled in mkContainer)
+  # containers that will be built by Hydra
+  outputs = lib.optional hasBinfiles "out" ++
+    lib.optional hasRunfiles "tex" ++
+    lib.optional hasDocfiles "texdoc" ++
+    # omit building sources, since as far as we know, installing them is not common
+    # the sources will still be available under drv.texsource
+    # lib.optional hasSource "texsource" ++
+    lib.optional hasTlpkg "tlpkg" ++
+    lib.optional hasManpages "man" ++
+    lib.optional hasInfo "info";
+  outputDrvs = lib.getAttrs outputs containers;
+
   passthru = {
-    inherit all outputs pname;
+    # metadata
+    inherit pname;
     revision = toString revision + extraRevision;
     version = version + extraVersion;
+    # containers behave like specified outputs
     outputSpecified = true;
-    inherit tex;
   } // lib.optionalAttrs (args ? deps) { tlDeps = args.deps; }
   // lib.optionalAttrs (args ? fontMaps) { inherit (args) fontMaps; }
   // lib.optionalAttrs (args ? formats) { inherit (args) formats; }
   // lib.optionalAttrs (args ? hyphenPatterns) { inherit (args) hyphenPatterns; }
   // lib.optionalAttrs (args ? postactionScript) { inherit (args) postactionScript; }
-  // lib.optionalAttrs hasDocfiles { texdoc = texdoc; }
-  // lib.optionalAttrs hasSource { texsource = texsource; }
-  // lib.optionalAttrs hasTlpkg { tlpkg = tlpkg; }
-  // lib.optionalAttrs hasManpages { man = man; }
-  // lib.optionalAttrs hasInfo { info = info; };
+  // lib.optionalAttrs hasSource { inherit (containers) texsource; }
+  // lib.optionalAttrs (! hasRunfiles) { tex = fakeTeX; };
 
   # build run, doc, source, tlpkg containers
   mkContainer = tlType: tlOutputName: sha512:
@@ -125,24 +132,12 @@ let
           fi
         '' + postUnpack);
     in
-    # remove the standard drv.out, optionally replace it with the bin container
-    builtins.removeAttrs container [ "out" ] // lib.optionalAttrs hasBinfiles { out = bin; };
-
-  tex =
-    if hasRunfiles then mkContainer "run" "tex" sha512.run
-    else passthru
-      // { inherit meta; tlOutputName = "tex"; }
-      // lib.optionalAttrs hasBinfiles { out = bin; };
-
-  texdoc = mkContainer "doc" "texdoc" sha512.doc;
+    # remove drv.out to avoid confusing texlive.withPackages
+    removeAttrs container [ "out" ]
+    // outputDrvs;
 
-  texsource = mkContainer "source" "texsource" sha512.source;
-
-  tlpkg = mkContainer "tlpkg" "tlpkg" sha512.run;
-
-  # build bin container
+  # find interpreters for the script extensions found in tlpdb
   extToInput = {
-    # find interpreters for the script extensions found in tlpdb
     jar = jdk;
     lua = texliveBinaries.luatex;
     py = python3;
@@ -153,52 +148,86 @@ let
     tlu = texliveBinaries.luatex;
   };
 
-  bin = runCommand "${name}"
-    {
-      inherit meta;
-      passthru = passthru // { tlOutputName = "out"; };
-      # shebang interpreters
-      buildInputs =let outName = builtins.replaceStrings [ "-" ] [ "_" ] pname; in
-        [ texliveBinaries.core.${outName} or null
-          texliveBinaries.${pname} or null
-          texliveBinaries.core-big.${outName} or null ]
-        ++ (args.extraBuildInputs or [ ]) ++ [ bash perl ]
-        ++ (lib.attrVals (args.scriptExts or [ ]) extToInput);
-      nativeBuildInputs = extraNativeBuildInputs;
-      # absolute scripts folder
-      scriptsFolder = lib.optionals (tex ? outPath) (builtins.map (f: tex.outPath + "/scripts/" + f) (lib.toList args.scriptsFolder or pname));
-      # binaries info
-      inherit (args) binfiles;
-      binlinks = builtins.attrNames (args.binlinks or { });
-      bintargets = builtins.attrValues (args.binlinks or { });
-      # build scripts
-      patchScripts = ./patch-scripts.sed;
-      makeBinContainers = ./make-bin-containers.sh;
-    }
-    ''
-      . "$makeBinContainers"
-      ${args.postFixup or ""}
-    '';
-
-  # build man, info containers
-  man = builtins.removeAttrs (runCommand "${name}-man"
-    {
-      inherit meta texdoc;
-      passthru = passthru // { tlOutputName = "man"; };
-    }
-    ''
-      mkdir -p "$out"/share
-      ln -s {"$texdoc"/doc,"$out"/share}/man
-    '') [ "out" ] // lib.optionalAttrs hasBinfiles { out = bin; };
-
-  info = builtins.removeAttrs (runCommand "${name}-info"
-    {
-      inherit meta texdoc;
-      passthru = passthru // { tlOutputName = "info"; };
-    }
-    ''
-      mkdir -p "$out"/share
-      ln -s {"$texdoc"/doc,"$out"/share}/info
-    '') [ "out" ] // lib.optionalAttrs hasBinfiles { out = bin; };
+  # fake derivation for resolving dependencies in the absence of a "tex" containers
+  fakeTeX = passthru
+    // { inherit meta; tlOutputName = "tex"; }
+    // outputDrvs;
+
+  containers = rec {
+    tex = mkContainer "run" "tex" sha512.run;
+    texdoc = mkContainer "doc" "texdoc" sha512.doc;
+    texsource = mkContainer "source" "texsource" sha512.source;
+    tlpkg = mkContainer "tlpkg" "tlpkg" sha512.run;
+
+    # bin container
+    out = runCommand "${name}"
+      {
+        inherit meta;
+        passthru = passthru // { tlOutputName = "out"; };
+        # shebang interpreters
+        buildInputs = let outName = builtins.replaceStrings [ "-" ] [ "_" ] pname; in
+          [
+            texliveBinaries.core.${outName} or null
+            texliveBinaries.${pname} or null
+            texliveBinaries.core-big.${outName} or null
+          ]
+          ++ (args.extraBuildInputs or [ ]) ++ [ bash perl ]
+          ++ (lib.attrVals (args.scriptExts or [ ]) extToInput);
+        nativeBuildInputs = extraNativeBuildInputs;
+        # absolute scripts folder
+        scriptsFolder = lib.optionals (hasRunfiles && tex ? outPath) (map (f: tex.outPath + "/scripts/" + f) (lib.toList args.scriptsFolder or pname));
+        # binaries info
+        inherit (args) binfiles;
+        binlinks = builtins.attrNames (args.binlinks or { });
+        bintargets = builtins.attrValues (args.binlinks or { });
+        # build scripts
+        patchScripts = ./patch-scripts.sed;
+        makeBinContainers = ./make-bin-containers.sh;
+      }
+      ''
+        . "$makeBinContainers"
+        ${args.postFixup or ""}
+      '' // outputDrvs;
+
+    # build man, info containers
+    man = removeAttrs
+      (runCommand "${name}-man"
+        {
+          inherit meta texdoc;
+          passthru = passthru // { tlOutputName = "man"; };
+        }
+        ''
+          mkdir -p "$out"/share
+          ln -s {"$texdoc"/doc,"$out"/share}/man
+        '') [ "out" ] // outputDrvs;
+
+    info = removeAttrs
+      (runCommand "${name}-info"
+        {
+          inherit meta texdoc;
+          passthru = passthru // { tlOutputName = "info"; };
+        }
+        ''
+          mkdir -p "$out"/share
+          ln -s {"$texdoc"/doc,"$out"/share}/info
+        '') [ "out" ] // outputDrvs;
+  };
 in
-builtins.removeAttrs mainDrv [ "outputSpecified" ]
+if outputs == [ ] then removeAttrs fakeTeX [ "outputSpecified" ] else
+runCommand name
+  {
+    __structuredAttrs = true;
+    inherit meta outputDrvs outputs;
+    passthru = removeAttrs passthru [ "outputSpecified" ];
+
+    # force output name in case "out" is missing
+    nativeBuildInputs = lib.optional (! hasBinfiles)
+      (writeShellScript "force-output.sh" ''
+        export out="''${${builtins.head outputs}-}"
+      '');
+  }
+  ''
+    for outputName in ''${!outputs[@]} ; do
+      ln -s "''${outputDrvs[$outputName]}" "''${outputs[$outputName]}"
+    done
+  '' // outputDrvs
diff --git a/pkgs/tools/typesetting/tex/texlive/default.nix b/pkgs/tools/typesetting/tex/texlive/default.nix
index cab889f5f8b39..e84f89cdd6af3 100644
--- a/pkgs/tools/typesetting/tex/texlive/default.nix
+++ b/pkgs/tools/typesetting/tex/texlive/default.nix
@@ -94,7 +94,7 @@ let
   fixedHashes = lib.optionalAttrs useFixedHashes (import ./fixed-hashes.nix);
 
   buildTeXLivePackage = import ./build-texlive-package.nix {
-    inherit lib fetchurl runCommand bash jdk perl python3 ruby snobol4 tk;
+    inherit lib fetchurl runCommand writeShellScript bash jdk perl python3 ruby snobol4 tk;
     texliveBinaries = bin;
   };
 
@@ -158,24 +158,24 @@ let
   # these license lists should be the sorted union of the licenses of the packages the schemes contain.
   # The correctness of this collation is tested by tests.texlive.licenses
   licenses = with lib.licenses; {
-    scheme-basic = [ free gfl gpl1Only gpl2 gpl2Plus knuth lgpl21 lppl1 lppl13c mit ofl publicDomain ];
-    scheme-bookpub = [ artistic2 asl20 bsd3 fdl13Only free gfl gpl1Only gpl2 gpl2Plus knuth lgpl21 lppl1 lppl12 lppl13a lppl13c mit ofl publicDomain ];
-    scheme-context = [ bsd2 bsd3 cc-by-sa-40 free gfl gfsl gpl1Only gpl2 gpl2Plus gpl3 gpl3Plus knuth lgpl2 lgpl21
+    scheme-basic = [ free gfl gpl1Only gpl2Only gpl2Plus knuth lgpl21 lppl1 lppl13c mit ofl publicDomain ];
+    scheme-bookpub = [ artistic2 asl20 bsd3 fdl13Only free gfl gpl1Only gpl2Only gpl2Plus knuth lgpl21 lppl1 lppl12 lppl13a lppl13c mit ofl publicDomain ];
+    scheme-context = [ bsd2 bsd3 cc-by-sa-40 free gfl gfsl gpl1Only gpl2Only gpl2Plus gpl3Only gpl3Plus knuth lgpl2 lgpl21
       lppl1 lppl13c mit ofl publicDomain x11 ];
     scheme-full = [ artistic1-cl8 artistic2 asl20 bsd2 bsd3 bsdOriginal cc-by-10 cc-by-20 cc-by-30 cc-by-40 cc-by-sa-10 cc-by-sa-20 cc-by-sa-30
-      cc-by-sa-40 cc0 fdl13Only free gfl gfsl gpl1Only gpl2 gpl2Plus gpl3 gpl3Plus isc knuth lgpl2 lgpl21 lgpl3 lppl1 lppl12 lppl13a lppl13c mit
+      cc-by-sa-40 cc0 fdl13Only free gfl gfsl gpl1Only gpl2Only gpl2Plus gpl3Only gpl3Plus isc knuth lgpl2 lgpl21 lgpl3 lppl1 lppl12 lppl13a lppl13c mit
       ofl publicDomain x11 ];
-    scheme-gust = [ artistic1-cl8 asl20 bsd2 bsd3 cc-by-40 cc-by-sa-40 cc0 fdl13Only free gfl gfsl gpl1Only gpl2
-      gpl2Plus gpl3 gpl3Plus knuth lgpl2 lgpl21 lppl1 lppl12 lppl13a lppl13c mit ofl publicDomain x11 ];
-    scheme-infraonly = [ gpl2 gpl2Plus lgpl21 ];
+    scheme-gust = [ artistic1-cl8 asl20 bsd2 bsd3 cc-by-40 cc-by-sa-40 cc0 fdl13Only free gfl gfsl gpl1Only gpl2Only
+      gpl2Plus gpl3Only gpl3Plus knuth lgpl2 lgpl21 lppl1 lppl12 lppl13a lppl13c mit ofl publicDomain x11 ];
+    scheme-infraonly = [ gpl2Plus lgpl21 ];
     scheme-medium = [ artistic1-cl8 asl20 bsd2 bsd3 cc-by-40 cc-by-sa-20 cc-by-sa-30 cc-by-sa-40 cc0 fdl13Only
-      free gfl gpl1Only gpl2 gpl2Plus gpl3 gpl3Plus isc knuth lgpl2 lgpl21 lgpl3 lppl1 lppl12 lppl13a lppl13c mit ofl
+      free gfl gpl1Only gpl2Only gpl2Plus gpl3Only gpl3Plus isc knuth lgpl2 lgpl21 lgpl3 lppl1 lppl12 lppl13a lppl13c mit ofl
       publicDomain x11 ];
-    scheme-minimal = [ free gpl1Only gpl2 gpl2Plus knuth lgpl21 lppl1 lppl13c mit ofl publicDomain ];
-    scheme-small = [ asl20 cc-by-40 cc-by-sa-40 cc0 fdl13Only free gfl gpl1Only gpl2 gpl2Plus gpl3 gpl3Plus knuth
+    scheme-minimal = [ free gpl1Only gpl2Plus knuth lgpl21 lppl1 lppl13c mit ofl publicDomain ];
+    scheme-small = [ asl20 cc-by-40 cc-by-sa-40 cc0 fdl13Only free gfl gpl1Only gpl2Only gpl2Plus gpl3Only gpl3Plus knuth
       lgpl2 lgpl21 lppl1 lppl12 lppl13a lppl13c mit ofl publicDomain x11 ];
     scheme-tetex = [ artistic1-cl8 asl20 bsd2 bsd3 cc-by-30 cc-by-40 cc-by-sa-10 cc-by-sa-20 cc-by-sa-30 cc-by-sa-40 cc0 fdl13Only free gfl gpl1Only
-      gpl2 gpl2Plus gpl3 gpl3Plus isc knuth lgpl2 lgpl21 lgpl3 lppl1 lppl12 lppl13a lppl13c mit ofl publicDomain x11 ];
+      gpl2Only gpl2Plus gpl3Only gpl3Plus isc knuth lgpl2 lgpl21 lgpl3 lppl1 lppl12 lppl13a lppl13c mit ofl publicDomain x11 ];
   };
 
   meta = {
diff --git a/pkgs/tools/typesetting/tex/texlive/tl2nix.sed b/pkgs/tools/typesetting/tex/texlive/tl2nix.sed
index 66a59ced5af75..6848c404aec36 100644
--- a/pkgs/tools/typesetting/tex/texlive/tl2nix.sed
+++ b/pkgs/tools/typesetting/tex/texlive/tl2nix.sed
@@ -23,6 +23,12 @@ $a}
   # extract revision
   s/^revision ([0-9]*)$/  revision = \1;/p
 
+  # extract short description
+  /^shortdesc (.+)$/{
+    s/"/\\"/g # escape quotes
+    s/^shortdesc (.+)/  shortdesc = "\1";/p
+  }
+
   # extract hashes of *.tar.xz
   s/^containerchecksum (.*)/  sha512.run = "\1";/p
   s/^doccontainerchecksum (.*)/  sha512.doc = "\1";/p
@@ -47,7 +53,8 @@ $a}
     s/"bsd4"/"bsdOriginal"/g
     s/"collection"/"free"/g   # used for collections of individual packages with distinct licenses. As TeXlive only contains free software, we can use "free" as a catchall
     s/"fdl"/"fdl13Only"/g
-    s/"gpl1?"/"gpl1Only"/g
+    s/"gpl"/"gpl1Only"/g
+    s/"gpl([1-3])"/"gpl\1Only"/g
     s/"gpl2\+"/"gpl2Plus"/g
     s/"gpl3\+"/"gpl3Plus"/g
     s/"lgpl"/"lgpl2"/g
diff --git a/pkgs/tools/typesetting/tex/texlive/tlpdb-overrides.nix b/pkgs/tools/typesetting/tex/texlive/tlpdb-overrides.nix
index 5aab1cb952221..7ec6eee1a7fc9 100644
--- a/pkgs/tools/typesetting/tex/texlive/tlpdb-overrides.nix
+++ b/pkgs/tools/typesetting/tex/texlive/tlpdb-overrides.nix
@@ -131,10 +131,10 @@ in lib.recursiveUpdate orig rec {
 
   # TODO: handle symlinks in bin.core
   ptex.binlinks = {
-    pbibtex = tl.uptex + "/bin/upbibtex";
-    pdvitype = tl.uptex + "/bin/updvitype";
-    ppltotf = tl.uptex + "/bin/uppltotf";
-    ptftopl = tl.uptex + "/bin/uptftopl";
+    pbibtex = tl.uptex.out + "/bin/upbibtex";
+    pdvitype = tl.uptex.out + "/bin/updvitype";
+    ppltotf = tl.uptex.out + "/bin/uppltotf";
+    ptftopl = tl.uptex.out + "/bin/uptftopl";
   };
 
   texdef.binlinks = {
@@ -143,7 +143,7 @@ in lib.recursiveUpdate orig rec {
 
   texlive-scripts.binlinks = {
     mktexfmt = "fmtutil";
-    texhash = tl."texlive.infra" + "/bin/mktexlsr";
+    texhash = tl."texlive.infra".out + "/bin/mktexlsr";
   };
 
   texlive-scripts-extra.binlinks = {
diff --git a/pkgs/tools/typesetting/tex/texlive/tlpdb.nix b/pkgs/tools/typesetting/tex/texlive/tlpdb.nix
index 7ff3e89bdb2aa..c778234dc04a8 100644
--- a/pkgs/tools/typesetting/tex/texlive/tlpdb.nix
+++ b/pkgs/tools/typesetting/tex/texlive/tlpdb.nix
@@ -6,6 +6,7 @@
 };
 "12many" = {
   revision = 15878;
+  shortdesc = "Generalising mathematical index sets";
   stripPrefix = 0;
   sha512.run = "57a177b65450718631f36bfd8db0f2d1bff788f3bf147137b6412714cc945c7e08832f14f9e7e659adf7e072a91f13a2ea27fe3161cd9b60313bc956f1f543c6";
   sha512.doc = "9ce7fdae151a116ef6b22943bcbd1e94b90862baa5d50f54a00105d1f2d623f75a2e1440c3c49c560e2e6c5baddb8a6772753f400165b63a90a84f540e3fa381";
@@ -16,6 +17,7 @@
 };
 "2up" = {
   revision = 55076;
+  shortdesc = "Macros to print two-up";
   stripPrefix = 0;
   sha512.run = "6408d1d99a97df71640bcdde4133edc2e5861bbcdc8c5e1be98d5704f7ecf9c043c5538ea19ac4952d811e3677ee0698bdd477eadbd1068725bdb210787d9dbc";
   sha512.doc = "3375cfbd95412f2fde2bdb9171b1c081890a52168d0c6d0f0dfb0ad914117c79291a56bc97602627a698509635765fd5e6e95387a006039178e440a8bea24837";
@@ -25,6 +27,7 @@
 };
 a0poster = {
   revision = 54071;
+  shortdesc = "Support for designing posters on large paper";
   stripPrefix = 0;
   sha512.run = "038623ef39540340a9c9de228ff0787512fb34916ee5a250dbc6d9327b9249d51c633b8ed0dd725c90db462ed7c96290ea7d6fd60e299e787d0e5cf585efb5f5";
   sha512.doc = "51e01cf36d4ec625bdc68e586d276e09973dcfe30cd9ba2aa7dbeed73337bea03a222d66a6903e5203e1530d88433d326d38ff66896c52ac33587a3d147cc2e5";
@@ -34,6 +37,7 @@ a0poster = {
 };
 a2ping = {
   revision = 52964;
+  shortdesc = "Advanced PS, PDF, EPS converter";
   sha512.run = "4008c18f93a7d378c8da20bad7c1fdf19c3e6befccdcc804326168854fcd35bb89fe414b30a26dbddeaf81a11c0d404bf5b5459bd3d8adce49dc30279e3bd420";
   sha512.doc = "7a7b6474819b2715c131485472963b463163378d4ae4ac586f17a130b3327c6dda1f4132f4f2379388a8a493fb2374abfff6b7ad87513cbe9d04993572692aeb";
   hasManpages = true;
@@ -46,6 +50,7 @@ a2ping.binfiles = [
 ];
 a4wide = {
   revision = 20943;
+  shortdesc = "\"Wide\" a4 layout";
   stripPrefix = 0;
   sha512.run = "e0f1f95bf660760683d6c5a917d75e537a0347837eb4388eded8194c6ca5371b2ad9be9829fcaaff1e24b7d8baefd287db6add752c19a57a6cf0737017e311e3";
   sha512.doc = "bf059462ec7e28ba782d5842d090c93f4e911bdf44eb3d4f184a7324b454105295460a52414ffcb9fc71dceeba902b1d78ba208d0998f71727ad41299eb1138f";
@@ -54,6 +59,7 @@ a4wide = {
 };
 a5comb = {
   revision = 17020;
+  shortdesc = "Support for a5 paper sizes";
   stripPrefix = 0;
   sha512.run = "443548964eb48ec458942e97f0d6ceb698050a5d4dc83ad17a71db0f1d5085a2c8e73c3e8d9bdbb7ab7e6328d12e42a6ec05c4c7dd4247717f295fcd5da66423";
   sha512.doc = "ee845d8b6a21271d2f0e4e6fd24c79a1235d24ba15cc2d037eb41761b05ad3e69dcb5379c223c07b81c62df5f89190c84ff977390e149566710ce7175e4c2823";
@@ -63,6 +69,7 @@ a5comb = {
 };
 aaai-named = {
   revision = 52470;
+  shortdesc = "BibTeX style for AAAI";
   stripPrefix = 0;
   sha512.run = "bb851e6bb3d9c2efd8d9abd32056d0853e320ee7f495b3c595d6a112d5e66bdbcb24107f741249fdfde350dead6763484cc412d380188d29155649b4076c4e77";
   hasRunfiles = true;
@@ -70,6 +77,7 @@ aaai-named = {
 };
 aalok = {
   revision = 61719;
+  shortdesc = "LaTeX class file for the Marathi journal 'Aalok'";
   stripPrefix = 0;
   sha512.run = "03d1585e9b92e26044066d1f5b8d2dec0ad298627cc94fc1ab11e45307f62c573934f1a2cae6c5318a9cb377834d4f5a490144cc07bdebd9dc22cf298315630b";
   sha512.doc = "702145c708edf984d24153822036acc0b563038c50423af0cd3cc6b008b7eb3bc8d67eddaac350ac6557650177218260e5adfaf0ca5807130b0e23ec7127470d";
@@ -80,6 +88,7 @@ aalok = {
 };
 aastex = {
   revision = 58057;
+  shortdesc = "Macros for Manuscript Preparation for AAS Journals";
   stripPrefix = 0;
   sha512.run = "9ae52d4142c12621839945213d1f20531350b27f0b1d124d5d5c1bae81d50fbe83ab116d0c65c25852952415eb860eaaf008c119cc10cdb149b964f0b06ad6d0";
   sha512.doc = "bce30656a98d3598312ff399b5e5eb229b89e7e62521748418be718c38c6749a8e9737f6c933f6f32ec948e3ebe1ef339ba9037908741c3b902d33a8fda9b027";
@@ -89,6 +98,7 @@ aastex = {
 };
 abbr = {
   revision = 15878;
+  shortdesc = "Simple macros supporting abreviations for Plain and LaTeX";
   stripPrefix = 0;
   sha512.run = "4b5d504cc9438ceb97a6935e66a6eaeb494eb76eb313bed275b1f1a829690569972feec048132e12b5849f398d0a4b291bc5f9ce8462031846ec46bc88ebab3c";
   sha512.doc = "7080dea132581fdb0803b4ecfdcf4fd5ed5a689bd7e0c7b7b699ef5b3faeab908042f1704cb553ce38e7f37d9facf7d22a74ac71e2cbd269298f35666367f41a";
@@ -97,6 +107,7 @@ abbr = {
 };
 abc = {
   revision = 41157;
+  shortdesc = "Support ABC music notation in LaTeX";
   stripPrefix = 0;
   sha512.run = "8b1ccd152ed2ad90810551a36f0fa7f114625784fa967f70b67559f9f1e8eb32d7edd08efc9e55dd92723df4039d1bdcc212200d712e99f27de84a153c2a3777";
   sha512.doc = "5f127f8e1ec104b40ac4d5e9bb22965e9376033892362073cdea9f65f1f10a4152f237b4f27bf52dbbe1389f59d3da673434c39a2b3f43d6f17aa60caabd5584";
@@ -107,6 +118,7 @@ abc = {
 };
 abnt = {
   revision = 55471;
+  shortdesc = "Typesetting academic works according to ABNT rules";
   stripPrefix = 0;
   sha512.run = "66931af2a5ab583914ea5abe6bb9668d04442c23ab654691e3864ecfaeecf65e3eda47b3d279abb9fdacb385ef9922d6caab808273f87f3bf323a33b441b7bd1";
   sha512.doc = "0a46414ec99e14a60a167ec7ca09d074c802f4232cbd4204e52e9d489edb3b1657c7f33f0a3fd0bbaa09f624cb52903b8a18db43f54c7a1b0aef8c804b53b1b7";
@@ -115,6 +127,7 @@ abnt = {
 };
 abntex2 = {
   revision = 49248;
+  shortdesc = "Typeset technical and scientific Brazilian documents based on ABNT rules";
   stripPrefix = 0;
   sha512.run = "951c039cf0c97a6bd3974bd01ed9323876f1ee74b8250037dce3e92e00d598ab1cb2cfd0bbf4ea6d37b5f8c3e1095e531aa245ad1a91ee49262e6f99c5c84e59";
   sha512.doc = "b6a5871cc33d94c1294a62aeb809f9d29ccf021cff510497c02edbaef2f155a55847dc521a0f698367692e556b2c588a95066bd3097482b0477a67d4a78b7489";
@@ -124,6 +137,7 @@ abntex2 = {
 };
 abntexto = {
   revision = 68837;
+  shortdesc = "LaTeX class for formatting academic papers in ABNT standards";
   stripPrefix = 0;
   sha512.run = "9fb1177d1e97995fa8c7038e38fb827e491c2658af6844f62edb547f281120a9df873a98e509d3e67c577d46472c887ca96ce2e2436f748cba9086c6160f2986";
   sha512.doc = "3d3d58d077f3072e9bfd9bc11e68e17e4885af88864ef80de1010c331c429895c5e03df438d3a0652a8d31623dde5b1cb40daf0a709af6c3a2e90658d13c596c";
@@ -133,6 +147,7 @@ abntexto = {
 };
 aboensis = {
   revision = 62977;
+  shortdesc = "A late medieval OpenType cursive font";
   stripPrefix = 0;
   sha512.run = "74f569d7f8b942087285964f350e97b15de05a69a09b1aa21d3bee09a017381d4b18b449a55aafcd0009a5941f0bea198b04947a81b331541af6617d5a58ad73";
   sha512.doc = "84317ef83e712296819b25926adb7522531482b9d17d807cdfd3897f712aae8a8f161a242bffdbe7511478a3e5ec2c1e76fcf51c14661b3465aabbc6b95bbaf2";
@@ -141,6 +156,7 @@ aboensis = {
 };
 abraces = {
   revision = 64967;
+  shortdesc = "Asymmetric over-/underbraces in maths";
   stripPrefix = 0;
   sha512.run = "ca6061935e6be1089592f77612de222313e41b8f78f0f14bfc06a8823da052543cf6ef0cb95c585698a8a07b5d3c2954909d85ee2ed300c8602574d34ede2892";
   sha512.doc = "84c9a8585ec4cd16dd8e07140f10e545f99622dd90ff3ed28a7eeaa070ce18cfc9ed64e2bbc9efd0dbd4ebe1c27b68aee66eb091ffd6c8debad1cb502edb6f4e";
@@ -150,6 +166,7 @@ abraces = {
 };
 abspos = {
   revision = 64465;
+  shortdesc = "Absolute placement with coffins";
   stripPrefix = 0;
   sha512.run = "87400db8c388db7d7105007ea853d2254451b98daba9a8c61822fb56d143e2dfb75918d40bfe519dfe18b401f944db1569ee41ac768ccac8449e78ae59fb11c0";
   sha512.doc = "90cb62134a36e1cb1589fbc8a6b993c777562eb1eb309dc0cb4f6835ec7174df262957cc9b34631aab4cff5b6aa6818770e26034f5eab29d35ad5d7c4a155cd5";
@@ -160,6 +177,7 @@ abspos = {
 };
 abstract = {
   revision = 15878;
+  shortdesc = "Control the typesetting of the abstract environment";
   stripPrefix = 0;
   sha512.run = "2d805c2cc322cd802d612213ce525765d49d06bfb371a4ac5d1434a3c752af0ba0182093b0b6e4ee28a80ab926ad0f3a0403c03f871d3e003f6eb5a60ae39c34";
   sha512.doc = "4feae7e22d9f8c6866a9b873359a3060ff75ebcd833e1ea5f82e833933b5beb36260833675775cdeb83f1cfde4dbae3421434890aa9f0f7539c999acd2e0405b";
@@ -170,6 +188,7 @@ abstract = {
 };
 abstyles = {
   revision = 15878;
+  shortdesc = "Adaptable BibTeX styles";
   stripPrefix = 0;
   sha512.run = "de7e7a5c7e56ae4fb478c9a072c6b2dc8716ea34ee17be577cf4a485c5506f16cc5b79293cfbc80b245ab350c2e2059dd5fb37a2e28818f492edf7c0416d52e3";
   sha512.doc = "d12304eeb2cf797153d7e17beb25c462b3fdf75f5b7b1b24e1ff89d52ce8fe5b2a0fbf88d083ba51301afc45f51871e376253aede36bef21becc1a4350da8259";
@@ -178,6 +197,7 @@ abstyles = {
 };
 academicons = {
   revision = 62622;
+  shortdesc = "Font containing high quality icons of online academic profiles";
   stripPrefix = 0;
   sha512.run = "10fed2cdb2533a7291626eee2f3d46e79fe972eadd83cf7177f22228dcd13422549819dc5e1cf0b03e8397e23badc02a965857aca886ba004a3279efeb49b288";
   sha512.doc = "beeb30c90b668edbd135a0067165232efd0919c4e42f9e968a8e0e3250a88ba9d1a4489fc8e8f10c69c27794b1e00c63151877e119ceb33da50b12c42c4fc80d";
@@ -187,6 +207,7 @@ academicons = {
 };
 accanthis = {
   revision = 64844;
+  shortdesc = "Accanthis fonts, with LaTeX support";
   stripPrefix = 0;
   fontMaps = [
     "Map accanthis.map"
@@ -198,6 +219,7 @@ accanthis = {
 };
 accents = {
   revision = 51497;
+  shortdesc = "Multiple mathematical accents";
   stripPrefix = 0;
   sha512.run = "738e8299148365c0441495664cd97b408b181d192adb718adeacc93d4c63b7e81c12541746777571f3fd0da37348905269b5d7ecfc2d58f88174cd53edbe56b3";
   sha512.doc = "50e5cd01da80113ef3247c4a7c7da703d4a9c3df68822b31ff734da2d755f5fd2bf9f5f8982d84e3628e96905276dfe6cc6699bb625ff1dadbe810b11bf5a35b";
@@ -207,6 +229,7 @@ accents = {
 };
 accessibility = {
   revision = 55777;
+  shortdesc = "Create tagged and structured PDF files";
   stripPrefix = 0;
   sha512.run = "6cbc455f40a6aeb5862bbed64e6ec111d497f1948fa6eb83d26fc04c85c1145437005aa046e20eae70f177ff04c7084f03c2d4b3234be6c6ece822d6f366520f";
   sha512.doc = "261d13857558973edb692ed320745173a5006d0cd23418e926be5398b4f3a2da0a670e3a08a26083381e830f4bd327eaa4451822ef096612a7a3c3492833c328";
@@ -217,6 +240,7 @@ accessibility = {
 };
 accfonts = {
   revision = 18835;
+  shortdesc = "Utilities to derive new fonts from existing ones";
   sha512.run = "f70105569c5b8ed83c103e423d29367702a5330d57f743a640ef68fc6a290b246e8f514907d63d6c7f203c12ab3eeb0cc64a45fe5c0379f10ccf1c8002007a47";
   sha512.doc = "24b19688008b875890a397e2250277f81be1b77c00f95a9a2d40a257c0dc6f4c8adfc07e594f3873e60e1bfbcfeba786e45e9e63eb632ca92b7c935f74b3049e";
   hasRunfiles = true;
@@ -230,6 +254,7 @@ accfonts.binfiles = [
 ];
 accsupp = {
   revision = 53052;
+  shortdesc = "Better accessibility support for PDF files";
   stripPrefix = 0;
   sha512.run = "0b6e474617333ca00c2503e99f60a290b930d7e7534de7223be511404aa6c7ba9a8dd69b94f3433b347146bba7b8dbbd4b6d45ed8b2c6b0880c0177842ba8b45";
   sha512.doc = "650909f5212a92659d18ba3ef5209ed12c9b9ddff2b3157ea17cdbc8955536f41e43dafcd715e5ec26c1d0c839ffb7b26081ea36150b2f0f50c952c5231a1a20";
@@ -240,6 +265,7 @@ accsupp = {
 };
 achemso = {
   revision = 69638;
+  shortdesc = "Support for American Chemical Society journal submissions";
   stripPrefix = 0;
   sha512.run = "1a073188cef886e2eb5c6090a2f887d5c58c04d535981d1926a1b389130092bccb614c22b8b5b675d6d2d49208e4d05ae560966db39443cd822c59bc41e6af8e";
   sha512.doc = "b26169bc393110b3805c4dfdd0fbb1838a469b6dd9664914a55eb7f1c031a4cfbca7e96cdbdaaf67329a48e3225e104f5d6a46b0b52384b77835a049151f6cf1";
@@ -250,6 +276,7 @@ achemso = {
 };
 acmart = {
   revision = 69721;
+  shortdesc = "Class for typesetting publications of ACM";
   stripPrefix = 0;
   sha512.run = "e40a361687d217e3dd3bbf1998c4c478e14cc758d3ae3d96ca19433b5cca576dfb93a53324253a2a282935d4b2802a103d36bd8b6f507f151187493c4be0e56d";
   sha512.doc = "1b6dd7a2c478a4476286ca897b13b4ac005af6eb6201e53a173dbbd11fbd23a95d7f3b33ec28a373ead62ecf8a45c351fd8521376b803e321ec02e7da1ac7f58";
@@ -260,6 +287,7 @@ acmart = {
 };
 acmconf = {
   revision = 15878;
+  shortdesc = "Class for ACM conference proceedings";
   stripPrefix = 0;
   sha512.run = "9363127ba5d59bee9d41e800a0e11d12bc4493e5a79a94be8efe23a44278ea097a58fb53cd334fef0f2ab32c9350196c46ee1aec8347a4aa5554b317c15249ba";
   sha512.doc = "a8a971df6a94a9548b71c1463b9ab143525127774daf5aab227a805c302ee0732d3578c361c5346b123983a32e6d6c8afbd543bca4dc7ac7ad4d5919aba63099";
@@ -270,6 +298,7 @@ acmconf = {
 };
 acro = {
   revision = 62925;
+  shortdesc = "Typeset acronyms";
   stripPrefix = 0;
   deps = [
     "etoolbox"
@@ -284,6 +313,7 @@ acro = {
 };
 acronym = {
   revision = 54758;
+  shortdesc = "Expand acronyms at least once";
   stripPrefix = 0;
   sha512.run = "be68e32baacdb8708d1a31c4a585fcd282d0def7a76a1e284b908532118aec04505271790a99ab0a36e7c035695b84f8ae1e2146c31ca8c4fcfb76be4f11db26";
   sha512.doc = "72b77e66b4db0c3b42252020fa56be3e4b1a848ad7314037d6ada3eb449fad0b35371835ccc6018bc71ef991ade0720f7febeb52fecd71b3ccc9a5b839bf66b2";
@@ -294,6 +324,7 @@ acronym = {
 };
 acroterm = {
   revision = 61719;
+  shortdesc = "Manage and index acronyms and terms";
   stripPrefix = 0;
   sha512.run = "f8ce516ba2de1367bf414061e14c260be31304ce93693a95e6b9ed29d5cf170bb041248eafb76546cfb1547e687d07ec51333177405ffa8a5c9ea76070394832";
   sha512.doc = "66610cbd2e77d8f9b0eda3c61382dc1a8436169017d363a5716e0ad1991849824a1958552af4a14545dcac37191302c0907b505884f7cf1c7d83f8087d888b6a";
@@ -304,6 +335,7 @@ acroterm = {
 };
 active-conf = {
   revision = 15878;
+  shortdesc = "Class for typesetting ACTIVE conference papers";
   stripPrefix = 0;
   sha512.run = "afd71b77d016c6f2b36ff045176929409f1fc104d9f3530c1a70fad4fd1c71ac327a3b58dbf4a14b93cc691d88bf6b7d3add07196921876360280ee4e5915134";
   sha512.doc = "e1b990ceab6820376c18068bf5ac15e984150fe7ad66929496cb77665f0ae334cb28026e0000e788f0580eab549fe2f70e802ca67d0f968961f4582290646758";
@@ -314,6 +346,7 @@ active-conf = {
 };
 actuarialangle = {
   revision = 67201;
+  shortdesc = "Angle symbol denoting a duration in actuarial and financial notation";
   stripPrefix = 0;
   sha512.run = "23878ac98706c08b1fed8f4fdbe7d403f4f0b668ce069837ddd1d433bd3bd3e50e9b041ebec4c8256df56f1649962b7ba2421795f9adc3207a825562633a2b4c";
   sha512.doc = "f28274449a2c9558a22e1b3a3d648ed2a456d6ee179168d06ab4a6cf339f2e0ae7e43c8b0d2ecd8697ffb8cf5308f0497a13012f4b481ec68e02248036a8cf96";
@@ -324,6 +357,7 @@ actuarialangle = {
 };
 actuarialsymbol = {
   revision = 67201;
+  shortdesc = "Actuarial symbols of life contingencies and financial mathematics";
   stripPrefix = 0;
   sha512.run = "a36df9659b33223efb54d050f12676e3aa0555c83911a901c5cfe137e8e7b27d68b47534cdd2064724f20a37715b46fbf6863a5935c9fb93f56e4e7ca26bf004";
   sha512.doc = "ab15ff459aa82dc46a011a7601128dc7e6da720676390167ca856c0942f6a70e0d698a1624b443d3779446f3ac01d4af6bcf5bb5e1e0a17e0e5fefd3deef657c";
@@ -334,6 +368,7 @@ actuarialsymbol = {
 };
 addfont = {
   revision = 58559;
+  shortdesc = "Easier use of fonts without LaTeX support";
   stripPrefix = 0;
   sha512.run = "36e16da02daf6b93b53f1458ca5eee2243310846b8ea05e6b8b00a3120e7686fbe42d6e34d602d84171fcf7cc5428135aca36eb5402e778facb1882e7e7831a3";
   sha512.doc = "583f7cd7b46173ff57cfa4505d14cd3d88ddef7ebc2adb8fd2705fb8011711bd65d22ef38cfa6b5224191af1841f22ee27332f832029cff762b7b7e49246b179";
@@ -343,6 +378,7 @@ addfont = {
 };
 addliga = {
   revision = 50912;
+  shortdesc = "Access basic ligatures in legacy TrueType fonts";
   stripPrefix = 0;
   sha512.run = "b54db5b075c2ba2f632e40a1ae2d840b0a61cc940512027effa2b2b3cadfd6dfa2407e2580a462b98f48cafed94281d39613397ed34ad76f54d6a7e8b614ecb8";
   sha512.doc = "572d9aa1396ac80be2cd9ab0bd317759805a6541b656e19ae36915a6277f9a4ff2987c84dbf903133e0a5027f382b0ed48fc882ce7a79df7a27cfe3082d2a666";
@@ -352,6 +388,7 @@ addliga = {
 };
 addlines = {
   revision = 49326;
+  shortdesc = "A user-friendly wrapper around \enlargethispage";
   stripPrefix = 0;
   sha512.run = "5d0a438fceef1481633f37824b686422e5000cf232b7dd24bba0f30c8d62b583daf01a67242283f2e4fe971438c061acad2860f50ce1438ca32677d497db8b2a";
   sha512.doc = "2993c6caae1d2f230d144c9f93f7694adcb2e17d9bcd60eb3aa3144806a522258fd4c44a314d40cc767b3b069c4c929b8e458e74bebc746771b975b77bba34d2";
@@ -362,6 +399,7 @@ addlines = {
 };
 addtoluatexpath = {
   revision = 67821;
+  shortdesc = "Add paths to Lua packages and input TeX files";
   stripPrefix = 0;
   sha512.run = "91d4f85e45181674b6ab2bda5ff3632aaab4abc0066c5026478d41c0205e021f12c3cb833c8c339c02e4e033aed351a5891f8527b95cc33f26ba534aeeaa785b";
   sha512.doc = "ccc8ca7fc9423192a68260b6f441fa7be8a1144bdff8e0eee478f01e2c09d0e54f2a25d7a7fb935f76803003842f16e41916861d9a69e3ea2bca5724b1be5411";
@@ -370,6 +408,7 @@ addtoluatexpath = {
 };
 adfathesis = {
   revision = 26048;
+  shortdesc = "Australian Defence Force Academy thesis format";
   stripPrefix = 0;
   sha512.run = "4eb7fda01fa1961d213eadd2f0bc9b1cf102de664dae1f37588e161af22d043319e12ca704c3223e78e963411c3f0533c845b17f7d0744b020ef2dca35b2c7b0";
   sha512.doc = "86d89f4f139c9ddfe6babb84558f7d89f57b75e28d37f659d9893ef703cef7199272e60f1233d51351b5bd8a4565393dd6f09ba69796d2ab555423c2ba23c2b8";
@@ -380,6 +419,7 @@ adfathesis = {
 };
 adforn = {
   revision = 54512;
+  shortdesc = "OrnementsADF font with TeX/LaTeX support";
   stripPrefix = 0;
   fontMaps = [
     "Map OrnementsADF.map"
@@ -387,11 +427,12 @@ adforn = {
   sha512.run = "7a4a4da6c72ff2f8ab4b2a9a5e92887306a8e2aee4bcc5a93c18bf41d1bf9c05bd23fd6401bda054994aafa8d6002dbc16d8483b951acb705cd46fda08aaf060";
   sha512.doc = "2a287f8685154359c914b13e8e153aa64bb19708a9f5b122180cead53ee31ab829dc934dcab43f09ded4fe5d2a81ee32528855f1a4a1bd07b795eaabcb204f48";
   hasRunfiles = true;
-  license = [ "lppl13c" "gpl2" ];
+  license = [ "lppl13c" "gpl2Only" ];
   version = "1.1b";
 };
 adfsymbols = {
   revision = 54512;
+  shortdesc = "SymbolsADF with TeX/LaTeX support";
   stripPrefix = 0;
   fontMaps = [
     "Map ArrowsADF.map"
@@ -400,11 +441,12 @@ adfsymbols = {
   sha512.run = "7100648956a68719d1a449a3aee0a4acb3788aea7f082a6e7e38c8d8dfa2c712a4b896a9b036e8ae8b2732b11414ab71a49e2f513e7d689f4b0ad9e44c052019";
   sha512.doc = "fbdd78030826918a3599a1f843db692390ebdcf4ca9a853d8c2e78706cfafe83ae79d23d09fb097339d8c726608a27436b3bf22725935c55060f1e8579ea1eaf";
   hasRunfiles = true;
-  license = [ "lppl13c" "gpl2" ];
+  license = [ "lppl13c" "gpl2Only" ];
   version = "1.2b";
 };
 adhocfilelist = {
   revision = 29349;
+  shortdesc = "'\listfiles' entries from the command line";
   sha512.run = "57436dae1489c0f614c4b002f83d34a711398a762ac532b44b1d91a51d068462aaedb5b034923629f7630f039988452eb833d1e98af389c788091517bbee8954";
   sha512.doc = "14bde143bf3ffa3f2b972f93544089e4c0314c7696e1d711719549b7e831278c66fee0676665fe6eaaac744689d613dce159e4eee2e3f9c24dbbe602794fc62e";
   sha512.source = "15e7f652408c5975ba47131109e0d18bcb1d270e0ea630a9a3ff385e499cf3607a366e708a5ec9559d7ccc2a5e0b2d3d0f5f615142978a918b0bd1bd0218a30d";
@@ -416,6 +458,7 @@ adhocfilelist.binfiles = [
 ];
 adigraph = {
   revision = 70427;
+  shortdesc = "Augmenting directed graphs";
   stripPrefix = 0;
   sha512.run = "38a89fee26ed097a2395e43a86ddeb8d9b652e758f72413ae0f3a35b3130a1a742a94c65324708112f3d27b7317e01c8da2cf0ff86fe56d7221b92a60e7ff809";
   sha512.doc = "c154996a4370d31e2f596a0a463189ae64c7f1b829b5269b8bb6c229ebbea888e6153d43f12577df7ad9feca4af2d3dddb23af7e03a63e44dcb88693873f546b";
@@ -425,6 +468,7 @@ adigraph = {
 };
 adjmulticol = {
   revision = 63320;
+  shortdesc = "Adjusting margins for multicolumn and single column output";
   stripPrefix = 0;
   sha512.run = "aa3a350cc284bb52e5dd519155d9e74dcf96171e12acfd092ab3be502f09100a37cfb98c4ea99c6db7f7efc4b1edadfea86b29460dcdae212fd38cbb0b0062e0";
   sha512.doc = "393cd068816ef77104ccf294921d6e9213497ce52e8507044783b05859c54ceea208fad8a7af2efcc6b42ac74abac142f883eacd455b0e3f6227c3222d2a5db0";
@@ -435,6 +479,7 @@ adjmulticol = {
 };
 adjustbox = {
   revision = 64967;
+  shortdesc = "Graphics package-alike macros for \"general\" boxes";
   stripPrefix = 0;
   deps = [
     "collectbox"
@@ -450,6 +495,7 @@ adjustbox = {
 };
 adobemapping = {
   revision = 66552;
+  shortdesc = "Adobe cmap and pdfmapping files";
   stripPrefix = 0;
   sha512.run = "363f7fd337e5a34737608a2bc37521bb526ce726f5c9b5b4d08416e534448306002bc7af1be3f5e6fefcaba16ffc2260c4dea8a486d44dbccad577fb04d6da5b";
   hasRunfiles = true;
@@ -457,6 +503,7 @@ adobemapping = {
 };
 adrconv = {
   revision = 46817;
+  shortdesc = "BibTeX styles to implement an address database";
   stripPrefix = 0;
   sha512.run = "ec4300075ae2fbb0b29fa8126263d8852a405a84df8cdb6f484c989ebe948257ba3d1f3ddf9204ea7d6d50129c294a0130afabb053bc63022928ca748bb4ce14";
   sha512.doc = "93ec47833fee152b098477f838858a259f5842264d3a7e9a959d60fd35f46d680eba61c9f4b5efa08ab2878da4aec78d19cf83880e33aeabde9854aa88491c78";
@@ -467,6 +514,7 @@ adrconv = {
 };
 adtrees = {
   revision = 51618;
+  shortdesc = "Macros for drawing adpositional trees";
   stripPrefix = 0;
   sha512.run = "1e06f07576666fb7b54c78d930f66fef78571469bffc3ef448687c8bbb0d23d41761e17c8ec1293bb6527e31fc70413df1b7de5c9a06514e6aa8242ed90deb09";
   sha512.doc = "ad8f2e42a4a31368000909c5841fddc189bc2331b47f2c64b16ec509bd662a1b82df3ea8b712f0bdf1c40f123ac28221179b4352e20631d9fb776c0b2939bc4c";
@@ -476,6 +524,7 @@ adtrees = {
 };
 advdate = {
   revision = 20538;
+  shortdesc = "Print a date relative to \"today\"";
   stripPrefix = 0;
   sha512.run = "80075aa6efb4125bdce79e9b2ec6951caf1a753c8915201767de230acdd1adc2eef31400574effadf6287be159236422840751bf5ea24cd3cab8a01e82a0185c";
   sha512.doc = "acfcbd6a40630da2cf9024cbf3ed378c1f7f8a16c8f8395b69c12f9693e903ba54b9b051c364c5cb4de957876bbd41f0b480c4f4b320e22f2c6df7b08502873a";
@@ -484,6 +533,7 @@ advdate = {
 };
 advice = {
   revision = 69283;
+  shortdesc = "Extend commands and environments";
   stripPrefix = 0;
   sha512.run = "fab7716603412d29daf4710ec6c04742f1d2f898d818f1f012932c99ab51bb8c9746bd3ab5b18752218fd37dd09d4550f3d2b8ef59e9aa852a68a132366b1900";
   sha512.doc = "145aad6269324b04cbe79c159734ae30f3b13cd361250260ba374fba07c39af8a00974d0e47195dc4a1390a881936c443c671b1e09e8f905267baec3a60bc2f3";
@@ -494,6 +544,7 @@ advice = {
 };
 ae = {
   revision = 15878;
+  shortdesc = "Virtual fonts for T1 encoded CMR-fonts";
   stripPrefix = 0;
   sha512.run = "6b1c57d5bd3f0959e611659f979ed42b81e397a182d09b3482e98865196077334a9796777aa112ff367b97c232859d4f9637730dcd2654e6232c577d2f59c39a";
   sha512.doc = "927521fb6b6a5787d0e94ad724cf19825b2cf2ce23333e60e13625a36390eaa4cbaa1bbe50dbc718efae97036d5d815860919f536601bb97224b489d20082953";
@@ -504,6 +555,7 @@ ae = {
 };
 aeguill = {
   revision = 15878;
+  shortdesc = "Add several kinds of guillemets to the ae fonts";
   stripPrefix = 0;
   sha512.run = "b75f41c1d179b63d1807ebfa81e9e656bb43433a3291b9e29d5f0f76667868d26840dc6ce7f61f0f959cef724f0b5738b96af2a371f949daefc4179de1f861e8";
   sha512.doc = "8361fc02999b080f19beb793fb0d1d802203114c1e1581c312a21e3a682191470b93e373fc269f8aea0e2643a69c8caf80855597ff6a71aadb6bfc869f4370da";
@@ -512,6 +564,7 @@ aeguill = {
 };
 aesupp = {
   revision = 58253;
+  shortdesc = "Special support for the ae character";
   stripPrefix = 0;
   fontMaps = [
     "Map aesupp.map"
@@ -525,6 +578,7 @@ aesupp = {
 };
 affilauthor = {
   revision = 68996;
+  shortdesc = "Tag author and affiliation information in a key-value style";
   stripPrefix = 0;
   sha512.run = "4aaae3ef6ba9dcfcafff4214c3c425a40518687fd01600266feb3ac1f836f6d1795fd1c2903f57cc3010b7bf5fb153876a4bbb83ac81576e6423589baeeeeaf8";
   sha512.doc = "24c28a1c6879c2a292a96fb10dace8d1dcfa2a1a71e07570a232ac70b70e4e9f10f7af823fb2b8d619dbf587e1f5cd9bc38e1a4e2fc6e22714e5deb27a0edbe1";
@@ -534,6 +588,7 @@ affilauthor = {
 };
 afm2pl = {
   revision = 66186;
+  shortdesc = "convert AFM to TeX property list (.pl) metrics";
   sha512.run = "9ec87ccaff69c7467f803e4ce3f3408f8195cb93f571a7c7aa5f195d3de80b480b182831d239d8b2144dc72a5c26f9da58973075b6a939d23a51de0acdb1d199";
   sha512.doc = "e18ef6478d02676a3edc048ec1f8bc37e7cca97e62164632dbf02595a051e6d09d19ba8422c4a617523dccfe1a6ed55fc9be34d1c0ffc147bbfa4e5d8f2daf40";
   hasManpages = true;
@@ -544,6 +599,7 @@ afm2pl.binfiles = [
 ];
 afparticle = {
   revision = 35900;
+  shortdesc = "Typesetting articles for Archives of Forensic Psychology";
   stripPrefix = 0;
   sha512.run = "958ed5cbce1dc7bfb5d01befe74de6236a09b3ae5246aa3f2e80225bc353abf21b622f4128641c54a27197560557738d4c224e160c0be87010517c3a30a729ae";
   sha512.doc = "d8185772e114a891ff5ce0f2a2e12b827420f8c486813d87bbb6fafc662ca1db710178e8cfa260d7d650c3432909b9f7a8521648f6aebd5f90daf1aec4e28d7d";
@@ -554,6 +610,7 @@ afparticle = {
 };
 afthesis = {
   revision = 15878;
+  shortdesc = "Air Force Institute of Technology thesis class";
   stripPrefix = 0;
   sha512.run = "0ed83c0a98bdade60c49b3408053e020c6deba1b96d74b47aa2404c778a96ce2898af1d76892704524c0c069128e59c0bee5af73de6ff9237624600b991ed6b5";
   sha512.doc = "c221f77700f974f0cedeb4f8ecca5280c04203e9cd89042d414eb54037db71cceed450477fe9498a15d9f09b8a0cffa177cc897958594fa7e3952adbd85225a8";
@@ -563,6 +620,7 @@ afthesis = {
 };
 aguplus = {
   revision = 17156;
+  shortdesc = "Styles for American Geophysical Union";
   stripPrefix = 0;
   sha512.run = "73bd9b7f01a4911fb25aa7d388c5827c62a01a786ece4317f5b702de4c281bd05f82568780f4396bf289fcbb348abd2a3eca6620fd8e3f801d23aff7a05e104e";
   sha512.doc = "48b9c010f746b8a85bbf1093b3dd39c2a853d74b20feb71bfebf2ded8d6f4c44538e6e20b24c65849e8adea9d34ff15498e847b1521bfca11d18fc23d18e10f2";
@@ -572,6 +630,7 @@ aguplus = {
 };
 aiaa = {
   revision = 15878;
+  shortdesc = "Typeset AIAA conference papers";
   stripPrefix = 0;
   sha512.run = "9a5c04cc0b24e2b11e4b6953ceed9e506ad9f44922b3407c3aed1f5fd1fda1e86b1a5d6613a059065c1026f69830a8f5af0ed21ad8e1856ab44d22985768f24a";
   sha512.doc = "cd69337eb21eaeff910696f153bc97fca94afa0b147e3360477f72c5d90afa5d54d375b5eb7801df1b988c8f11d8fd23848a07f013a4e06c28a013248e00599b";
@@ -582,6 +641,7 @@ aiaa = {
 };
 aichej = {
   revision = 15878;
+  shortdesc = "Bibliography style file for the AIChE Journal";
   stripPrefix = 0;
   sha512.run = "7edc0ca36209f18dcca0b794c7ee712f0eba82e3e69b09fd46fdc7ede6bd33e93d4936d7bfcff88fe4f699acd04493053a7c76cabb87670215efaae12aaabc83";
   hasRunfiles = true;
@@ -589,6 +649,7 @@ aichej = {
 };
 ajl = {
   revision = 34016;
+  shortdesc = "BibTeX style for AJL";
   stripPrefix = 0;
   sha512.run = "083a549d425336eceee0ab8e85ef592aa15983e9a4dcf2264d835b5242933fed8719b81b427fcf7784b38b8e0b3dac2e2a7f8b9ffd10cf2690b96bf8b586ff3d";
   hasRunfiles = true;
@@ -596,6 +657,7 @@ ajl = {
 };
 akktex = {
   revision = 26055;
+  shortdesc = "A collection of packages and classes";
   stripPrefix = 0;
   sha512.run = "481502410094aedb36f00dc93ff3cad9479e756b00c60abdd7da98713f273cf45a314ccb55ef2436dc54cf7e8f84e2bf9fc5f00974c9978aebacee177380c9a5";
   sha512.doc = "4378f1e2c96bab5f5926b22863580dc2ae555400d770f5875eff09b8f915da4c83e99679fa7487f788970d17537123d854400e31bfca868d693b3d950c33051b";
@@ -605,6 +667,7 @@ akktex = {
 };
 akletter = {
   revision = 15878;
+  shortdesc = "Comprehensive letter support";
   stripPrefix = 0;
   sha512.run = "fc0702fce74b32b04ce2b1e03960a7617c84a89d4581f16bbbe1b16fc01d45300c0a46682460d78cc572b6e20cc42ec7701c5067adf5e4960ed1bdfd5a69e910";
   sha512.doc = "6a951bf2ad4a7af4a6c87b24e8f4c3b4ff520430024a6abe6b54cf56269a903d78e591def71ce7cac832a4d3f822e8baa14f8decc960b455688801f406d01e74";
@@ -614,6 +677,7 @@ akletter = {
 };
 akshar = {
   revision = 56277;
+  shortdesc = "Support for syllables in the Devanagari script";
   stripPrefix = 0;
   sha512.run = "d626d6e3a72fb8319f07c56d200566fc351be15acbbdc0ded7c3abb9765ce257741458109203882e8fa6131ba182539fd04e1ccffa0a25cbdcbe6f7630d3bfb4";
   sha512.doc = "2dc5f4de3807a8e2c7a81046fb5d9dd92a651ef86aa22bd47c68d7b9a75943537284faa2d95d89b013573dfaca2d8d96e53524cb916152e46fac067532b108dd";
@@ -624,6 +688,7 @@ akshar = {
 };
 albatross = {
   revision = 69879;
+  shortdesc = "Find fonts that contain a given glyph";
   sha512.run = "6bb925eff84c6d3fc3ab1b81ae50cf5fcafbc8dcadd5ae6076bc1280c427ed03896e8dcc5ccefe05e911b513a5da470312128c488a694c602a2cd9b3a94148b2";
   sha512.doc = "d78c18b44d3eb60d6e991df864aeafd97366023aac7a732bbf7c67d0d677a76e0a89fadfba515cdfae1f1f7705323413bfd27100a3c09dbefa41918c3e29fd57";
   hasManpages = true;
@@ -640,6 +705,7 @@ albatross.binfiles = [
 ];
 alchemist = {
   revision = 66924;
+  shortdesc = "Typeset alchemist and astrological symbols";
   stripPrefix = 0;
   sha512.run = "3e4c4902c70deb8f380d3ff5e1a621f595ea1dc47cde3579bcfc12bd0a066d5d1d6773ffb1d1f98aef336c8cfdbe7770e1d48f5b89fabb98308f54df5dc75fcf";
   sha512.doc = "cb978dd26bb9b95a29f6ced2ed4891f27fd0646daf560316dc1b20827a7af454fca1b6500bd4bd5c723c4fc6a24b77d6d7c7a6eafb3edc99e2098b11e4f53029";
@@ -649,6 +715,7 @@ alchemist = {
 };
 alegreya = {
   revision = 64384;
+  shortdesc = "Alegreya fonts with LaTeX support";
   stripPrefix = 0;
   fontMaps = [
     "Map Alegreya.map"
@@ -660,6 +727,7 @@ alegreya = {
 };
 aleph = {
   revision = 66203;
+  shortdesc = "Extended TeX";
   deps = [
     "cm"
     "hyphen-base"
@@ -686,6 +754,7 @@ aleph.binfiles = [
 ];
 alertmessage = {
   revision = 38055;
+  shortdesc = "Alert messages for LaTeX";
   stripPrefix = 0;
   sha512.run = "df06377244dbd962326646fcd0aad535733d275ff6a86bed3739e8b77c6d1231290c4628a98be50d92e9006f25be68c20d5fc5e92c82a6cf841c0af5670f7ca9";
   sha512.doc = "412cecb146790ed0b7fae601d9ef0eb14381cf75ed20ff1bab3190c249750fb693708c2dce26e76da370a265f99dd312dc6747b6c9e7de62ef51a709accf7e60";
@@ -696,6 +765,7 @@ alertmessage = {
 };
 alfaslabone = {
   revision = 57452;
+  shortdesc = "The Alfa Slab One font face with support for LaTeX and pdfLaTeX";
   stripPrefix = 0;
   fontMaps = [
     "Map AlphaSlabOne.map"
@@ -708,6 +778,7 @@ alfaslabone = {
 };
 alg = {
   revision = 15878;
+  shortdesc = "LaTeX environments for typesetting algorithms";
   stripPrefix = 0;
   sha512.run = "923f36ab03aa10cf3da008f4b3d7ba5919f3e4a512c82fd1c42386df22019ca70c4c1700b7596750a00ea7c50586bdb803db3fee22edfbc402ebb9e249668e99";
   sha512.doc = "d94795e7513612f3eb102b85b9fdcc792b175411fd67edd6779037b1e0dc101378159f58c6c6feb82ca6b73ea2a6fd415a36e4a4ea67913a0d1110582a41e38d";
@@ -717,6 +788,7 @@ alg = {
 };
 algobox = {
   revision = 67201;
+  shortdesc = "Typeset Algobox programs";
   stripPrefix = 0;
   sha512.run = "42192835e3dd2aedf96ae3602b3009af09512425cad0ee3dc859a972ea5b8ec46bbed35456b17f0ff7a31faead6df06c01734211bb0f206eba80fb05e66d2663";
   sha512.doc = "5d5de2d91d0a5cbc63774259934fcb8b772eec36e9841d8f9e5d813e5f40cdce3171409b131ca788fb2b6eee651caa311128fa075eb22c969d2456b1e54708b3";
@@ -727,6 +799,7 @@ algobox = {
 };
 algolrevived = {
   revision = 56864;
+  shortdesc = "A revival of Frutiger's Algol alphabet";
   stripPrefix = 0;
   fontMaps = [
     "Map AlgolRevived.map"
@@ -739,6 +812,7 @@ algolrevived = {
 };
 algorithm2e = {
   revision = 44846;
+  shortdesc = "Floating algorithm environment with algorithmic keywords";
   stripPrefix = 0;
   sha512.run = "0203f337518811a04f255a1ea65045f487dbb4813fb848e0ba1b52d3e5fba96b784852d7e900a82f4c047c2943098e3b37cbca27322d115c341fef6d262c60cf";
   sha512.doc = "ae737056adb53f943ae8c92d8e7bfffe52a107cca4a7a3151932a581744f1396f43e134a55e9894de0ae1fb5418983ba4643e1e07487b690478a6979555d8768";
@@ -748,6 +822,7 @@ algorithm2e = {
 };
 algorithmicx = {
   revision = 15878;
+  shortdesc = "The algorithmic style you always wanted";
   stripPrefix = 0;
   sha512.run = "b6cccb7bc391ad11a8996d3e6a3a48f79e50e3e685a4b7670a3399d5d400435616794100b38e73d32633fc16cdd1795c2dcd57bc79279266dc6509bb14d08804";
   sha512.doc = "cda9c4082faeaaf504194d75c014fda9cda20fe85ab9dd8c4f5a3c9e39fc2c8c8428ef20b921790f36c8abae2ecd8ea089353db540477909039575bc65ed5228";
@@ -756,6 +831,7 @@ algorithmicx = {
 };
 algorithms = {
   revision = 42428;
+  shortdesc = "A suite of tools for typesetting algorithms in pseudo-code";
   stripPrefix = 0;
   sha512.run = "ba02581f18b74ef97f37b7c1052bb7577b256ef94232b045a43c841fc4705f8d7ebcb2b286d95dd70943d309080b05d36dbf847ecd6e661038d6e375d514a787";
   sha512.doc = "3658a5a31162acf5ea1dc318503a2f9e74944cb998494083de76e2e31119bbc22094bfd41e048f5628730df359d2359943cec3cebd07b364a81703b92520dd01";
@@ -766,6 +842,7 @@ algorithms = {
 };
 algpseudocodex = {
   revision = 66924;
+  shortdesc = "Package for typesetting pseudocode";
   stripPrefix = 0;
   sha512.run = "0a8b2e49f389066575d403eced31e57cba4af96619bb2ad09bfe51054193d3033705736ea23233b8da3e5e9e0714aa26c4132c2227fa36cdbdeb7df50035aec4";
   sha512.doc = "5ebf9cb1c66d4e4987387958758aa5d174002409759a38075f6c32e2418f0db670445d2b9d61442c5fe719154d137e3156c6871063eae7e5c4b50593022af623";
@@ -775,6 +852,7 @@ algpseudocodex = {
 };
 algxpar = {
   revision = 67495;
+  shortdesc = "Support multiple lines of pseudocode";
   stripPrefix = 0;
   sha512.run = "3ea0ccb08a088e16c3fd47f5455ec1c3980d242c4f9db838ad07dad089326bead01c03708fe25fe3a14ab3abfdee93c864d1c633f5e0fe043b31962ca1dfe462";
   sha512.doc = "196b2539e23d96f2f7967272d59243af9eabfd588c8ad4cf69174493084f5f3af0c088e3e5ee51df96a6a5de02a7d3a84f7f4f7b3f0cfec0fa4463fb929055ed";
@@ -784,6 +862,7 @@ algxpar = {
 };
 aligned-overset = {
   revision = 47290;
+  shortdesc = "Fix alignment at \overset or \underset";
   stripPrefix = 0;
   sha512.run = "3998cd5515ad43e559da91bd1f25b835743299ec13fcf22ee9cb3aadc44c285f428ee701f5b27141c4d03c97b31a31e8620a2911854a1781ee5543a99073fed4";
   sha512.doc = "d44ff38fe36352e1498e12eb56652e935cfeeb9ce6af5711bebe7844b1b7ba16864c8dac3c3b5f2e2bd6fee86de38c7555d5796940b834ce1ad396f5d2cb536e";
@@ -794,6 +873,7 @@ aligned-overset = {
 };
 alkalami = {
   revision = 44497;
+  shortdesc = "A font for Arabic-based writing systems in Nigeria and Niger";
   stripPrefix = 0;
   sha512.run = "57d8a09d5643536cb2341cfd7bd84f24f101ebd73ef1456a39fa8557fc81bb6bddfb58990c38d4da229da5c6ccba0b4d956d82f7d07d65c57a87c749ba3ef841";
   sha512.doc = "c9ebe4fc7bbcb254e0fa0f027e93680be2d1690cded2d9b18f3da091544b05f5dcf38b87400f8c5b8d4dd9ec320379c752615fea99d010a118bf35f4693c704a";
@@ -803,6 +883,7 @@ alkalami = {
 };
 allrunes = {
   revision = 42221;
+  shortdesc = "Fonts and LaTeX package for almost all runes";
   stripPrefix = 0;
   fontMaps = [
     "MixedMap allrunes.map"
@@ -816,6 +897,7 @@ allrunes = {
 };
 almendra = {
   revision = 64539;
+  shortdesc = "Almendra fonts with LaTeX support";
   stripPrefix = 0;
   fontMaps = [
     "Map almendra.map"
@@ -827,6 +909,7 @@ almendra = {
 };
 almfixed = {
   revision = 35065;
+  shortdesc = "Arabic-Latin Modern Fixed extends TeX-Gyre Latin Modern Mono 10 Regular to full Arabic Unicode support";
   stripPrefix = 0;
   sha512.run = "1a5e41cac48a33c4336fe03576c49165b47a0bec606b0a15a3563922b964a9a3c2de735cd88cf10423b054b5131193441fbcd64fb2edc47d4944ff33cf6367ef";
   sha512.doc = "f51af6e63070fbf94a3f8ed756d544dc7d9460f37b016fcded0d2c56a6cf672d2e60c7b2cb8be9f9942f43e46b5ff2bfb59c6ae301a5d88a8858d6e60a3fbaa9";
@@ -836,6 +919,7 @@ almfixed = {
 };
 alnumsec = {
   revision = 15878;
+  shortdesc = "Alphanumeric section numbering";
   stripPrefix = 0;
   sha512.run = "d61adf9c03ef9f0b5d68325b435d5145297d85fa04a5bf106de50f58c04c9507eb63fb17070e955e7f476158419a802f0f18d2cd97ca93baa7997c2d57def479";
   sha512.doc = "ab07f751332fa0ad974e6ea84b10a0249e5bbb69e591d1319a8c5d743f88d63ad9a7c72fc08fbac95e3cf950d090313dd758ed8f604e209206f873c5f0f70880";
@@ -846,6 +930,7 @@ alnumsec = {
 };
 alpha-persian = {
   revision = 66115;
+  shortdesc = "Persian version of alpha.bst";
   stripPrefix = 0;
   sha512.run = "dc0344deccdbdac04c5a798a52785e913d6da3997b907a07894f86b1b3ed12640a870eabec3bf5916f9835a8a405ae4c692bfb70a63022cf8b52db0c2c3e1382";
   sha512.doc = "a5881df317b723fff5e00a89706584d05d650971a4bd88d3e3f71df1e7dc021289f9737d1d5239d6196be29307599c3bc1ff782c190032dbea9bea0140547866";
@@ -855,6 +940,7 @@ alpha-persian = {
 };
 alphalph = {
   revision = 53087;
+  shortdesc = "Convert numbers to letters";
   stripPrefix = 0;
   sha512.run = "de17ab4278afc9fb308abc23c19d4d1ce117ef3b66a21b748c102b95722d3395016682e9508e135e2b01bf4ff274964df0fb723ba2f92c81873dd58d73a3a733";
   sha512.doc = "a098159842a9bd47e6da930af94cf365629c72f539fc3d045fb33b4bbe2004468fc690564850b67549b3eeb2265134c92aecef65b47d16da732bcc5aa93d26dd";
@@ -865,6 +951,7 @@ alphalph = {
 };
 alterqcm = {
   revision = 59265;
+  shortdesc = "Multiple choice questionnaires in two column tables";
   stripPrefix = 0;
   sha512.run = "6af82517cdbc64453b7e546afe4886ba6816d44492ca4fce9cec98035166b45bc432503db0c09c44e2e41f3bf8cf18c33a37199025a6f09dce6fdd2849973fcd";
   sha512.doc = "f16c2591c79aa8d9f98f36c613617b3068495f814db73bc330d11f6a52b4a6b394a663040de328e6251f16d21acf683adb6cc80a5ce6524c09fac8397439f8b9";
@@ -874,6 +961,7 @@ alterqcm = {
 };
 altfont = {
   revision = 15878;
+  shortdesc = "Alternative font handling in LaTeX";
   stripPrefix = 0;
   sha512.run = "18212e7107ed2bb6718a7c763d881dff7859e55e5bb33c42e1acfb5ea21228d1ebbdc6e13cb95f041bac99f871306bd3227326953229e69ac6b8ea774434cbd6";
   sha512.doc = "4d181a21f732b0265d4251d3775fdd8a4305c99c0dc1610adc9af583f73e376cce249b2ef237d8027aa32a269512db71260aebe78e5e1619f506f23d1105dc65";
@@ -884,6 +972,7 @@ altfont = {
 };
 altsubsup = {
   revision = 62738;
+  shortdesc = "Subscripts and superscripts with square brackets";
   stripPrefix = 0;
   sha512.run = "a3e168d93d3d7c2343a539329f8c7ace39f376e0008726affc77630e3d4032cdadc5c301cc15f94d92be4b98cf00bc2c95f29225fcd1def7bb66fd91c0db9c65";
   sha512.doc = "e96020ae0cf52a851885326068d10210bc18d68df8047ecb84e40659015734c352c08a8d4f202aa3970b699131c032e36350a9c2ec4254e0f000e49b0029f3d4";
@@ -894,6 +983,7 @@ altsubsup = {
 };
 amiri = {
   revision = 65191;
+  shortdesc = "A classical Arabic typeface, Naskh style";
   stripPrefix = 0;
   sha512.run = "ee2a1598a4040a069cfdaa275793b34bd8c899f65e888f41bec55fef53fae6312e3b9ad1a3dc024aaff1df22f735e0e633a1524b54d7ead9ff482ccc829e8aba";
   sha512.doc = "8f50fd9ff492cec24fba7a321a4fdc25d5b427eac31609adbc9fba6a0bcaae8ed895aa6cc860a66106e22ae21dbe9984f9e37f4bc2451f77f5d89ea10d0f5e0a";
@@ -903,6 +993,7 @@ amiri = {
 };
 amiweb2c-guide = {
   revision = 56878;
+  shortdesc = "How to install AmiWeb2c";
   stripPrefix = 0;
   sha512.run = "1ffd4d1691abe2543585fa950d9b18ebb10e48c5c7d97e2f05828f04620bfd730894cd92f0df507627ddd9451a253ed8bbe89c07306b6db27ba84bd6c24910ea";
   sha512.doc = "d8f6ab658d8d8f2e05876ce27b5220eb2e10a58775cde91f975cdd106708ddef86781cc1c004b4381176fa7ee8ee6630a34bf7cacec374bf21ffe5e06c8d4d68";
@@ -911,6 +1002,7 @@ amiweb2c-guide = {
 };
 amnestyreport = {
   revision = 69439;
+  shortdesc = "A LaTeX class for Amnesty International";
   stripPrefix = 0;
   sha512.run = "9fb76037c976d48259609295b876a256e5b72e611c7ece52cbc39b7df607d58a90ce2b0a0ff33d816c08f869e911a2cf979b8635a044697af8331d8769382be5";
   sha512.doc = "e3a3989cd630e3776bfc103d5ebd7fcdd39464e49338b638b165e1c486a7afb58ebc907e2fcaaf008be5463f3496e66aa36b0bebea87d1d945a0497469f36eb5";
@@ -921,6 +1013,7 @@ amnestyreport = {
 };
 amsaddr = {
   revision = 64357;
+  shortdesc = "Alter the position of affiliations in amsart";
   stripPrefix = 0;
   sha512.run = "9452effac79a430126a8060827c603c8ce9ce441b187d2fff740a7e8f013727ac4187fa1c148d430ee17fbc1709b8e8f89465b2403ed070d0517304dd7f8aaad";
   sha512.doc = "2d501a1adb6fff4f16f0d3f44e6911ccef824cbdfb9e9a61582a00d61d1e92d03fe93f7fe6d4f87eb2575422407e634dc7e543c1ab05a744014f4d3bdd68e3c8";
@@ -931,6 +1024,7 @@ amsaddr = {
 };
 amscdx = {
   revision = 51532;
+  shortdesc = "Enhanced commutative diagrams";
   stripPrefix = 0;
   sha512.run = "6bdebfbe4985eea23ce24db5e0e14162310d81efab18a7a820fe819bd51f839b9deca35b94740f038ae80084f355e5e800fd6e681d859cb7bc9bb8886993c33e";
   sha512.doc = "65d6ea09c1bec56e5082d3521e1eabdd513013b0606f6cfbd0f7c7566795b8963dab6e9f3a46cbb6d008311e7ee3701efa345ef5dc780a3b18f6f4842d97594e";
@@ -941,6 +1035,7 @@ amscdx = {
 };
 amscls = {
   revision = 55378;
+  shortdesc = "AMS document classes for LaTeX";
   stripPrefix = 0;
   sha512.run = "eb39dc97a860047d764884663a1f541aa95a2d559dd55cb25f6b7c6c46617e6c33fe55a9fdc37b211c613333911df6e260768f43ae9630a208ecc7fb774891e5";
   sha512.doc = "c2e563bd239f36b0db3bdbfe1ccb4a0adec0c22af25b557ed748897a99672f05f36f2bba6e51827c6fdd60b351079809b15c0367d075566c5e48682c23108fe2";
@@ -951,6 +1046,7 @@ amscls = {
 };
 amscls-doc = {
   revision = 46110;
+  shortdesc = "User documentation for AMS document classes";
   stripPrefix = 0;
   sha512.run = "132432f34812f009233392ea29d6c4145717a80ea305632687da30de6969dcef8af9c2aa88cbf1809dd34b0c3dfca0f40a52b6216a7370f2a225b2602d0bbaf3";
   sha512.doc = "8c08813abf65f00b68441d1e5cad3eb4a16fc1a77b30e10d96e22f34d6af547804af4d47b62ef0dfc895e2bc7cc5ecf7bc08d912448fefefbf716430c4502a64";
@@ -958,6 +1054,7 @@ amscls-doc = {
 };
 amsfonts = {
   revision = 61937;
+  shortdesc = "TeX fonts from the American Mathematical Society";
   stripPrefix = 0;
   fontMaps = [
     "Map      euler.map"
@@ -976,6 +1073,7 @@ amsfonts = {
 };
 amslatex-primer = {
   revision = 28980;
+  shortdesc = "Getting up and running with AMS-LaTeX";
   stripPrefix = 0;
   sha512.run = "05c7c19430a85986db770d1ff8686993edcde35171e3653ddfb7db4a09422c80e53632f583371079fe14d3c6fd9ff4eb3f0c37cbecea7ca2d9a5aefb04cabdb0";
   sha512.doc = "85faf2a9c03f7d7d1e23d72b7041c9b322d5f8bd8cb309a60f7256416249ceb7582c112d25f8953ee67dd2b79a3697e29cf6250d7b199a9eb73a9682f123354f";
@@ -984,12 +1082,14 @@ amslatex-primer = {
 };
 amsldoc-it = {
   revision = 45662;
+  shortdesc = "Italian translation of amsldoc";
   stripPrefix = 0;
   sha512.run = "9178b17bedc53957118083a78ead56f9fdaf9fd6a60ea0ebdbeee6c87254e7567b47b61bad1f9bda2554f471f79c28f3df7c3d2b9858faad65c3d110664ec4c8";
   sha512.doc = "eb23cb624c4cf6283b8f777911d102953d31dc8da04392d7023694fed02ee1b8a8a49365fe0f1cba9682e911405f04afc982b6cc9cf9699a4d76ec8dca6a471c";
 };
 amsldoc-vn = {
   revision = 21855;
+  shortdesc = "Vietnamese translation of AMSLaTeX documentation";
   stripPrefix = 0;
   sha512.run = "5b0c2cc1afcc4060249be20271af92c71c866db47d2551a176b5685c58182a6ca17da9540dd9a7c7abd33de75b0335a625aa921fdbd77329bc91d16718fb346a";
   sha512.doc = "827c294eb1cedd51a3924796b461ec3d6c858e7875254e0fdb6cb496fecbb6d2ec541e930327c54cc446b15dd69ed795470ae6cbf1cf1e51c0f3ae90f3f6c12f";
@@ -998,6 +1098,7 @@ amsldoc-vn = {
 };
 amsmath = {
   revision = 68720;
+  shortdesc = "AMS mathematical facilities for LaTeX";
   stripPrefix = 0;
   sha512.run = "39e87ac8255c577fa8b1c0cd155d4fa21bd0c0f789141e6d1e75cad1c34a78bf5fa44277342ae9d93d80f4f88f31ca9f88dba9c592ceba04961e601e3e8e9650";
   sha512.doc = "b1dff0cb1c09a184dfe9dd890ccb6e9e5bd5d2b109ce0b98336ca4cc1a45d4f398eb7822d02e9210c611c98a49fe41884b103e1b1e4f7c6b3b29b4de5be2ebf0";
@@ -1007,6 +1108,7 @@ amsmath = {
 };
 amsmath-it = {
   revision = 22930;
+  shortdesc = "Italian translations of some old amsmath documents";
   stripPrefix = 0;
   sha512.run = "6bc869e3cf11a9521ff883e9b8cd227a267d28291124c0f268556ea576bc0af8ea4eaa145e45d1de84709df08182fc83946d80fd0f116a8656a35d75ca83eef5";
   sha512.doc = "814539a2a82601c930097113a9baca5166fcf68d1b0c4dcf25d8afa8991e667619517879bc415ff114b9e86664b9ff5e25a7bcf1bb04160b9297cbfabb4a639d";
@@ -1014,6 +1116,7 @@ amsmath-it = {
 };
 amsrefs = {
   revision = 61937;
+  shortdesc = "A LaTeX-based replacement for BibTeX";
   stripPrefix = 0;
   sha512.run = "01416fea668e3717b14086199280582d7547cc7c555e19d2f88b7ee94dfb6863719375a140feaa5ecf7461c6d6c6f0ef52bffb544ff132b34771f11556ecdf09";
   sha512.doc = "b704ccb7bf8a49c141277b240e08ed7d22c71bdb91d625997a726b25ffb2e8f494637cd9ac7cee031f9b45476006441190ba95331e32c4ad3af4e25ecdcc6f6e";
@@ -1024,6 +1127,7 @@ amsrefs = {
 };
 amstex = {
   revision = 67930;
+  shortdesc = "American Mathematical Society plain TeX macros";
   deps = [
     "amsfonts"
     "cm"
@@ -1053,12 +1157,14 @@ amstex.binfiles = [
 ];
 amsthdoc-it = {
   revision = 45662;
+  shortdesc = "Italian translation of amsthdoc: Using the amsthm package";
   stripPrefix = 0;
   sha512.run = "17631e2d6306887236f11eed586454a784f256c36c14955be1eb30377f1f73b189686b37ba6c95188fda2e0b0aac9a1f40469a32bc7787b5d4c244de9a01ccdf";
   sha512.doc = "2d35f87da43f957d7ec3d1e61d052d14b4dc207207fc2e6dc4de08b699e5211db17a84f0305888294ae163691e4dee2d067fb1c3a29fadcc34214033fe8e22eb";
 };
 andika = {
   revision = 64540;
+  shortdesc = "andika fonts with support for all LaTeX engines";
   stripPrefix = 0;
   fontMaps = [
     "Map andika.map"
@@ -1071,6 +1177,7 @@ andika = {
 };
 animate = {
   revision = 67401;
+  shortdesc = "Create PDF and SVG animations from graphics files and inline graphics";
   stripPrefix = 0;
   sha512.run = "dabe8762a0329d46ca8987621a59c38183e713c1c257e2cfcd2bbe36bd49bb7cf23b3e75e421f4bf023db2558bb9503d550efa882d77b229114649a15ffcafbc";
   sha512.doc = "857f611cfccc96ed1ae63f47128e9b7b4240428f86ebfdb6f2b79c5f0c76858e7a917321330d841059be02c3d7ef45036f0a2ed441e27abfe68ccbaa61568607";
@@ -1080,6 +1187,7 @@ animate = {
 };
 annee-scolaire = {
   revision = 55988;
+  shortdesc = "Automatically typeset the academic year (French way)";
   stripPrefix = 0;
   sha512.run = "73158727d9c5da0b28fe71661c72a8d1faa705034be8cd10ae36abc266240958cdf0dac962926a96ce445be187016d8440b7aded3129de6fff814ceb6366beb6";
   sha512.doc = "3e02616de1f5d55837511eb2b1edaa571b6686192433941e1412d812588fede1eb8a8d160b724d1fb8ef8f369cbecd401d1bcd09d4692a79b182ce5bccfb6021";
@@ -1090,6 +1198,7 @@ annee-scolaire = {
 };
 annotate = {
   revision = 52824;
+  shortdesc = "A bibliography style with annotations";
   stripPrefix = 0;
   sha512.run = "bd31306b72bec73d4a2367fda6804e648ade536181d7a5c34d196591bb5fbd483f13a1e4aa2c28d3a4f29d0c74d37d5f1a77046b15d321c29176d9f742e91a72";
   hasRunfiles = true;
@@ -1097,6 +1206,7 @@ annotate = {
 };
 annotate-equations = {
   revision = 67044;
+  shortdesc = "Easily annotate math equations using TikZ";
   stripPrefix = 0;
   sha512.run = "4d4f64f6346eaee14dfe509857d2a592da825eed9ccaaa1a9c2cbf3a4d4f750441392d703c9c9665c88316125bc37192c0d6869f3e2f5274e7f80699f8c553c6";
   sha512.doc = "9f958eafc15d7de177a3ea66c0e381ec76480845647af0969e34b7429f3543c51de33dff58d2a4faf10bba82eb8f3de097d3324955b1842806fc69e8cc6b200f";
@@ -1106,6 +1216,7 @@ annotate-equations = {
 };
 anonchap = {
   revision = 17049;
+  shortdesc = "Make chapters be typeset like sections";
   stripPrefix = 0;
   sha512.run = "4b84d5260c0986191fb4f2b560c386a806c8f93c76360a8d93aa7f9b55dcf089d7d03ca946143b52923130ee751fd47f1ff59908314297fd752ff5fbb17ec0cf";
   sha512.doc = "087db509e1d9649176614296f84fefe9b726dceb3ac8cb6eeecdd8a6fdb03dc97433c31478638eeb6f5f7cde85b8a8a693fce55ed0b3f5aae35a075a43e5652c";
@@ -1115,6 +1226,7 @@ anonchap = {
 };
 anonymous-acm = {
   revision = 55121;
+  shortdesc = "Typeset anonymous versions for ACM articles";
   stripPrefix = 0;
   sha512.run = "6899f18cd8422c1671b74a0ea3f9e8eb47d7ef62e0809d12e71de6ad6a7634c8cc7af22f701c710c9b2b5ee3867acde491bec8d3e2690e2532de3488aed1bec9";
   sha512.doc = "f7a91677338dff848150dd1beac5645c157550f3463795d2d67493f35a81a09d33ee6cb39f2d921f535c12f26bb60ac17e4208298bd8bd7ba0dea8da4e1b41e1";
@@ -1124,6 +1236,7 @@ anonymous-acm = {
 };
 anonymouspro = {
   revision = 51631;
+  shortdesc = "Use AnonymousPro fonts with LaTeX";
   stripPrefix = 0;
   fontMaps = [
     "Map AnonymousPro.map"
@@ -1137,6 +1250,7 @@ anonymouspro = {
 };
 answers = {
   revision = 35032;
+  shortdesc = "Setting questions (or exercises) and answers";
   stripPrefix = 0;
   sha512.run = "89f7fa19dad8e94b57a66b53b72578c277037c0c3a9fe008d0802dcdedaea03f01c6554f4c6b80fd038ebc4f18e21bad3fc176f4c4acedae07d9acad2a90700e";
   sha512.doc = "616569a8d972150c0a1da86625b580baaca642bfad773e9e2240f74d33ddfea203b4c7349660b996adbf8208a92b11861d3f1a42ff88c68f39efba0af97ffa19";
@@ -1147,6 +1261,7 @@ answers = {
 };
 antanilipsum = {
   revision = 55250;
+  shortdesc = "Generate sentences in the style of \"Amici miei\"";
   stripPrefix = 0;
   sha512.run = "d0a31d489cbb68ba258d78c14d294dd3ceecad43d746a43fb87d6c129d2b97145187d8f0207d320be91168a3e8d0612c79bd861d327572517479831a52d290fb";
   sha512.doc = "e7b4caa710d671e8474df9e449112033be38da1465ac475ff77748646b8c24c5589cb2fc3fccaa19642ec68960be1cda4fc4bb427e53ce19ca5c99a45f74ab44";
@@ -1157,6 +1272,7 @@ antanilipsum = {
 };
 antiqua = {
   revision = 24266;
+  shortdesc = "URW Antiqua condensed font, for use with TeX";
   stripPrefix = 0;
   fontMaps = [
     "Map uaq.map"
@@ -1169,6 +1285,7 @@ antiqua = {
 };
 antique-spanish-units = {
   revision = 69568;
+  shortdesc = "A short document about antique spanish units";
   stripPrefix = 0;
   sha512.run = "a1203a09f77e3753fc28d632abc1c7d686085cd016acbab38a767b85a815d0dd05006e49b11524deb85bb8a20a3a8f413917529842f850d4efbe80b38c216ee2";
   sha512.doc = "4c4cd96889c2f1db9766099de6d149963579d27256f44d555023e205ca09617b570237e7eec2b5523c61af4d1124683ade9eeed4a5fb96f140423176ef163cad";
@@ -1177,6 +1294,7 @@ antique-spanish-units = {
 };
 antomega = {
   revision = 21933;
+  shortdesc = "Alternative language support for Omega/Lambda";
   stripPrefix = 0;
   deps = [
     "omega"
@@ -1190,6 +1308,7 @@ antomega = {
 };
 antt = {
   revision = 18651;
+  shortdesc = "Antykwa Torunska: a Type 1 family of a Polish traditional type";
   stripPrefix = 0;
   fontMaps = [
     "Map antt.map"
@@ -1202,6 +1321,7 @@ antt = {
 };
 anufinalexam = {
   revision = 26053;
+  shortdesc = "LaTeX document shell for ANU final exam";
   stripPrefix = 0;
   sha512.run = "0f7deb262a96bf55eba167475ca7c55887c1cdfbe60f9a32debb6926d855764eb595acb693ce9ab74a2af89efd98114f6694255580b5d594915cb2470d84b485";
   sha512.doc = "0821831108f81bc8d23dfb7d26f2201057a897a2dc783959b9e298b8e59b79a12453db072b824397a9625b8a63e7fb19ad8ba6d4500436bb0f7b9a23f96d1c3d";
@@ -1209,6 +1329,7 @@ anufinalexam = {
 };
 anyfontsize = {
   revision = 17050;
+  shortdesc = "Select any font size in LaTeX";
   stripPrefix = 0;
   sha512.run = "31d1c235d011998043663bc1f5729bd40c5b90996627038be612115daef2b3526c9e616b16c251d6b653d5bad82beee62a7dcfc3b8c10feec0850729afb294ea";
   sha512.doc = "9003fdbf712448de70c858eba74f7de79e0cb83e8f9fe72d9c1b71869161d5a63099473c4f9ec670b28b356ceccd9b56110a1724dcde3062ae209a678f5b0e16";
@@ -1217,6 +1338,7 @@ anyfontsize = {
 };
 anysize = {
   revision = 15878;
+  shortdesc = "A simple package to set up document margins";
   stripPrefix = 0;
   sha512.run = "4439be91f8dd82cdc051c519b5bc36fdfb632cf09941f4e6ec92fa77c2b5f4d767c162018fc9451d48ece17e9cbd5d7d4c574eacea78b8f92b6e07d40d7b590b";
   sha512.doc = "96591bba808fc91a876dd49a6e1ede3b679c18952244f14b07e992b40d20f6c4a0f4b4dad00a409c766c5f2e883fc4923c501e65b06ad93193719001c2629f08";
@@ -1225,6 +1347,7 @@ anysize = {
 };
 aobs-tikz = {
   revision = 32662;
+  shortdesc = "TikZ styles for creating overlaid pictures in beamer";
   stripPrefix = 0;
   sha512.run = "76e3f9748c704efafda74e6184aa3c0199f8dae3a9f433615fb87ac5fd7c81d5dd604e91ed7648b68f05919425f82fd19ca0b66f4f590f55e55634a5cc4b7f9a";
   sha512.doc = "3732ca200dcb7d3d4b99cbb0edbe13ef7c9293e8424457c2493c330b4ea810bca21851161b83740bf3b7b53899941e906b0b2e4b46ba715e7b5bbe19844d2070";
@@ -1235,6 +1358,7 @@ aobs-tikz = {
 };
 aomart = {
   revision = 63442;
+  shortdesc = "Typeset articles for the Annals of Mathematics";
   stripPrefix = 0;
   sha512.run = "26216ce5a5069aeab93234a02063961d4895e45d35129a4888107dfa670e319d7d1f1947920700033b31f68bbc3a59fd189feea33305e2893581e8f6d89ab553";
   sha512.doc = "414142b801b286e4064ebd8a73cd40ba07c5d5cc6441e19f7657f94c2fb97665828d2c664908b8efa91af10d17d7bbf1b1b887de393d3752cbf0213b800e0c15";
@@ -1245,6 +1369,7 @@ aomart = {
 };
 apa = {
   revision = 54080;
+  shortdesc = "American Psychological Association format";
   stripPrefix = 0;
   sha512.run = "dd825c533b29f8cd005b238877763ecc299f1a6d23be870bb7b899401f0aa73c4377bbed640e220faf4a1fe204dba0d94671c67ad83cb31d99eecb76e658f352";
   sha512.doc = "5e5224f11e811511b965e6f79adbab67bda5c809fdb4fadd5913ce570e34a933d139e8f418cdf7beff6e24e79443e4f4e4acd81837f24a5783915e169099e720";
@@ -1254,6 +1379,7 @@ apa = {
 };
 apa6 = {
   revision = 67848;
+  shortdesc = "Format documents in APA style (6th edition)";
   stripPrefix = 0;
   sha512.run = "17ca4d98885f30c42c6e5338e838ea2556a2f9dcaaaaa82a4cdc0d82c9a208388f66fec45a87211720b12da193d758d662fefaa8d95fd3246f3403091b4082ef";
   sha512.doc = "244f143bdb9209482eba9c644a21b65af3a6990b5896ef079aaaac2aa57bfd4c0ae26878cf1f87d3f1744b3dece2aaebfccae4e0ebaa846944b614b76a12a673";
@@ -1264,6 +1390,7 @@ apa6 = {
 };
 apa6e = {
   revision = 23350;
+  shortdesc = "Format manuscripts to APA 6th edition guidelines";
   stripPrefix = 0;
   sha512.run = "155bd30654ec3a2bf3930bdad98235baa6bf7aa8109ad449aa1a7b6f2dbda37851f43978266e1c273cbd2155ed274003dcd91f9f452f2dffe268750fd0d9293b";
   sha512.doc = "d78ed178d1fbd07668bdeef74cf6f9f3674837a4f83eb5dce590762f7c02fae1017ee2eed6625a85a7b3e251ebff103e37da84af589125bdb60b73c9459cb748";
@@ -1274,6 +1401,7 @@ apa6e = {
 };
 apa7 = {
   revision = 63974;
+  shortdesc = "Format documents in APA style (7th edition)";
   stripPrefix = 0;
   sha512.run = "48765b391fc91c657666a94c4e903b3e3f93f0620ab561e6e7a29ce1c03ec52674f33dc314136a0ed35e2cec427e94b6365cfe64b1d50625f443dab6f20eddaf";
   sha512.doc = "3d55da4666c2babd231db031e6d72d4bd03b99fc89a581a3f351124956ce61b6275b2c7ced590d4407c1124636b6b2fff0a5cd5766e87ea51e4422db32288805";
@@ -1284,6 +1412,7 @@ apa7 = {
 };
 apacite = {
   revision = 54080;
+  shortdesc = "Citation style following the rules of the APA";
   stripPrefix = 0;
   sha512.run = "6f69733b58f0e791422269f48b56a52ad6b131afc4ab5c7c5ad1d9e0a5ec0d84ba48b8e43340f8e1a563a0c4b10aeb131f1999f836e89f311f067ded8464f91b";
   sha512.doc = "ba7720239a221d343cc58d28a9611f731a6db21f1e7852b0cdfe0c4f0cd97d475efd83c863b14d197f2206cb2bb0d314266797376b548de250842aa008ff3732";
@@ -1294,6 +1423,7 @@ apacite = {
 };
 apalike-ejor = {
   revision = 59667;
+  shortdesc = "A BibTeX style file for the European Journal of Operational Research";
   stripPrefix = 0;
   sha512.run = "b04f10bb77365327f326f2bb6c67347802fe6f9628644711d72b85576f59e06ec9fec168ba382a187f51cb7bc2d619b2d971d55024e4ba82d7f5e3c73f556bc8";
   sha512.doc = "a9e091123eaa359ef7ca22d47ce3e069ebdd9e74835e54dc2abbe92073edbb9989d408d5f52f5e83b52f7137b4cbc50fc38e56606f72541ee46aaabbdafb3a40";
@@ -1303,6 +1433,7 @@ apalike-ejor = {
 };
 apalike-german = {
   revision = 65403;
+  shortdesc = "A copy of apalike.bst with German localization";
   stripPrefix = 0;
   sha512.run = "2d9094953893182276e88db622b68750a5f70a9314ae5b88ca33c8b04a3e4dbb68fa01de9e3f44cc13b41b7bd7ef9c9b618af7c1cabe58045dc03b15277da5bd";
   sha512.doc = "eae2fa13afb28c51926a1fc4aa8e8e39da35d9a6b3297eb2a1b42bd39580daaf45a782c4cbba16dba6c7a4c315873d6ad1a7b6dd61b4de06cf5628f8d381c63a";
@@ -1311,6 +1442,7 @@ apalike-german = {
 };
 apalike2 = {
   revision = 54080;
+  shortdesc = "Bibliography style that approaches APA requirements";
   stripPrefix = 0;
   sha512.run = "cb837c6299628a58189f33570de7717d53d83d9de456255b489ae4ef73693b51bffc2dd12c9496265ebc8cda64d8da8b1c71d46f9d96a4bc13c07c9a6e021a2f";
   hasRunfiles = true;
@@ -1318,6 +1450,7 @@ apalike2 = {
 };
 apnum = {
   revision = 47510;
+  shortdesc = "Arbitrary precision numbers implemented by TeX macros";
   stripPrefix = 0;
   sha512.run = "2e155193dfdd3c88cf336cece23bc6b393a81529c31ac2535840a7c4f4a97530d35d0f4ae964e8f92856eea0d54c356e8bc15427918ba0891730827a3ba561c6";
   sha512.doc = "4e1a6ff31d9836dbb04fbd90911083a9ff70c7526ef099d437e21c11766314cc29e8071dbc21976af7a23fe99b673bbee82dfd265041b9ecd015070c58b4ce14";
@@ -1327,6 +1460,7 @@ apnum = {
 };
 appendix = {
   revision = 53718;
+  shortdesc = "Extra control of appendices";
   stripPrefix = 0;
   sha512.run = "efaf48867a45f8365755224123b9259f80f49417c409698420d67670baa969d5d354df1429fe7abbd87c29a8e89a9e084cd75384310a44d61e1f2fb7a2650977";
   sha512.doc = "f4e90fc9fa5ca89a9a20ceb56cce788984f3ce5e55f92c99de966a54afca7145d9e3602c4e514ee6b7887b3ae9f8facc9b3191ada19514aae7c7886ae2984b0c";
@@ -1337,15 +1471,17 @@ appendix = {
 };
 appendixnumberbeamer = {
   revision = 46317;
+  shortdesc = "Manage frame numbering in appendixes in beamer";
   stripPrefix = 0;
   sha512.run = "d5f4573a0f6c31be7e910512d86ee0443e713abea11e71694b58f1d1d65f4249f967aa5b873941e1d8b7686d408f411aad1a76009a3bbcb528693ae14dc60e63";
   sha512.doc = "58b32eacfbcd8e024a4cf3dcea0c1d057010dd454c1e54b6752b970a3fa1a9e10eb15d8cee9dbb9ae032aaa8b6c070079b112f5a91b1c9617df40877a4a3454b";
   hasRunfiles = true;
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
   version = "1.2";
 };
 apprendre-a-programmer-en-tex = {
   revision = 57179;
+  shortdesc = "The book \"Apprendre a programmer en TeX\"";
   stripPrefix = 0;
   sha512.run = "2008619320d2b7e906c2511609e76894dd065f8e56dd1800cfac0e13af4415dc76c437cdadcf15cfea85d7862996e99ba3240aa30d36fa70d9c1d950b7c97e96";
   sha512.doc = "34c86cf9f0a296846a85f896f31da102013dd7b78ddc11d20aca93770671f2ab05930167160d3bf6282b7740fd9d5eb5238ec70bdf405658c1688d3bbd769d7e";
@@ -1353,6 +1489,7 @@ apprendre-a-programmer-en-tex = {
 };
 apprends-latex = {
   revision = 19306;
+  shortdesc = "Apprends LaTeX!";
   stripPrefix = 0;
   sha512.run = "fe9c7ee4cc8cac1ed932388ff75066e4166e582f92bc23da4a4f6049f3cfd8c100d6ab6c0b3c661dd76038a9683eb3207f94f54ea338dd172027815d6945ad94";
   sha512.doc = "d65d5f56e055ac4628e8198b718689631edca80abb3593480948ee8ba3336d7baccc091cac9f95b4dff745d84d409488d3a2032a1587f1f1a5db186af4da1413";
@@ -1361,6 +1498,7 @@ apprends-latex = {
 };
 apptools = {
   revision = 28400;
+  shortdesc = "Tools for customising appendices";
   stripPrefix = 0;
   sha512.run = "05d243100c9fc575b7828e0084822fdb2c655f5d2d7c51b42aa3c5ee4d127f62f714affd1fa8e94b7c0c322b57a9fe1728d1829ed7f18d75b5287a673d580cc4";
   sha512.doc = "74ce416ef14978e0418754e3d2e2874ed07a8fbc6be90a1bf7dc492f191546407d7a967efb1306481d1b88ad296faa1194dc4da8975f7ac0c4e4053ccaa1444a";
@@ -1371,6 +1509,7 @@ apptools = {
 };
 apxproof = {
   revision = 64715;
+  shortdesc = "Proofs in appendix";
   stripPrefix = 0;
   sha512.run = "69d21b2d0770baf8d29583e383dfa1714d8ba4d87d65c2f6590ac6d2f5df2304d002490cfededb38eae043ab1cb2b23d7c67fa7880c4e48654f2a34aa9f853bf";
   sha512.doc = "2ba3258ee71a0776ee27bf4249288b12d92b7cabecf1601efd9f1855f5a058b9c030a0d4107c026d8362324de9240350e65f8fca1e76ab5e4ebfe718b37ed27e";
@@ -1381,6 +1520,7 @@ apxproof = {
 };
 arabi = {
   revision = 44662;
+  shortdesc = "(La)TeX support for Arabic and Farsi, compliant with Babel";
   stripPrefix = 0;
   fontMaps = [
     "Map arabi.map"
@@ -1393,6 +1533,7 @@ arabi = {
 };
 arabi-add = {
   revision = 67573;
+  shortdesc = "Using hyperref and bookmark packages with arabic and farsi languages";
   stripPrefix = 0;
   sha512.run = "8a9742a1499082ec9ecf5082f34b194e572cb94a0d0b6a3b1d6b8a01edfb9b3b53d42e3720b85fc2dc654d06b3641b95d506eac8cb393bb9ef21dc68c70e5adb";
   sha512.doc = "c11ac1fa2b8dfd619060efa36f81ed0ae6d0e1b976c08894f7115d960458a812496d5ce4f8270350ead90a5a1614a8a61cfb98568a1e28d414fc0c5b370690ac";
@@ -1402,6 +1543,7 @@ arabi-add = {
 };
 arabic-book = {
   revision = 59594;
+  shortdesc = "An Arabic book class";
   stripPrefix = 0;
   sha512.run = "ac60431be9ebb42e2329c954805ecaef988bb6724eba7638ace659a973de3de9dbffc9ee85b2847531c3fca44e97e7099b1d9412ec754d9d27bde1432480f133";
   sha512.doc = "5ed647dc625397baf5db5cd05c87b2ce5dd44b4acf67ff6337b96989aaf210775f3870b5f1f376219cbbce96e486eed5dd24dc893684aeb7d3490ae62df15f14";
@@ -1411,6 +1553,7 @@ arabic-book = {
 };
 arabicfront = {
   revision = 51474;
+  shortdesc = "Frontmatter with arabic page numbers";
   stripPrefix = 0;
   sha512.run = "efdd3769bedf8ececd7f71f6a918ed19f66caa78b348238b34e554698a5af6ae5616bad5cc494c970cd8e12073f1c27ccd1cfb7ab19ea263b5cf98061c42ccf6";
   sha512.doc = "64eb067784cdb56915b45e80f1666347bcdde06e3711a18cef16ae92450377aed236cc32c8c10d467d50e77de31a3f599abe900f411a510574378e63eb923862";
@@ -1420,6 +1563,7 @@ arabicfront = {
 };
 arabluatex = {
   revision = 67201;
+  shortdesc = "ArabTeX for LuaLaTeX";
   stripPrefix = 0;
   sha512.run = "c235430d724495035832ca32fe838ab5d75d48d2d68c6c84965f5fb7e5c65098356513241c82e95b6c6d806328c0272b775c1aca963df02ce2540052d62b312e";
   sha512.doc = "d625d9d23d73a4c261c2099b77831dd1b60f38211a4802a3651e31f65c5d278c3cc3db8469cacede81c1a105cc6d4f605a5a9ef764b6171e4fcacf515a1080e7";
@@ -1430,6 +1574,7 @@ arabluatex = {
 };
 arabtex = {
   revision = 64260;
+  shortdesc = "Macros and fonts for typesetting Arabic";
   stripPrefix = 0;
   fontMaps = [
     "MixedMap arabtex.map"
@@ -1442,6 +1587,7 @@ arabtex = {
 };
 arabxetex = {
   revision = 38299;
+  shortdesc = "An ArabTeX-like interface for XeLaTeX";
   stripPrefix = 0;
   sha512.run = "7c58bd94b780abc5bc17b4218229d289797a155a8e98cae8e22825dc7d9b12c5514de01b12bf2f645047dafb13b4d519d463f4ced60f7ac53a65c6aa38cbec86";
   sha512.doc = "0dff3162a710b458b367bb4ca587d525b68ac79d2d3182e8b9d2ca90ff72f89bf69153960400c344511449c52346c329b8a34eb788e11ed9a5319bb6bca89418";
@@ -1452,6 +1598,7 @@ arabxetex = {
 };
 aramaic-serto = {
   revision = 30042;
+  shortdesc = "Fonts and LaTeX for Syriac written in Serto";
   stripPrefix = 0;
   fontMaps = [
     "Map syriac.map"
@@ -1464,6 +1611,7 @@ aramaic-serto = {
 };
 arara = {
   revision = 69878;
+  shortdesc = "Automation of LaTeX compilation";
   sha512.run = "c18444518e8cb66b44e49cdcd944895b0667d934460d0146940c87813e0c9a372fb273882ea1de78d4fc869d69ffb2ec1a41d863cd977891ce7937134464df73";
   sha512.doc = "372e1053717395e960e2447622d262ee2b07594823f39fb845f5640d730a3590441aa5dd509e1f61be00abaa6df3ad20e953c66b7c27829d25b9ac68d0aa4423";
   hasManpages = true;
@@ -1480,6 +1628,7 @@ arara.binfiles = [
 ];
 archaeologie = {
   revision = 68476;
+  shortdesc = "A citation-style which covers rules of the German Archaeological Institute";
   stripPrefix = 0;
   sha512.run = "02768eb18bd866522380974e675eae530afaa9f0c0baf4e4dd6e5c0bcfef3755a54e79d9be2697b4e29cc633ec87c65179561d662cd99406556d3a66940b9199";
   sha512.doc = "60136a2704265de25c0097e766fb50d89019b01524edebf6986db2c465d8dd2230f5d48ed5fa7b2d0c6f1ba5bc11dff4d2a171667d7743ad3d883e068c318864";
@@ -1490,6 +1639,7 @@ archaeologie = {
 };
 archaic = {
   revision = 38005;
+  shortdesc = "A collection of archaic fonts";
   stripPrefix = 0;
   fontMaps = [
     "Map archaicprw.map"
@@ -1502,6 +1652,7 @@ archaic = {
 };
 archivo = {
   revision = 57283;
+  shortdesc = "The Archivo font face with support for LaTeX and pdfLaTeX";
   stripPrefix = 0;
   fontMaps = [
     "Map ArchivZero.map"
@@ -1514,6 +1665,7 @@ archivo = {
 };
 arcs = {
   revision = 15878;
+  shortdesc = "Draw arcs over and under text";
   stripPrefix = 0;
   sha512.run = "65737905ba0a6ede74d8cb211b46a2e62b640d1b655f895095ad4bdecefde496368707142143e2f2e48849faa89d86a9e90a0bde64fe84b3c828e14462f30406";
   sha512.doc = "2cf72d4ec304cfa08c1b3cc8df3bd9a6cb92a633a2ab783ac4efbb5edd6290ba256c86bc4a3bbc09d923a58a10e5f21f5d8e3e2b41b0ddce14406d29405523e0";
@@ -1524,6 +1676,7 @@ arcs = {
 };
 arev = {
   revision = 15878;
+  shortdesc = "Fonts and LaTeX support files for Arev Sans";
   stripPrefix = 0;
   fontMaps = [
     "Map arev.map"
@@ -1536,6 +1689,7 @@ arev = {
 };
 argumentation = {
   revision = 69023;
+  shortdesc = "Create abstract argumentation frameworks via TikZ";
   stripPrefix = 0;
   sha512.run = "d18f62c0c6c5cef4f85b854342671ebbc9224475d41488058543e682e41230f61cea4ecb68db767742c30d92ae2af1270ef47624608a3fb93aa6f8031b12648e";
   sha512.doc = "bd6e12905e35d15064a357a248f4f5dbf5d91e37d0e742be0cd360e7d6079122090f29341acf11584ab563355481aad7edbbdfe1fa6b2455aee2b67e263dbb6a";
@@ -1545,6 +1699,7 @@ argumentation = {
 };
 arimo = {
   revision = 68950;
+  shortdesc = "Arimo sans serif fonts with LaTeX support";
   stripPrefix = 0;
   fontMaps = [
     "Map arimo.map"
@@ -1556,6 +1711,7 @@ arimo = {
 };
 armtex = {
   revision = 69418;
+  shortdesc = "A system for writing in Armenian with TeX and LaTeX";
   stripPrefix = 0;
   fontMaps = [
     "MixedMap arss.map"
@@ -1569,6 +1725,7 @@ armtex = {
 };
 around-the-bend = {
   revision = 15878;
+  shortdesc = "Typeset exercises in TeX, with answers";
   stripPrefix = 0;
   sha512.run = "8fdfb83017cafe87778ea8a9e7147d6b73ead7019dfc9dc8b620858a67a2a02991e291d622aefc77723f6faa8a66b132313a100d298a2f6327473df4e0fb17f1";
   sha512.doc = "acec7325203a96ab3937cb687e3265b5cdf6d77af5740e1e187f993fcdcbb9db743835e9ab579b6c8b0534311ba94f3d1591330bedf1c2f9eb9e6955ad070f9c";
@@ -1576,6 +1733,7 @@ around-the-bend = {
 };
 arphic = {
   revision = 15878;
+  shortdesc = "Arphic (Chinese) font packages";
   stripPrefix = 0;
   fontMaps = [
     "Map bkaiu.map"
@@ -1590,6 +1748,7 @@ arphic = {
 };
 arphic-ttf = {
   revision = 42675;
+  shortdesc = "TrueType version of Chinese Arphic fonts";
   stripPrefix = 0;
   sha512.run = "f0559968e2659a4e899bb0ee1e6236f4bf7f4133c96c146a189b42fe0ce7f375ffc5c62efd8acffa68b36c92159c28eb54167a7625b606cf7644c0a072d7f8e9";
   sha512.doc = "000030c21bf1ccd74ebc1c6bf8e46dc5d9f884480b2c31407353a3ff45a4d1072f759e9e31abbe5c9de7dfc68820fa359d42c5e980bfb7e9d408f015f8944aab";
@@ -1598,6 +1757,7 @@ arphic-ttf = {
 };
 arraycols = {
   revision = 68277;
+  shortdesc = "New column types for array and tabular environments";
   stripPrefix = 0;
   sha512.run = "faf429613ee1987b92b369dc357f376c1465531cec8f7f78c37099366fa80954930afd62c553760b71a2226b0d245d9ad9664f4e5383803471bcf4f63f419f7a";
   sha512.doc = "6bff5add83a6eb8f0c697bdfc5da076c5a833e856abf0b023002a50a85dd1a7cc24e0cd042a2fd28c18a37a88ac91f4f09a5c4f2911cbba30026fbc03df06c71";
@@ -1608,6 +1768,7 @@ arraycols = {
 };
 arrayjobx = {
   revision = 18125;
+  shortdesc = "Array data structures for (La)TeX";
   stripPrefix = 0;
   sha512.run = "5cf6573de2bf55c1b75c2a0f38515ecde848dafcc0e5f0e77185ac039d0bcc4049bf6fdef62134ea5e4839570fc20cc6928bc9357bee0c4396f08d714eca8d13";
   sha512.doc = "495f7f8f3265e349e16ad170eeda10296926864084ace743df54f5a4b304da6bc344bce901edc0fca8d835bd0f90943b192b0e16e3a8f5bc81e0f269f2b480a7";
@@ -1617,6 +1778,7 @@ arrayjobx = {
 };
 arraysort = {
   revision = 31576;
+  shortdesc = "Sort arrays (or portions of them)";
   stripPrefix = 0;
   sha512.run = "6dd3c6a79c7b7e1f9a0fa29f2d7f4fda8c3aceb0b900c4e42773c81f8a49e84dd62ae24027065cf19cdff93d4addff11d0b25cde62f2d4854b84fec26eb98c61";
   sha512.doc = "1070b880c7bfb6101fa9294ee8d1ab4c61b21af41316ab711c3226173b73249944533cf0594571f90215a46322b1ef07322daf7230d95e7c23bf21650e1d6047";
@@ -1627,6 +1789,7 @@ arraysort = {
 };
 arsclassica = {
   revision = 45656;
+  shortdesc = "A different view of the ClassicThesis package";
   stripPrefix = 0;
   sha512.run = "9c6b32e43ff86bd6f28d23b9aab5dd90a423610b2f3c842462e88985c2ee88eec2e78e05cf3e0b91397009bdd370880df6db642816d7de3bb10a96faf4fa34b2";
   sha512.doc = "84cd0583c074af45837f38c21815019613753890e056109abab3c79c774a7ebe966c35875264998398b18d7a7fc92ac6762dd72726e708193f699e321f296535";
@@ -1635,6 +1798,7 @@ arsclassica = {
 };
 arsenal = {
   revision = 68191;
+  shortdesc = "Open Type font by Andrij Shevchenko";
   stripPrefix = 0;
   sha512.run = "f103fff41a3e21594134b9902064001bb18e0c85985ebc99486378c0929d11eb3c12f00e7e23ed254029bca78adb2061575c48e9406fda890eb732b3cb90f096";
   sha512.doc = "72295197eca81954e733409239b4cc13ff9ae87f5cf5c402a8d2904edf2e3fb6686fe2a0ea8bbd4d0e2bc0498507c47870ae1ac3cc2d722713ea4b952613a345";
@@ -1645,6 +1809,7 @@ arsenal = {
 };
 articleingud = {
   revision = 38741;
+  shortdesc = "LaTeX class for articles published in INGENIERIA review";
   stripPrefix = 0;
   sha512.run = "30a34052cd9586d4b49d687035ae8bed040cc5bc2d9ebc0d96a035c4c7cc06625877a501e02eda9be5eb79643f009ffa9e8d2bf9d7affecca016ef3c6310a6de";
   sha512.doc = "a7961a7ce16613d26d714d39bc441400cb37d7013d03684146ee9113d05dd821a23a1eda9f7e89601680959f3b473e31155f24003b5deaf60e069385c0681646";
@@ -1655,6 +1820,7 @@ articleingud = {
 };
 arvo = {
   revision = 57213;
+  shortdesc = "The Arvo font face with support for LaTeX and pdfLaTeX";
   stripPrefix = 0;
   fontMaps = [
     "Map Arvo.map"
@@ -1666,6 +1832,7 @@ arvo = {
 };
 arydshln = {
   revision = 50084;
+  shortdesc = "Draw dash-lines in array/tabular";
   stripPrefix = 0;
   sha512.run = "fd676917ccedc39b90b48b531ea4ec5098b70ca854583a3266d4080dc78f59e37a743e63b738be370cb0ca650594d0878ab1f807eb6f55daec17ecead73aa4dd";
   sha512.doc = "a809e2abfd26b11edaf8a5b23ddf01901f84bbd63b8fed7b6050a4947654ffada95bb697e13250038c6fb93db80dee4faad6d4493f05bb7f4ebb86dc7e9b9698";
@@ -1676,6 +1843,7 @@ arydshln = {
 };
 asaetr = {
   revision = 15878;
+  shortdesc = "Transactions of the ASAE";
   stripPrefix = 0;
   sha512.run = "b44fbf1bb916eb9fb01c70a7302ef4028d04c84dc6a89a51c0feaca762da9cc95cc03cce6497e96dd64ad73e812fe59a12adb515ff4f561401131476e7df6214";
   sha512.doc = "be0cd70f1b3035477a9b455328a8e167a5042e07634913c0d9efb995286165a1f41c1b86a505b3f23d19ec2f43712328f70085747d692bb97ea968c40ed109b6";
@@ -1685,6 +1853,7 @@ asaetr = {
 };
 asana-math = {
   revision = 59629;
+  shortdesc = "A font to typeset maths in Xe(La)TeX and Lua(La)TeX";
   stripPrefix = 0;
   sha512.run = "2bbf3e139418db06578af5fc8d3925d96bbe1bd9d472a82d428a059b1a206db131734f1b0e762ca49c896f403faf279b2e47465061dc5bcf0eaa8058474017a3";
   sha512.doc = "86b064ede8b8d77b9722d967de612e4a0e8758a29a6a3909b625fe2fa8ebe9551359a442376e8ee8a9dadf5d295d197328914411144c6f94e0b0fe16692eb128";
@@ -1694,6 +1863,7 @@ asana-math = {
 };
 asapsym = {
   revision = 40201;
+  shortdesc = "Using the free ASAP Symbol font with LaTeX and Plain TeX";
   stripPrefix = 0;
   sha512.run = "9a683044f23fdec0547199afbc0f0c6c9de8faf01f09df38de324f53e91f446de867e951e187ec77bd63cc65bb92ba2fd7bc290d54650ce24e02b682cd10a941";
   sha512.doc = "4462b37c6575ba0f3e95c29e1d84eafaadc562da19ec58a604bb6ef677fb9b9d35fa68a6f2c81d8dafc35dec9f904cee9d3fdfe0c2031de928862324e83d8663";
@@ -1704,6 +1874,7 @@ asapsym = {
 };
 ascelike = {
   revision = 29129;
+  shortdesc = "Bibliography style for the ASCE";
   stripPrefix = 0;
   sha512.run = "d8c9d69ac49e632b7b303c0fcff53762f6d40a490aa1655f58525e192481b65b50912867b1cb16c9aba1d93483a6a2bd31e586683819a7f2b3db7439d46deadc";
   sha512.doc = "0283fa497b53dc3a0d60960bd45945dd9b363c53a563139e911b8bb017a6f0ea7f46a95811812a679fe1ac5327c52e73f4aba35d26160041c61a1cb5597c880d";
@@ -1713,6 +1884,7 @@ ascelike = {
 };
 ascii-chart = {
   revision = 20536;
+  shortdesc = "An ASCII wall chart";
   stripPrefix = 0;
   sha512.run = "ffc1634e3e5313eb0cf04caaa227d6477cf81ba9b6eb887b2897b6740999f1f338b2dc53e6da735876f9c3b130394be59b0a285309d61909a73fdb0d6f28a8cc";
   sha512.doc = "51b11a22dd963336fd93a87e2948d05f291b4191253a474b9d6f70ec31a2645801fb5f6fb6238f6a9b2979dbaba4a6ec8ac15a41c4e8867645dfa54408f18373";
@@ -1720,6 +1892,7 @@ ascii-chart = {
 };
 ascii-font = {
   revision = 29989;
+  shortdesc = "Use the ASCII \"font\" in LaTeX";
   stripPrefix = 0;
   fontMaps = [
     "Map ascii.map"
@@ -1733,6 +1906,7 @@ ascii-font = {
 };
 asciilist = {
   revision = 49060;
+  shortdesc = "Environments AsciiList and AsciiDocList for prototyping nested lists in LaTeX";
   stripPrefix = 0;
   sha512.run = "5c2e7938a9d2df31477cc976cfb549103c8f378a8d38a3624d3449229861fd834d462163df6e2e1f1fec686f513c6a194ccae9fcd0991820b357e12a1c32af28";
   sha512.doc = "8602a9f8e5dc04a6d4a914f603e04ced8f5cef55c5a335087b8f0953d19d4641d43ef732ce299ea18590de89e2360a8dddb44f8ae76be6498ccfd29e4a680746";
@@ -1743,6 +1917,7 @@ asciilist = {
 };
 ascmac = {
   revision = 53411;
+  shortdesc = "Boxes and picture macros with Japanese vertical writing support";
   stripPrefix = 0;
   fontMaps = [
     "Map ascmac.map"
@@ -1756,6 +1931,7 @@ ascmac = {
 };
 askinclude = {
   revision = 54725;
+  shortdesc = "Interactive use of \includeonly";
   stripPrefix = 0;
   sha512.run = "828a18ff7c2d997f25b46b9ce8626a749ce1a18989a292f7f44e9eff0c28d5819e6e017398e76a6872da6498a4ff8306d8f8e701b87b80f57f455d28389f7aa8";
   sha512.doc = "a06a9170ad1637c35a25c9a0d89f3721ec350a0053cb5b85374fdb5cc67e7d4653e75c2a5f9b47d19700e3e9ab2d70e5c0c419f68715e664185bd30759dc0291";
@@ -1766,6 +1942,7 @@ askinclude = {
 };
 askmaps = {
   revision = 56730;
+  shortdesc = "Typeset American style Karnaugh maps";
   stripPrefix = 0;
   sha512.run = "0f4d91a15053d40d329744c429540075c33e2098f6d9d07eccc5ad16c5696233dd01de89c61a7090dc127c3730ef04e24f8d56845919cd268ec8c0bc68d9c09f";
   sha512.doc = "268915d685c8bea4388055487ca0d30418557babd01547457449085e58d639bb17787b6b5c97fa99301555afa9d9d11754196cd2b1dbf48b642b05a835b383b0";
@@ -1775,6 +1952,7 @@ askmaps = {
 };
 asmeconf = {
   revision = 69742;
+  shortdesc = "A LaTeX template for ASME conference papers";
   stripPrefix = 0;
   sha512.run = "93b55a406a9b7b1e652babc788f9674ba27f29036aa16c25a3e531ff63077588807914d23c865eba55f73fbec04c3254eae837976591481534f773d72412833d";
   sha512.doc = "2c70973dd40e2afab5bc777c6a7b64d3c86a09e15c62b2f719410de6d05925534071e91ebdc482928382602d49d54b3ca342a7886234a15ed3b54ae761f51208";
@@ -1784,6 +1962,7 @@ asmeconf = {
 };
 asmejour = {
   revision = 69722;
+  shortdesc = "A template for ASME journal papers";
   stripPrefix = 0;
   sha512.run = "11e65ea5fa72880c52c63de1a7214de9322c26133722eed08bd54fba00f58f309f4d1a7fcb4a0112c1d66ca6be5fa3868f6779de8c47b660a143bc61855a47c6";
   sha512.doc = "3af8026c3e0a77ca0f4ba99901577d253ac139fe049363994f56480cd6177524cb7a7dd5a4c59f436620a089ea08f2faf048957a2d2290800b71bf8a43d964bb";
@@ -1793,6 +1972,7 @@ asmejour = {
 };
 aspectratio = {
   revision = 25243;
+  shortdesc = "Capital A and capital R ligature for Aspect Ratio";
   stripPrefix = 0;
   fontMaps = [
     "Map aspectratio.map"
@@ -1805,6 +1985,7 @@ aspectratio = {
 };
 assignment = {
   revision = 20431;
+  shortdesc = "A class file for typesetting homework and lab assignments";
   stripPrefix = 0;
   sha512.run = "5b8ceaa313eccffff8930b4e1896c7aa069664244623baae2aa1eb3555786dfeb8af8245e56ca149754093f6d74d6b86c891cb9e52e67c7b76e2501ac206658e";
   sha512.doc = "49198297494adbb538385029d41681e55bf64c89fc9cee7d923b7ba9849c039a7e5aa2c1fbfc15f06c1a93a3b694899ffd8988d1833fd88c6f5dd51379289a14";
@@ -1813,6 +1994,7 @@ assignment = {
 };
 assoccnt = {
   revision = 38497;
+  shortdesc = "Associate counters, making them step when a master steps";
   stripPrefix = 0;
   sha512.run = "24dd03f444ff4dd627a97840837cb14288e9021117f93fbbdc4f79cbac9cab46d43fb93769d2f05970eeef3fafd39692eefe5d1b7bec8ae04f6078d7a4b48824";
   sha512.doc = "195f1f017fe187a224bde969f45b6494007e4d05ab2e8618b62e8d40055b4ef401f5ef069c3bd1af25f8a9f5e1ad1cba22923e4d615d4f075e13a78a06752e9c";
@@ -1822,6 +2004,7 @@ assoccnt = {
 };
 association-matrix = {
   revision = 64845;
+  shortdesc = "LaTeX support for creating association matrices";
   stripPrefix = 0;
   sha512.run = "6b87d01d5559669f6e2d63fc14427d950eba9d790070625cc6acaaf6e308282b7434bce90da78a41858b068121b75a1e1c0ec4453d287aaed94c9e6308a1b5ce";
   sha512.doc = "e56de37acf6d8c2b53aff0aa78999dd400b18b3bb44ea40f21a7638e463405ce4f48d2041236897f7a281099c1c5d879ffcbda9d6b08d2b0d5fb83193803d157";
@@ -1831,6 +2014,7 @@ association-matrix = {
 };
 asternote = {
   revision = 63838;
+  shortdesc = "Annotation symbols enclosed in square brackets and marked with an asterisk";
   stripPrefix = 0;
   sha512.run = "bb1939b53b892744c323bd28f84cbe07d94c30c3f824e9d611f8b044fe8b9b07990fe7709607e7212ac8252d6eaef9a989447f270e26f16e074af0b9bd92cfd4";
   sha512.doc = "31b443d1ad05880fa5c6878fed144a2b1cf20fe855188ca8d879c5d18b7285f16dceb76b2ab7dd6be2f401b898752a674f810af6d3b9ff906a6cd75a80cf51c0";
@@ -1840,6 +2024,7 @@ asternote = {
 };
 astro = {
   revision = 15878;
+  shortdesc = "Astronomical (planetary) symbols";
   stripPrefix = 0;
   sha512.run = "8cf59f7de3ea5add30166fcd4284279582cbe6199bcb1ebd540688d03c03ccf03aa740602cfad11af9380d970ed7009e6bfb4e96c56d26036f872e82c02739b6";
   sha512.doc = "df4a06e10e9a438393c7e22f746618c5d760a6095e285acd0b2918f58e234a1eeca9b49597d381a113cdcbff0f13e4c7108b9b400afc81e81757f4400ea484f9";
@@ -1849,6 +2034,7 @@ astro = {
 };
 asyfig = {
   revision = 17512;
+  shortdesc = "Commands for using Asymptote figures";
   stripPrefix = 0;
   sha512.run = "f067e6aa1f3cb481e07f59781fb7d4c671a0b21a392ca7830d7fa19ed7a198fefd5ad5104ed3644eed484100871f9a8d36d1ae6e31d55487e4ff2846df618e9b";
   sha512.doc = "d798066b8c545ef385a75c81d431c169668bd10ad072bc3e0ef1db7c0df903d51e9dd9ac2d482d109b421a868e9cbff577c18f52a7b4520b32985fafcddb66ec";
@@ -1859,6 +2045,7 @@ asyfig = {
 };
 asymptote = {
   revision = 70583;
+  shortdesc = "2D and 3D TeX-Aware Vector Graphics Language";
   sha512.run = "8c147b714c3e57c569d9d93815ab6ebbabbd9be3a24b0dab724c32075d51e42f49f326de2babdfa6894056948e5904ed1b86cef88742d000e8b4e6244be868f9";
   sha512.doc = "a81d20288e4c7b30c50fc32e5e28a30b5fa81ad01564c5935489c2b8e4749bc13871d7551927345452315d18f81102232ba35dc3de2a7415bbfb14d7fff12d83";
   hasManpages = true;
@@ -1869,6 +2056,7 @@ asymptote = {
 };
 asymptote-by-example-zh-cn = {
   revision = 15878;
+  shortdesc = "Asymptote by example";
   stripPrefix = 0;
   sha512.run = "34608d6412d7936a15bf649555683ff03c5021e1688c99285a6b7ecdfc3a43eac4ed32108626243d6e9b07c23c557f07762897a96501a27412c7c5d039747553";
   sha512.doc = "a0087e5be69962c671e1972d9e7be12f76be64582182afe042693cbad92cf3fd027422c605dcf7860cd2e61f0b925860a50e94523b9ae2d1af7a8aa6d356c3a7";
@@ -1876,6 +2064,7 @@ asymptote-by-example-zh-cn = {
 };
 asymptote-faq-zh-cn = {
   revision = 15878;
+  shortdesc = "Asymptote FAQ (Chinese translation)";
   stripPrefix = 0;
   sha512.run = "1efc7098392ac5cad5eeaa0dcf527bd158e3f7497ff1992603b833ff63d5cfa61fe5e7bc33c5cc0c441c13fc03dfe1e18a334411be6ad2f5acc94c902e9ccf2c";
   sha512.doc = "b7dbcf256cffae9cc8f5027934946929b4be7a8794fb8364892802eeff4e7cf970ca8549ef442a35f173ada61533b51c2da301bf2ce931107a7ce0c564ce0c60";
@@ -1883,6 +2072,7 @@ asymptote-faq-zh-cn = {
 };
 asymptote-manual-zh-cn = {
   revision = 15878;
+  shortdesc = "A Chinese translation of the asymptote manual";
   stripPrefix = 0;
   sha512.run = "c04fc953a0a9035c238b9f80873d9fc605b23b322e898ae55b8eda7537f0172076e512022b163e3cd397ce2e4e721afa2e981454db53511c1a7347a017185df5";
   sha512.doc = "0f82e25773a14b0f81b34354f16931834d0496b2c6636c498c6af686f46e7ff93a274739a1a4c189433c9df1ae91ca010f0887081c81f2ac9006a105c7fd4ac9";
@@ -1894,6 +2084,7 @@ asymptote.binfiles = [
 ];
 asypictureb = {
   revision = 33490;
+  shortdesc = "User-friendly integration of Asymptote into LaTeX";
   stripPrefix = 0;
   sha512.run = "a1ab37814223b13bf49d23c527543cb537e2224335e727e07e1f645a7f76a2f3ba1a275073c775463880b0e258e716b6b00d0df29ca944f1f22b3ac70aef4378";
   sha512.doc = "68b060950fdad080061b8d2c1a91726d0eabee9aaebe322e983e0dab81df30c65d9d7d0cf32fb2847f504ede155f2c43f3ba8c00073fa425bddcfe7d47a6f000";
@@ -1904,6 +2095,7 @@ asypictureb = {
 };
 atbegshi = {
   revision = 53051;
+  shortdesc = "Execute stuff at \shipout time";
   stripPrefix = 0;
   sha512.run = "7e03a9a73d8790f6603d53c11aacd01fb7108546e2d3b6ddbd5fce1e42d68ed9c23dfe41794b943eeea67ce0c598851132dd23faa95289789911cd059a8caad8";
   sha512.doc = "8f6402dd0f36d4cc4a4674c0d0b37f012a7d6e557174ca3b58a7a2b33d89475d1e47028cc39d2b77c496bfae0751275369c5f4f49cf53b8c36fb60fce47a6bd3";
@@ -1914,6 +2106,7 @@ atbegshi = {
 };
 atenddvi = {
   revision = 56922;
+  shortdesc = "Provides the \AtEndDvi command";
   stripPrefix = 0;
   sha512.run = "49b0a69eb308e19e3ed97406fc1ded6e80f15d7787031e2b71cc41ca2e1c74c19d3f3832ae13c5f1af70abf9f2f201c9a7ef669ed2e58349a584ddc767059c54";
   sha512.doc = "d60dae681800be4495c2690f78513475d98a4480364306eb26c16c551b0e984f135aefccdcff549e6702b2b62bb185ccbdacd85dd3c12e5b20c128d9397c0e8c";
@@ -1924,6 +2117,7 @@ atenddvi = {
 };
 atendofenv = {
   revision = 62164;
+  shortdesc = "Add a custom symbol at the end of an environment";
   stripPrefix = 0;
   sha512.run = "04a6c644b9235dce6495c46e2bcc093c03dfadf279d354c8b43b81a0b4a14daae71e7105642bcc95025c55ce92094c01292be2fc379e6c0c720aaa9b5a21ca9b";
   sha512.doc = "22249061d4340939e597d50a5ae4c09f8b4514ddcb0862003ec7fff7006bebb207b5926ffcc0d723190b409435279c815a5880c6fc989294f26098c3db15d1d4";
@@ -1934,6 +2128,7 @@ atendofenv = {
 };
 atkinson = {
   revision = 64385;
+  shortdesc = "Support for the Atkinson Hyperlegible family of fonts";
   stripPrefix = 0;
   fontMaps = [
     "Map atkinson.map"
@@ -1945,6 +2140,7 @@ atkinson = {
 };
 attachfile = {
   revision = 42099;
+  shortdesc = "Attach arbitrary files to a PDF document";
   stripPrefix = 0;
   sha512.run = "526a279f3fcb309cb117327f4206e7dce8c49d39b85a846799bdfea5bf453d2f00e14e854a74d544e49fa92ce056cd8ccc7e03f56856a8e8562b7105d5fd19fa";
   sha512.doc = "9f9e6572e70d348e1db71254a0c6a80cfe76b767801a3c18ad4517577b793b5388367b24f311f491f0dde8df38684b3de4a2ec7e6db67f1fc1ca7b4a9ce5ce78";
@@ -1955,6 +2151,7 @@ attachfile = {
 };
 attachfile2 = {
   revision = 69505;
+  shortdesc = "Attach files into PDF";
   sha512.run = "d741265618d75ab69a28983338276abb51382d797664bb9aae5876e054307e438b854b1981245a49b3b00052dfe6144993a465e56f1e9e1abc142d9dc78512de";
   sha512.doc = "423718fc61b589d83da1cc0188667c8253b19d9a255f867a8c8a56e812d2fd04046aa5859657a0af88d5c377dc0b0f0fcb2ae8058e7e69ad9ef2099d0c8a7d5a";
   hasManpages = true;
@@ -1968,6 +2165,7 @@ attachfile2.binfiles = [
 ];
 atveryend = {
   revision = 53108;
+  shortdesc = "Hooks at the very end of a document";
   stripPrefix = 0;
   sha512.run = "2a546be6d2109de9db60e94bea3a63a3c7af8ae892c8540a1513fbe4bfa505dcbdde9913b7a4449727df0ccf6957f8010c5b76abd8d6310c118b269bdc7334e4";
   sha512.doc = "5c5948ab7f0ca213bb5fe3ae056cddd392461911e2af7dfff133253f6aae970d525fc752f154921de2186c8a443fa4f90b18d23896a016ebc9ea177d6826613b";
@@ -1978,6 +2176,7 @@ atveryend = {
 };
 aucklandthesis = {
   revision = 51323;
+  shortdesc = "Memoir-based class for formatting University of Auckland masters' and doctors' theses";
   stripPrefix = 0;
   sha512.run = "54c6708b343c2605d7779561fb086b914f1a7a825f5556b4a36faee0c8ad29b1c8ed67eaffae223c5e5d47bb6e6a9aaae4c0c658debb7bfd196d9362ae7b8796";
   sha512.doc = "ae73abe45b0aecd033df666f3095486fb29252449e840e9a978cf916a2eeec4a126be8c3ec60379408bd6f7322c8794ba1fa3bd77e45f1723affa18ec109d93e";
@@ -1986,6 +2185,7 @@ aucklandthesis = {
 };
 augie = {
   revision = 61719;
+  shortdesc = "Calligraphic font for typesetting handwriting";
   stripPrefix = 0;
   fontMaps = [
     "Map augie.map"
@@ -1997,6 +2197,7 @@ augie = {
 };
 auncial-new = {
   revision = 62977;
+  shortdesc = "Artificial Uncial font and LaTeX support macros";
   stripPrefix = 0;
   fontMaps = [
     "Map auncial.map"
@@ -2010,6 +2211,7 @@ auncial-new = {
 };
 aurical = {
   revision = 15878;
+  shortdesc = "Calligraphic fonts for use with LaTeX in T1 encoding";
   stripPrefix = 0;
   fontMaps = [
     "Map aurical.map"
@@ -2022,6 +2224,7 @@ aurical = {
 };
 aurl = {
   revision = 41853;
+  shortdesc = "Extends the hyperref package with a mechanism for hyperlinked URLs abbreviated with prefixes";
   stripPrefix = 0;
   sha512.run = "4688987b83ae65e15a74cb7960dc990710930186ec94e376cc3a74dfec9f6d75a51babd99438ff87a5f6f8e05cee483b569fabe627ef00fb892126f74749649d";
   sha512.doc = "a58f7cbbae262c7650bc5147b400f25f0c666effdcf37e565f665092d1cff820d2d98652947d36f6940b8d16027336b970ff88ecd9f3500d9a39a45eb4a19acf";
@@ -2030,6 +2233,7 @@ aurl = {
 };
 authoraftertitle = {
   revision = 55889;
+  shortdesc = "Make author, etc., available after \maketitle";
   stripPrefix = 0;
   sha512.run = "b7496b1ff5dc7544afa6e2181b9c86814671d42603c1f9aa08cc6d45e02dc402e225c44fe554649251b8cdb3dfd81f1b0fb245cc8ed56204d2bcad16e5e9f9bc";
   sha512.doc = "a1cda29730615ec8b81082f14462c5864033e1b4cbe0b071e5cdc6d9b5393b2e701ba6e6665963170bb99408f03c8fae38fc17aeb2de83fe9c8fbdad8273482d";
@@ -2039,6 +2243,7 @@ authoraftertitle = {
 };
 authorarchive = {
   revision = 65777;
+  shortdesc = "Adds self-archiving information to scientific papers";
   stripPrefix = 0;
   sha512.run = "d5695336d18c4b84ef2b611b9ebcf502a974ed884625a2296666fdcf54a757f6682c0f9689713d134c033b1a9cf743218c02b05c0b2217c5c2ad5eb5d29f21bc";
   sha512.doc = "e8ca021be201da6cdb5ec980f3724d38d3cf4c5fa4be8fd08b286ed9f0ccf2db1f0b8e3f14e3cf6a591afa4c71ca4cf3f962d7a09466000377d51745b6600501";
@@ -2048,6 +2253,7 @@ authorarchive = {
 };
 authordate = {
   revision = 52564;
+  shortdesc = "Author/date style citation styles";
   stripPrefix = 0;
   sha512.run = "c67f75eb92a937755ef0a1ef0896ae3cc1c256008d864572503d3e9d3be1321d25be59e76d4d3ae443398612233a328b1d6e2da9c103f41b30eb088208701308";
   sha512.doc = "156fec304fa95388fdbb386153482016a4d78d4862943bcd6124466b12df920498d5b42446465fc0f70da6353f58c329a27a822efb5cca8f0c4d7fdcb3239a02";
@@ -2056,6 +2262,7 @@ authordate = {
 };
 authorindex = {
   revision = 51757;
+  shortdesc = "Index citations by author names";
   sha512.run = "75e35298e4839f3975824624c7367504a26dafdf4b8e1d5238e2575c821f652282cd9a6e58fb4296b2c0345ff104dbd2281135776718fe4d2ecb76110946ab9f";
   sha512.doc = "a6c48d89cfd854d8acae47e318bc3951f8e81434d9a81901c8a7b7f1c25188afb013b94780ceb201e81b5d10efb7f5c24f5b5e4c8d8379aba390431707bc4d55";
   hasRunfiles = true;
@@ -2066,6 +2273,7 @@ authorindex.binfiles = [
 ];
 auto-pst-pdf = {
   revision = 56596;
+  shortdesc = "Wrapper for pst-pdf (with some psfrag features)";
   stripPrefix = 0;
   deps = [
     "ifplatform"
@@ -2081,6 +2289,7 @@ auto-pst-pdf = {
 };
 auto-pst-pdf-lua = {
   revision = 66637;
+  shortdesc = "Using LuaLaTeX together with PostScript code";
   stripPrefix = 0;
   deps = [
     "iftex"
@@ -2093,6 +2302,7 @@ auto-pst-pdf-lua = {
 };
 autoaligne = {
   revision = 66655;
+  shortdesc = "Align terms and members in math expressions";
   stripPrefix = 0;
   sha512.run = "b590b6f43bf17d54595c3adcc6de0e5c6780efd8ee68efaa5c2990f3e9e79ad6844397d6c7695d3ab66d72d4eb592c1455e4234f7a40efdbf4c788bc45216442";
   sha512.doc = "d043ed183b3e30d35f7d4e6a5b5f094ae5bddb4e2265294c02c0888cf2e78fceb16b14cabb5b5d759b5397f58da1111d5fa590aab89a59ce13e3e13fb2e3dc91";
@@ -2102,6 +2312,7 @@ autoaligne = {
 };
 autoarea = {
   revision = 59552;
+  shortdesc = "Automatic computation of bounding boxes with PiCTeX";
   stripPrefix = 0;
   sha512.run = "dadd69326335b6fe6e425a867e2e62a0b1df2f3179801bcc726c6ceebc15c24e3a7c9ecb3034209e25e503be47a9ad8639addfb628f720bd0c0d64c15177043d";
   sha512.doc = "1b0f6ab0c7b1c69b7a802e9685db50e6b54361acf68ce2c2803419b165be1dd01f52a5b3fa9ccbe273e859509f7b7faa0c7c6b88bfec8f51f0bb66adf7b94e90";
@@ -2111,6 +2322,7 @@ autoarea = {
 };
 autobreak = {
   revision = 43337;
+  shortdesc = "Simple line breaking of long formulae";
   stripPrefix = 0;
   sha512.run = "91cc17692654270bba9536ea9186ffea2e7e9a6e9dbf0ffcd9821c8b3ec470ea3222af2a1df05d85e47d65fc1737cf2dbeba150641355bf826e5ad2da90db059";
   sha512.doc = "0d06f75e6f4fb254463ee2a075d106c14a06c5f7fc25b5047fbeec0e48ca9faf6e136f098312811329db1da5f9fffb6dfd45abe6eea9ecf682f4fe99f0384178";
@@ -2121,6 +2333,7 @@ autobreak = {
 };
 autofancyhdr = {
   revision = 54049;
+  shortdesc = "Automatically compute headlength for fancyhdr package";
   stripPrefix = 0;
   sha512.run = "3ee2452c80ba671414a1669e0c47c7069189dcc0dde97bb33f94e77251b2ac8511b7cb79fd5866c2d3acfbe7768e20f715e61a6303a847ab82564743fb8d2a2f";
   sha512.doc = "1fc9ac9d47d65eecb1a6736aa5fb148a6309fa64cd18053b038483d484f974f3f1aafe8afb03b88921ab5a990b78a2aa9dc6d7149884a550c57340218f72159a";
@@ -2130,6 +2343,7 @@ autofancyhdr = {
 };
 automata = {
   revision = 19717;
+  shortdesc = "Finite state machines, graphs and trees in MetaPost";
   stripPrefix = 0;
   sha512.run = "09026f967084d5f1804a32166e854ac410a768f6b4654d9ea9bb69dd29acb8a3199919daa1fd6dd48963ea5d6454b9b9d8263939e5af81a8f07f66f08b5f4835";
   sha512.doc = "49c6515e979a87ce270d32b367c5800acffa4b638a8bed3e20f3e74387c2e7ee4ae0c2ea8b232e2ae57d0d0a730424d18911835581c0c274732f3d36f650693b";
@@ -2139,6 +2353,7 @@ automata = {
 };
 autonum = {
   revision = 36084;
+  shortdesc = "Automatic equation references";
   stripPrefix = 0;
   sha512.run = "3a663a53b4b4b53515978460dae1ac275cc4e3e6981b008c78b875e3e47af8abd950cb35f6e416ab02507e498bd75d6f4a775e2b429d668d02ebaa4bfdd03f25";
   sha512.doc = "2d0c515fac8afb219aaa1ee270b30bac09bcc310afcad71ff6ad2a3448187733718c03c304c09a0d631595d36043dc3eb0b6849fce0e4c3bf7f5d249b15c99c2";
@@ -2149,6 +2364,7 @@ autonum = {
 };
 autopdf = {
   revision = 32377;
+  shortdesc = "Conversion of graphics to pdfLaTeX-compatible formats";
   stripPrefix = 0;
   sha512.run = "f855fbe477986356d34360876a4a6613638255e234ad0210cb035a1f3a9b9b827ea140654e2001aa29ac09d7b8addf8f872d34bdb4d1700ead2f6e6f083cb2a6";
   sha512.doc = "d2c2ecf193f03f4f568d2304128e50f5cb5964a6c0a2ca8b739c59b9d3e80637134b5ca91e1b5c1971db11eb54a086b3eb888b6984050dbffa22a166c6757e39";
@@ -2159,6 +2375,7 @@ autopdf = {
 };
 autopuncitems = {
   revision = 63045;
+  shortdesc = "Automatically punctuate lists";
   stripPrefix = 0;
   sha512.run = "d41c5054417b511487beedd379f480f3869e67b747339837df5bf029b58171791ac8cb1c7bcaf5301822ba9585138d68af5ca080672d4ed1026086519fea1aec";
   sha512.doc = "9c88cdb757a53e89bf7625fad0623154ea6101ee8c9cff2679698d0f6144d98a6099a68ef3fb1a31e99e7dee92572e34654321e44496e863f1444feab8a6cb1d";
@@ -2167,6 +2384,7 @@ autopuncitems = {
 };
 autosp = {
   revision = 58211;
+  shortdesc = "A Preprocessor that generates note-spacing commands for MusiXTeX scores";
   sha512.run = "67587e8b456257be9b924a5bb8c8f4def22fa9aa9678663975ef74e346dc186ae7848a9dc043733cf1244f254750ef4f34204575f62195d4b966ed8336781bce";
   sha512.doc = "2905669b9e2b61749cb7b1eaa02be889c4e8d8adbd78b126e7ee6d894f24f623c888a24abac1d163f3332c5cfa9cd1f64d0de95200350b88a7f47faeacb841a6";
   hasManpages = true;
@@ -2178,6 +2396,7 @@ autosp.binfiles = [
 ];
 autotype = {
   revision = 69309;
+  shortdesc = "A LuaLaTeX package for automatic language-specific typography";
   stripPrefix = 0;
   sha512.run = "f7bbb705f28bd5f546125118c48fcb2e02043ddec76ace5866206a3b047448740db06537d969584197de375bc195a8ac5712eda8bc00633befc102eee7c4e538";
   sha512.doc = "a64c7184ae642968af2ff85a08634b04d526051f798c16a2d3ac1c42f7a948de11fe5b83ec9d208733a7e2fedb190c5175bd253d811c9a6838a5a3ee45768317";
@@ -2187,6 +2406,7 @@ autotype = {
 };
 auxhook = {
   revision = 53173;
+  shortdesc = "Hooks for auxiliary files";
   stripPrefix = 0;
   sha512.run = "8ea845a19818df2df7939031e7b251b4b4d99a17c0d1b8177a592275bed6efdc660266964e0639222b86cfdd897bcf13302f1477b997ea1a06179cdd44aff0d1";
   sha512.doc = "7c4f850d93f8a6d25a35e762bdb2df26384c75ba1cbaba06806964737badb2f7c8ba3192c62df7e7f3de12c6fa117ebc525c735e696a9cafdad943a8cfeedabd";
@@ -2197,6 +2417,7 @@ auxhook = {
 };
 avantgar = {
   revision = 61983;
+  shortdesc = "URW 'Base 35' font pack for LaTeX";
   stripPrefix = 0;
   fontMaps = [
     "Map uag.map"
@@ -2207,6 +2428,7 @@ avantgar = {
 };
 avremu = {
   revision = 35373;
+  shortdesc = "An 8-Bit Microcontroller Simulator written in LaTeX";
   stripPrefix = 0;
   sha512.run = "2541e80c0dd798675164cace381730c75268d5385883163b67230d49022f16c9ec72a77d602e8b5094db31b1d3aef2f0f71da91ed2f7eb7fe1039117f7488cf3";
   sha512.doc = "12c97e23dc853a971b27258a7666753d019620e832a06b10a49a26f0f30d7c6fde83c0e328e1579b62376f2e9cd10b0b3950fd6c4ca89041a988fedd4c604acb";
@@ -2217,6 +2439,7 @@ avremu = {
 };
 awesomebox = {
   revision = 57349;
+  shortdesc = "Draw admonition blocks in your documents, illustrated with FontAwesome icons";
   stripPrefix = 0;
   sha512.run = "4984d58669576137746518b68988fd9837b5ef133eb8da948f67bb0d5f775ad961055871bb46084e420ef0564b6a4796ba81a093be93f667f959a45ffc0c6174";
   sha512.doc = "eec717fa5bb5a0f0d15cfc39d2172f8818718f6c7037fe962a0e811c131cbc91d3f3167077ec413d565e6b0b782f5b3f77b38257caa6529a6f5db7da8e163c3d";
@@ -2226,6 +2449,7 @@ awesomebox = {
 };
 axessibility = {
   revision = 57105;
+  shortdesc = "Access to formulas in PDF files by assistive technologies";
   stripPrefix = 0;
   sha512.run = "9b42a40556f3432e045ef35b23fb7fcb6ff295064645e5b9331d0ce99a8f2bd232d0926b46eacb5598da112dfcf3673225efd655573523dd504767a06a42686c";
   sha512.doc = "f3255c9d6b1eb75a501e5c36cece49cb72767e467c0853465d2b8a39f011138d7154eab2fa5287f9223b4f535aad5c2db25d2f76c286376499c71d0ffd120699";
@@ -2236,6 +2460,7 @@ axessibility = {
 };
 axodraw2 = {
   revision = 58155;
+  shortdesc = "Feynman diagrams in a LaTeX document";
   sha512.run = "bc9923a9614ef9d7bece20e682729347dc942470a927b40736d6868f02867408b5fba51b117edd8745f96df23b9c1e93792d321291db13b7fdfdae0ee32bb7fd";
   sha512.doc = "927e42358d543f46ccabb8184e35b6f0a5848783ce9eea09e6c780fc83955d5f37b998254153b1954cf1a59be6cfe573a6c79c2c328ab2a22a6e5f6764a50fa1";
   hasManpages = true;
@@ -2249,6 +2474,7 @@ axodraw2.binfiles = [
 ];
 b1encoding = {
   revision = 21271;
+  shortdesc = "LaTeX encoding tools for Bookhands fonts";
   stripPrefix = 0;
   sha512.run = "b33280f64e37f300c92f9bad4372c13dd34e3dbe5fe47f2dc9fe0e270f33eaf5bedf9485293a74a6e0eb87b65f44fb66a286fb279a3d2c390c463e6aecfacb57";
   sha512.doc = "4bfac8bf2a00dc61a007c10654cb7fe539c111170127934cd3a64ecea9ceed3fd04ac249cbd645d89400bef6f4a3527d1db04baa88eab88eceee2edd48e64393";
@@ -2259,6 +2485,7 @@ b1encoding = {
 };
 babel = {
   revision = 69742;
+  shortdesc = "Multilingual support for LaTeX, LuaLaTeX, XeLaTeX, and Plain TeX";
   stripPrefix = 0;
   sha512.run = "31b2c697f13df80472f5a209bb3b23ab7458e99c7329728ce767c1c116b7706465928541bb5b2f749b6e6d1ced4f43b92dd432e42c03660d18271a1bb243b2e9";
   sha512.doc = "fbe053f25e6db1df9856c03813070842dac62bb9e4e541a8ee29e990ea52017824cb260d8fac4f8a9002d8d07b3dc0726795659b73e7c58db3c9f6b8b84c8b05";
@@ -2269,6 +2496,7 @@ babel = {
 };
 babel-albanian = {
   revision = 57005;
+  shortdesc = "Support for Albanian within babel";
   stripPrefix = 0;
   sha512.run = "8a98ba1dc08bc2bdbba0793bda2a07a6c248543fdee56cbb047229d1cfe77cdf616c0ef023b0a74f877d9863768065f0e256ba35a1071e0dd3f2bbf2b47b7ebe";
   sha512.doc = "d26b9d933bbf0225f79bd8180f9dcc2961ea481fef7b535267034296062f8879b53ca47ed6b512fc724b261276be6d92ce045ba0c8bbdba0149cca6f117be8ea";
@@ -2279,6 +2507,7 @@ babel-albanian = {
 };
 babel-azerbaijani = {
   revision = 44197;
+  shortdesc = "Support for Azerbaijani within babel";
   stripPrefix = 0;
   sha512.run = "3f20954607195d4804b4bd90d7fe5baa209d5ffac6dfbe5f758306bb7c8aedd1c4c92675f5dce7f634e7ceb2b65e9c3ead0ebfef730bfe2dbd8c0ba17d3079b0";
   sha512.doc = "bfd4434720b9676e253f69144aac9a07d6bd19e3a4418ae74269df70085391444ac46556928f131a14e85b87211fd76521b67a457e7319eedd3781a215efd962";
@@ -2289,6 +2518,7 @@ babel-azerbaijani = {
 };
 babel-basque = {
   revision = 30256;
+  shortdesc = "Babel contributed support for Basque";
   stripPrefix = 0;
   sha512.run = "40079f02225f81c8838aee6179548f3fcb773fa8e031e07f30df761f298b9980e3a4357a8013bd7802c688a192cd9ef2102be1b6e8e1f3efcd68769a9e5a5a2a";
   sha512.doc = "e6342328d62cb0232d38e10b3b38cd4d75c55a5d31d702c167099a2bd4122e40c5e3cac8a9c2940a9f9893d7aa2594b8322cf469924b97e903cab970dee81c6c";
@@ -2299,6 +2529,7 @@ babel-basque = {
 };
 babel-belarusian = {
   revision = 49022;
+  shortdesc = "Babel support for Belarusian";
   stripPrefix = 0;
   sha512.run = "5856582f8bf6a98a4fbd560bfca82ccb226267e249f0caf8afc775875d50ec204ea613320534a63062dffd0e050905adb24763a95fec2ef4e8faed70a400d976";
   sha512.doc = "247d5a3b99cd5a377534a94fedf47f6710d32d875d3208b1516fdc9acafee70a14ef1dc37600f9da53f806323d0519ebb2c4e288e471363756b7b819751373c8";
@@ -2309,6 +2540,7 @@ babel-belarusian = {
 };
 babel-bosnian = {
   revision = 38174;
+  shortdesc = "Babel contrib support for Bosnian";
   stripPrefix = 0;
   sha512.run = "bef1defaacf5232bf9cce6c1a9956c9a42d35a2c2b6ddccbcca3938386f4f4a61a0cbcba74b930dfad18ed211374c3667120c6706ebf097c56ec3c5915ccdff2";
   sha512.doc = "84238e6b38021582de93e9fe934bf608e647c9b4cc0a066b4fbdd2ba98c8e6531b653907f9bcfb79e6afc9074b4a079b5e419db25625d40a76a8ca8e55e81ab1";
@@ -2319,6 +2551,7 @@ babel-bosnian = {
 };
 babel-breton = {
   revision = 30257;
+  shortdesc = "Babel contributed support for Breton";
   stripPrefix = 0;
   sha512.run = "bbcfa22674ca1d4a8e23f179480f9e94a50d5b460b8b0d27365c9166adc02a191253ef2d61d6f5eaf5bc61e73faf5d307378898f1d6b1b748448bbd8a36ea141";
   sha512.doc = "3b47653b26901dd4aba1395c61c9dc01d43ed490c70ca04ba7d1cc67ba7b23b658db32b7a5fef085b236a68bcd009dc5cc5687e3dc2dc8d246ab2ccb8d391b42";
@@ -2329,6 +2562,7 @@ babel-breton = {
 };
 babel-bulgarian = {
   revision = 31902;
+  shortdesc = "Babel contributed support for Bulgarian";
   stripPrefix = 0;
   sha512.run = "0c838e5c5cd010fddaec385376f9eb5fb10730e918dd28f58987f855a444d91ed2e66c0de46c74637d134d72f7e348e538836df33f6255a14ed51d0e8d5e8a3e";
   sha512.doc = "4dcd92a2088e737972f0663fe5161883cae901dc82aafd1bd33f2d80a852fb51d6229c95cc655826bd17599a7152b8a7bf0031eb046530a135e8bc5c9c74b2dd";
@@ -2339,6 +2573,7 @@ babel-bulgarian = {
 };
 babel-catalan = {
   revision = 30259;
+  shortdesc = "Babel contributed support for Catalan";
   stripPrefix = 0;
   sha512.run = "728d847331f1a00766cfc2818691516234b153182f31ad2da024ec3194cc384a41ca89cc67ce66447191188dfe088d1dc4c8af3b2e6952931ec7eb58737c4bca";
   sha512.doc = "3184373d85b1e9bd76588318372ced328d2ce7f6d4f45bc5634671a88314d1ed18cedd968e59dd5203b4d77e6d3576f36a654b1a8bbdaa106d47cbdfb825e452";
@@ -2349,6 +2584,7 @@ babel-catalan = {
 };
 babel-croatian = {
   revision = 35198;
+  shortdesc = "Babel contributed support for Croatian";
   stripPrefix = 0;
   sha512.run = "b5724a84cd180e9de79136ced8bd38717dcb4e932dbba4e20fc071ba9f50fb35cebe83d4a95ec6e8ef0e09a02732cbdc8b1a71715c8a5967393f54087ba4a807";
   sha512.doc = "d5e40e95037c3035589b093037c563b3737e061369f27ff5c51d620e0655dd075f413b91434591e2130849d641c1ac59469db46be1d8b0761075424c468668d2";
@@ -2359,6 +2595,7 @@ babel-croatian = {
 };
 babel-czech = {
   revision = 30261;
+  shortdesc = "Babel support for Czech";
   stripPrefix = 0;
   sha512.run = "0cc0f07fafefa6d7ea1ae1b2ce143dbec124fe96b36221f1b5a847fd0b789d1974b5990ebd93b8ac0607f63956948bede25c7e690784ca7e9638f48139585a32";
   sha512.doc = "1575fbe0d70725e975cdb0c1c5ca685985d91f23e4a997af4a0db21905ac34962f69653ffe4084065bda70cfbba0f0a1f0885d3afc19e98d0045ebb68cb545c3";
@@ -2369,6 +2606,7 @@ babel-czech = {
 };
 babel-danish = {
   revision = 57642;
+  shortdesc = "Babel contributed support for Danish";
   stripPrefix = 0;
   sha512.run = "201afcbdb9b8d9128cece15ac8876e8d9bc261ab6c90745e52a95bb58fefea0b478a623027b097875d831fe5671f8f1f16a2370dc0dfd92ec3e603436e366e1e";
   sha512.doc = "5ed050c01207e110c475abe825e5299df0f7927476141d81cb31fcc8c6dae1076e855d3590aea0812bc2a15949231163c24f0039620f3a8f41cd43bd6a8a0840";
@@ -2379,6 +2617,7 @@ babel-danish = {
 };
 babel-dutch = {
   revision = 60362;
+  shortdesc = "Babel contributed support for Dutch";
   stripPrefix = 0;
   sha512.run = "bef13adf26cbbd16604af041fc7af866c82e88cd9d7d05318abd10f7d6f0ae718e1186f5527b4b38f1f099ba5da3d85b5e2f6d1ac0dfe8fe64ea52fcf6f06df1";
   sha512.doc = "a78535f95bbbf6228014471a473a7e38b2cfa2da0160adb906b8f75c803b3e9396ca52322100102bebc179ec1e863a78c1b102ae932ea324ea58fd57bf9e9b06";
@@ -2389,6 +2628,7 @@ babel-dutch = {
 };
 babel-english = {
   revision = 44495;
+  shortdesc = "Babel support for English";
   stripPrefix = 0;
   sha512.run = "f570d2aae8a97ba0762fc1eab75dad1f17c4ac582a351ffeb8e56a136b789a38b7a6519247ba5981385f1a093101542942b3bd073a5097336392929ed40c9e39";
   sha512.doc = "77d6b482407ff24095b1076673316744374e66bdbdd7ebb767ec66ccdccd6ed5bb27ecfd0796eee210f1a888c82ad2eb4b9d2142c427bff137bd139c4cc53ec3";
@@ -2399,6 +2639,7 @@ babel-english = {
 };
 babel-esperanto = {
   revision = 30265;
+  shortdesc = "Babel support for Esperanto";
   stripPrefix = 0;
   sha512.run = "0c3be27d02d4c3157f2b0df0950e0814db3ffbdb2553d2c0f176893f3669123a9130874e93edcfd86480b785bbbfda35f9246dac3b4a0779da51387b0bf12ee8";
   sha512.doc = "166c1b59511b5a01cac11b5cd76c84cfa485c2674b390a167ff165bec1326709437ee843f664fd4ac9e61338481df9e7f3026189f7c29c71778dbd1df98cd35f";
@@ -2409,6 +2650,7 @@ babel-esperanto = {
 };
 babel-estonian = {
   revision = 38064;
+  shortdesc = "Babel support for Estonian";
   stripPrefix = 0;
   sha512.run = "03357f8b0c101e5e186fa4211a971e625f6970a3129a2594a611c74b77b36a27a288d2da518d21e6e2e5d98bb82802b2115d47e31e6258f01c003be854090baf";
   sha512.doc = "ca732f4b6ccb9ae27f99aaabc99037d9f3d04bc170b9a8bb189a81b6bc9f55fd757c5755bf51ff423850f6b45c88a5645f75a462fc9d9e9b989fa04c1a2cc7c1";
@@ -2419,6 +2661,7 @@ babel-estonian = {
 };
 babel-finnish = {
   revision = 57643;
+  shortdesc = "Babel support for Finnish";
   stripPrefix = 0;
   sha512.run = "ed0dc79fbf6cd992bb5ff3df46f93203ffcb3ade34c6a613b5b22bf5effb98f78fa85d9b915130b304df71629c5a8bd68a4bab23ee772a1068f7184fa27051e3";
   sha512.doc = "c96212780651c9c0c831e295c26f678c80724e5b923d69fc73bc1be39e369a19243b42e5252dd4c0a049fa0c4d25dd611bd470b12a4b55dec4520d016c21a5f1";
@@ -2429,6 +2672,7 @@ babel-finnish = {
 };
 babel-french = {
   revision = 70261;
+  shortdesc = "Babel contributed support for French";
   stripPrefix = 0;
   sha512.run = "5a0ad21862209980813cf8b6a89884ca977bbd2036b3e9c6217d2ae0f69f4c0e9567bf07afa4c9e75cdc6959b3169f270de38c9307c531a44b5ba07707c2e1e0";
   sha512.doc = "2af045bb96ec288d4c314da7a3ffe82c3bb3e82ca0919a272fc43cfd5946a379f951c4a019c93f0af07da647c852f25af2f026310a435a82c0888f96c84cc263";
@@ -2439,6 +2683,7 @@ babel-french = {
 };
 babel-friulan = {
   revision = 39861;
+  shortdesc = "Babel/Polyglossia support for Friulan(Furlan)";
   stripPrefix = 0;
   sha512.run = "e6210dc473c3d71759f2faf1558df2d6a7c646485d85cf0113074fb68eaef23b2e44eb88c9fd35a7a7929b408d6574f7230852643366bccd29afee744e0b2d07";
   sha512.doc = "0ce539cb0b6cc7af830c7413545f411e1291491fb26ad0451e7caf1346da9ab188a457e3292efe9724070e77f67e46e06293dbfb40b78a1328112b04d4a1fd77";
@@ -2449,6 +2694,7 @@ babel-friulan = {
 };
 babel-galician = {
   revision = 30270;
+  shortdesc = "Babel/Polyglossia support for Galician";
   stripPrefix = 0;
   sha512.run = "1c8aef52e0eaba8a55e6c0bdaca4ef47012012a85d38ed268207227063d042f2f0b2cbafa3d1e4d71432e3ea6effd2a781ab0aefc536276de36a95d0dc834b68";
   sha512.doc = "a60ed8ffc43cb56aeafab8d09e8235eea9482ff8cdabc00da68938d980b20a7067da3286fa8ce19eddf9276b51e78dd944545cb8bb891bc13c31cffbab39544e";
@@ -2459,6 +2705,7 @@ babel-galician = {
 };
 babel-georgian = {
   revision = 45864;
+  shortdesc = "Babel support for Georgian";
   stripPrefix = 0;
   sha512.run = "07adf0a76fb15951db5dd01a0a1595aa9c8119d6e39e94eb36ac340932f763975abe284d738a52a1fa2a938a14f87fe7ede10758529c3f68c6d573dbccbcbc82";
   sha512.doc = "b2f45e828e32fef5e4ac130230050f035ec69607c97562a835ef2157ccc6673d4ae452624d2d1aded3552eb71d85d971a7e35d9774ad7b6e4ca7a8e0a71e48c1";
@@ -2468,6 +2715,7 @@ babel-georgian = {
 };
 babel-german = {
   revision = 69506;
+  shortdesc = "Babel support for documents written in German";
   stripPrefix = 0;
   sha512.run = "372ba15d67ae4a5299a8d193d4fbe1c01a89db686c4d152ce2fef05088be63e7d85a7cf4fb712629d1ec8b21517bf3881ad3de947e03e127af940714a6d059ec";
   sha512.doc = "e4ca225a4fcb681c0b59d833fcc8a3781f1315adaf26e7db62f85aca145028f9f5f3bc7a19b7909220ebbbcbd25d2fdf2136d0f1ff5a5823e63c3362a24d9750";
@@ -2478,6 +2726,7 @@ babel-german = {
 };
 babel-greek = {
   revision = 68532;
+  shortdesc = "Babel support for the Greek language and script";
   stripPrefix = 0;
   sha512.run = "f81c220447f77f207dee02a5611edb3dfe68fb775abe932efc560de9a268570e688b3abe4eb3dcc094ac0c967360d52be02bc85c82daedcf173bcda269065938";
   sha512.doc = "deb5a889b55a93101ee4c8571dabf00f8f971a6a27c2531c9e71a74e4b972ac1fe3efc6a336a6f0a38bb746316ba38881fcb2b4a90b64fdb5fa1fed51a7d90a0";
@@ -2488,6 +2737,7 @@ babel-greek = {
 };
 babel-hebrew = {
   revision = 68016;
+  shortdesc = "Babel support for Hebrew";
   stripPrefix = 0;
   sha512.run = "7feecb0fecb5ba203e494c9ca8810c7e58df692617c7ef1e15128bc3d2c947fda90267c21b0dcb2743b18fbcc120da2a0f1ca0ba76cb74cb2e53b3039dfb1c5d";
   sha512.doc = "849c598ce07421613bb7dbdcb1893efe5facd807e5ad54a507d62054119113f349e60186258b7a60bdc695d7fae757ae65d64e7bec68710046a4247e52510523";
@@ -2498,6 +2748,7 @@ babel-hebrew = {
 };
 babel-hungarian = {
   revision = 49701;
+  shortdesc = "Babel support for Hungarian (Magyar)";
   stripPrefix = 0;
   sha512.run = "5b05fe625155df3a958eaf44dc55190fff60ef356d40e681870ff27adbeaef1dd2b27402d9058d27dec665dbe9127d43a2e07ad02ef5a546c2e77479453678b2";
   sha512.doc = "696cff23cc5e2c32034729385c251c8dbeb5f78d11c0f8a0515af480f7a9b5fc5fa6c07d216c5078d5f1c4e71cabe093f023f294dbebb6b203337da9423a438c";
@@ -2507,6 +2758,7 @@ babel-hungarian = {
 };
 babel-icelandic = {
   revision = 51551;
+  shortdesc = "Babel support for Icelandic";
   stripPrefix = 0;
   sha512.run = "46aca093e061948272d2a54ff9f95b94b101582f0ec9d795668983c37b518be3c3d76d2c8e6901126d3dd7342db003589bacce9a40cfd573263a953bbedbfc48";
   sha512.doc = "bc859f01f52ad51da7df9d458e507b62eb69e40e1dc39362ff32ea8ee8890acce8ce49120fce967f321c9d674f4334c62c9bf2b3f8017288b724ecfe3943d667";
@@ -2517,6 +2769,7 @@ babel-icelandic = {
 };
 babel-indonesian = {
   revision = 43235;
+  shortdesc = "Support for Indonesian within babel";
   stripPrefix = 0;
   sha512.run = "9e42cb144d53dc0a076afffdbcd2adb7bb55cbc58feb77916e02beebfd1833fa308a0c78d0c26e1d187386b60572381c881da083c73ac8fcc651e77af17e2093";
   sha512.doc = "c4f86b646d67ce4b29e96771ea5657e352ee7633c344f24552a2fde4c387aea41f9694d77114a1454b106646d12d30b277fc9de589d3d4b666b00208978f5bb9";
@@ -2527,6 +2780,7 @@ babel-indonesian = {
 };
 babel-interlingua = {
   revision = 30276;
+  shortdesc = "Babel support for Interlingua";
   stripPrefix = 0;
   sha512.run = "e562cdb5b7cc35d14f4696cd3b85c6578a4daaf7899bf684026e50ade2113ee2314405756dd5f6ab91b6faea4da59a3546e30a18ba77037eab581ae3c98b044d";
   sha512.doc = "f2f86fcb4a132a9c1f5c65007c8f1662a8498a53f265cc778ad3ba33120a97317aac890c1ff72cc6b94727d215937352ae268cf51344053bec6e0ee5687d0f69";
@@ -2537,6 +2791,7 @@ babel-interlingua = {
 };
 babel-irish = {
   revision = 30277;
+  shortdesc = "Babel support for Irish";
   stripPrefix = 0;
   sha512.run = "d9b1486da57f9685e136e14adc61773ec0b3a58ade370da8383476862ad798f26609329d445ee6dd0c6419c98342b720a6880939324d19f67e1528fe99ea3692";
   sha512.doc = "f5dd55c6a527cf19eebe492271d1404be3c995cac004d41160522c6c71e4a4636c32547fd64b93beae41b60d8a48184ff9b498f82ca0453bc72b601de3d66cee";
@@ -2547,6 +2802,7 @@ babel-irish = {
 };
 babel-italian = {
   revision = 69298;
+  shortdesc = "Babel support for Italian text";
   stripPrefix = 0;
   sha512.run = "39c9a5b40215874e74a86d3f994900e1dc3f5c1d0067b5bec224b5ca997a2bb254b914c9a15888e896e73908be5cba309a8da82fa12d797c12a93037c245256c";
   sha512.doc = "ef2f87cfb66fff50fccc3ba4eec0f1c778765d49ac2976561f4963d9e12f1b2c486459827a44e66fbb42278fce72111d9aee373c1395f0532fcc42ab5efc5ad2";
@@ -2557,6 +2813,7 @@ babel-italian = {
 };
 babel-japanese = {
   revision = 57733;
+  shortdesc = "Babel support for Japanese";
   stripPrefix = 0;
   sha512.run = "dae227c586eea1b56fc88937f8a99803994622c07cf54290ca1b5ef6cbfe53ade8aec7064820044284cfd70fb6ee2ba908bbb74dedb54bf3c2f0085815c7eb43";
   sha512.doc = "cbcda3267222cbf5c38d8e7e8ea5440b94c3d7d0ca70b4f635b0751e824c690a4d495f0906b0d646de5f1ee08c74f72482020baf99d39ad0089002d5e523ccb5";
@@ -2566,6 +2823,7 @@ babel-japanese = {
 };
 babel-kurmanji = {
   revision = 30279;
+  shortdesc = "Babel support for Kurmanji";
   stripPrefix = 0;
   sha512.run = "bbdd05e7106494f23892f3455ad224d3deb1881f5a73720e2c73e7401514fed324484416def64e2e8fd7c2416b521fb2d4527585d2302a220330925c296afecb";
   sha512.doc = "c31f7efd7415f3439635b293c9aad2cfc2632352534e579c0f8d3e74443fb7aa88a95e19735a7b65137d81899ad9d2ad8bbdb28c5da2ff05a2be9dbad552b0f8";
@@ -2576,6 +2834,7 @@ babel-kurmanji = {
 };
 babel-latin = {
   revision = 59800;
+  shortdesc = "Babel support for Latin";
   stripPrefix = 0;
   sha512.run = "09a08dd3f90f83490867b786870b9591cdb3fc8d83c0e68446e2c97ba665a70f45c8b2553cfd6d965d31e6b2c435876ca569f4c24a8ddad4188ebd8b27b261b9";
   sha512.doc = "5a57f5b070cc86950002c40c5dc35407b0ace14ebe8ce64662260615bf5ae069237f5b0b6ae0fc795e72d9d1d3d9bbf7b30fd9cb762e56595058bebe436e5b92";
@@ -2586,6 +2845,7 @@ babel-latin = {
 };
 babel-latvian = {
   revision = 46681;
+  shortdesc = "Babel support for Latvian";
   stripPrefix = 0;
   sha512.run = "0e19f04d81195b77ae200946e5502fccfaedca5a6da8080a0e7351b684c7d1802a1d9d05794006561109dc8f9a0c04f45266e74068157caa9c470899cbec5230";
   sha512.doc = "e7c4f93db73431708eb902af924672727a6dc6d1cc9d17ca92436cea51310a10538f32825c13144ac35ec8633fc146d1788492f9c6ecf7b11ed72893ab6393fb";
@@ -2596,6 +2856,7 @@ babel-latvian = {
 };
 babel-lithuanian = {
   revision = 66513;
+  shortdesc = "Babel support for documents written in Lithuanian";
   stripPrefix = 0;
   sha512.run = "83e8aa3c7e8e018f79c848ebd884f0d0a07c87953611342b5a9f25df1241ddd931ede31a03b1670922049948a6f9ebc88676de0a4be9e144a3f99e22fb857fd7";
   sha512.doc = "76dac9c2b95699a42018ad370afc1236668a37a71707a6c1a8fff1921df9edf30730f71337c1128f64b7448a0bd3f99e432ddbc1219534884e8476a8c7fdf338";
@@ -2606,6 +2867,7 @@ babel-lithuanian = {
 };
 babel-macedonian = {
   revision = 39587;
+  shortdesc = "Babel module to support Macedonian Cyrillic";
   stripPrefix = 0;
   sha512.run = "c061ca1ec358e4d8df05e0adadd5d87695cf3b9f86cab52eaa0e08b1f5b1fedb66febe32107e74c1926fa4d697b056d7d3f119db525b90ff7e7bde30fd015508";
   sha512.doc = "7284141fbecedad06cfef78f50b4c13ebb3af76ced474c456a364c97943b51b9a233ecf6797e561ab0936ef7d082adc80daea0de4e961baab60e494bd72f7061";
@@ -2615,6 +2877,7 @@ babel-macedonian = {
 };
 babel-malay = {
   revision = 43234;
+  shortdesc = "Support for Malay within babel";
   stripPrefix = 0;
   sha512.run = "6e2f95eb95a7ffe0b21789a65e74936139d92381867e507ce56bd8eb39b4061b177c10fed0a0226e9091b963370d3c001115473625910f03b699d5517350f2da";
   sha512.doc = "b06395639e743571870dee10e029e4622c55683d7a9d728fff381bcabe4bf694511230795c79da4080299938acf66d03cc55fd45cb8426b484e19e0fb0f73b10";
@@ -2625,6 +2888,7 @@ babel-malay = {
 };
 babel-norsk = {
   revision = 69603;
+  shortdesc = "Babel support for Norwegian";
   stripPrefix = 0;
   sha512.run = "cd5511b9ffa7a009cc9b330fadda4edbd431083a3301bd4722d19d9c9331cd160fbf79d0e246feb2d4bc69c6e2800931c4e697b9a052f92a424f5f59841840ee";
   sha512.doc = "764700736d45202ac46553014d8382a26ac962d964bac3fbe9d1c90f341b99fb1dbd6a44348267d55f75228bd155aa70cd0080870b627910ebf0df0bf344e0cd";
@@ -2635,6 +2899,7 @@ babel-norsk = {
 };
 babel-occitan = {
   revision = 39608;
+  shortdesc = "Babel support for Occitan";
   stripPrefix = 0;
   sha512.run = "f1f2f26b5466d10e995d76f7003c202650e3976b82b431d2bae768a582bc0c5662fc120739c49fcfd1226da3595c8a6b2e8c952a491718c45e69770c09d542a9";
   sha512.doc = "86433fa646eb6b2f7ee0ba54f1dafa73b81bd98012859c59408883cc76ec876720ef526cb2f526bd4a8385c0371f9bb01ae6d604661deabb4ec920172986adf0";
@@ -2645,6 +2910,7 @@ babel-occitan = {
 };
 babel-piedmontese = {
   revision = 30282;
+  shortdesc = "Babel support for Piedmontese";
   stripPrefix = 0;
   sha512.run = "72fe6338ef6f172a23790402a632881906689117e7227b6f2f2fb6129fca9a7d44c42ddd48e8286252f3b5fce9dc34439594882c1f80f33557ef5ef70afe4993";
   sha512.doc = "a2fa0cc72a205fcc25c2baeb7717a573bf8f2db5438e49c9de8a90e8da37d4f267ff30f08f8bb79f08756f5d227acddba8c069c8a5c257adf95c3afac271927f";
@@ -2655,6 +2921,7 @@ babel-piedmontese = {
 };
 babel-polish = {
   revision = 62680;
+  shortdesc = "Babel support for Polish";
   stripPrefix = 0;
   sha512.run = "0088388d0dd6459e5ac3062cbd5eeac7ae0d858b93ff278b6bc7a95e8fc4846d8c12530eb41ed972f5009ab745857a5599d9ce25860efa06a3a1dddbf396b4dd";
   sha512.doc = "536b3ea736a9e876f2e7e942e56841c97de27b94d00e58656e9d7ed3b27aaa43947deed1d04fc54530c082095ce46737f05969afa85fd5de57baecf5718815bf";
@@ -2665,6 +2932,7 @@ babel-polish = {
 };
 babel-portuges = {
   revision = 59883;
+  shortdesc = "Babel support for Portuges";
   stripPrefix = 0;
   sha512.run = "8b63140bf59669873f55ed65925eff65cab3bd6bb404b7dec962b7072243c2b2be8d2918e379ba02b557f7e07d1d490b3cd0bcf3756bbfc3f4e63ff540e73c28";
   sha512.doc = "1fd6cdd08c2c00340b04ddaf078d1e9f0b1c51dee22f805f00bb46e63c46c4461fe4d9df174c2844a6ed01f7b52333a6290cd0c8aff3820a1659839668308b91";
@@ -2675,6 +2943,7 @@ babel-portuges = {
 };
 babel-romanian = {
   revision = 58776;
+  shortdesc = "Babel support for Romanian";
   stripPrefix = 0;
   sha512.run = "ca6318ca8453dae2286b305766c6ced299f18f390c0d0f44e77ddf8eb4b05c31c7a2b01ed52e271f68acd6b127650b370d15ea9bcb3b591fd01e5d3a50b17db5";
   sha512.doc = "73ff361e7e03499427529824b83ea584a5ca190aae3d1ef9a5f4a5adf52cc8ab02f5652c92c1464a702f581e29626fa9cd14d4ee84f6cdde69b38af9d10b20ee";
@@ -2685,6 +2954,7 @@ babel-romanian = {
 };
 babel-romansh = {
   revision = 30286;
+  shortdesc = "Babel/Polyglossia support for the Romansh language";
   stripPrefix = 0;
   sha512.run = "db28e78ce4e028ead2f31fc84d0e7d8997a18dff3bf6aed0301b79bfc7bdc52a8741f9975766d36ca9ca2af9908e7e0bda9e454abf268a1eebf4693c30f5a5e8";
   sha512.doc = "42f9b63d92e522b596839d10c1b90ee9052cac86cdd54ac408063c24456b2a7b5adbfc8208a0a388fcffbb19b98ae0810f7da9d6bc517ddeeab78c8389bdd5a7";
@@ -2694,6 +2964,7 @@ babel-romansh = {
 };
 babel-russian = {
   revision = 57376;
+  shortdesc = "Russian language module for Babel";
   stripPrefix = 0;
   sha512.run = "5acec3460294e71e6def384a7863a849e8a5d431dde49c77a4a7803af5373b56fcd376f6e73b237dd230728ab5b536f903b6a1bb19fc478dd5e742293a6e6ca8";
   sha512.doc = "387919d8bc226b00492f9924486a2591d15083a5a8e2293889f6532ef28fdd6409e2a777e728bee7f7b9796a304f440d8cc5fca246588d2b3ef0c84c79b701ce";
@@ -2704,6 +2975,7 @@ babel-russian = {
 };
 babel-samin = {
   revision = 69604;
+  shortdesc = "Babel support for Samin";
   stripPrefix = 0;
   sha512.run = "bee2cb83522430ff8bc8e65513d2268a529a041b85b10315c4902749d840ee1716db45df56f259a7db726a94147fdebfa573e99b9e654c7ed4df87f5d574877e";
   sha512.doc = "cf8a3c56fdc0474fbb3080743fa852dc22ea4f1c791f7d9b4779faa232442a22b46662c92e61bf84953c8312ae9fbea859282799b393701b0c176e4d23edfec9";
@@ -2714,6 +2986,7 @@ babel-samin = {
 };
 babel-scottish = {
   revision = 69610;
+  shortdesc = "Babel support for Scottish Gaelic";
   stripPrefix = 0;
   sha512.run = "16632367173512a1ff0d678334071893efc91d9ca16279075a63b84acabaeaa8cd35263f56e6e3251cd57a77bdc9f0613c34e60f0acc8de14f4e0fafde751d81";
   sha512.doc = "725a988893fa1cd3064136376de3475fc8da63993a40c0c63165b5c13fb4ae15a1ab856e2075e05d3a4e492d95d1aa12288b808ac3a1a15ce539a35edb289aed";
@@ -2724,6 +2997,7 @@ babel-scottish = {
 };
 babel-serbian = {
   revision = 64571;
+  shortdesc = "Babel/Polyglossia support for Serbian";
   stripPrefix = 0;
   sha512.run = "0067de0fddd73a7c68cd2b3a12b4eb620c6b95886c4c34ec1766ff9b3c174ed2a8cbb1dae72cd8adcfe55bf01e4d24e47668e76babdc57ca9eb59704a5ee7cd5";
   sha512.doc = "e83a8db6c60853dea918d226fe643fd06c1cd65bd3b9e29fac962c029a263e75821dcf6a5a3b33ba44b12321d5e19633f704885e77017cb43e9555a4e060394b";
@@ -2734,6 +3008,7 @@ babel-serbian = {
 };
 babel-serbianc = {
   revision = 64588;
+  shortdesc = "Babel module to support Serbian Cyrillic";
   stripPrefix = 0;
   sha512.run = "c4c4bf91fb22d0766bbab6a9980b0faa19f4031cabd044a309478f9ee700bc26247a10051f10d36c8cd88425820d2f800d3947d005fa9fb8b54429efdeb3c8c8";
   sha512.doc = "a173daa03c9da413b4f200a0427e5293676ff3bc64dfd21d945977fc78fa9172ebcd73bad2c7ebd8976ee252cebe3c78d03ac9aa10b2be9984bc34b66ac5ac66";
@@ -2744,6 +3019,7 @@ babel-serbianc = {
 };
 babel-slovak = {
   revision = 30292;
+  shortdesc = "Babel support for typesetting Slovak";
   stripPrefix = 0;
   sha512.run = "b14b98d2cb66a3f8f5d8a313d9208a700d1c3664a5bd23f5baf0d9aa2e3acf3891a0536871988e7579020570999ea05a9dcd60a404cd6670e3c1cf8110d9094e";
   sha512.doc = "da1d663125b913e3480ad147ac1f5c1befa00110e71bbd2d42384db03fe0f0db3133b49e26d1a336b49c10018990763d42ef49b64440c9138d9d938057ac90e0";
@@ -2754,6 +3030,7 @@ babel-slovak = {
 };
 babel-slovenian = {
   revision = 69742;
+  shortdesc = "Babel support for typesetting Slovenian";
   stripPrefix = 0;
   sha512.run = "b17956aa2afda17c6ece09f372ed1777bfdecf358fee13260da6f73f971eecd5d315770d01e83def27edd2b06828065ba1f488bc3ee879539691424256c39ad1";
   sha512.doc = "d50461bfd4b57dca583f53fb1afb1ac97382cfee1651d55538017d2990b331cbb471a060ad26fb86965f9d6b00f15da39011368bc9162120b188ad505d7620e1";
@@ -2764,6 +3041,7 @@ babel-slovenian = {
 };
 babel-sorbian = {
   revision = 60975;
+  shortdesc = "Babel support for Upper and Lower Sorbian";
   stripPrefix = 0;
   sha512.run = "629a4f09de7ba1a444af0fc4e6db9f53635b0e000d375296697096c2debd782496d7b36f7745af42a8a19f6cc24c6a832595bc6c89ae20d79701c7181d1a5d68";
   sha512.doc = "ebb371730cafbd37a4c54dd0ccfe9d6e187aae747d1b6de9202fd09a85b5b38f8814e0bd27cd86e51c5aa62e6816ac725e28eff9117d6dc474a9e32f3b6fdaa3";
@@ -2774,6 +3052,7 @@ babel-sorbian = {
 };
 babel-spanish = {
   revision = 59367;
+  shortdesc = "Babel support for Spanish";
   stripPrefix = 0;
   sha512.run = "2da1b62772f462c8e058edac7d305804be6234a720446288fbcbe2e574a1cd9f905e4220b4008dad64c0e59b15194e2627cd1e295003c1bcbdd523c8498fa26b";
   sha512.doc = "9c3e87e7de6fa46b0c6b9da65d4c23e31640628fd6fce844b53d896ad85813e9b804fe4a36c7c2c1cf26550a51551b39150a12467e26fad4f9bb9094dc0af817";
@@ -2784,6 +3063,7 @@ babel-spanish = {
 };
 babel-swedish = {
   revision = 57647;
+  shortdesc = "Babel support for typesetting Swedish";
   stripPrefix = 0;
   sha512.run = "d3ccb281b9a5405866b0a4621cf0ea4fb75a085041de5d52ef0eb6db370cafacab05d1eebfef21f9558f4110e19b739e6c5cc424709e06640e8290a9c01722d6";
   sha512.doc = "33a59fb66617ee8ff66643e57b0146940060d04bb7bf2764bce97a062a955ddfd80338072434f86d86c414a22d5ce6f120be4f21523a3d81e6e88947e9c2e57f";
@@ -2794,6 +3074,7 @@ babel-swedish = {
 };
 babel-thai = {
   revision = 30564;
+  shortdesc = "Support for Thai within babel";
   stripPrefix = 0;
   sha512.run = "4e3e5c6d8944040177a21f04e63bd40e85c24e9327eeddfe98072da38590c58523f676fd7532e4e00d0e3cc88121a2885788d606d2dc9ca02fd91c7f04a6ef57";
   sha512.doc = "791539a57534c4870a81ec2318298b29e9e9ad925161b0a4cf52c49086a865d5b58b60da10829a5fb37e66f0d161b396beb127e586457c556875f1205fac9360";
@@ -2804,6 +3085,7 @@ babel-thai = {
 };
 babel-turkish = {
   revision = 51560;
+  shortdesc = "Babel support for Turkish documents";
   stripPrefix = 0;
   sha512.run = "02916936992e00e7aa884b46b6f786dd0fe5a0aaa6e2c6c4e28fe72de7fe5260fca7cdd37efc4a775a8d172e3993c98df7cec3d1ad08f01487f7cb0c8f2d179a";
   sha512.doc = "06931a6b9987a7affd4632ea5cc79028a2a88c584523c03ce79c2a15268947fb1103137da158886c7957e0a7c938ca69c1c5c7d88104c892cae611c914f6fb93";
@@ -2814,6 +3096,7 @@ babel-turkish = {
 };
 babel-ukrainian = {
   revision = 56674;
+  shortdesc = "Babel support for Ukrainian";
   stripPrefix = 0;
   sha512.run = "10476b0dda4e80472aa8d3b3628d372da10f8badd37df6beca434e3bf1b9e135972acd5decb63eb6f706b700ef969136117b96ae5a6d6209fd75b9c13d06567c";
   sha512.doc = "7dd3c5d02024cdd4e0c06b57d3aef0a723aba718760efd4b1214b7da2dca8877293bdfff2d3893e531eb734d5551dd93afc03dc4f3413822a3df0b40b4bec43b";
@@ -2824,6 +3107,7 @@ babel-ukrainian = {
 };
 babel-vietnamese = {
   revision = 39246;
+  shortdesc = "Babel support for typesetting Vietnamese";
   stripPrefix = 0;
   sha512.run = "ddb75c37017c1b0b6af2cfbdf574526cdfdce2099d599a23cc8ac819f6ebe5ea7a2eda4bd743af93d78835ca5dccb3d7fa55db22b3154862aa4affe83c28185f";
   sha512.doc = "b078464ce848b24d692d4dded7c9827f37fdb4141b719c71e28b5ef0a827f9ea5c2137745f9689fcb89a486d4a88a94a043a62348e86b5736a68ea48c7f33e16";
@@ -2834,6 +3118,7 @@ babel-vietnamese = {
 };
 babel-welsh = {
   revision = 38372;
+  shortdesc = "Babel support for Welsh";
   stripPrefix = 0;
   sha512.run = "89526156517773131b5452f2cf5bf773f34b97b2e35e786f2bcd4dad512519766eded269539ada9d5c34d4b1f02d65bf55a0da0053e6bd7b7a3c66c606cfb60b";
   sha512.doc = "cb0ff59d9c02bce3028f0025c07963d42856eb4e68f322b839ed1ea5f51abf372ea17fc695e7be4bf87f75b3d2b163f801102f469773a4474bd0d0a72a47376d";
@@ -2844,6 +3129,7 @@ babel-welsh = {
 };
 babelbib = {
   revision = 57349;
+  shortdesc = "Multilingual bibliographies";
   stripPrefix = 0;
   sha512.run = "90e78ff6086c80e0102ce7aae74070d3b1444208f3957e354f2c940ea4d279f87ed59e6c3310c6d9fc1464c227fb0eb4c3813ca679a6e94295e0b824cb527376";
   sha512.doc = "cd5785a17242a523f23093f8389f1d4c5e3d49c0656ac3f168a8627fb153b217b5a14e5c990c7afd1c5ea7324b5aad2e3dd40e8c2ca0f9ba9064f91f7214bf90";
@@ -2853,6 +3139,7 @@ babelbib = {
 };
 background = {
   revision = 42428;
+  shortdesc = "Placement of background material on pages of a document";
   stripPrefix = 0;
   sha512.run = "e9fd9b5e680082aa3e9f0482ebe41a753088a1e61b85876a9685942172cb9d5b6c9819ac2d61e0274f988b46d4f962222ce0afeac2827630edc728125761f214";
   sha512.doc = "518b0785e562fc6f01d6bba6cf7157c847faab151bcfe7840d5f2c9d8fc3ca54689beaa8698c92f24c196393fdbf90b027165be80e6cf07e9ee79ad8073d8533";
@@ -2863,6 +3150,7 @@ background = {
 };
 backnaur = {
   revision = 54080;
+  shortdesc = "Typeset Backus Naur Form definitions";
   stripPrefix = 0;
   sha512.run = "adf008822e18c19a7e9e0ef4eb54230ff267ba287e3ef6c0686552ce6b51c8b13fce10cc4533a733f2f6ac09739fec4c2a5878423db1c65a993c5bc16cafc643";
   sha512.doc = "cdf5a269f4055e8c5685da95b18501f7b69ca8b236fde8e60d39760a562bac9bca5da3afc06caf18bc4092a97f76754a48950881a0e0aecba90c40904e699637";
@@ -2873,6 +3161,7 @@ backnaur = {
 };
 baekmuk = {
   revision = 56915;
+  shortdesc = "Baekmuk Korean TrueType fonts";
   stripPrefix = 0;
   sha512.run = "f9270a17459444e128b5fc5d12b943043fa4ec2f87ee5996808f9dfad1c4c4146787db3ecd267767a375d1fdbd56e15850b25cd7c9c71ab270e3517b5863054a";
   sha512.doc = "3a3819f892bdf69afeb66b9fdfbfe1ffe06e2a488425e814cb3a1e223ec9659a71f0571dc25136e0f7afcdb616f717dcb3823b89e640b0894313683e4f79b197";
@@ -2882,6 +3171,7 @@ baekmuk = {
 };
 bagpipe = {
   revision = 34393;
+  shortdesc = "Support for typesetting bagpipe music";
   stripPrefix = 0;
   sha512.run = "7d815e23e9b5d686e0df54c4a0ad51c85360c7b3879695977fb9be2b69cb343e1c9043c2595ac5554e87e0a568b2441bd16a43b334af4b43e5302eba19bc33d8";
   sha512.doc = "696047cc4965a06388a61232af9336f2010fdb0b869914cf66ac9b052d1efd85ff05119a277aa127cf05f56e03b63060956c7c284df78e93b0f0beabd691d33a";
@@ -2891,6 +3181,7 @@ bagpipe = {
 };
 bangla = {
   revision = 65786;
+  shortdesc = "A comprehensive Bangla LaTeX package";
   stripPrefix = 0;
   deps = [
     "charissil"
@@ -2904,6 +3195,7 @@ bangla = {
 };
 bangorcsthesis = {
   revision = 61770;
+  shortdesc = "Typeset a thesis at Bangor University";
   stripPrefix = 0;
   sha512.run = "3d297ec59cff75977addc7320f90a68a6fdd87bcf5aee4947c14e122dc7741e443582075eec4a9b327c3e988da500934fb5426d5e9fc17c7decab4a4872cce8e";
   sha512.doc = "be5e7eb308d2678c3cb7464e234bd63f551a560677e67bb6b5c9dec5ab59b29bd6f8a66db300065cb472b9772420e443a3fc7a4d31ebd2557868b3a6b2fcfe2a";
@@ -2914,6 +3206,7 @@ bangorcsthesis = {
 };
 bangorexam = {
   revision = 65140;
+  shortdesc = "Typeset an examination at Bangor University";
   stripPrefix = 0;
   sha512.run = "df88d8051803726d508906be7dace3ef15f455fd00c1603aa16e9298af75e9f38d306ef6fb319b713e21dcb337eb93fa44a2baba2aa15f79076e6ef55d38100f";
   sha512.doc = "b8db60eec0ef7a57e0d0991f70ae7d1d7f87391797521e03baa916848a8be827a97496de8af8f2f95194ccedd923288f471116e677371b99f75f0309283ff50f";
@@ -2924,6 +3217,7 @@ bangorexam = {
 };
 bangtex = {
   revision = 55475;
+  shortdesc = "Writing Bangla and Assamese with LaTeX";
   stripPrefix = 0;
   sha512.run = "84d2b5b85f423e171bb90821f9e4518d06a640c02b03638295322e0ea6aedfdb831b6a4e62d3c25259b7b70aa0fe68ffe3081f6de0b0c71fe03c10616c74347e";
   sha512.doc = "05ca923b97240a766d3ff448c6b16a33613a16e3307509ed7c369da6ec889e7e19d57e5f542b829c788ac4e87bd7025a62af9f7127e2eebe7fdd3eba4aeeb7ce";
@@ -2932,6 +3226,7 @@ bangtex = {
 };
 bankstatement = {
   revision = 38857;
+  shortdesc = "A LaTeX class for bank statements based on csv data";
   stripPrefix = 0;
   sha512.run = "c388a06b1527fe131dd56813303ca727c035f2023b25426e8aae7387867afa0425e4f739c2698b30af97737557c068b94741dce51f8df573c29c14e4cc4f02c0";
   sha512.doc = "5290904ce0aab9e4e098fb4625c8a0cb5c728769faef312267131eedbee937e1d964a561b2c001c38131ff93c9083db46275d693431b2447267edaae19c296f9";
@@ -2941,6 +3236,7 @@ bankstatement = {
 };
 barcodes = {
   revision = 15878;
+  shortdesc = "Fonts for making barcodes";
   stripPrefix = 0;
   sha512.run = "e4b9f432d4464da19d279d8e7a5c2ccbd6dbba27fd175bbe7385c0f34199955c16427fc7bf6b487cad1da0b2e28b94d44267a0042e811fc73a88661f3d312b91";
   sha512.doc = "2054d8b87084bbdccdea4a2c05c43b427249d597880b3870fffb98bcf0bf88adf64c9110e3ff98d1755596d559ab548a464a2d681eb1adbaf57cc748424e0d98";
@@ -2950,6 +3246,7 @@ barcodes = {
 };
 bardiag = {
   revision = 22013;
+  shortdesc = "LaTeX package for drawing bar diagrams";
   stripPrefix = 0;
   sha512.run = "dad9b5a50e5a82ed0285fb36c609c4302f7b22daf71c159848788d8c7c91c19dd44398e98357dd58366cd97140e943540d05b6e1c9937124a40c4b4070065a1a";
   sha512.doc = "54fcfb2473c6ece46ec2b01853c89046c7f5396e97f62b9175cedaf4b1e783285c7c417700c827a7b9fefe5055b10723ce278e5fff0e864434f84020472c1cd8";
@@ -2959,6 +3256,7 @@ bardiag = {
 };
 barr = {
   revision = 38479;
+  shortdesc = "Diagram macros by Michael Barr";
   stripPrefix = 0;
   sha512.run = "6bd398efda5027e3b762b817ce777adb9bb1c8e593ca04386adedeab7dc26ba382058ccfa3c281ef8612fcc50c9b719e7f881dcde0cfec041cf4b2cd05f238f8";
   sha512.doc = "6600ecadc60fdd00e4d894969a84118265b5c5d07e9a411d3f01887fd1e94c481b117cbda80451774294dbb989a61379b16fe3ba5c3b8363a9a2485b76752aed";
@@ -2967,15 +3265,17 @@ barr = {
 };
 barracuda = {
   revision = 63708;
+  shortdesc = "Draw barcodes with Lua";
   stripPrefix = 0;
   sha512.run = "8081a9b253c77cc5e68efeb8c66beffc189898cc6ba80cd96be88c57d3117b2c270e439fbe47983309625c90def14f3b2d2c50b567f4f461e4c0ef591c7ba63a";
   sha512.doc = "18767583117a7e16e5b292aa2e82082eed1f48e7f2d8033cf605d9a0b9f09f460826ba4c43af5e43b003e6514909cdea30e24666b8c518655a9e6ab7b6129953";
   hasRunfiles = true;
-  license = [ "gpl2" ];
+  license = [ "gpl2Only" ];
   version = "0.0.12";
 };
 bartel-chess-fonts = {
   revision = 20619;
+  shortdesc = "A set of fonts supporting chess diagrams";
   stripPrefix = 0;
   sha512.run = "33c52620d32f5e79a702bb664cfcb47409faa049dbf7f34cc5816005b4667267810fab130e3aee1ff7a7e3292af37c2d376c01dd2bbf17be199a22cc36ba751f";
   sha512.doc = "e61232eed7f345e28796192d836af9de29bda257fb85460f67a89bbdfd7dce01b8361962b7cccf314311c0e772e69367f2921ad898c106389195164b6c925ffc";
@@ -2984,6 +3284,7 @@ bartel-chess-fonts = {
 };
 bashful = {
   revision = 25597;
+  shortdesc = "Invoke bash commands from within LaTeX";
   stripPrefix = 0;
   sha512.run = "b46abbc1622fcc15d65981368d5c8a7528f2142d722604eb028e0cc364d6e908587cb58a340283e7afa43581ce365ac7a545bef65d1cb5e273e777467231c40d";
   sha512.doc = "5017fef7ad1c67f33cc881a94f75cce97d422b047d8944dbff377b1f3f3d36025b7b73c76ba2ed96bf06b0c6e9c3e99b97ecf36e2ec8ab8b7e1893dc11f201f2";
@@ -2993,6 +3294,7 @@ bashful = {
 };
 basicarith = {
   revision = 35460;
+  shortdesc = "Macros for typesetting basic arithmetic";
   stripPrefix = 0;
   sha512.run = "346edf1704ed621a326e4f945b8f5341dfbd2d46af095691c7b853a9683dfb2254d443ae04bf235f192a57dd55336dd50249b0963bde041120468499e61012b7";
   sha512.doc = "bf454539b0202321121437d2448c3b49a2d6122459af4788a573cc2525f0301d1267b12f3df8636a36fe807c474cb23347a41a2c412eb12b674c58541516ade2";
@@ -3003,6 +3305,7 @@ basicarith = {
 };
 baskervald = {
   revision = 19490;
+  shortdesc = "Baskervald ADF fonts collection with TeX/LaTeX support";
   stripPrefix = 0;
   fontMaps = [
     "Map ybv.map"
@@ -3016,6 +3319,7 @@ baskervald = {
 };
 baskervaldx = {
   revision = 69273;
+  shortdesc = "Extension and modification of BaskervaldADF with LaTeX support";
   stripPrefix = 0;
   fontMaps = [
     "Map Baskervaldx.map"
@@ -3028,6 +3332,7 @@ baskervaldx = {
 };
 baskervillef = {
   revision = 55475;
+  shortdesc = "Fry's Baskerville look-alike, with math support";
   stripPrefix = 0;
   fontMaps = [
     "Map BaskervilleF.map"
@@ -3040,6 +3345,7 @@ baskervillef = {
 };
 basque-book = {
   revision = 32924;
+  shortdesc = "Class for book-type documents written in Basque";
   stripPrefix = 0;
   sha512.run = "645d55362506a1bcf563a12ddb7616f085d5cc75a45cb2f0dcdf551158b48f595cd71278caf9a0c35f1d85ca66b880e6f59f9ee416fb9bf15cd7c18bf6fda2b9";
   sha512.doc = "7954b1c86ddac3a1409bf16cc7db5470332fb86459257756200dc794a3443b137e6013a7e904bbf63e8fceae64850418e56ad08af12a448c1fe507e29221c7be";
@@ -3050,6 +3356,7 @@ basque-book = {
 };
 basque-date = {
   revision = 26477;
+  shortdesc = "Print the date in Basque";
   stripPrefix = 0;
   sha512.run = "2f0cdfa78c3b75dddc5ab9ed15f651308dad4e598f9623eea50929c48d6f15318f768b95d55ba124eb048129447ce1e629febbb3fa6925677b2a46ac94d82654";
   sha512.doc = "249bfaabe93c4306c32c698eede8835cac334a27802253dc6ce1f380eaafa5c79fc3b86ee34ddd7b98df043cc0ccec137ae3d342cd3904f39203b0ffba2fc9b7";
@@ -3060,6 +3367,7 @@ basque-date = {
 };
 bath-bst = {
   revision = 63398;
+  shortdesc = "Harvard referencing style as recommended by the University of Bath Library";
   stripPrefix = 0;
   sha512.run = "0d32f9c6121a57900fa3818cc4efdfe7355346b7e25971f21e72358bed84e8a56467df9f8132f2666a5047c8a47606a4745ebdb5a00bdc02b4d33155ed72bec4";
   sha512.doc = "45ad0c20ad0cdab5ea22bcd3eb728de173c0c75fdea8b315f2edc5af977406e1be2db0d41b5f2d68e57d68bd3adf7e34e1b3189b401a0a7bf1436376f0e46e08";
@@ -3070,6 +3378,7 @@ bath-bst = {
 };
 bbcard = {
   revision = 19440;
+  shortdesc = "Bullshit bingo, calendar and baseball-score cards";
   stripPrefix = 0;
   sha512.run = "ac7fff708b3e25312460a740241ed003ee471f84dd4d30388d9cde8380ec9a6b6fa6fd6aba69b170c464a25bec44f1669fabc4ac2d7d3e216885b7e683f88af6";
   sha512.doc = "9e4561e97ea77c84e3c1cc8f75ca61318937c45b7b50dab66d6745f61725b6397458a05e50a267937bf6db4b28558ff0e9f2225078b9516fe574620982ab2cb4";
@@ -3078,6 +3387,7 @@ bbcard = {
 };
 bbding = {
   revision = 17186;
+  shortdesc = "A symbol (dingbat) font and LaTeX macros for its use";
   stripPrefix = 0;
   sha512.run = "d5505fd7aaffead426a873844112e11fba47694ab07d0f5c88be31188fbf4a09ed4b8f8bce75221b2b2efb3ff81fc132fe54c2634f32679e2e2041944ec92f7d";
   sha512.doc = "a1425b521b1c8178bd6c9b059acf034080be6f3f312decb575b7541d34a6e1de926965cde8701061ffcb57147052b1495b21142f0eac645596a783820eb6200a";
@@ -3088,6 +3398,7 @@ bbding = {
 };
 bbm = {
   revision = 15878;
+  shortdesc = "\"Blackboard-style\" cm fonts";
   stripPrefix = 0;
   sha512.run = "d795fb56f2ba57dea55a546244c5d07bb20c104cb9d1e6f9b6c229df9e5fa4244f8bb883bcddc150e1072453cb518d31c110bb85d157b4fbfeb47195da939619";
   sha512.doc = "034d880588fa88d97045d73dd651a0b3573c624dbbf1d2f9fee046c59f007b9e3e2121d5d773b34aa7b0bc8c72daa540447981bf60731e64d99cde49b5f6e911";
@@ -3096,6 +3407,7 @@ bbm = {
 };
 bbm-macros = {
   revision = 17224;
+  shortdesc = "LaTeX support for \"blackboard-style\" cm fonts";
   stripPrefix = 0;
   sha512.run = "06f59837d585c721da77f289119bd4b45a91e3d72543ed3e4de76f84a2916431a733baa379b83a3e299d166e27bc0350df6f053d1ec744c52dcd0297d416fdf1";
   sha512.doc = "20a29809dffe8090e5c067dd2df9dd5a5f7de6ec7abbc01eb14b5a500f37cd62b50914733edf7403af89a1db86ebe10b3d7262f519dc01dc35b29ba0c70c3478";
@@ -3105,6 +3417,7 @@ bbm-macros = {
 };
 bbold = {
   revision = 17187;
+  shortdesc = "Sans serif blackboard bold";
   stripPrefix = 0;
   sha512.run = "1b123e9135179244050ed6f97f17efa2a43c42018b2fa3b01c956a99886ae6696c83df2a0d61ce95cba925c2bb4c734d77253aab165fe9f622695f557fcb0abe";
   sha512.doc = "c754e81f83a53c4a1cacbd2638d550ad178e0e26d7feb592585579a27b780e11733a7dc68fd374ac575cc7866a1e5417d3df0d2b973e7278d1012657bf340390";
@@ -3115,6 +3428,7 @@ bbold = {
 };
 bbold-type1 = {
   revision = 33143;
+  shortdesc = "An Adobe Type 1 format version of the bbold font";
   stripPrefix = 0;
   fontMaps = [
     "MixedMap bbold.map"
@@ -3126,6 +3440,7 @@ bbold-type1 = {
 };
 bboldx = {
   revision = 65424;
+  shortdesc = "Extension of the bbold package with a Blackboard Bold alphabet";
   stripPrefix = 0;
   fontMaps = [
     "Map bboldx.map"
@@ -3138,6 +3453,7 @@ bboldx = {
 };
 bchart = {
   revision = 43928;
+  shortdesc = "Draw simple bar charts in LaTeX";
   stripPrefix = 0;
   sha512.run = "b78e4017d0355107e1e73670c20457c2dc314dd0537bb3e699df3118231b5b3c0b2acbf50ca07f71216d56c81acbb031d38dea7b42099165a03a8049f62021a0";
   sha512.doc = "762b75974de179360fcfe6057102919644a564ad2c3431ef25e2c373267ec063ac8350caf0038a5964345491355ddda4f5190eff6de93f2c2da7ab168c829fcd";
@@ -3147,6 +3463,7 @@ bchart = {
 };
 bclogo = {
   revision = 69578;
+  shortdesc = "Creating colourful boxes with logos";
   stripPrefix = 0;
   sha512.run = "d3f060c91f1ec7f8c836e22b21dd735895055873807690c4d8fd3b90652a7f6f1648decc23f66a6d51c4970a27817642ea6e66b74b2affcf5c938c4707568018";
   sha512.doc = "e8ec77512bfbfa00de03585ac9b0b47a03d60ab27f7a10303efa3e37bd285c8c0d959f3a5a013a300022121da6bf4c07d603df63faaf0fb44013313f8369aa5f";
@@ -3156,6 +3473,7 @@ bclogo = {
 };
 beamer = {
   revision = 69316;
+  shortdesc = "A LaTeX class for producing presentations and slides";
   stripPrefix = 0;
   deps = [
     "amscls"
@@ -3178,6 +3496,7 @@ beamer = {
 };
 beamer-fuberlin = {
   revision = 63161;
+  shortdesc = "Beamer, using the style of FU Berlin";
   stripPrefix = 0;
   sha512.run = "6638fee0c05b9901935204bbcbd79baa1cd0213c0aba6c8eecf1a9f4b2b44aa9403f42078e84e437e7e14d36a991afd0446ae9ffd2ee3260814944fe7b52e92d";
   sha512.doc = "2241bfbdd7dd8b034a01e83f4076fdcf628ea40a29d27cf1e6ceba234b68580cb05f5b29d71c196187e3b5ac1e5a0ec566c5e4a0b784e56f43bdf86ab2747781";
@@ -3187,6 +3506,7 @@ beamer-fuberlin = {
 };
 beamer-rl = {
   revision = 69254;
+  shortdesc = "Right to left presentation with beamer and babel";
   stripPrefix = 0;
   sha512.run = "36f3fbabba1319d8019862455e97502d5446f1838db4fe42410d75101f430270df3abdafb61e7fb565040d9aaadc987cf268010aa682fb509cd7303f6f2e6dcf";
   sha512.doc = "d0add94467afb47bd358ef5a228e314e280b92c8c038f3e6b6f2a28410e8eaa6c984a34b43902e4b6abc2c0246e732be9e9e31065e11cb14cabe5dd34b15e941";
@@ -3196,6 +3516,7 @@ beamer-rl = {
 };
 beamer-tut-pt = {
   revision = 15878;
+  shortdesc = "An introduction to the Beamer class, in Portuguese";
   stripPrefix = 0;
   sha512.run = "6074f5933b945f02b24c31353bd7d683b35a54f53aacfa2ac19de382f56fbb9f6284316ee70c0eacea3760101d98d4a6b7d78412a0d41b13c9e1c907d181ee16";
   sha512.doc = "ef6e80c3417cfad3e2f3e0ecd3ce249aa0b4cf0a6b5dced09c27138e34a8c86a74d0d03c6888d0944fe2b03bb5b8180872306263c58f54281f4ed2fe3424d4bc";
@@ -3203,6 +3524,7 @@ beamer-tut-pt = {
 };
 beamer-verona = {
   revision = 39180;
+  shortdesc = "A theme for the beamer class";
   stripPrefix = 0;
   sha512.run = "71b241e603688bd22e10f171d32ea3dcca1f25c136a7c0d0cea3e72e936b068ea7ced6a40c03d2e2fb21e533506bcbfaf10f450493cb4e2c3df2981b714048d5";
   sha512.doc = "ab68e6accfbfea7651dd43b55c4ddd86a66a827ecc6f6353dc58e3aad47ba89e051fb4f9dcc76e0e8081784385cc696fda9d95c0e82c71b0645d358afaf42c4c";
@@ -3212,6 +3534,7 @@ beamer-verona = {
 };
 beamer2thesis = {
   revision = 27539;
+  shortdesc = "Thesis presentations using beamer";
   stripPrefix = 0;
   sha512.run = "793ec95902fbecc2de84616b74494d7e34a1a1c88277277ee82bb172c1ef0cc42cf175f62fa2b4926abb73817b7eb258d85be6689b60a56e0faee941276471a9";
   sha512.doc = "ea71d35ac3e02d3016b8d19d38132ee16960757c9846192cf2213061c9899a9788e98f50dac074b0cf83f6029f883eb1f7784779d0256c719d55490284cfc8f0";
@@ -3221,6 +3544,7 @@ beamer2thesis = {
 };
 beamerappendixnote = {
   revision = 55732;
+  shortdesc = "Create notes on appendix frames in beamer";
   stripPrefix = 0;
   sha512.run = "bfb855380ded0b9ef019a139c93cc4f520d4390d98ddfb43483679742ee597b8e045c8286a9391ec068f51ae6c50372b0438b41e449e23804efbc18767c11726";
   sha512.doc = "abf6b36bfad890b37a0add2ad443c39ba2f2484bd19f9730fec4cbb416eafc6fce723fd5fa684cb7adba4110f888641cc570ac7b7a26ccbf06dcd3697e2c5921";
@@ -3231,6 +3555,7 @@ beamerappendixnote = {
 };
 beameraudience = {
   revision = 23427;
+  shortdesc = "Assembling beamer frames according to audience";
   stripPrefix = 0;
   sha512.run = "f1fa8d1d30b00ea59b3fd83347fc1ea1e90135e51e8f4393eacdf32ae983a80e865d4364c924c74bb1d409ebf22ebb5e290707b945898db9e6234dd297553b49";
   sha512.doc = "25fbfbf71ff66a80597b368882de63aee2e090e5604a67d66d52e99dd606ce54079e4a7350c4acee5966555dfa5dc8de0e650c7cb4c136bdc40cbe5739c0dfe1";
@@ -3240,6 +3565,7 @@ beameraudience = {
 };
 beamerauxtheme = {
   revision = 56087;
+  shortdesc = "Supplementary outer and inner themes for beamer";
   stripPrefix = 0;
   sha512.run = "8fbe5425396d8e5fea8ce618091948b84bb9e3998b9f34730686d9275398d7a149c912cf80d9f7da083af583ee37fb191435c68d8ea6741776ec2fcaabe9194f";
   sha512.doc = "3d62f584a8170113242f1ba9bcd1fd3a47c539cf646719d4e11464d892372b0713475b026be3721e5921202d40593e56f2f5cb821bb12f11a629a81e390f25da";
@@ -3249,6 +3575,7 @@ beamerauxtheme = {
 };
 beamercolorthemeowl = {
   revision = 40105;
+  shortdesc = "A flexible beamer color theme to maximize visibility";
   stripPrefix = 0;
   sha512.run = "bf9874f0d7bbbe3f95c352d1c5e93c5e7fa3af18dd02eedee553c312ef01783420b035ac74f93eb150a99a597ff9948d978ea575963f4117d0965137446ee5fc";
   sha512.doc = "258016683c605b4961ee25f30077cec69c486cf3ed0cccce2482db01b39141e122dcb46e02e960a83138d124aa269ec903379c3c6b65f3366e96565e90c2337a";
@@ -3259,6 +3586,7 @@ beamercolorthemeowl = {
 };
 beamerdarkthemes = {
   revision = 55117;
+  shortdesc = "Dark color themes for beamer";
   stripPrefix = 0;
   sha512.run = "ced5c093d0c4e3c23fcf774bfcc768b8a3adb20287e0677e1a2474d5ad1eeea1f5f979f988c0f0ae6a484ec1953b95c044b0803df9f76f289e999ec50889433a";
   sha512.doc = "45d0daee876c0e0d94b2ce6ce7b49f6eb8282643b1bf3540abb07e0e7782434c224ba40ff933e9febd893467ebab2ba7cb588669a98784e8eba6acefa0d30611";
@@ -3268,6 +3596,7 @@ beamerdarkthemes = {
 };
 beamerposter = {
   revision = 54512;
+  shortdesc = "Extend beamer and a0poster for custom sized posters";
   stripPrefix = 0;
   sha512.run = "7483f14a3008997c0c39c351e0f8b9a01dc42331ae990575ab33ab29c18cea648e0e6ab328a2c1fde404bc10eec78d7c7b8352bb02636e00d5d6e8689f1c717f";
   sha512.doc = "f597797340286e4a87b62696fa167af07a1717a175646d11836e1f347601551fe0aec5ad4362c135d0f6bbf6b45e217a91bdb5053ba1331828fbc352583d3697";
@@ -3277,6 +3606,7 @@ beamerposter = {
 };
 beamersubframe = {
   revision = 23510;
+  shortdesc = "Reorder frames in the PDF file";
   stripPrefix = 0;
   sha512.run = "d3ab81c5eb90d8566eb850c25d7751f5a341107fdb756b46bb50b392741746eea356ff54ef1ceb6ca6f0a2c0dfb7940aa7cd6e3d0cd27e4328e817d1be454964";
   sha512.doc = "85878ad48e6ba191174140517ac03039320620f246efb51c65e57541d9cf569d59bdd6cef17f10f6f6d85bff9532f6ea70175cb09b68ea6e59312a407d89f557";
@@ -3287,6 +3617,7 @@ beamersubframe = {
 };
 beamerswitch = {
   revision = 64182;
+  shortdesc = "Convenient mode selection in Beamer documents";
   stripPrefix = 0;
   sha512.run = "43b91dddb86a5f0158a6181a931a4a68eddbef350917f59df7a281e89f6b87d3db652146094eb46fd89d46f6564d1bcb2f278e34a6ee2738d7c4a817ed1db37c";
   sha512.doc = "1cbab77e0b5482eed26fc7364877cde6094edb23ad353340172b278d4728024b5187df2982f3985899bcbd626aa77fc2423d8dfc4936b6d32f62cace50a4d058";
@@ -3297,6 +3628,7 @@ beamerswitch = {
 };
 beamertheme-arguelles = {
   revision = 70209;
+  shortdesc = "Simple, typographic beamer theme";
   stripPrefix = 0;
   sha512.run = "aac91e94a49c87b99e888542cb1d0ca043f6dd1513087daedd538d755989dc19f7c7201698573d3c3d9919a434b0d39d56ba6d33e22c240fd6579ecec6f215f6";
   sha512.doc = "23219c4b8718a1d4c247ae2a733a3b371f3c96796ca0e020088fcb47b4d136670377a4f4b746e9ae260e6e32ef58e86edbea80f71716963272204df312072583";
@@ -3306,6 +3638,7 @@ beamertheme-arguelles = {
 };
 beamertheme-cuerna = {
   revision = 42161;
+  shortdesc = "A beamer theme with 4 colour palettes";
   stripPrefix = 0;
   sha512.run = "f0433d4a4582958ad057fddcddf1f1f992ec98a199943bcf80a7834e37eb7fa5660258edb08e2bd9205628dc1b8a69419c907b6c007a1c63cd1fb335e439125d";
   sha512.doc = "96f4e9c3afbb81a7841130ea076b2cd35477e93eb105c03add6077fd76981cbd14b609c3b9e573f143572764ac87b1ff76ce18c377f3bbd9b02a1ed45a02eaab";
@@ -3315,6 +3648,7 @@ beamertheme-cuerna = {
 };
 beamertheme-detlevcm = {
   revision = 39048;
+  shortdesc = "A beamer theme designed for use in the University of Leeds";
   stripPrefix = 0;
   sha512.run = "cab4d390d7469056f2235c493b9383a4374c4a686810db428cfe622a4c2513f7176df489d22f7e37ae1f8a2d3303443b60c12c577764be2258b345fe9c3dc543";
   sha512.doc = "2c637af44b258c688449ad2bbd81664e3086efe874d03352ab393487d7eae1148773ba39a498611a848c43824415cb5b860259111f6d287fd9e6d7f1c01eb530";
@@ -3324,6 +3658,7 @@ beamertheme-detlevcm = {
 };
 beamertheme-epyt = {
   revision = 41404;
+  shortdesc = "A simple and clean theme for LaTeX beamer class";
   stripPrefix = 0;
   sha512.run = "2bf451ccfe095384aeec149e97d7022cefaf997cd19dedffcad5606fc149739cf21b6128ef08e609aaffd6afbaa59b1cdc401cbd3ee4fbe0e997d724b713a620";
   sha512.doc = "a615bddd7955869d7e175f734a06308b166057dce0b479a4b11d2bd1d06fda7e0a4fdf8185d0a3db2d2302cea2890184616b92d0b7abd5321fe9edaca6dbbd2e";
@@ -3333,24 +3668,27 @@ beamertheme-epyt = {
 };
 beamertheme-focus = {
   revision = 69742;
+  shortdesc = "A minimalist presentation theme for LaTeX Beamer";
   stripPrefix = 0;
   sha512.run = "bb09ca551108dace02506987f246f1de4672444e8d6ca7f53bbf1cbfb573a7e07b3d2f937b4724821b30b60f1c63b360e200754957289c95379aab06dde14a8a";
   sha512.doc = "5ca583264ee68cec6df53f5e4a32d4c3ce408372fd3ec4c8ec74f2757ac9f5e817a23ea875760994fd7e45a8cc2e45686251aa785adc960b5730c5059ab353e9";
   hasRunfiles = true;
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
   version = "3.4.0";
 };
 beamertheme-light = {
   revision = 49867;
+  shortdesc = "A minimal beamer style";
   stripPrefix = 0;
   sha512.run = "5cc15c3ee0222678c1c97b31805421caac8b20fca03b1d748fd2a71756d5d764b8fbfb32ab70937e890f7755966b520362db98a9ae65be3f83509cfa287d600a";
   sha512.doc = "e2d0cdb7fdabe582f2b6f1a656a5b9b61ee3680fd4944c06f108cf69eced96bed7b25e56563b1cb9879e8da42fdbbeaa41d769158c5e256bc70b5d695571a5af";
   hasRunfiles = true;
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
   version = "1.0";
 };
 beamertheme-metropolis = {
   revision = 43031;
+  shortdesc = "A modern LaTeX beamer theme";
   stripPrefix = 0;
   sha512.run = "dae8058ae5c2883b383a2bcb85bbdc45d0b0a3fab46a4498ea1f3b8568f04d049598fa78b72429adc7e36773905c67801e129378e233582f0fd8eb5ca4327745";
   sha512.doc = "c4661061ea3ce52a20fb8c704042cf755b8b54549dd62467b1e78f85a4067c11a02c89422384e96323ef277ce44a3f648b1778b54e0b5c79b721f67451fabfc1";
@@ -3361,15 +3699,17 @@ beamertheme-metropolis = {
 };
 beamertheme-npbt = {
   revision = 54512;
+  shortdesc = "A collection of LaTeX beamer themes";
   stripPrefix = 0;
   sha512.run = "9125794ab2ebc4d15ab500b67b9943234d80088393d9b31989ae8209359dca97778feaab3d11365ae1b4131f06dad2fe73bb21fae1220b401c5f31f413cff171";
   sha512.doc = "7703951f2afee05627847980a05b0bef0cb2fe87eec078f64a3e4796feb4057bdf93708ef0476090d40dad2605c69e23f695b9164a969e6a67f8329e6e340a3b";
   hasRunfiles = true;
-  license = [ "gpl3" "publicDomain" ];
+  license = [ "gpl3Only" "publicDomain" ];
   version = "4.1";
 };
 beamertheme-phnompenh = {
   revision = 39100;
+  shortdesc = "A simple beamer theme";
   stripPrefix = 0;
   sha512.run = "30745bb1f92c230bedd953d32eaa6f2085ad2aa7f147bd3368fe8ebe4f6092ecc615acce55b9573da4dc04c8e89877ba2705a6712cd4c4f67f34dc59eae97880";
   sha512.doc = "626d124c6ac02271cc3bc137e60b8a66a861b7f692910e9fad283d8836599e3adbdd1ac472fe66955a392d1b563e955da852cfd5a0d712d284fdb2dc4d709a63";
@@ -3379,6 +3719,7 @@ beamertheme-phnompenh = {
 };
 beamertheme-pure-minimalistic = {
   revision = 56934;
+  shortdesc = "A minimalistic presentation theme for LaTeX Beamer";
   stripPrefix = 0;
   sha512.run = "b9c6237108e1aa5f4859ebd1100efbddd2bca55c76bca876e0e3a0c10dbd322a3ee834e4e452b80b2f7755ce026fd2bbe5c69434371ad29df1fe3280b409bdc6";
   sha512.doc = "791e3a367f5c7ebfee453e7d7a76753763e2bbe122616e49fd0d4268dbd274e3ecb308b5adb850765d143bc46a311316f86bd13e60ce1449b0217d7b4f733830";
@@ -3388,6 +3729,7 @@ beamertheme-pure-minimalistic = {
 };
 beamertheme-rainbow = {
   revision = 67542;
+  shortdesc = "A beamer colour theme which alternates theme colours on every frame";
   stripPrefix = 0;
   sha512.run = "220dd54bd2565263ce7bc48068c96b48a0677f36ad5f3d826561e1d0ca21f5ecfa7ab675005e7aef40e4b9e9f149ee341c0ed82ec8a5a6fcab40785cca97289f";
   sha512.doc = "bcf12ee63331bec8fd8c5443231109bcf1027d1abb9ce94c919c17fbb8a5248bea503acc25bda67226fcea1e30a2ae7283cfcce6a9b937362086e9123b4a429b";
@@ -3397,6 +3739,7 @@ beamertheme-rainbow = {
 };
 beamertheme-saintpetersburg = {
   revision = 45877;
+  shortdesc = "A beamer theme that incorporates colours and fonts of Saint Petersburg State University";
   stripPrefix = 0;
   sha512.run = "c258a4eee25ccdb2437625982e54def90aec87be003f697a47334be52b85ef223b377c7fc57d49c889121caea664fcd6353015ad2e62f5bee5379bc222958f53";
   sha512.doc = "bf51e2bc33f32ba3dda6c140040a7499a60c26082569729743228a6c7abc97fb20076d1d0c7d0b64a25a54cbba1d9a8b59a9059d160a5a488ef6641999e8611f";
@@ -3406,6 +3749,7 @@ beamertheme-saintpetersburg = {
 };
 beamertheme-simpledarkblue = {
   revision = 60061;
+  shortdesc = "Template for a simple presentation";
   stripPrefix = 0;
   sha512.run = "c75bb4c0f0eecf2aea0e24d30410ca1edcf645c323d88433bc6c12adf116740f2f6bc7d8517db764b0b33d9d9227db93ddddd1c521dde3343fce6d807b0e642d";
   sha512.doc = "9f8f642ebe4cafed03699377be6bb647cbdfb80f99e075e2863b69a4d6b6f59cab6dd4dc831b0fb015302b3737b32d08cf37b3034365b021e8fd9f086f7e6ddf";
@@ -3414,6 +3758,7 @@ beamertheme-simpledarkblue = {
 };
 beamertheme-simpleplus = {
   revision = 64770;
+  shortdesc = "A simple and clean theme for LaTeX beamer";
   stripPrefix = 0;
   sha512.run = "de19e0011817552bbba482517f9ea4f59590cc837c4b539e01db5f08eafa2dc94adda9dc8fd4f92b07fe2acc38862b5a581c195f1776975469d69c1b7fdd617f";
   sha512.doc = "e96132fc4669ec82913ad7610a174815be79476fc40ecc1ed35744292d41ba47bbbf1a7cd9d244b41c12ab515c729655271d62a608ae47cd2acd0324cf0f0ae7";
@@ -3423,6 +3768,7 @@ beamertheme-simpleplus = {
 };
 beamertheme-tcolorbox = {
   revision = 67000;
+  shortdesc = "A beamer inner theme which reproduces standard beamer blocks using tcolorboxes";
   stripPrefix = 0;
   sha512.run = "bcace2249558b6519dde1d9c80da791e38330de31da26c606d8bb8a780952bc2cd57f93948ba191606bd44c2260819546a367e34f672555db22d0c736a6b959b";
   sha512.doc = "240a7be55ae035ae4e155efa814639de14a2c5ddc2dec9bfb963df2010026e8cbc7f6c834b6445695dbd7f1e68499e123b505de068fc196ed25a86115c06261e";
@@ -3432,6 +3778,7 @@ beamertheme-tcolorbox = {
 };
 beamertheme-trigon = {
   revision = 65985;
+  shortdesc = "A modern, elegant, and versatile theme for Beamer";
   stripPrefix = 0;
   sha512.run = "1269b79603c415123a91093bc69cd672aa54518da7e7cef52193804fcede45dc09fe6748f2c0c940a754767963174e768b52873fbac5a520f7076229100ff016";
   sha512.doc = "83b6946c17d060c299260ff272130938933dbeb9124b1608e8f3bd886b2f63851773181dc1efabe901196b37f7254569a5b5de0de7fd39ff558eb21376ffaa27";
@@ -3442,6 +3789,7 @@ beamertheme-trigon = {
 };
 beamertheme-upenn-bc = {
   revision = 29937;
+  shortdesc = "Beamer themes for Boston College and the University of Pennsylvania";
   stripPrefix = 0;
   sha512.run = "0c483991348107a2b9102e514ec05838a9ae3e97dceddcbf3b8cc21ae635a272c7d70d97b2e1a0929b7545e50560f16a71f7b290ca16cdfd63177782b993b714";
   sha512.doc = "5feb0a4401d9ebbc4672b7f9668f850fb65002c7d7124c607009775149c4c428642cd17df133ae80d564ab091fdff039d34c1704360033f2374b55466fe1b618";
@@ -3451,6 +3799,7 @@ beamertheme-upenn-bc = {
 };
 beamerthemeamurmaple = {
   revision = 69742;
+  shortdesc = "A new modern beamer theme";
   stripPrefix = 0;
   sha512.run = "c325ebeec7588caaf8966e9b8a71069f1613d694537298afeeb8d01c6c83c7991e874bc5bd070e722e15ac83eb339581897a501dd187ea5ee4919ba9c14fb541";
   sha512.doc = "371597bc1aeaa9c43fbef6b68234252535be41f442db6e6785605723b099b34e8cc01b1062ce1a831e62333f57673f49462eef082541c982b7bbfbac119a19be";
@@ -3460,6 +3809,7 @@ beamerthemeamurmaple = {
 };
 beamerthemeconcrete = {
   revision = 69528;
+  shortdesc = "A collection of flat beamer themes";
   stripPrefix = 0;
   sha512.run = "84f2729d5f5197d2dae7fe422f535df1f2ed14f2ae936f7c080d93f7aec2b949290406f31309fc76b21a4a80de733aadc6319a0e54a63482ea97ebc4bff773d7";
   sha512.doc = "bca6cbd0b51e52446fa179d216a3368b5bda75e6e99abf3204297be3335f2aa2b6efe51dbcd1bf0bb589070ce30c030b6ea2bed868277953a5d60210b6bc924d";
@@ -3469,6 +3819,7 @@ beamerthemeconcrete = {
 };
 beamerthemejltree = {
   revision = 21977;
+  shortdesc = "Contributed beamer theme";
   stripPrefix = 0;
   sha512.run = "b079ceab30460a7b92a616fa6d7216ddddecfa02adfd66bf38aea83eccdf6e63cc52d8b2ae88db0b21962af223b364424227806beabbfb2e344af98474af2528";
   hasRunfiles = true;
@@ -3477,6 +3828,7 @@ beamerthemejltree = {
 };
 beamerthemelalic = {
   revision = 58777;
+  shortdesc = "A beamer theme for LALIC";
   stripPrefix = 0;
   sha512.run = "70d789b4490e5ceb9d578be03f815eea97706fc89e41756908d41f1953c2b4cee4ce7c142406a0abef0497b89b74dfb2dc6d2a841898996f32025f53626a8548";
   sha512.doc = "b79c55da51785c42c68a2bd5f7a386b21fbb36948df8b5e87e60b9eab263e43592b7265902b6f3a2d3bd214dce122fcf0d504ff807a7bee0ebccf7241fa8e1fd";
@@ -3486,6 +3838,7 @@ beamerthemelalic = {
 };
 beamerthemenirma = {
   revision = 20765;
+  shortdesc = "A Beamer theme for academic presentations";
   stripPrefix = 0;
   sha512.run = "6fe83e0805fde96d585dc027ecadd23862815171f56f6a05db0a6788018a096c193c995895f7ca18af6d322877e24d570743d84a922a2c7e4baef35d3f6dfca1";
   sha512.doc = "13f1dfbc8f09662b627dd4ed6c7ff297612c5d05a140a446ccdcb6f0ad3a9995b434d418994cccc2323ead666eaeb10b32e1a9d410a38c632df9873717397231";
@@ -3495,6 +3848,7 @@ beamerthemenirma = {
 };
 beamerthemenord = {
   revision = 56180;
+  shortdesc = "A simple beamer theme using the \"Nord\" color theme";
   stripPrefix = 0;
   sha512.run = "4ac0d1a6494f7acdb1afd73b2bf8e7c966ea3167f856432ebb872f0285cfb8fe759735b57bba5e9ebbb91a0bdc9e2dd643f5ab0686e9417e0719369266d7e46d";
   sha512.doc = "0e2038d76d478bfa54a547c97e002e84a98a1dc7ea0a1584f12d6cb1b2c4cb1f65d9d368533b5870c4f3ecae02396ec0172a89eef1547d33a168ab87c846a4d6";
@@ -3504,6 +3858,7 @@ beamerthemenord = {
 };
 bearwear = {
   revision = 54826;
+  shortdesc = "Shirts to dress TikZbears";
   stripPrefix = 0;
   sha512.run = "c758735d869a9b1dedb64c9c0377891606d32ba69fe0d665d882d7d113bcf3c9678e6cbfe93c269758d492a0336c26f937195f04e80587c1aa083fb1c766829f";
   sha512.doc = "03171083f40cc4688ca6849fd371189b43a9e5963e06be3ad44271b11cb985cfa0b369b49ed43110395e1d7d50f4337e9ce597989be48049cdf3c3a1beac5ff8";
@@ -3514,6 +3869,7 @@ bearwear = {
 };
 beaulivre = {
   revision = 70050;
+  shortdesc = "Write your books in a colorful way";
   stripPrefix = 0;
   deps = [
     "colorist"
@@ -3525,6 +3881,7 @@ beaulivre = {
 };
 beautybook = {
   revision = 68438;
+  shortdesc = "A beautiful book template for maths and science";
   stripPrefix = 0;
   sha512.run = "68df2cac1064c5636f1df6b5f9d51773278798310e7d36550f2a55c05c8d1480518407a97037d0167fe92fbab2f8d7be73d528681d66f63afe644ef3ede38ca0";
   sha512.doc = "62eeb012597c27e02b00ac5d7b2b280136986c412baf7113634bf62e0fe82b1fb9e4fdab3ab6a2345517a046fe46bfad6f2031926f07f69609e895800e215ed4";
@@ -3533,6 +3890,7 @@ beautybook = {
 };
 beautynote = {
   revision = 70166;
+  shortdesc = "A package designed to meet the publication of books and the production of LaTeX templates, with elegant chapter";
   stripPrefix = 0;
   sha512.run = "637e51a355d5f89c2e0241140780b221fabbb4685830c1ce9ccb5cb185c53f1cc4c3ffafe737df25445ef885958c1b5f6ba96a4a3de1169de7f2cf28095eea43";
   sha512.doc = "36e71d750df5b5e5d8d05251a4be60214c09027a10c77551ff6261464729004fe0e3be586687af23db115b7cb4c99086dbe9278da0b8d6292b57005019628fc3";
@@ -3541,6 +3899,7 @@ beautynote = {
 };
 beebe = {
   revision = 70064;
+  shortdesc = "A collection of bibliographies";
   stripPrefix = 0;
   sha512.run = "ff133e38a475bba0e8aea3a8a98d20ff1aa17eef7c0d0f5a6d404d51b1062c2a5957d3261e844d956f9a5e97fcc2d8a438beb5b724f84f8f3734091551e7aba0";
   hasRunfiles = true;
@@ -3548,6 +3907,7 @@ beebe = {
 };
 begingreek = {
   revision = 63255;
+  shortdesc = "Greek environment to be used with pdfLaTeX only";
   stripPrefix = 0;
   sha512.run = "c6e8493a80e328a10208088f7490a14bbec76fc8d969b85c6505d655840d9e4d8e05da3a1a3b17d76fcc0ad26df7251765d7d4e812000cd3fb9101ad5a46c3a9";
   sha512.doc = "3143cf03735fc6e5b3a77f17b6099f139d6a1cfcaecf140dab6eb4c72398742719956bc03052e539eefa9acbebd00ab14f7b0be829ece74b8a66dd227580542b";
@@ -3558,6 +3918,7 @@ begingreek = {
 };
 begriff = {
   revision = 15878;
+  shortdesc = "Typeset Begriffschrift";
   stripPrefix = 0;
   sha512.run = "ed1060e0ce9bad28f98481eed44f8bd98f6b8be91dd5dc87d5c34a6cc57e724d175fa909fd6ff514399eb81bd8f28450f7c9a6c6a9bc991f35d617a8a25de8ed";
   sha512.doc = "af28c20897e297af4ca1fb13bb286ff0eece9e2f06f5b734062716c0c5f5b7dd673d046a5a47c907f9a845a7257393f3328d46c4ea2ac0ae6b0eff1244e97256";
@@ -3567,6 +3928,7 @@ begriff = {
 };
 beilstein = {
   revision = 56193;
+  shortdesc = "Support for submissions to the \"Beilstein Journal of Nanotechnology\"";
   stripPrefix = 0;
   sha512.run = "4d604245024a94e23c30c7968e177173efebc7d8d227688f0e90adbf071c7d0d44a6c07c37143675a66899062ca2b8c366516ca3863128e33e784919a33e3d49";
   sha512.doc = "9684c13b0d91121e7e7548ed9bc1e377ac7a54f9f1f2aeb57d465bab36b17d216e1cae4eea9b3fb6e5afc42e41f465a31db0209f5b45f40f7db0afbc4646c73d";
@@ -3577,6 +3939,7 @@ beilstein = {
 };
 belleek = {
   revision = 66115;
+  shortdesc = "Free replacement for basic MathTime fonts";
   stripPrefix = 0;
   fontMaps = [
     "Map belleek.map"
@@ -3589,6 +3952,7 @@ belleek = {
 };
 bengali = {
   revision = 55475;
+  shortdesc = "Support for the Bengali language";
   stripPrefix = 0;
   sha512.run = "2ace635791a4c7a8af0843a5a92d518d0e93fc09a94929a277002a3e4426f199e207238766b07ff3f1e1bf0e3c0cf8b83897b30ba105ee7239d6ce1d591289fe";
   sha512.doc = "61bed8e39b9dc4673ce27402c0ee76b035e254133af09bbbadd00b80d367ffe204d5f660af8c633bc7dc6bd81f66ce419741e341f63e314367f2e54c61f8269e";
@@ -3598,6 +3962,7 @@ bengali = {
 };
 bera = {
   revision = 20031;
+  shortdesc = "Bera fonts";
   stripPrefix = 0;
   fontMaps = [
     "Map bera.map"
@@ -3609,6 +3974,7 @@ bera = {
 };
 berenisadf = {
   revision = 32215;
+  shortdesc = "Berenis ADF fonts and TeX/LaTeX support";
   stripPrefix = 0;
   fontMaps = [
     "Map ybd.map"
@@ -3621,6 +3987,7 @@ berenisadf = {
 };
 besjournals = {
   revision = 45662;
+  shortdesc = "Bibliographies suitable for British Ecological Society journals";
   stripPrefix = 0;
   sha512.run = "e797bce36fa6529d6b57be352ed81b7413c2ca818fa904a8cc4c7c8f0801369543482aa5c286b40f6f7c5e0b73d53b6aa6b9aaeab3e6229da7dd954a3dedb1ca";
   sha512.doc = "c790eb0ced559adc6696f0f228c88a2314214ff6a4ab71ae03dc46b3974cdaae53fc685c05f0bbb7646a5b31d332f763fce4a71919319aa520965f56979eee54";
@@ -3629,6 +3996,7 @@ besjournals = {
 };
 bestpapers = {
   revision = 38708;
+  shortdesc = "A BibTeX package to produce lists of authors' best papers";
   stripPrefix = 0;
   sha512.run = "d015369a268cff98571985f319f95df9ffe0255ad222e8c8133252c3ab5537cfc4c3ea11aab13a565c096e92472d7724c0ef23ce6a71f62c7a5fc2b30382a054";
   sha512.doc = "cb5e9bbcc83b6081dd0207001d1b39c6e089e2ae168f20d1cc87482560a483e4ea195fbf208c342ba691d3c85ea9f4674b2eb6cf68db9f9d83d3b98bbab60dc3";
@@ -3638,6 +4006,7 @@ bestpapers = {
 };
 betababel = {
   revision = 15878;
+  shortdesc = "Insert ancient greek text coded in Beta Code";
   stripPrefix = 0;
   sha512.run = "db2a590e8ed5e946652cc54d5c01bd540b87f77253278f9211c8720229992275f80edc26d0c94b4f68237d84a5bf7b56bd93a40e2a0ce8df5ffdeb124c81d219";
   sha512.doc = "209f8fc6123f8403bf6a30731773aeea82c5c6de123e24755e9a22ca6f3ea170015feeb541242a772c3244e7b74f1a766e95886e4f773f21c48b353f22d6adce";
@@ -3647,6 +4016,7 @@ betababel = {
 };
 beton = {
   revision = 15878;
+  shortdesc = "Use Concrete fonts";
   stripPrefix = 0;
   sha512.run = "23d243f15a79246aa590a7ec65249724a4460ac6e3ac01dba2aeddfc169875dd8392c1374cb8459ff84210d51822430fab9d75a87f0ece20323cd20709de0c14";
   sha512.doc = "fa579427c97f930455bc548d5b438f32aa291d98f9d8b391dae686b270e135605cb3ddd6cfb9076cb248a17eabb4e62bcf4f720b2daf829b3d12d6ebc294f832";
@@ -3656,6 +4026,7 @@ beton = {
 };
 beuron = {
   revision = 46374;
+  shortdesc = "The script of the Beuronese art school";
   stripPrefix = 0;
   fontMaps = [
     "Map beuron.map"
@@ -3668,6 +4039,7 @@ beuron = {
 };
 bewerbung = {
   revision = 61632;
+  shortdesc = "Typesetting job applications";
   stripPrefix = 0;
   sha512.run = "1a5f652ce8e7ad60f22b7c3c5cc46c3963e5511965445fdacef01aecb157ecc4fbd3eed07140d64716b90a11db96f1b7dab8b4568aa41f7049f8a3a1ed0e290c";
   sha512.doc = "1713c1d4ef0982cf635ea57cb7af7805b001b48cdfef5bf770c627f5460f57945d2d2ead87c6e0ae8ad7cdc66036caa5dffafccc5ccd59ba889154cc6e4f9f5e";
@@ -3678,6 +4050,7 @@ bewerbung = {
 };
 bez123 = {
   revision = 15878;
+  shortdesc = "Support for Bezier curves";
   stripPrefix = 0;
   sha512.run = "e70a0889ceab74fcff4994568a97f31ac93165353ac207ee683b28aee2ad3cb8f770d8e3b450e3237537e97312a0995fa8c17196ead0fce55fd76a49c77de72b";
   sha512.doc = "91ae5e35394e5bf3a6bbcc6aa7d7180ba546b58e84683c569bc34f5b0f9dcc6ea30153305fd83fe28e3bcd8eccb6179d277d28e1ff56538fc6980a7c3ec8f444";
@@ -3688,6 +4061,7 @@ bez123 = {
 };
 bezierplot = {
   revision = 51398;
+  shortdesc = "Approximate smooth function graphs with cubic bezier splines for use with TikZ or MetaPost";
   stripPrefix = 0;
   sha512.run = "0cfc80b93b76053591f4d76e3cd2f5518dec2dabc397b0d18f0d9edb40a0eabfd1ed608b0cbd6f4b7b28b9a10a9668b21f9ee798514bfd3ab4cc125392512d6c";
   sha512.doc = "284cce26134afe943c4b5c0b3d968f2512fa1c47ed1f2b19e70f48d618829b76ffc200933933f27b407e1086d95f38a4e9ecfe85506ccc2336cd5fe7eb40bf37";
@@ -3697,6 +4071,7 @@ bezierplot = {
 };
 bfh-ci = {
   revision = 68828;
+  shortdesc = "Corporate Design for Bern University of Applied Sciences";
   stripPrefix = 0;
   deps = [
     "adjustbox"
@@ -3734,6 +4109,7 @@ bfh-ci = {
 };
 bgteubner = {
   revision = 54080;
+  shortdesc = "Class for producing books for the publisher \"Teubner Verlag\"";
   stripPrefix = 0;
   sha512.run = "53d38b2bf03861553a60db38c06b5b7eb48404a08f4bad645b24383ac4131a5b60a0103d0d2217cde1aa4f8bd739db4389d25693bb6186fe0974b0ebb63fd567";
   sha512.doc = "344c8f7800a273b914265ccd9cf8175a040f021c07aa0fce3b6391db85e8ecc43d5d593aeb8707f82cc2c8c987b2d72700a2fe4d8b0bdfcaf2a525c5d79f7e3a";
@@ -3744,6 +4120,7 @@ bgteubner = {
 };
 bguq = {
   revision = 27401;
+  shortdesc = "Improved quantifier stroke for Begriffsschrift packages";
   stripPrefix = 0;
   fontMaps = [
     "Map bguq.map"
@@ -3757,6 +4134,7 @@ bguq = {
 };
 bhcexam = {
   revision = 64093;
+  shortdesc = "An exam class for mathematics teachers in China";
   stripPrefix = 0;
   sha512.run = "7244442c52f57270055fad1ec87b00bb0f3ff4c89e37b57be051b29046348dc781e42b156186310d58eceb1ee9d4ff2fe287a3027642fbec3c9c315e00af9c68";
   sha512.doc = "3e16cf4f60c089a21d8e2d0a9c78e8204391ba7bc5a72d7fc23637e0c875a57dd1615b8332f6fea9c5a9bcb4fc17c4818bce708998c1c8c71d0d970e9bfdd132";
@@ -3766,6 +4144,7 @@ bhcexam = {
 };
 bib-fr = {
   revision = 15878;
+  shortdesc = "French translation of classical BibTeX styles";
   stripPrefix = 0;
   sha512.run = "24e5ada94266ba8786470453bf8a076891e9b7efac1ff64fcb559bfe2c95875d3120634f94f464c9e40da0f45b18a78af1bc428106b31e85851a2998b58f0834";
   sha512.doc = "a19ffa9b3ce51d372a7467bdf7e360ac4a0faf45fc2205eadfaff16fb640ffb0cccac7fd0849a74955dcf612e353f0e25f94c0af9e3b5bf617f067606c1da120";
@@ -3775,6 +4154,7 @@ bib-fr = {
 };
 bib2gls = {
   revision = 69635;
+  shortdesc = "Command line application to convert .bib files to glossaries-extra.sty resource files";
   deps = [
     "glossaries-extra"
   ];
@@ -3795,6 +4175,7 @@ bib2gls.binfiles = [
 ];
 bibarts = {
   revision = 67407;
+  shortdesc = "\"Arts\"-style bibliographical information";
   stripPrefix = 0;
   sha512.run = "358492693511d2de25fc7e080c862e1aa6a6ba40655fbf64991092a4a56c76a35f9fa9f8e0035fa042f0341f8fa9f13a5615079a2c9c56af36aaba4f41385865";
   sha512.doc = "d708263bf3d867e075281e0cdedca007fbcaf8cc333a8c7c0c9a0b79e68bce1c100b263a740e232a5f84861726dda947914a7c4ba52d87315163db9528c2c544";
@@ -3805,6 +4186,7 @@ bibarts = {
 };
 bibcop = {
   revision = 69467;
+  shortdesc = "Style checker for .bib files";
   deps = [
     "iexec"
     "pgfopts"
@@ -3822,6 +4204,7 @@ bibcop.binfiles = [
 ];
 biber = {
   revision = 68188;
+  shortdesc = "A BibTeX replacement for users of BibLaTeX";
   sha512.run = "07222b2bb0aed6b2de71b1e061c878e409205459decf998a7c100ae92dbecd91549a6c5e2e0dabe21f742fdfa7a57704252ec565d9e7ef0bb1d802fc1939edc6";
   sha512.doc = "a02c41efa4a5fd8ff79c8112dfc22b45e9717aa572021aaf93ede35ae57d91531dddc004497b562c605350dcff1c96441f7613d6c922e882652e9776707022b8";
   sha512.source = "8fd59f63eaa86ea4d87c8c01458fea16c0e470969f3dd6ac65e20954e8a63e793a58888cdb61f913fcc291fb5d2f3e0205e7e7488946738e27c23f1ac51be9b2";
@@ -3830,6 +4213,7 @@ biber = {
 };
 biber-ms = {
   revision = 66478;
+  shortdesc = "A BibTeX replacement for users of BibLaTeX (multiscript version)";
   sha512.run = "8e78b381978835ea25e8a973fea35a653f37a23e4ab3f0a83f26808f142e4b2a91ce61ab230f7667b222af249bbbae08b40256cb82fb8ddf39c89b7dd042c3e8";
   sha512.doc = "82bbadac2732d19b750cbc9ffd76c9a26409837b0e1b9396d405b9a64a2e5e9997fc11c53d8d399f815bc822feb1ba3fe9fcb50c8e9401ef7b2c9790450ab784";
   sha512.source = "9c15f088c5c97d63b928ef10a8d1f0a628874ad664182b631e5a52407b1a034bea478fdbe1c287ddb703fd9c9d3d84a8bdb47ea09d6de25ad99aa1ef8e227fcd";
@@ -3844,6 +4228,7 @@ biber.binfiles = [
 ];
 bibexport = {
   revision = 50677;
+  shortdesc = "Extract a BibTeX file based on a .aux file";
   sha512.run = "75f9cb374e0aee1b049e977e3ee1a855ae8f908a6c6191589ce9d9fc28a8358fedf93faa416b1020e157a8ec7a3980673d00e052a100c88724e86050ea5eb487";
   sha512.doc = "ec96364b4a9f7ab446c6b0104646e82cab1c9015e0d3dfac6a795e58e02dd3920737207d16089c5470ac32f76a61be949efa6899ca935322c0062f71f3477b16";
   sha512.source = "6c18b4e12e8eecdd03f6afae80766cebe3f826a1146c38b6387c6793abf284d3c44e7d4d6050675f01676128f1d073d8ee8f38f31a6081049b8c390b5a7813a1";
@@ -3856,6 +4241,7 @@ bibexport.binfiles = [
 ];
 bibhtml = {
   revision = 31607;
+  shortdesc = "BibTeX support for HTML files";
   stripPrefix = 0;
   sha512.run = "c7245cce245740f0d930518cfee66dc513bd4b43c8b5804e1012fb95f401dbca2321be44ba6251de573723ec2e6da85fc77b9a9192004ac2144bfbeb3225d27c";
   sha512.doc = "cf01a0853d87180205651768b639ee4cf7ed1b6bb4869880489f57e37ed8fbff3e8406fbcae1d0c652b3d410f77af9b4d1932ee154c60cc79e2876014abf7b80";
@@ -3865,6 +4251,7 @@ bibhtml = {
 };
 biblatex = {
   revision = 66403;
+  shortdesc = "Sophisticated Bibliographies in LaTeX";
   stripPrefix = 0;
   deps = [
     "etoolbox"
@@ -3881,6 +4268,7 @@ biblatex = {
 };
 biblatex-abnt = {
   revision = 49179;
+  shortdesc = "BibLaTeX style for Brazil's ABNT rules";
   stripPrefix = 0;
   sha512.run = "f2c239aed726d57eb98cef8892c4b4295205d5a8d55a14b16db8bd6b42bf3f51aadb0dc767f97dfbcd8e57a1f867c5e344c604d726453113a007169edee0ff58";
   sha512.doc = "04158e1b92a2976d2a5cc107e00b5e4ab90a85799f9e55b25936fdd0e141fc2196f0f64577bf2eb8997b7ba5b7e8c575bb725febfc397940d271ecd5f56138a8";
@@ -3890,6 +4278,7 @@ biblatex-abnt = {
 };
 biblatex-ajc2020unofficial = {
   revision = 54401;
+  shortdesc = "BibLaTeX style for the Australasian Journal of Combinatorics";
   stripPrefix = 0;
   sha512.run = "62d09153fea349881ec381bf6f2badd4453c5b2c328e8e3fa1cf99ae43cf62faf525bd453f02bb6d78e9f12ae4e35dd00c2c6f8efa015336bb13f485e8064683";
   sha512.doc = "b66f343c8456e3efb118fa18851dd08f298d5dcda4312c9688ff486db7a98fd5b3b953616f407d179480220ce905a6a6a08faa325061df9b71c6490277cdfa4c";
@@ -3899,6 +4288,7 @@ biblatex-ajc2020unofficial = {
 };
 biblatex-anonymous = {
   revision = 48548;
+  shortdesc = "A tool to manage anonymous work with BibLaTeX";
   stripPrefix = 0;
   sha512.run = "3a3cc037e3ce718c219e4bd4e380075d4a92d85cd1f490b8ffee10c5b80bb9e515f1f170b53eae033ea064cac2ddb3bb285655482e5cd65801403584fb9e215e";
   sha512.doc = "11b4a4f281068004c2bb11028200bf7f8b1461b4b40d0b52b60d60f145b3e9ea38fb672ae532d8430b0ed889df631b1dbeabcef5e9373b720d4a3c3354254789";
@@ -3908,6 +4298,7 @@ biblatex-anonymous = {
 };
 biblatex-apa = {
   revision = 66605;
+  shortdesc = "BibLaTeX citation and reference style for APA";
   stripPrefix = 0;
   sha512.run = "d86ea9a83fd5c1f08bab77c12d6f93e241d444c10554918a8aa91ca4f9677531dac291962e354d2fb19668c3e59fa14e256039fc2cae2bc531c2ffaaa2ae3735";
   sha512.doc = "84f00557b32e8a50a1256d7a39635c77ee6a59c9fca1d36e571df8540afcef5cf0bf8b1dd648a0eaac1c45744d863774da2d0033223b5e3043653f8759b31388";
@@ -3917,6 +4308,7 @@ biblatex-apa = {
 };
 biblatex-apa6 = {
   revision = 56209;
+  shortdesc = "BibLaTeX citation and reference style for APA 6th Edition";
   stripPrefix = 0;
   sha512.run = "c327dac9368270aff53b8cc9319834c36b20701d379017c1ac0f4597cfcee56a5f9c149433e2629e2bcf708bb63d8b8706ce9c6dc009696870ebf06728f11b7d";
   sha512.doc = "4eb72746e8c627106cbf7e0a7164a30030cf87a6d91ec0afcef70e072dacdf2dcb386ff91e1ff648da178c6f01121c16277630752ce792d54812fd97cb699541";
@@ -3926,6 +4318,7 @@ biblatex-apa6 = {
 };
 biblatex-archaeology = {
   revision = 53281;
+  shortdesc = "A collection of BibLaTeX styles for German prehistory";
   stripPrefix = 0;
   sha512.run = "04c9541ac2f3cab21e412b0ea2efc284f9404f225f83f13c5ec3da2d6f3e7274e5d24647205079971beb11125c8fb3403bf09bac3ae5bbe353f6e2eb073d28c2";
   sha512.doc = "4cb13b2b394262a7c8ed212092cf65bd0707c1f0b0e8c62b1d166fc929a7ddd7f676e72b0750680908c67a17dbcd5dc1b558ef83b35c8ac7b43048fae2e56856";
@@ -3936,6 +4329,7 @@ biblatex-archaeology = {
 };
 biblatex-arthistory-bonn = {
   revision = 46637;
+  shortdesc = "BibLaTeX citation style covers the citation and bibliography guidelines for art historians";
   stripPrefix = 0;
   sha512.run = "93b48bb950e9a4bb81efabe4a3c8ee85d7056daeca88c1c1a070c5321b8caa0045c4005467cdc029f8a26b94a425235e36a36bdee163242194a5301ddd6fcc98";
   sha512.doc = "e31b7912ca34e6ec27c365c2b3e549cdfb60bd94c19b9f1cd54d35d2a1b99ef2702c3f818f7354ef4f5d3157c0e29538a94315ae7af8177de23893e598c7d439";
@@ -3945,6 +4339,7 @@ biblatex-arthistory-bonn = {
 };
 biblatex-bath = {
   revision = 63401;
+  shortdesc = "Harvard referencing style as recommended by the University of Bath Library";
   stripPrefix = 0;
   sha512.run = "38075fd9040bad99fc95860f503173aa9be430317194c28fccc9ed385d7d596e9f738a436753c6d963b53fbaa714301fd2d92aa33d2ef6ce4cb6b902fa0923b0";
   sha512.doc = "e9005a72487eb7d1b4e5e7e8c024c65e2846435c8489d8766218ca6a2e77e902917a038491b9d6f1117db402397226b7c0f91805b25a9cb62ca90782ef15e8df";
@@ -3955,6 +4350,7 @@ biblatex-bath = {
 };
 biblatex-bookinarticle = {
   revision = 40323;
+  shortdesc = "Manage book edited in article";
   stripPrefix = 0;
   sha512.run = "8a7bfae09d95434d6db671e4037a2f1d5c1ba9cae5982e286389364ee2ff24f9a2daee78c69e529efd06be37d2e6a6f860820361feb42f5b84157dda2ef0988f";
   sha512.doc = "727228b915e6b370a74b4d38dffde3bbb7ae47973c33263bafab2aa6b640102775dbeeea7f09c046903dbfe86dbdfcdd8e0418d125a51678e603425328cd2da1";
@@ -3964,6 +4360,7 @@ biblatex-bookinarticle = {
 };
 biblatex-bookinother = {
   revision = 54015;
+  shortdesc = "Manage book edited in other entry type";
   stripPrefix = 0;
   sha512.run = "afafb9bf593dc3541ad527f09ee881fdda4af3bff78f02b68d53463a07494ac6c03ba55165738501b685e3e1d998eeb973e8431651ccf904b3ce0ea591dc0592";
   sha512.doc = "ebf06bec2cc1b083a472bcdf03772c9f5568a1482c926ebf886f02ece86a6f0c31a127d285ee16baadc4c0ea771eaac05e374c0a3de215d677b07a0335d362e5";
@@ -3973,6 +4370,7 @@ biblatex-bookinother = {
 };
 biblatex-bwl = {
   revision = 26556;
+  shortdesc = "BibLaTeX citations for FU Berlin";
   stripPrefix = 0;
   sha512.run = "ca5e20736a70ed02fbdada150433162b64b39b0d95bca623cebda8da821bfe8554f9409cdd49af7559737dbc6d6033bbf6868f5ed809b1004cbeba4bbabbc38f";
   sha512.doc = "32acf8bc10c07532e8d6174f3dd9a1f850acaeaaa5a91d14a1c299f2f5f22e34c619a41fd9ae7a90e097fd5ec30fdbce581f65560e2891f697ddb0106469f50b";
@@ -3982,6 +4380,7 @@ biblatex-bwl = {
 };
 biblatex-caspervector = {
   revision = 70496;
+  shortdesc = "A simple citation style for Chinese users";
   stripPrefix = 0;
   sha512.run = "74ece2007520241b51a8518613401ceb2c37da921126f78ccfc6bb3a81765e186793a94197138cc6e52610d87a5a81a3b5159370aedd32190da2fed22346b1aa";
   sha512.doc = "f21b4c77c21f6a288bc7ea64e6959ae179117336e079ff4ef7ecf373b248ec2ad4b5c1499ecb39b18471ed33eec0fe11a0409e61761aff17ab73a7f01727ed11";
@@ -3991,6 +4390,7 @@ biblatex-caspervector = {
 };
 biblatex-cheatsheet = {
   revision = 44685;
+  shortdesc = "BibLaTeX/Biber 'cheat sheet'";
   stripPrefix = 0;
   sha512.run = "a974a8eeb4282f66ebdc7a57d40c76b0f2bc957249c130d4f97aa9f9749f5091745a87db277c3bef43d0f4e37790a9663949ca3bba3b28a16d37c13bd6029181";
   sha512.doc = "a2b9a82afe127d0bfb71f3a481eed3198e27ef35caa5cd08557ed35645f6209e9187f1e0c21d6fa51e6c32d0cf044c0d85373195a5f034c856fb4beec360af13";
@@ -3998,6 +4398,7 @@ biblatex-cheatsheet = {
 };
 biblatex-chem = {
   revision = 57904;
+  shortdesc = "A set of BibLaTeX implementations of chemistry-related bibliography styles";
   stripPrefix = 0;
   sha512.run = "5339931e89e477284cfa76dcaa0be9ea7b3417dee4e20f8ff2a04da25bda4685270d3c001fd41f786f31c87e590b2aa4b597a517ef8086c75aad8f1e509a770b";
   sha512.doc = "17207489eb4d5ab5cf210882e6487dcf07fc30195facf27f3bab95f28fd8cfdd270da30d410579f6a8d91a1e82e7e12ff809fed47837e3ae521927b8251da5fc";
@@ -4007,6 +4408,7 @@ biblatex-chem = {
 };
 biblatex-chicago = {
   revision = 65037;
+  shortdesc = "Chicago style files for BibLaTeX";
   stripPrefix = 0;
   sha512.run = "dd93d36fbe11af94840c9dcd30695f5b291bc5da58b7e30e47960be42094cfb48a31a8d1c24dae41b56420f65b3b5849ad29a558387a9fb38006a9f816932841";
   sha512.doc = "e30297477d9e353bdd073b7afcfac2c890fb255e4c20ccbffea7fb3a3c6593496749f1cef0bb1d38aee649d3b054c844efb47008493f5410895a55b3369672c4";
@@ -4016,6 +4418,7 @@ biblatex-chicago = {
 };
 biblatex-claves = {
   revision = 43723;
+  shortdesc = "A tool to manage claves of old litterature with BibLaTeX";
   stripPrefix = 0;
   sha512.run = "008cb8403f1b35a7fd077f8ac2f33f73ced090ce3d65ce678ecfe90af8ab6fb2b4349342aa838d2d4f1e78d0d87267c7b8206a3377c6490499ee9196498c130f";
   sha512.doc = "a11a4df38dbeb4c27f30b824c9f1ba230d273e227b8cdbfe5f61268a1a2b7ff3193e79d8e8bedb6f9334df39001b71a3ec78116637745679bf3d67582727371d";
@@ -4025,6 +4428,7 @@ biblatex-claves = {
 };
 biblatex-cv = {
   revision = 59433;
+  shortdesc = "Create a CV from BibTeX files";
   stripPrefix = 0;
   sha512.run = "d034400abf6c0342a37e6e5de09d5eed252e80cfb93b4707f6e879edf6e190180046d28830fe382a6240d6000bcfb9277a66bf2e21b92ce9fe9deff0596f1c03";
   sha512.doc = "23093f0e8f472eac5db45026266c17b3337d478af6dc1776515417a2539ad671a67dba4ebee9f83407ee4c126cef5a6245106916188093ced89a52c44afba339";
@@ -4034,6 +4438,7 @@ biblatex-cv = {
 };
 biblatex-dw = {
   revision = 66579;
+  shortdesc = "Humanities styles for BibLaTeX";
   stripPrefix = 0;
   sha512.run = "bcfc88a15950bce48844dfdfcaa8cc946d553c9fc31b3820dd52a9f4588c55e253cc593d13b1dda0b38153a21b93a3d9a868398296546f54b5b804c58eebaa1b";
   sha512.doc = "54699b3f4e89bafa89cec29ed14a0ac32269bd52a68dda7916961b50032fba9ad3acadebb1737d8bdffcfa07f99fd104ad3fe19f0a1f569258fb4ceacefcd1ba";
@@ -4043,6 +4448,7 @@ biblatex-dw = {
 };
 biblatex-enc = {
   revision = 44627;
+  shortdesc = "BibLaTeX style for the Ecole nationale des chartes (Paris)";
   stripPrefix = 0;
   sha512.run = "6aab8a819ce9a3ec2d6676ab8850c3fc6bb81e5af5c9414555581cc9d164184d18ec550fb0ca67d28d800826356f1c709144ee7d38c0cfbc274179fa813a3a0c";
   sha512.doc = "ae50544ebdf7bbf9ee708f193493ffa241ba91f0925a2bf03b6bf1ec486586fde3c630fe717f4f2904373c08a2f9a90afca86b50870f87aa0d04430554650223";
@@ -4052,6 +4458,7 @@ biblatex-enc = {
 };
 biblatex-ext = {
   revision = 66641;
+  shortdesc = "Extended BibLaTeX standard styles";
   stripPrefix = 0;
   sha512.run = "d39e7a2418beb7b627bb6cb9566dc17553f0f33c6c720a6da760976d6f0333cc15763d79aa2dd09a70d571a3be886d4129896db14616e8e28d426cf41945da8c";
   sha512.doc = "bfca548e2bc673037efe14a54363787311c05c8518e868f7333d958f45b0a75da7d65caa9dd993ef37408414d27576ecc2cca7eb5d2e5e316f4f2f94c961d8cf";
@@ -4061,6 +4468,7 @@ biblatex-ext = {
 };
 biblatex-fiwi = {
   revision = 45876;
+  shortdesc = "BibLaTeX styles for use in German humanities";
   stripPrefix = 0;
   sha512.run = "72b1e41ac55403f144529fd5cbd88f51dfd61cd637bd8e6427a2714d3684ffa37774c698475994f1481442cc8eb336d8de398d55b3df28e5e1615b9cd74cef27";
   sha512.doc = "37fd37d39fee963af8567cf27cd266597175ccebe20f016c7dda699d95e6f7fd0408a57f9061b98996a6ce8eab04a8ed376e6e29b5cb41635d004d24082e91be";
@@ -4070,6 +4478,7 @@ biblatex-fiwi = {
 };
 biblatex-gb7714-2015 = {
   revision = 69775;
+  shortdesc = "A BibLaTeX implementation of the GBT7714-2015 bibliography style for Chinese users";
   stripPrefix = 0;
   sha512.run = "1390d40d1a34caa69d4b25d18e0f01c81974ade6b778f6daa85bfccd17a4e749145640ea66a565e2919d61c642a1c0c24e6403b3e7a3b5622e1b644b559902ca";
   sha512.doc = "18fd12ee1c680ba5e4fcbbfbe4e43f0d9163f7cf813ad20a0f264b37e252898b704a15c33c00559941d7b445b91b9652d97e46abf611ceee0885a96007279d69";
@@ -4079,6 +4488,7 @@ biblatex-gb7714-2015 = {
 };
 biblatex-german-legal = {
   revision = 66461;
+  shortdesc = "Comprehensive citation style for German legal texts";
   stripPrefix = 0;
   sha512.run = "0d447d700791b3e0a50fa98c14cd71c735e1e1196c9d0c23e86114942d2a9d7dfc9f769a6f8ea7aa78903f1c6bf5600dfcd7091250ef65f2a2a5295a796f8fd1";
   sha512.doc = "8b83f35af4cbc23c2e19dd35d3f798575f1df540bd4f10a9f0f7d732d5de6559cc0ad49df21753920eb659596b5e506e17fbc066fdab27552831d222da1e394d";
@@ -4088,6 +4498,7 @@ biblatex-german-legal = {
 };
 biblatex-gost = {
   revision = 66935;
+  shortdesc = "BibLaTeX support for GOST standard bibliographies";
   stripPrefix = 0;
   sha512.run = "8d87595c133fd1b64ea7facda55a1a7a79dbedb93750e0f54abd26e5904d331200349a956eb03a67017015e85e9854e26f6753b5d2be2ef0f3e4d532eb0b7ddf";
   sha512.doc = "3ee6799d4dd00b4503fd6d7bb041d674c9e61d4ab3c366fe078a9db4a4da154601c13876dec51ba14e3322442e3174cda81212df26d2309e3517a60d06283051";
@@ -4097,6 +4508,7 @@ biblatex-gost = {
 };
 biblatex-historian = {
   revision = 19787;
+  shortdesc = "A BibLaTeX style";
   stripPrefix = 0;
   sha512.run = "bba5cedd64fcf0c0cfbf9b56c66838141917ba1e7c2f27aea5bda44261ba28366b465415e3674a2ce398812d5cefbb2727c7e5e1adf53a2d9779754849664502";
   sha512.doc = "ed87ab74fd06ccdfa0923289dcd7a37df695fdf76003aa7ab142c9d924fb69a81430ab7651314a9a391b9114dc2c2d63ffe94461bb00fd33d97ac9e8c5b2a8cf";
@@ -4106,6 +4518,7 @@ biblatex-historian = {
 };
 biblatex-ieee = {
   revision = 61243;
+  shortdesc = "IEEE style files for BibLaTeX";
   stripPrefix = 0;
   sha512.run = "2f4dd68ea556dc56fde888294bd9a3368efcf4099b95b0c90e60225c3b99181de52b406a7e40a09792b6b58410174d74d774a0aeb1feb4c8bef69fd513861303";
   sha512.doc = "ef24c360fd211b79538aba8394a831a48c4b518bcecc516fee91191aad5b2eef06ce9e0e2e033134499a94dac4542803c32a207b2b71d48b14401b20f5aca549";
@@ -4115,6 +4528,7 @@ biblatex-ieee = {
 };
 biblatex-ijsra = {
   revision = 41634;
+  shortdesc = "BibLaTeX style for the International Journal of Student Research in Archaeology";
   stripPrefix = 0;
   sha512.run = "040efc5b43e2642251921bcc49db1ae2e00342100d302bca24e2b7b11d1724797f1fe7aa254d01b35d1dfa316f2b0f739664f275031c498b157bb652c6aaef44";
   sha512.doc = "36cef635b4603606d36f13b489320e10fad48869b8cdbe78d6f81ca9f3caee0f3e14e408236b1f18e6c7cbf3cd414ed8eb2863058b31e761b4355c6ff1230dd3";
@@ -4124,6 +4538,7 @@ biblatex-ijsra = {
 };
 biblatex-iso690 = {
   revision = 62866;
+  shortdesc = "BibLaTeX style for ISO 690 standard";
   stripPrefix = 0;
   sha512.run = "e337c10a9eaee195b091deddb93fed9416912856599d31562812dc4b5818d495e6ed6443ea1c801298e351be7ae37f830e5ff23d31beba8ea0bcb682da15f5c2";
   sha512.doc = "ec7f5e962bbe119e583c8dd671b28229c39043e1aa06319772d878c8a49e466541ebd5adbab4e1b229afcbf91e9cf981dc6d0918f3358a12882bfa5d282d3a51";
@@ -4133,6 +4548,7 @@ biblatex-iso690 = {
 };
 biblatex-jura2 = {
   revision = 64762;
+  shortdesc = "Citation style for the German legal profession";
   stripPrefix = 0;
   sha512.run = "5fa0044f2a91cbdf550949829ccbec0a11fde1576c6f84f861f1899dbf2ebf4124a63a489f77e487194e61bf4c629772cc77aae6cb35260e8bf92e64552eeb7e";
   sha512.doc = "87d31c5f9c0ea71e28d26df03c88497e8bcf18b07784c57be3c55dba0660cf58e2113cef25e802ea6210a87cadcf2bb2398b43ffbff50519daa62b329b678c4a";
@@ -4142,6 +4558,7 @@ biblatex-jura2 = {
 };
 biblatex-juradiss = {
   revision = 56502;
+  shortdesc = "BibLaTeX stylefiles for German law theses";
   stripPrefix = 0;
   sha512.run = "6f78c1da8426508af972a27b6a23439a3b84c402e6df2494b333111cfddcebbbce639a49c8e900cf52b0e63724a41031b4fee82e0a17f07b479584bb66c809d8";
   sha512.doc = "94bbebfa29a491fa6e502e55236605b5a589c24920d235cbecb8c9372d1e580d586f643537a5ed6afbe6d1656f0d5ee8610cd09e3112a9e2fcd00581937016c8";
@@ -4151,6 +4568,7 @@ biblatex-juradiss = {
 };
 biblatex-license = {
   revision = 58437;
+  shortdesc = "Add license data to the bibliography";
   stripPrefix = 0;
   sha512.run = "f655338605eb7257b2746a73e4f29d58912addeb65a272b3135cd45b32035a58c0f9c9556dc9ffabc34ca8c3b00b4d8c4f44da6654d794dea3bc2a94b986bdae";
   sha512.doc = "8638454c5014f7df6c82edaf028872acd6f6a135389919178e50bb660236e63a299483f3ef4e83476e399e2cff71f1563e4a2fd111c1d18aac20273b3abbd744";
@@ -4160,6 +4578,7 @@ biblatex-license = {
 };
 biblatex-lncs = {
   revision = 67053;
+  shortdesc = "BibLaTeX style for Springer Lecture Notes in Computer Science";
   stripPrefix = 0;
   sha512.run = "b2ab630bfdd41150b0be50d3851c03413ca8c8fbb5756989bf4e0bd8f98480a65eadcb9b11ab879f5cdf3b6c980376ff6ca6507bd26248a9f1b42b9217f656df";
   sha512.doc = "ec622c2258d96900fa8daeef1aee6216eb933870eb09329cb90b7771b3e8668c88cfd253d4da0889ecb127421061bfa7cfbc8df27ac59eb58f7ae309eebc1f82";
@@ -4169,6 +4588,7 @@ biblatex-lncs = {
 };
 biblatex-lni = {
   revision = 68755;
+  shortdesc = "LNI style for BibLaTeX";
   stripPrefix = 0;
   sha512.run = "f5d636b5cfa0125be2f5f87f41ebd0ce7bb853f7eddb4a7601f72ad42267e6456e2212bcdf5d820db3cd8b2aca058123a8dc2bbc67305cedf331d83b9a007b6f";
   sha512.doc = "87f37b95865ccc3d66fd514fa038b8c224e1a7df502e6ab59e65a37457f129b1188e510fee0f307296222d40ce241acc307e6e2d2cef7598cc009fb21a9fd7f0";
@@ -4178,6 +4598,7 @@ biblatex-lni = {
 };
 biblatex-luh-ipw = {
   revision = 32180;
+  shortdesc = "BibLaTeX styles for social sciences";
   stripPrefix = 0;
   sha512.run = "e58e2522d9a4711454166c816b971bbf6bab1f8d1c7eea122933c8b7955a49ad294df410fe0a75375134b77d442bd5214ee25d56d766be7e5843e4ac14d7ef5a";
   sha512.doc = "bbfa55884d3dd3167618f6f9595c301e5faeab0a35cd058cc68922a2aa8362cb3a9d035eaea06ee43c428dd89d23538b15bd4c79c1e095ad10aa4d1d7184f92d";
@@ -4187,6 +4608,7 @@ biblatex-luh-ipw = {
 };
 biblatex-manuscripts-philology = {
   revision = 66977;
+  shortdesc = "Manage classical manuscripts with BibLaTeX";
   stripPrefix = 0;
   sha512.run = "8ac244a6dbdc725b256e5de0389ab4e4bef4f8e1c85d8c173680e66f1ba793679c8388e70e18791c544091a8bc7870459a945c6a5f298a80c530e58d071bf11d";
   sha512.doc = "eedeb99e8712337165d684c38621a0bd7829d3071fe8df1496d2347c5f0b8150af68b20caaad69c8d3e3f08c75a52ab63df5d16c48863d0ea179f15c0f55a490";
@@ -4196,6 +4618,7 @@ biblatex-manuscripts-philology = {
 };
 biblatex-mla = {
   revision = 62138;
+  shortdesc = "MLA style files for BibLaTeX";
   stripPrefix = 0;
   sha512.run = "f286ec7553818df5900e6d5e791d56c815711bdf6dbc3a317bd416dfae9e7b86d94e4d43cb4846cffcef9e9a246f0a059835ab6812172130a31984dbf39b58c1";
   sha512.doc = "a6e5861754ca4e1bb42dc054188777b63d11c1438f83399c4752ea849284bfc7a97943e891983b88117047f59652441c31edf82f382370ba233deafa0445c17f";
@@ -4205,6 +4628,7 @@ biblatex-mla = {
 };
 biblatex-morenames = {
   revision = 43049;
+  shortdesc = "New names for standard BibLaTeX entry type";
   stripPrefix = 0;
   sha512.run = "7e847faa586655aa7b3c92d9379540b2f5e78fb50843e36416e21552c6a9e810945f5b60a96a14c35570bd0403ac29a43af29bd46e2ecb0d87e3c6ac90345826";
   sha512.doc = "c30953fabfd4717c56cc818e55f83995ceb203bfd67775aced3fe8f1f4f4a92b118ed9c40665ea28944806cb2d409a541f59df530e37274e3bc3babfbe55713a";
@@ -4214,6 +4638,7 @@ biblatex-morenames = {
 };
 biblatex-ms = {
   revision = 66480;
+  shortdesc = "Sophisticated Bibliographies in LaTeX (multiscript version)";
   stripPrefix = 0;
   deps = [
     "etoolbox"
@@ -4230,6 +4655,7 @@ biblatex-ms = {
 };
 biblatex-multiple-dm = {
   revision = 37081;
+  shortdesc = "Load multiple datamodels in BibLaTeX";
   stripPrefix = 0;
   sha512.run = "9f83220ae7f2576b4f58394634dea831e5759bf6560ede3244ffb9d18fbf522e9c728c47a4184a43c2dcf6807481a964d7e468e4e6cb921129440bf917925a8f";
   sha512.doc = "f33e650b2faac0c7b9d078f0f4fd9da8a58562c6a9a8b13acbb4b23001d2ecdde105c08b6b6e62f138783d61f3e071f8780afee2f170c134c275ae62ca5a597a";
@@ -4239,6 +4665,7 @@ biblatex-multiple-dm = {
 };
 biblatex-musuos = {
   revision = 24097;
+  shortdesc = "A BibLaTeX style for citations in musuos.cls";
   stripPrefix = 0;
   sha512.run = "129d1c12bc0e4e8fd339f7bc37442947dc492700a721933c9dda0b18edf78a9b402884376cb7d80893a06834f70a5d377fd264813cdf869ce5e40667f296d618";
   sha512.doc = "d2fc62bb25394195a161e47ba116f2e795e6009b5f547d09cae2e21cc0f8171c610013622c2a019438e04b6c089d17c21333e3c70b8faeb09f90113cca9536c4";
@@ -4248,6 +4675,7 @@ biblatex-musuos = {
 };
 biblatex-nature = {
   revision = 57262;
+  shortdesc = "BibLaTeX support for Nature";
   stripPrefix = 0;
   sha512.run = "b4b12abe904d96c9489dbdf248042ed1f1af1474921e0835027220059492f2441aace661260fa3632a65bb2c1ec0ab4e521014e63a14f7fb835293fd8191c2fe";
   sha512.doc = "c5169189b1225dba8631a0f7f5ceb5bdb5267888b2817716e23aa79bd4516665965b4343ed5e1a8e5099eb59ca64cea9edbd31613f7cb02f161b8ba561c6d4e5";
@@ -4257,6 +4685,7 @@ biblatex-nature = {
 };
 biblatex-nejm = {
   revision = 49839;
+  shortdesc = "BibLaTeX style for the New England Journal of Medicine (NEJM)";
   stripPrefix = 0;
   sha512.run = "97443b036769ffe3487cefa6cb5647eadfb8cdb20db0f6607028298b196a0df1ddf1fdee85e3f163a138da47f28019ab32147f65a5f7cb23b46596c96a772799";
   sha512.doc = "bfcf854e7545237dab17bfe3cd2045a1914397a02e5fa31bde2bce8c0e44c474fe0389e2cb8cd59516f4db9a3b538524f8321723a49c41233de637075bb41720";
@@ -4267,6 +4696,7 @@ biblatex-nejm = {
 };
 biblatex-nottsclassic = {
   revision = 41596;
+  shortdesc = "Citation style for the University of Nottingham";
   stripPrefix = 0;
   sha512.run = "a0da4bac443dcbc2c0d8b97d4eed21c171e876cdaee3699a0652c905088056802bc12e1f16965b6b2063e1ca0dee808f5f5e9fd9e5f6da7f956548fd5bf0b222";
   sha512.doc = "d0b6de2439ff0698b14781deecd260d5851b44da80a10827e0b0bf5ff21ddbe46b979dae9afe988ec1520387668a802a777fba28a830b0e0a7ce60988bfe375a";
@@ -4276,6 +4706,7 @@ biblatex-nottsclassic = {
 };
 biblatex-opcit-booktitle = {
   revision = 48983;
+  shortdesc = "Use op. cit. for the booktitle of a subentry";
   stripPrefix = 0;
   sha512.run = "4779618979e358380b2d9d2163a8e62274093bc4e7d7a959364b1980d86110233f3927a80e2dac7390ec43d0626f92311d5923657872d25bdcab5d93dd84956a";
   sha512.doc = "81990177b6cb92dde0e2d1371fa6e5ad6685c9750eac87063e336fd3412b46eca40e091bf2222631f6abcef995fd04c82a3cfd3f87baa2b069c74457edf7f13a";
@@ -4285,6 +4716,7 @@ biblatex-opcit-booktitle = {
 };
 biblatex-oxref = {
   revision = 68950;
+  shortdesc = "BibLaTeX styles inspired by the Oxford Guide to Style";
   stripPrefix = 0;
   sha512.run = "4059920c5183f9ed337b9fbc0e56ddaed2bd7e089028729c606981dddd113e1d916f335283608774b56bc9fbda53822e1e2b9ab8d9c3283a05bbda530ff4e234";
   sha512.doc = "55d8336df5219f430dce34e2138d770557e9d68ede3d15b34a1a1b164d92d58a27664470764c45fb65dc6b5f6e1550e7fdcc9aa5f266027d3543418f7b6d2b07";
@@ -4295,6 +4727,7 @@ biblatex-oxref = {
 };
 biblatex-philosophy = {
   revision = 64414;
+  shortdesc = "Styles for using BibLaTeX for work in philosophy";
   stripPrefix = 0;
   sha512.run = "dad59b9acdfadb96f0be528cdc0cf5c0a89fc6d35f8d74f6d15230cf1177f4766111b6fcd21fb5aaf1694f1d0e720cf98d6228a89bc87c91124a04526e7291bd";
   sha512.doc = "1baca667f89ca22f56d323764de02e93f2ff543e68af85a8e0bf4f23e005caf251d6771012e2df44ba9df35b516e6db449037e5e8d8d54691ff68080957d459a";
@@ -4305,6 +4738,7 @@ biblatex-philosophy = {
 };
 biblatex-phys = {
   revision = 55643;
+  shortdesc = "A BibLaTeX implementation of the AIP and APS bibliography style";
   stripPrefix = 0;
   sha512.run = "76a37bc2d37e2813dc39b9b21cf38788e6da14e60222e4fb36aa90e5c933c18adfcbc1c8affcf9a8e70df14d516a4827599b2c5979828e7e28b77b7b3021329d";
   sha512.doc = "62fe809519f86ad46136c18247b5c440766778b61d1d406df302aec76756a2259f06ae175af2267de30c1347db511f9482503326c28e1d382039d5047a75a961";
@@ -4314,6 +4748,7 @@ biblatex-phys = {
 };
 biblatex-publist = {
   revision = 70515;
+  shortdesc = "BibLaTeX bibliography support for publication lists";
   stripPrefix = 0;
   sha512.run = "6c93da7da5d847fedc4e383e759a8132053ba71bd3e5d33d300f1e31893b6f0c9e528e731e4973814cdaf597da2d22ba6ac4eaf9f75d82f47b46d41899e11906";
   sha512.doc = "83c98481b654b9a905d4ff6b3ec0419dad60ef428fd2b5d8a4602b73f3b061864435be3f0259f5e74b14b7c5887c7a722c223baf519bc07ac46554de58746a60";
@@ -4323,6 +4758,7 @@ biblatex-publist = {
 };
 biblatex-readbbl = {
   revision = 61549;
+  shortdesc = "Read a .bbl file created by biber";
   stripPrefix = 0;
   sha512.run = "d74bd07be5983c2731a418ae0167d99e2bdf8d1a9569186a8940f89af3b9a6fe82f641717638c693b98b61637a705fe280d033282d1e37c279aeb080c4b66399";
   sha512.doc = "9ca0584c36e7247496cd0375e0f6585695f509c4e88d29f23158c5c5c7897758d678082c9c836d0cc878423ab23d54e9a0c2b40c5b63830fd8996a35b4aa09cc";
@@ -4332,6 +4768,7 @@ biblatex-readbbl = {
 };
 biblatex-realauthor = {
   revision = 45865;
+  shortdesc = "Indicate the real author of a work";
   stripPrefix = 0;
   sha512.run = "dec592d3f16a431286f7887af863664d777e09e5784a53e9b99247e3bae86c7928907135980d27614e52ab6bd1f1f59a3e8633ecde05d3f9b84b97c84ccefa23";
   sha512.doc = "bf0ed482905bfcf9bf5a8eda61f609037316012aa2992796c57d48b5f5ccac496dd372ef5e8c88262c8bc5b2d543cbf5f6aba8ff1833a99db6929dfbf379d2cc";
@@ -4341,6 +4778,7 @@ biblatex-realauthor = {
 };
 biblatex-sbl = {
   revision = 63639;
+  shortdesc = "Society of Biblical Literature (SBL) style files for BibLaTeX";
   stripPrefix = 0;
   sha512.run = "6aff57b41510357eb5d73322254fe9f8462917909cbef6124733419122e681494c9ad13966438c5cabb8efffed527b1a455539bb092b9bbe61e6ea8883f9d73d";
   sha512.doc = "e61925481c93e5a1536df91db28544d124aafa5de0871da78b069f4e1765e8a68b4b7e040a4ccdb5c3d8a16140397d33d4e04c212220ba2290968f438e4239a9";
@@ -4350,6 +4788,7 @@ biblatex-sbl = {
 };
 biblatex-science = {
   revision = 48945;
+  shortdesc = "BibLaTeX implementation of the Science bibliography style";
   stripPrefix = 0;
   sha512.run = "e75dccc1a01975776cf94c17aad531823844085e4fa2ba54ba4f74d77ad193c26238eed602f309760f3057b6fc405fd01ec2a7a20647cd8570889832b1ee6bdb";
   sha512.doc = "ad7d8fd4e54830d77f0a155a04cd523c5c789745b5da34b8ea1efe59ffd4ee1673045dec58d28b8234993a70061337178cddda2267506366549c2639f6c917b7";
@@ -4359,6 +4798,7 @@ biblatex-science = {
 };
 biblatex-shortfields = {
   revision = 45858;
+  shortdesc = "Use short forms of fields with BibLaTeX";
   stripPrefix = 0;
   sha512.run = "be9562c2b79e1f01a110708eb6c0de165a9f596bd18ee72dd6c8add0bf380222a31ae12d86ab843083ae3e7f47a608826b985455f4c8501bbe21d4f0a0e15b80";
   sha512.doc = "e6e5e6c113ef43a9784f9000637d526f0bc989358d690d4f41be01e1e22abcb33f347421c727c411c2c02f0c11b1c60d54e7fc23180bd6f66c5c46bf29fc1202";
@@ -4368,6 +4808,7 @@ biblatex-shortfields = {
 };
 biblatex-socialscienceshuberlin = {
   revision = 47839;
+  shortdesc = "BibLaTeX-style for the social sciences at HU Berlin";
   stripPrefix = 0;
   sha512.run = "f927cccda37e1ab37bd01b49f3247b688ba0186db5b162ab9b73db7be5f83d1b261bcfbf355d575a3905cdfca2421b6b592ae0763d7575957ea382b451fb6099";
   sha512.doc = "30c411b27e50e0f4ac46385a07606846ae3dd744879de257e2f2abec829e5920957d55e970255cc51cb768f3ca0aab629f30d2860e5745c4addf5aac10ecaca3";
@@ -4377,6 +4818,7 @@ biblatex-socialscienceshuberlin = {
 };
 biblatex-software = {
   revision = 64030;
+  shortdesc = "BibLaTeX stylefiles for software products";
   stripPrefix = 0;
   sha512.run = "a95344eb338410804347bc0273eacda0c69804a5dd6886932d11d72879f4c59798cc9bf902667957cc26b56adc0c2f7f747e8967f85fe5602dc1e786bd3a717e";
   sha512.doc = "cfe81f1a29f49a756df7595b18ebd492df77fb7ca208418b8627f49180a0a8bcd28b779dea58a88de16b6aa6553243b2755df3e16bca696ecb8a17fc3773135e";
@@ -4387,6 +4829,7 @@ biblatex-software = {
 };
 biblatex-source-division = {
   revision = 45379;
+  shortdesc = "References by \"division\" in classical sources";
   stripPrefix = 0;
   sha512.run = "f7a9b6a9f8fb21a5b9f06e3904ec2147ccd21383c3ced8852b22d0cf62088be103b674466ae571ace6bea52904f6cfb79ef2982bdb16679d02ff1d260d5b3517";
   sha512.doc = "1ae3883454e6aafc91b996de520a4669a06a67cd74b9df7e7cb7d096291d5f1dbe728a2a0fbd3b5968fdebf64946e829c4722bff33ff52ccbf32d8055f042144";
@@ -4396,6 +4839,7 @@ biblatex-source-division = {
 };
 biblatex-spbasic = {
   revision = 61439;
+  shortdesc = "A BibLaTeX style emulating Springer's old spbasic.bst";
   stripPrefix = 0;
   sha512.run = "478c5cf4f9996e8b15b13a1ea08b53ea03ef731666095f5374bbca6e16c93d0f049b891540742821140e91a30a8af1fe3c233ec45df1dc777b7c408b52676d97";
   sha512.doc = "9c12f5fc1b328ef0369e7c82c2a25162568cd1d1568aed4ace480a639a38e10642e93ba20939fb0adfed2ee16b44e9a7abcb3eeb6fb51bcbe47bce7436a590fc";
@@ -4405,6 +4849,7 @@ biblatex-spbasic = {
 };
 biblatex-subseries = {
   revision = 43330;
+  shortdesc = "Manages subseries with BibLaTeX";
   stripPrefix = 0;
   sha512.run = "37955d7e547fceb3e3856f5e367d39a4952ee0d604652963db2a54466e9d6c1effb6b2c195ffd1dd15eec5552df97419a09763bc51af06c6726dbe40a6e3bbae";
   sha512.doc = "94bf4807e0623c35690ef7b1fd879710a762630224c0a52ee4e7b4a96c27001a9653de2c7d2ecd2a12cda448bfbdc336c54bcc8fb6674782af017cddfdc8e5fb";
@@ -4414,6 +4859,7 @@ biblatex-subseries = {
 };
 biblatex-swiss-legal = {
   revision = 64491;
+  shortdesc = "Bibliography and citation styles following Swiss legal practice";
   stripPrefix = 0;
   sha512.run = "12781675dfedd279313be790c218e7e2fab876774207a45caf8f7843eed74a37c460038cf403d3ca38a5b849866917a24e5d61df25cc7ca44606f9b606e95a26";
   sha512.doc = "04338344d00c9df040b2aaedca7a6c8d34caf1077b9da7322ab7db6b17c1fa32da7c170e45621f5705f552eee3c2392f78a6bafa8bcb918a07452d7e696cfba2";
@@ -4423,6 +4869,7 @@ biblatex-swiss-legal = {
 };
 biblatex-trad = {
   revision = 58169;
+  shortdesc = "\"Traditional\" BibTeX styles with BibLaTeX";
   stripPrefix = 0;
   sha512.run = "e14b9326eb05af2a89eac072d6c71f61527a53a813605bbb399703d2a23cf7ddcfaeb2cc77f6f7b8959e05833ae3eb343224bf126907193af557d09fc1746552";
   sha512.doc = "32d6fa6369359e15717257be6e89f77081dbd352654d4c60d55f4de9c5f522f7d222b51bfb5a1eedd7f6378343d041380c5e97e559e681bcf7647e0695ca13fc";
@@ -4432,6 +4879,7 @@ biblatex-trad = {
 };
 biblatex-true-citepages-omit = {
   revision = 44653;
+  shortdesc = "Correction of some limitation of the citepages=omit option of BibLaTeX styles";
   stripPrefix = 0;
   sha512.run = "908f6544890f69b4ca405c94e68c4814c52956bb77108f8e29bb4b6b63ad7de3bc0b1f1213a612f9e0ebd94ddc054907092451a9f326476f39e18a1f81ed0c63";
   sha512.doc = "bb53e66c1aec87669be8bb608f82cd7683692cf87aeed792d1e9d49045039c15fc7113fe116e04332e8aa6331101a6e97e97f655e26cecee9636409d810f77e7";
@@ -4441,6 +4889,7 @@ biblatex-true-citepages-omit = {
 };
 biblatex-unified = {
   revision = 64975;
+  shortdesc = "BibLaTeX implementation of the unified stylesheet for linguistics journals";
   stripPrefix = 0;
   sha512.run = "01d07011f31b2e62d6438390fa81b5b86af50a9007ef66316a8c2125c2670015fba458fbe128a409c49510baa054b2dbe6c0ed0f153366c5aab317c38f62ff84";
   sha512.doc = "56158b821a29bbe55b67520c9109569afa8b9338af18875da42f95abdf934e5b89bfd9c4bdd41de7d5f263011ab98516916d358be4f36278c6d4cdacb8964300";
@@ -4450,6 +4899,7 @@ biblatex-unified = {
 };
 biblatex-vancouver = {
   revision = 55339;
+  shortdesc = "Vancouver style for BibLaTeX";
   stripPrefix = 0;
   sha512.run = "9d31315ce02bc47869a3e11644fe3160bb7b0178f87f71a9f3c06e54326c49bb1c37daee0c02f7185ef50513afe0aa4bbf8070b91db3181a2185a138daef48f8";
   sha512.doc = "ac285c5568d8651e81680576950d593eb5247b636c1c27b0a2a4a6758bc151b51f6e2b4938bc9273cc748924cb9f6193f6b58b883692ce03fb272316b8ec7204";
@@ -4459,6 +4909,7 @@ biblatex-vancouver = {
 };
 biblatex2bibitem = {
   revision = 67201;
+  shortdesc = "Convert BibLaTeX-generated bibliography to bibitems";
   stripPrefix = 0;
   sha512.run = "ff86dc4068b0b3065e19af6447a71396337d9e7e5394777c1c385b714d01f2ce983c45923b460c60784024a8068ad68f05ee8dfd14039b65c2d9d9a61ef584a5";
   sha512.doc = "21a53b0f4612fc18cb43f12cd6b1d1f72db896d0c55f73928fd11399598c04973595895d7cfafa546507e19cb25811118de9d07a8e9e1e242e22bb8d17e3486a";
@@ -4468,6 +4919,7 @@ biblatex2bibitem = {
 };
 bibleref = {
   revision = 55626;
+  shortdesc = "Format bible citations";
   stripPrefix = 0;
   sha512.run = "261773de4bfeb039d4cb3f2dd88ca7c2ae229d2844ae0f5f454e06d888d9543fbe1439490895a49bbcbc79d8335151bba2a35bf36777113a965613efdcf9225e";
   sha512.doc = "964f8547c073db2b174d9ddfd1f6d0ff06df5bc51b2050725da20687f84ca835f58ee238f3f1a9d6d4ebc1858217ed0d8b2950964cdd638012d91e94bf92aa19";
@@ -4478,6 +4930,7 @@ bibleref = {
 };
 bibleref-french = {
   revision = 53138;
+  shortdesc = "French translations for bibleref";
   stripPrefix = 0;
   sha512.run = "f768d01206a35a6ca18ba777fb159294f566be365845bc82d344e9eaa3dd7cd0c1763564b7e17d4a1b851330405cfb3c383019b575276bd9b12d084c4845ed89";
   sha512.doc = "e72ac2b74f01df60c998896b76013eec56a3d8cda8df2f26f92d05d342760204913d7d70a6c8f63680f54bf3c84fb1c654c213ec2356dcf189bf9e134ce4de30";
@@ -4488,6 +4941,7 @@ bibleref-french = {
 };
 bibleref-german = {
   revision = 21923;
+  shortdesc = "German adaptation of bibleref";
   stripPrefix = 0;
   sha512.run = "094177e505025eef5262b876fc49cfb09435b653c87fb1ee7453650e94f098bfbc7f5c78684849b3ce0cec2019d85a0413728397b5ffaf32bde542d8fa86222f";
   sha512.doc = "c3c610fd8a80ca5a0b8de6ce4aac887a7d16f01e21d845fad595e1d5d6069d8e89459dfd187cc458d21bf2247f4f2c7fe72233a12c8e532b9466f2ceea283360";
@@ -4497,6 +4951,7 @@ bibleref-german = {
 };
 bibleref-lds = {
   revision = 25526;
+  shortdesc = "Bible references, including those to the scriptures of the Church of Jesus Christ of Latter Day Saints";
   stripPrefix = 0;
   sha512.run = "ba3c4e41b566d0a26bd9f0d11d8e776fe04a18aac451435ff0283ff273971138407753bd6806f34708c5a2f0c1b2581c71de46bbc2e0c8063c9838b3d946f2ca";
   sha512.doc = "6fd81f90d0c94644231e911ab44827b77864842a3fa91127fb53114179488e5ffd66a404a1b5afee513e0cd3f4c83f38cae547e6dd6484403926c4c46b5cdec7";
@@ -4507,6 +4962,7 @@ bibleref-lds = {
 };
 bibleref-mouth = {
   revision = 25527;
+  shortdesc = "Consistent formatting of Bible references";
   stripPrefix = 0;
   sha512.run = "5ae9356781549cb5ecbdfa33085ede0fdbcb7f131d55484153484c777f88e23cf965507afde803e7bc5b775aeb416b9ee767815b5dbec444a3d21be18c7445f4";
   sha512.doc = "a904b4c9c0c8f3ff1feaaad8d1650b383ff0110bcf463f004938c51bce84ffc860082bf3e598922eedf0aeaa664ef0379ea3304f6dc5b681679d9545026c6bf4";
@@ -4517,6 +4973,7 @@ bibleref-mouth = {
 };
 bibleref-parse = {
   revision = 22054;
+  shortdesc = "Specify Bible passages in human-readable format";
   stripPrefix = 0;
   sha512.run = "3af7da247ff7f9708ef076a3fe110979e7ff07be0afb08597feeda9ae31e60a66eb2bbbb5da015e10566e83a116cc9f2efa56fe91a57717230fb35bd004c209d";
   sha512.doc = "08393d76bca59dcbd715cc443ffbf7a1e15894ac6a2963d0ce770c96974c14d42283fd9237c215fe454ec4403a21387ba9dee52ea1bd93b83ab4a13fbc65157c";
@@ -4526,6 +4983,7 @@ bibleref-parse = {
 };
 bibletext = {
   revision = 45196;
+  shortdesc = "Insert Bible passages by their reference";
   stripPrefix = 0;
   sha512.run = "3c5170b747c6426099c021390f7ac226ebf9dbe42ff586c698b3489d47639fcd4198a4cf49261bba9335caebf8f39488d65fe851d60d9f3c2cc2127539ef080a";
   sha512.doc = "ea38659b5b2bc252760937ecf21d4ac3e8986ac8be6afdc1f2205d84696b8da55e02037bcddb24de389d54a692240ae946ab3e41a0a7913015da4d7b5e12da7f";
@@ -4535,6 +4993,7 @@ bibletext = {
 };
 biblist = {
   revision = 17116;
+  shortdesc = "Print a BibTeX database";
   stripPrefix = 0;
   sha512.run = "02f006139b475cb5d4ec2bf85ec098de78f5bed7242ec693317ad4e01acb62a8c5479f295a8a1409fccd41b327daa75a2639b67d9838777b8355e6bd40af478c";
   sha512.doc = "b5bdd51d7acb738569671f13dbd25fc7b98a8e2e03e324e9501a20ac34cf1ae3578fcd622be73a80467e47a64a81f4d897c4e167b07a5ff5d06635b09dbec51d";
@@ -4543,6 +5002,7 @@ biblist = {
 };
 bibtex = {
   revision = 66186;
+  shortdesc = "Process bibliographies (bib files) for LaTeX or other formats";
   deps = [
     "kpathsea"
   ];
@@ -4558,6 +5018,7 @@ bibtex.binfiles = [
 ];
 bibtex8 = {
   revision = 66186;
+  shortdesc = "BibTeX variant supporting 8-bit encodings";
   sha512.run = "27008a8ccf05b7f48f7668ea171c9d53063fc26c09ac4507a3eaa86eb22b94cbd70ba6c2b7a8d439d7978a3860be37733dcbc17f7cef930d06dc5a45a89c95d5";
   sha512.doc = "c305fe0afcaab072ee07542b8bae8475ce205744500f81c6de400b2bcd7ac05ff65a025301319f80a668ed35d653105c0ec0ab392c0c893f5d76802a1806bd04";
   hasManpages = true;
@@ -4570,6 +5031,7 @@ bibtex8.binfiles = [
 ];
 bibtexperllibs = {
   revision = 68910;
+  shortdesc = "BibTeX Perl Libraries";
   sha512.run = "54e8413435420357c6e4acb1ab28a6aa602f1a222ed4b3350aea498a3516f48cfec0d04e9951a3ea0117184855e32d891d2c04af98231763eb1c5f7bd1700aa5";
   sha512.doc = "e2a1f67710cbb6b732f5dc9b39e4ced5150792c06d0455704375cfd6def134dfbe54a8d92dc1dd88896a6d5405e662dceb15f0282e9d82a9d2f857a91a8b4fe0";
   hasManpages = true;
@@ -4583,6 +5045,7 @@ bibtexperllibs.binfiles = [
 ];
 bibtexu = {
   revision = 66186;
+  shortdesc = "BibTeX variant supporting Unicode (UTF-8), via ICU";
   sha512.run = "fce13fca4fd3d65b04a451365c5df50e4990bb62b0e8f878b712e9062f7d240a33ca6cfdbccd2ad2df0179be1cbaf2421ca32bdb745f3b9d9c67829d4c739916";
   sha512.doc = "0f200681fd81074a5f23477ff99ac9e08e2d123056544edf7bc5b7b7645c22b74b66404028133037b5e47ffc4ff7c0059a1ed375ed0d3e4d211632c44f37072c";
   hasManpages = true;
@@ -4594,6 +5057,7 @@ bibtexu.binfiles = [
 ];
 bibtools = {
   revision = 67386;
+  shortdesc = "Bib management tools";
   stripPrefix = 0;
   sha512.run = "72472e2c51a0b984feae71dd1bacd72880df1438406301219c80f1dc6a8702b0d7c1e2bfad7ffdbd025e58c14a069335d4f5d6f1fe981d5bca259a6eba94bd4b";
   sha512.source = "3507bf7da29aad37a43cdd1ab2668908e227a2002438fb161c822fbac48be0e6b120070d6866fa553205ed404375d160e3a8b756c0681fb6a3e3b5600ac7a7b1";
@@ -4602,6 +5066,7 @@ bibtools = {
 };
 bibtopic = {
   revision = 15878;
+  shortdesc = "Include multiple bibliographies in a document";
   stripPrefix = 0;
   sha512.run = "34e2a644cc4472f415522e6e798bcb1e2d623afd4783b07f4904405c63296ec912fb6c1d03f80d51c37ab81944cddb5b4f3678a22a7151d89376ed9aa343e9d7";
   sha512.doc = "5849fd57abb9bd847833993e660e342a537562bea9fba76376f3885d3bd09360c5783e4f04828137b43c076b635a2d566d908be48287c3fe6645c2abcba06652";
@@ -4612,6 +5077,7 @@ bibtopic = {
 };
 bibtopicprefix = {
   revision = 15878;
+  shortdesc = "Prefix references to bibliographies produced by bibtopic";
   stripPrefix = 0;
   sha512.run = "1df7d78498b6de233aea92cb1b18f73893b8cab723fb614a9fe895e5131639c1b4f4318cbe103ea4d9308e383627873576664f0af3ac6fd26aebd5b8b0036379";
   sha512.doc = "473a7db7638f471fd87b1cb242a3a593e3ff0aa4586c1fbe906cf12f2dd866a27ab50176b01d3f4158cdf0fc263fa54ce16eb63c797392349fbc90a8422c3b2f";
@@ -4622,6 +5088,7 @@ bibtopicprefix = {
 };
 bibunits = {
   revision = 15878;
+  shortdesc = "Multiple bibliographies in one document";
   stripPrefix = 0;
   sha512.run = "5658d508b876a88f3916a190a9090d66f2dbee98260af8d23c8358d0708f27fc80d4cf6c348b1f6e1ff196e7de6d5567e371ada640a9a602185611fb09e64ddd";
   sha512.doc = "888e5a4c1863c15112ece5763b01525a1a74f97ae1270495a41d598e73c4583ce2b9e28030b3054dcfebd60b038fb2d32938d6be947477fca93014fac70676af";
@@ -4632,6 +5099,7 @@ bibunits = {
 };
 bidi = {
   revision = 67798;
+  shortdesc = "Bidirectional typesetting in plain TeX and LaTeX, using XeTeX";
   stripPrefix = 0;
   sha512.run = "e589f50dbd63df9d711540ad90b53384e52a5a0b353e2ba050657af3273f3dd7b65925101465d89831ea133504701c6d05d01ef959fcaa2570bb1188384c621d";
   sha512.doc = "09ac7b97d9d1a93b80e8dac120cd6e70932ca9239dc94202449a476979caadd596677a210b27700e3638c3cf0bcecf98c4f903ea228f94545a2cf5cb206abcc8";
@@ -4642,6 +5110,7 @@ bidi = {
 };
 bidi-atbegshi = {
   revision = 62009;
+  shortdesc = "Bidi-aware shipout macros";
   stripPrefix = 0;
   sha512.run = "5b16cfee9c71927cff133db3b967dc835634553d0980f74164fe8996ef86c3529439e85e00678219879cab41bde2027f3258b2862906b58634713e4b7d16c515";
   sha512.doc = "05b8118cbc59f06aeb87ab3b5b6a7f7a14dd23543c9d45621352ceec58998601a97af31bb6b0c999047efb362c24508f769be3c2e483c21a814b8ff35bd0bb96";
@@ -4651,6 +5120,7 @@ bidi-atbegshi = {
 };
 bidicontour = {
   revision = 34631;
+  shortdesc = "Bidi-aware coloured contour around text";
   stripPrefix = 0;
   sha512.run = "10364edc592375f69912888945e6d555df30627498aaae409b727392c64cd4aac386433119578a7a01a48bd0cff84aae33079593219b282feb9d96a68bdde78f";
   sha512.doc = "a1a3f9692ea2e462305f8c6db432586eb76d78cef5fa0e9057cbe5766ad99e25c560ad658569a92d1885e373fb6215fe2f9bcbc1c69b46c3088d36eb92e1aae9";
@@ -4660,6 +5130,7 @@ bidicontour = {
 };
 bidihl = {
   revision = 37795;
+  shortdesc = "Experimental bidi-aware text highlighting";
   stripPrefix = 0;
   sha512.run = "fd82ad18b96cdd782fddab8739e09978d08fc37e8c65a177bde930671e102c9ffefe7465fc766860068188f6b9f8222119ac791f07223f79e9840f25659ea3ea";
   sha512.doc = "c9d0503857f2cfa960e36872757afcab17b2631caa8a33112ff2361694939774052a5249db62d21831e19c17826f422853a78c5522094706bd4208d4c5223019";
@@ -4669,6 +5140,7 @@ bidihl = {
 };
 bidipagegrid = {
   revision = 34632;
+  shortdesc = "Bidi-aware page grid in background";
   stripPrefix = 0;
   sha512.run = "b823a646d97c15ad9beb3aebeb7b2156aefc3ffd7bdec813e9cb2481e137cd661936c57bacc3b8c42509151205dbd4096329b5cbec25bd06698b698c59739551";
   sha512.doc = "615d87ca4c29e0a30cf1eee08819b10419a2f399a88f2bfed5bfb6eaf7b1adc8b64a2ccac5da7bedab4e4b951e80488b97203b9960980ca5919f653cc4218996";
@@ -4678,6 +5150,7 @@ bidipagegrid = {
 };
 bidipresentation = {
   revision = 35267;
+  shortdesc = "Experimental bidi presentation";
   stripPrefix = 0;
   sha512.run = "a41f98c3f009f7f8de8a41e386cc829c55650e603ccaa8e7e381fae45be2872e0b20e66b68e4d7ef8110abf7c9f6661865d49f7c0cf3ca4ae6f781c3ef5bc0ac";
   sha512.doc = "56993d41b237d25e00536926b3b23f1b1a6940aabe4f636df73cabd5ec27252de9fb8ff17d872cec3cda7a0a3b8b13013ec77477dd89ebba83a8406da3ee144d";
@@ -4687,6 +5160,7 @@ bidipresentation = {
 };
 bidishadowtext = {
   revision = 34633;
+  shortdesc = "Bidi-aware shadow text";
   stripPrefix = 0;
   sha512.run = "bf9a75be6d1f37055c793a16b0a4d019579adcbe14a93b64cec5495e4d7c8bcd8b8c6d86906714f8aa47be5789209a1ce78d19e8023b44b9d52409b281797310";
   sha512.doc = "ac2f47ed1a5535ff1f0030c38bc210b2e3905bd46ce7024d5237387faf87be6a408ea35648f83a2ad7697ec09a91a4cce1aebd32c3446756adf1955bfa97f7c3";
@@ -4696,16 +5170,18 @@ bidishadowtext = {
 };
 bigfoot = {
   revision = 38248;
+  shortdesc = "Footnotes for critical editions";
   stripPrefix = 0;
   sha512.run = "f56fb1545e0a044a143d1a257b9784b5f5dcc56d68bbeb52f909eb928e9d749729135f0c76b3af6dd0306add550b440d32aee21c33e70b9b48a5a82220623702";
   sha512.doc = "f5935a5ede836798f3eab1ff61d528870a07be712047a64aa5af5576a1c6032e9d88fb5c42cf216e0f9812266f9a8562b5290301446c654dcb46146d7b60a16e";
   sha512.source = "75316aff3c594fd904adec7cadd0b24aff9d527479d0c59f3fc654772e29cdb4cca938fe5fef6e14b9928fb25f37fdd3f7a894a81f95810813875c4fd419dff6";
   hasRunfiles = true;
-  license = [ "gpl2" ];
+  license = [ "gpl2Only" ];
   version = "2.1";
 };
 bigintcalc = {
   revision = 53172;
+  shortdesc = "Integer calculations on very large numbers";
   stripPrefix = 0;
   sha512.run = "c801e5953008e8cd8521886496238f4f7a86a6c65a160255beb3fd6a41a48dd7bfa2da438f8e1ae4c79b51f769f0e07bcaa7c3c8aa6e1204ea656aca3d1f4620";
   sha512.doc = "f5e7cc163157e429906489cb3cb94d8694c01be3c720e03b85bb24c7bd757391cf09e08f3d88df4ae7485978042e9d408fc5af0d93e016c82912479d40457079";
@@ -4716,6 +5192,7 @@ bigintcalc = {
 };
 bigints = {
   revision = 29803;
+  shortdesc = "Writing big integrals";
   stripPrefix = 0;
   sha512.run = "23f9a529af214771f74c6921baf8582b6a3c5e170d0fa511c260f5dd3fb6cb6194ef4082ed299dc0a3ff8e413981a36b594b440e7bc5512c7d2732fed9eb7a8e";
   sha512.doc = "46799d5c6758657eadca7fb30d214baf47c237b63655a71ad19e188fd54b664397babbbc5cf6d9897e81decd027dea1e0d1a6fea97384461ec8976fc19c7fd8d";
@@ -4724,6 +5201,7 @@ bigints = {
 };
 bilingualpages = {
   revision = 59643;
+  shortdesc = "Typeset two columns in parallel";
   stripPrefix = 0;
   sha512.run = "e7d92cd1e11e1604f94b3a825953ed1f876a39dce3dd383e7ea1e4e166b9ffb21786911f4b408ab5d53e6f770225176251096ca9df0a187feb530a27ad167b5c";
   sha512.doc = "bcbd9f48dad1b84c96fef7d6b5e0a343a261a20ff35434c5e01d4b200229764adff383f2a718c6cbd89e4b208e6de1c403fd7c614dc1c247bc5a344cd3f3d504";
@@ -4733,6 +5211,7 @@ bilingualpages = {
 };
 binarytree = {
   revision = 41777;
+  shortdesc = "Drawing binary trees using TikZ";
   stripPrefix = 0;
   sha512.run = "b2204194393811994915604d428e0b537bf871681ea42a93d1e26a74d01cdee3ccd7817e7705cb6a3b9a1f2a97381e23226db9d671ddc36beb5c478271099cc0";
   sha512.doc = "4ef9f7db1d9cf124112e3f3e5c6db7e0b53bd72a5d7674a9f0ac7c471b88ff72309705b8d3942277a93883ef821907f0119d4dd3f645c8caa098f363612df68a";
@@ -4743,6 +5222,7 @@ binarytree = {
 };
 binomexp = {
   revision = 15878;
+  shortdesc = "Calculate Pascal's triangle";
   stripPrefix = 0;
   sha512.run = "61cd0072f766bc4abb1e3ed828d06c0e0ae6fb74902ad86e6c4ff3279ddd84386bbb0b1d669d9e71eef362c8d50577047e6076b174ca5b54da8680a43c5e1715";
   sha512.doc = "9f8e24377ef858e0b3ecc94dc87eeeae08931084316034ea5e3de822ed8b6a65c4744b744a547aea19d3486bb6f2b04f46f1e7ec81cac2470d16b7134885d355";
@@ -4753,6 +5233,7 @@ binomexp = {
 };
 biochemistry-colors = {
   revision = 54512;
+  shortdesc = "Colors used to display amino acids, nucleotides, sugars or atoms in biochemistry";
   stripPrefix = 0;
   sha512.run = "ff6e61f48eaae649c5b14b60e85c46743dabc6fb841f3f2bdda0723a5a6cfb7a45e21e48574e4bc558ddd436474c356c5d2f767cee1299da3ff67db5c70c03d0";
   sha512.doc = "0abc9a2d3318627f861be23bd175836efc6956147fbfc16f9ec84b4ff5f137f7910a12ec370c3baf3ad2dc08ca2ca197bd02e371ec258e9538eac4f11233f9d1";
@@ -4762,6 +5243,7 @@ biochemistry-colors = {
 };
 biocon = {
   revision = 15878;
+  shortdesc = "Typesetting biological species names";
   stripPrefix = 0;
   sha512.run = "54676e4acaee07609c379d387af4f06b45a4bc0051a3333c250555536114b3862da73d70305b1f62adf7afca2b4a2157cce8afd9e20f10e49b01d4c2ad351cdb";
   sha512.doc = "c296c8402129338295a3043a66bab91a499b29703f7ecead0a045e0820ced683a4c25168ecdfc184c07282904afed3703b31f8ca707492a913de7c49a351c322";
@@ -4770,6 +5252,7 @@ biocon = {
 };
 biolett-bst = {
   revision = 66115;
+  shortdesc = "A BibTeX style for the journal \"Biology Letters\"";
   stripPrefix = 0;
   sha512.run = "35fa3e7a46706c715783b10997888a45cfe6f84b465562f894eb9914915e608f420b631e9d4e7fabe3d3d83424c089288c848ee34cae5cd08d1d778e4ad64155";
   sha512.doc = "2a839dfad925ca94f26bada0d14fecdd7c096d3c99e903a57e4a1d093b2d1b9cf8770974aa1ac51baa9759c68e2a4fdd6efbc861c5bdebaea4cb523c00662487";
@@ -4778,6 +5261,7 @@ biolett-bst = {
 };
 bitelist = {
   revision = 25779;
+  shortdesc = "Split list, in TeX's mouth";
   stripPrefix = 0;
   sha512.run = "a2022ccc4f45f7a911eea4e99557764770b4e6f2ba0333e043fda2419e29d93bac40462fd36568354a415a9b27204a38620e6191fddcdb053f8956aac5747cbf";
   sha512.doc = "5c3186464aaadbf269b26321ed9447e8a1633ca9b4a7b323da692277ab074f15b6c39df866eb41955dbd6ca8b0ff76a115786f3273fdb293bfb79893dfe0de99";
@@ -4788,6 +5272,7 @@ bitelist = {
 };
 bithesis = {
   revision = 70136;
+  shortdesc = "Templates for the Beijing Institute of Technology";
   stripPrefix = 0;
   sha512.run = "d5b2a6bc2fc272a452a3e8f7e7c05244b701d77d409d026456826d63d11d7f5c0296f00980ab06326d0334c47fe1b2ba4f8397379e35ba3a8a64e7ca1071a3be";
   sha512.doc = "8c31242c162f0d0927b95385cad88d9214294c270674ae5d1674f03e825e9d09cb93b26aa480ca7e38043038b9bfdfd7f50acd14e2f5644f038db451c2dc09a0";
@@ -4798,6 +5283,7 @@ bithesis = {
 };
 bitpattern = {
   revision = 39073;
+  shortdesc = "Typeset bit pattern diagrams";
   stripPrefix = 0;
   sha512.run = "34a0ade2d1110a15618b2ecc7f46a413519a0864a2e5cd1e25eacb9dd76cc66b35565b4b8c015780fa1d3dc88e2237ae7de33c77e29fd5428758a526959625af";
   sha512.doc = "d1fd1b2b46d7846804c9163889bf3a96cda2e11e35de2328c9043f99ccd9d0778710219593565ec9231775e1404d713edd7998e3fa909ada7dee35333137b56f";
@@ -4807,6 +5293,7 @@ bitpattern = {
 };
 bitset = {
   revision = 53837;
+  shortdesc = "Handle bit-vector datatype";
   stripPrefix = 0;
   deps = [
     "bigintcalc"
@@ -4820,6 +5307,7 @@ bitset = {
 };
 bitter = {
   revision = 67598;
+  shortdesc = "The Bitter family of fonts with LaTeX support";
   stripPrefix = 0;
   fontMaps = [
     "Map bitter.map"
@@ -4831,6 +5319,7 @@ bitter = {
 };
 bizcard = {
   revision = 15878;
+  shortdesc = "Typeset business cards";
   stripPrefix = 0;
   sha512.run = "1575499c7118a96f3273c5b8d68e25a20410daeecbce48d1e6355039b97867b34a06c40785052d378dffbc80b862beafc06b9fedf62254d8b31445d8f95cdd29";
   sha512.doc = "f529ec77b370def29ad77927170874dc02af37bfb9f57a4e1383b5adaa93f6e59aa33df06d40a80e2374db514f55e2f115e7c8f22e4c92cbd3cb621d8a735bdd";
@@ -4841,15 +5330,17 @@ bizcard = {
 };
 bjfuthesis = {
   revision = 59809;
+  shortdesc = "A thesis class for Beijing Forestry University";
   stripPrefix = 0;
   sha512.run = "e017032edb4e87ae31318179de5da789cbe2164ea5679d69e928a138242adb1afa8dfb3f8b9b7796bc6d5bf21c143f51e931656439a451ddf868c77c7a7ac559";
   sha512.doc = "657e45d4faf201c2d878c5323e3fd7a283bbe4bb4f868b1413e9b8eaa1db00d03771a4d4211e23549121c5dd480cfcfd8ee8e0edd7e56615a3c941c100465c44";
   hasRunfiles = true;
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
   version = "1.2.1";
 };
 blacklettert1 = {
   revision = 15878;
+  shortdesc = "T1-encoded versions of Haralambous old German fonts";
   stripPrefix = 0;
   sha512.run = "eb7d531fd91c6d46145c76a08678033e20097805b3a911fa85194217104e071c56d3842cee83c275a11cd4cdee162aee4630d86025cab76806f20e19c975076d";
   sha512.doc = "a1f18f4adc7f26b9e71db6f171ddb4a8eb15912cf57445110a9da52eb4e0b017a0ace85ddc46ec2df36e73ee3d9bf8dee087fe4467f46bb2bd7f708108585412";
@@ -4859,6 +5350,7 @@ blacklettert1 = {
 };
 blindtext = {
   revision = 25039;
+  shortdesc = "Producing 'blind' text for testing";
   stripPrefix = 0;
   sha512.run = "3baf7b9db502824ebf1cf8892cafb189654ad0a91a8cfba399e103b417a91e4f137918b73201fb5988c8dcecabc557865e190cdf77af35e634d0519d52715795";
   sha512.doc = "290a4c76fbeb8003c6972933baaa95e62b37310594e459e27083326977d370c1408de95eae44d05d848c61eb22b555792e5e38f4a0b70267d6a87c0314268501";
@@ -4869,6 +5361,7 @@ blindtext = {
 };
 blkarray = {
   revision = 36406;
+  shortdesc = "Extended array and tabular";
   stripPrefix = 0;
   sha512.run = "5ed66db84619cd9130e68e05acf617ed0007db9ea35895e31ad96b543f7d6a01fddf00304f05b0fb71ec9484556326ebad1d895b81b821b9f19fe6ae9f3ee12e";
   sha512.doc = "81f1d5b5609531deda3475eb906b841d33a6e01ee49c54102474d852856172954d943ee02648fd1ce74d5bf4030db8d36c7b6786c9fe3105f3be08fea36fe207";
@@ -4878,6 +5371,7 @@ blkarray = {
 };
 blochsphere = {
   revision = 38388;
+  shortdesc = "Draw pseudo-3D diagrams of Bloch spheres";
   stripPrefix = 0;
   sha512.run = "cf7a7865e3e994f2b951a24018b1b1b71ce2b61542751f495dc14ebc4964a1f4a2833d95bde9b8920d4a4fd60ccc03760e66b8ab64f6b14ff77b9206c98e19a2";
   sha512.doc = "3a9706ba73e8da7280495f9d32d32a38c9119bac9b8497e7e1bc69a704fde2552848d60ab0ec175544046fdc06b3e8887b4eaeb1c50a5796144cd56e4a44d9e3";
@@ -4888,6 +5382,7 @@ blochsphere = {
 };
 block = {
   revision = 17209;
+  shortdesc = "A block letter style for the letter class";
   stripPrefix = 0;
   sha512.run = "0dedf4b50238e3f12c3d17eca19e4640f2a36511fd65fe4d0baf4f221df279a5d9f28024cb0e20f528e32921e1d6b4c785071210e5ff6471c73e42e58faf89a5";
   sha512.doc = "77b8c5b6949fb7eade5eee082be1c28433136b8374d45f255a80daa0c7a0340a3154a9f6f174fc52b25c252f1b5a2304b32e26c6d6a2f9af033569d7ba602952";
@@ -4896,6 +5391,7 @@ block = {
 };
 blockdraw_mp = {
   revision = 15878;
+  shortdesc = "Block diagrams and bond graphs, with MetaPost";
   stripPrefix = 0;
   sha512.run = "86bd39051095fde2a99b232b1139c4c196467d0e1825b3c1c73bd25551a55edb6417a0810b20c4ac3d53ff82519364f2ac72fde3845a750396a4f6a8966c73ef";
   sha512.doc = "01fc4226a952c76b52726d1217649d9d98ec708163e4a9b997e36f505b385ed145182bca747a2b5334cfe8b4663d010a699664728c5be05cc4daba63ff1f3c00";
@@ -4904,6 +5400,7 @@ blockdraw_mp = {
 };
 blopentype = {
   revision = 69080;
+  shortdesc = "A basic LuaTeX OpenType handler";
   stripPrefix = 0;
   deps = [
     "gates"
@@ -4918,6 +5415,7 @@ blopentype = {
 };
 bloques = {
   revision = 22490;
+  shortdesc = "Generate control diagrams";
   stripPrefix = 0;
   sha512.run = "06b18467956f6782de7e0dad41f66a79e1c7dc5c3ff007a8970f24740dd5edfae0e375288c3510a8acfcdfda7b568f2316827cad1b6a006789afe8a31f829f4f";
   sha512.doc = "fe37018f08820f21bf188301d0145e42b50563d8dbd8f9b232e6fa1b7eecda931e8a42d40f47ed7cbae24235833eebab874e30dd24d8393dc728d6fcb10057e1";
@@ -4927,6 +5425,7 @@ bloques = {
 };
 blowup = {
   revision = 67640;
+  shortdesc = "Upscale or downscale all pages of a document";
   stripPrefix = 0;
   sha512.run = "52cb1cbef8c97f265114decec953472b2a8804659d60ce3227aa5904827dacb1cd6156c189a6e75aacb2051d8237298690c6ce6816ce9425fc293c8e32962236";
   sha512.doc = "c038502451d1952927f9b9e1648fed009452d00a5d9db06429f8968ec453cb7863444ee0e41073dce5c0c4990c2487ebd818ad51bf72d1e7a91257ab76684729";
@@ -4937,6 +5436,7 @@ blowup = {
 };
 blox = {
   revision = 57949;
+  shortdesc = "Draw block diagrams, using TikZ";
   stripPrefix = 0;
   sha512.run = "4f874416f3115f9abc5514d805952d576d3ee597475ad27523990820d485a3601e43e503a23d948a875db343ce4817eb7fedae6aef48a78a38a1656478190b74";
   sha512.doc = "a9b8c964c8a43d9d6b0c4b5555c2c555246d04ad0c0b1209ddf953958f52af8e2ce3118f573d12c0bf727a2545a326bd284e61a27afd417cb672480e1025a5ac";
@@ -4947,6 +5447,7 @@ blox = {
 };
 bmstu = {
   revision = 65897;
+  shortdesc = "A LaTeX class for Bauman Moscow State Technical University";
   stripPrefix = 0;
   sha512.run = "e8e2af194ab8dc10e88543cdd888438d6dabd37651fcb331df2a2372c863884ee3ff77344d14a79608ef6e87d3b82042497f26045db3007b4cfc85fa33831667";
   sha512.doc = "da816655e19a91d152a088e92078a9ef2c35f4a7b379d63e353eebb7b4047d459b73e5f53537e9be5a80d56ebe80e1f20db1305fb21fff14fedd518a11c494db";
@@ -4956,6 +5457,7 @@ bmstu = {
 };
 bmstu-iu8 = {
   revision = 61937;
+  shortdesc = "A class for IU8 reports";
   stripPrefix = 0;
   sha512.run = "7d4d2f575bf4a3a14024b478610a1d3d1fb9a9609492890ce4edf9f3ed1e34abd99f519d3574c39347f35f8bd2bb1b19569ed6a3652443063942bb0900877ba6";
   sha512.doc = "142cceab83b83c5a0eddde753f67b44cb2e881cd01a4de1059606e02cc241d6d55f271d525db523f82f6ecd68bf6bb09dffcb15adb1b4b080b5701e041ec6f2e";
@@ -4965,6 +5467,7 @@ bmstu-iu8 = {
 };
 bnumexpr = {
   revision = 59244;
+  shortdesc = "Extends eTeX's \numexpr...\relax construct to big integers";
   stripPrefix = 0;
   sha512.run = "a868239dada7f16d52c5d16705ad796d6bc536b1943b5c0bb9538fc72242f3fdbe2cd579367e9230e20e2b3e53725ba8cf25d7d2aaca660a338d7863f4661d46";
   sha512.doc = "a367968a29bfe0d1496a8d444d6809a1ddb6f91031f1aafed30fdd2cd8ba929972554b186dfc897b273cb347f569922b7d59d3c472b385bd2ac1fadfadaa122e";
@@ -4975,6 +5478,7 @@ bnumexpr = {
 };
 bodegraph = {
   revision = 68785;
+  shortdesc = "Draw Bode, Nyquist and Black plots with gnuplot and TikZ";
   stripPrefix = 0;
   sha512.run = "65c14de3d529c5f439ffe83dbeeb6551152bfebcaa4f6ca8f22bb29340f23cd2541fa7934a5c0163f6b9a604d76c7c2bda3ee6ac1ed3fca04367c08e5f580f39";
   sha512.doc = "e9dc19657f581260a59f141747bee7b15d96352eb4b59a2decf116e1287a980b106bfff220642e4d1828d65201484e657d8f4513faf7998c0ce3938a98484ae1";
@@ -4984,6 +5488,7 @@ bodegraph = {
 };
 bodeplot = {
   revision = 69742;
+  shortdesc = "Draw Bode, Nyquist and Nichols plots with gnuplot or pgfplots";
   stripPrefix = 0;
   sha512.run = "596a8cca1eeaf49acf1f24341601b4b7b1ff64f5df72a811738d57e2d0e5644cc9f6096b15825f208068446dfd825f9fa61406451234669df95683f746770d44";
   sha512.doc = "d0eb443a98da30d66becca6e48e4e66b4efaf31d0405ff5d559738018f0c760a660175978f603f9c648af4ba20942a58b82c45f5a5446f39d7bfa05c944b4db4";
@@ -4994,6 +5499,7 @@ bodeplot = {
 };
 bohr = {
   revision = 62977;
+  shortdesc = "Simple atom representation according to the Bohr model";
   stripPrefix = 0;
   sha512.run = "257faafc089c9864a7878e9690a96ef8a5468fa4a310232609cb769c4bd80c15ee7923ad73feac782cda4690f699ab3734dbac05e39588a34fca576fe8dd042c";
   sha512.doc = "0ffcb6071ad55d9e6a38c9cff810b625fcd6eb08e476e9ac7fb0bae73ca5373517de22a536c2348ac8646b62d70167521d70dd46327dadebfdb9e69facc0f27a";
@@ -5003,15 +5509,17 @@ bohr = {
 };
 boisik = {
   revision = 15878;
+  shortdesc = "A font inspired by Baskerville design";
   stripPrefix = 0;
   sha512.run = "48403f4b18cb23e7e16e3cbf19d066dc7e1576f4d9ae42b94a4a34508905f5e6e2f8f60f2de7881a29b8525c86a8120a76f1f66f8b9ea047da0a884637b1bb9e";
   sha512.doc = "c68e8434fe456c5e58a6ebb9e744c81dfba5098c0fb12024de750f73022e300016a424bd1ad9cc85c3122c9a0c863737b2e27f2b151667955f92ebbdc060c6bd";
   hasRunfiles = true;
-  license = [ "gpl2" ];
+  license = [ "gpl2Only" ];
   version = "0.5";
 };
 boites = {
   revision = 32235;
+  shortdesc = "Boxes that may break across pages";
   stripPrefix = 0;
   sha512.run = "894f6d2484e9b72a24816c34e1254ae8a6d011610770e40590fdc3ed22a24b6f655418694de256a6522e4024f4df033c017f294743113256583ffb8445a63bec";
   sha512.doc = "22ef96e0f64b4d42b978abbba806f497fecf686d76b159bf3d06aedefe1097569053a11ced6c3ff2c7d05f975345957af0790f2035fa3af396b123da7d41cd7c";
@@ -5022,6 +5530,7 @@ boites = {
 };
 bold-extra = {
   revision = 17076;
+  shortdesc = "Use bold small caps and typewriter fonts";
   stripPrefix = 0;
   sha512.run = "cc12de98493fc01b9a59993ad32e646102751c3023e64f66255a1b66505d3cc2f82d71ac53b4f6691e083bcce3037e521a35feb09cd5019d662a6ce56cc55032";
   sha512.doc = "4bb27a63f711421437385c2a76f26d74cbfcf6ac5bd8811bf4ca5a0da354608dbc6ff295c3943edae1701fefece397ec356361176a9713f607c9677b8222b7af";
@@ -5031,6 +5540,7 @@ bold-extra = {
 };
 boldtensors = {
   revision = 15878;
+  shortdesc = "Bold latin and greek characters through simple prefix characters";
   stripPrefix = 0;
   sha512.run = "3c2d17f2bf8ff48638540ec5a3ea57bc835227291fdf6580747a87dafeed6afa4f49b91a67154da35dfac9a405aab2aaed5bbef1ac188291319a972b4e50ebeb";
   sha512.doc = "657bdc4960e2d40621520240840ab4252e927baca704da0388e3124938c55de834e59cf8ff3d900aa294ac366ae7b1367909cbe885de08790d51380726960146";
@@ -5039,6 +5549,7 @@ boldtensors = {
 };
 bondgraph = {
   revision = 21670;
+  shortdesc = "Create bond graph figures in LaTeX documents";
   stripPrefix = 0;
   sha512.run = "171233d7850335c1819bf1f74e0bcd1c221e5db73d092b0efea71ad35f71b16e4f240c3c791f9022a9e21ab7a2bb62f20ad06609051ecb54fd0640add0ef8381";
   sha512.doc = "0697b880e1bcd51c3b5c2e035a15f852f943ffb86ea2952b460f01e42ced2e4fad8f8b15f32f58cc7771c28ca9bf66f2302914bf08d6696b6d952d347199134c";
@@ -5048,6 +5559,7 @@ bondgraph = {
 };
 bondgraphs = {
   revision = 36605;
+  shortdesc = "Draws bond graphs in LaTeX, using PGF/TikZ";
   stripPrefix = 0;
   sha512.run = "61ed449d8fcee24f383762eeac54949d709fe3fbcf06598acb8849613c68ce2f445dfb4cfc7871bb6c61bec65ed45e8888dadf036f299a4d5c0bad13db0e16ba";
   sha512.doc = "223448f91f0cb9f7b032439aeddc85c132f39bf5ffacd058b76c85db825df15bb47bafe333a0ae8afb089864fe966973fbde6da0e02e1fa46b8077e3f84eb6f3";
@@ -5058,6 +5570,7 @@ bondgraphs = {
 };
 book-of-common-prayer = {
   revision = 62240;
+  shortdesc = "Typeset in the style of \"Book of Common Prayer\"";
   stripPrefix = 0;
   sha512.run = "d8a2f2c007569e8a4da6150592fcc67a4e60083a2af93d15a8bcbd31b9b2d56c46d28b9f4c708714e894638b22fd9a4013175f45082c9982a05c8081855d7d9c";
   sha512.doc = "98f7dc43da85180db2a3f00462b02b23977dfb46b7a9af0d4bb97a2bbc2babcb906a1762b94ac9196bc6ca5fe11bf0690e1e59d74ea1f97f16d9d747e94b5020";
@@ -5067,6 +5580,7 @@ book-of-common-prayer = {
 };
 bookcover = {
   revision = 65394;
+  shortdesc = "A class for book covers and dust jackets";
   stripPrefix = 0;
   sha512.run = "83a7b06e32e082d810fac22a842f646b692e75a4e0ad67ba59a1d39d0f0931970b615708900b139c7e11f05bb012797d2664808929ca7ba8bcfc37ae75c878ac";
   sha512.doc = "f58d3796696fd576fec15770cbe04d14e659a1d8e6570ae39c17760686b75cc941ccc2dcacb923fca4c2ffcf671a9ee1d63f348d8fe22058078eb22c5a1fdbf4";
@@ -5077,6 +5591,7 @@ bookcover = {
 };
 bookdb = {
   revision = 37536;
+  shortdesc = "A BibTeX style file for cataloguing a home library";
   stripPrefix = 0;
   sha512.run = "3e44184427ce346930b35fc2ea3b508d9f32c1e89cc01d66046e271d61e0bbfde54b5d18917b09acc159f1d657f9d32c29f3086b04e4f1dc6da0cd21a0df3da2";
   sha512.doc = "2449b7d32558665b297e57eaff6529932289e957e0a77d8a8ff84e9614b53844a2684a7b23a62ce6684b6e813223c2c1293bf25e678a1271e3e3cc27383d12b4";
@@ -5086,6 +5601,7 @@ bookdb = {
 };
 bookest = {
   revision = 15878;
+  shortdesc = "Extended book class";
   stripPrefix = 0;
   sha512.run = "e49d8f0959276202dea2079df1a509dd296858841f4fa2df235743033ba852b856e5f2a9a14176fd986ad1e431ebd3581469e7ea30093b5a01b7d23b791a028e";
   sha512.doc = "ad51d3cfff90ce83c7f6479f9f0eb49a54613c585561def33529b301e00915d7a8f94fb62660b3bf5bd87104651e7333c3a9b620bbfc1ab7fa9fa510e16dc15b";
@@ -5095,6 +5611,7 @@ bookest = {
 };
 bookhands = {
   revision = 46480;
+  shortdesc = "A collection of book-hand fonts";
   stripPrefix = 0;
   fontMaps = [
     "Map sqrcaps.map"
@@ -5107,6 +5624,7 @@ bookhands = {
 };
 booklet = {
   revision = 15878;
+  shortdesc = "Aids for printing simple booklets";
   stripPrefix = 0;
   sha512.run = "be6bc46fa76c0a1ecbfe199b1a1a6f0cedf14a8d583e9ab8ffd75d4cf8ae22e404b289224ed8fa6cd9e143119760d50131e97228cfe75ea56d5ab2f540e8ea8b";
   sha512.doc = "fb6d74ee03f303433e61fe1afe297cf5e343f95e3834fbdee483522a183d403fb6bac8bfd1d0ca687c448d522d370f5216caba2b52b066ac1657b8dc2fc3df1a";
@@ -5117,6 +5635,7 @@ booklet = {
 };
 bookman = {
   revision = 61719;
+  shortdesc = "URW 'Base 35' font pack for LaTeX";
   stripPrefix = 0;
   fontMaps = [
     "Map ubk.map"
@@ -5127,6 +5646,7 @@ bookman = {
 };
 bookmark = {
   revision = 69084;
+  shortdesc = "A new bookmark (outline) organization for hyperref";
   stripPrefix = 0;
   sha512.run = "0a95a2839415393f430eac43a0cac3ac1c4397d68b037167d0e66595e82cda6ef11078bee63855ed1de66191f2f241418705ff819dbe02ac4e3c68ba88eec52d";
   sha512.doc = "1c6a24efbee2e8734955b40b9908a8f5af95d6d4b8aa330c72ae7dde5c9fa374af6bbe7651f46c87bdc11f69a38b5d81d03152eb10d0eddc334b87276fddf252";
@@ -5137,6 +5657,7 @@ bookmark = {
 };
 bookshelf = {
   revision = 55475;
+  shortdesc = "Create a nice image from a BibTeX file";
   stripPrefix = 0;
   sha512.run = "e6ab2186784aa9905053d15311b18def1c669a86db4a98033761c2f41fae97199baec02c41c32cc6ef4ed9ddb6ff5413f69a7ad1c9cf5f0c4c91d45297eb1af5";
   sha512.doc = "38e04eb978152cb97a15f1b6120ba9f062224ed4feada0347042b420d4baa9c66e453be8d4abf4095ba3403d11281153dc7e2494d34864a2ad2e1ac10a1b4b1c";
@@ -5147,6 +5668,7 @@ bookshelf = {
 };
 booktabs = {
   revision = 53402;
+  shortdesc = "Publication quality tables in LaTeX";
   stripPrefix = 0;
   sha512.run = "8d7e46297d19f2e683f5c16a13577fc582cba391cdc8a15ad395a6b44072a5b50216ec9e9a8c727c1b2a36b9275ba9bed10baec3aba9d726505955af01d48c3e";
   sha512.doc = "952ff0f30cf7679c09020cf2bca542e11e3a64c88956e87db6289acfb03879609f66c8beb019a6639716462aa088bdff7df3330d60a5d864f25de164affa4c51";
@@ -5157,6 +5679,7 @@ booktabs = {
 };
 booktabs-de = {
   revision = 21907;
+  shortdesc = "German version of booktabs";
   stripPrefix = 0;
   sha512.run = "25a46153cea4a6e94c77cabf3afac74e642c7362f7c852725e8443de8ef8873c5a9d2dab3fc3b083dd7382e10d74e71b40b40b1143afce1646e853899c0ea2c6";
   sha512.doc = "1016522eb74332542a9497f47fb0ea884c7d8b3d0a0630b8a6604bdc41ee08d29d963fcee0d643a8260d2e667c0b39edc74f4998ecbe66bc7a45ef23ac78371c";
@@ -5165,6 +5688,7 @@ booktabs-de = {
 };
 booktabs-fr = {
   revision = 21948;
+  shortdesc = "French translation of booktabs documentation";
   stripPrefix = 0;
   sha512.run = "62d4aefc19ff86a60b8fc68a5203bbc2dd2c86ef2f74d5dc0d2a664ff342c13077f5f71a4991704e1d9c69587e4ecde629e5432ade3695efbbc388714fa3c268";
   sha512.doc = "eab2c83e6d81a601ec98ffe43ed4b5ec71e17c6ec42c26c519fdbbb3c3e82154b01bb569adca65dbf540ccbd7263cc20806dbe901ba44204b84d07d235b07bc7";
@@ -5173,6 +5697,7 @@ booktabs-fr = {
 };
 boolexpr = {
   revision = 17830;
+  shortdesc = "A boolean expression evaluator and a switch command";
   stripPrefix = 0;
   sha512.run = "677a397363b80126e45609d125ec2cf22b3ef144216e19183bcd48c1f0ccd6e2e079fbb0a2e7ac03f094470c8c0bc64ae652863aed970ee9fc75a9a69b60c618";
   sha512.doc = "6351bf2d3382c5a3b9a07a8458d7f158ee3bd0e72c96af5f2f985d28a40859f95ae7ae956e5dbaa1ed93b1331322ae1e8901ad3110f5e74024efd831e29b6b44";
@@ -5183,6 +5708,7 @@ boolexpr = {
 };
 boondox = {
   revision = 54512;
+  shortdesc = "Mathematical alphabets derived from the STIX fonts";
   stripPrefix = 0;
   fontMaps = [
     "Map boondox.map"
@@ -5195,6 +5721,7 @@ boondox = {
 };
 bophook = {
   revision = 17062;
+  shortdesc = "Provides an At-Begin-Page hook";
   stripPrefix = 0;
   sha512.run = "8ce41fecd2befaf448ed238d8bf643362f5a945b7391d18b2698c006421b7b60ce4d886e09dc579eef12cfb459f49247f7f3afebdf8b590e9285c608d654ed60";
   sha512.doc = "7d8ce0b7caffa4e16539154ade5a3df6d6b42b75bc521643473ff568ef5c65c3014fb22053b353a917d2c4782f378bc765475dca5d20b3dc06ff02c0dd2a63ec";
@@ -5205,6 +5732,7 @@ bophook = {
 };
 borceux = {
   revision = 21047;
+  shortdesc = "Diagram macros by Francois Borceux";
   stripPrefix = 0;
   sha512.run = "e4658e7a672caccd24832b31b0635dc61ae5ace5297569a84d9da981eb37f6b9b944bc33c1e964c09c7042e3e74f9b3067795fdad508e52e624f2bfaf439559e";
   sha512.doc = "202e6b476c5c6f48ea2e6bdf2710d01afcdd9a02669d220bb11bab8fa920f41fddb8aa152a815045ce9d0c92b761f90ab34cd426ba62cf26282d71696f00f03f";
@@ -5213,6 +5741,7 @@ borceux = {
 };
 bosisio = {
   revision = 16989;
+  shortdesc = "A collection of packages by Francesco Bosisio";
   stripPrefix = 0;
   sha512.run = "659cd163c28a52fc12651b35b8018d0df7e4fb706739b090167689a7199a8f9ca3bc3376ed3a5b6c076e9242f4f8132dbec6cbeead499453fa5c9cbd2aecce38";
   sha512.doc = "7fc9a651f6845643fecbb9f0fff150fec2a22273accc420451c2c5dbeab6e40cbeb9b51a32589787c005fe479f626111214bebadb217a238baab07fa18d8c92b";
@@ -5222,6 +5751,7 @@ bosisio = {
 };
 boxedminipage = {
   revision = 54827;
+  shortdesc = "Framed minipages of a specified total width (text and frame combined)";
   stripPrefix = 0;
   sha512.run = "697cc00b10468f515b5ebae838d623eec58085269c98897a5c2c4ea932ec52ae819110612feb84b6951ff391bff9309655abf6a41e13da156e5ecc52c015431b";
   sha512.doc = "54209e9e5fb8da8db65901c729b78aa3c9b536c3bca4d40437848287d8a07d955a84ea0f13d93e7e702c47c6bf8bece3b6d3f3026d5f78568205746c9009b968";
@@ -5232,6 +5762,7 @@ boxedminipage = {
 };
 boxhandler = {
   revision = 28031;
+  shortdesc = "Flexible Captioning and Deferred Box/List Printing";
   stripPrefix = 0;
   sha512.run = "8aa988155d5115e2fbfbee113013cbb4d32cebc670229104cf96c2920c81bb23245e2365cf31705b67cf72345387a275c83f170a777129ddafdf6cb7558bb077";
   sha512.doc = "15b69a4d434be9561cbcf45a5c3c68ae9560fae35ed2256cfcb4c2bca8ac172a8bd0d6f7335644f586a9b3da65948b9372ae9f7ec9bf2c0d43b572cce5af20bc";
@@ -5242,6 +5773,7 @@ boxhandler = {
 };
 bpchem = {
   revision = 45120;
+  shortdesc = "Typeset chemical names, formulae, etc";
   stripPrefix = 0;
   sha512.run = "3359bc429ec00bdf3b26810e373fd9bba8f562d4782d16adf2706b59ec1cd153f0fd565c26319bac0cf5065b6a2ea99ad5cf6461fba62a7bae8355fad7d8279b";
   sha512.doc = "c8edfa3e5fd901ef705b6b55dd2278eabd996e2b3aa76ec5da9c34c07db95909b67f31990684883edd256f7a5eb7c29450886472fafbd0ff91f8e81abc4dc93e";
@@ -5252,6 +5784,7 @@ bpchem = {
 };
 bpolynomial = {
   revision = 15878;
+  shortdesc = "Drawing polynomial functions of up to order 3";
   stripPrefix = 0;
   sha512.run = "370b9ee803390f51da2cf7da4832ce9a51d923420908ffbf5dba21a2380e13cf345413eb81465e0acf86bc4011ec0bdf8cfcf5ac0cdf62cb3e88b2f2b6a6edb1";
   sha512.doc = "2778eccb795d4543baa16966d55ab68a8c2c6f547d7a544aafec365036d9805a5cbfce97efbd25d0b39329814e95f6a2e18610f5e83a4d755a31dafbd651ce0b";
@@ -5261,6 +5794,7 @@ bpolynomial = {
 };
 br-lex = {
   revision = 44939;
+  shortdesc = "A Class for Typesetting Brazilian legal texts";
   stripPrefix = 0;
   sha512.run = "e4eede34a086ab025a9918798feea2c6b8b19d86782a6d93745aa82d40258e1619433eb445d0b3c1335dcb195689bb76ac8142e6c65618cea6392e243dadd915";
   sha512.doc = "3d277aeef55721a833cd613c98852c33f7ce22a8034e2fe62952409cffe1ea49ebe1f3b80f91018ea51fadef226939a14e103884dca19227193a32d1e3ba3110";
@@ -5269,6 +5803,7 @@ br-lex = {
 };
 bracketkey = {
   revision = 17129;
+  shortdesc = "Produce bracketed identification keys";
   stripPrefix = 0;
   sha512.run = "ecdf6f5c6cfa46a3a0eedc9eeef5bbc59cc05a2a831249787ff70fda7d69466862c18dd7ed7a440b8b2bb93c6a08225c7a97bb2f5588d94548d9f6b626ec36aa";
   sha512.doc = "db067a4ab9ac087f565d184c48a90800e68ddb25f5f78146ef1f65bcd3cfb1d0adea78483ca8e27fb9f82bbf26d23c5c16ce735aae194f4816ea73eb993ef099";
@@ -5278,6 +5813,7 @@ bracketkey = {
 };
 braids = {
   revision = 69398;
+  shortdesc = "Draw braid diagrams with PGF/TikZ";
   stripPrefix = 0;
   sha512.run = "e92513b484cd34387542fd39684141d6bd24c99ac4e99791498e75e28c814b9647f9762a5803aa127e9c5423dfb93ac9126348d94668bd7e82c82b54af482f34";
   sha512.doc = "b8a26f24d450b8176a2a6d094e3f0e66faade539266652319c354cc45a824358fbcde416582fa34917de422d0a86f782858247b7d457b50353ec4803b9024f91";
@@ -5288,6 +5824,7 @@ braids = {
 };
 braille = {
   revision = 20655;
+  shortdesc = "Support for braille";
   stripPrefix = 0;
   sha512.run = "04893a3664b10fa1d5b912751e51b6d4a596821535da87aa1f2c2c5632e1fc60278435fe9deae4b0fba8296f2e46015b27b592721dde26dcc4acf7e3bd672a4c";
   sha512.doc = "1cf6922ffa0785adb8e7e7fa5cfe134b206d70d012eb2ec1bd40bedb72ace43c8a17b3e94b16635473d425420f362c49f1b509796d43ca0d2aff0bd9be9f25cf";
@@ -5296,6 +5833,7 @@ braille = {
 };
 braket = {
   revision = 17127;
+  shortdesc = "Dirac bra-ket and set notations";
   stripPrefix = 0;
   sha512.run = "dc5f931ce9adbb3e8398cfab83402776d92018945172c7c17f04772f3253942c6ebecd5ca0f3d23f0befa87327dea4a3a9b90528bb7409963f04d9b856186562";
   sha512.doc = "9bdd3cec0da91ffd13d556b9620e9c502a658374657e2821141191000a2321bf030edc9c32641b5ae6c52acfc7266c377a8f4dfe4891cb616f8d4f6a377d9ee0";
@@ -5304,6 +5842,7 @@ braket = {
 };
 brandeis-dissertation = {
   revision = 67935;
+  shortdesc = "Class for Brandeis University dissertations";
   stripPrefix = 0;
   sha512.run = "96cabbbfd22e26d8aff3b9c54c5f9bdb9ada8a036af3761171c7ec1384d4429bd69c5004e16e87098e5c6355cd029e08371f41484742618f9090fa2c919bd638";
   sha512.doc = "23c1a0d8fa47893017e657f60ef9a7ea54e6f587bf164872b4abfc51f04074ecd82d3494b1c78bec76e6e848bcce20c61af0ef7c2e9b24f91f657a678b03eeaf";
@@ -5314,6 +5853,7 @@ brandeis-dissertation = {
 };
 brandeis-problemset = {
   revision = 50991;
+  shortdesc = "Document class for COSI Problem sets at Brandeis University (Waltham, MA)";
   stripPrefix = 0;
   sha512.run = "fc5026cefa87e1ab248d9d26466a05e11b112c75bc3908c7e6f123a1436d5f813038176e97e1ed290cc99f93dfc8d024c88c1242b9bb41689bfa0a29153db9da";
   sha512.doc = "0f6857c1ff226d797d6e0dc96bf040e2393564121b54d5d9b1e9e35acb01b7663441e0460cd117a0b015cb768bfdf3f40df142ae93d5a0d77f9a84f31c3e45b1";
@@ -5323,6 +5863,7 @@ brandeis-problemset = {
 };
 brandeis-thesis = {
   revision = 68092;
+  shortdesc = "A class for Brandeis University M.A. theses";
   stripPrefix = 0;
   sha512.run = "8d2c00167dc8c755d5d29f66c36d7d70d4fcb8fc1ca66e5c4008d702b38eee9c8bbb4bf9e7129a69649f57f31b25b532d44f3bb7628421aeff90e89afd9ba2e7";
   sha512.doc = "61bf51cd01c13bf698b9466573af4f91357ec77a265db2166881c1f01112ce0a17d87b74f5470aff7da42bc39bb77fdac0cf20613e379bc168119ebdafb85d2d";
@@ -5333,6 +5874,7 @@ brandeis-thesis = {
 };
 breakcites = {
   revision = 21014;
+  shortdesc = "Ensure that multiple citations may break at line end";
   stripPrefix = 0;
   sha512.run = "13fdad42586a361b4e01999476f4d92ccc0fbcca4ee2663153b9eabbb08ad571dae6631306e9fc590d94f3f02af79519de30a78ed35f737004d86bd62b76786a";
   sha512.doc = "2184e40db7f4a01113ba1040a62f8213f43bf34202a57a33abfc6291e84b01cf27298442f0f636289892d02764f1000ff3542f2ca6e490e0eaf6d5bab247b3f4";
@@ -5341,6 +5883,7 @@ breakcites = {
 };
 breakurl = {
   revision = 29901;
+  shortdesc = "Line-breakable \url-like links in hyperref when compiling via dvips/ps2pdf";
   stripPrefix = 0;
   sha512.run = "fa1fa9e3ac50f305ae5b82eb63997d1674b3f640f36d502a1000b439dd52dcaf6b539d153a2c7022f3a00fc0042bcfe341e850ed6b01f7058b1f8f6fd92b4d9b";
   sha512.doc = "38f7847274cbee0a6e7c536a982d0110670cf6af54bfa99718a862e1974fdd839f6ef6871cbe2c40bcd0b2a9036c806eb2b57c8adaee583ef316da367ed854f5";
@@ -5351,6 +5894,7 @@ breakurl = {
 };
 bredzenie = {
   revision = 44371;
+  shortdesc = "A Polish version of \"lorem ipsum...\" in the form of a LaTeX package";
   stripPrefix = 0;
   sha512.run = "1e5629a2e6e6099a319d8b8a1efec83262780c70a57c482f66a33a48722bcdb18fb891a96b6b6f29c54d71ce581dd1c82decdd22ad74d6ef61765fec3f8c3614";
   sha512.doc = "29fba5bb48aeb2353616cfe9a8dd4fff90c164c10779b8115958733470fd47dc40a567212c62315110a5a7a51363c9f917c4984583d40177037d6b0803ce66fe";
@@ -5360,6 +5904,7 @@ bredzenie = {
 };
 breqn = {
   revision = 60881;
+  shortdesc = "Automatic line breaking of displayed equations";
   stripPrefix = 0;
   sha512.run = "c280871916bf0689794cba9640a7666a0f7b295635b85d99d08f04cc0c4cb7ac82552360b0c8b3d677b138779239c4ac4a2583db26fe194870c0c97a9a53395f";
   sha512.doc = "70ab6500b714c0e91c597b43d934942c39c23cfc9993702b6eefa19b8c9027aa0e7eaa55cb48413e2cb42e468167492e7a401380c1cb4a711daae364ae01283b";
@@ -5370,6 +5915,7 @@ breqn = {
 };
 bropd = {
   revision = 35383;
+  shortdesc = "Simplified brackets and differentials in LaTeX";
   stripPrefix = 0;
   sha512.run = "d6bcf207cddeb6115cab45eab12d48326f067df2fec21386ca29282ccd484e572ee4b5420473079b033bf2b085e134fb42b76b3f18d5b56b47ad765c62b07023";
   sha512.doc = "b9ed0de353b0b0e6d7c8e48f3a20c5ee88a0ee9fb1873ced88e89b9c4d73b20701add802442e69aecc419a2c6f433ca12ccea9130abcf895a5568f7b2d66d6a2";
@@ -5380,6 +5926,7 @@ bropd = {
 };
 brushscr = {
   revision = 28363;
+  shortdesc = "A handwriting script font";
   stripPrefix = 0;
   fontMaps = [
     "Map pbsi.map"
@@ -5391,6 +5938,7 @@ brushscr = {
 };
 bubblesort = {
   revision = 56070;
+  shortdesc = "Bubble sorts a list";
   stripPrefix = 0;
   sha512.run = "8d089fe6eeb4ae2e8c77de1130b0d51bc50c4b89ff4d1d26065fa93d740de16644856db55c38efa9e199c2ccdfd6906ccdccdb9676f2313f92911c5d6e06246a";
   sha512.doc = "a9cf0d74f8a713d381d1a06f0a9f658c9074a4aa9027113e47f29ba926f835878e2aa7eed9dedd948e9c5f3b50345f82ef9b4f35ac7fdd08ba041e3a00ac20b2";
@@ -5401,6 +5949,7 @@ bubblesort = {
 };
 buctthesis = {
   revision = 67818;
+  shortdesc = "Beijing University of Chemical Technology Thesis Template";
   stripPrefix = 0;
   sha512.run = "7c27a0f982a2727c8ad7dc98052f48ddb73d37ff27b89eb53f8e33338f67fdb99dba2cdbc843cb628ea725fb7ca7d0188ec5f53c6b863c4707e8b174c8b788c2";
   sha512.doc = "edcf0ac0b5e9ea86df731fee1d2388960b997b7278fac5b88dde6e3820ed3ff488c6ab156dfbca169fb9dd11cf49c5ba5c17516ac2f874bfb3d825426f0fa5ad";
@@ -5411,6 +5960,7 @@ buctthesis = {
 };
 bullcntr = {
   revision = 15878;
+  shortdesc = "Display list item counter as regular pattern of bullets";
   stripPrefix = 0;
   sha512.run = "886109fdce6a936d22b829ff769b130a445876073c73b2bc1767610302ba8a40112938311a138e1c93a0495a6e7d5cafa8d3606ca3b2fe48af442e023195ab93";
   sha512.doc = "ab01cfba0570bc565d8b40945aec5d87739a0826d5c323c5ee960c0d3c7c3135ef2c8b7878268b415ffae3beb06fbc6af48656e7c4a6a45ee423254ce23cad1e";
@@ -5421,6 +5971,7 @@ bullcntr = {
 };
 bundledoc = {
   revision = 64620;
+  shortdesc = "Bundle together all the files needed to build a LaTeX document";
   sha512.run = "8f1e4428993dda804a2bd6b11504996e6cbef869b98a64d576f0edd97a47b1f2301b34ed234ecf1cc902c74dcb31064a96cb69018ac514fd91eb3e5c1b6df5ad";
   sha512.doc = "d74b1ec9473c4616642911fb918553350c5c65ae2cd5171d3513d6fdd5b5b774a516c54a5ce09a8fb966a9de6c5e372b773f7e8ade9f14fa2b1a646112638679";
   hasManpages = true;
@@ -5434,6 +5985,7 @@ bundledoc.binfiles = [
 ];
 burmese = {
   revision = 25185;
+  shortdesc = "Basic Support for Writing Burmese";
   stripPrefix = 0;
   fontMaps = [
     "Map burmese.map"
@@ -5446,6 +5998,7 @@ burmese = {
 };
 businesscard-qrcode = {
   revision = 61719;
+  shortdesc = "Business cards with QR-Code";
   stripPrefix = 0;
   sha512.run = "d991a7dfb9be936018a1946d2d3fbe24b775d99bce08da27e7451b54c679bf6565b207a7645ee4def2464ce08187b6ff25614dff9ec6925bce66fb6f48809412";
   sha512.doc = "6ff58a45f67ae55d82721f125bf3e9c8a5cbd049515b840eb4bdc79eea63bd82bccec41f53b05cab9e6720f3719cc58e882998249a738eaa9f033f14569b9f88";
@@ -5455,6 +6008,7 @@ businesscard-qrcode = {
 };
 bussproofs = {
   revision = 54080;
+  shortdesc = "Proof trees in the style of the sequent calculus";
   stripPrefix = 0;
   sha512.run = "042e01990554b7ffcbd70c9a281d87ee98d9b25d7071f24d114e097e536ae1d7fb565854399eeee547ad2cf97bdd6d4fd0755169ba7548f01ed0d736e031a383";
   sha512.doc = "b3fec7f142210ee5051b3b3a45ef26724d95c538978c4904c9723113adcd2164e6385a9949473a8b9d29109b016c24f25a4088fe3728d675fd0023a043ca6262";
@@ -5464,6 +6018,7 @@ bussproofs = {
 };
 bussproofs-extra = {
   revision = 51299;
+  shortdesc = "Extra commands for bussproofs.sty";
   stripPrefix = 0;
   sha512.run = "8410e4a795b79e7ea06bfd72c713f39950da8d1c418002bc497eb802ae71dce5d5372f7692267ca62891cbb2a58719b76c2bce3f10ec11cff63c40bae9122a2e";
   sha512.doc = "87ed5af043bcb4d41f301d4b09dae511fa509fc9c50ac70cef29d0df4bc023f97856504c0650b6139ff8bcd9c25a046411b58f72db016d7429788db757a4e87a";
@@ -5474,6 +6029,7 @@ bussproofs-extra = {
 };
 bxbase = {
   revision = 66115;
+  shortdesc = "BX bundle base components";
   stripPrefix = 0;
   sha512.run = "7d1b15d92136126999f976127b43a125a9bd5aacaca5a76aecee94d4f6a6ce6538c449fc82d95a55984b9de802e1e66903078e5d2344db532b9b2e2e94ffdf24";
   sha512.doc = "162a33a07b6149997b9cf0ed5b1baf55f80f2142c106e07188b27c02f4fad891d95d6366581d958bb730106f5d3777e59a1ba55176a7e7594cdadc77e85d7365";
@@ -5483,6 +6039,7 @@ bxbase = {
 };
 bxcalc = {
   revision = 56431;
+  shortdesc = "Extend the functionality of the calc package";
   stripPrefix = 0;
   sha512.run = "580fba2af6adcaf2b2f137cd34455b3dc896f2e26aabc2352fb23c12fe1a134340c2505d38dae51e79c72408fb4023213971ddc0ad322f16bafa29a9bc1dc4bc";
   sha512.doc = "1e2e8eda856a15be3e9f3cdc441d3b1972b97125d0a370061f0919ed0c4aa267d5fbacddd453d9b99bf5b759b801c71c3e988f9666540d960d9a27e7c54ea904";
@@ -5492,6 +6049,7 @@ bxcalc = {
 };
 bxcjkjatype = {
   revision = 67705;
+  shortdesc = "Typeset Japanese with pdfLaTeX and CJK";
   stripPrefix = 0;
   sha512.run = "72d3a88c117ea971faf8bc836bfe32ddc52e96c1fe1546ceeb8a9b298b7a28fdfc8aa4b0f43bdb3fd27126383b289ad293b2ca6c4ad95873948be0651de4ea18";
   sha512.doc = "8118935396e03cf72b0efe04d6e436c6d7b3aad3dd1518561ec36d1fcf35a4e29dcdf86dfe554d06f4814694e7528f238b73c0145dce6ebdd5cc9b587db3f86f";
@@ -5501,6 +6059,7 @@ bxcjkjatype = {
 };
 bxdpx-beamer = {
   revision = 41813;
+  shortdesc = "Dvipdfmx extras for use with beamer";
   stripPrefix = 0;
   sha512.run = "48009e69d2bb6c316c5d33dcc9d17fcf9f762b68688130ee8407648039b7c3effbbdeaf991bda7842738da59213cc855b50f48cf179ec77e0682729d6e5d3709";
   sha512.doc = "2692918a0fb1ac7bccc6e905350c6cd716b72b33d8f00bad73ed0146238965d0c1a1d9de07c22fbef1ba7211a919c1152342a9f4bb48185099aa470f76374bc8";
@@ -5510,6 +6069,7 @@ bxdpx-beamer = {
 };
 bxdvidriver = {
   revision = 43219;
+  shortdesc = "Enables specifying a driver option effective only in DVI output";
   stripPrefix = 0;
   sha512.run = "dc37ee5237e6eb02fca173b8b0501795604930b56c3e9101c6b653ad6df12cb5ae82ad81e66aac5c1ce4ff0aa8d7f05658f4b41057ede286715c25d290682182";
   sha512.doc = "83e18920fb6f2f54f54c401fe83ff131dcbe64ca712ded59f0690d90f1d8b2623ec135692a3fa437b77fe82336553a529d36b5bdcec96a96cd57523f11cc0e0b";
@@ -5519,6 +6079,7 @@ bxdvidriver = {
 };
 bxeepic = {
   revision = 30559;
+  shortdesc = "Eepic facilities using pict2e";
   stripPrefix = 0;
   sha512.run = "a0436e9dc7dffa9c7a7b2a41662a41db934aa4242c953f480400b7a2c8a71bb526ebe8eefa46b02db03364efdf14fd88c1dcd267ebd59f594d72540ddd3048c2";
   sha512.doc = "25789b297ba2fcfb81e74637cb2270d41eff858e747b841cfbf5d29791fe6697d3a9cfd4abbbbc4ed0a5c5b274f8b5a7cdeaccc995f6ae623d2a6e2d831b7e55";
@@ -5528,6 +6089,7 @@ bxeepic = {
 };
 bxenclose = {
   revision = 40213;
+  shortdesc = "Enclose the document body with some pieces of code";
   stripPrefix = 0;
   sha512.run = "f3d0f39e9c21f3bff75d118bb1a9408e7fb2c84beb9301873cd37a678de4b7680d1e8f13693839ce32e1e816e756d8f0af14cc620952afc8fb02885debf478a8";
   sha512.doc = "ea7e0f17ee70d3d4798e85e3788af1110fb2adb436106ad08f601655453af2c5d192d5e3854fee1b29f6ac21f2f6b02e239ff4ec6ae9181818b23bdbac45583e";
@@ -5537,6 +6099,7 @@ bxenclose = {
 };
 bxghost = {
   revision = 66147;
+  shortdesc = "Ghost insertion for proper xkanjiskip";
   stripPrefix = 0;
   sha512.run = "8b5345c2e48c16f296e3533977b2d9a031274764f3580887d2142a12f34e93d4d31bda0a5997823a7bf52891c8707d897afdc365a001348d2ab12d8f947acd0d";
   sha512.doc = "999e7623526c6ef51b8c6da383e79d9f889d1e45efb52eb127463b94e7790edb124c2ddece303c932134df4daf4189db082c3492fe04e6a829e1dd6d943edc02";
@@ -5546,6 +6109,7 @@ bxghost = {
 };
 bxjaholiday = {
   revision = 60636;
+  shortdesc = "Support for Japanese holidays";
   stripPrefix = 0;
   sha512.run = "4f5dc4081f989b73e5334d62af403922e2918424cff24480644f1e9016e3e20fb044cb22da91a035b198aa92edd0a51e985fe791a4c99ffbde2d339ca46a3918";
   sha512.doc = "6d3ccd7c279e9dd8063296d843dbb6b42af90359b16f421eaddc7b2ddf23e2dc6077d4748abbef3c67c9672536d58a20746848237525a4cf8ec87ed19117a618";
@@ -5555,6 +6119,7 @@ bxjaholiday = {
 };
 bxjalipsum = {
   revision = 67620;
+  shortdesc = "Dummy text in Japanese";
   stripPrefix = 0;
   sha512.run = "a3c635eff092be08bb99f882a18fd477aba3b9b25666defa4cf872806dce666ab8b931cc5b85ee217dfbfd453a066461ba169f830236ad55f75a28a81a157e0b";
   sha512.doc = "b7f020236e7cf429bb367ab412a6b58746302d2ea0c6d50c3b9af20a86e535196bf3e628c962c98ff0dd3d194d702c7a20cca55b815b88727bf8bcf0a5eb278b";
@@ -5564,6 +6129,7 @@ bxjalipsum = {
 };
 bxjaprnind = {
   revision = 59641;
+  shortdesc = "Adjust the position of parentheses at paragraph head";
   stripPrefix = 0;
   sha512.run = "90d69860d7017c414cae328806e4d6e9a788dfe46f7a6a5792a0e8df563471b5d60aa6b7d2ea45caea3caf954a809f64549f24105d9856d6b89f96d366a02fcf";
   sha512.doc = "40c81a58de05b25b5ec537ee6ce8feaa9476ce64898e7ebc67ff1d5497e53eab341734438160e578487753ec9bb747d8c69cbd4365895326b081588b92f6677e";
@@ -5573,6 +6139,7 @@ bxjaprnind = {
 };
 bxjatoucs = {
   revision = 52509;
+  shortdesc = "Convert Japanese character code to Unicode";
   stripPrefix = 0;
   sha512.run = "ffe18ddb89393c61df4371d6fe1154759992e544af64cdfcc007122ed212e87d16194d906d4c9f797671860a96c4dcde12682ecf98adb3c7b8b4c6ae0b432b81";
   sha512.doc = "9c281fdda182269c7a048e1ef422f0c403ecef7d8fd8dc462ebe39b861fba013ede2ef351baa5ad4537b2e1495f1f0572c7edc6fa6407031ff19053bd6dfdc02";
@@ -5582,6 +6149,7 @@ bxjatoucs = {
 };
 bxjscls = {
   revision = 69637;
+  shortdesc = "Japanese document class collection for all major engines";
   stripPrefix = 0;
   sha512.run = "bdcc01806c8379d02ebcb49c25bd497d11dcd3f0954dee7c1e1639c4cb3986a1bc54266e2f635c263058e1cdb34d540d52291cbe73502f02eb54d4b98ea3676b";
   sha512.doc = "047fd7bca863ea5088d2e33d512a80879f72c32dd2e7bd3813fce6614d22f0285beb0adcd887f4528457db24472518663ea4e711d90e4fc0f36c8282db6672cf";
@@ -5592,6 +6160,7 @@ bxjscls = {
 };
 bxnewfont = {
   revision = 44173;
+  shortdesc = "Enhanced \newfont command";
   stripPrefix = 0;
   sha512.run = "83775ee72fceb4de0037327561ea2f1723db89dc23ccc42245390212ae1fb849c92c75b2e7b4b23440c62086116b8f0a14b12b27f97c9277c55a7454b231826f";
   sha512.doc = "f09fde7abd39a4df52175eff90363a469270ab1385f3600e654535cc90d7b4b5ba704be734323dffca512f5942c45a9ffb5cd19a73026c224cee3be33eaa5b65";
@@ -5601,6 +6170,7 @@ bxnewfont = {
 };
 bxorigcapt = {
   revision = 64072;
+  shortdesc = "To retain the original caption names when using Babel";
   stripPrefix = 0;
   sha512.run = "03c88a7e74c83e070d132fe55231fcf0caa51a8e87daa213533ec1db5246919b6de062e290da3e45b17f66ade1af54e38f39075284009c5bd126513e32c4f080";
   sha512.doc = "0a3c6c360bd1672fb4f1aa33dccba06c7de77a65a6e0d128fc3e90f99aa9897fd6d3a1ee5c2ca719a42a891d67a575ab13a28b7e6c9f6f8966f98167ec54cfa2";
@@ -5610,6 +6180,7 @@ bxorigcapt = {
 };
 bxpapersize = {
   revision = 63174;
+  shortdesc = "Synchronize output paper size with layout paper size";
   stripPrefix = 0;
   sha512.run = "1a58a1a8281505922f5a6a2abc8695be6826f55dd1d37d8d42633665aaaae98544a0662cd4ba4c384757caa593eb000ff933bb7d7b215447fec6d6f5517993fd";
   sha512.doc = "f6631a73d4d29616fd197f9c32b7b533f60e6b007a4849930c33afa4eb866798e1ab415f0842cee8142e7e7379507b2557b096df627dabb1d714ee305a8ba0a2";
@@ -5619,6 +6190,7 @@ bxpapersize = {
 };
 bxpdfver = {
   revision = 63185;
+  shortdesc = "Specify version and compression level of output PDF files";
   stripPrefix = 0;
   sha512.run = "693b58af2200a99c98b1b4fe9d99fca00cd39f06877c4670e4b5e281f3c31221490f3f7106e42069c1d0f35e192fc3d8e1457572db84a8176fe5dab695a55c48";
   sha512.doc = "94500d43e01e6e4fcde2a5de892ff0587a495672620540c37f08d815a4178f153c98dc1b8ee099f2e4e849842066a126d2906defb5b07bc5849ea7dc19f81555";
@@ -5628,6 +6200,7 @@ bxpdfver = {
 };
 bxtexlogo = {
   revision = 63231;
+  shortdesc = "Additional TeX-family logos";
   stripPrefix = 0;
   sha512.run = "e0399d089bbbbac0e34a216b5164956dc9843e2d77b9cc1b395609963aba759e527dcd3fc112f4aa57b621e4419ee33d16e7bffb7f88123a0afb7c983c82636b";
   sha512.doc = "ddc5da87331449bded7b5936bacac04872467cea5ceff8b1a0b2c5938119351e17f1622020e53a94d704be03a626b5110685e69cb393773595d5b9cf7326f184";
@@ -5637,6 +6210,7 @@ bxtexlogo = {
 };
 bxwareki = {
   revision = 67594;
+  shortdesc = "Convert dates from Gregorian to Japanese calender";
   stripPrefix = 0;
   sha512.run = "6a7b89540c662871ad9799b00a8e17d0cae301366ac6651d9a9e7ba995f6d2de6b2149f6eb5795af0d58c5de454aeb94d0ade0026520a4e54594f93fd4470b3d";
   sha512.doc = "60c6416a036372f3fbe636dc46106114d2a43ba292f961fe299f765afd9e23c975a7f68f4c48a9c1ef9ea5b9b97224f1d0f1bd1585fb90b5f183a14528351539";
@@ -5646,6 +6220,7 @@ bxwareki = {
 };
 byo-twemojis = {
   revision = 58917;
+  shortdesc = "\"Build Your Own Twemojis\" with TikZ";
   stripPrefix = 0;
   sha512.run = "5d9330d36bef34d5deb7fae5413741de09050bc9a0fb3bef7874b0d44f397e900f626fa64b8903038d3131e5b9ae66f121a1dbaa6f25668f73bdf7d3aeed409d";
   sha512.doc = "a0329476031945d9fb694522b3bb08cfded7ee117033f758ca7a9d1dc423d66f8ca749b295e1d420b737da886b57b1bf2dbbed20d3bacfbef94d57061a22f4bc";
@@ -5656,6 +6231,7 @@ byo-twemojis = {
 };
 byrne = {
   revision = 61943;
+  shortdesc = "This package provides a set of tools to typeset geometric proofs in the style of Oliver Byrne's 1847 ed. of Euclid's \"Elements\"";
   stripPrefix = 0;
   sha512.run = "ef27aa477ed05bfbfbe3729fcfe119f9e7e3335b9669a34ae812b21084c2063b819e1201340f3db269f9f2234b5644054ab30fb3112b6bae142c7e5a0c6831ea";
   sha512.doc = "d0c03c352aed98d7b1abff22d8613f34d206807fa8e0635b88b764f136bc851dd53f8757aff45f636e1c17c32ddbe481867a3e30218dc97ca07f25a147c1e435";
@@ -5665,6 +6241,7 @@ byrne = {
 };
 bytefield = {
   revision = 68366;
+  shortdesc = "Create illustrations for network protocol specifications";
   stripPrefix = 0;
   sha512.run = "394c796574674e877a6532900edbe3555b63aaaf62bf2c8bc8dac280c60064d77bda56991ae1c1a208fc8bde4c8e990cfbb05d21605fdd4f934aad0403775f31";
   sha512.doc = "98e7e38ae0a9337fd9926af76e51b6381436d4e6cc9b05cd1beee2f8b01d460643265c09b53b1058e72cacda1ee60df6adfc210efaee67b2b0cb31e3d2624833";
@@ -5675,6 +6252,7 @@ bytefield = {
 };
 c-pascal = {
   revision = 18337;
+  shortdesc = "Typeset Python, C and Pascal programs";
   stripPrefix = 0;
   sha512.run = "59aa375b3b953f2fab04547b3234b36fd08af39392cfdf05f6992a90ef3a52503b2e11296787763abb9ce6251f9cc2fd062d78133038ca4a92e1b06ae65118e9";
   sha512.doc = "52252a2265d9bd48f09ddaf5f1517a6a74980897f0e8e0ad7ea71bafb194ca5bb98386af537ef2a4fb955e62ccba3d16cc1ebbae094502f16ae3bea0c5073c79";
@@ -5684,6 +6262,7 @@ c-pascal = {
 };
 c90 = {
   revision = 60830;
+  shortdesc = "c90 font encoding for Thai";
   stripPrefix = 0;
   sha512.run = "2350e99bfd047ea514586894d20bd37dc778c74fd4c1848063ba7d53cb59ed5df36cd20fd51140ede8af7f32ed7efc44e1d4f3db4a0baaa7d1439941ed5297a9";
   sha512.doc = "9561381312a2e3fcd6a03da1082e9bdb5a2c30e241078adbb70d06060a21674fc8a40c5cb81ce87d31ff99c168d73e9b4074cb3a6114439d5a441dd0054cc682";
@@ -5692,6 +6271,7 @@ c90 = {
 };
 cabin = {
   revision = 68373;
+  shortdesc = "A humanist Sans Serif font, with LaTeX support";
   stripPrefix = 0;
   fontMaps = [
     "Map cabin.map"
@@ -5703,6 +6283,7 @@ cabin = {
 };
 cachepic = {
   revision = 26313;
+  shortdesc = "Convert document fragments into graphics";
   sha512.run = "a0405befc4ed9217cedc4abc78c355b869bb803fa4be32245198ba4aa8151884ace023b3465db3b4757c923d0425fd1d186e25facd7c29d05d5072668a9f0e3d";
   sha512.doc = "93108475f74b2356cea79a8403729df7c24e95871680b0b53f9316a7b158aa973ce108632a121198459352968bfdfd79f265d4aa301ecd00ce55cf56db5f976c";
   hasRunfiles = true;
@@ -5717,6 +6298,7 @@ cachepic.binfiles = [
 ];
 cahierprof = {
   revision = 68148;
+  shortdesc = "Schedule and grade books for French teachers";
   stripPrefix = 0;
   sha512.run = "c152dcc24128f0f6e9424012660f2620e385f470d92dc9ed530eb530d11b1fc3aac6e9e3466fea3548d16ac812c89743865ada67a3bd820cd37601f754506939";
   sha512.doc = "1e203d56ace798bff086a9a3eec3a3f110c5e2c4ec56be637ffc70edca4b28ea8e5bcd8804b087515431460b48ad4863d3c15a1496724e5ad814cac79dc5e7ca";
@@ -5726,6 +6308,7 @@ cahierprof = {
 };
 caladea = {
   revision = 64549;
+  shortdesc = "Support for the Caladea family of fonts";
   stripPrefix = 0;
   fontMaps = [
     "Map caladea.map"
@@ -5737,6 +6320,7 @@ caladea = {
 };
 calcage = {
   revision = 27725;
+  shortdesc = "Calculate the age of something, in years";
   stripPrefix = 0;
   sha512.run = "d3f6d46166f2b37e6ee8ff9185c6ddf5ed99ca2b32c7520966fa9a3db95d3a9517e39f5e8f928332a8dba490274c4fe48e62b6ce83ca10d0fbdb9a4218e0d92b";
   sha512.doc = "4c3f1ed751005a5fc19e0ae40dfeb010ca211dbbdb7ac11c01525c7643f1e993346f1af21d411705ebcb119f8b1c20e4ad35384d2be9618fbe6db2de99e6eb45";
@@ -5747,6 +6331,7 @@ calcage = {
 };
 calcfrac = {
   revision = 68684;
+  shortdesc = "Calculates the value of an expression containing fractions";
   stripPrefix = 0;
   sha512.run = "1545318973205544c136b6bc03ee6838f9496972e43cb4dbda404d2bc389ff41f873513ac0275769685f72c0222998386d2f9abfed686570d98fced592414443";
   sha512.doc = "d9bc62d0d8f95ef3f34b801eaf612e5506c2c3ff855bac800a6bf3827fc3b1e572390691e04425992604e2d6404844db3fdaba566f98da46d67877a8d077fb10";
@@ -5756,6 +6341,7 @@ calcfrac = {
 };
 calctab = {
   revision = 15878;
+  shortdesc = "Language for numeric tables";
   stripPrefix = 0;
   sha512.run = "20ccd46a047987004eef78f75b18f49b1e3001e240604e2657e23e30c4e6f286ba700cb828eeffbd608880ac4994d4a3cd2d67aa336957fecd1d3ea8a48058b1";
   sha512.doc = "555a9d966fe556e8aa1dd39ec1ec327995f62fa447bfd2bbb8efe47ad667427eef249c749f9d2c0436c16e31e6fe7b0dced9b449da307411ac186d30c2407270";
@@ -5765,6 +6351,7 @@ calctab = {
 };
 calculation = {
   revision = 35973;
+  shortdesc = "Typesetting reasoned calculations, also called calculational proofs";
   stripPrefix = 0;
   sha512.run = "d60f9face95cdf6944363ce66b842b2a695b468e77193785564d1697244e193cc0dcf462e7a13c8a22eee173d5d4cd192ae59bbc68e086ac27c92d2dbaf6f156";
   sha512.doc = "741f4600986798bb191352ef98ac1a398014f92956267c36ca1834d95996008204107dcd8575077d7eb2dc1ddc627f03ffdf071ce0d8b2646809063eba59625a";
@@ -5775,6 +6362,7 @@ calculation = {
 };
 calculator = {
   revision = 64424;
+  shortdesc = "Use LaTeX as a scientific calculator";
   stripPrefix = 0;
   sha512.run = "de62244340b27b1b62c7cfabc8da5acac3da0440f3190c392ae86f6160544d3b8e44dbcf5b5c95526b87cb7a0272c63fb19c06181c2b996e6de2affcddfa797e";
   sha512.doc = "d699c74a2b5a7932f454f121582ab4f03482022aef0b145f21ce04bf500f01a6504a39989fe22170fedb27206274285abff54a1fe59e2804a91d05c923c88e86";
@@ -5785,6 +6373,7 @@ calculator = {
 };
 calligra = {
   revision = 15878;
+  shortdesc = "Calligraphic font";
   stripPrefix = 0;
   sha512.run = "9479d6b5ab33b12acae5cb3858c218dc4a1e1901c4006dca5160778798813d333b2e9e615eeb29e01007084d8479c58573f88ad5e282dfc06f3f5a9820df482c";
   sha512.doc = "05e7b61864f483f0fc50d4680d80a395282a5c7f36b7ccaebb70e1c24cb5a101c4ee5accfec8d12c7fac0e7a32851dc15906267b93e6d75094b7ac646826dead";
@@ -5793,6 +6382,7 @@ calligra = {
 };
 calligra-type1 = {
   revision = 24302;
+  shortdesc = "Type 1 version of Calligra";
   stripPrefix = 0;
   fontMaps = [
     "Map calligra.map"
@@ -5805,6 +6395,7 @@ calligra-type1 = {
 };
 callouts = {
   revision = 44899;
+  shortdesc = "Put simple annotations and notes inside a picture";
   stripPrefix = 0;
   sha512.run = "a440d3815f5c5a6d291ce4d7a20bc8483bebe190a0e6944de9f5be78a23eef119f41740ca0fbae4515b6ea7f2aefff90a62005883c44e8d70c6aec0a58c777ee";
   sha512.doc = "0801298bd110f2e484b45c66626c790217666f3351aeeab87881d7f32ada1868222a21f2a7861afaacdea302ad269d2062aaf5fa9d13fdf8efb93efaeb499bb6";
@@ -5813,6 +6404,7 @@ callouts = {
 };
 calrsfs = {
   revision = 17125;
+  shortdesc = "Copperplate calligraphic letters in LaTeX";
   stripPrefix = 0;
   sha512.run = "34b5315e9e5e0ca532733f7b7ebe66e77d935fedf0e042aec63fb7cae257a423db5e93e288b9e1dacb26b0b75784eddffa8b565acfa537a7d970297f71e63a2e";
   sha512.doc = "2378c004fe888bd2d60d0830ec98e805a2bdea3a5a6f4161dd3d4cb56c437dabdb579f3293845a10e316cd868725abd304ecb8eab55fb4c728ed5bc0d2073673";
@@ -5821,6 +6413,7 @@ calrsfs = {
 };
 cals = {
   revision = 43003;
+  shortdesc = "Multipage tables with wide range of features";
   stripPrefix = 0;
   sha512.run = "75321e774560d7a205a7bf6b7d2d512c6aa9b5f38f6116813ff43ebd4d1fed23ebe26c235b278ee5723062e49630fc5f9480dccbe5bdfa44f5168f18657ddadc";
   sha512.doc = "15accc06e3de07dc535078300efbffe305d8e26a3aa0e81304de37090500210932f08c24454d0bcb5d93ced903832891b6f987525eb64d04b1a7bfe577071153";
@@ -5831,6 +6424,7 @@ cals = {
 };
 calxxxx-yyyy = {
   revision = 69266;
+  shortdesc = "Print a calendar for a group of years";
   stripPrefix = 0;
   sha512.run = "329c4f91442d8115c997bbab09ae77e29bd2a8146d3109328ed9e08a2a4080895618b9a8467d4827c14ef65741b1380771409909f80d0b5fba6f527fbc900411";
   sha512.doc = "8c3f1a6a168e5891a07d39c7f67270adc521c19cc4be6a302dc779b9bc5284bf4aa7d9b3caab22b5591c0483800ce62f0647bf9e14c83902777aad0070e4193c";
@@ -5840,6 +6434,7 @@ calxxxx-yyyy = {
 };
 cancel = {
   revision = 32508;
+  shortdesc = "Place lines through maths formulae";
   stripPrefix = 0;
   sha512.run = "ac6e6b642dde29e32e45d7a0e967370c1f7a6ce604075cd43c57b1ee002e75adbe4fbc81de30e8d252cd58f2ac091503595a433c5de898deb3bfbdbb6f2d2e62";
   sha512.doc = "5af252a521c1976166db248c4c19d4fcadd32ec9801e0cd42b73e0a3a0adc461b88d765b90dec1af859474fc64bc00cbc8be44450cb4da6b43944c8fc46ba670";
@@ -5849,6 +6444,7 @@ cancel = {
 };
 canoniclayout = {
   revision = 64889;
+  shortdesc = "Create canonical page layouts with memoir";
   stripPrefix = 0;
   sha512.run = "850e180dad92a7082a314535fedf7e45e3bc3db48db0e7948287bf7782c2b1fd13924e666ca0edecc5fdd7b00fb55cfb0c5c17bd51019a21fd10c7116796b6d7";
   sha512.doc = "5ee3ca34d87e3f9cc70b606ebc5a8f7918d86284837a3359ca8d4dde50ce36e43a651e3cb6327f66a91f23fd7d5edad4a037e99745de3e5f23005f59517fadc5";
@@ -5859,6 +6455,7 @@ canoniclayout = {
 };
 cantarell = {
   revision = 54512;
+  shortdesc = "LaTeX support for the Cantarell font family";
   stripPrefix = 0;
   fontMaps = [
     "Map cantarell.map"
@@ -5871,6 +6468,7 @@ cantarell = {
 };
 capt-of = {
   revision = 29803;
+  shortdesc = "Captions on more than floats";
   stripPrefix = 0;
   sha512.run = "f3b1b81aa5a8c2ed9d5ab94e2e242442674af957d3f987b0db459ff8ca920abaab43d46db234b92ab588bb5f7d4c587eccf586a87fd492659f5b088760859c62";
   sha512.doc = "a8fa6b2a0787a3e52f3a9a22482ba9f9217ae97b985b4975c690d240ae040f4f1e17c3ea7439d53337e5a0815a66754d0e6c528417c04d7c6684d28e869f71d0";
@@ -5880,6 +6478,7 @@ capt-of = {
 };
 captcont = {
   revision = 15878;
+  shortdesc = "Retain float number across several floats";
   stripPrefix = 0;
   sha512.run = "b5002e8ea4fc8ca1840190e8a2d40540576dc5e17110da473a8981198e3f24c858644b181545be3bed6275cd0e0bb9848a6058adfc8dbef26956e0754c4e4699";
   sha512.doc = "91bdb436163ff745f3aecc67eec747ef5a1853035d86258bbe23a080a92b3393f72b4029bad719765663c94e79217df4edf753be930a3e4b62f0b999c296ea86";
@@ -5890,6 +6489,7 @@ captcont = {
 };
 captdef = {
   revision = 17353;
+  shortdesc = "Declare free-standing \caption commands";
   stripPrefix = 0;
   sha512.run = "c24a7d66c1daa3a9c336a8555286876aea9e969a4107c42c258f0f4c9a88070316df70e0f2a860adb6335a33e49cdd7a9ba8391255f1e1fb283bd2f6a7e7b343";
   sha512.doc = "c0a1a4584d0802eda39812d2c293fabed2487b0cedb57df622519d5857c2ef10e54e66032e9e9ee9ab81c757fb827eabf422b1bf2ab0ae6f7c22ab3aecb49a8f";
@@ -5898,6 +6498,7 @@ captdef = {
 };
 caption = {
   revision = 68425;
+  shortdesc = "Customising captions in floating environments";
   stripPrefix = 0;
   sha512.run = "21a36ab8ece42716032a15f3c105ba32c5697c4c88fc8b383c66bc6fe7ddd4969e12721e94d79df0817b02b43e498ba5211ef844e320bd91ccd9ae24e6f28fec";
   sha512.doc = "3a13af008ba73516f8d4be8ccdeda4b18fda2bf9462fed32aca7917efca3e5185f77810900945ed518fef5d81e2629f89cacad5564462f40bc0defe79451a415";
@@ -5907,6 +6508,7 @@ caption = {
 };
 carbohydrates = {
   revision = 39000;
+  shortdesc = "Carbohydrate molecules with chemfig";
   stripPrefix = 0;
   sha512.run = "dfccca523ef4ea2c9bba9ebdbed7f6bbce1ab0739be02118231d1eb449bc826dd5e96406d5e009239a1bf25088e8df289e2e66423a536d76cf592af1a50f276a";
   sha512.doc = "67de0675fbe00573058f428d34779b3423d1c9a7d47be5f8f1c3ba6b3cfb6783f5f1a945c1f201bb719bfe835ef035dfb56864a13ba0f12e0e83ef1ca0ce059d";
@@ -5916,6 +6518,7 @@ carbohydrates = {
 };
 carlisle = {
   revision = 59577;
+  shortdesc = "David Carlisle's small packages";
   stripPrefix = 0;
   sha512.run = "345c61b7eb6637e73a66b5f9183ec39188d4e2ffdd418f12d8ae70394f447eaf8a5d8c62e1adfa515ab7879e1afac4163957ae0b6facafd9ae6ad6f300acbe03";
   sha512.doc = "54c785d458a5a2848c2ae5c730215df4a66a7dc523605d3a9a8985cbd65677627a2a5f5800f055da65ecfaf096fda609f4a7f3a5ce22339f0ee6bec635250ec7";
@@ -5925,6 +6528,7 @@ carlisle = {
 };
 carlito = {
   revision = 64624;
+  shortdesc = "Support for Carlito sans-serif fonts";
   stripPrefix = 0;
   fontMaps = [
     "Map carlito.map"
@@ -5936,6 +6540,7 @@ carlito = {
 };
 carolmin-ps = {
   revision = 15878;
+  shortdesc = "Adobe Type 1 format of Carolingian Minuscule fonts";
   stripPrefix = 0;
   fontMaps = [
     "Map cmin.map"
@@ -5947,6 +6552,7 @@ carolmin-ps = {
 };
 cartonaugh = {
   revision = 59938;
+  shortdesc = "A LuaLaTeX package for drawing karnaugh maps with up to 6 variables";
   stripPrefix = 0;
   sha512.run = "354baf8e8cffc0849494e4f79a64111bc0fd4a63e2454b4d4763bcf0c25511e4fe70caf048c628695a90c55c04fea0fcb026a57e72131e746f9d795fbf54fc82";
   sha512.doc = "3811c97d39d7738ee26cc40f839eaf9f51d798d7f14a93c5906ea977a20ff864f84772adf3815216827894fec67f21c488797b4cf0b4db3c7ef6c551637d0493";
@@ -5957,6 +6563,7 @@ cartonaugh = {
 };
 cascade = {
   revision = 65757;
+  shortdesc = "Constructions with braces to present mathematical demonstrations";
   stripPrefix = 0;
   sha512.run = "7411f24d41aae23f52a2d611cc76ae4f4e6895c8cf0d038b7e4561f355d00c21a6164f0fcb866599b5637fd9cb5e4fb34e6507638a5fa7370ade5fc1df1ded15";
   sha512.doc = "dd52dae9ec2eb88f9c8db29eb633e110132795e4c995cd6980bc68e009205bf76c5cf513a47df1391e300c886f3aed78f5ea6187dacadbeee44cd985efcd749c";
@@ -5967,6 +6574,7 @@ cascade = {
 };
 cascadia-code = {
   revision = 68485;
+  shortdesc = "The Cascadia Code font with support for LaTeX and pdfLaTeX";
   stripPrefix = 0;
   fontMaps = [
     "Map CascadiaCode.map"
@@ -5979,6 +6587,7 @@ cascadia-code = {
 };
 cascadilla = {
   revision = 25144;
+  shortdesc = "Typeset papers conforming to the stylesheet of the Cascadilla Proceedings Project";
   stripPrefix = 0;
   sha512.run = "df66bd91562f3678e2ef42f16a4a0c4af95209fb28b1176b5b63968632b3235391180b06431a42afdc73a9e4f97f47c8c954ed1ef2ccb746cdbf1d65058ad919";
   sha512.doc = "2c15b786f550642c26cc8f5e0151dd5b31e964b46d59837b3f1ccbe118fba6ad8f06f86c6a5bdc6a791615929bf4c9b7c2287f930d1ca3c8bd6c2d0d7ddf64b2";
@@ -5988,6 +6597,7 @@ cascadilla = {
 };
 cases = {
   revision = 54682;
+  shortdesc = "Numbered cases environment";
   stripPrefix = 0;
   sha512.run = "281f9d13741f16fa07f93bbd2628f4da34db07d5005b6c1d7994ec7713aa100f152efd066bf712417bf6dc3fafb496d0a80f65cd2127c4640ab28cca6a4ee1d5";
   sha512.doc = "89aa9005cbdecc26e0b2489b544cf3f504e952eddd9a28dedd2a2f555d3e0c5f8378ce1ef21dd78fbc5ebac616cdb7559f2147e143f3cef12286a3e33d9b5616";
@@ -5997,6 +6607,7 @@ cases = {
 };
 casyl = {
   revision = 15878;
+  shortdesc = "Typeset Cree/Inuktitut in Canadian Aboriginal Syllabics";
   stripPrefix = 0;
   sha512.run = "1536d4fe6c0cc647def47d3686ac73757da8b4ebbb99a5188e78944d59350c0da731f2e51a40c94a1e05b225a793f292766de4221792804887b4350631c8a24b";
   sha512.doc = "74adbaee46656ad57512a11986f834239d60259eb45014e2c738f7f5b5bb47897185528c0feeb96c45ab7d6c04e679e1858417a93db791b72b5eea1cf828c0ce";
@@ -6006,6 +6617,7 @@ casyl = {
 };
 catchfile = {
   revision = 53084;
+  shortdesc = "Catch an external file into a macro";
   stripPrefix = 0;
   sha512.run = "6e01a91913a2a81224a533eb7f119283c267682efaa2a6cec11e9db7fc593b0d7a6830b83e482f22e96df208dba598b1c6596a78ae5d4cd17aa4c9a50eeaddea";
   sha512.doc = "ad0d938e0bb4fe3d307dff1afc5ff93cd4b76948a88f88a65e3d036fe679cddc91c52e64febbf887c766d423fa5d94371869793c93138eeb919188b9b44234a7";
@@ -6016,6 +6628,7 @@ catchfile = {
 };
 catchfilebetweentags = {
   revision = 21476;
+  shortdesc = "Catch text delimited by docstrip tags";
   stripPrefix = 0;
   sha512.run = "71656fb162aae4fccf15767911b8524c4f3a72f4c6fbeaea45a3dd9593489ec7644e7c10ab61a49cdd125ffe56e61331c30e35a10517720948d4f03b97b20056";
   sha512.doc = "4071d6d6ada488b5bbbac0df3b7604939fafbebc17808430d8bd389b86a8aeca0df90da77fb00f8be14af9e9a79c45bf5a2dc0b9ea45af34f60cbce83810e1a5";
@@ -6026,6 +6639,7 @@ catchfilebetweentags = {
 };
 catcodes = {
   revision = 38859;
+  shortdesc = "Generic handling of TeX category codes";
   stripPrefix = 0;
   sha512.run = "6eeba6d0c7435050e5ca07a6b0a24bca1714a9ba3d3a20168547502c2ec954b9d74918767c9728c1595355fdb84eb74ef258fee86cae1907fc5b186ccac0a939";
   sha512.doc = "4dbf09f34abc39d9aa5003ce3defe4f5a04b0cade5d6a848bbde4ff3f35ff6bd511b8dd8dade14f92b1ba38bda2595da65da589b0236920c7aa340d245e0cb7c";
@@ -6036,6 +6650,7 @@ catcodes = {
 };
 catechis = {
   revision = 59998;
+  shortdesc = "Macros for typesetting catechisms";
   stripPrefix = 0;
   sha512.run = "3994f92840c261d92ad8ebcf3205491146ab64cc65b7685557d2b84e3ef73058f3e968726b157d13e986a5ca40aeac2a9ffd48d019664ed2da4f01589ef4f0df";
   sha512.doc = "8b44ed2ca1ed8abbd5acc75074a2e297cc72632cda43a7049009631a79e459052808e51b169bd0be7932245ea2539223587b38cdc6d06e67c16da457b7036560";
@@ -6046,6 +6661,7 @@ catechis = {
 };
 catoptions = {
   revision = 68982;
+  shortdesc = "Preserving and recalling standard catcodes";
   stripPrefix = 0;
   sha512.run = "d58647cd52548a6ceb0f6a47ea20ba9348e1edd55f5514c5264857d99be1085824c4f75c2f7231ef41a1ff5fd0274fd5e3f5dd1b91241179d1bab417f2ef100f";
   sha512.doc = "ef09ecf5c1bb066ae733dc1dc3aefc8f6c8521c8596ff8b45d42ce8315fe49773b6c7d41d632eb342ada05d16784faac3cdfce51af9cca4dab7c9157a7947867";
@@ -6055,6 +6671,7 @@ catoptions = {
 };
 causets = {
   revision = 66359;
+  shortdesc = "Draw causal set (Hasse) diagrams";
   stripPrefix = 0;
   sha512.run = "961f6affda4b94a2f67e1acfd62a12439faafc436c66320b04c3df11383016375f0bd284836a0618def46e624e7e7a5f46524bfb9c3113575c88d490d117a417";
   sha512.doc = "241ce316af86e3f764929fa7c601a1533b86f85dacfbf2e81acb487b312c7df9c2a9ef1ddd047a977cc7eabaf4643caeca7f5c07979f9509867f3d522c507873";
@@ -6064,6 +6681,7 @@ causets = {
 };
 cbcoptic = {
   revision = 16666;
+  shortdesc = "Coptic fonts and LaTeX macros for general usage and for philology";
   stripPrefix = 0;
   sha512.run = "7d48e324b5c5ff5b0755903973e0b439025e98277269f21cae33709a6c39eb6df7cd8f054b22fb8b1c072cabf9e92d0f1456cb41fbdd5a6e99bc0d63952e6c3c";
   sha512.doc = "e7e33c5af518e7fc4f8fb15af79a9aefc1ab8cb4401d0eecbd6b418acfb01c2fa790d4d7f55206ec9d6d865aa177b2872f4d742bec2991e7118df4b834341af2";
@@ -6073,6 +6691,7 @@ cbcoptic = {
 };
 cbfonts = {
   revision = 54080;
+  shortdesc = "Complete set of Greek fonts";
   stripPrefix = 0;
   deps = [
     "cbfonts-fd"
@@ -6087,6 +6706,7 @@ cbfonts = {
 };
 cbfonts-fd = {
   revision = 54080;
+  shortdesc = "LaTeX font description files for the CB Greek fonts";
   stripPrefix = 0;
   sha512.run = "af6f11a601f2ea3fd38d639beb3f836becb71aca7d282f5d0c7e020e9f73269c560ae3ac08d93706731872bd1a271c75724e1049c2dbf65e9ac0ea8f6c9b4724";
   sha512.doc = "8fb94b444966e6e3bd63b5b3ea62f661c038767222b08df2bd288965902cf152e1af4ad4b9d69859d11b1b558f4015b2f304afb0a43c356ff663498d830e1554";
@@ -6097,6 +6717,7 @@ cbfonts-fd = {
 };
 cc-pl = {
   revision = 58602;
+  shortdesc = "Polish extension of Computer Concrete fonts";
   stripPrefix = 0;
   fontMaps = [
     "MixedMap ccpl.map"
@@ -6109,6 +6730,7 @@ cc-pl = {
 };
 ccaption = {
   revision = 23443;
+  shortdesc = "Continuation headings and legends for floats";
   stripPrefix = 0;
   sha512.run = "f002efbd7af71c108e041daaa182a4432d1886a058cbfda2da7fcf6c0f75a217d04bbb8498deed29c7f03a8d22d4d2e24327e6a3b284d38c7b37200431f17918";
   sha512.doc = "a3d2f92700e3421c37a666093944ae297ed39a35d99d6971978f5707619046603fad06b84aad55f41d3af08725535470ccec6d6bde3ab8f1ce4f0a53038e9ca8";
@@ -6119,6 +6741,7 @@ ccaption = {
 };
 ccfonts = {
   revision = 61431;
+  shortdesc = "Support for Concrete text and math fonts in LaTeX";
   stripPrefix = 0;
   sha512.run = "fb111cd33ec70fa672e759c9fc2894f6b0338e40bef7d1b2fda2c37a437fb1a5ad87ec87169ec389d9eb21068c890c960a5cc24efd6e443b5995d5001f4f7115";
   sha512.doc = "b0e9b5ce6010b03afc52b6f4f7a978e8d5a8f1a382750bdbde0b758209e7f8dc57f84d950163e64381c2d7a8366a50a34c02286cc2011b9cde3e0d40810e01a4";
@@ -6128,6 +6751,7 @@ ccfonts = {
 };
 ccicons = {
   revision = 54512;
+  shortdesc = "LaTeX support for Creative Commons icons";
   stripPrefix = 0;
   fontMaps = [
     "Map ccicons.map"
@@ -6141,6 +6765,7 @@ ccicons = {
 };
 cclicenses = {
   revision = 15878;
+  shortdesc = "Typeset Creative Commons licence logos";
   stripPrefix = 0;
   sha512.run = "dca388e065610abad24a76f7dc600d9ae659973fbc47f4fc2157958aa2850d9c3bae7811418bf76effaf696386a62584c8a2ff158e98ec7a971bd1dc800424ea";
   sha512.doc = "eb710fbac41527da39c26d5d27aaa84faf05e380356e9c3bc1a0c0fcb4d2dd5412f304d323ccf13084dfe8d31243698350fbdbefac07fff6cfabceed9f4d842c";
@@ -6150,6 +6775,7 @@ cclicenses = {
 };
 ccool = {
   revision = 60600;
+  shortdesc = "A key-value document command parser";
   stripPrefix = 0;
   sha512.run = "2b125b2e1fa1bf91abd3968749d422873993a6d34df66bccd2fdf8b71338cd6039be8e584f801fa12cfc90a59e32b3ca0de53ba07bdaeeac745aa2a73d05467e";
   sha512.doc = "05db77b09aba0d4ccb3712a5f5086c93de9ce70e067bab00030e96a23b058b76b69f54b379ac0ad8d03e68a3986687b1ce18a980d9ee5b7e4cb80dd2064294ef";
@@ -6160,6 +6786,7 @@ ccool = {
 };
 cd = {
   revision = 34452;
+  shortdesc = "Typeset CD covers";
   stripPrefix = 0;
   sha512.run = "8b47a219e4d40364e1a4ed4d13245c0c9334508ffca0cff565a8d8856aef32184bdf0a19966027fc4e958a06b4f5a53bfb66188c6fd065a1b3b230cf1da2f484";
   sha512.doc = "5ab78083715332130aacf3a97f6280f2533e7f9383c38ddf431d3486c6e88589cc69b7cd760088fbd2928c9b349ff583bc275ce8d80590234deeaf1e1a23b4ca";
@@ -6170,6 +6797,7 @@ cd = {
 };
 cd-cover = {
   revision = 17121;
+  shortdesc = "Typeset CD covers";
   stripPrefix = 0;
   sha512.run = "345b001cd40137d9739a97c3c06549c3c7b761f56f61109dd4908c767151515081defd6c432232ec7a9fdeb8e85e95258ded345facdef0cf6bffa82bb5c39fbe";
   sha512.doc = "f22c8eccbecb35d4c3c01788c0eb8ca793fbaf7b97e2bd54ec79e78ba10c13a4eef46c5eee70f1550cc7c378bb01926e8eecc6d41916df22a6e615aacd2b1e75";
@@ -6180,6 +6808,7 @@ cd-cover = {
 };
 cdcmd = {
   revision = 60742;
+  shortdesc = "Expandable conditional commands for LaTeX";
   stripPrefix = 0;
   sha512.run = "677fd271bd209933428d0b655529b7e6c4bfd6022c37c3ef5456e1ce6fe25c599a9883474c28dc9510e293a2ee5e87a49b797bb562b750e888c622bf6ac6d37f";
   sha512.doc = "bf6d3bb4422dae82e06d440713518dafa98ab7ef7b527268050ebe51880f90e45b76281c1d693f1b40e85f07d7f6d395f51ce2c642094e326c3b1d08534fcba2";
@@ -6190,6 +6819,7 @@ cdcmd = {
 };
 cdpbundl = {
   revision = 61719;
+  shortdesc = "Business letters in the Italian style";
   stripPrefix = 0;
   sha512.run = "ab13c84673df8a4da5b694256ab14f3c4fab34ff32e8d2faa8712da128baefcedc19c8bcccc77a585171d25e17369af274176971a33679e07d2bd138d4766603";
   sha512.doc = "5ac8e2878434ca3b30ae20c6d1ca7c19b7ac12a38f9598d265ca6c7c214beccc144b75ff5962faf3b58b74b1ec91ab2c265d5429b98206db1fd1c558fa79385e";
@@ -6200,6 +6830,7 @@ cdpbundl = {
 };
 cell = {
   revision = 42428;
+  shortdesc = "Bibliography style for Cell";
   stripPrefix = 0;
   sha512.run = "917431174b203fd839d3cf81ed965cc654d66597246ef7a4f9f3c3a945397b546eef1e7bfc4f9fb52889e149ee2fd195dd559c317472831e66e0fc3253a6c22b";
   sha512.doc = "3cbf1ffa3902f49c155f2ee6b13e24b9abcbdf50da4668042dbc720ef20f483e230fd2ffdc8448007df7ced1ed34077811199cda4fbb35c104dce73084215bf4";
@@ -6208,6 +6839,7 @@ cell = {
 };
 cellprops = {
   revision = 67201;
+  shortdesc = "Accept CSS-like selectors in tabular, array, ...";
   stripPrefix = 0;
   sha512.run = "81b8f2983c9425d7b95d916fc5f1989dc266154d4cea7c48165265076f187c82d256fd98989b750cbe15db64f6fb4a935bc91ae67718b5541ed695ede861c231";
   sha512.doc = "a88187cd20bd8ab41077d3221dd6f804c310a3f7e53e1e600872a4edc65dfbe1547ca8599c42a9a10d4d61ea89c0a8da2cf4d60680706605048fb728e7f93129";
@@ -6218,6 +6850,7 @@ cellprops = {
 };
 cellspace = {
   revision = 61501;
+  shortdesc = "Ensure minimal spacing of table cells";
   stripPrefix = 0;
   sha512.run = "75c32e958beab58086d8ba91da3bf1a4a4b9f3ec306dd5369798298c45cc67ee44c591e616062072ae399aa89c90edabe597665901ec60f46fb9fcd9d4c462d5";
   sha512.doc = "3a6044a5b3e38ea425174481bf0f079943b53b9cc7d68668f5666c72c33cc5edfb82aac08bc3347225e4838dc32579ea611e8fcd2619468e080cc63c11a38da3";
@@ -6227,6 +6860,7 @@ cellspace = {
 };
 celtic = {
   revision = 39797;
+  shortdesc = "A TikZ library for drawing celtic knots";
   stripPrefix = 0;
   sha512.run = "df78495c7a42a60bf40be46bf14c30d97dcd7c7d1b283f487026f7c3b6a680c750d09527cdd578f69234500eca05764792ddc90ae4dc8005126510ae33fcab4a";
   sha512.doc = "ed29c2882619bc7f076578c91cfb7e1e83af9e6960ee58af78486c1af6aeeb2b2b6eabdf916fa30ab865991c677955c0fd15a43f128aecb635ee30b3ba514bb3";
@@ -6237,6 +6871,7 @@ celtic = {
 };
 censor = {
   revision = 67293;
+  shortdesc = "Tools for producing redacted documents";
   stripPrefix = 0;
   sha512.run = "9f61a4830737a7ec59797489ce4fef44d5d270d1ef84b4971eda0d91bd9fb6aca0efae6a7a0d056919d090325592e459de7b9182321cf1025251a81ee9127a90";
   sha512.doc = "3cf23b7cfac9f992890f67fc86f3e53cadef7cbe2725b4a19bab144766c4f1e60a3675685513d062d5ad81b3f13b4b6864c1daf83f76761275aa51b07a130c60";
@@ -6246,6 +6881,7 @@ censor = {
 };
 centeredline = {
   revision = 64672;
+  shortdesc = "A macro for centering lines";
   stripPrefix = 0;
   sha512.run = "b9db432378f6b24ab52c20e1189734dc7b1285792e5fc392808a04f98ce784d00ed9b87459017f1f798c5e6ff769639f650c3d3abe2cd5975306b6875e1fc067";
   sha512.doc = "023be77780a79180deae33a27b25c333f4499b302d026e5ddc34a2d1b7d45496dc0940027e7982816be0f398837ceb7b0de27ffabe0d1096c9fcab096784659a";
@@ -6255,6 +6891,7 @@ centeredline = {
 };
 centerlastline = {
   revision = 56644;
+  shortdesc = "Paragraphs with last line centered, known as \"Spanish\" paragraphs";
   stripPrefix = 0;
   sha512.run = "a695c30f3b3db43c83e1ae592de9bf32b2856cca45561835e78a03808c7d3d3d8b71f4cb2cf6ecd82ff475012787f953320e4a6a5817ea384382741b7ac88cd1";
   sha512.doc = "850bd95a2ba3c9538e08163b34c900c045808ab69ab021fbb2068e1ab0fd3c5f29fca0b95864203b52704a3c33b81df7ab3cb46eb7296131fd49de71ad0fb876";
@@ -6265,6 +6902,7 @@ centerlastline = {
 };
 cesenaexam = {
   revision = 44960;
+  shortdesc = "A class file to typeset exams";
   stripPrefix = 0;
   sha512.run = "780962e24e1dc4c6c385c18a6c95b8864b1930b2bc684d9a556a1d6579a2a8d06ec0df3fdb085c3ae8115dc72d06e376ed8ea6f6d801af07dfcbf133c9cb9c67";
   sha512.doc = "72d53ea8ffc1827f3965c6f0728aa5f2cae36f645ab10d78ff8c16a3537f79c6f53fd34f388f2991e5cd2261b366e7746a140285df95d17475adde9cee3fcaed";
@@ -6275,6 +6913,7 @@ cesenaexam = {
 };
 cfr-initials = {
   revision = 61719;
+  shortdesc = "LaTeX packages for use of initials";
   stripPrefix = 0;
   sha512.run = "b4799007822a3bc82370b72ead503661f70cce1beb7a27bf1bd2523283a248045b0ef863ab1dd9bd93b39441e50d51fabe11a12fe6528a7966219a2da2618141";
   sha512.doc = "124dbae846ced93e4cbf5b9c16235295c7e76306830bc9e08cdb5a4e8d0d5f9deada4706c6c41cc383f440e9e874cc1cc338176787ad029f8164bbeba99db965";
@@ -6284,6 +6923,7 @@ cfr-initials = {
 };
 cfr-lm = {
   revision = 36195;
+  shortdesc = "Enhanced support for the Latin Modern fonts";
   stripPrefix = 0;
   fontMaps = [
     "Map clm.map"
@@ -6297,6 +6937,7 @@ cfr-lm = {
 };
 changebar = {
   revision = 69367;
+  shortdesc = "Generate changebars in LaTeX documents";
   stripPrefix = 0;
   sha512.run = "2dda64af4a2528e5f81a1dad9002badd1c443d7f1e3cec36b9548254e5b365a641912e720779787cabc6057dca74af42db2e1ec3a9ffe39c3ae5ef7ffe0d8319";
   sha512.doc = "5e0e2766b5078d1ffe87c36d14961aca842ff7d0ee73aefc6277b730dfcf98ea573c822addb2d6b95cc3981e6f56458a3a209c03848eea48170f7452a6261b96";
@@ -6307,6 +6948,7 @@ changebar = {
 };
 changelayout = {
   revision = 16094;
+  shortdesc = "Change the layout of individual pages and their text";
   stripPrefix = 0;
   sha512.run = "c6852a40bc8415656b8137cfb90a79cff8f8e9938979eba4e02dadb3c5d1ffef60966f9e5779696402f2b9344026ebc1e22ddeb9dba856d779317ca801f26e7e";
   sha512.doc = "bb81e02317d12b4dae8b0886ac3222849a457563ee8c43e09495596c56482202bb702352a8551f5d760ee41a82dde6b3f3c2bf57b4671831a25805d44e8705de";
@@ -6316,6 +6958,7 @@ changelayout = {
 };
 changelog = {
   revision = 65861;
+  shortdesc = "Typesetting keepachangelog.com style changelogs";
   stripPrefix = 0;
   sha512.run = "9b3fd70ebd0563138e2811ec8d8748dce3d04b18da636b884887424960ee69fdd30902b85b968ee9f545d57f8dcf8f6f137174b8ea9a7049308cd778f52afbe2";
   sha512.doc = "c729c19b2a80eca9735e2caa46832da20975c89810d3f669c93e66ee4a768877c7ff30d71b2f887dace78303773eaf549ed32a001124304b82d4d51c57cc100b";
@@ -6325,6 +6968,7 @@ changelog = {
 };
 changepage = {
   revision = 15878;
+  shortdesc = "Margin adjustment and detection of odd/even pages";
   stripPrefix = 0;
   sha512.run = "0ef1d3370affd4ffc2ef77031a8713b5c663263802d67142b10fa7fc025569b3914dbbaa5e71e2c643718940a0cb89194d79ec83a83b93fcf5d57e0bfbbdbb46";
   sha512.doc = "e3894d3a475f132e2242a6402899e8b9b6045681ce1fdb05fc5b0570e4d6b8b6980c2b5f5953602690250826db0e7dc9bab2f235d39fa5bda0e1161fd781478f";
@@ -6335,6 +6979,7 @@ changepage = {
 };
 changes = {
   revision = 67201;
+  shortdesc = "Manual change markup";
   stripPrefix = 0;
   sha512.run = "c7c8f65cc8a6f94403a1c85b01eece41561eaaef39b39977d02b146ef8dfa49aeca27345eb96ad5f6ee05d3a6625aa0dec9a34def564fb2b25dceaa528d230f7";
   sha512.doc = "26796990ee809dd953fc8f5ead93517faa1bdddf3639d9d51fc2f0ab00a620fdc1950ca78a6a77cb58a5977f702a1d93738312451900ffb0a745282e777f7daa";
@@ -6345,6 +6990,7 @@ changes = {
 };
 chappg = {
   revision = 15878;
+  shortdesc = "Page numbering by chapter";
   stripPrefix = 0;
   sha512.run = "8286a7b7664f7634bc5dd16ae1888cc4b70e2880c8749fe2e894d209384da7a8513b2daa318a4154f9b443f89b7eb2e3c6d620b81e1bbfa1ed64c243ad57e47d";
   sha512.doc = "c0d42e7a9cbae3fc7386e9734492cd3f879ecf69551d17483c4f4516c2ea09d0b9b76914decb987f850af362e54c638af190de6d0d6414d09c49cf48c0635f59";
@@ -6355,6 +7001,7 @@ chappg = {
 };
 chapterfolder = {
   revision = 15878;
+  shortdesc = "Package for working with complicated folder structures";
   stripPrefix = 0;
   sha512.run = "b5f68c160249e9cd94efc4c664a18c04e627d416b304697859144d6bbc5ef787c0f8721d19cd6aab6c60864dedc65e84b3ea9114b7c823a8131b4bfdfad0c2b8";
   sha512.doc = "43a28dd7182e02ebe0541c7b236046a6c23d55c73e36aa1a0e85954c5efd917667e1916ed0bb7000cbc5285230d162d5e844726282f0bb93ff85dfbde5fe8c57";
@@ -6365,6 +7012,7 @@ chapterfolder = {
 };
 charissil = {
   revision = 64998;
+  shortdesc = "CharisSIL fonts with support for all LaTeX engines";
   stripPrefix = 0;
   fontMaps = [
     "Map charssil.map"
@@ -6377,6 +7025,7 @@ charissil = {
 };
 charter = {
   revision = 15878;
+  shortdesc = "Charter fonts";
   stripPrefix = 0;
   sha512.run = "706efb4e3daf7c304f5047b99d1f68051aedafc110cdd51b2e3cc520ebe628a87c41579cf476978e70aa0ae920e7a3aca1082013b41be8902174975e164a8f9b";
   sha512.doc = "846ccf6ea679e3fc70192e340ce79982cd916d1383579a8549dba7125de645e4fcd4c276800bd5815fcb67d7227081a66b51f42dabebe8cf112585ce9685fb8e";
@@ -6385,6 +7034,7 @@ charter = {
 };
 chbibref = {
   revision = 17120;
+  shortdesc = "Change the Bibliography/References title";
   stripPrefix = 0;
   sha512.run = "c87fc723f7d78aaf6f47f0eb34760d20c22a46983e802f1383ca4d952b354e199fe17dcb0e8b42e66522826f71f1031c59457ad4c5f5751c6ffeba66adeb4c30";
   sha512.doc = "58c43dbb1274e99ab60ae8c2911dff6d73099c02f3c6b4b97eeccaa336f56e677ad3a1897a4fd782cf97e59b9938c83f13c0741697630d2dcaa4a7daa0b852e0";
@@ -6394,6 +7044,7 @@ chbibref = {
 };
 cheatsheet = {
   revision = 45069;
+  shortdesc = "A simple cheatsheet class";
   stripPrefix = 0;
   sha512.run = "5d50e5bc579821cc9296209983af68f5c12f6aaea90dffe386efb85d72683c10dd518fc2abefd51687402125bdd4f108ea6325c546ed6b2216cff130abdd1a51";
   sha512.doc = "0c798c7057e6e9d8b3aabaf745b374823f0a186e95a01d6208ec22df8f733f02a86c01b35bf4dfab88837574fc63f159ffe177f6c155e52f85bc0d062966acd3";
@@ -6404,6 +7055,7 @@ cheatsheet = {
 };
 checkcites = {
   revision = 70398;
+  shortdesc = "Check citation commands in a document";
   sha512.run = "4782a9fb2223102492071b20efa40bdfaf9447165a108f680d2148c057507349a0c14f9274265ee2954b75e5f6fc8b1457115f60324e4b6598954babc565dedb";
   sha512.doc = "dceee4bd22f760a6bc1a48fa49b0c68a0579123dbbb7422ce71db2eff910156425a0d90f62b9d62c4f4763d657c552f0cc5298a8627dbe98f0d5b6bca782b8db";
   hasRunfiles = true;
@@ -6418,6 +7070,7 @@ checkcites.binfiles = [
 ];
 checkend = {
   revision = 51475;
+  shortdesc = "Extend \"improperly closed environment\" messages";
   stripPrefix = 0;
   sha512.run = "40af84a5510dc3038c536c4b0aae0176651f01953650c1e6ec8b5d76459e7000246205d55f2b13ef566930649daf1eafc38e6d2d822787d1fa462e99837b6ba7";
   sha512.doc = "0527c3c080f502baaaaa14a398ecbdfa714cec872f6cf8391ef8a766aa24b497a0fc00012433409904ea11d7fec425dd7c7116a52e8d983bddb2633248d2b090";
@@ -6427,6 +7080,7 @@ checkend = {
 };
 checklistings = {
   revision = 38300;
+  shortdesc = "Pass verbatim contents through a compiler and reincorporate the resulting output";
   sha512.run = "599ed476321a825bea61fbdd468670cadcdb11249a4a9324fc88339a9445ceeced3680459dc2d27c2e6263cd207ffc0ce3b60b325d31072922bf4644478cf544";
   sha512.doc = "3f8d6eb67f305fa5e03bb625a4034ffe616a6c0223774688463884df99c337c1e5bdd76bbfa3b9428ec4812ec72388979c4252ba7407ae8b79e3de7cfacbeb01";
   sha512.source = "a7435841305ce368f1bedac9cb531d8f0fce3fac27484547821a2e82998e977968e578601382f4cddf6c089b42e8e175c56d2e466faa5c4c0e5b49edaf6baf1d";
@@ -6439,6 +7093,7 @@ checklistings.binfiles = [
 ];
 chem-journal = {
   revision = 15878;
+  shortdesc = "Various BibTeX formats for journals in Chemistry";
   stripPrefix = 0;
   sha512.run = "afe7c82f6e139c1321759ef9125f262d504bf602c1c5e16a11d41cc00ea47dac3f2befd602a863a12c46beaac4c50fe6fcdb145c5c6582c9d44c2740aa1b7743";
   hasRunfiles = true;
@@ -6446,6 +7101,7 @@ chem-journal = {
 };
 chemarrow = {
   revision = 17146;
+  shortdesc = "Arrows for use in chemistry";
   stripPrefix = 0;
   fontMaps = [
     "Map chemarrow.map"
@@ -6459,6 +7115,7 @@ chemarrow = {
 };
 chembst = {
   revision = 15878;
+  shortdesc = "A collection of BibTeX files for chemistry journals";
   stripPrefix = 0;
   sha512.run = "f6bc14345c841db93207745de1d6ce189e08a30d17110d8efe04af0c5aa98cf7e3a1208e1969afeca0c69f747fb5db39437645e2437f9596ba5a70610747b6d4";
   sha512.doc = "3263dbeee44d46b6661e2e755ba10e22475432d03de6b3286d1191acf2fc8df1541d9a9684d5e00143dbebf65bee468e9244ffe73d7ff43889153925b6edb379";
@@ -6469,6 +7126,7 @@ chembst = {
 };
 chemcompounds = {
   revision = 15878;
+  shortdesc = "Simple consecutive numbering of chemical compounds";
   stripPrefix = 0;
   sha512.run = "d8cafe15f21045522812279337f9680a975a3f9b9930231b7992435bf694f8f180b061623bdf5fbe7dc9cfdf7d6342e0d6c2dae1cbe0d8e855699064a97a95fd";
   sha512.doc = "26d9568f73f6b0c557cc55b48a99826b70d87724f7f5776f7c58691e8374b3b6ed400206b338bb0397ae5e0c1df5d1bdbb638e80d0dbfea228138b96863587ad";
@@ -6478,6 +7136,7 @@ chemcompounds = {
 };
 chemcono = {
   revision = 17119;
+  shortdesc = "Support for compound numbers in chemistry documents";
   stripPrefix = 0;
   sha512.run = "29b6e78d47cdcb21c634540ed6a935cd5c6eea5fb6a28ee85cfe681ff00c8bd24d7175ee5adbbeab03e11db2f56a38d3359235ed44771976917f35c673fd21c5";
   sha512.doc = "9936d1f0ce1e6ab9498aec9d68c176ddd803de3ed1e5a698ca7b548203cac66492ce319af3e5951144ad11878065c8b349f57668498d245413d7db62d1b6a8ae";
@@ -6487,6 +7146,7 @@ chemcono = {
 };
 chemexec = {
   revision = 21632;
+  shortdesc = "Creating (chemical) exercise sheets";
   stripPrefix = 0;
   sha512.run = "62f374a57c799873aa4d1db52c56fcaf2f15dd813e3bd9295044499defa29a88567034e39b20af1e8a7e4208dcc35aa422c0ea8e1e0925fb1ae3e02a1a8cb482";
   sha512.doc = "83b622fe694111fefb9c7863d5322f7a717778727c99db3fe5eedec0b6575d4fe50e6b5076413cbbf36a222ee7765bbb847c44783d6ce45cb07f55bab16955da";
@@ -6496,6 +7156,7 @@ chemexec = {
 };
 chemfig = {
   revision = 69227;
+  shortdesc = "Draw molecules with easy syntax";
   stripPrefix = 0;
   sha512.run = "1f5908b759c39314eb999b4d1e60ac364888e4d6193673bd387ea838eb9bc257500b0603055b2182cd5be581dc1d674ed4eaee6ec4b0ce225f72ddb77f67ac80";
   sha512.doc = "1af123c858992787d641eb6f0263f5ed0d819c4264e97191ae8058714039e202bd9bb663e25104775d9362ca005acdb056b3c97c238b1899880fb51665405a13";
@@ -6505,6 +7166,7 @@ chemfig = {
 };
 chemformula = {
   revision = 61719;
+  shortdesc = "Command for typesetting chemical formulas and reactions";
   stripPrefix = 0;
   deps = [
     "units"
@@ -6517,6 +7179,7 @@ chemformula = {
 };
 chemformula-ru = {
   revision = 70357;
+  shortdesc = "Using the chemformula package with babel-russian settings";
   stripPrefix = 0;
   sha512.run = "ee12aadfaee03282e1cf9fcde69bf141abf0bcc5ed5a35ea78a54111494c5cb65f97a3bcdf8838a536128b05de1039a9caae7ef5078188811a54d12ec4f41855";
   sha512.doc = "290b509e2eacd081d690f857ed2a2ba3f860ec25788150af8da5f3eedc5291bbfeea84e117d04959b1a30775ebe72e88f2c0a4a4dc89517ac81b239e3c001d39";
@@ -6525,6 +7188,7 @@ chemformula-ru = {
 };
 chemgreek = {
   revision = 53437;
+  shortdesc = "Upright Greek letters in chemistry";
   stripPrefix = 0;
   sha512.run = "8e70154271fb921ad9edf6ab5f8a21ce7c229723f88d7e37fe17aedb189c67a5749ea9e622c2dcebeedd614efbf18b9138e0219aea998f7a8ab3087348afa788";
   sha512.doc = "69ef091ed42bb40826af81c9a4ce5536873a5debd971d70d30804f75a3240bc1aea037817cdc42346537cd025306c928fa347938785af9e69022ef51fba20d2d";
@@ -6534,6 +7198,7 @@ chemgreek = {
 };
 chemmacros = {
   revision = 62655;
+  shortdesc = "A collection of macros to support typesetting chemistry documents";
   stripPrefix = 0;
   sha512.run = "814995dfe7978e639594d51542ac7b86f419d48ffc3d39f069c24e84abee854e01b9d72047ab44311d500b98ac1d01308b56a77006cf14a975861e45d83b9f7c";
   sha512.doc = "dfe4411faa4ae403d9b46b9f8f0e821f810c1c9b5a8926149643f099b164c7d1f163ba3436c79a8b9eccf84ac234df74c080fd2e4a9ac58452b840c335b685dd";
@@ -6543,6 +7208,7 @@ chemmacros = {
 };
 chemnum = {
   revision = 57490;
+  shortdesc = "A method for numbering chemical compounds";
   stripPrefix = 0;
   sha512.run = "ea8bcdbb4e69422052758aa7c49f8870c468834ca15833ba4aa89df98c88dd025b4677a9a15b85dd9f953eed6e05b62bd8ef2d4849bdbb113f16de9fbede1205";
   sha512.doc = "31d1e6c6165f7d8ab15ed322b1cacea608fc796c74e3cbadde89a56f1e7bf45c01bcc6985d24a69b459976f75565f35f61174fc34562265b7f159b5b42d1ac30";
@@ -6552,6 +7218,7 @@ chemnum = {
 };
 chemobabel = {
   revision = 64778;
+  shortdesc = "Convert chemical structures from ChemDraw, MDL molfile or SMILES using Open Babel";
   stripPrefix = 0;
   sha512.run = "bd6ff01187b408d0f6d40dba470cbdb9cd72294ca425f76287d1a0d01474ca64d15db42907295b5a90958d3b5a18544a66d6b49de9a9b62e21fc3efeb6598569";
   sha512.doc = "ae4ddcb5609bf5d3c634847c7be934b4a688346469098257fda8838ff2fcad4fc390cd600991648274539cf65c937d82d337840e0500661014755bd4872e59d4";
@@ -6562,6 +7229,7 @@ chemobabel = {
 };
 chemplants = {
   revision = 60606;
+  shortdesc = "Symbology to draw chemical plants with TikZ";
   stripPrefix = 0;
   sha512.run = "6d5794cdacdf71db6cef86b9bc99af2edb1a13f2b209d7693a7f37cb5161596de37b656b3e4ae690102cc64cb7245b21004c72943fb8f5e08fc1ed1479d98947";
   sha512.doc = "50cdbc24501b61b81c2cde97c851df785599f5c2f5c3e4eab75bdebd2a81501edb9e3223dacb2042682a066f5640e8b1377c43ca61ec643b342f6de2972ec4cf";
@@ -6571,6 +7239,7 @@ chemplants = {
 };
 chemschemex = {
   revision = 46723;
+  shortdesc = "Typeset and cross-reference chemical schemes based on TikZ code";
   stripPrefix = 0;
   sha512.run = "c7375af2dbf1a7b55d41b0ab617111cc198f1aeac98c354813cb2886e0707ce5648d3e4fd9eefdd23bffddc08b96c35a050c1f440f21d5a2d7d5c6b5e0b6aaac";
   sha512.doc = "b5e864a02ed664e7d7596b56e2583f9a4aff2b8117f79415156df0cab9be084bb96eb6c70c4fca9dd4bd03b30e8b145e4cd809b165d17325625ae625c33f1dc3";
@@ -6581,6 +7250,7 @@ chemschemex = {
 };
 chemsec = {
   revision = 46972;
+  shortdesc = "Automated creation of numeric entity labels";
   stripPrefix = 0;
   sha512.run = "7a69ed2535d477063e55541d53f73f5d1972905f63d2298629522dfbfbbc97dba0e9ea4a48ed1667ad7b50e24c4a0f7b6d5dbbf79863c9e79a0b3de522be54c4";
   sha512.doc = "5e132354e874b3ad5a4363cfbcad49e3601380dea8f53e106bb0b5d92fb1aff6facfedbad69444ea362c76473dcc7bd8703beeeda9b69f2501d995da98ef71a2";
@@ -6591,6 +7261,7 @@ chemsec = {
 };
 chemstyle = {
   revision = 31096;
+  shortdesc = "Writing chemistry with style";
   stripPrefix = 0;
   sha512.run = "299e15460a64019177530a4d28154453a813c6987e6e89b6f60466ae9e59372c1a5e0fc418c49b85364ba3185d4fe4e4b7f98caad9add7dce9bbe1792d4e314d";
   sha512.doc = "f8d6c51cd7e3df7ea8366ade62d0cf8ec3825b0ca54be600107a6be8853d1c58e1989f5c13bddcacd97673260890fd0f63e9a0282203dbdbc6a01653d86f0537";
@@ -6601,6 +7272,7 @@ chemstyle = {
 };
 cherokee = {
   revision = 21046;
+  shortdesc = "A font for the Cherokee script";
   stripPrefix = 0;
   sha512.run = "731fb10454a9d359d91abf927a27215e72283a9635cbd853a6738ddbd5047d81fdb8d547b891f29836d0b604d97749074e9f2676c5ad122522d987ac9bb46105";
   sha512.doc = "34b258b5b699f644cc0f7f9b673f3dbe48357bbd338726af2b404da4888a9e742f04e397cc3b6a3221d218a96ac7180ce1e6ba80a19c688de0960ce59cb14bb8";
@@ -6609,6 +7281,7 @@ cherokee = {
 };
 chess = {
   revision = 20582;
+  shortdesc = "Fonts for typesetting chess boards";
   stripPrefix = 0;
   sha512.run = "236e195febc213825fbb5569d8eddd1967fbce1c6e9d550a1c52729be43674e063161adcd5dcb1f6293d9ecf8809518d40064fee08ab64ffe444affe3282224b";
   sha512.doc = "95d3b598f63231abb6cdccddc970d6ccb29bec7e9fa29efcf1391bca70b610e9c0bc65754061a4b955548a854bcbbdd8cdf05f8f93fe52bea400b7c281ccc0da";
@@ -6618,6 +7291,7 @@ chess = {
 };
 chess-problem-diagrams = {
   revision = 63708;
+  shortdesc = "A package for typesetting chess problem diagrams";
   stripPrefix = 0;
   sha512.run = "a1abc825710bea252dc9dca092c9bacebce5af21672e413425d5ddbf72022272690db31abfdc6cc4738a1aef1b802f95adf93264a4ede8c352409b2dc11c125d";
   sha512.doc = "47c2e1fa3790f7229a2402b5e20edded8c2c7908d48e16a228c55bd5b23e94d77a5e1cc9d00790238a6fec4fdfcce1915251a08b6aa487ff63e18fadea6c62f3";
@@ -6628,6 +7302,7 @@ chess-problem-diagrams = {
 };
 chessboard = {
   revision = 56833;
+  shortdesc = "Print chess boards";
   stripPrefix = 0;
   sha512.run = "9447eb4dd8712ccbb519f91e99ccd1c64cc0e9ba904bd46dd8c83ce03c31e5caddca8e76c2cfeeefd5946c8881b9e6b198d50c131a1e8d5622b054d1459865cc";
   sha512.doc = "1c2e8ab2776a247ab1cbaf5527e04392dbcd1eae3a9b1c6785223268d1811a778c0812a1a5437a15cf4bbf08ff28785a57da10c472dd7567f1f0217b2d7de556";
@@ -6638,6 +7313,7 @@ chessboard = {
 };
 chessfss = {
   revision = 19440;
+  shortdesc = "A package to handle chess fonts";
   stripPrefix = 0;
   sha512.run = "8250d4b470a74877c44093888657b0a3c6ce71abc2a23780e71590d0398fc08943ef77ffafcfdabdc6bfd739f7d5b4ca15f2436df103271de029e5ff6102f579";
   sha512.doc = "1f9e625cb7765450fde23f5666af3b43ddb9ba2e67e7d04b98ef19446117cf26eaec3c2586be7c683286dedc37f8d628e4142bae834af716f2c068ac28beef58";
@@ -6648,6 +7324,7 @@ chessfss = {
 };
 chet = {
   revision = 45081;
+  shortdesc = "LaTeX layout inspired by harvmac";
   stripPrefix = 0;
   sha512.run = "d4a43d5ed1f8e74f0b4681abeb2b1134e9ad770cbde69679d53ea77e09a1a23412f03705691cd31110d145a96dd97e078d675274342c9323b849c770828db5fd";
   sha512.doc = "143b224d3ad957def3ec22a6e55c1b9eebd5db582065d422e1cf972580eb321ffc768c51cd687add62c01ab1cf3dec170422e6d9bbbab01846bf3e4cf84ec936";
@@ -6657,6 +7334,7 @@ chet = {
 };
 chextras = {
   revision = 27118;
+  shortdesc = "A companion package for the Swiss typesetter";
   stripPrefix = 0;
   sha512.run = "6fa92c9cf1da7cbe2ba74dd10f1f71274e25b228156f01efe5c67e54a2ba258500f7b2cc39fe935d4e92c641b760eacb7f39ea70643557ade4816e92e92a0b17";
   sha512.doc = "8bcc8a6c99be02d8e0babc82ec016fd6e91823a31338701e3d741af895a1d87d224a849598c2784f5de9cfefaf9cd7a09ee5b102636114d528b1e17b830ffecf";
@@ -6667,6 +7345,7 @@ chextras = {
 };
 chhaya = {
   revision = 61719;
+  shortdesc = "Linguistic glossing in Marathi language";
   stripPrefix = 0;
   sha512.run = "c8174ee6bbb8a57448caee6cd23bf7e41790dd1ff40cf496360548fadf1e7161b2e08b2ef53abb51b1410b406689267ce2d4a8668d052754e323a1d836670ba0";
   sha512.doc = "0e6bab691d5a5965ab8ee575f84aeae44d26ed12fa8c7f636fd0997a4ec7c1d4efc4a43f3f451659b69bd367c759dc8c3239ca51c5d12c91ef7182e43acfd126";
@@ -6677,6 +7356,7 @@ chhaya = {
 };
 chicago = {
   revision = 15878;
+  shortdesc = "A \"Chicago\" bibliography style";
   stripPrefix = 0;
   sha512.run = "2313d7911a8c6bbcfbfb25405e3fd2ea8c0721045f77b9ecf27e4daaee5cfc1a5c010c72d192583e6025aecc6f69421fbd7921d63daa9f29145eb6f9c96c3abb";
   hasRunfiles = true;
@@ -6684,6 +7364,7 @@ chicago = {
 };
 chicago-annote = {
   revision = 15878;
+  shortdesc = "Chicago-based annotated BibTeX style";
   stripPrefix = 0;
   sha512.run = "be2bc8e7e8eaa881ed7a8225b211ef464dd5635b93b867333458521e405fa42375d4804fbdebe1b913fa694aaaa839703494a155b0ea5d4a99162f6335ccef0b";
   sha512.doc = "893ba3ff20355e0c395b2092fc01689bd956eb177434ab7152aea686210a7167a04b64ed8ec21030e4f4cbc7e1367a90976168b174fd068d6aecbd0304f380db";
@@ -6692,6 +7373,7 @@ chicago-annote = {
 };
 chicagoa = {
   revision = 52567;
+  shortdesc = "\"Chicago\" bibliography style with annotations";
   stripPrefix = 0;
   sha512.run = "47cd96b4933b6c0bc4af01e5085af2450b60168813715c946ea18e3e7e5f6bda409862638038917bb678579bfba127fadf51b9a5916e4fb6c78bd10481a273a4";
   hasRunfiles = true;
@@ -6706,6 +7388,7 @@ chicagolinks = {
 };
 chickenize = {
   revision = 57325;
+  shortdesc = "Use lua callbacks for \"interesting\" textual effects";
   stripPrefix = 0;
   sha512.run = "3cb2182717630c6d251a055021ff671eb930885e5b33978c0cd51176225b1743938447e3d761cfa83c9e3f46cbca1b5686c18f734a1ea5fef50a7ce48873ee0a";
   sha512.doc = "a2a7ccaa210583de7a765b940959ed4cc2678c6800b283c05f301814b69bb8c704394f8795a1824b41b03652e27106b9e47ed9d5a57179df685294fc3caa16f2";
@@ -6716,6 +7399,7 @@ chickenize = {
 };
 chifoot = {
   revision = 57312;
+  shortdesc = "Chicago-style footnote formatting";
   stripPrefix = 0;
   sha512.run = "492361fbe54dae9585b4d62eb1d3c3bf4a81ff8ca8020ad997cb9b30c673cfd8b35cf8ff8d742fe6c1ec7cf529e3ce558b9d5604851fc39c75d72d0fda37dc6d";
   sha512.doc = "34f5bed1ff3660a5fb1fdacb0ec26311fd47593ed6aa659d12eca8141262d9fa7d6c75b2601dc59a38ab02212269f0e69a5fb5da3d9ae1d884f25677f0f6b545";
@@ -6725,6 +7409,7 @@ chifoot = {
 };
 childdoc = {
   revision = 49543;
+  shortdesc = "Directly compile \include'd child documents";
   stripPrefix = 0;
   sha512.run = "b268695b1d91b49ba6a0179124cafa5e5cfed56672424ab40cc31924c07879b4f50be47f9fe9d574f2adb3f183c71d799cde8854a2942b530c40a1e101d399ef";
   sha512.doc = "1a74059d946b82da211f5fed7cb120453049ceaf5f10841a78ff8864b41444064b223939bd2296142bde9c7bececc0ca8bed141be02431fd60f069ecab998d87";
@@ -6735,6 +7420,7 @@ childdoc = {
 };
 chinese-jfm = {
   revision = 57758;
+  shortdesc = "Luatexja-jfm files for Chinese typesetting";
   stripPrefix = 0;
   sha512.run = "28dc8b70bf5e97a4e31defe09a16805a57054a019fa7908f6dda7ecededd8a37bff3f782d04a7c2fb72ec17ee1695d5a5a68daf3a159092080e5a7d667b4c9e1";
   sha512.doc = "6b0b2e65ba4bb79a6c6eb5e4075a1611b2bc752cefe1aae5b220e663b33fde685184433c397ac4957e4f2a6716129aeff5c40ff2082b2a3bcfc13d591e06897a";
@@ -6744,6 +7430,7 @@ chinese-jfm = {
 };
 chinesechess = {
   revision = 63276;
+  shortdesc = "Typeset Chinese chess with l3draw";
   stripPrefix = 0;
   sha512.run = "6ff5ef8c4c29263da38847c6c836470c397e9838c765eacdd9859a055dcc719d3385d4d9cddf5ef7e92196f99fcef8470445686c1d858bf68608429b1cd7987c";
   sha512.doc = "83d08a949754dd38beea350cc1c5f2b8d193947a909efed156f662b77a8505f993c8449f21655c48c6ea78891ff15395d34796479fe081d29958fe6a2c0ba49a";
@@ -6753,6 +7440,7 @@ chinesechess = {
 };
 chivo = {
   revision = 65029;
+  shortdesc = "Using the free Chivo fonts with LaTeX";
   stripPrefix = 0;
   fontMaps = [
     "Map Chivo.map"
@@ -6766,6 +7454,7 @@ chivo = {
 };
 chkfloat = {
   revision = 27473;
+  shortdesc = "Warn whenever a float is placed \"to far away\"";
   stripPrefix = 0;
   sha512.run = "2a08b71c204709846bbf26ec3883e9037af6ff22e9bdf13b27319ceda55381eb9e3816ead4e444eba4b8a050a188e58d14f0d9153a813953f587c6cabb3932b8";
   sha512.doc = "b79b6bd6943dcd07656bb46d44bf50ca2c0148bdb6ae711d17a49e78f3bbf2b95781cd6f3d0b2f7625b131f7485d3db608c963367dd91dc91070501b367471b3";
@@ -6775,11 +7464,12 @@ chkfloat = {
 };
 chklref = {
   revision = 52649;
+  shortdesc = "Check for problems with labels in LaTeX";
   sha512.run = "12f5e950ae439d0efd3f625572e8b81d993485a1efd71dc04c078cb1dc9b76650de3c424d7a6c60ebc5ccb5d29f37ed04c477ea1306acf4c5f4fccbd95e18985";
   sha512.doc = "5aeb13824c1781feefe94215f3efce15c212e0d38f9e0d5fb393e96c2159ba43f165c600cd64ee9d8c42c0a4f0db6c2e462ee85a93993965bad0420b6b662ef6";
   hasManpages = true;
   hasRunfiles = true;
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
   version = "3.1.2";
 };
 chklref.binfiles = [
@@ -6787,6 +7477,7 @@ chklref.binfiles = [
 ];
 chktex = {
   revision = 64797;
+  shortdesc = "Check for errors in LaTeX documents";
   sha512.run = "7c28847e87e788d0f50c07c1c3140962a70173d2a36997720f3066755740744060ecd03272662aff563de39102052e91a4582a4bb63e35f918ad8f517dff55e6";
   sha512.doc = "28df4bed075d66d9f25bcbe332731f1d5f0bb0f7f92bd2f3618c84adf788d0f429bd0c6e75381ebf7bbeac98409d94f85d17ebd752f9e4af707d9e3373d45f97";
   hasManpages = true;
@@ -6801,6 +7492,7 @@ chktex.binfiles = [
 ];
 chletter = {
   revision = 20060;
+  shortdesc = "Class for typesetting letters to Swiss rules";
   stripPrefix = 0;
   sha512.run = "a32f71d89ee69ad60de6173f415d0a3aca7563107cfed71aab0ae99972a2ead442bc75f848ddf07c26c5d464b2224afed5ce976bf037049764f722396e9666d9";
   sha512.doc = "05cf8a4f37eb51cc00d9c254dcb817c41167eeb7643f7a793d1a841bd2c8a3715ced2036b974533521f48be48ae493e52ef0809789d36155d1ffc9624db538d5";
@@ -6811,6 +7503,7 @@ chletter = {
 };
 chngcntr = {
   revision = 47577;
+  shortdesc = "Change the resetting of counters";
   stripPrefix = 0;
   sha512.run = "0fc94f91911c623578912ed43526d18f85a003f797e94ef5610aab8477154078efae7000256892cc3d3103843ac8065c27d56a10c6f57c16d9ff13693930b0b0";
   sha512.doc = "3b63e4676232c05516bb12c189873e4af39b8b34df2690c897c4733203c9f19a30759850979c47b05e5fea0bd1c277a5c1ea0624709cda6a3a4ab0196231afb9";
@@ -6820,6 +7513,7 @@ chngcntr = {
 };
 chordbars = {
   revision = 70402;
+  shortdesc = "Print chord grids for pop/jazz tunes";
   stripPrefix = 0;
   sha512.run = "4049c18bc34bddb954779d2b534a84791967e6d9d5c246136a046e4358f3d2b7a0127705db5cb5ebcc0e822241dbb3c17dea23d194ea71ac6d7ca40d59b9b37e";
   sha512.doc = "1a405a02e3fb813c7abd4c3925b0ccfe38129857ed5d23041ef2eab47f51206ac476727558cd50ac49b6eae3c8f67fdbfca6de252db0d95a951fc28add5a0a41";
@@ -6829,6 +7523,7 @@ chordbars = {
 };
 chordbox = {
   revision = 51000;
+  shortdesc = "Draw chord diagrams";
   stripPrefix = 0;
   sha512.run = "0e07cae95a8ee5f040b4df4d94f996f772f0780bbe47c77db891fbf44b08f20e28ba8442dee3e981a052b0ccebb0d630e0f0917eb7c65a490c844a65f3b2e3f4";
   sha512.doc = "0826513579953ea80047d596b6c577e4b6f00fcdddb7a06bdc953bccd72e09ec2fd9123995c1e04260ad880bc860454abd283885817a9eb359ec7cb5beba3cc5";
@@ -6838,6 +7533,7 @@ chordbox = {
 };
 chronology = {
   revision = 67973;
+  shortdesc = "Provides a horizontal timeline";
   stripPrefix = 0;
   sha512.run = "0706b70147c064fed807d750e3619d6f6c9ee9d875de70c8e08720bd0fe86e75fe79a2dc909ea9c76d98e0f6cd864957ee213f58f2753eaab86bbf2866b301e9";
   sha512.doc = "dacc8fbf5869df257cc03f0bb4b1c33b2ed7e67f2bb7e4fb897038d623b4f3c1c7e308191a2270e661157d3908c142fc6fbaea349740487797f45feaabc9c039";
@@ -6847,6 +7543,7 @@ chronology = {
 };
 chronosys = {
   revision = 26700;
+  shortdesc = "Drawing time-line diagrams";
   stripPrefix = 0;
   sha512.run = "a9503f9440dfa9a42a3f2d345c5e74faa9f40b03264bdf8482ffa58c34318467a7863033acaf089acff6056f91e9d85969676c1b0b080b363c1274ab96f022ed";
   sha512.doc = "1f2078bc645e1a9af4220bf4041391353495f76f530ab5f1a35ebf2c2a534d60a910a9ec079ec2222ced7fc3d9c146bce3d6d4d703acd2bfb9ccf357f6fd812c";
@@ -6856,6 +7553,7 @@ chronosys = {
 };
 chs-physics-report = {
   revision = 54512;
+  shortdesc = "Physics lab reports for Carmel High School";
   stripPrefix = 0;
   sha512.run = "568c7b71838651881417900aa5eb8711d5e38b4496e130802b7732482c4b8d83585c54a507d2f5ee27823c9d97581db7508ea79645275ac8b1b4d02238c814e3";
   sha512.doc = "edfd22aa48a1d3db245d3e41b36cdceabe4e3c2e263d3fb270325b6acc57dabe686561af5359b849e8a17d1f2e9b77f2016cfbcf8b0af37ba3120085de9e6764";
@@ -6864,6 +7562,7 @@ chs-physics-report = {
 };
 chscite = {
   revision = 28552;
+  shortdesc = "Bibliography style for Chalmers University of Technology";
   stripPrefix = 0;
   sha512.run = "809c76b1bb47e194c43c869b27352578fb5490f6a9a8bbc2fae662b357bd36a099f5114765611d73fae87a846526781ceb7b45aa8968836c543e15f13e7ad7a8";
   sha512.doc = "215085d808b75d0d7f3e7e95830c63172606fd43e1e30a20e376f43d12959da71e8e77a6f06a6058d8ab9f9406f1260262af3e904ff65254e5d2635ca6d15975";
@@ -6874,6 +7573,7 @@ chscite = {
 };
 churchslavonic = {
   revision = 67474;
+  shortdesc = "Typeset documents in Church Slavonic language using Unicode";
   stripPrefix = 0;
   deps = [
     "etoolbox"
@@ -6890,6 +7590,7 @@ churchslavonic = {
 };
 cidarticle = {
   revision = 68976;
+  shortdesc = "A class for submissions to the \"Commentarii informaticae didacticae\" (CID)";
   stripPrefix = 0;
   sha512.run = "1dd802c60fade71ee873cac25440e52b9cfa45293019cba6c22a16a6861eeeea1e15ad4f945dc9eafd95873efc112110b4ec14550f8bf8cdf57bec6fb6e54ade";
   sha512.doc = "ff0dbf03d9c9f371d90adaf1f5d984e5ca6628d005c1345f4e2fa7c2c4bfe494914667d8afa572a5e3eebe73a7d4e01cfff8e1ec8c213d58f71fe64089872722";
@@ -6900,6 +7601,7 @@ cidarticle = {
 };
 cinzel = {
   revision = 64550;
+  shortdesc = "LaTeX support for Cinzel and Cinzel Decorative fonts";
   stripPrefix = 0;
   fontMaps = [
     "Map cinzel.map"
@@ -6911,6 +7613,7 @@ cinzel = {
 };
 circ = {
   revision = 62977;
+  shortdesc = "Macros for typesetting circuit diagrams";
   stripPrefix = 0;
   sha512.run = "12f50efbbb07593485120d0e0b428ff2035a44c668025eb4a6ac78ecb3c733c5975f9f7ab4685c71488e7480a3a280fb90f618d03d79f1afed278bfd67810573";
   sha512.doc = "efdc13dc7bc670719c854be45155549fa24e1e195a6a61f84a075aeca1903eb13a6579a330d7ddd6bd5a1b7073217a453e29f790600ad2013e0d82a80763d29a";
@@ -6921,6 +7624,7 @@ circ = {
 };
 circledsteps = {
   revision = 67889;
+  shortdesc = "Typeset circled numbers";
   stripPrefix = 0;
   sha512.run = "41f96e112cba5f15bb36afaccff8852917383269c7ccf8f163972759615d5e5b87c3acbb54e4d14db6572cb0330154e1117f3159d851fcc9d3c5c3efd3c17d88";
   sha512.doc = "815af1f69253625528fda78b1794eae1ddb5cdce357f5af5db5a68385d7ae90386611335fb8c429de8dc13a908ab5253ca2e99ed019590434ab6d087c2dbcbd4";
@@ -6930,6 +7634,7 @@ circledsteps = {
 };
 circledtext = {
   revision = 63166;
+  shortdesc = "Create circled text";
   stripPrefix = 0;
   sha512.run = "473d8ca8d6507148814e0c6083c7046fdb57596e374d1bcd40318c67ecc5a557b324700505d40c1040fc2b2682edae1150d5051e0c26cf9823cee0965ce4f89a";
   sha512.doc = "04ba2a36dbd2c18ae7aaab0f638412590e2d5ca43f2438690d1165f2761bb9b1b1655d26df1a01af143dcd5ca83c161ac7a7c683d3a65de6586398774023c275";
@@ -6939,6 +7644,7 @@ circledtext = {
 };
 circuit-macros = {
   revision = 69263;
+  shortdesc = "M4 macros for electric circuit diagrams";
   stripPrefix = 0;
   sha512.run = "5bd9c2885a1e8bde8f954d5a4072e00fb7e2b2a1663fa6db5f1346aa5f5022107a01f44175daeb0fa8e84e066c8373de8943b89bed725c03bdf45769dca51ef5";
   sha512.doc = "784736df91755e22f003719b1821b01a8346ffd72036cef10ed2fb38869beaa449a12f8a5782d48355426ac46268f3d897178e7ad06a2bb21fe00672a9d64280";
@@ -6948,6 +7654,7 @@ circuit-macros = {
 };
 circuitikz = {
   revision = 69757;
+  shortdesc = "Draw electrical networks with TikZ";
   stripPrefix = 0;
   sha512.run = "5d2d8699c29a209f6f4eb1df363acfc1a7bcda8e7a1b110f50dfb65b97c8b09911a11528e7b1d8e5b64d9fdcf1f9fdf4feae40cf71df9a11b01cd13d64cde91e";
   sha512.doc = "398f50f5b9d0e288a7cd91e0ab222aa20877138f4ddd1963c72caa5724539e1b37fbd54503a24f234270393c6c7f07667d6a39a05dbca6199e9a52785312beb1";
@@ -6957,6 +7664,7 @@ circuitikz = {
 };
 circularglyphs = {
   revision = 68476;
+  shortdesc = "A circular glyphs alphabet";
   stripPrefix = 0;
   sha512.run = "043f30f3b8e7834698e2c70744ebb66f938ff7189c593f54b1d3017b84cd7fe180b5b7685013985f68c31f8e62785804129ba91181053119679ea4f775676933";
   sha512.doc = "8ebcaacfdafbec747a690b392e872a9ee8e7293070e3200ef583f6f5e660a5ab813a8a426464f024c493e17e956f1192984ca3a58fd7abbfb89fd403fc1e359c";
@@ -6966,6 +7674,7 @@ circularglyphs = {
 };
 citation-style-language = {
   revision = 70583;
+  shortdesc = "Bibliography formatting with Citation Style Language";
   deps = [
     "filehook"
     "l3kernel"
@@ -6991,6 +7700,7 @@ citation-style-language.binfiles = [
 ];
 cite = {
   revision = 36428;
+  shortdesc = "Improved citation handling in LaTeX";
   stripPrefix = 0;
   sha512.run = "39196b799273a2da29591b1b59c0a504f0e0971a6fb12a21bed5ac45d94eb017f1e7c64691fcd46f5c151d867c1ffac706f050fe2e08bf3c58aec8867fa185d3";
   sha512.doc = "f9ccc0e1975064ec792c6138907cd3dc8080ff2fd02a2925d1a1334cebbb2289797b234b46d92be0ba45d460c31359b5c143f20e28cd1aa1827489d04b88d300";
@@ -7000,6 +7710,7 @@ cite = {
 };
 citeall = {
   revision = 45975;
+  shortdesc = "Cite all entries of a bbl created with BibLaTeX";
   stripPrefix = 0;
   sha512.run = "2549b398c98f82833849a45716d55a776ab3b7927fdc400c2e6d43c45fb0cf628bd66bdade7ca63bcaa2e98807914f7adb958c6a06c27762fb0ee70452d4d280";
   sha512.doc = "f1eaf5ed48bf3fd2bc336b7d91dde09b5cfa9a1901bd6315d4abf032439571a89f1d7c4794ed0256ef1aff0456d275e68326e81627f164652c84de2900165a98";
@@ -7009,6 +7720,7 @@ citeall = {
 };
 citeref = {
   revision = 47407;
+  shortdesc = "Add reference-page-list to bibliography-items";
   stripPrefix = 0;
   sha512.run = "5f56fb1d813962358c737023e06bc2fa249712d8ef984f835073e11b075b676e845596a61ac312991e646d72068670b60eb002f78ac322f66d8e5a9bce185063";
   sha512.doc = "21d1a8063586b09ba953ac5df96a3b1552c586d66c5f2af517b1b1ceb75b40f173bd411654dd313c6aeebabc35db7543ea8edcbc8705ae104c7f63e5a5b3cf57";
@@ -7018,6 +7730,7 @@ citeref = {
 };
 cje = {
   revision = 68656;
+  shortdesc = "LaTeX document class for CJE articles";
   stripPrefix = 0;
   sha512.run = "764c9429f8000aede2b8dd85fbb2bd7eedf8e6bd2924347b75d2aa51a05b060921da15b1a55d9cc33582e5fe658d89edf8337e02f164a3de033c66bed3c6c2b7";
   sha512.doc = "791757a59293d7144844cd05ae3346068bef42dee489138e5faacac68b0ed0ec639eb8c60d0fe34e29f37e1238601ae074d43d0e7194f07c1940a0f9411f8f85";
@@ -7027,6 +7740,7 @@ cje = {
 };
 cjhebrew = {
   revision = 43444;
+  shortdesc = "Typeset Hebrew with LaTeX";
   stripPrefix = 0;
   fontMaps = [
     "Map cjhebrew.map"
@@ -7039,6 +7753,7 @@ cjhebrew = {
 };
 cjk = {
   revision = 60865;
+  shortdesc = "CJK language support";
   stripPrefix = 0;
   deps = [
     "arphic"
@@ -7052,16 +7767,17 @@ cjk = {
   sha512.doc = "a8c6b2d4d0899b841ccc32b378855d61bdaa65d5f68fd408df3894d386bcde18f384410f34e6f33ee2a5ce770e1e663a05ab038d9b7483012a3cb414739c3705";
   sha512.source = "88be587328daedfed3bdcb289b1a03343bd7257ae180a9e0857a6b00f173f601eccd8e5978dd29c2d95fbab180fcfd5135a682c5218325fc6b664f2cd505213c";
   hasRunfiles = true;
-  license = [ "gpl2" ];
+  license = [ "gpl2Only" ];
   version = "4.8.5";
 };
 cjk-gs-integrate = {
   revision = 59705;
+  shortdesc = "Tools to integrate CJK fonts into Ghostscript";
   sha512.run = "376a1b287955a801cb223c761fc9bee8af0f587f27f8c3e6cb32ef009fa575fdaf54f5e3847d7b4ca414e3eb4d58d3611ee2194736dcfafe8afb2dd6230c1999";
   sha512.doc = "c1165f2ecd08b279cd0d0b028682eecbb3953659426a1885bbe5aab9838a90107c576a3b9bf80b0d54dbe3fc438c8af8a8c82f5faf79052c37d2c5e85ea9ae42";
   sha512.source = "ee53a480230824eb7aa1ff270652eba4f39e5f160fdd091d596b9da610d8c8c211db3aa3d89931ec16edd36b2662d07a93513563efb3bb5a9ffc9dba0d274ee4";
   hasRunfiles = true;
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
   version = "20210625.0";
 };
 cjk-gs-integrate.binfiles = [
@@ -7069,6 +7785,7 @@ cjk-gs-integrate.binfiles = [
 ];
 cjk-ko = {
   revision = 70332;
+  shortdesc = "Extension of the CJK package for Korean typesetting";
   stripPrefix = 0;
   deps = [
     "cjk"
@@ -7081,6 +7798,7 @@ cjk-ko = {
 };
 cjkpunct = {
   revision = 41119;
+  shortdesc = "Adjust locations and kerning of CJK punctuation marks";
   stripPrefix = 0;
   sha512.run = "cb44aa3386cd79f05980e5402adcbbf9f8b67fa76bdd5b293063fe9810520edbdf243656cfb54fe17d6ca43d405e6b16e8012eda63bae3cb3d8fc0f7755e2551";
   sha512.doc = "cb9383b6d3fe9ffd5926d10dddcb1ea758aabda232f015b22f61dc8a9b316193b30ca2d8e2b849b1c03d92e0073bba6d90cc5b3b50f47b28a745dff2f7229486";
@@ -7091,11 +7809,12 @@ cjkpunct = {
 };
 cjkutils = {
   revision = 60833;
+  shortdesc = "CJK language support";
   sha512.run = "36b0d0ef4bae2a9e5f2238c5c9aa125eabfca509462b65a159f66cbafc690939e16760a86e7e7dcce22ffda2f301c039059cdff1af8ed862017f18552e13e728";
   sha512.doc = "636e6486f9661061d22d248b0b7a8debdb81cd08c56b449067782568fcc7db58922f7c9d40fbc992bdd008908f22a6733af4a8115d85c0572556d01e925c5587";
   hasManpages = true;
   hasRunfiles = true;
-  license = [ "gpl2" ];
+  license = [ "gpl2Only" ];
   version = "4.8.5";
 };
 cjkutils.binfiles = [
@@ -7123,6 +7842,7 @@ cjkutils.binfiles = [
 ];
 cjs-rcs-article = {
   revision = 69006;
+  shortdesc = "Article class for The Canadian Journal of Statistics";
   stripPrefix = 0;
   sha512.run = "6f49b9c02aa67036997403d65a9efc60c0cb7bcc29931d93fbb0359624fcbf4b3899e75c1721155b6484d7baafa79a823adf08fa5f1491352d4bd547dee22a58";
   sha512.doc = "2932d797b3969a5e399c51d2c515c05cf7fccaa88d82d80b99f626dbf2ff7a6e5f7414963696842f1980755b72a06f9e9def3d282f8ff5ca5175ad1ec8d3f1c5";
@@ -7133,6 +7853,7 @@ cjs-rcs-article = {
 };
 clara = {
   revision = 54512;
+  shortdesc = "A serif font family";
   stripPrefix = 0;
   fontMaps = [
     "Map Clara.map"
@@ -7144,6 +7865,7 @@ clara = {
 };
 classics = {
   revision = 53671;
+  shortdesc = "Cite classic works";
   stripPrefix = 0;
   sha512.run = "86eaa987025658749c642f5132933745a418002feda5a3dec0f1dd9967a178af7e9c3188cde0b0b1fc8fb9ddf5cd59b68cf95942bd811d978d72a68f44a2999f";
   sha512.doc = "df7d88ae0dc936b8b7f60e98f806b1368d249a838a7407ebd12de05fe10a6e0c9da1ba8cddd3d396033271dd3692451441ad267a187c30cbdf28dd996f707b78";
@@ -7153,6 +7875,7 @@ classics = {
 };
 classicthesis = {
   revision = 48041;
+  shortdesc = "A \"classically styled\" thesis package";
   stripPrefix = 0;
   sha512.run = "9a8c0c9ad0d97f187cf66679613514000324a72d2745c1026889b73e5981e0dcf36f388a0bf630f5ab35d28a39ae50ac842db28c214442ccfd987ff2c132ce7b";
   sha512.doc = "3eb82d6c0f951a060e56c763e90ec842d1692326501f538d71780f4a0981edfda33b0ac0b5d00ccded7d3273fa69d4dd5d4a9c3557d9a69e1c3bc17375fbf43b";
@@ -7162,6 +7885,7 @@ classicthesis = {
 };
 classpack = {
   revision = 55218;
+  shortdesc = "XML mastering for LaTeX classes and packages";
   stripPrefix = 0;
   sha512.run = "483d96aff1739fc2cdb63e9753fbb86ec93b493ee3d8d104e6089c791e4674d522a30e0dc747a48d8ffc6690452a147b2ad15a3a9cc676c641a9f6aca535563e";
   sha512.doc = "6e30295ea5d7ff19f47d4144a3ea6eadd85d02a80023b426675efc75cd2867e3c79b60a8210f26cb732e5b0e70bcb856d96d7ad98a6165cfeaed64affa070bec";
@@ -7172,6 +7896,7 @@ classpack = {
 };
 cleanthesis = {
   revision = 51472;
+  shortdesc = "A clean LaTeX style for thesis documents";
   stripPrefix = 0;
   sha512.run = "0f12e2eb830014bd08e742ed6dbbc83f9b6d17141a4c0a6c00934ff1d831ab7a9e9dfca6931f5842284845435593449b11b8ed9cc29c7c607fe4df14c2b11d7a";
   sha512.doc = "6042357f473bf4bce302b6f43d67fadcf0f449a3f1b1183a26d4b04375d60013eedc7389b002c1f0ed62ab1a8672735774d5aff0d7301e9a5e435080a4181c65";
@@ -7181,6 +7906,7 @@ cleanthesis = {
 };
 clearsans = {
   revision = 64400;
+  shortdesc = "Clear Sans fonts with LaTeX support";
   stripPrefix = 0;
   fontMaps = [
     "Map ClearSans.map"
@@ -7192,6 +7918,7 @@ clearsans = {
 };
 clefval = {
   revision = 55985;
+  shortdesc = "Key/value support with a hash";
   stripPrefix = 0;
   sha512.run = "1d92e279264970ca6d7612c3850fd46d4f3deb74df8a9149d6e63ac19eb665e5affeb1ab9bfea44d07825b80245b0a3b951d3ec08af0834c228a21270bc45437";
   sha512.doc = "d8242b0dc52ad63167fe13a88c28fb4b088061f7bddbe3137a7b541dd1f15aacc75a1c7c1c9b6aee2db1ff14278edf3b83d8eea5cbd77e112f16f8af9e36f19a";
@@ -7202,6 +7929,7 @@ clefval = {
 };
 cleveref = {
   revision = 61719;
+  shortdesc = "Intelligent cross-referencing";
   stripPrefix = 0;
   sha512.run = "7e425fd19bd559a2a3f3091f6dd3d6711e6bb4ec01f6a3f8c1dccd60cb6518f3ffe563c1b68e3b379eab7be140f7ff5f3c68dabf3dc85d196aa2d41f81a67acd";
   sha512.doc = "87760a9503b5ead92a1a8f26f9c0195487b5e7a1f97cb11519791f247cf87d35f044f68738d3563ac4a84d7f283d3907eaa816f2d4f8dc4f9cdc5114df639d99";
@@ -7212,6 +7940,7 @@ cleveref = {
 };
 cleveref-forward = {
   revision = 70181;
+  shortdesc = "Forward-referencing functionality for cleveref";
   stripPrefix = 0;
   sha512.run = "bf65342e8e5d0a1299e160611044f17a6f68df342ec9bdcfe64c09ed766a7fe72b39a4d1915011b077a42261686a066b8b435f36ec6d2e0b72324cc4bc9e1381";
   sha512.doc = "b89360c16f6f77ed7386f51afcf4e46aacdb6d1f567fa5dbd4d05e46953d1a0cfba24af687abae59a72189ad84eb475d80ffb6c613ba8b3a88a91c9008a1ffea";
@@ -7220,6 +7949,7 @@ cleveref-forward = {
 };
 cleveref-usedon = {
   revision = 70496;
+  shortdesc = "Adds forward-referencing functionality to the cleveref package";
   stripPrefix = 0;
   sha512.run = "2703d610437ab3f244f0e627310d4cb5b5a6a29e29d04458eb7a566bc97a62882e3a5e14bd4717baa77b9062338d91fcbb0b0b05fbc257579b94d8ff550c96e1";
   sha512.doc = "7b967ed70196eca0537012c97dfe91613e9e54a387c0365acece66132cf513c2c1fb7ffd030e0f18c2ca079be4fd5f7ae8f47959ed1d127251febc3b4f422454";
@@ -7230,6 +7960,7 @@ cleveref-usedon = {
 };
 clicks = {
   revision = 64602;
+  shortdesc = "Slide Deck Animation";
   stripPrefix = 0;
   deps = [
     "etoolbox"
@@ -7244,6 +7975,7 @@ clicks = {
 };
 clipboard = {
   revision = 47747;
+  shortdesc = "Copy and paste into and across documents";
   stripPrefix = 0;
   sha512.run = "19aed32c2dc229852133a44fe5ed692a0d3194d374cc77e2301314b3fff929b834fd4df82e811095049e64ba127180eddb77fcc4211aecd2db40e8124a38d55c";
   sha512.doc = "50e7447b35c1d73c1d36bab165a8bb476764ffcc4ed7994e1bc63c6759baad0dd6c2c1f6a95334c7bf649dd13c8e79d17ec536120f1112d621e833b6f9f80578";
@@ -7253,6 +7985,7 @@ clipboard = {
 };
 clistmap = {
   revision = 61811;
+  shortdesc = "Map and iterate over LaTeX3 clists";
   stripPrefix = 0;
   sha512.run = "71da5b4136bd73945ec0e1d9fe429892960a9167b39febc0d53b7a628357db59240929ed6d8c31096c170cd0b2f5c60452f364d8903be40a6a4bf0b590069520";
   sha512.doc = "8c0ca62ecf95989e1e4f90b6c606e421bd5f536ca9d7e3745384537b33b5745b221c6485e0fc5d5a52ddfa720e34f6260eb8bec0557d7e4171406ad4985b789f";
@@ -7263,6 +7996,7 @@ clistmap = {
 };
 clock = {
   revision = 15878;
+  shortdesc = "Graphical and textual clocks for TeX and LaTeX";
   stripPrefix = 0;
   sha512.run = "ba378fe241cd2e51b641f0edc4bdd1403477b392e0a22363bcf540b513c1c15b1c0e3ab37020aa77ec147ce59cc7ad6f09c86cadcc0a77892a1a798c36c411aa";
   sha512.doc = "d06e263266ab91b48ae3238af6ce283c7f720c2113d95d10c7de6026b4557b0fcb22aaec44caba2f7ad743e578e9840da1b116fd3372558d545c424159d8f2e5";
@@ -7271,6 +8005,7 @@ clock = {
 };
 clojure-pamphlet = {
   revision = 67201;
+  shortdesc = "A simple literate programming tool based on clojure's pamphlet system";
   sha512.run = "bfdc173aa0a79905af238766f162f779296fe16e343a0fc4d41e8a47be2021eaff1cb30129db1238c725f633f3c96264ccc9a2cc0fdf0686e04622090d5a598d";
   sha512.doc = "a8c782042d9c55d234ad5df84d73e0d4abedac2294073146bbb8dc0b01ea40910657d3a3e1bfb324437bc67426f69ccae6eb297b81282f32190e87bb2ba154a8";
   hasManpages = true;
@@ -7284,6 +8019,7 @@ clojure-pamphlet.binfiles = [
 ];
 cloze = {
   revision = 55763;
+  shortdesc = "A LuaLaTeX package for creating cloze texts";
   stripPrefix = 0;
   sha512.run = "f1c986699258bc9e7e27093a2d44f59d001ab13c3d9ba0717dc9bed0c53b00ce8ccf658c9cc3d7d457d18f45357a6d44da4d6710c1661ffcf299a8791822501b";
   sha512.doc = "ca3d9e0a4eb7486f40e4a26d0b6a2aa5dbf7e3d28343b9069ee97b089e7906aa137d8e7f8c6d010fd2cf472836191b88b9450248bd99728d80159afc54a8d1e7";
@@ -7294,6 +8030,7 @@ cloze = {
 };
 clrdblpg = {
   revision = 47511;
+  shortdesc = "Control pagestyle of pages left blank by \cleardoublepage";
   stripPrefix = 0;
   sha512.run = "bdd3de3ea16cb5d24879bcf2255bbe01612f8af70f663b9ac578a4ac98910119ea96b8a5b4a59d25c0406c1b33786997ee2940da0273b025455e334b48f17b7d";
   sha512.doc = "53ba8c83224ee6573cd1549e7e425fd524b5caf65ab139b67e7de9b32bdd5c3c87f5af63c2c43696554fcc33c8bff4690373ad25582b23bf51134b9cb6301409";
@@ -7304,6 +8041,7 @@ clrdblpg = {
 };
 clrscode = {
   revision = 51136;
+  shortdesc = "Typesets pseudocode as in Introduction to Algorithms";
   stripPrefix = 0;
   sha512.run = "c26ac99b2f097b3b9df8bcb3ae040da959c0bd238be75a50b3711cdf0b7b0024ef40749169c0fe0437aa8c845b3ee9c9ec4ab46fe31fe6b1e28019fcd4779076";
   sha512.doc = "b74c858703577f79c89b4e95a0fef2012a756defda525c25f2945952b6637fba7ae4c30791a5d566267a16627bf7ce991c4edf726f7106b27b2df3c2b81eb765";
@@ -7313,6 +8051,7 @@ clrscode = {
 };
 clrscode3e = {
   revision = 51137;
+  shortdesc = "Typesets pseudocode as in Introduction to Algorithms";
   stripPrefix = 0;
   sha512.run = "eb609d4204f9292b387fb8ecac13eaaad77e1d32870cd29f4996771acc5f8e82560e3fb9dcd2c8284888ed55d2b7bfbf931b50e01b0e4b8790c2ce5ce4445588";
   sha512.doc = "0792d458ee46b44d37c31a5bbeaad2257ae1aca818ce33d0b1c8ae96b7e90ea6e06e9036ce61063f232c3829ec36bcef58f111b5df0b25d209e867ac53d322d1";
@@ -7321,6 +8060,7 @@ clrscode3e = {
 };
 clrstrip = {
   revision = 60363;
+  shortdesc = "Place contents into a full width colour strip";
   stripPrefix = 0;
   sha512.run = "5a26232ede7efdd9ebb4ca89adaa2f0c507cb4eb883fc59662abca448a9bd09894cf52e850a0f57af101fd22ebf239ef82d4fb4a761b11448b846a82858fee96";
   sha512.doc = "9d52efc5bec01766d81240bc4087d76b08b1a07c1b89c3a197291e7f7b9e1d4e10214ba7640b591cc82c67406c487c39b571ddcc89adbdf377a3e3fb4063b21a";
@@ -7330,6 +8070,7 @@ clrstrip = {
 };
 cluttex = {
   revision = 68912;
+  shortdesc = "An automation tool for running LaTeX";
   sha512.run = "652ad061ea6dd183b7bb5e0a893f3d1cb1e48e17f93c65e2c9f82eb1261759c369498b2ba36f48acb2a29772707bbc36c2832be1518507970f06f0e527c1fb55";
   sha512.doc = "5dec8c3c1ecebea760f25d5acdf6371ee67c40b38f64b24d2b47346caaa3a2a20d18578c37e14586fc16aa81a4f50761444f26206b01901913e684e413ecc0ed";
   hasManpages = true;
@@ -7347,6 +8088,7 @@ cluttex.binfiles = [
 ];
 cm = {
   revision = 57963;
+  shortdesc = "Computer Modern fonts";
   stripPrefix = 0;
   fontMaps = [
     "MixedMap cmtext-bsr-interpolated.map"
@@ -7358,6 +8100,7 @@ cm = {
 };
 cm-lgc = {
   revision = 28250;
+  shortdesc = "Type 1 CM-based fonts for Latin, Greek and Cyrillic";
   stripPrefix = 0;
   fontMaps = [
     "Map cm-lgc.map"
@@ -7370,6 +8113,7 @@ cm-lgc = {
 };
 cm-mf-extra-bold = {
   revision = 54512;
+  shortdesc = "Extra Metafont files for CM";
   stripPrefix = 0;
   sha512.run = "1845d58827ff828d6b60b82e4eda94760cd3c86076982b861e53b4f996a0dfcc9a5926ce58de27891ca3ea115a752cc4abc56b06b112d43194aa8a27c61b86fd";
   hasRunfiles = true;
@@ -7377,6 +8121,7 @@ cm-mf-extra-bold = {
 };
 cm-super = {
   revision = 15878;
+  shortdesc = "CM-Super family of fonts";
   stripPrefix = 0;
   fontMaps = [
     "MixedMap cm-super-t1.map"
@@ -7393,6 +8138,7 @@ cm-super = {
 };
 cm-unicode = {
   revision = 58661;
+  shortdesc = "Computer Modern Unicode font family";
   stripPrefix = 0;
   sha512.run = "5d6cce2e396ffa0dc887e839f4ef57865db9eda3dcdf6a62737008b53837c40ee1498d97ab06eab8f0802e745787fa5c107c0738a8dedd4e65f6996aee555c48";
   sha512.doc = "f7633d0dbd08cc1e82f6804f51c8b117dee909a81d8496826abe3e9b7107577f2818323dbd789555f8cd3f62d8f1ffac440fde64a6497135f879fb58a779cf64";
@@ -7402,6 +8148,7 @@ cm-unicode = {
 };
 cmap = {
   revision = 57640;
+  shortdesc = "Make PDF files searchable and copyable";
   stripPrefix = 0;
   sha512.run = "4857f7ab9719a2b6828582599c98715c61731288899494aed96026dd6ad8bac92028586cb6b008ebaf3fb516d918861f79f544ecd64bca1e6a6183bd8bc398c1";
   sha512.doc = "5a8b1bd0c47bd5b4a3df3d0270c15c0d3c8691c96f2e5ee272ab97362463c2cfc7d1e2a9a19f5aa7ab8b145e9ae63390b1ded80b48dec52f8bf62118dabd6cd3";
@@ -7411,6 +8158,7 @@ cmap = {
 };
 cmarrows = {
   revision = 24378;
+  shortdesc = "MetaPost arrows and braces in the Computer Modern style";
   stripPrefix = 0;
   sha512.run = "5f56f9ab77b2f250aff664b0007aa17eccad96d6f674ae7417f610b62d84123fc85bc80cf83948e0df2a7bfb721300e149fc764b03638e5005cc4832f2fa5544";
   sha512.doc = "0bc738eb48fc34b7cb35240622925d43e5ff5fce21b1c560158b2ceee2790a284b33816fd192a5b0161544ee5add98f4e3ebe7dd0165273d53e5ea2de7d994ac";
@@ -7420,6 +8168,7 @@ cmarrows = {
 };
 cmathbb = {
   revision = 56414;
+  shortdesc = "Computer modern mathematical blackboard bold font";
   stripPrefix = 0;
   fontMaps = [
     "Map cmathbb.map"
@@ -7432,6 +8181,7 @@ cmathbb = {
 };
 cmbright = {
   revision = 21107;
+  shortdesc = "Computer Modern Bright fonts";
   stripPrefix = 0;
   sha512.run = "3251c7ce9f139a9e553e3cf343339367e98e6982850ca3d2a2087efe5e26f4828597e6f5c1ac85567e81897a09239f5be717a6a85d04b164442c9c5c53ea4fac";
   sha512.doc = "7add06e9502ab0bf912e811afbb66caf7ac83d60b6e2575dbc75709438ce6252239a43106632633e2d90b2badd46bb800533c496c811de7316cd1766456058c9";
@@ -7442,6 +8192,7 @@ cmbright = {
 };
 cmcyr = {
   revision = 68681;
+  shortdesc = "Computer Modern fonts with cyrillic extensions";
   stripPrefix = 0;
   fontMaps = [
     "MixedMap cmcyr.map"
@@ -7453,6 +8204,7 @@ cmcyr = {
 };
 cmdstring = {
   revision = 15878;
+  shortdesc = "Get command name reliably";
   stripPrefix = 0;
   sha512.run = "b05a8f8d326a6546b7c865e4cbc1afdfb0fa50993f4ad5e3b3a1e1781be9ed7590e1dd17b18d58f8a96c83aa2fe6218328b2df3e193e2dc7923d051374ebc9ba";
   sha512.doc = "c102fcd054597d84d98a4f74656f36a9e1aa53623bebaa4ef39f341ddb889062a0e0c705074a4909bf50ae3cdc9a0e0da06fc6b12fde10bcaf5391fe6c792818";
@@ -7462,6 +8214,7 @@ cmdstring = {
 };
 cmdtrack = {
   revision = 28910;
+  shortdesc = "Check used commands";
   stripPrefix = 0;
   sha512.run = "22de643d5b45f3898a1aeee44ae88594b545af34bb5bdac937753c13d31071872a78935dc2c73fb22c0e591d164f618549a2bd67a00550f3fb70753a951ad4cc";
   sha512.doc = "2a69b054e1de07b31426e653af45125824bd037cf5a24fcde1f0fe1b6aa3eb925688959aa84094ecc65954b92030e1b78545db18f08a39990c4412d487ce2284";
@@ -7471,6 +8224,7 @@ cmdtrack = {
 };
 cmexb = {
   revision = 54074;
+  shortdesc = "cmexb10 metrics and Type 1";
   stripPrefix = 0;
   fontMaps = [
     "Map cmexb.map"
@@ -7481,6 +8235,7 @@ cmexb = {
 };
 cmextra = {
   revision = 57866;
+  shortdesc = "Knuth's local information";
   stripPrefix = 0;
   sha512.run = "fa6bd1e79ca96500080405e01a7524a6fd13358335d34b3e2983a7f33f7b7a50ff4106ee5f2f483f3e040a3a7135b4133d727c6a7cb0c90f63be40e5410e3b48";
   hasRunfiles = true;
@@ -7488,6 +8243,7 @@ cmextra = {
 };
 cmll = {
   revision = 17964;
+  shortdesc = "Symbols for linear logic";
   stripPrefix = 0;
   fontMaps = [
     "MixedMap cmll.map"
@@ -7500,6 +8256,7 @@ cmll = {
 };
 cmpica = {
   revision = 15878;
+  shortdesc = "A Computer Modern Pica variant";
   stripPrefix = 0;
   sha512.run = "2aac63861c3c1099054286647917f4ab594fd535de9d513f790cb70e8a38278ffda0be29656e1da57206c7bac21928cf5179bd1cc22f50e0f10d1ca8083f4b86";
   sha512.doc = "7c6251f1c5090328c93f6ec224bbb6d05433b5471c6cb8b4d7f3b9ff05f9be8ad49587d24a34702fb23b9f1803ca3df3a638b16335944a9b2dc35422ca8bf9fe";
@@ -7508,6 +8265,7 @@ cmpica = {
 };
 cmpj = {
   revision = 58506;
+  shortdesc = "Style for the journal Condensed Matter Physics";
   stripPrefix = 0;
   sha512.run = "11eafc9af424689d7f4a225eea5f5d5f6123f79265f805506f4e98155d97e557fd96a6ce5dba6b1d598817ec87f561189cf48267f08c7cd7823781eaced17e55";
   sha512.doc = "b1113cf0dbc02b69e3ed72d70168103b742d85c2115e78b1f0feece71f342293fae109f112be948e5e106dde226ae8d4d53706c3846a641b8d6e8417e8444408";
@@ -7517,6 +8275,7 @@ cmpj = {
 };
 cmsd = {
   revision = 18787;
+  shortdesc = "Interfaces to the CM Sans Serif Bold fonts";
   stripPrefix = 0;
   sha512.run = "97e1830bdbab04e321433f43e14d65fd2e9820d46a6fb3616f2cea38a54208e80e1238eba7b5cfd20137f6e3a3da3a1586a7caa3e0a495ed91235a05120d444c";
   sha512.doc = "f9994a39f6e14f40398abacfe0f4c1a9cbd71d7b55c29787105fdbf8212953fb761f1696cf35196d446b9905a967d2908d7e41e7742e5cd7dd538ac0e7d3f5d0";
@@ -7525,6 +8284,7 @@ cmsd = {
 };
 cmsrb = {
   revision = 54706;
+  shortdesc = "Computer Modern for Serbian and Macedonian";
   stripPrefix = 0;
   fontMaps = [
     "Map cmsrb.map"
@@ -7537,6 +8297,7 @@ cmsrb = {
 };
 cmtiup = {
   revision = 39728;
+  shortdesc = "Upright punctuation with CM italic";
   stripPrefix = 0;
   sha512.run = "9412576d07ec490fda4dd01445f28e4b966d2664a81e5f44a574019df1eb4de4189b8d06edf7a1a3b57e8ade129b57c0147a96fa9b77337d9a906134e33f2067";
   sha512.doc = "aae6105fc9e828715193bc4d251210f23ce6f4c4d703c79c244ff765a377f90055188f8af83e705da062cea8db8bf6b89beecc488cce32d7903fb7fb8c4bcad9";
@@ -7546,6 +8307,7 @@ cmtiup = {
 };
 cmupint = {
   revision = 54735;
+  shortdesc = "Upright integral symbols for Computer Modern";
   stripPrefix = 0;
   fontMaps = [
     "MixedMap cmupint.map"
@@ -7558,6 +8320,7 @@ cmupint = {
 };
 cnbwp = {
   revision = 69931;
+  shortdesc = "Typeset working papers of the Czech National Bank";
   stripPrefix = 0;
   sha512.run = "1e52436349c9f43a04b40ded7f35092d644ea056b5be1f91ce9efc20a5c47211017cb000ba5b3734d29fcf0553e61193cfa141ea945367362c924a061392b2a8";
   sha512.doc = "685c09924feb372af74ff578a74c4a4ed24a7b9ddbac65d8f8e2c17ba4b80e7f34d49d71ef9251b619b363a83dbbe12114aed547bff6e29d7053261cae169d22";
@@ -7567,6 +8330,7 @@ cnbwp = {
 };
 cnltx = {
   revision = 55265;
+  shortdesc = "LaTeX tools and documenting facilities";
   stripPrefix = 0;
   sha512.run = "fa858296b0d71265f4812289d7e50e1650deea64fe8feb86c1d9a3ce49719ed4d265e457fc1e6c9382c9344b9798ef2de322419ab38b86dfaa2f20ca87052ea4";
   sha512.doc = "b1481a3f56079e4655b94ac7855019492b051de1405016830fd196442f1c3fb8213d00540ec5fa42dccf743eefd9ff1d0a581626d2b0c64b7462e43708ccb502";
@@ -7576,6 +8340,7 @@ cnltx = {
 };
 cns = {
   revision = 45677;
+  shortdesc = "Chinese/Japanese/Korean bitmap fonts";
   stripPrefix = 0;
   sha512.run = "0b3645da07e0fc9482cfeddd93f949e18dc12b6aa02e5a6c45669f3d5f7f25d5fa7ff4992f40b9b71894e21b5b1855999ba8e1b130be27e8b7001444ed30db0f";
   sha512.doc = "264c64f2ae29bff96b428500af07a81402434d9422792a36ee0da74e9821f161cf8281d38317787c0db78109d2eeaaff4e62730855ae1f1e1f250f4173740d35";
@@ -7585,6 +8350,7 @@ cns = {
 };
 cntformats = {
   revision = 34668;
+  shortdesc = "A different way to read counters";
   stripPrefix = 0;
   sha512.run = "f829d6452faa20a514bfe43a8b002d4d728b57e0d6c44de7ba8aebaa96d9a40fc0ac26ca6ef637ab9efd3f133c70cd4d5b9c81dd382ed8adcd5abd1b2fb5d6cd";
   sha512.doc = "4d6c9b8ad41dea1e14eec71570afdeb28fb834191587ba964642628674526a5ac82d6ceb972d5d89e0faeb3fb46da26361dea45f8757523f58765dfbdb773a3d";
@@ -7594,6 +8360,7 @@ cntformats = {
 };
 cntperchap = {
   revision = 37572;
+  shortdesc = "Store counter values per chapter";
   stripPrefix = 0;
   sha512.run = "ade4e6bbb00d619d52cb65549cb50f4ff9275d20a9e871ddee99064fb2ae0e02ba7d403bd6c7d658fdc6d542d7a32244ce8ff7fbe023b4fe292697584aed966a";
   sha512.doc = "354ea40ce2fe4e543016970fe81745c151a53c182800e8b861006d7e1c6fff84628a0baa4bfad29a0b81c8d0eede9f31145e7d3f380953921a48f31c5b8d0a8a";
@@ -7603,6 +8370,7 @@ cntperchap = {
 };
 cochineal = {
   revision = 70537;
+  shortdesc = "Cochineal fonts with LaTeX support";
   stripPrefix = 0;
   fontMaps = [
     "Map Cochineal.map"
@@ -7615,6 +8383,7 @@ cochineal = {
 };
 codeanatomy = {
   revision = 65648;
+  shortdesc = "Typeset code with annotations";
   stripPrefix = 0;
   sha512.run = "59f2c1b91875a69434595d435eb905265c9e114bebb8a94edbe07f597518424add7916fab565caef11302e6c31537c54e5885f3320ec0e515cd0a207c8012e00";
   sha512.doc = "4595189bdcee5788de92793b54e8a3dab0215057acbf7d9d575af6e9fb67a92ec1985d61d415bd44bea2d8ae7084de0676e121c96be2262c93eee78116f50a86";
@@ -7625,6 +8394,7 @@ codeanatomy = {
 };
 codebox = {
   revision = 61771;
+  shortdesc = "Highlighted source code in a fancy box";
   stripPrefix = 0;
   sha512.run = "04f63b435f360fdfa81bb7afeef38117a8a4b81b70562e21020470f49f33abc33038d6c55665a5ae4573ff61c19ed9120e824eb319ea97523fe1fa8e82ba9424";
   sha512.doc = "165fffcfbff35064a3c55a0fe1b095f3a45a5c01d1c8a8704cd151cbb20c440592edecc3be71900b1a7a5e7af28d6a8d6c4a3b9fd09f850c7da71362e2377ddd";
@@ -7634,6 +8404,7 @@ codebox = {
 };
 codedescribe = {
   revision = 69944;
+  shortdesc = "LaTeX code description and documentation";
   stripPrefix = 0;
   sha512.run = "5c3fa3c2843820575d28e1c9adced0cabf0f19fc4ae8022eef4fe18f18cf9cffe8582cb4d8b2f5d064bb5f836641f2229a6f0b6976556a9bec4ae66739b48c00";
   sha512.doc = "305c4b68a7011697c750789cbffcf09a45b3704ded67538efd6ef134c499cf42c50ff3a6503350b75cdac07574360941f66ccb67044a5f5db4ba6f050604c3f5";
@@ -7643,6 +8414,7 @@ codedescribe = {
 };
 codedoc = {
   revision = 17630;
+  shortdesc = "LaTeX code and documentation in LaTeX-format file";
   stripPrefix = 0;
   sha512.run = "8dc006776f2a3f0f28aeed0450e2d7b714402de1939a92d1e7f1e0174a8de7e9f7099e7ae9a5de34df03613ff16800bde17f7cc90fa82798f30c775c10c655ff";
   sha512.doc = "fa23f45c539ec134cff114d7252a4d96585168729dc33d0865f4976f94620a8d3c02fa21572953161977d893c7f311b0d15a431f74b8526d1de0680dfdad7341";
@@ -7652,6 +8424,7 @@ codedoc = {
 };
 codehigh = {
   revision = 65787;
+  shortdesc = "Highlight code and demos with l3regex and lpeg";
   stripPrefix = 0;
   sha512.run = "ca33d6cb84e716357cb18d8448f8e047b4bc049cca8e77aa80525a209c66ae4b93dcd453f91672cf15fc5305ce1d62768e9851edd6fb07214153100cdacfc884";
   sha512.doc = "f689cede2e83dee785e3b83094f5897a8d7af4e39e3c33779acceeb7ed0c1226d094aca64c222f4b1488916e7ad78ed1a6b8800070910d4e0daf6e6ccd24bc5e";
@@ -7661,6 +8434,7 @@ codehigh = {
 };
 codepage = {
   revision = 51502;
+  shortdesc = "Support for variant code pages";
   stripPrefix = 0;
   sha512.run = "2531186744ce4915b8d903e0ea49e1d3e0a6be5ab2db7bc2a5cbc70e675c2dd00104a677c08b7b7d12eca56dfc4b283c49ee599fff6d3460c6238f414ba3cb76";
   sha512.doc = "b49ffff68cc599835acf436de3117c7f9511b362d821bdd8c18f0af930c5b717dc0bcd00477e6f0f367229b9d1f6dd150a8166dd74bbfbc2cfcb77ccf28cd8d5";
@@ -7670,6 +8444,7 @@ codepage = {
 };
 codesection = {
   revision = 34481;
+  shortdesc = "Provides an environment that may be conditionally included";
   stripPrefix = 0;
   sha512.run = "95318ae4933d0cb43226c714c8ff931aaa8e06cfb2c44c3929db59ae8336882c588e26268445b62f8da32145a962bae0030daff3d5cfa22007919fb7b13fd69d";
   sha512.doc = "881e62381793f548d0c291141944d81e19cf4340f2c1f63916857f5702756e18d107337c340568d62de48fe2190cf4c74a8d6604f8d4843c47ceb7c59608c0b0";
@@ -7680,6 +8455,7 @@ codesection = {
 };
 codicefiscaleitaliano = {
   revision = 29803;
+  shortdesc = "Test the consistency of the Italian personal Fiscal Code";
   stripPrefix = 0;
   sha512.run = "7c93841ceadbb7bbfc9846d281fdbd84b7f284117344e1c4fd984e746186403e9be3e2048cfca53f6690a1e20b7471224b8d30ed1358959053111c22d3f15191";
   sha512.doc = "7b0c13252796be7d584d3e5dad65711229cf916ce7c8e89e423805183629f161b3d4e4f47d6c9488ab32ff8b52723b0fbc4252f2ca99e965f4d7c4409881b67d";
@@ -7690,6 +8466,7 @@ codicefiscaleitaliano = {
 };
 coelacanth = {
   revision = 64558;
+  shortdesc = "Coelacanth fonts with LaTeX support";
   stripPrefix = 0;
   fontMaps = [
     "Map Coelacanth.map"
@@ -7702,6 +8479,7 @@ coelacanth = {
 };
 coffeestains = {
   revision = 59703;
+  shortdesc = "Add coffee stains to documents";
   stripPrefix = 0;
   sha512.run = "7a8213810b8bb30c0b863ce996aab92a9031dd9961513d25822904c6e71dd2fa1b79f050f1840e8d88e8f8e8e87c7736369f3fa7a6873cbaa57fb8dca7c71d47";
   sha512.doc = "fab8a2aeae8dd1c6f0f501d894f90d5b6f7785bf8b3fcf86837f4bc41da8002427c69094676870ea7dfe9186b3bb92433f5c66f0cedd08f57954487db8bb162b";
@@ -7711,6 +8489,7 @@ coffeestains = {
 };
 collargs = {
   revision = 69284;
+  shortdesc = "Collect arguments of any command";
   stripPrefix = 0;
   sha512.run = "1807cca3a1e73b42ec1403c272777d5e31c1a6ecc3efe9b61697d6fee7b2b1deb76b9b909846b55a297587e950b42754f68be4cc5ed729c54e310fcd248d2972";
   sha512.doc = "395931952725fbebb85445d8f465bc57a74d98f2d70b61f67b97f9a3542598bdfb1ddd7203a3bcae87094aded580325c98f77bfcdfa78147b971a9aff18a8cd0";
@@ -7721,6 +8500,7 @@ collargs = {
 };
 collcell = {
   revision = 64967;
+  shortdesc = "Collect contents of a tabular cell as argument to a macro";
   stripPrefix = 0;
   sha512.run = "ecc414d09b916580b87aeba0192b55e698782ee9fca088ff3d3ab6f247ff2fa33caa0cf6913870f8f3219806e2ac88674c6f7692ebdc027675907355c38c6eea";
   sha512.doc = "a516c5c4030957305e413e252cc59f33652b42f2d0dc0aa0fbe297f33a68da4d534f0b07684d39276e8b6811b53b775db45b774e7ea82fc9b0c7382910ab6442";
@@ -7731,6 +8511,7 @@ collcell = {
 };
 collectbox = {
   revision = 64967;
+  shortdesc = "Collect and process macro arguments as boxes";
   stripPrefix = 0;
   sha512.run = "59316a336010c03bbe288ecaf20953666d084500165befe465ac87210795f2ef68693e5fe155b45a461a690d918d83aad247dcd52eb40cd0bf80f6c68fcd8071";
   sha512.doc = "db2d2066072a3619913df6fbdfb19ec3afc50495d51ccf1339312bcff1bf7841902f412932205cb4ae2f94acd33b9fe2b250d67ae02c22d6efa25c251a182c00";
@@ -7741,6 +8522,7 @@ collectbox = {
 };
 collection-basic = {
   revision = 59159;
+  shortdesc = "Essential programs and files";
   stripPrefix = 0;
   deps = [
     "amsfonts"
@@ -7788,6 +8570,7 @@ collection-basic = {
 };
 collection-bibtexextra = {
   revision = 70566;
+  shortdesc = "BibTeX additional styles";
   stripPrefix = 0;
   deps = [
     "aaai-named"
@@ -7961,6 +8744,7 @@ collection-bibtexextra = {
 };
 collection-binextra = {
   revision = 69527;
+  shortdesc = "TeX auxiliary programs";
   stripPrefix = 0;
   deps = [
     "a2ping"
@@ -8077,6 +8861,7 @@ collection-binextra = {
 };
 collection-context = {
   revision = 69108;
+  shortdesc = "ConTeXt and packages";
   stripPrefix = 0;
   deps = [
     "collection-basic"
@@ -8107,6 +8892,7 @@ collection-context = {
 };
 collection-fontsextra = {
   revision = 69663;
+  shortdesc = "Additional fonts";
   stripPrefix = 0;
   deps = [
     "aboensis"
@@ -8470,6 +9256,7 @@ collection-fontsextra = {
 };
 collection-fontsrecommended = {
   revision = 54074;
+  shortdesc = "Recommended fonts";
   stripPrefix = 0;
   deps = [
     "avantgar"
@@ -8511,6 +9298,7 @@ collection-fontsrecommended = {
 };
 collection-fontutils = {
   revision = 61207;
+  shortdesc = "Graphics and font utilities";
   stripPrefix = 0;
   deps = [
     "accfonts"
@@ -8537,6 +9325,7 @@ collection-fontutils = {
 };
 collection-formatsextra = {
   revision = 62226;
+  shortdesc = "Additional formats";
   stripPrefix = 0;
   deps = [
     "aleph"
@@ -8565,6 +9354,7 @@ collection-formatsextra = {
 };
 collection-games = {
   revision = 70179;
+  shortdesc = "Games typesetting";
   stripPrefix = 0;
   deps = [
     "bartel-chess-fonts"
@@ -8628,6 +9418,7 @@ collection-games = {
 };
 collection-humanities = {
   revision = 68465;
+  shortdesc = "Humanities packages";
   stripPrefix = 0;
   deps = [
     "adtrees"
@@ -8690,6 +9481,7 @@ collection-humanities = {
 };
 collection-langarabic = {
   revision = 69111;
+  shortdesc = "Arabic";
   stripPrefix = 0;
   deps = [
     "alkalami"
@@ -8731,6 +9523,7 @@ collection-langarabic = {
 };
 collection-langchinese = {
   revision = 63995;
+  shortdesc = "Chinese";
   stripPrefix = 0;
   deps = [
     "arphic"
@@ -8772,6 +9565,7 @@ collection-langchinese = {
 };
 collection-langcjk = {
   revision = 65824;
+  shortdesc = "Chinese/Japanese/Korean (base)";
   stripPrefix = 0;
   deps = [
     "adobemapping"
@@ -8797,6 +9591,7 @@ collection-langcjk = {
 };
 collection-langcyrillic = {
   revision = 69727;
+  shortdesc = "Cyrillic";
   stripPrefix = 0;
   deps = [
     "babel-belarusian"
@@ -8852,6 +9647,7 @@ collection-langcyrillic = {
 };
 collection-langczechslovak = {
   revision = 54074;
+  shortdesc = "Czech/Slovak";
   stripPrefix = 0;
   deps = [
     "babel-czech"
@@ -8875,6 +9671,7 @@ collection-langczechslovak = {
 };
 collection-langenglish = {
   revision = 68790;
+  shortdesc = "US and UK English";
   stripPrefix = 0;
   deps = [
     "amiweb2c-guide"
@@ -8954,6 +9751,7 @@ collection-langenglish = {
 };
 collection-langeuropean = {
   revision = 66432;
+  shortdesc = "Other European languages";
   stripPrefix = 0;
   deps = [
     "armtex"
@@ -9031,6 +9829,7 @@ collection-langeuropean = {
 };
 collection-langfrench = {
   revision = 67951;
+  shortdesc = "French";
   stripPrefix = 0;
   deps = [
     "aeguill"
@@ -9086,6 +9885,7 @@ collection-langfrench = {
 };
 collection-langgerman = {
   revision = 68711;
+  shortdesc = "German";
   stripPrefix = 0;
   deps = [
     "apalike-german"
@@ -9140,6 +9940,7 @@ collection-langgerman = {
 };
 collection-langgreek = {
   revision = 65038;
+  shortdesc = "Greek";
   stripPrefix = 0;
   deps = [
     "babel-greek"
@@ -9173,6 +9974,7 @@ collection-langgreek = {
 };
 collection-langitalian = {
   revision = 55129;
+  shortdesc = "Italian";
   stripPrefix = 0;
   deps = [
     "amsldoc-it"
@@ -9199,6 +10001,7 @@ collection-langitalian = {
 };
 collection-langjapanese = {
   revision = 69967;
+  shortdesc = "Japanese";
   stripPrefix = 0;
   deps = [
     "ascmac"
@@ -9271,6 +10074,7 @@ collection-langjapanese = {
 };
 collection-langkorean = {
   revision = 54074;
+  shortdesc = "Korean";
   stripPrefix = 0;
   deps = [
     "baekmuk"
@@ -9291,6 +10095,7 @@ collection-langkorean = {
 };
 collection-langother = {
   revision = 68719;
+  shortdesc = "Other languages";
   stripPrefix = 0;
   deps = [
     "aalok"
@@ -9361,6 +10166,7 @@ collection-langother = {
 };
 collection-langpolish = {
   revision = 54074;
+  shortdesc = "Polish";
   stripPrefix = 0;
   deps = [
     "babel-polish"
@@ -9387,6 +10193,7 @@ collection-langpolish = {
 };
 collection-langportuguese = {
   revision = 67125;
+  shortdesc = "Portuguese";
   stripPrefix = 0;
   deps = [
     "babel-portuges"
@@ -9407,6 +10214,7 @@ collection-langportuguese = {
 };
 collection-langspanish = {
   revision = 67307;
+  shortdesc = "Spanish";
   stripPrefix = 0;
   deps = [
     "antique-spanish-units"
@@ -9428,6 +10236,7 @@ collection-langspanish = {
 };
 collection-latex = {
   revision = 69131;
+  shortdesc = "LaTeX fundamental packages";
   stripPrefix = 0;
   deps = [
     "ae"
@@ -9494,6 +10303,7 @@ collection-latex = {
 };
 collection-latexextra = {
   revision = 70534;
+  shortdesc = "LaTeX additional packages";
   stripPrefix = 0;
   deps = [
     "2up"
@@ -11041,6 +11851,7 @@ collection-latexextra = {
 };
 collection-latexrecommended = {
   revision = 69888;
+  shortdesc = "LaTeX recommended packages";
   stripPrefix = 0;
   deps = [
     "anysize"
@@ -11121,6 +11932,7 @@ collection-latexrecommended = {
 };
 collection-luatex = {
   revision = 69404;
+  shortdesc = "LuaTeX packages";
   stripPrefix = 0;
   deps = [
     "addliga"
@@ -11230,6 +12042,7 @@ collection-luatex = {
 };
 collection-mathscience = {
   revision = 70357;
+  shortdesc = "Mathematics, natural sciences, computer science packages";
   stripPrefix = 0;
   deps = [
     "12many"
@@ -11499,6 +12312,7 @@ collection-mathscience = {
 };
 collection-metapost = {
   revision = 67071;
+  shortdesc = "MetaPost and Metafont packages";
   stripPrefix = 0;
   deps = [
     "automata"
@@ -11555,6 +12369,7 @@ collection-metapost = {
 };
 collection-music = {
   revision = 69613;
+  shortdesc = "Music packages";
   stripPrefix = 0;
   deps = [
     "abc"
@@ -11599,6 +12414,7 @@ collection-music = {
 };
 collection-pictures = {
   revision = 70538;
+  shortdesc = "Graphics, pictures, diagrams";
   stripPrefix = 0;
   deps = [
     "adigraph"
@@ -11866,6 +12682,7 @@ collection-pictures = {
 };
 collection-plaingeneric = {
   revision = 68675;
+  shortdesc = "Plain (La)TeX packages";
   stripPrefix = 0;
   deps = [
     "abbr"
@@ -11988,6 +12805,7 @@ collection-plaingeneric = {
 };
 collection-pstricks = {
   revision = 65367;
+  shortdesc = "PSTricks";
   stripPrefix = 0;
   deps = [
     "auto-pst-pdf"
@@ -12109,6 +12927,7 @@ collection-pstricks = {
 };
 collection-publishers = {
   revision = 69759;
+  shortdesc = "Publisher styles, theses, etc.";
   stripPrefix = 0;
   deps = [
     "aastex"
@@ -12406,6 +13225,7 @@ collection-publishers = {
 };
 collection-texworks = {
   revision = 54074;
+  shortdesc = "TeXworks editor; TL includes only the Windows binary";
   stripPrefix = 0;
   deps = [
     "collection-basic"
@@ -12415,11 +13235,13 @@ collection-texworks = {
 };
 collection-wintools = {
   revision = 65952;
+  shortdesc = "Windows-only support programs";
   stripPrefix = 0;
   sha512.run = "8af5c376990a7ed062588a0eb8695455936a92376b94f157d75a22f976f62017999aee8aeb692a07f98a64f05ac98bf4aba79c5f75688c54ad2196807471dc1b";
 };
 collection-xetex = {
   revision = 69452;
+  shortdesc = "XeTeX and packages";
   stripPrefix = 0;
   deps = [
     "arabxetex"
@@ -12469,6 +13291,7 @@ collection-xetex = {
 };
 collref = {
   revision = 46358;
+  shortdesc = "Collect blocks of references into a single reference";
   stripPrefix = 0;
   sha512.run = "56c2fda36523ae348bea381d90493238c7cbf5ab59f074437c7b694b441f913e6b58795ca81d2c549fbba01505a8895e9e139a9d143050761bceced2717fdb97";
   sha512.doc = "2d75180ab389632ec320795d6e6b989d902b82d1cfc97ea3c5113647e605c1eead0d0f5a6733cb692b624f4caa7120959c0b15018e35be4d4894183ad3e4c37d";
@@ -12479,6 +13302,7 @@ collref = {
 };
 colophon = {
   revision = 47913;
+  shortdesc = "Provides commands for producing a colophon";
   stripPrefix = 0;
   sha512.run = "e85dfdef7eefa2fedd6af7c0b6eb71200485b5190268de3a89cbec8dd15f8e66b3260430660f6cb860e2712d3e20e5a8d0b874592a71b116dc07de6e28161474";
   sha512.doc = "aba1badf34551d8340f733bb9e365a99c56c473f96ed69deadda917232ea8313df800579cb347e074ff0836553bdeb49f60330883581fb3cc7a3eeedc736d1ba";
@@ -12489,6 +13313,7 @@ colophon = {
 };
 color-edits = {
   revision = 56707;
+  shortdesc = "Colorful edits for multiple authors of a shared document";
   stripPrefix = 0;
   sha512.run = "e1023d734b7c8c2c781fd037f29a8c845a45fcd1c62d7880d51755bf943dba142fee040c2f0b9bea2ef6986818b5f67126ff468639c0d962d0a779f6840fb1c7";
   sha512.doc = "17322e4a1e9cd8cd6043a37e0c06bca019b887aad0100367b0c99b70fe3043d32568b5cf587cb42d0bdfe77cf18bf222fba126833d9a61789bba88bd121dbc4c";
@@ -12499,6 +13324,7 @@ color-edits = {
 };
 colordoc = {
   revision = 18270;
+  shortdesc = "Coloured syntax highlights in documentation";
   stripPrefix = 0;
   sha512.run = "a4d87deccae89f844a6251887e4d20817837fff4eef9cbd2874bef8890d41e0ab930a3ee55fae9ee46685c6b3b2b3324b54ce8507f1cb10eef332b7a480b94a8";
   sha512.doc = "a2e5c6699a615651dd31a570ba6524cc7cb3d2f3c8d4b1fe49092dd4c01b40714c1c534f3554fca20fad7c17fdfb7104b699a10677519f57538e239820b6f1e7";
@@ -12508,6 +13334,7 @@ colordoc = {
 };
 coloredbelts = {
   revision = 68747;
+  shortdesc = "Insert colored belts (vectorial format) in documents (to presetn skills, for example)";
   stripPrefix = 0;
   sha512.run = "0c2ccc4f77c74e551361b6c479759d10db1ab96bd293926e3fb60c1888e073094c4aed403b147744711b5210c9fc8e0cdb431ef8b778cbd12fefb4f691faab85";
   sha512.doc = "dbe9cd28b3bdac4b51d080edae7a983900fb2f9c583d7e19d0137d551222d23138862e9acb43de98c2f321d4abee3dbc2e43961f66227a5cf2c639545586ecfe";
@@ -12517,6 +13344,7 @@ coloredbelts = {
 };
 colorframed = {
   revision = 64551;
+  shortdesc = "Fix color problems with the package \"framed\"";
   stripPrefix = 0;
   sha512.run = "a1e623ec218635694ae31046002648ad840f9f30099e8a7d453ff4301bf2855a47e1139d20760db4d53d69292a0e99ecbfb4b4ec37046d4023ba61249f701434";
   sha512.doc = "f3dcb1d97f012dbac252b097117573b889d5bb77490d7a2c6dc40e87e7bafc31b09b411fd5f764d9db915b3142c7549d411b28f9cd3adb63a1afe444899e3092";
@@ -12526,6 +13354,7 @@ colorframed = {
 };
 colorinfo = {
   revision = 15878;
+  shortdesc = "Retrieve colour model and values for defined colours";
   stripPrefix = 0;
   sha512.run = "63bfe1dcdfd85dd1d7d3c7c8d3d345f221bc90bd34bd75888c361d4de97633b9c14d96930b41adf63370403c858f754e740c53d8100b9eb3c5557dd66e6876b3";
   sha512.doc = "d871a76648cd57af0bd6bd800ee8673ff07b2572ea514a3806731713d9ec4ab368fba2cf540ba71005300d4e02beb180f8eba82c0b060bcaa7a60e54ae601df1";
@@ -12535,6 +13364,7 @@ colorinfo = {
 };
 coloring = {
   revision = 41042;
+  shortdesc = "Define missing colors by their names";
   stripPrefix = 0;
   sha512.run = "7c89a6c53212beaa06d54dc091021c5fd57cc30fccc917ea413d23b0790ec637b6b8e69a3bf1b44d0a9ed24fa1c0dd21608b174c0230a0a94a2e5aed221be033";
   sha512.doc = "cfe600ff32f680f7b7d3916e5a2e767732a9ab9f1e6d06133afbadc87dc1b8ac420284c75c221ed5b5a81b76f6b01302c5595b69439566775adc18ab11185961";
@@ -12544,6 +13374,7 @@ coloring = {
 };
 colorist = {
   revision = 70101;
+  shortdesc = "Write your articles or books in a colorful way";
   stripPrefix = 0;
   deps = [
     "projlib"
@@ -12555,6 +13386,7 @@ colorist = {
 };
 colorprofiles = {
   revision = 49086;
+  shortdesc = "Collection of free ICC profiles";
   stripPrefix = 0;
   sha512.run = "49be492e62fcd615b08bb6a32767cac54a9535ab859d2a27d1c84788d4e168df2a10133e5408ab1bd3a802ffa8465a61c4144cd9cbafc6fa98f995cb7af89381";
   sha512.doc = "ab7cabd369cdde5c2e5108b4d75d71bfa5e6b44d7ecc2eda25509078f26bfbc8515dd10a6dd82adab979170e12552fbecffca1f5bd3a1105db21b31097ec5f12";
@@ -12564,6 +13396,7 @@ colorprofiles = {
 };
 colorsep = {
   revision = 13293;
+  shortdesc = "Color separation";
   stripPrefix = 0;
   sha512.run = "3c6387a4c538235181dcaf7b6c3ac51d2893d35fa2c18d95d85810b778fecaed7ae2337d2b284ee3439f44d3570ee86884d42616539bf61a15526aa711da70e9";
   hasRunfiles = true;
@@ -12571,6 +13404,7 @@ colorsep = {
 };
 colorspace = {
   revision = 50585;
+  shortdesc = "Provides PDF color spaces";
   stripPrefix = 0;
   sha512.run = "677f462e9ec347467ab39f3c4e776b870861ed0a38447d61a50abfc3172936c99b468320ad40a5b43713df070434c0b280e2d9d13609e141603453fa7d6c37f8";
   sha512.doc = "702060f3a2805be7dc472bab428fad866e947d8f700f8357e897443909d555dee399ac857feb1e341875bbd4017e7e456c46c4282def6daabc092417859bc634";
@@ -12580,6 +13414,7 @@ colorspace = {
 };
 colortab = {
   revision = 22155;
+  shortdesc = "Shade cells of tables and halign";
   stripPrefix = 0;
   sha512.run = "460225705cfa914efc689df2d3f0c0ef7f5883082195e3d8e29e124726589fb5e9b7fc4679541b685439de097b6b297b803cf08e104ec13b849dbb26cffeaa04";
   sha512.doc = "947e46ffe5c83c3803e40f0da9a1a926e830e2b24f1d486d158da24bceade870cb1fe580aded3838f895deb238d1615cc0e3f95a05e99800fb1bad87ddf0b134";
@@ -12589,6 +13424,7 @@ colortab = {
 };
 colortbl = {
   revision = 70034;
+  shortdesc = "Add colour to LaTeX tables";
   stripPrefix = 0;
   sha512.run = "3f1e703d76afea29b9cb9a2e1aed6e130b4be09982898260ef0e40f41eb99e9b948e89307c2d8b605777983bd8be46e874fd40080803d5b724f99f00c7b7a11f";
   sha512.doc = "412e8399bc8aadaf131fdc07de0148c7fefa1e207788a8e9c4a82914bb99f75a3c352f60f958913ea351d31571a17c8e3b539917e72fd2b9b83b0c04f0e3675d";
@@ -12599,6 +13435,7 @@ colortbl = {
 };
 colorwav = {
   revision = 67012;
+  shortdesc = "Colours by wavelength of visible light";
   stripPrefix = 0;
   sha512.run = "1f0ec92974581f7a1d5d36993eaef84d46019a345f1ca9979d0508b5dde7226cdb38e102dce02d404a4d28f8c408cb53cb0b3bc819905935fc9cd323abada305";
   sha512.doc = "c9d23542ccc17980837bd49012889a8e11fb87f76bdd3c5ea9650177ebe527533cb5ac3631895f2455b094ffb4c6bfa973fddf9f071c80bc52c3c824b1fce471";
@@ -12609,6 +13446,7 @@ colorwav = {
 };
 colorweb = {
   revision = 31490;
+  shortdesc = "Extend the color package colour space";
   stripPrefix = 0;
   sha512.run = "dd8e53aa707f1e73276cca9a9c5732b012ca7dcb0926d101c71aa5fe3829f07251a7f606accc95266f6c9aa4b867a38cc654ca97cc32857edc3d196b2c5a7fd4";
   sha512.doc = "b1ae7c14f2f07405b7a957831b60829046b058f6d1640051cbee877100c98a8f47d2c1d40f60599c42ff90eed246248b4f48dd8c1d31f9d45082f9ec5c341626";
@@ -12619,15 +13457,17 @@ colorweb = {
 };
 colourchange = {
   revision = 21741;
+  shortdesc = "Colourchange";
   stripPrefix = 0;
   sha512.run = "dba4ef8d97324c3da71de1c6a37e268618bab0a876e1da37226ec9fb187087d39f32507e97f4ab4fa801fd4bbb98c51a322c6f2493b719133154b24223bfba46";
   sha512.doc = "628bc515058108ba97312c15ee5af00e086ea3dc124b4e7b038b176d4175e2146afc6f571593c006d749634896fa286d16c923c17d4dc9e55e81ac3a8aa95442";
   hasRunfiles = true;
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
   version = "1.22";
 };
 combelow = {
   revision = 18462;
+  shortdesc = "Typeset \"comma-below\" letters, as in Romanian";
   stripPrefix = 0;
   sha512.run = "17f1beb58a11f3c754c57331d1b2d9338fee359b6c27cdc0a855671397e78c0b2d29ba60247f3104d3eece22619671f56d2aac862ac404502faaea08f40d7be4";
   sha512.doc = "82d8e60a5cd8d46b952aa27dff03398cb6e65a1c5a76c1eb260d3e30172af89206a7a8ec7ab3871d5e33e87ccc2c99e2f54740facfd71d43ea6f88821c9ceb2a";
@@ -12637,6 +13477,7 @@ combelow = {
 };
 combine = {
   revision = 19361;
+  shortdesc = "Bundle individual documents into a single document";
   stripPrefix = 0;
   sha512.run = "9e57b01fa0a14556473764144dc3b5e4e3d40a7f913932b02826a68efdd952adc69e990ba75f6b5057d69850d3e693e1c5b5c40d2c3443aab2741ce9646d522e";
   sha512.doc = "4e09fd0a9b587d61da2c6a15579675b9a839c83f0b38b0f958b2f4aa2c0a49adf93730ebafa235043cf645d6b8689cbcc5916e4bba92b5e30ac87a8282402859";
@@ -12647,6 +13488,7 @@ combine = {
 };
 combinedgraphics = {
   revision = 27198;
+  shortdesc = "Include graphic (EPS or PDF)/LaTeX combinations";
   stripPrefix = 0;
   sha512.run = "22d36d3a44fbbe5f11522f28e716be862d354998750492d014d86037a24407a748248571e50dc99a6fe5518d8ecbf61ca657407194a43b75510b613438fa4b65";
   sha512.doc = "4802871f57bbc131c850f89eef43778ed25a9abb0a850dac0e91e762b7a321567348f147ae02847cad4c226f9acf2bce921f9745832d1dc298d751b8123741b4";
@@ -12657,6 +13499,7 @@ combinedgraphics = {
 };
 combofont = {
   revision = 51348;
+  shortdesc = "Add NFSS-declarations of combo fonts to LuaLaTeX documents";
   stripPrefix = 0;
   sha512.run = "838f10474c2e89f317df4592443deaec3d1a3310f7bb2b458c2a1b29a03013c4274912020ddd9b5807bb6018b6564c11df7b14b8a6db556e8db58dd98049c002";
   sha512.doc = "ab322618efb3cd8089e9142a28800d34724e499bacbd0cc4a0db14a409bea3cb355f50d412f92862f53c0a5f91fef8af7b652b21be0596cc9687e4919f5122b4";
@@ -12666,6 +13509,7 @@ combofont = {
 };
 comfortaa = {
   revision = 54512;
+  shortdesc = "Sans serif font, with LaTeX support";
   stripPrefix = 0;
   fontMaps = [
     "Map comfortaa.map"
@@ -12678,6 +13522,7 @@ comfortaa = {
 };
 comicneue = {
   revision = 54891;
+  shortdesc = "Use Comic Neue with TeX(-alike) systems";
   stripPrefix = 0;
   fontMaps = [
     "Map ComicNeue.map"
@@ -12691,6 +13536,7 @@ comicneue = {
 };
 comma = {
   revision = 18259;
+  shortdesc = "Formats a number by inserting commas";
   stripPrefix = 0;
   sha512.run = "65c21bca8e6a707697847ff96d1cd909cbe0c7d33140b4b175a2e3464c1c67827cea9c9f65e45dfcd31fcf2fd94262daa907358341fddf351241753ab47ac99c";
   sha512.doc = "b25433b52a32cee71043c1f13d2ca45beff32733ac24259f767b6093f5b5f38e0da3c88569bcd637267397c49d26e546c26454381cf916040c52a2833b02df65";
@@ -12700,6 +13546,7 @@ comma = {
 };
 commado = {
   revision = 38875;
+  shortdesc = "Expandable iteration on comma-separated and filename lists";
   stripPrefix = 0;
   sha512.run = "c5e48910b5e685c792b9dfe191cd8666472e24e7ef6d6c2fdb3bfb05b2f39f4d4ca68cc7b859d07f50e5d596250e36e1664e1ca48666b0e3126eb8c91d27c384";
   sha512.doc = "457d03b34ba53988ff287060d18f993f8e01ca99991505c5373abc05cfdde4cfcdda8fbb6dc3737e91c66ef0b30c083c31e64e326c08d4959ff8ed1a66cd4d33";
@@ -12710,6 +13557,7 @@ commado = {
 };
 commath = {
   revision = 15878;
+  shortdesc = "Mathematics typesetting support";
   stripPrefix = 0;
   sha512.run = "68c25e035e211107c65eece91bf84d65f2328ebaa3dc81d70186707c081f865abcb1be383cecec7d780bbebf3f565647406d6bcfc2c6bb3e846058d50882a6b0";
   sha512.doc = "5d1d162cf8fd6692788bd15e2d3c2021fa6ed96f289f2c17e9d7e9d2afb428030f0d016f4b4aac62aebec1c8988aa1a978f71bdc7f4873e181f1b2ec7e0f6d0d";
@@ -12719,6 +13567,7 @@ commath = {
 };
 commedit = {
   revision = 50116;
+  shortdesc = "Commented editions with LaTeX";
   stripPrefix = 0;
   sha512.run = "7a2248fc7c3de4755a68dfb769c0862332f41945a5efdac8f0b9911c3479bc45cf72ef0176d8d2ed2abe127aaf388c17c90d1f58cfea4aec8bd9e488f2d96c5f";
   sha512.doc = "b8c6fbb8c67aeb878fef32bb6e61dacdb3ebf9bb7ac92bcdb685bccfac8129ee3145d40ae579ff77b097fc81ebe0438ee5c50c6bc3df156910a287b368728c6e";
@@ -12729,15 +13578,17 @@ commedit = {
 };
 comment = {
   revision = 41927;
+  shortdesc = "Selectively include/exclude portions of text";
   stripPrefix = 0;
   sha512.run = "36b5b4c4d4345a4fcf706f5040c02c2de52567fae76146a06b7f084d59b12d151e65faba1ee4aeeaebee018d81200c2902feb81ae575de35a68c00fa14ed6ba3";
   sha512.doc = "d5a360c6a0c549fee1d46fa0e9c3f9aaaa4b19b30ac48046e736008ddb42393062824950684185175f8ab569cec221bc8f9a798a07623dbe26cc92a3fd6bc72b";
   hasRunfiles = true;
-  license = [ "gpl2" ];
+  license = [ "gpl2Only" ];
   version = "3.8";
 };
 commonunicode = {
   revision = 62901;
+  shortdesc = "Convert common unicode symbols to LaTeX code";
   stripPrefix = 0;
   sha512.run = "a395e5ad2b08ffd1a29b99c66b65ddb7ab3d5207290db71ba85a0058a5404f0366030d229c5c4bc8a4450bad0a0da9fb5f6d374be2c05cbfa7a8217fadca7b11";
   sha512.doc = "dcb1071fb36eae56f6aa8b90e5b88ad32566a5dd410cf9f25c157789fac73d38d24965621f8517980cebbabb957a62f3dfc9445e00c83ed0fc43a11306684029";
@@ -12747,6 +13598,7 @@ commonunicode = {
 };
 commutative-diagrams = {
   revision = 68044;
+  shortdesc = "CoDi: Commutative Diagrams for TeX";
   stripPrefix = 0;
   sha512.run = "896235dcfbe5fc65302f5473b8821a2943ba3bce0c5b410aca855f48fd2ee6dd1b39667be7413aab027e0b36b3cad9735cf6b8406077b0c833f025fe41a83d04";
   sha512.doc = "49de0a9e52308dcf0b5ee7ca5b18df49efb3822ab2a46024e787979abf6cd682b180a461868c565b79607b301ef5bb65e9493bd27d9cbbdbe4d71472708fc01d";
@@ -12756,6 +13608,7 @@ commutative-diagrams = {
 };
 compactbib = {
   revision = 15878;
+  shortdesc = "Multiple thebibliography environments";
   stripPrefix = 0;
   sha512.run = "dbc3bb28178a656b400a2a72e48ec813d6e282ddba7c70bb4dd0b5ed7f76e9e0be1dffb0ecf43e4893210453ef420c1b1d859c287663cad6bfe8c7f46dc8d86b";
   hasRunfiles = true;
@@ -12763,6 +13616,7 @@ compactbib = {
 };
 compare = {
   revision = 54265;
+  shortdesc = "Compare two strings";
   stripPrefix = 0;
   sha512.run = "16d6ffeaa66c1165ce4c6795ff2f73e0cc5a811045198db6e7aa2556bc6ff8b20883478011fae9f06400475f9a96a57fea34f7513b7fbbb392aee03dbd30ad01";
   hasRunfiles = true;
@@ -12770,6 +13624,7 @@ compare = {
 };
 competences = {
   revision = 47573;
+  shortdesc = "Track skills of classroom checks";
   stripPrefix = 0;
   sha512.run = "e5b2b3a77418d5bc55e8fbbc68c39b1852ce6081b00bf6115573ac29cb7c2b8fd70392fda9b04edca5c3aa1617424541fef2da4d2f777c433b8ee168e850ad99";
   sha512.doc = "8a0078f2a3c32f03aef58a5d1ba4167ac4c738103d65cad9a5f4bae67aebcce3cb7a16d6aa27fa7b83955c95b28c1f70a0404f5633e3231c3b6d4232265e6c53";
@@ -12780,6 +13635,7 @@ competences = {
 };
 complexity = {
   revision = 45322;
+  shortdesc = "Computational complexity class names";
   stripPrefix = 0;
   sha512.run = "352e1a308e159e432c3123afeba8b173b28e164c81b4874273ddd3f8bb8c8866ef33ba7c06e061d52a3845eafb3307b045b82c9da5ea6a812f3808417fa074d6";
   sha512.doc = "2ffc63af2d86b7dc121c6e122ee1d23387c4c73a6ba65b226413671b86644d0cd9e9ec646b3eef49d9c4b2d64575d83ff45f3691337ba1dea6835945ca80de13";
@@ -12789,6 +13645,7 @@ complexity = {
 };
 components = {
   revision = 63184;
+  shortdesc = "Components of TeX";
   stripPrefix = 0;
   sha512.run = "e7f8aebb11919cd389648b1417c9d43f163858b7de28592998636a69003274d3825bb23f8faa2c29101d51343d9865780523cd95a2a014433399e2373970a116";
   sha512.doc = "f64c61df38424c72abbb778e7e39023193562228bc1eaa3f683bd81f3eb61075c4948b75a47d81946f4acf1cb5affd242309b95a248240ee413b8dd5dcb40a96";
@@ -12796,6 +13653,7 @@ components = {
 };
 comprehensive = {
   revision = 69619;
+  shortdesc = "Symbols accessible from LaTeX";
   stripPrefix = 0;
   sha512.run = "57419ba4ccf74c6d01c7ac972e4f02bcb0e4f57c7a3eb790b8f6de10ff71318ae0b4dae2f836b4f36d3c63fc3b9c6594b628640f2dd850b97dc9dbc5d18266ee";
   sha512.doc = "8d6e7b2de1d4a89e493d0ebc9b1e1a7e11e0839089d06a36f2cd8d0df47a66642edd8ab20e9688e18f6eac70d803da3edee1f8588fdfdb7bc3e46dd993523671";
@@ -12804,6 +13662,7 @@ comprehensive = {
 };
 computational-complexity = {
   revision = 44847;
+  shortdesc = "Class for the journal Computational Complexity";
   stripPrefix = 0;
   sha512.run = "639ae984ee1b581260434ace517d8209843127795e674af045ddafe16838946bebbd2dbeded45fddf62ec0a49b1a30492db0cba4ad1e5bf65530d1d5a5df9198";
   sha512.doc = "9daf1691d33bbf00b67b82cc29de0002e1aef968cb1f182bc3d722082582ed7e60945f74675b48a87baf67aa9f5fee4a167bf1548d3312492a8f570feda93ac8";
@@ -12814,6 +13673,7 @@ computational-complexity = {
 };
 concepts = {
   revision = 29020;
+  shortdesc = "Keeping track of formal 'concepts' for a particular field";
   stripPrefix = 0;
   sha512.run = "2fe917ad25df3b14bd3a20566b97a7ece0f87f79ec7ef10bcafdffde1834f6fc4bfa6775a7ec8d044e5f3ad241913b2664a7a5c25893e9406de26c0a1008d25c";
   sha512.doc = "5519f645d55e2a3e4e5f9156bdac2ea9e4ad4735ec9104255e75ea254f45b135f0d635322cf46a5536e8600eee1447ab48753763a4c89310e92d51c94c4fde80";
@@ -12823,6 +13683,7 @@ concepts = {
 };
 concmath = {
   revision = 17219;
+  shortdesc = "Concrete Math fonts";
   stripPrefix = 0;
   sha512.run = "1e2fd3339fd2bf2a48967102ca42c930ff41a5b4a9fa850cbce6aa2ed701ab351a5dfb931ed80de34aa13e18ab2b01fa2893f981fc671d6399f4d55aa9f8ea40";
   sha512.doc = "05dbb0a6d89d3f72f3d77824670afb29e6ea8dbba6d37255f6a36006a6a6b630fb56b12815ae3075c41dd698d6a85c6be7ce1dc2da9b3b69b636fcd8c4855a84";
@@ -12832,6 +13693,7 @@ concmath = {
 };
 concmath-fonts = {
   revision = 17218;
+  shortdesc = "Concrete mathematics fonts";
   stripPrefix = 0;
   sha512.run = "65b3f7003b8aaaf6565bea6a65da11f42dca2283f1d53710f4b476a48ab39ae6fffc1d0f9206e23b66047b572c28e793e1a75d047f1c1a892fb4e7c17c854741";
   sha512.doc = "7b2db9b8f2f23816cf413676dfbf6ca3413a39bb20cbc12070b9202bd2e98714a86dcb5f27a746ae197efd2284eb794f06af1b2941667abfddb72773ceb61378";
@@ -12840,6 +13702,7 @@ concmath-fonts = {
 };
 concmath-otf = {
   revision = 70337;
+  shortdesc = "Concrete based OpenType Math font";
   stripPrefix = 0;
   sha512.run = "87b99735bef0cb6583b153794c64f9b4d76a65da57ca6bf7fcfd6f702bdb32c1cc690be32dbbf2247cb45ede15045d892121794ebc0887eb0f4804990be1172f";
   sha512.doc = "6faa741f424a42088e336ff5300daa2dbd28cd71eed6d4047230c7ac7ecfad5e8de3e881216721f89f9b706397247c01abd99ea4d0a7ed097aa6d63c8e2a89dd";
@@ -12849,6 +13712,7 @@ concmath-otf = {
 };
 concprog = {
   revision = 18791;
+  shortdesc = "Concert programmes";
   stripPrefix = 0;
   sha512.run = "f650acafa4ffa424451f338d6432d665ff679396ed367650d360adf699d3b1e7d8d23f5b3fd070440cb4d6578d07978bfd02960c1219eed6c8594f110708e5cc";
   sha512.doc = "bf4d76362f7a764ae4c7937edf05a575b3faa8d6919c6c857ae350b742f53d6390546263d14958dbdfd423c9b45a7f9eebe862a00378f51c754b5fee65f60bc0";
@@ -12857,6 +13721,7 @@ concprog = {
 };
 concrete = {
   revision = 57963;
+  shortdesc = "Concrete Roman fonts";
   stripPrefix = 0;
   sha512.run = "9bf9621c120f831110f71cf8d53ee5d4d42869da8c9b2c653125dd6cb6eb9b8d264116645753ee34dce1076204e008d9e74bd0596b46ffac596cc7726b0c75a9";
   sha512.doc = "c70e9c299e69daa29e9471293b59ed4bf375b8314729381c1973c5390ec5d73b3cffa16db8864e8d84466dbd078179e98b2ffa3e6466d67441e30efcd02676fb";
@@ -12865,6 +13730,7 @@ concrete = {
 };
 conditext = {
   revision = 55387;
+  shortdesc = "Define and manage conditional content";
   stripPrefix = 0;
   sha512.run = "60619cdd5031d0fbd2f9e4e8614dacf8f439282787f6230bd2662bad21607720757a19ab27ef783a36a6a19299d5960fb786d8cc787e471a46e89f8cc2e7c866";
   sha512.doc = "3949b2f03c86a922d306cab525a5ca321509d64cfd73b99a39e3404800f63f15e262921e2c1e8eedf98ba2f6cbdda00dfb14e54198af5b7438afdea4572a86ee";
@@ -12874,6 +13740,7 @@ conditext = {
 };
 confproc = {
   revision = 29349;
+  shortdesc = "A set of tools for generating conference proceedings";
   stripPrefix = 0;
   sha512.run = "b6e054332f7f6a239a6eb102ae4b022f90d9523628a293517b1d070602290bea8e623379b5c246fcd5b8daae29c9d32d02a8a7637cd704ede5b1b928de4536fd";
   sha512.doc = "0bd697d12f1740257e89cd5853aac7340659350a6374c32c5fc22da4249ea08b7e176dc499712f4c2cac6641c0161394ff0433513f7ce1942d50ac69021c14aa";
@@ -12884,6 +13751,7 @@ confproc = {
 };
 constants = {
   revision = 15878;
+  shortdesc = "Automatic numbering of constants";
   stripPrefix = 0;
   sha512.run = "c4f807315c7f95fe7945e937e750ea18c346a8ecabb80a39922a9b861e3cce3956db31c55e68a0d3417406284d7187fd3b1d1c336c0a130eabb07e4bb60503ca";
   sha512.doc = "2712e46552a8391b0f2a95991368882a393007788cebabe7ed6c5a604eb2085b4bf00749c6fde3c88028904b7117cd4865b964d11eb443c6939e734495d4df2b";
@@ -12894,6 +13762,7 @@ constants = {
 };
 conteq = {
   revision = 37868;
+  shortdesc = "Typeset multiline continued equalities";
   stripPrefix = 0;
   sha512.run = "ee0f344ed0eab872aca3c54422f83a6f8bbed2462a22cbd54dde075ceae79dc5a01ef13947327ec726d5eeb64eee5519e4074c138f4d172bbf2b4024eb88ceff";
   sha512.doc = "edf52893cef8c5f8538a64d626a12725b043c5f0106a63f02cad91df9ad632009cfe3da51149750d4c23c12742c00052b951ada957b89641d9a0da59e93396c8";
@@ -12904,6 +13773,7 @@ conteq = {
 };
 context = {
   revision = 69665;
+  shortdesc = "The ConTeXt macro package";
   deps = [
     "amsfonts"
     "context-texlive"
@@ -12929,6 +13799,7 @@ context = {
 };
 context-calendar-examples = {
   revision = 66947;
+  shortdesc = "Collection of calendars based on the PocketDiary-module";
   stripPrefix = 0;
   deps = [
     "context"
@@ -12940,6 +13811,7 @@ context-calendar-examples = {
 };
 context-collating-marks = {
   revision = 68696;
+  shortdesc = "Environment to place collating marks on the spine of a section";
   stripPrefix = 0;
   deps = [
     "context"
@@ -12951,6 +13823,7 @@ context-collating-marks = {
 };
 context-cyrillicnumbers = {
   revision = 47085;
+  shortdesc = "Write numbers as cyrillic glyphs";
   stripPrefix = 0;
   deps = [
     "context"
@@ -12962,6 +13835,7 @@ context-cyrillicnumbers = {
 };
 context-filter = {
   revision = 62070;
+  shortdesc = "Run external programs on the contents of a start-stop environment";
   stripPrefix = 0;
   deps = [
     "context"
@@ -12973,6 +13847,7 @@ context-filter = {
 };
 context-gnuplot = {
   revision = 47085;
+  shortdesc = "Inclusion of Gnuplot graphs in ConTeXt";
   stripPrefix = 0;
   deps = [
     "context"
@@ -12984,6 +13859,7 @@ context-gnuplot = {
 };
 context-handlecsv = {
   revision = 70074;
+  shortdesc = "Data merging for automatic document creation";
   stripPrefix = 0;
   deps = [
     "context"
@@ -12991,7 +13867,7 @@ context-handlecsv = {
   sha512.run = "b4a38aa0e04812e328e3d6225462078ddf45d8791d789e2730461630db55b397754ca192acf37b9ae7f1fc10c61d412022a9e56d3465d19ceca7f5875e3d580f";
   sha512.doc = "763f75ab94a317788d9d96b88f1b7e25847ed316b4dcd84158719ef1c3cc48c90c884ec3158412d574839adf1ce8bcb12f9c0cefb6650338afa424fbd0213be3";
   hasRunfiles = true;
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
 };
 context-legacy = {
   revision = 69173;
@@ -13028,6 +13904,7 @@ context-legacy.binfiles = [
 ];
 context-letter = {
   revision = 60787;
+  shortdesc = "ConTeXt package for writing letters";
   stripPrefix = 0;
   deps = [
     "context"
@@ -13039,6 +13916,7 @@ context-letter = {
 };
 context-mathsets = {
   revision = 47085;
+  shortdesc = "Set notation in ConTeXt";
   stripPrefix = 0;
   deps = [
     "context"
@@ -13050,16 +13928,18 @@ context-mathsets = {
 };
 context-notes-zh-cn = {
   revision = 66725;
+  shortdesc = "Notes on using ConTeXt MkIV";
   stripPrefix = 0;
   deps = [
     "context"
   ];
   sha512.run = "46be6b5f9f86d6da5514f0ae0cd77aa9beab67572699f9779f3a6cd461a8600336103eaf71d6e6d99fd7ac300a3e5fedcd6e378d349cf648c9aa5a8be2aaa5b5";
   sha512.doc = "a49b1c85508128e0a2e9ae0218e3622f7479da528f51380c1e109bf877f401531689e8119cab3bde6a91e507f0bd7f16e334cb3affaba7fae5927cc23b17a207";
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
 };
 context-pocketdiary = {
   revision = 66953;
+  shortdesc = "A personal organiser";
   stripPrefix = 0;
   deps = [
     "context"
@@ -13071,6 +13951,7 @@ context-pocketdiary = {
 };
 context-simpleslides = {
   revision = 67070;
+  shortdesc = "A module for preparing presentations";
   stripPrefix = 0;
   deps = [
     "context"
@@ -13082,6 +13963,7 @@ context-simpleslides = {
 };
 context-squares = {
   revision = 70141;
+  shortdesc = "Typesetting Magic and Latin squares";
   stripPrefix = 0;
   deps = [
     "context"
@@ -13093,6 +13975,7 @@ context-squares = {
 };
 context-sudoku = {
   revision = 67289;
+  shortdesc = "Sudokus for ConTeXt";
   stripPrefix = 0;
   deps = [
     "context"
@@ -13104,12 +13987,14 @@ context-sudoku = {
 };
 context-texlive = {
   revision = 66924;
+  shortdesc = "TeX Live-specific helpers for ConTeXt (caches, papersize)";
   stripPrefix = 0;
   sha512.run = "64abf080ecfd9cf68f2ef12123ca6ee976d6fe3cb8382d34b32f424a1bfcf9165142bab2c1a9a1f394e1ed4bd53aaf2875363e7f357eae48ba00ddfc894e5d1f";
   hasRunfiles = true;
 };
 context-transliterator = {
   revision = 61127;
+  shortdesc = "Transliterate text from 'other' alphabets";
   stripPrefix = 0;
   deps = [
     "context"
@@ -13121,6 +14006,7 @@ context-transliterator = {
 };
 context-typescripts = {
   revision = 60422;
+  shortdesc = "Small modules to load various fonts for use in ConTeXt";
   stripPrefix = 0;
   deps = [
     "context"
@@ -13128,10 +14014,11 @@ context-typescripts = {
   sha512.run = "a13d06b9a792cbd2352016df508a7860e45b541d04cef1c9d9c8b5a6199120a71dfd69f990700c4a76ac31ec11209caef431a190b9045bdc46cc44f88cbef0a3";
   sha512.doc = "3d948f22da14b1d481817477235657cee714e4a2a69834729c20e18157f1175890ddc7fce992e8f5f27e26cd6d08186ff1521e2186681557cfff1a4778267324";
   hasRunfiles = true;
-  license = [ "gpl2" ];
+  license = [ "gpl2Only" ];
 };
 context-vim = {
   revision = 62071;
+  shortdesc = "Generate ConTeXt syntax highlighting code from vim";
   stripPrefix = 0;
   deps = [
     "context"
@@ -13144,6 +14031,7 @@ context-vim = {
 };
 context-visualcounter = {
   revision = 47085;
+  shortdesc = "Visual display of ConTeXt counters";
   stripPrefix = 0;
   deps = [
     "context"
@@ -13166,6 +14054,7 @@ context.binfiles = [
 ];
 continue = {
   revision = 49449;
+  shortdesc = "Prints 'continuation' marks on pages of multipage documents";
   stripPrefix = 0;
   sha512.run = "42cda9a2796e9006263320163777df7046a79e38cb2c0ffb53f23c27cc03c686e00e39b066228b09ca99a6e5c2bf4a6cb32d5d7c49b40cf614c542e258968ab9";
   sha512.doc = "0b6bbf7c3123b7e741255bd3ff9e020ec61bcb81a236ddec41e709f14de514057d9b902ad783f48e5c04ba1ca6daee31a38f130649cb0e5b2d548ca9689d5dca";
@@ -13176,6 +14065,7 @@ continue = {
 };
 contour = {
   revision = 18950;
+  shortdesc = "Print a coloured contour around text";
   stripPrefix = 0;
   sha512.run = "0dd4a28f97efcfd0459595776cbab019168fca48984d78f9ec17e0f3af9dbebd378adc6649bce6a9a999651c75316f3ff44e0f10e208465dda2d904d080c41d3";
   sha512.doc = "af1c649d2e5666ee3973395babce4802da2154ba95fa7fc08e378c261a8ea1c5be44053c40c5cc1bd0c74e2c54b659470c3d45063fbbd4330cdc5e664f19bff0";
@@ -13186,6 +14076,7 @@ contour = {
 };
 contracard = {
   revision = 67201;
+  shortdesc = "Generate calling cards for dances";
   stripPrefix = 0;
   sha512.run = "eb705425aa67034ddbf4390165a5f6a9690c67d34371a720298843d1c7292655bcb59a56364bdb510608d48b6590931abd68216fdcdcd8be90eddfbc339ce28b";
   sha512.doc = "046a38d7a11edaa8f67648996c31e481cd818b79afb1f971afe459b7adf0bb3d4f5cb0afc3903177bfc0b9b0678336a837002f8db486916afc24445a875c3285";
@@ -13196,6 +14087,7 @@ contracard = {
 };
 contract = {
   revision = 69759;
+  shortdesc = "Typeset formalized legal documents such as contracts, statutes, etc.";
   stripPrefix = 0;
   sha512.run = "bb37446d3eb0f736014ed0c589b1ae86d25cb6fe2374906f375047317b74e9d4a608a4ef32bf11776f37449d59063bc0973e9a2c7e83b747480b8b73efaaf133";
   sha512.doc = "7681e863e95f295e0ec98d0aaa789b1089fdc023feb04eff3d028c4f0c19e9d6974e96350a25fcc7810e7dabb8cf43551ad0fc2d0cb1b9684c4bd60268082d32";
@@ -13206,6 +14098,7 @@ contract = {
 };
 conv-xkv = {
   revision = 43558;
+  shortdesc = "Create new key-value syntax";
   stripPrefix = 0;
   sha512.run = "7bbbcfd71a32704f2383289d91fcc1b5993aa9e184f5d974f6dd5592312e85848a926ad9e6f412bef801daa20cc2b9c999ba137b9b24e31facfd6931309630df";
   sha512.doc = "c1c923008185db09b3e7cfd90bfd9b33ca2a61ccc706b0f9cefb238e0860120da517fdc7166e4fe476a1cc02cb4a7a3fe4c9b81c87c8de25ddd1c0c417dcfca3";
@@ -13215,6 +14108,7 @@ conv-xkv = {
 };
 convbkmk = {
   revision = 49252;
+  shortdesc = "Correct platex/uplatex bookmarks in PDF created with hyperref";
   sha512.run = "01bb9621459bac7eecc99b1d9aa59de420ba805b2e0ecdb2a89f5c86fa4a3021d957b4ddc69617ea406e77865d68e40c657979c488fc51f4676d084cfe6181cd";
   sha512.doc = "937d436cb9387eac601883ced516fa40f60e606bb4bae0be62e1ded2a31754a1d00461a34ad533cce1cc48f4d11e880233eaac128d80841e0b22f18801e86506";
   hasRunfiles = true;
@@ -13229,6 +14123,7 @@ convbkmk.binfiles = [
 ];
 cooking = {
   revision = 15878;
+  shortdesc = "Typeset recipes";
   stripPrefix = 0;
   sha512.run = "6c2fb1adf244dafa9689844e1283dce19786e2c1df170d4172d3567514555d90adcb82414f79b5d9dcd59cfdd3af5d6893fff57972d6e4fb32196add0ed5b1eb";
   sha512.doc = "30cc2a5b4679126cad1b13785081d924f9d455a5f392e5047c14c8ce1dd3efca102bafb74e1a339dd938680f3a95111a7025a31508ea63108eb33cf32b03c9c5";
@@ -13239,6 +14134,7 @@ cooking = {
 };
 cooking-units = {
   revision = 65241;
+  shortdesc = "Typeset and convert units for cookery books and recipes";
   stripPrefix = 0;
   sha512.run = "82f6e5b097ff7bc737526b13b04724fa144cb96d796cff517019e49befa174f621a41ec4c52d29fd20bb502dab46db1699b98f57de337fef8320392c63839675";
   sha512.doc = "1297801aaf9b7ae7edb900165792e1b7ae91ab6c32482a7006dfddae37e1438a3748f3e048ce385b76dafdbe78ccf5c643e9d78c07f2bc9cdf7802affce14764";
@@ -13249,6 +14145,7 @@ cooking-units = {
 };
 cookingsymbols = {
   revision = 35929;
+  shortdesc = "Symbols for recipes";
   stripPrefix = 0;
   sha512.run = "9b43ffdce038ebb001c0ab6198fa2d92ad6f1ec6040f1c315a53fbfd29367e5c851f4015c36b0cdb2eea84f4a8dc90aa3d5126a09f93766d614931bbf555f982";
   sha512.doc = "fb6794942d016d12f527b86947c7fae9947a7cf9122a7b26d39bfeb6d5f55a7cccc11b666101b0c80a92c7385ae8305bcb4d792baa0974b738af80697ad12891";
@@ -13259,6 +14156,7 @@ cookingsymbols = {
 };
 cool = {
   revision = 67013;
+  shortdesc = "COntent-Oriented LaTeX";
   stripPrefix = 0;
   sha512.run = "4ee983b7b07d20c9fe7568ebb6be60ecc56f85cc4ae4013870c53370df99d69bc0537c3889790324baa1f1a8afab2da56763b590457c49866d219b1540effe98";
   sha512.doc = "06d182b5415ed25be80c827206759708daddfaa6bf7a3aae59c1639c3c09523a7b421abdd9d2a8db1297e161e439b777d3d1d8c07e52dddc1c071ce1c5a9fe47";
@@ -13269,6 +14167,7 @@ cool = {
 };
 coolfn = {
   revision = 69007;
+  shortdesc = "Typeset long legal footnotes";
   stripPrefix = 0;
   sha512.run = "b92b231bee56a8589e079a1175569a8d8b92bd0e4730e87882cd8415bf301d466c381eaa0540104abfa5e9ed2d159b3349e3dbfc34e6b1c10e52e255946b3067";
   sha512.doc = "f3f6c06eaff8ce132e5bbdc25fa244b6aefd388a467bdf78c9c5459d6bbcaff185ef0a485957e8b864ce167b0be3a994d73cbed788754da308dea2af5d9beaae";
@@ -13278,6 +14177,7 @@ coolfn = {
 };
 coollist = {
   revision = 67048;
+  shortdesc = "Manipulate COntent Oriented LaTeX Lists";
   stripPrefix = 0;
   sha512.run = "7336f6e9a05311295d1ada4598d4b5506ef64ea1c245d30c2f30e079b5da66f08b029d98a74dec769b60da7ac05822f377c485bc0a7a25fcb3aec9e2f499d3a3";
   sha512.doc = "5f27ec17d4544bb4ac9891e088b6d921901504c46a52a65638d5caa0fb7ad4df55c00ff2ad7569b6b7f97919b9a139f433044f849ca4bd559c77e147e5878d50";
@@ -13288,6 +14188,7 @@ coollist = {
 };
 coolstr = {
   revision = 67015;
+  shortdesc = "String manipulation in LaTeX";
   stripPrefix = 0;
   sha512.run = "272c0ad1071f394c9cf96c38ce85800aeed55eacba29dc86c5887b86a63b717d8f83fd83afb5ff813df780691a7a2deff6d466e521eeca14ad3e3d09f07ab0db";
   sha512.doc = "5f4baf28b3a5d2b83ab51037c60454def4c1ebb74a408add0459fbc7766fe828e32af9c02ba898592272b067b23715e3986ca4f561a1a89d58a57c7de6d70bd3";
@@ -13298,6 +14199,7 @@ coolstr = {
 };
 coolthms = {
   revision = 29062;
+  shortdesc = "Reference items in a theorem environment";
   stripPrefix = 0;
   sha512.run = "7a9d8f4605a0ff108ef5cb32ef4b6f455d16898248fee534e6557d8323c4378c8299fc1a6d58dd491020090ed4fdd3e41a90de99d18a9d114b72bd57b27b5e7d";
   sha512.doc = "2f5ff3ead76bc83138e41ee881713829de7b8b0ecdda353fcbdd9ebdb7851139eb9022fb4eec1a1c03d125f4106ce748123a9d9fcd76859e82158a541aa20aba";
@@ -13308,6 +14210,7 @@ coolthms = {
 };
 cooltooltips = {
   revision = 60201;
+  shortdesc = "Associate a pop-up window and tooltip with PDF hyperlinks";
   stripPrefix = 0;
   sha512.run = "fde90a48c95ee35a7b9c9dfc1359df09646cd9f5cf1a44a7eba7ffd9aaf98c2bee400dd7ee6796583bea5a874c2693d25d3e502cdd4c3a207949f46ba7525505";
   sha512.doc = "0b9d55f41afb738f1503e232e06809cc2354775c6793c1f5f3f3c65d4aa349294b5e9ad4d223f588dbda0b0f53091cbee4855804273a8d8f21a6689760a556e0";
@@ -13318,6 +14221,7 @@ cooltooltips = {
 };
 coop-writing = {
   revision = 61607;
+  shortdesc = "Support for Cooperative Writing and editorial comments";
   stripPrefix = 0;
   sha512.run = "b00d0ba304a9aa88929a0f130b3e73bf8c095b25cebc6b33d8d01d15cc73766ac3db3a588719fe6480fb4105ed0bde32d5ab2354f2cc223c2e3bb90a8e6f877a";
   sha512.doc = "489060dd92b0044cb76c8e4f3f17aecf85da7b320406875b0c9b46fde2edf485868669e4986d9d602eb317ec0199e6ab81bb34096f7635fa4479203e03336577";
@@ -13328,6 +14232,7 @@ coop-writing = {
 };
 cooperhewitt = {
   revision = 64967;
+  shortdesc = "LaTeX, pdfLaTeX, XeLaTeX and LuaLaTeX support for the Cooper Hewitt family of sans serif fonts";
   stripPrefix = 0;
   fontMaps = [
     "Map CooperHewitt.map"
@@ -13339,6 +14244,7 @@ cooperhewitt = {
 };
 coordsys = {
   revision = 15878;
+  shortdesc = "Draw cartesian coordinate systems";
   stripPrefix = 0;
   sha512.run = "83a57df64b3386b7e927ca30b4b2ea031bd656121dda79dba0f96779e77d733d2293b80a3b08081678bea9b31a31a586123e9866c6aa595561843af3de0cc4f6";
   sha512.doc = "bb89a04e5889c39c23ee65c38232cc0be931dff383d52614e290b6bd8ab23e7c9063fd7ea656dde896c08830b8c7c85e1da7f56728fd43a1bedf31bef6ca2e83";
@@ -13349,6 +14255,7 @@ coordsys = {
 };
 copyedit = {
   revision = 37928;
+  shortdesc = "Copyediting support for LaTeX documents";
   stripPrefix = 0;
   sha512.run = "27f48ff201c66d61ed7702b4d11f0d39b0c74974ea3a90506dace0f3cb4ac3c4ee5cac28f9669574184620b3e64a4b9ef3fa5564213e3d200754bbab791e52ea";
   sha512.doc = "60fde840ac3c6876f031daf09e852ddf79276d2f841dea2ee5299678bd116df31b2ec2dfa6d6175e45a42fd781be6935cbfa2aab8621af641985e3df2c665fc1";
@@ -13359,6 +14266,7 @@ copyedit = {
 };
 copyrightbox = {
   revision = 24829;
+  shortdesc = "Provide copyright notices for images in a document";
   stripPrefix = 0;
   sha512.run = "2ae2afc738cc906d24fca0a6319c98dc1e9382bbde6db3d0c3a371d3de8b92c30b3bf05be04797bc0ed6d905933a50e74809eed52f06cdba5fc5088be033d4a9";
   sha512.doc = "9b817f2874a35f3e023774d3be32e0f8bf53a26f9daf553525c95ce0c21a64a22c3a716fb20cdc76921ec90b7b5305f305bf44853cf87d13ac38ce853ca00ea4";
@@ -13368,6 +14276,7 @@ copyrightbox = {
 };
 cormorantgaramond = {
   revision = 64411;
+  shortdesc = "Cormorant Garamond family of fonts";
   stripPrefix = 0;
   fontMaps = [
     "Map CormorantGaramond.map"
@@ -13380,6 +14289,7 @@ cormorantgaramond = {
 };
 correctmathalign = {
   revision = 44131;
+  shortdesc = "Correct spacing of the alignment in expressions";
   stripPrefix = 0;
   sha512.run = "5a7e9b3b51ae82980cc1ab9d4ae74aa0b65afa533d21230b1f5e6867bb6464f910a07bb1c38621eb18d8bccd8bc50260b8741752936c310012590706726ed6f2";
   sha512.doc = "bc6c9f24a4107d28120e6934f6966b2560ca4c34169b0074023e941746240879bc0572840d3967effd3a1358ef288ac412946f79fd3b40151c1507cba8828be0";
@@ -13389,6 +14299,7 @@ correctmathalign = {
 };
 coseoul = {
   revision = 23862;
+  shortdesc = "Context sensitive outline elements";
   stripPrefix = 0;
   sha512.run = "21524a0721fa26d85b383879cc75600bcd55ee05220eac245171eadc30dea7296731e4d6d2d3d82d10b32f1d674d444bf1df41dd82b92d5cfa7ea06d53f56147";
   sha512.doc = "6e950d1f5129b39de2cfdbf7cc46b101f81336f29325a5e74f58dbb4378dd79189d1e29dd88a9e828fe4e758b6de93e76f70884c9fc582cc8a69f6db1e1f2617";
@@ -13398,6 +14309,7 @@ coseoul = {
 };
 couleurs-fr = {
   revision = 67901;
+  shortdesc = "French version of colour definitions from xcolor";
   stripPrefix = 0;
   sha512.run = "d3d1abad334d50129f77b35ebd6fa244feb84e347e64cd98f3e3413c556b1848a198e4679e266f838d947244756fc19071b1bb0816c73b887b2deb4fe061adcf";
   sha512.doc = "8e88f3947d0dcebab82a60bf9886350762f57da2c2b3c739e2e3896afea70a2088ce325cfe6373d6a351b57fc2f0b0bb7f0f4c9716a094d86e1997744890c92c";
@@ -13407,6 +14319,7 @@ couleurs-fr = {
 };
 counterz = {
   revision = 67335;
+  shortdesc = "Additional tools for counters";
   stripPrefix = 0;
   sha512.run = "5fcc21ea49e222cbb205998172ca4184f4daa3efcf92c48278b3e7c5bce6669594b02f5fe54af76f94ee19ba63b9701e66d24c2ce85262748c1fd2c9b6e18b3a";
   sha512.doc = "a5ccf25501d1275161e9aa53f076fea2480cd5edbb83e4133c9cf8e400b840fde78f69bf038e5778c6b8535fea3e654c11eb1ac82545a90fe952530bfdbb607b";
@@ -13417,6 +14330,7 @@ counterz = {
 };
 countriesofeurope = {
   revision = 54512;
+  shortdesc = "A font with the images of the countries of Europe";
   stripPrefix = 0;
   fontMaps = [
     "Map countriesofeurope.map"
@@ -13429,6 +14343,7 @@ countriesofeurope = {
 };
 counttexruns = {
   revision = 27576;
+  shortdesc = "Count compilations of a document";
   stripPrefix = 0;
   sha512.run = "569393d76512308751bff3c5cb22bc11ecee420bb16b5f7d35d6b10beaa02f9c99a4d440e7f3a35bda4e6821405e5f8d621af5af176821549a0e0f0660f998bd";
   sha512.doc = "4a67cac01589ae5d3eb61c5c6c66bb38ede138c9c2b56fcb6359c8f851bf55ce3cf2e5662cd7751d6708c86644cb5f607318612b01b60f769858d594c2b24218";
@@ -13439,6 +14354,7 @@ counttexruns = {
 };
 courier = {
   revision = 61719;
+  shortdesc = "URW 'Base 35' font pack for LaTeX";
   stripPrefix = 0;
   fontMaps = [
     "Map ucr.map"
@@ -13449,6 +14365,7 @@ courier = {
 };
 courier-scaled = {
   revision = 24940;
+  shortdesc = "Provides a scaled Courier font";
   stripPrefix = 0;
   sha512.run = "570256a4353163cba169ac5d649458d363edc5c2836efccff1e7df83c12d9b552978b3531f2ab026430b3222b3dfc00be0e4700031e6bc50bdb60a739a68c9aa";
   sha512.doc = "59c5cec8491e678b084afb4c6e63ed07ca179b5f17be8fe581ff341c80b3cee8016601799ada090e1fcde9eeb72197986f3d4aeffa7c7a9d10a014e34282f52a";
@@ -13457,6 +14374,7 @@ courier-scaled = {
 };
 courierten = {
   revision = 55436;
+  shortdesc = "Courier 10 Pitch BT with LaTeX support";
   stripPrefix = 0;
   fontMaps = [
     "Map CourierOneZeroPitch.map"
@@ -13468,6 +14386,7 @@ courierten = {
 };
 courseoutline = {
   revision = 15878;
+  shortdesc = "Prepare university course outlines";
   stripPrefix = 0;
   sha512.run = "fd3bbcd90570aa1cbfae49fca247d761ac0b886d795fd8097754706b21ab1d6954eb8d8a6c1fb4e69d550e7ec89294fa006f50bab0c7b806c545666eac4915f1";
   sha512.doc = "5a52cabfbc28fe27aa6f85b3653de3ace51b65011ca2e33b56be59854b364319ed8adf95576f8211d9494a367fb637b47fd2805a2663df87103b2d67a168dc13";
@@ -13477,6 +14396,7 @@ courseoutline = {
 };
 coursepaper = {
   revision = 15878;
+  shortdesc = "Prepare university course papers";
   stripPrefix = 0;
   sha512.run = "bae9e3188a3312f970434b21f23436251dcf8d7b5b2049decf1f95903f5e58ddf9dd328ffc6908c70bec436c9edc3ae62b05d110f42a8ab322eb3f464733ba96";
   sha512.doc = "359ee3956a6da4eb41947db9b5f8dbaac7c13c18ea91afd6d63f738ab43af4c77fd93e9123ecda28b4e2211387c910b7a46b2ccd97edeba70fd6d2852b228094";
@@ -13486,6 +14406,7 @@ coursepaper = {
 };
 coverpage = {
   revision = 63509;
+  shortdesc = "Automatic cover page creation for scientific papers";
   stripPrefix = 0;
   sha512.run = "a41ebddf89a5fd375ab107e207b9397b3496bc7daf213b4c29779b15d0134a131d6646a4474a5cd9d3bf56da58350fb2ea4b98692bccb8d7b06c8a4f2244ffec";
   sha512.doc = "0931d1f63b60b1b94467114db0fcc67e4905ee1fbfe7c2083eceb0f7715eff201ccca4cd74183b70a4c84808838244b3570529b372ab64a9ef6bcc0f5357aa77";
@@ -13496,6 +14417,7 @@ coverpage = {
 };
 covington = {
   revision = 69091;
+  shortdesc = "LaTeX macros for Linguistics";
   stripPrefix = 0;
   sha512.run = "c70d4926d45c93ffecff4d8f32923ac99a1b354e51dfc21eed8f3e3172e5c29875d5ef7a2509dbd6150f22bec337efceb7cd42717798144d1d1046e4332d00d0";
   sha512.doc = "cee67a2bcd26ef106d35fadf02145b74e7c9b67c2bd2ff46a4a7afc262d020d43b168fefc2d086688c4087469e9d68a9f0ae79c83dc018ecce70233a0459f9fb";
@@ -13505,6 +14427,7 @@ covington = {
 };
 cprotect = {
   revision = 21209;
+  shortdesc = "Allow verbatim, etc., in macro arguments";
   stripPrefix = 0;
   sha512.run = "f4795674aa97744b0d6ed70bcae83a1ce3b41670a1bff2e67d12825154bcfd7eac2a740996bcb4aa0445697a3e4c17ef3d8606b308b7db3aea263269a7e2eb51";
   sha512.doc = "e8a5000eb9a538f95bf6df4e2d68ecd8769974192e8181b6eb40e5f48b2cc3a9b9d405d1c7b611e35c41dac5ca5165a503efb7584ee94289ed3255a9482b2b2e";
@@ -13515,6 +14438,7 @@ cprotect = {
 };
 cprotectinside = {
   revision = 63833;
+  shortdesc = "Use cprotect arbitrarily nested";
   stripPrefix = 0;
   sha512.run = "5f4a3dad026c07720a11935e5ae4fd4b6f5f060292c249224d3a45ee818063ada48778a8399b324f1f13ec4744215a5eaa4f41cbfb82e1f9503d720e3020de55";
   sha512.doc = "a8b050ddc6f3dedfd2ca6c4d7b4def6ab63d55cdb6e8e1622ce95f61aabcf2d9d8bf56c05065c9f4c49c507414273efbecb101652d372e78fef2251a87bc6bfd";
@@ -13524,6 +14448,7 @@ cprotectinside = {
 };
 cqubeamer = {
   revision = 54512;
+  shortdesc = "LaTeX Beamer Template for Chongqing University";
   stripPrefix = 0;
   sha512.run = "7c2c4548f8bbb4885680588ff113c8af96d79b5403d6cb01bebc6824745fecdd243af7e14b51bdacc91a6ee2301946ae911aa6c892d248958c1089d3fac383a0";
   sha512.doc = "f11c9d614b75a973cfd0452e283078c5af259127624f7746c0f49152da20ea016acb8842ce343cf342e4fd45f563bdadb48fc4e98cf964bb1c6dd044e610e202";
@@ -13533,6 +14458,7 @@ cqubeamer = {
 };
 cquthesis = {
   revision = 55643;
+  shortdesc = "LaTeX Thesis Template for Chongqing University";
   stripPrefix = 0;
   sha512.run = "929e1b191e8aefd67e734c49227c24ba6f4a15704d3f40aa49b1c0390796dfef36b56e7735e068fade5415838918ec712bd34cfffc9aa2981929067d73d86ad9";
   sha512.doc = "ab270eb465858de3b92248b3b884fcb648b59cc3f947e3362a445562c29e910b0a7f1e4c137aea49c537e68ba61a90d08f40ab43d3340c109e01a293505cfdf9";
@@ -13543,6 +14469,7 @@ cquthesis = {
 };
 crbox = {
   revision = 29803;
+  shortdesc = "Boxes with crossed corners";
   stripPrefix = 0;
   sha512.run = "087ae9406fd8f6916e355b51d2f4dc7383228813716ab9f6c37714794c931a9b5defa4678a4471523c5fda2c6b0b7784d11dfb488a8d9c60f0244d9d2d64ab2b";
   sha512.doc = "8927d6f60a3a895685c679e565632ee2ca68c1f2e8dfd795a481767463d88ec37579bfbd55858ce1e6e433a981de4b5140cf75489221243716cd8035a2967a90";
@@ -13552,6 +14479,7 @@ crbox = {
 };
 create-theorem = {
   revision = 70180;
+  shortdesc = "Initializing and configuring theorem-like environments, with multilingual support";
   stripPrefix = 0;
   deps = [
     "crefthe"
@@ -13563,6 +14491,7 @@ create-theorem = {
 };
 creationboites = {
   revision = 68087;
+  shortdesc = "Macros to create simple tcolorbox with some customizations";
   stripPrefix = 0;
   sha512.run = "5aaa071101c52bbd95c83b2e523ab664a2d52109fd5ebdf71da07d3af997d93cc2550736fe18dfac05348d92cbb02749f03a052954a0807fd3d2140efb322588";
   sha512.doc = "42e8ce40f037b18e82899b570e8102835a437a5283193f1e799876039a856f86adb1afe52f5b07bc6151644e9b174dcfbd96f6148e2610a0a32cb400832f3ebf";
@@ -13572,6 +14501,7 @@ creationboites = {
 };
 crefthe = {
   revision = 70165;
+  shortdesc = "Cross referencing with proper definite articles and declensions";
   stripPrefix = 0;
   sha512.run = "e3d8ee83d5c8eeb35885ac852e64df8c3e0950855b1860fd1013358626aa5968e02175e0873dadeff69eafcf14dc85bddfbe78fccbe9c784748c5e09b599a27a";
   sha512.doc = "35d45eb3ad323dc4699ee103a7efedbfb4fac371632d82e5e449a49e89ff6ee25ba9b7d86ee2ebe76c5094dbc24c0813d2a89328d28414b04ba2d20c513cdf3e";
@@ -13580,6 +14510,7 @@ crefthe = {
 };
 crimson = {
   revision = 64559;
+  shortdesc = "Crimson fonts with LaTeX support";
   stripPrefix = 0;
   fontMaps = [
     "Map crimson.map"
@@ -13591,6 +14522,7 @@ crimson = {
 };
 crimsonpro = {
   revision = 64565;
+  shortdesc = "CrimsonPro fonts with LaTeX support";
   stripPrefix = 0;
   fontMaps = [
     "Map CrimsonPro.map"
@@ -13602,6 +14534,7 @@ crimsonpro = {
 };
 crop = {
   revision = 55424;
+  shortdesc = "Support for cropmarks";
   stripPrefix = 0;
   sha512.run = "f6161e7688d8853d2d9041cfe26360b71a920028df673d04ba38f258c810021752bb7282757ceb98b2e62f7ae52a5f4abcdc61333081d77b205d5431ca62a569";
   sha512.doc = "770ab2977a4ddfdfdbac5f1107e01b8bd5858a31747d44bf0186565dc79becbefde2f34a9514dcf214b8eb781390e98d5f5383f2e70e393ddc22043d4a0eacfc";
@@ -13612,6 +14545,7 @@ crop = {
 };
 crossrefenum = {
   revision = 66014;
+  shortdesc = "Smart typesetting of enumerated cross-references for various TeX formats";
   stripPrefix = 0;
   sha512.run = "ec85888801dd66c0e1b22a257be19eb141b922975a7dfeff90ba146232a6d8b9a7b76e338b68548ae228a1317af0208072c06cd10ddebbada93b11b72907c817";
   sha512.doc = "c5d847af7f8c2d753563d5f393cd3de2936de96ebf1e653b7e0b9f72da75f3481ce1a783329f74ccf8e5f160eae81e045c663775dac916c431edafb1677b5860";
@@ -13621,6 +14555,7 @@ crossrefenum = {
 };
 crossreference = {
   revision = 15878;
+  shortdesc = "Crossreferences within documents";
   stripPrefix = 0;
   sha512.run = "e34b4d383b8398880b962cdddf248c95f2bc7187b5ed4f0caf84655a94f92b915906b150ef904c696f49f22ef23c039ee66427a03b1430f7a3d5f619f2a80d01";
   sha512.doc = "e21b294ac2b3489cc81ccc99c54bc60985d8769e297f137180a9373ad289248b5d90acf3dd9800d0690907543cf52f0532f6317ef55a43a5b55541805e2be68b";
@@ -13630,6 +14565,7 @@ crossreference = {
 };
 crossreftools = {
   revision = 55879;
+  shortdesc = "Expandable extraction of cleveref data";
   stripPrefix = 0;
   sha512.run = "50b8ce01e9bbfc1f3b4ec9093fe0b091780edbc197a9c637b98a025926600459c5f0b22f5683427bd0a4f0a6ddacadf77833f3171d2dbd45ce43dd6e1d80d813";
   sha512.doc = "0edf43d8b68decea7d83cf5eaf2f92f86635f19041680be4a511a57a7751dd40efe4b4ede05a898c2e00f91076caeb3f4b39c444d1ab8b05a4f0471913e4b475";
@@ -13639,6 +14575,7 @@ crossreftools = {
 };
 crossrefware = {
   revision = 69700;
+  shortdesc = "Scripts for working with crossref.org";
   sha512.run = "8559fe8e71e27f8417923bd2c7a73a560c29d699ddb77e5b4ac464aecf794fe0cbd02d19abf75f7063994df9ffe6e761f98555a9411e9c5108b38e96db971f1d";
   sha512.doc = "41ef79c5487826500fa9465d371c30a8ac513c94cf4852eb1bcbdf08759f5c7384189f91362efba921e9d7f3801a12d1c1968492640dd1c1cf2f1d6001cdb79e";
   hasManpages = true;
@@ -13655,6 +14592,7 @@ crossrefware.binfiles = [
 ];
 crossword = {
   revision = 64375;
+  shortdesc = "Typeset crossword puzzles";
   stripPrefix = 0;
   sha512.run = "8be92df53341bca46907f0125122e2498761880606fb42621df7b4e9f5d9cc9e9a8b74454aa254f49b6fd471b371df7f9f873d9209a94c419433b53247bc29a7";
   sha512.doc = "445ff450f4ebb1e615d0e9a7193904f4512dddf4af3b693f6eae9a115d5456202c54c291c263c37fa37d082d3403c4b7a83deff7e1ae37548efd7ad47b97bfad";
@@ -13665,6 +14603,7 @@ crossword = {
 };
 crosswrd = {
   revision = 16896;
+  shortdesc = "Macros for typesetting crossword puzzles";
   stripPrefix = 0;
   sha512.run = "889334e046aa6371df566c814faa98fdf4931c85be3d49e04d932f02bb71bffaa929614398469be04bf6426ec05ccbfcdbe0ad9798017f9504fba5f3781521e6";
   sha512.doc = "0d4d1e8c1577ee23f7fc60ab8c106121978e986945b8dd399faef4ca55e60a7ed3ba65220ef56ad11b7a100690f89692f0c1ad80c845e2aa04d81c8664a6cd27";
@@ -13675,6 +14614,7 @@ crosswrd = {
 };
 crumbs = {
   revision = 64602;
+  shortdesc = "Add a Navigation Path to the page header";
   stripPrefix = 0;
   deps = [
     "catchfile"
@@ -13690,6 +14630,7 @@ crumbs = {
 };
 cryptocode = {
   revision = 60249;
+  shortdesc = "Typesetting pseudocode, protocols, game-based proofs and black-box reductions in cryptography";
   stripPrefix = 0;
   sha512.run = "d4d85db9f631bd2f3c78654e88b9c77df7af991f304732ec92b58d08111baf2548bd7d27e6187b0fb6dac7cb0517d27ef3973293cb76088ee8824cb28b1493b0";
   sha512.doc = "8516c946f2a72a898a6320be3b9037b3e94ec1e4c4624ac0c7f67f64855308f793275d682e2c16b5566abc17ab58200ec1ddc32dbb9fe2c08fe21183bac2986a";
@@ -13700,6 +14641,7 @@ cryptocode = {
 };
 cryst = {
   revision = 15878;
+  shortdesc = "Font for graphical symbols used in crystallography";
   stripPrefix = 0;
   sha512.run = "49e1c9d0cb6909e421446230bf71123fa71b4aad1d90b1c7614fc465651f701d91f576c2edd8b6840d1c78dfa5557cd604e61a5e745e1ccb2f60bde9e66117ed";
   sha512.doc = "55c765a9a4799f719383473700a0ef5627ec8873fc9fbd4ffd191d205d24b29d57255d90687176789240a3c4a547a3a57ed341a0558d99aa01dbcff0fc7dffc1";
@@ -13708,6 +14650,7 @@ cryst = {
 };
 cs = {
   revision = 41553;
+  shortdesc = "Czech/Slovak-tuned Computer Modern fonts";
   stripPrefix = 0;
   deps = [
     "cmexb"
@@ -13722,6 +14665,7 @@ cs = {
 };
 csassignments = {
   revision = 63992;
+  shortdesc = "A wrapper for article with macros and customizations for computer science assignments";
   stripPrefix = 0;
   sha512.run = "0e5356f133fb6f3fb33ee0407a53d59330e646e4f1356c307464c45f5dbb66435d68ec833c6482673417c53d611816c4a66a5db34da6b14e327691c0f0c3590f";
   sha512.doc = "3523504d0f7289d485fd34463ab7a0ba2fcc3d4a9b2908f3853977a8b3d7fad4266fd20050d2ee8a685483f47a66e04b50fd4cbaf0788f22c1ce48d2f4b89476";
@@ -13732,6 +14676,7 @@ csassignments = {
 };
 csbulletin = {
   revision = 65250;
+  shortdesc = "LaTeX class for articles submitted to the CSTUG Bulletin (Zpravodaj)";
   stripPrefix = 0;
   sha512.run = "64d8593e12beed90aac7cffee0632b4d16d77e5cc12702600ac62a8374429ab0a35390d8046b43579855744dd4f59c458c574e173254d3cf21ee45d3eb97b4db";
   sha512.doc = "2ca7ffe0973b443a2114cdd1e171f62b845f4f0185aaa5b7c7cc2809cd3a2b927784a4fa68c9a3a28fa40f44217826d1f34165a027838d3bd9f4e0e740a294d3";
@@ -13740,6 +14685,7 @@ csbulletin = {
 };
 cslatex = {
   revision = 67494;
+  shortdesc = "LaTeX support for Czech/Slovak typesetting";
   stripPrefix = 0;
   deps = [
     "atbegshi"
@@ -13779,6 +14725,7 @@ cslatex = {
 };
 csplain = {
   revision = 67934;
+  shortdesc = "Plain TeX multilanguage support";
   deps = [
     "cm"
     "cs"
@@ -13837,6 +14784,7 @@ csplain.binfiles = [
 ];
 csquotes = {
   revision = 64389;
+  shortdesc = "Context sensitive quotation facilities";
   stripPrefix = 0;
   deps = [
     "etoolbox"
@@ -13849,6 +14797,7 @@ csquotes = {
 };
 csquotes-de = {
   revision = 23371;
+  shortdesc = "German translation of csquotes documentation";
   stripPrefix = 0;
   sha512.run = "7d4667b77f1e27acb1d3c8becaad4889910edaab4b9da6b0fe821db262f3a31672050f5985a56533003178fbf1d579d170be3fcd22c31bbf41af9bcb68fb7c40";
   sha512.doc = "1e8829faf2cb23b2e565a4b5daa5a09ef01d590d920444ee4659964bee042148ea19e9fbcb63e4c4ea1e2698697554e0bc532fa0fb7610bbf9bb4bca234d33d5";
@@ -13857,6 +14806,7 @@ csquotes-de = {
 };
 css-colors = {
   revision = 54512;
+  shortdesc = "Named colors for web-safe design";
   stripPrefix = 0;
   sha512.run = "cebeb4e7cd71ecb1a502f6788fa62284f2d9e3e4afcdc1ddce585e94683a42b20e7b9838ff5c85fc0634894898d8061e01de79e062946e943b315d2970ad126c";
   sha512.doc = "6299617c5740f104b59e850ca826a2906d63ef3564b6730b01decb4f7707828e28ae3de2d44dc851c094abb702a00a9a4cb2bc61f18f020dc37c04e189521c1b";
@@ -13866,6 +14816,7 @@ css-colors = {
 };
 cstex = {
   revision = 64149;
+  shortdesc = "Support for Czech/Slovak languages";
   stripPrefix = 0;
   sha512.run = "cc0f0d0e2af2c210cb7888e90d668016dba4cfce3ae90faf0597a7f8c2058dfe56b92b71d185705c7d3b19d53b989724a9106ab56664fd2e6f4e95da5c0a48b8";
   sha512.doc = "e84c12eed94f459a7769527197f8b4b2f638297eec5d41bc7e4e3cc86c593cf957158946eb495947ff557ff323a085212b61cb3233972238d3afa2fff54e367b";
@@ -13873,6 +14824,7 @@ cstex = {
 };
 cstypo = {
   revision = 41986;
+  shortdesc = "Czech typography rules enforced through LuaTeX hooks";
   stripPrefix = 0;
   sha512.run = "ecc9054a0866e4926277bf5f52faf97b0b07f0ea660b7c4d089a552ab57d3a900cd1d688981770df9b3a4285c3d451fb23f1b69757381f3cbdf88cf0c88cf61c";
   sha512.doc = "1ac42bcd1cadde9165f8edceadb438c4c2e91d6a89486e56e31623cf1ffdd5f38ec800d836dc90a5a6a0bc48dfac4a8ec90192319f8f046665c77e91fc51b91d";
@@ -13882,6 +14834,7 @@ cstypo = {
 };
 csvmerge = {
   revision = 51857;
+  shortdesc = "Merge TeX code with csv data";
   stripPrefix = 0;
   sha512.run = "f3f679127d912a8df32893f0afec13b21a272b6e5ed2d2c147e1bcbea5698e043d88d5dcadc0c772f5640945fdbbf4ff43655d6d4450b48966740cd3cb936829";
   sha512.doc = "b090bd51f547f16270534c2305ba68af9f86800f55809b050eea25d5566be3a3ce245ad0f79a76ed21ac64b68b6650800fba5a5ad942cc1f3f8e982f56ba5286";
@@ -13892,6 +14845,7 @@ csvmerge = {
 };
 csvsimple = {
   revision = 69494;
+  shortdesc = "Simple CSV file processing";
   stripPrefix = 0;
   sha512.run = "ef7d09c254982998b009c4856b69b263e7ee5df3b54c7513aa5459651d12989f38b1593ca9e3d4d3de51ae6cf8b02c89a8a9298213c7872157712fb4c1c61900";
   sha512.doc = "c6934e0bfc8448008c0fbe7ed06da871aa9a9073f7948551881e00dd8ca0d31f7da5132d14282a9b08564a2aa8e875f36cf67db900b94dcf4381530a2b6843c1";
@@ -13901,6 +14855,7 @@ csvsimple = {
 };
 ctable = {
   revision = 38672;
+  shortdesc = "Flexible typesetting of table and figure floats using key/value directives";
   stripPrefix = 0;
   sha512.run = "3192df463eb4d307ba886b82d586580a741da8d901dc560c06d293e04c5d5af9efff56a1482bc41b03aeaade2cc25cdf6f4dda3e1baa26da1f7d4d138f44bebc";
   sha512.doc = "a32bc9c82a87f1f9327d5cbf4c15052124608f970ecda1909aa67abcc2fb4f10bdfcbb5568d8af9332687817f6f5bd6aaa0ce4843490e8ffac22526bbe123fdd";
@@ -13911,6 +14866,7 @@ ctable = {
 };
 ctablestack = {
   revision = 38514;
+  shortdesc = "Catcode table stable support";
   stripPrefix = 0;
   sha512.run = "3485fbd1bebf80814645c1be3e7358a959637439fa17cbbf7c2478ca73c4312cab82eed2aedb5403dfe94b0cfc09ee3e9c8182c08d3708608a267da235ab30a0";
   sha512.doc = "2c74b9d2aa44b25952307e4593b4a792cb5d98b78619efef82ddfb134ee3da64de87973db30f3e5d5788ce5e6ef138fca2cabc4ed412c97cfa7b3dc6c3ed1060";
@@ -13921,6 +14877,7 @@ ctablestack = {
 };
 ctan-o-mat = {
   revision = 51578;
+  shortdesc = "Upload or validate a package for CTAN";
   sha512.run = "a995dfc6d79ba77fe673aa501f28eaf9f057c34501fa032423569317e5a4eed048c3375d806eafacedefec02e91bcb587fa6bfb8c0ff980395bb877b2ce88c4c";
   sha512.doc = "423efc3f2f850c5a9bcbe787edb8155ef76e56ce5e3a1ba3332bb465b8239616bd1fcff2e8a58db6f5ce9d5191ae3209a5451f746250a3b081fe9b35d024eebd";
   hasManpages = true;
@@ -13933,14 +14890,16 @@ ctan-o-mat.binfiles = [
 ];
 ctan_chk = {
   revision = 36304;
+  shortdesc = "CTAN guidelines verifier and corrector for uploading projects";
   stripPrefix = 0;
   sha512.run = "6eabd7281d79ff0ad19080350dfcca8ee3a33ddfa6d17827a7851cc53f09f627729c8d715a1dfe50e0c079add44331a07d543cb8b6a57000efa6d73c30f2ffe0";
   sha512.doc = "c61bc0d70cadcc4382dae55cdc1af076882801321a2de16f164223267732e476e41f949f566808c928f446d69aa22bd9965adb155c97905e32b93808810c76c0";
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
   version = "1.0";
 };
 ctanbib = {
   revision = 68650;
+  shortdesc = "Export CTAN entries to bib format";
   sha512.run = "1d89c7bab95472d993c6e685880d513f9cd4ac57af87c7656bfb8423b2e5c9c1ede851da01e638558edb37e85caca3080293a7df9b0ad9e87b2aee84a6680a52";
   sha512.doc = "760b98e3c4d7b07e2f15d7e2b1705f10eb697f5e7f2aa03de97a3ce347d7495f3595d9ed0518c0aa5d38d2eb0b20c3a889e6e66416587a4d15b89a9965986d04";
   hasManpages = true;
@@ -13953,6 +14912,7 @@ ctanbib.binfiles = [
 ];
 ctanify = {
   revision = 44129;
+  shortdesc = "Prepare a package for upload to CTAN";
   sha512.run = "6774b151bb0fb052d41d8447c7e8d378d7f31b0a5aea5f2f00b93669b8c2f629f479ae21d40480fd62f468d866cbe0c6f0dedd8a0248f8d83cd1039131849439";
   sha512.doc = "f9b636cb41b126809d808c167410a37052b1c6c385fe4eb8df3b819c0cf2cac2c7c1c74d7ea15d2916c1cbc563e078845e451000e3a08cd9a8e0696a342b22ac";
   hasManpages = true;
@@ -13965,10 +14925,11 @@ ctanify.binfiles = [
 ];
 ctanupload = {
   revision = 26313;
+  shortdesc = "Support for users uploading to CTAN";
   sha512.run = "4464bdfbf72318b24abcd88e1c25dae5925a96e867c694f3f02a594ed7b8b24cffdcdb345f0054e200a6af63f88b591ff84058af0adfb4a1b3feff2a057d9d72";
   sha512.doc = "9e027f7ce08041be7668a7a404fad6b6c7cfc71e581ad1216956d0b53c379d204bd84d2d55d186c74f784df8911770b96f934775f44f7141a5f1b9b5e773cb7a";
   hasRunfiles = true;
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
   version = "1.2c";
 };
 ctanupload.binfiles = [
@@ -13976,6 +14937,7 @@ ctanupload.binfiles = [
 ];
 ctex = {
   revision = 66115;
+  shortdesc = "LaTeX classes and packages for Chinese typesetting";
   stripPrefix = 0;
   deps = [
     "adobemapping"
@@ -14025,6 +14987,7 @@ ctex = {
 };
 ctex-faq = {
   revision = 15878;
+  shortdesc = "LaTeX FAQ by the Chinese TeX Society (ctex.org)";
   stripPrefix = 0;
   sha512.run = "39ff8931e0007a78e4fa0788d7c7fcd8f25dd4cf4fa3f34b694e681e10dfb3d804842daf45a6e56b5ff450bb965bc322dcf593bdce176ffec27f4696c1c99fc0";
   sha512.doc = "0942a249a30f97d56bf5cbac2eb4de285a63406620b825a36d9ff8d46fbccd614af488f89e2af7472f1a9075a0e2b7228bb65a5804451df6945ce6bf4287b0a2";
@@ -14032,6 +14995,7 @@ ctex-faq = {
 };
 ctib = {
   revision = 15878;
+  shortdesc = "Tibetan for TeX and LaTeX2e";
   stripPrefix = 0;
   sha512.run = "8999ea42b82e56cbb06e2485060b829a0781550834ea421607b4621199692976488f4031266eee1a6b1443b12828e2fb5148ff43eff137c01ee9db8770bb1565";
   sha512.doc = "65d8f613ddb651cef4c345791a4a849e3f672930fb94d1ba789e827b466c459bc321762c71675cb4c5fdec8fc456520bb7013d5b737b4ff2bd049bb5917a98ef";
@@ -14041,6 +15005,7 @@ ctib = {
 };
 ctie = {
   revision = 66186;
+  shortdesc = "C version of tie (merging Web change files)";
   deps = [
     "kpathsea"
   ];
@@ -14055,6 +15020,7 @@ ctie.binfiles = [
 ];
 cuisine = {
   revision = 34453;
+  shortdesc = "Typeset recipes";
   stripPrefix = 0;
   sha512.run = "cb594c2ef79a1d1614ad2b7bedff3b5bd9853bf36947751c880c36c73a458152eb7036861d0292614992623192841c28a3f4010bc0c4107fd8a4277154a1baf5";
   sha512.doc = "9e4f55bf8199b4bd06847dd39e67e91a8a6885b3903c9ea772199d9b9fd9d7cade173dff6f785d143b4e7c3b154477622a4c2cad14576b22068a6729693a8227";
@@ -14065,6 +15031,7 @@ cuisine = {
 };
 culmus = {
   revision = 68495;
+  shortdesc = "Hebrew fonts from the Culmus project";
   stripPrefix = 0;
   fontMaps = [
     "Map culmus-new.map"
@@ -14074,11 +15041,12 @@ culmus = {
   sha512.doc = "4c1217f0cd27bcd56c11006b7b3749e661aba567798b2e397a21b3b0df39a35acb6355836d4eac4fd619509b09b57c7e39a97068343b6e28005944ebf0430adc";
   sha512.source = "2dc2e6bd71ee949208625fc259cecc6a0ffdd0701416c5775cc32855a2bbf8a533238e07d4fa08c090ed3ff627613c27f0cddeb2c86eda1b320cbc68e236a6a0";
   hasRunfiles = true;
-  license = [ "lppl13c" "gpl2" ];
+  license = [ "lppl13c" "gpl2Only" ];
   version = "1.1";
 };
 cuprum = {
   revision = 49909;
+  shortdesc = "Cuprum font family support for LaTeX";
   stripPrefix = 0;
   fontMaps = [
     "Map cuprum.map"
@@ -14090,6 +15058,7 @@ cuprum = {
 };
 currency = {
   revision = 48990;
+  shortdesc = "Format currencies in a consistent way";
   stripPrefix = 0;
   sha512.run = "d975cbe846ad5708a3558252094f4568c3ea4c5bc840dea7ade74eb8f6d90f4527b417a875a7bc286010473078d895cf510560f1287013e70498c983c896750b";
   sha512.doc = "1f32fed0bf778b3460e094239afd76b4be9915be8a3e8ea20b7e48b02f1ffdcffdd1e588a507b8145ed232a38cee43db1bac0e232c472d5b5dd85f1cf3954c8c";
@@ -14100,6 +15069,7 @@ currency = {
 };
 currfile = {
   revision = 64673;
+  shortdesc = "Provide file name and path of input files";
   stripPrefix = 0;
   sha512.run = "4c63d6d33c21a0ac9aed990fa79eb1457908d9301dfb81b3dc7167d5b8089ebd20abfbcf29380a7dd348c6ca8c131260e366aa55819a6affde146408a8e80014";
   sha512.doc = "e891b03438257ae5e8eb3b6bf21a44b05df274cc18877a6c39569e94dcc9f5e678aed5a5858eb2e9762b4a8ac6b04856839dd47d81b5de55e4023a369e09ba7e";
@@ -14110,6 +15080,7 @@ currfile = {
 };
 curriculum-vitae = {
   revision = 68211;
+  shortdesc = "Lightweight class for CVs";
   stripPrefix = 0;
   sha512.run = "a650807bb2a12df8460ff4b450af6bb7122a8629aa72d5e180e196ed3f904ab70e04fe0ae79474649d22534a0a7cf0342f4a1ff953355b8003e9d8eea0016d10";
   sha512.doc = "5c07bdfa540b65a6df224bea38b5865e44f08ce042e4b465be83f580a08976236442d7bb96573ea8c5b089aeff8f02e2a9b556997a24a73d264a557e775f8d3e";
@@ -14119,6 +15090,7 @@ curriculum-vitae = {
 };
 currvita = {
   revision = 15878;
+  shortdesc = "Typeset a curriculum vitae";
   stripPrefix = 0;
   sha512.run = "c555b0e9c7a500e086f0435a2dc6cde8da8b02df4d27be14534d28c77c1f546aafecb863bc652922e07191d0441a77db647f8d1d11e33ec9bc6014f73a5822c2";
   sha512.doc = "b3de1ad371cead2829225015d60a4defe604e63890ef06da65fa9223cce4e748707f0b6f4f0b0dcdf22c3096e381adc3432a7b21b36f834c18ae4eb32bfba024";
@@ -14128,6 +15100,7 @@ currvita = {
 };
 cursolatex = {
   revision = 24139;
+  shortdesc = "A LaTeX tutorial";
   stripPrefix = 0;
   sha512.run = "6c58f5a0f6fb8f129e202b786c258ba088efa44639f162b9e0109182072c16bfc6ba928953d6e9b31b2b1c2f693fe064476095c232dcb9e0c6bfcf18bfb7994e";
   sha512.doc = "a0f726330a5b2d8da94cbf25fb1b1a2b22e5e9010e0cafdfdee3781bf518f0cb48adb27dce0fe2e46572460f8c1749c0db1c16e06343cabb8cb94227e3da58b6";
@@ -14135,6 +15108,7 @@ cursolatex = {
 };
 curve = {
   revision = 20745;
+  shortdesc = "A class for making curriculum vitae";
   stripPrefix = 0;
   sha512.run = "9d318d35ef04d171da1c36ab4646465d4aa0feebd90fd3e97db5f1cf09c28c174d0c3be288c369215812f51ca83b341abbfdf3fa44458d1994cf68dfaeef0615";
   sha512.doc = "7a56d7c3bd8b9b13ee675b99a2f5a8a27fb3dfd81dc5225f3a880f338d5390c893ca887cbbcd9ad8deae2a1d6b6620ef664ea64384f93fd93a75a5c886641a2d";
@@ -14145,6 +15119,7 @@ curve = {
 };
 curve2e = {
   revision = 67599;
+  shortdesc = "Extensions for package pict2e";
   stripPrefix = 0;
   sha512.run = "36b8d1ebbc07ea1cb78b85fe2c327a4c932ef0a88881ef9185654cda6865ea5ca017aeb33334f603fad74fa0245a531f50e2016c912da4355cb552ee5e069f97";
   sha512.doc = "d28134fe19310084b6ffee13bea26b7dd131789a124041cbecb500e070bb134db98d4cf01d7d970781ad1823327f363fe886be9615d3458ca6763fbd7039f0db";
@@ -14155,6 +15130,7 @@ curve2e = {
 };
 curves = {
   revision = 45255;
+  shortdesc = "Curves for LaTeX picture environment";
   stripPrefix = 0;
   sha512.run = "b2ac96620bdcae2263e0ff37ef0975fc705efd2ec30fa53a5cc50d54378cb29c6ef44543cc321e6cb37dfca0ea9a6cdf85777825703b866bcbad9729235c9722";
   sha512.doc = "afd68373952dbf2a97944bcd7b36dcb62d5b65727c660af56dd8da97137ef4845037988e211996289fb54efa435833fa4a503ae4bba70ab38cd6e55f1966db1e";
@@ -14165,6 +15141,7 @@ curves = {
 };
 custom-bib = {
   revision = 24729;
+  shortdesc = "Customised BibTeX styles";
   stripPrefix = 0;
   sha512.run = "95b485e330c97242bbea4b989ea9e70882d796f7ff8fdbb10b0627d102ef6177c8cdfca976a89853170a9171a69499c58711d1deeb0e420f9cb268e336d4f663";
   sha512.doc = "3d5fe696f095ef5661418e3066f2f98768968eddbeb24ce9ec84647b78452f97482ae1dd17cd9c84cfb81fc4a43052b05ef6aa4080e32a464d2ba4e8ce33869b";
@@ -14175,6 +15152,7 @@ custom-bib = {
 };
 customdice = {
   revision = 64089;
+  shortdesc = "Simple commands for drawing customisable dice";
   stripPrefix = 0;
   sha512.run = "d537d8357fa1d718f685d3bd05afe849eaffcd63050b8ef5f85dfea39260b9268e7ed12e727ac3a14a7194f21e4de158bc0a8143408c45e5f3718ea143a27aff";
   sha512.doc = "7512a7fa81198895666d135bd50d75345e8d7152289f51126fa3fb68a028f05666d4807e63c82db5068a9aeaca11fcb06d7b0edd4d77804bee195409bf042144";
@@ -14185,6 +15163,7 @@ customdice = {
 };
 customenvs = {
   revision = 68637;
+  shortdesc = "Custom environments (MCQ, list with picked items, ...)";
   stripPrefix = 0;
   sha512.run = "d58a216909f8bf7c425f0836c05842ca918b03b928a57ab06223a82fa588a3bd3d515f6beb5ed27330d5566192a234a08385ac387563db8ad171b928749b488c";
   sha512.doc = "d807f71f40367888621fefb52ff3fbba1d5b301b670710461b0feb79eb61171ec6208de41ea15ab39c14650734f2ba6a2c5f89182f27072c87c9564fa462544a";
@@ -14194,6 +15173,7 @@ customenvs = {
 };
 cutwin = {
   revision = 60901;
+  shortdesc = "Cut a window in a paragraph, typeset material in it";
   stripPrefix = 0;
   sha512.run = "922ab4c0f1158fa699c883e0fd8ed942a077c3b3109b048087756895d0ab6ead05182fbe17ab19310b78691fd77444d1460c7e021689c2eab092ed82974ed6d7";
   sha512.doc = "f37bc538e4affa716aa315535fad7fdb2bb0e5188844d028b8bda4935339965e3f375439ab0abc62d63f2f57c3d439a25888f29cdf3be484092a57ff86c86c72";
@@ -14204,6 +15184,7 @@ cutwin = {
 };
 cv = {
   revision = 15878;
+  shortdesc = "A package for creating a curriculum vitae";
   stripPrefix = 0;
   sha512.run = "624d9bd1578e0d2e40e2ca76cd97d7f44d9da5c71daf737e06e6b6b15c64911af17f0da197afa17b5ff3b145461cf7efb058a5cbcd02e7c21642e660cfa3ca4d";
   sha512.doc = "c04b207a635f1b6f76e316284da987b45fd4387961c59b7b1f1b947284937f91f4d95ade824195d1f0db00766fec870e6859a6dd27cf3b6b426d095866f17d6a";
@@ -14212,6 +15193,7 @@ cv = {
 };
 cv4tw = {
   revision = 34577;
+  shortdesc = "LaTeX CV class, with extended details";
   stripPrefix = 0;
   sha512.run = "607745abedd1325c59bc8ae360a1c5d00834ec7bd050b057ba5427c135f17046027da3fb6130a0718e8d33bcab74eaf235f2de7a1ace483da1af87be5e559867";
   sha512.doc = "d9166421ab15d7569a4db66970486c78af43ddbda9d7f9c9488dbc46eed91ab5079c0f9b7851835afeed6045ee4c65c888e1be93a95cda14623405847267880b";
@@ -14221,6 +15203,7 @@ cv4tw = {
 };
 cvss = {
   revision = 65169;
+  shortdesc = "Compute and display CVSS base scores";
   stripPrefix = 0;
   sha512.run = "563d310188adc99e14bc93772f8f94af0741665c15d8013d9cc98fa5d86129d48b62473835973bba90fcb4117fbd782b029b87045e5b392fabd308c8f1a6de42";
   sha512.doc = "604139dd0e636b5b050d07417f7990c741e7400c7c656d76fb15d56a76b869a2805e43236ac2ea062826df5f102753c8f1450a4e09b24dbc2f96b6668975bbe3";
@@ -14231,6 +15214,7 @@ cvss = {
 };
 cweb = {
   revision = 69586;
+  shortdesc = "CWEB for ANSI-C/C++ compilers";
   sha512.run = "6ba6d7e560abe642d30e4b9eab349eeb0135666a8f6f27d1e0e12d825048ec772305e0870edbe85dd3b977fb3e3ea0c7d3de84d9c6a02316be9691092c6b34bd";
   sha512.doc = "306eb00fed91a6a7ec679b9ffa46a9f5a8747817cdb3230accc5f322505aa928bb670eac09c77b508186cb3e308ac347bea3107ea0a5dafa2aa6075555e0c61d";
   hasManpages = true;
@@ -14239,6 +15223,7 @@ cweb = {
 };
 cweb-latex = {
   revision = 28878;
+  shortdesc = "A LaTeX version of CWEB";
   stripPrefix = 0;
   sha512.run = "5d94dd53bf3212967ae38c094115c4ae581ec15a49e3d0f64be311cd1aa190eb9efdfec2cd83bbc3bd89250efef9470a6a6af342247fb9670992546a976a5886";
   sha512.doc = "16c8cd2681e216084564cec718401b9e8d98228e6597d38c42f8ef4cc4775e8e606fa11c84d21f0450d85ee18c7ed1e5fd9e1f54bcd0e8c2927b1147ecd4591b";
@@ -14261,6 +15246,7 @@ cweb.binfiles = [
 ];
 cyber = {
   revision = 46776;
+  shortdesc = "Annotate compliance with cybersecurity requirements";
   stripPrefix = 0;
   sha512.run = "f79e9ce92036c8a106de0a5da06f5c2b833683527f1225f5b69298b6d886cb967f9d1eb459b7a0543d89b0943a8425dc802619fadb9d69aa4f57a5ccc71a593b";
   sha512.doc = "4dfc2289e92552dde5cd1703e5644e6a19f4281dd16cb80d86caa35cfbc07eaf0f5cd57686e185adafce3883433fc87b1fcb590cd65087571115dd4b98023d02";
@@ -14271,6 +15257,7 @@ cyber = {
 };
 cybercic = {
   revision = 37659;
+  shortdesc = "\"Controls in Contents\" for the cyber package";
   stripPrefix = 0;
   sha512.run = "f3bfbece973cb3b9a3077c160b0212561056cbf7733e1c011b39fa1dbf94395937f4858964acd0874f1cd3ba283df9797cdf19e8e71e7363a7619c5ae653881c";
   sha512.doc = "dc72453f55c6a72913865f584b026baf287a35885548ee5c2c8d29cefd60595f4aa9f7c456f59ebf3ed3e3b72711beaf90cf85f24c2ce6773146fd2a4724767f";
@@ -14281,6 +15268,7 @@ cybercic = {
 };
 cyklop = {
   revision = 18651;
+  shortdesc = "The Cyclop typeface";
   stripPrefix = 0;
   fontMaps = [
     "Map cyklop.map"
@@ -14293,6 +15281,7 @@ cyklop = {
 };
 cyrillic = {
   revision = 63613;
+  shortdesc = "Support for Cyrillic fonts in LaTeX";
   stripPrefix = 0;
   deps = [
     "cyrillic-bin"
@@ -14306,6 +15295,7 @@ cyrillic = {
 };
 cyrillic-bin = {
   revision = 62517;
+  shortdesc = "Cyrillic bibtex and makeindex";
   sha512.run = "30d3bdb0f92a0006613dee654714818b6961207029982d62b9933829b3d044bea0b2d9a30d0007dac23c08358a7ada2df9ac25ee92398cb32d47e9c29c503c67";
   sha512.doc = "91da42251e165d17507b37eb48b35e157c75b06fa8822c9717fafd5e7aadc60bfeb084dc30a5ec32df22ae4e69c03c3f00e8a243d187881212ffe62c96b6235b";
   hasManpages = true;
@@ -14317,6 +15307,7 @@ cyrillic-bin.binfiles = [
 ];
 cyrplain = {
   revision = 45692;
+  shortdesc = "Support for using T2 encoding";
   stripPrefix = 0;
   sha512.run = "84651aeb63d3e47f208732f3c0d54ba86862d0ff7da7c56b3d8b8d1b49b6b88ed4c5f9abfb4c1c9d8a1ef8a455632aaa69408651e238bdc4aeb4eb7709f62096";
   hasRunfiles = true;
@@ -14324,6 +15315,7 @@ cyrplain = {
 };
 dad = {
   revision = 54191;
+  shortdesc = "Simple typesetting system for mixed Arabic/Latin documents";
   stripPrefix = 0;
   fontMaps = [
     "Map dad.map"
@@ -14336,6 +15328,7 @@ dad = {
 };
 dancers = {
   revision = 13293;
+  shortdesc = "Font for Conan Doyle's \"The Dancing Men\"";
   stripPrefix = 0;
   sha512.run = "f570e4c775a7e4cdbeaf2ad764ee147a685b5332369aea29175a76fdc9fb37f052da295d20a177eda8e4b8352d733034eba36882c2507fe804d7b996c0e0537a";
   hasRunfiles = true;
@@ -14343,6 +15336,7 @@ dancers = {
 };
 dantelogo = {
   revision = 38599;
+  shortdesc = "A font for DANTE's logo";
   stripPrefix = 0;
   fontMaps = [
     "Map dante.map"
@@ -14355,6 +15349,7 @@ dantelogo = {
 };
 darkmode = {
   revision = 64271;
+  shortdesc = "General Dark Mode Support for LaTeX-Documents";
   stripPrefix = 0;
   sha512.run = "f844ce29d5147d9a558f257bfd1a6c32f2f1de1fcca4f3319d22528da052fc228e61606623820fe078db208509774dfc87dcd82058a2e744e703d03edc0bdec1";
   sha512.doc = "db103f2257b3d844592ba12c0e2c22d6ae97e8dc5e47521392ddd59951d9f9a56004d0891f0a5e84d511ec2043f1fa26c4cca4ddfa23ef7abea39637e6d54a99";
@@ -14365,6 +15360,7 @@ darkmode = {
 };
 dashbox = {
   revision = 23425;
+  shortdesc = "Draw dashed boxes";
   stripPrefix = 0;
   sha512.run = "a52bac248fa26031db34686e57cd3c9be90bc18b41339d7e2dc85a68de1de23a627648599e5fdb207d3364b2b4e3651aaf9c2d90e6c3bd0f0fdcaa30fbc8932d";
   sha512.doc = "26672278ffdbdaee64b82f4e7554b5664ca3410ce8009454cfc229e3590439b4a4e212b77568605adda885761f5ad456bca022f198e259ff9a33b8e0abc1ea6d";
@@ -14375,6 +15371,7 @@ dashbox = {
 };
 dashrule = {
   revision = 29579;
+  shortdesc = "Draw dashed rules";
   stripPrefix = 0;
   sha512.run = "4b1b993e9044eb2ed4bf6bde0c114b0cd1fe7daed38f8bc5d3e25a2705d55cb41b8a372cce84b0d61093044d970003a4317de98cb468978c8cb1a8315f980940";
   sha512.doc = "f45e0785d7c6522683e724ca27f7505e3da6bf5923d5a8c71a75ef8c67ffba8a4e4711b91b64f25dca95566448cbf74b5937dcecc73f5ec0aeff7ace8d0e4c1f";
@@ -14385,6 +15382,7 @@ dashrule = {
 };
 dashundergaps = {
   revision = 58150;
+  shortdesc = "Produce gaps that are underlined, dotted or dashed";
   stripPrefix = 0;
   sha512.run = "c3ecf5c63fad14f82228913e0b12c6596a9aee24b6de3419a4e95de8de94e40e3d43c2b163a30cf221602ad9c1aa1c3ba42429ac2adac9d13888d74ee1f4e900";
   sha512.doc = "88ca6be34c5d68ee4f983b9385bd83047e59bbeb94af12d2bd16105bc8afb99b8e6db9d0e25717fe5bd517d7e834d8795bed30ba24455d8f09760d1ad2c47803";
@@ -14395,6 +15393,7 @@ dashundergaps = {
 };
 dataref = {
   revision = 62942;
+  shortdesc = "Manage references to experimental data";
   stripPrefix = 0;
   sha512.run = "da099bb462ae2698784097cb04268b039f0900fbe57d77284532c0ef694c50d422436e5e0d8ffdc9442b98c12d52c72629b29f772b0d66f226ebabca579b2249";
   sha512.doc = "6f51ed66ef467438a856ed22a7644d2bc574c789e89025cead65393d701abaee299861873d97c9509522ac7e478a35693e34d2afc0bee3d08d862b11992e4230";
@@ -14404,6 +15403,7 @@ dataref = {
 };
 datatool = {
   revision = 52663;
+  shortdesc = "Tools to load and manipulate data";
   stripPrefix = 0;
   deps = [
     "fp"
@@ -14420,6 +15420,7 @@ datatool = {
 };
 datax = {
   revision = 61772;
+  shortdesc = "Import individual data from script files";
   stripPrefix = 0;
   sha512.run = "04de65ca5219e0e3b53fd0c0b92fa514bec77be2f889e48ad100f93113f54e738016fdd93ae59d79ae7f4ea31108efb9cbac87a6db010b71008fb17dcfa19900";
   sha512.doc = "e1dd35b5dce9a4ea5b1bb9d9db14b8e6b6f8ab1a8f374079c2328862fb231b4eb69a05e1bddac424401d063925b4a75a9994000ee4c36c43e3fa6344badd6f5e";
@@ -14430,6 +15431,7 @@ datax = {
 };
 dateiliste = {
   revision = 27974;
+  shortdesc = "Extensions of the \listfiles concept";
   stripPrefix = 0;
   sha512.run = "6da6a802994a06e040d43ac7fc9db0515d9273ba9d4cac061e04b05922f9eb9fecaf138eb641b3149be7b98f9139c428084b6470bc177a020386e0dc053427b6";
   sha512.doc = "53ca32cabd7e3a32d02c77beb076b08ccaa782b6a2ae249b932242987741f0e255bdc83a2b6ccc7ed2e0efbec66923798026040745152f7244984a0843c8c23d";
@@ -14440,6 +15442,7 @@ dateiliste = {
 };
 datenumber = {
   revision = 61761;
+  shortdesc = "Convert a date into a number and vice versa";
   stripPrefix = 0;
   sha512.run = "5c7d23f949684000d0e38855e11e4869433c33f82fc42da0568d4b74fb0e69fe3fbcd5f72516222059ee446938144c18b10552290e24e077f2e624286e729d28";
   sha512.doc = "18f2573f8c02685d20085c31384b75dd1ab5a47a5bb2b9dcda036a7cd1ecec80db175a674c1f148cd51a078721ed88a3c9b7a0915acd7c023c02ea9a16e2a1f2";
@@ -14450,6 +15453,7 @@ datenumber = {
 };
 datestamp = {
   revision = 61719;
+  shortdesc = "Fixed date-stamps with LuaLaTeX";
   stripPrefix = 0;
   sha512.run = "558e8ec60ec317f8342efd63d0146b92e43ca37a772b8fb200a40234d48a71e5374cb3f3f15bfdef129fd1fee8ed27491bcb8b69ae2b681abee72a3dcb8f18af";
   sha512.doc = "d9627cbb294f0bcb96b019d3497b12ecd4b4eb656a1dfd70d1adc6cc4cd217bed9d4f9e209497c683f925cff4063d759b02b44bfc1f38421a9044aa8ef8bc988";
@@ -14460,6 +15464,7 @@ datestamp = {
 };
 datetime = {
   revision = 36650;
+  shortdesc = "Change format of \today with commands for current time";
   stripPrefix = 0;
   sha512.run = "3d033ee164d52f7085bffdc12f2062be7e94a644d9ed731b4d1b97a3a46838dabadcf6687063e165c65fc938a51a4adf8078339b720a305175d6cd6a3b889f07";
   sha512.doc = "510449d17b09d9207b76e732b5d426121888cf653f29bb3be8872b74a243596ac339f09d11a14a4a3007f8818171aab28727cd1713ee35c8908d2d168a57d9b0";
@@ -14470,6 +15475,7 @@ datetime = {
 };
 datetime2 = {
   revision = 63102;
+  shortdesc = "Formats for dates, times and time zones";
   stripPrefix = 0;
   deps = [
     "etoolbox"
@@ -14485,6 +15491,7 @@ datetime2 = {
 };
 datetime2-bahasai = {
   revision = 46287;
+  shortdesc = "Bahasai language module for the datetime2 package";
   stripPrefix = 0;
   sha512.run = "6bc05fa0f1cfbf05008de715f9b278948272cf7894e8c29b52b6ee4ba436e01e5588356fa020fd5453ed2e9bee185cb46c54ee3e808417782587c9509bab17fc";
   sha512.doc = "d9542fe7057b9972c6e0b9ebc1360c2fde8f9b3538e70efd7249f0bb344f2d5c2845acac9ce39fec6f9f7197b47e65496ffc662b9f3a3044829e4709d6202995";
@@ -14495,6 +15502,7 @@ datetime2-bahasai = {
 };
 datetime2-basque = {
   revision = 47064;
+  shortdesc = "Basque language module for the datetime2 package";
   stripPrefix = 0;
   sha512.run = "73d7dcb4a2d13d4ad4747d4d2a19b839bd9a1bd55793657315832178091357f61d9b748d5aaefd317baa7f52df2a4926dad6196d11d11cbce0df78168b2ad380";
   sha512.doc = "ce083f982f95f5e4beb33a706144d26f6f09de8ede946ac89d28ad5e5c75f9a475e4e9bca5fbc7773ee90a91ca095f0b1a9908fc0f74fcbb4117ec7511d603b2";
@@ -14505,6 +15513,7 @@ datetime2-basque = {
 };
 datetime2-breton = {
   revision = 52647;
+  shortdesc = "Breton language module for the datetime2 package";
   stripPrefix = 0;
   sha512.run = "725766f3227119012a79807c5909daab83e8056718cc4e116d8992d13e11867439d71392cdd8a2118f2d8ead61b1d36af5ae42438f8ca68f26ea14f0bb7cd0c7";
   sha512.doc = "f421a467caa9202ec50678d398e31e1c4cbb4e98805bf86114c97fd49479670e825c1c091955a41056adf0f9c7596dbf5dd14397326c1b88fbc2b6f75ec8ec55";
@@ -14515,6 +15524,7 @@ datetime2-breton = {
 };
 datetime2-bulgarian = {
   revision = 47031;
+  shortdesc = "Bulgarian language module for the datetime2 package";
   stripPrefix = 0;
   sha512.run = "fe0cf5eb73c5253467a8d2b972cc20825b5179ccd3964f64656ee8f4fa5d7fb7bf1660a7e79d58c491fe74e8c9421b75c177d4c8bf7309782c81ddeb69ff1203";
   sha512.doc = "f07df79af157b8ed471f5c8021719d8ac4dea9075885cc42ed0d64405692efc5ea59b6a77448225aee477b8fb05d564ce9155b7e1efb3d9cd7b7baa794783cb7";
@@ -14525,6 +15535,7 @@ datetime2-bulgarian = {
 };
 datetime2-catalan = {
   revision = 47032;
+  shortdesc = "Catalan language module for the datetime2 package";
   stripPrefix = 0;
   sha512.run = "7a414761760e3fb61ed12c656a88b6ae4d36b8268998f10ffc85a9cd362a6ee60b73b37c0994aa47603e805d785a3a0faa7266efa46c3e017535b864f2282e5d";
   sha512.doc = "d1613bf5d8a35f69bf3dde127a764434b8527f0e627cecbdda43490642cb8d0a10ae629bf5f1359b7a87c12b3845bd468fb2c00b508be1d2cd80b6ad98904ebe";
@@ -14535,6 +15546,7 @@ datetime2-catalan = {
 };
 datetime2-croatian = {
   revision = 36682;
+  shortdesc = "Croatian language module for the datetime2 package";
   stripPrefix = 0;
   sha512.run = "603052fb5cff6ea8fa5b951623efb1fc72aa6583fa1ed560b4c5266ce96cdd209423773ee0d3a592465247343f3fff966d7a9cd9698e02e339d5a1c579591f37";
   sha512.doc = "a56060b84fc6d2917fd0cf160f0405104a3413e02456ce91cbd97aebd746b0e91c730d2e2e4bbbb46f39521b5c6cbc45558bb4327c7260719ce21e8226fe5910";
@@ -14545,6 +15557,7 @@ datetime2-croatian = {
 };
 datetime2-czech = {
   revision = 47033;
+  shortdesc = "Czech language module for the datetime2 package";
   stripPrefix = 0;
   sha512.run = "048ffe6258ce1d4bf9d098e7623d3c5e25ef8215a538e33806c4d35d6368fda81941ff9adbb394085c9b4f058fe9a3b02cbeeaae8cb1f7b2bb55aaa35c743d61";
   sha512.doc = "976e98000a80e15a4ea5204f15a5288781ab35089bcd9427b62fb445f28a25ba0c03af4e64a3de688a51c5c94788732fa199705a68de3e9925f1db4ec7dcead7";
@@ -14555,6 +15568,7 @@ datetime2-czech = {
 };
 datetime2-danish = {
   revision = 47034;
+  shortdesc = "Danish language module for the datetime2 package";
   stripPrefix = 0;
   sha512.run = "b9e5b442282fcebfc114a772af8317d8888cdf24cd5cafebd5d3c79e3ea8790a4fd082c2facc1a466e7e5b4266b0d93ea5fb6cae64f96f3d131fd4869a465a4c";
   sha512.doc = "1d933d9d48ad6ef3dd0716fce0b2da6de6700bcd8c1d729d8216145dc5f243ea83323b0fefb6adeaf10a9fb264343e1b429044aaf86e6a77a121b0c951c2c77a";
@@ -14565,6 +15579,7 @@ datetime2-danish = {
 };
 datetime2-dutch = {
   revision = 47355;
+  shortdesc = "Dutch language module for the datetime2 package";
   stripPrefix = 0;
   sha512.run = "c14fcbb882183095c60f0e881ad1668f90855b90cce352922a562371bf2cdd556bd196ec85068775b9aec590f098c956c784b98da283ee1117bec68ee585f5fa";
   sha512.doc = "e5f2fe126eaf87ef34dce686db6e9b9c3c322a2266293517e803435dfa67b55da6a771f6c7253203dcae0dd1237096093a6463f6bbbc096c108b73bac4a641d8";
@@ -14575,6 +15590,7 @@ datetime2-dutch = {
 };
 datetime2-en-fulltext = {
   revision = 36705;
+  shortdesc = "English Full Text styles for the datetime2 package";
   stripPrefix = 0;
   sha512.run = "19f08e264921b8b12def2b20bb1d904f90dae712bcbe579a9697d1f657f148ad8311c6d7a8621f336dc82518ec64438640b49776fdab62f302b0919cc7de8e4a";
   sha512.doc = "a6ed1e804d8229d735aaf1874458dda3206ecb5e648c35af82a1d3fe524e65aeb7669088dc4bd9fd83919263d59035fd539a8318a24b2bc2470f14670e28eced";
@@ -14585,6 +15601,7 @@ datetime2-en-fulltext = {
 };
 datetime2-english = {
   revision = 52479;
+  shortdesc = "English language module for the datetime2 package";
   stripPrefix = 0;
   sha512.run = "2faf2dbcc9e49a9c30e5af599a26bb6925c6cb6831c1eb38bb58e08f50314cde1f3ebed343fc43ff50c6338a089caf90b8aaa53093f1284c583ba217c25cafa0";
   sha512.doc = "ff904eb3279062f6573aa0190bd2f7426a18f4b67564b9b10673a88c4583c580cb88b33ccbfc0c8a979b10f6d2379bd22ad8483f19b1c4baf3f66e06d2ec52f4";
@@ -14595,6 +15612,7 @@ datetime2-english = {
 };
 datetime2-esperanto = {
   revision = 47356;
+  shortdesc = "Esperanto language module for the datetime2 package";
   stripPrefix = 0;
   sha512.run = "6406e5a6708c1c97da6e0f8460ba70d61c403875497c57008013a3d1a8a9100b344b3d7267ed869f777566aa403110e17d778e2a47b3970846324bf08e8ae046";
   sha512.doc = "c200c3f39ed756765876ca5655b99025a898719f9723a996bd4772974643e0421edd8d36a8eeb00d29dc75ae715fb55927e31f067b1159bbb1f4dd218de780a7";
@@ -14605,6 +15623,7 @@ datetime2-esperanto = {
 };
 datetime2-estonian = {
   revision = 47565;
+  shortdesc = "Estonian language module for the datetime2 package";
   stripPrefix = 0;
   sha512.run = "93e8ebc62b48da8f5c159822f53c35aaa2cbd2fb6bc701108cf6452db7eca3df39de3c1ba9b84136683d22d65a975dc138aace0a81960d1c9382309a4cee5f3f";
   sha512.doc = "268b873d870ff19a3151d4244b0329994e559ab61198ab3d76d830b1bdd6a05e8b5a7a7df2fd6eec8d57b9e28626f80af755b1866f4ee90eb0c7e94b85f3c087";
@@ -14615,6 +15634,7 @@ datetime2-estonian = {
 };
 datetime2-finnish = {
   revision = 47047;
+  shortdesc = "Finnish language module for the datetime2 package";
   stripPrefix = 0;
   sha512.run = "45f971bd3711d1424b002f32e0535465658e50cd9abd9758faa3685aad6a6e74747e7b3cc840a38968ef49ecb91b3007ec678f63f0c0ad3b77ae0c39bdab2457";
   sha512.doc = "01470814a87a5c87bb54b17a763011872864aad8d1f78f82c2325defb7f135daf34aa2b721bb4cbe7ec80efcf839372de07c29245ecc477708fe60f3d501a258";
@@ -14625,6 +15645,7 @@ datetime2-finnish = {
 };
 datetime2-french = {
   revision = 56393;
+  shortdesc = "French language module for the datetime2 package";
   stripPrefix = 0;
   sha512.run = "b786e4534dad90a76fccae091d86396324c4f5ddeffed4a2aa44d2df53cc3a05556265603accbc5f07bd1464f00caa9fd5ddaec0faf8e10b4edc9ea036c3f82b";
   sha512.doc = "6744ddc0a8cd6f190de4462a4629d01b57d3a3bbd33f7c2fda8529685316565a579903bcf4192b5e811cb879eb01427c3d03c9c94ea59828b03f1763ced586c4";
@@ -14635,6 +15656,7 @@ datetime2-french = {
 };
 datetime2-galician = {
   revision = 47631;
+  shortdesc = "Galician language module for the datetime2 package";
   stripPrefix = 0;
   sha512.run = "050dd3e5db5aaae106804a315e679cdee0a4e9fc2d10481f21059c410a73492d6e41d9db070bbe5112377a4f1dbec3345bc5f87efba998130cb20e31a443bf34";
   sha512.doc = "881250aaf53eba33ee223e5d87f0d8d4081785ea723d5f2e605d04767aed63b2fd8a592eabddd4343c489f1abd809218c600aa5df2447b24bf0465e7a31c8ff5";
@@ -14645,6 +15667,7 @@ datetime2-galician = {
 };
 datetime2-german = {
   revision = 67201;
+  shortdesc = "German language module for the datetime2 package";
   stripPrefix = 0;
   sha512.run = "1c020ab84d3c6f5b5dfa8170d9be8344c6a63bc3a7f462b29697fbb892eb4061a502801177bf21408f3a6eb68fafb8b77711c125d23e662ce1510f75117c1d03";
   sha512.doc = "f050add5492691986f50007fcc48fc36a0a19e6a23303062c5a865be753e0c56f4f5f955efc22c4c838fbf9af79f91e0f488e00027f4bed045af483ce06cd24c";
@@ -14655,6 +15678,7 @@ datetime2-german = {
 };
 datetime2-greek = {
   revision = 47533;
+  shortdesc = "Greek language module for the datetime2 package";
   stripPrefix = 0;
   sha512.run = "d067dc579e739c8ebfee602d667042c4727e73595fc199197d58d0c6caad4460401bc9d08965292b36811e38be5424c22d6dc4f49c4a9682da3ef34d46e35cdd";
   sha512.doc = "5025cf0113e24efaa2bc413da5d2c14c58ead82ceb07fedad299783c5e445a40295d54e0d5ef3a5937586c484ccaf80e40fcb95e5592266fc82e5e52966af6dd";
@@ -14665,6 +15689,7 @@ datetime2-greek = {
 };
 datetime2-hebrew = {
   revision = 47534;
+  shortdesc = "Hebrew language module for the datetime2 package";
   stripPrefix = 0;
   sha512.run = "c9bfe10e1cda7e3890cd79fac15a8f629ece47971caa43229fe73236e80e1f476411aa4d05be61f7f03bc34324b114ccac2585b83cced2d38a28f279639523d1";
   sha512.doc = "636dd01321842cd0ae1c3a1ed8ef41e1704d720aeb830f03a93c921c4735c1913211a1d987a1b430e312c57440a11cf8cb80f4336b4770a13fddbd9d6a5c3cbe";
@@ -14675,6 +15700,7 @@ datetime2-hebrew = {
 };
 datetime2-icelandic = {
   revision = 65213;
+  shortdesc = "Icelandic language module for the datetime2 package";
   stripPrefix = 0;
   sha512.run = "020254357b8f32dc146018f3eca4080f239203128671d8e99b712dd038e39bfbdabbabc2e62bf0782a86a3f5c6742d8ae130dd589cc6ea28f87a3ebdc9e9d994";
   sha512.doc = "e3cd7b3a0d8ef17d5b5baee057a0b5c4a445c3b8ebd2894b27d5dea9e7373fe4798bbd48b83a1a96704661b935c3196f52ee8b21d624a91ad75ec51e5a246aef";
@@ -14685,6 +15711,7 @@ datetime2-icelandic = {
 };
 datetime2-irish = {
   revision = 47632;
+  shortdesc = "Irish Gaelic Language Module for the datetime2 Package";
   stripPrefix = 0;
   sha512.run = "8c1d54d5fc80b2f7dd8faabc31df20253c9ee48987c268ae685144b02acccb5c3ec6bdaaa5bc420e90ecf4ec7d421afc96d82aef1a76ec7e01fb8e5f81d0a036";
   sha512.doc = "692acb7c50c30e6790344b37e9fe3cb07f2a0e10b9d63b47c78df1b2d1bd1f8f186107acf4d75dabc14a99db57cb32810989bf7af817bfdd16fa694bfee5f17f";
@@ -14695,6 +15722,7 @@ datetime2-irish = {
 };
 datetime2-it-fulltext = {
   revision = 54779;
+  shortdesc = "Italian full text styles for the datetime2 package";
   stripPrefix = 0;
   deps = [
     "iftex"
@@ -14708,6 +15736,7 @@ datetime2-it-fulltext = {
 };
 datetime2-italian = {
   revision = 37146;
+  shortdesc = "Italian language module for the datetime2 package";
   stripPrefix = 0;
   sha512.run = "d099d05904e416d44e9a9ffb337b23e2c1f908dfddbb41cfd7629c4abaa7769c76f50ef687751224ab4ae94a0df4d1962adbad602ed3a7473566e16c5c4bea48";
   sha512.doc = "963759f5e07e01315b827d4c67364d9367d114a09d518154524ba4496aee69f1ef08acbdeb67522d3b350a6f8abf8bf571171d4c380bc3f093d59ea3207beea1";
@@ -14718,6 +15747,7 @@ datetime2-italian = {
 };
 datetime2-latin = {
   revision = 47748;
+  shortdesc = "Latin language module for the datetime2 package";
   stripPrefix = 0;
   sha512.run = "25f4e92c72abe14db9340aae354e0f598aadf88ec109b6dbe6b48e12f55926f63fc80ca420ccbbbf8fcc8dac066520d69b653981ccdd41b2e8588d85d4f11a99";
   sha512.doc = "f683c8764e99edcd9d9a449eecd3f1e4a10a2803a20bff7be22568a69ee1b06c5d054d6664a051b0eef8cdac5bc2387175cb582d005e1af31a5be8bbac4a0de4";
@@ -14728,6 +15758,7 @@ datetime2-latin = {
 };
 datetime2-lsorbian = {
   revision = 47749;
+  shortdesc = "Lower Sorbian language module for the datetime2 package";
   stripPrefix = 0;
   sha512.run = "04fcebad65bee525697ba96cba9d66d6acfe9bc602b6cfb207103a2bfba0d3cbbef948d614930c1a2bc785a6ae2ad6c4e0b06db58d562681225d67b7a5f2f8a6";
   sha512.doc = "7bee606e0c48dcfa676835e3a313ec8c3b79f566fba6d6b65cb34c4f939e7a7df34d73e24f0f03d569e0f6a01cb244a90b9023e2846c597eb589e984ad9d1f18";
@@ -14738,6 +15769,7 @@ datetime2-lsorbian = {
 };
 datetime2-magyar = {
   revision = 48266;
+  shortdesc = "Magyar language module for the datetime2 package";
   stripPrefix = 0;
   sha512.run = "4d3b27b0409d26431cc06a1ac83485b6d4d63b9bba30a862ac043cc27c25a77805d5c3aeff3a329e1348a32ca4ceaea917f2f840ce1696a58f00325775ae5009";
   sha512.doc = "1eff11bc2c7cdae101331521f08d3a9eb878e8d1695b35724475eb5b99e0a537bf16a00bd3c13760cb36306e84b72f15e5ec294ed958ab5d67e75ad8571ac9a2";
@@ -14748,6 +15780,7 @@ datetime2-magyar = {
 };
 datetime2-norsk = {
   revision = 48267;
+  shortdesc = "Norsk language module for the datetime2 package";
   stripPrefix = 0;
   sha512.run = "9ebcd994305b3b3aad61383b9ece13425b4c34432dae0aac2ce38c0219b2f19871f89cb30bd774a7db9be45cc8a21f7856f1f568c32941502b18f6089b787066";
   sha512.doc = "3d834d8572cb8f1237b4b9e69bcbcf1a5eb0a1e5c001e8610a00ec377204c570218f6d97765c3efbad9130cb2ad9ced3cb80b32bcdfccfd62d7069ece93ab1da";
@@ -14758,6 +15791,7 @@ datetime2-norsk = {
 };
 datetime2-polish = {
   revision = 48456;
+  shortdesc = "Polish language module for the datetime2 package";
   stripPrefix = 0;
   sha512.run = "3b63541325de4082a828af5131a639c11f2562b8e2951f50199f7281e7c59e2a2deaf8cba124cc8679a4de5da3e95d988bb3533eed6cdbc9471a95476ec59bc4";
   sha512.doc = "6bcccc320063567e2527ca6acce6180c9d19a3ec8a1e922e640e82d3ad2a244cd455741e059e385fa26ee6479ddd5086b9dcf73a705988adec96a311cfc5e40b";
@@ -14768,6 +15802,7 @@ datetime2-polish = {
 };
 datetime2-portuges = {
   revision = 48457;
+  shortdesc = "Portuguese language module for the datetime2 package";
   stripPrefix = 0;
   sha512.run = "976ad1440f05bd166659b5b950691b4d0ce988a3d71bb91525e4448b1520a6ead37bbb3ef9a899bac08c7dfe8cc7b9b7e15174c8ef143891133bc00e5c39e9fe";
   sha512.doc = "3cd176813f3b0bb16341ddeee4d0a848b4eee9bacfb90734d97fd9ddc3e88285057dd0bf4f0f3ebb5641ebee48b15161feb3e4e75032e32368a51bfb9ca4a8f0";
@@ -14778,6 +15813,7 @@ datetime2-portuges = {
 };
 datetime2-romanian = {
   revision = 56394;
+  shortdesc = "Romanian language module for the datetime2 package";
   stripPrefix = 0;
   sha512.run = "fed59ecdb496fbad41a5558526671cddf9cb487f50cdf103f61141fb1955170e54dbc3fc134ef51a2867715e7bc714dbf81bbb11e6d30c324a87492870738d39";
   sha512.doc = "7c65be46449bf92e2c41623e785c6262c710de23527ea54c505cbe155af50dd9e9831780dd380b3d0c44af7607bc59fd3b168d700c1a8041642bbe4b4ae9cd08";
@@ -14788,6 +15824,7 @@ datetime2-romanian = {
 };
 datetime2-russian = {
   revision = 49345;
+  shortdesc = "Russian language module for the datetime2 package";
   stripPrefix = 0;
   sha512.run = "2821680ce189aacf8b0303d5698d9359f240ab4e470c0e2b052235e6aaeeffc882ea4b9c9c4f91d52b1402ef7486c7115bab8058e2223b7ebd3186fbd4c4c34f";
   sha512.doc = "97c1b02377328ff75775194baeb2c3e15f2dafee303dbb85c47a0baf7f6edb4323f754578a9caf9db609477204c1310dade3b87d5a768a16fa940be2fe320081";
@@ -14798,6 +15835,7 @@ datetime2-russian = {
 };
 datetime2-samin = {
   revision = 49346;
+  shortdesc = "Northern Sami language module for the datetime2 package";
   stripPrefix = 0;
   sha512.run = "fc4e6401ce02b1aa7be5fd78e5d5e74aff6ac35cbb6864cbce6d93fe0b2716510f6ccdd290c82286b8e51f37abe8460c0f8340ce0f9135838ecace7502f72784";
   sha512.doc = "e5879faedd4d4fa5ac40575e0ccd1d0db94a80d78c3d01f8d36bb37875e2b9025537c876087b85626ccaed5c90f505a98fd3e5adee64ac1bc72f48ff66114438";
@@ -14808,6 +15846,7 @@ datetime2-samin = {
 };
 datetime2-scottish = {
   revision = 52101;
+  shortdesc = "Scottish Gaelic Language Module for the datetime2 Package";
   stripPrefix = 0;
   sha512.run = "b3f8c2e2c61461c162f4b7c029ced53b5f0c61398415d17044a5189c08460550bfd0ddd15c693dc959b5cb5bacef63a1d4de8a9fe11108843edeff475964aae6";
   sha512.doc = "87035e38cea316b776f2c61d0c1522e61c560602650bf6955fc7330536fac42dcb17bdad1c3828f2accd10cef009efcd805ed917352ff921d03b46ed3d0bea18";
@@ -14818,6 +15857,7 @@ datetime2-scottish = {
 };
 datetime2-serbian = {
   revision = 67201;
+  shortdesc = "Serbian language module for the datetime2 package";
   stripPrefix = 0;
   sha512.run = "55ddf54bb1ba9cca7836ef0ec082d98d9d280b92e1d2d108c3a4d11b5c5d89f43098215eff675e8ff5b42bd8f446c6361a98f544f2d4bcb4ae684f69597eecb2";
   sha512.doc = "b3b25cef5afc1481617cc3edbbe0aac242b1dacfdfdb9bbd30fa9d2c0f963605ead09bb9a91b016d0739b848cafce18ab17d3fd0750e589faeda0c434b4ac73e";
@@ -14828,6 +15868,7 @@ datetime2-serbian = {
 };
 datetime2-slovak = {
   revision = 52281;
+  shortdesc = "Slovak language module for the datetime2 package";
   stripPrefix = 0;
   sha512.run = "c69d8eacf36fb7232a85d92e5db277b281b631c0c8f63df7fbba51876d1be782b7196efaaea0ac25140716f983ada40aedaa550102fbe0d445e5cddd41317a09";
   sha512.doc = "c40e20b000f3fd5ac368c310d1f11519566410963cadaf4aabfb0c9cae05e0d3e8a3810c7da451a5e206e8b5b174ac0b837c1beff207597e050ec529e82acf51";
@@ -14838,6 +15879,7 @@ datetime2-slovak = {
 };
 datetime2-slovene = {
   revision = 52282;
+  shortdesc = "Slovene language module for the datetime2 package";
   stripPrefix = 0;
   sha512.run = "1d0a73d3781fcc9ea0df63e391f6b7a0a254bfa920c63ad1a0c76b56d4770822bc4e049ce18c554974bbb20478150cd7a4f545ef8983bacd31a112fc3acd5419";
   sha512.doc = "dfb2a9808488ab0e0b225d0a397490f7e1cd2343caf0a685d8e3f48feff2ce549092771f0b4017a3c45640067ad1ede8a852e714b313d9abfc7c9642f983cb46";
@@ -14848,6 +15890,7 @@ datetime2-slovene = {
 };
 datetime2-spanish = {
   revision = 45785;
+  shortdesc = "Spanish language module for the datetime2 package";
   stripPrefix = 0;
   sha512.run = "07c321a300d779e39de46628b8e1b95d383e2a1a0af882cc607929d894f11b2e8329cb256014193d428182e78f2cbd5e3e277bc7821d3ad7a2740fedacf14e28";
   sha512.doc = "629b4a2771fe68715978afcb202d984e1032d2e0f1af95d4971a980e14baf4b0705187f4a7ef9748c024eb27780f7720d8d5010ebfb23026ad8605a42730293f";
@@ -14858,6 +15901,7 @@ datetime2-spanish = {
 };
 datetime2-swedish = {
   revision = 36700;
+  shortdesc = "Swedish language module for the datetime2 package";
   stripPrefix = 0;
   sha512.run = "b904b21b593e529ffb714f3762ca5b8de37e87fe25df593873defa43de3995d1c72b0500217182728eaee6030cacaca969376a5623bc0baf48fe33aafafc0a66";
   sha512.doc = "7d6f2468aaa20da4e086201c0ffa6e6ae031e2a23db7fcccbb9ee8776c59b56a51cda9a03dfcce9fbf81b618f2e7543272f4ae88871f2b5380d1b98ff89e451f";
@@ -14868,6 +15912,7 @@ datetime2-swedish = {
 };
 datetime2-turkish = {
   revision = 52331;
+  shortdesc = "Turkish language module for the datetime2 package";
   stripPrefix = 0;
   sha512.run = "7d4b756ab2f102c7981376d6f87e5a7f7b47d57b1ae9f821185bd5b04e7a5d9a81aebc7835a9bb43a217dffcfceb5b2c46b838bc652dab7c2f468d9510c2ee4a";
   sha512.doc = "6c95641444f2eb510a330c7002bba2c40cf28daeb63fd9092d74846673c03d2aeafd1e7d61d5a7470bac95117c3717cd75566907a896f5cb4b54ccbe952c6d65";
@@ -14878,6 +15923,7 @@ datetime2-turkish = {
 };
 datetime2-ukrainian = {
   revision = 47552;
+  shortdesc = "Ukrainian language module for the datetime2 package";
   stripPrefix = 0;
   sha512.run = "5e3d412b8a5b73bb6bd2ee176305806d9b41c5a67196ddd28640e958a7019b3e73f961964b7510be4cd69833c4599db1fed05c6a6f66d4d0b3bc5ad73b5d6dbc";
   sha512.doc = "df40b4e156164a1c05a94c926d691b887a56ef8f42baee26e684383871edff05e5c6e87eba95994783cac2fcea1a5c72347c8eb86f0cca360faa8dd4829349b5";
@@ -14888,6 +15934,7 @@ datetime2-ukrainian = {
 };
 datetime2-usorbian = {
   revision = 52375;
+  shortdesc = "Upper Sorbian language module for the datetime2 package";
   stripPrefix = 0;
   sha512.run = "bae799fc523f01f7c70c7818ced0294bbb57a849567e05768c4f1c3f9cbe241755ac2dbda0a9ce0e3bb3f70eec45bae1c0607410302b458370a4c05951d791cf";
   sha512.doc = "bacc067e851e4b58b2978472551cf869cc9d3d4412ba930b2ab81f39c4fa9ca352188b6a6bffc5b5dc4a6bcf611146b3d1344d221732a7caaf45f95bb67d5589";
@@ -14898,6 +15945,7 @@ datetime2-usorbian = {
 };
 datetime2-welsh = {
   revision = 52553;
+  shortdesc = "Welsh language module for the datetime2 package";
   stripPrefix = 0;
   sha512.run = "2c3b56f2e2796840fec8a60b4f75800743a4d71128cb900ed7419a7a01acd306a9ef86c2b1587e661833f8de48ef89e22c11589af21c9abfa2cedbf709c4c340";
   sha512.doc = "7abb3d603eb94f99c1fc49e53ee28996d2a536d647b0940db20e5a9aa70eb10d7e00385300bfb3adbaf4f463db20c4277a8afbf0f174c449e402c02954c57243";
@@ -14908,6 +15956,7 @@ datetime2-welsh = {
 };
 dblfloatfix = {
   revision = 28983;
+  shortdesc = "Fixes for twocolumn floats";
   stripPrefix = 0;
   sha512.run = "05931528012077b92702926856b1e0d1aa6472188f9b1fbff74e5534a41a3260e53b82bcdd0684ff045aafaf4b427dab6d8e06fc7a5d11cb42a545949bc6bfc8";
   sha512.doc = "5790850d01d9f3734cb89146c23077bc852d84242352718ee655f1410ee84b77366bef133d8df49fd46ad976aa007fe2c4039a08035122f93e719c5f0f7563f7";
@@ -14917,6 +15966,7 @@ dblfloatfix = {
 };
 dbshow = {
   revision = 61634;
+  shortdesc = "A package to store and display data with custom filters, orders, and styles";
   stripPrefix = 0;
   sha512.run = "339bd686c658c462c9da56018234c6a31e72a3def962798772bed17bd453efa94c5f8e2d72a2f033714eaabbde8b45bbeed07d302e311d65a27c37f8ef177a2f";
   sha512.doc = "4d4ff36d121b950d7569f4ae8e7fee7e0a4790f61e8d2b58c136644d0ce455e8b8f4c1857c8df68d2f230016e5ea28a35047234ee101b3f949d1598f4e15e52c";
@@ -14927,6 +15977,7 @@ dbshow = {
 };
 dccpaper = {
   revision = 67890;
+  shortdesc = "Typeset papers for the International Journal of Digital Curation";
   stripPrefix = 0;
   sha512.run = "16a507603bffd0fd0e305c9e2d21927f0788dcff750ab276349919cc2e1036b41f57696e088ab5596bd714f890ea68ece629980dc613581d5c90f586f7e4117c";
   sha512.doc = "7793786d0c34ab72954fe189bbae96a388f61f789b845b42d7fb062bab3858643e8ee730d11a5d4209fb0d728220e7ea89bceb3684118978dd8119aedf167a89";
@@ -14937,6 +15988,7 @@ dccpaper = {
 };
 dcpic = {
   revision = 30206;
+  shortdesc = "Commutative diagrams in a LaTeX and TeX documents";
   stripPrefix = 0;
   sha512.run = "6cfae1fe50baa81ba778ee1b8cc76dd2d0e66e3cd4a868364857f2338b1078ac81178dbcea81d4edbe013726b7cb14700506f38e49eb528701bf784280ca7de8";
   sha512.doc = "25f768812f31cfc3e4d00717ed8d77392272f2480efe3311ecf5e922b18e1f5b6fa36892c7eb69cc077e350d5d7e55b7201673fc653c188ec8a76205f90b681c";
@@ -14946,6 +15998,7 @@ dcpic = {
 };
 ddphonism = {
   revision = 52009;
+  shortdesc = "Dodecaphonic diagrams: twelve-tone matrices, clock diagrams, etc.";
   stripPrefix = 0;
   sha512.run = "9ccd7a8715af4a808a72d4dbc96a1216663c7eddb7a0fea48b77bbcb546a12d0e9de00928189b424e9db8e612778ed53231456d087a1eb83bca827852c9691c8";
   sha512.doc = "d75ead2518ae448eba251b3f43431751f415c9650e9ac023e1647fbfa828f700ef2fa3a19f53fdd6e28c9e8461e071fabb7c016aeaa62678ada20ed0b96017bb";
@@ -14955,6 +16008,7 @@ ddphonism = {
 };
 de-macro = {
   revision = 66746;
+  shortdesc = "Expand private macros in a document";
   sha512.run = "6847ee60de3e70db18f402744ce0edf926fa2ba1ccd64faaa9844aeca85809efdab740d99f1ddcaddb74fa54c70d0c2dc0a7e8d15575e574ce8d451e0b6248e4";
   sha512.doc = "21065d2ebaee0a2c82e5d41ae6a5ddb071623f9e405262de404557053c2f402f9166e7c3c939ec57e3d3a1842397143c16bfee9d219eb84ef613b74474538052";
   hasRunfiles = true;
@@ -14966,6 +16020,7 @@ de-macro.binfiles = [
 ];
 debate = {
   revision = 64846;
+  shortdesc = "Debates between reviewers";
   stripPrefix = 0;
   deps = [
     "listings"
@@ -14984,6 +16039,7 @@ debate = {
 };
 decimal = {
   revision = 23374;
+  shortdesc = "LaTeX package for the English raised decimal point";
   stripPrefix = 0;
   sha512.run = "9a0d0947eacd52800b3b2cbc36d6e866c1876bd5f929896825dc604d9d633cfb169d93de0f86b0e78e3274936bb47834c222ee54b3571bfcdc0fe81bb2821776";
   sha512.doc = "977fc97627bbdbf4d65844dcb7ce267cb2291b102b718ca36ba2fee881d5fcf359d6d0dae839d4e640200d3b8a31cba301d20560f5002344b8ea256266efc9e4";
@@ -14993,6 +16049,7 @@ decimal = {
 };
 decimalcomma = {
   revision = 69251;
+  shortdesc = "Comma for decimal numbers";
   stripPrefix = 0;
   sha512.run = "78d257b6a3b65c44e9cff04093896240c7a9401af04b028fa79bf29dc436a18d163049d34a9a7c92c193ce07085aa877e69399f79da22696da800f72de20eb37";
   sha512.doc = "21f1a61e45fe9d83f4ca7d01375c832b230485035f39277e18a3062da98f7d0bc63aa1703258c7fbbb6330dfde15153ed9bab60afe62db9bca4250033a12fb0d";
@@ -15003,6 +16060,7 @@ decimalcomma = {
 };
 decision-table = {
   revision = 60673;
+  shortdesc = "An easy way to create Decision Model and Notation decision tables";
   stripPrefix = 0;
   sha512.run = "8a0bbe49c3ef76a7a60fff1778bfc06c2e11521e028bfcb190c85e8a38932bb1f2a97c26293a2965ee8d2e4e6d2cdda54dd2954881ac9b1b8e2506529af1ec97";
   sha512.doc = "d5b9301a4308a4e2709b4c82a621fbea2af0cbd767252446f698f269b3ef131502d3db3aaec6d192642b154b546124326280ca4c1331dce64b36517db51c3bc4";
@@ -15013,6 +16071,7 @@ decision-table = {
 };
 decorule = {
   revision = 55230;
+  shortdesc = "Decorative swelled rule using font character";
   stripPrefix = 0;
   sha512.run = "783f09b3810616b14f04dace838ed1ed2faf32ea4df84dd0973df375928e16fb129ddf6429fc54560a317da0a9422630becc92543e1a1da76809c4962c423fc7";
   sha512.doc = "0c13e2ff2744ca2d0e32446a85cbec06d832ce1fc8af5a719f3c73ed59e1a85461d5f51d33fe5a51a89b209f80196ad52609e83adbf7cc41336f5bfae8c4389f";
@@ -15023,6 +16082,7 @@ decorule = {
 };
 defoldfonts = {
   revision = 68234;
+  shortdesc = "Define old font commands";
   stripPrefix = 0;
   sha512.run = "f6823da220c00ffd688d0b25d06109f0f3a7ab606d535631d9197a26b02388b11e4dedf41829c94ca4a414cbc1cee81c425d006e7567116b243272fa8d8659fd";
   sha512.doc = "d799609d039e98e2b737fcff5bef277359818838a8cc1489dab934d6b890ce480b7d6e935a84562662e8f130873d1a2dc777e08b229b7d5c0b431b8fde5d6978";
@@ -15033,6 +16093,7 @@ defoldfonts = {
 };
 dehyph = {
   revision = 48599;
+  shortdesc = "German hyphenation patterns for traditional orthography";
   stripPrefix = 0;
   sha512.run = "2dc4ee5b4389549c032f3a4d87740ab3c5e296a1ef109a6b673656a82ca4c317ca774f39f61417568b8ccbeac787c4058184fc893d53799bbf0b042ba5aca9a2";
   hasRunfiles = true;
@@ -15040,6 +16101,7 @@ dehyph = {
 };
 dehyph-exptl = {
   revision = 70496;
+  shortdesc = "Experimental hyphenation patterns for the German language";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -15073,6 +16135,7 @@ dehyph-exptl = {
 };
 dejavu = {
   revision = 31771;
+  shortdesc = "LaTeX support for the DejaVu fonts";
   stripPrefix = 0;
   fontMaps = [
     "Map dejavu-type1.map"
@@ -15085,6 +16148,7 @@ dejavu = {
 };
 dejavu-otf = {
   revision = 45991;
+  shortdesc = "Support for the ttf and otf DejaVu fonts";
   stripPrefix = 0;
   sha512.run = "d0d32f3c9d53a1a61e6e717a6275f3fc934c0815fddc3b36fe2afbf7702e5128d4cf15e8cdfe8b02009a6fb7c203ea42b134eeeb080b9765ff99c4143f887744";
   sha512.doc = "212663371f747b03694327a40de3bec0be8efd5cda15c0cc343284f3a427890e8d16c4223098fc16a260b837a9d522c9cd35876a4c1004e09ee9ee29c05ec7b3";
@@ -15094,6 +16158,7 @@ dejavu-otf = {
 };
 delim = {
   revision = 23974;
+  shortdesc = "Simplify typesetting mathematical delimiters";
   stripPrefix = 0;
   sha512.run = "c18dc230c5bac8db3d66f062402392761467ad18f48a65930a960c0772be30a7ed729a50657b12f533d72086563a67a98e8f5ce7afdc9947b52146e76e22b157";
   sha512.doc = "c343842bcc03981c1814f5cffa2ba3eacc2e6abb5673ba700859406869a2398518e9abf02e159f4d92bf91383c3a6cdaa9f5720adaec81715fa30f4b8f36ff9d";
@@ -15104,6 +16169,7 @@ delim = {
 };
 delimseasy = {
   revision = 39589;
+  shortdesc = "Delimiter commands that are easy to use and resize";
   stripPrefix = 0;
   sha512.run = "7f9b1d77e9b9bdc6e5c45ed3c38606fb0d65113f7303e03f591c1b84aa83748d72fb8ecde0cd0c7b19d1bc9fcb454834e156429fd9080660aec77ddfd7b53e42";
   sha512.doc = "bc9c1ff757a9d98ff9b84993cedb62ee024d0f4aafee301db0d862be3d45c76d8d164d2d3099ae37d41017316282db1e7882330dd10de43a9539ba0b10e86b08";
@@ -15113,6 +16179,7 @@ delimseasy = {
 };
 delimset = {
   revision = 49544;
+  shortdesc = "Typeset and declare sets of delimiters with convenient size control";
   stripPrefix = 0;
   sha512.run = "5c19bda2a87de91ac1d32981198ce7718d490184d4d65dade231b66c3f46621af91dbeb89bb79ba1370fd82a0527d01d0aa7cd9dddeea818e8c4b4380a7b63ed";
   sha512.doc = "9e671fa601b878187b5b3ae1a47feffb6c451fd42f202f948a87b02f35385b47239947a3e91260e699c64c453df161d9ae734fa3a8e241b0e47056181fefc46c";
@@ -15123,6 +16190,7 @@ delimset = {
 };
 delimtxt = {
   revision = 16549;
+  shortdesc = "Read and parse text tables";
   stripPrefix = 0;
   sha512.run = "25332ff7d2602047938630668c849829844fcbd622f911542bccd59d2eb1293e406cc79aca08ac3acaa98828b4a6fa4da98feb08fdf678ad3863c70cc2fc1817";
   sha512.doc = "cd9363d8d44309c2ca51431bae067d87c790180eb884888144cd089cc9c14f83e1e7ea2389650d547e47d4575755a5b6b369e82b76cc19150b1dc973e99109fe";
@@ -15132,6 +16200,7 @@ delimtxt = {
 };
 democodetools = {
   revision = 64314;
+  shortdesc = "Package for LaTeX code documentation";
   stripPrefix = 0;
   sha512.run = "f1c15d50ff6078ecfb012e5235736785aaed4cb59ebb8f4d54c06865d5299b7b32ab436b79671d68c8557b12de65cb50f162424affb7a91aefd4fe4dfefae04f";
   sha512.doc = "ac49187b57e75bcad5d70960711b5a34162a7c97b237a1fed19d08089f3b7abdd7db9ea24368b8f0f2e9e4124c5f8832ea0570d8f37e002d00ec7007c784386c";
@@ -15141,6 +16210,7 @@ democodetools = {
 };
 denisbdoc = {
   revision = 70611;
+  shortdesc = "A personal dirty package for documenting packages";
   stripPrefix = 0;
   sha512.run = "ffae3c7f741d9a6c53ad3681d929d26d1ac7679477cb66d3bb3e7cb4bb81966137aa191810526b322f13c52aac31111ee4fc4bebdc49f8be78b40b26bb4f3e6e";
   sha512.doc = "1bd19497dd7fcbc7df9416a43e09dd68a825fcff6411f81b9a19b100915296f094898a8b746ff7dce263a7facf5b776c08d93e4d70052b26e180a58079e62cf5";
@@ -15151,6 +16221,7 @@ denisbdoc = {
 };
 derivative = {
   revision = 69746;
+  shortdesc = "Nice and easy derivatives";
   stripPrefix = 0;
   sha512.run = "a936429cc5b9933deaa349121fed565fd46e2d81f8d5a5be3b282f3a5107c13e2ff29e159759c10dad12bda9d5fefc5177fbba636dac0dd31aedb0074cb5ea3f";
   sha512.doc = "8951a888d07fa9136a71c0b0fb25b7f3925e137100460fb41cae0766c56cbbadad6b58e0afd690a608306032f5c2d95c6d4bc8f07651a1354b184fc28b9fd2b9";
@@ -15160,6 +16231,7 @@ derivative = {
 };
 detex = {
   revision = 66186;
+  shortdesc = "Strip TeX from a source file";
   sha512.run = "e258d80d1509831132c4f70df81b8e93cfc9d92ee74c5d39e7f35bd4f71a3eb93fe3594afbd5ab0e33cf0b6f45c816506e32ca8f41427f3c3fe661f3086100d1";
   sha512.doc = "3d5a3b371e007bda61441460479a208062fd0d477d1fc9ab9a6764c1969fd383acec9e336e8d0b16aab5606444f5d87335320e010657cf088e9caeb18d6dddf5";
   hasManpages = true;
@@ -15170,6 +16242,7 @@ detex.binfiles = [
 ];
 dhua = {
   revision = 24035;
+  shortdesc = "German abbreviations using thin space";
   stripPrefix = 0;
   sha512.run = "c6e6187bdfc80cec3ce092a4dd3605055f3ad67ff49777bf0948af128c8b48118247ed9ca6f5feb1a69d32719f81968d8259794082a28277796eb6beccf9cedb";
   sha512.doc = "a2f9f61ed61c5476d5f70fdfe59a451e7b3cafd3412336c5767b53b0157416149ee9ae924834f8a05beaedabb9e4a8dd3e4dbcb2f17b733af113c0a8085e363c";
@@ -15180,6 +16253,7 @@ dhua = {
 };
 diabetes-logbook = {
   revision = 54810;
+  shortdesc = "A logbook for people with type one diabetes";
   stripPrefix = 0;
   sha512.run = "427912b3eeac373ba82f99b30a6ccf360b285a119248e9dd2aa175cfb7f2538327331d9e8eab7ff62cfd987466352c08016313f51b8651c4b42484fb6f089bda";
   sha512.doc = "3a8c1c45b24d23ff236ca2d8bba6ff6d9ad055a688b5621a660cefbdff4e1407d71d96420cfa39dbb896f8035e6d5a2bf3f33fc2e80074527c9a41fcab72f976";
@@ -15188,6 +16262,7 @@ diabetes-logbook = {
 };
 diadia = {
   revision = 37656;
+  shortdesc = "Package to keep a diabetes diary";
   sha512.run = "55a246d4e3ab86d6300210d830ce464a935bb83c9ffd29b5387f0a56f5c82d4c5a71cf107f78ffe0cde07f17897e2f949acf1fe70da9da7c7992b330a07b1c68";
   sha512.doc = "e7487bb47fbe8aee714304150c00866780782a9ad32bf6ccbb02799aeb251345ce1cf042e8b4d7b4011083a3be2fe3b16b78f25a4a4206d173ac1384716592ab";
   hasRunfiles = true;
@@ -15202,6 +16277,7 @@ diadia.binfiles = [
 ];
 diagbox = {
   revision = 54080;
+  shortdesc = "Table heads with diagonal lines";
   stripPrefix = 0;
   sha512.run = "34d2530343877efebe9ee53027253ddce0e59df3cd70900bf0f040905f34a8ad9d41328aa3c6ecbb622f7731f3bc9c4fce289caa58e2c1db46a6ec1bafefe6ca";
   sha512.doc = "96310db4878e417f09e6202e5ca86f29524af5c1292ad8fed2563f1872e094be1249c4753eac5129c68492a5fe9ea87857783e2ca9af1ab77dfd1ca9b3309b2f";
@@ -15212,6 +16288,7 @@ diagbox = {
 };
 diagmac2 = {
   revision = 15878;
+  shortdesc = "Diagram macros, using pict2e";
   stripPrefix = 0;
   sha512.run = "553d3610ef7bba5bf669040cfe6b51b26718b9f04835413d43c3f8a018a8a37274b445bbdbaa4a512aaefc8327f6a2c7abd8d754b3d8cbd4687c9c518265ad09";
   sha512.doc = "37952cbaa4c20180a2d09455c748b245927245c40093510a79fa0461e5836197d8bc05bdc3cf5c7bafa72c54cb503fa9722d7a8ff9a0630ad1b5e8382b4029d2";
@@ -15221,6 +16298,7 @@ diagmac2 = {
 };
 diagnose = {
   revision = 19387;
+  shortdesc = "A diagnostic tool for a TeX installation";
   stripPrefix = 0;
   sha512.run = "91fd8eb4b7d896f27c15c2b3b2a0a9bc839bb736a1fa053d47896c6b989729c3dc3a644ad59f6b3bd4164c150034f6ede5d52b680fb1c8cea6838dc70713f654";
   sha512.doc = "f3e7152e656ee4c5f6ac28205b1dd5e9c0cf19c3d9400e2c40c8d8e9fecbcbc01cb1f7a36534849b6ba26f222f9547e3d669114a7d8923645528b7150cd10de4";
@@ -15230,6 +16308,7 @@ diagnose = {
 };
 dialogl = {
   revision = 28946;
+  shortdesc = "Macros for constructing interactive LaTeX scripts";
   stripPrefix = 0;
   sha512.run = "68fb25b66499e289c7615fda04fec859d2a3a6105ecb3bc69ecd0e5af8f87027e74170495fa587f21767028d9f423cf04e3d11768ea0581a7474e9a66d62882a";
   sha512.doc = "cc1fa10345fa089cd86ea4b0a638334c55c6a57cac3a9c549469cd52cff27b8eb3d349ce14d49de14fbb65f41d1887bf98e9c69081688703d8eef06e6324f684";
@@ -15239,6 +16318,7 @@ dialogl = {
 };
 dice = {
   revision = 28501;
+  shortdesc = "A font for die faces";
   stripPrefix = 0;
   sha512.run = "7ec762fccc174a13f2a84ee43aa49319548aa970f017cd17bca73add506ca270a6ac621f51ff96d47a4f5eadeafc89ecc44f1c99b31a2e76722e648519e1fd69";
   sha512.doc = "9c09c47b70e28e4c8ccffd4c75f8cac7942767279d0e01e543538ddf0ee70fe60cd15d1e3ddce27b56e1a9f865d5ad9b1794a875e41d131d763c11a3e0fb96ef";
@@ -15247,6 +16327,7 @@ dice = {
 };
 dichokey = {
   revision = 17192;
+  shortdesc = "Construct dichotomous identification keys";
   stripPrefix = 0;
   sha512.run = "8ed4f0010546af68390f93642cab4495226387fd7461383e32fd3dfa72867050d0da05ba90cb768c6893afeac9bfe55d23b7299ef4a76432e8d11252012b47a4";
   sha512.doc = "16a75d20463a0b0b508c2d50aa67a77999cab525e003704ab34663d1f0212c39432caab0e4df1c69b540be014bc86901031c7c8f647ff18ceda77dcef7239233";
@@ -15255,6 +16336,7 @@ dichokey = {
 };
 dickimaw = {
   revision = 32925;
+  shortdesc = "Books and tutorials from the \"Dickimaw LaTeX Series\"";
   stripPrefix = 0;
   sha512.run = "8e478160699ca5dd9c52ea7e6b0a7be491d0af44b3022c22797b02b9e6ba6ef67ce9dc35649d9a2ebb9b123e3fbcc02c0602271bd8049a12c4520a32a15d4ef3";
   sha512.doc = "5ebe8605d1a4ebeb11896919c39aa736220e9ca247912b5655dbcadf03bfa45b4cdfe44ee6555bf8d5ecdaf63b0d2527d3d58ee6d7056a194a6a42f88ab0aa41";
@@ -15262,6 +16344,7 @@ dickimaw = {
 };
 dictsym = {
   revision = 69720;
+  shortdesc = "DictSym font and macro package";
   stripPrefix = 0;
   fontMaps = [
     "Map dictsym.map"
@@ -15273,6 +16356,7 @@ dictsym = {
 };
 didec = {
   revision = 70237;
+  shortdesc = "Fixed-point arithmetic with two decimal places";
   stripPrefix = 0;
   sha512.run = "ed59a87d35b2ace9bf525634d1993400348a114669c9a358aa18836a152c5d973584a10f9514014336ca0a90a2050abd5cbf69d305cbae547d644f17c0873d64";
   sha512.doc = "a6a46f0b9e57e3e3e124ec719026e75516722d32d9b0e29d49a736b57123c7d916551a5ddc26a60d972932a2134a236efce0147d13ce645ba5c198bee574ff39";
@@ -15282,6 +16366,7 @@ didec = {
 };
 diffcoeff = {
   revision = 68838;
+  shortdesc = "Write differential coefficients easily and consistently";
   stripPrefix = 0;
   sha512.run = "a40e95018d471504d5d0cfa2d6ed3c43bb7d4a749a97200b2ed682905d6b448cbb51b80d27d772673b747fdfa3c9b02515ffb32ee9e44efc67445bc4c8cba3ba";
   sha512.doc = "65646cb4ad22f5755be51c5c8e1ff907803d9d3817b76da8146d81b7b42ea4c9af07710d55d861795a2e7f25f0adbf4f0c55bdce208a563c3ad34d32992c17ec";
@@ -15291,6 +16376,7 @@ diffcoeff = {
 };
 digestif = {
   revision = 65223;
+  shortdesc = "Editor plugin for LaTeX, ConTeXt etc.";
   sha512.run = "098d625749cee42f965d21ef5ec2843211db36fd0f4cced882ed15f32a20a2d70bf292b01e6797e7ca097adfadf2fd40d3c5eef6c694da39e8302770cfb784d3";
   sha512.doc = "fabc6d0ea5a1e55b7ecd6430b2373c15e413c985485331bd7bd5bca437947a76ac7d8ac6ed2ea3d6afe687284aef673b0e302a1c9925737c6e1d95cecf2ea8cb";
   hasRunfiles = true;
@@ -15305,6 +16391,7 @@ digestif.binfiles = [
 ];
 digiconfigs = {
   revision = 15878;
+  shortdesc = "Writing \"configurations\"";
   stripPrefix = 0;
   sha512.run = "a1d5cf0e93aa2722087a491d49c87c1b6c1dc863a39807f28dca198d4c52d8add42706f992ee91b6a42fdbf379293a2aaf3a21199094526c545f41002e8992d3";
   sha512.doc = "95e948491a51321671b15aab55dddd7c6b8bad78bc67bcc25db0970dc478d1bba898fc2efe44537a18d46f3fcc73bd2af600c4a74af4982e8de8a5fc0345a134";
@@ -15314,6 +16401,7 @@ digiconfigs = {
 };
 dijkstra = {
   revision = 64580;
+  shortdesc = "Dijkstra algorithm for LaTeX";
   stripPrefix = 0;
   sha512.run = "5662fff484dc88098c2bd22784aa95c4d990c5a725eedabaa1f542c53671783fc89ea1a4d6f7450483dcdb2cc8ce758a8a26c40d7ad27b93d7e3eef4d31d2ebc";
   sha512.doc = "474f8fedec9daf17363773a200b81ba57f57175b1c52de5b7a7c8f7395996725284056ddf4a9e3e68baa1197dce84ed2767795956a403946f530492b6713b8d3";
@@ -15323,6 +16411,7 @@ dijkstra = {
 };
 dimnum = {
   revision = 58774;
+  shortdesc = "Commands for dimensionless numbers";
   stripPrefix = 0;
   sha512.run = "636543ee5f2e027ec242d59ab8af28e8aa6f35d3e91480e4812a72df3c1636fdfeed2cf472c79b29fae5ed65224da4ca4a0bf5040e2a4360b73fc5f4cec85bb0";
   sha512.doc = "a00eb3157b84a22afeb66c6f918fb434bb2a183afba110340b93cdb7dc33152f4b9472da134f999f36057b7ddc221a2a78bbaac5fa0509e452c4d8d6e96ebcf3";
@@ -15333,6 +16422,7 @@ dimnum = {
 };
 din1505 = {
   revision = 19441;
+  shortdesc = "Bibliography styles for German texts";
   stripPrefix = 0;
   sha512.run = "cb9b819eb69ce4870dd36da844b1d24e4f678ad05f43eabbe861e9de5b53258e45e70530ca76c0aa9fcf54232e8f33dc55623f94c1d9e5fc3dfc48481093c3cc";
   sha512.doc = "4479f5ea1e1ade4bc7951d5722e397a688e75293da55ec57dd0f3d32add2bd551844da81336be0a77cc783e4c9af958be46501c4b78adbbf8a5463770b5cbb2c";
@@ -15341,6 +16431,7 @@ din1505 = {
 };
 dinat = {
   revision = 15878;
+  shortdesc = "Bibliography style for German texts";
   stripPrefix = 0;
   sha512.run = "0b22f43a5088f669820674b46af72e66f3f2714a36052bc7d18c334b202d0060fd07b1a608626adf183314d2380fad672baf58307ed83aaa888231e75c63b1c8";
   sha512.doc = "f4491ab35e2ae8003faa8220e88c0abd2d970cc6b985d2baf993effd2ebe94a964ae8ece6db70a55f922abc83c91cce5f598ac2e722b5eb7e1584aee436e4393";
@@ -15350,6 +16441,7 @@ dinat = {
 };
 dinbrief = {
   revision = 15878;
+  shortdesc = "German letter DIN style";
   stripPrefix = 0;
   sha512.run = "0c2679265417acb042f81300895be7dc7d6b8d8f0bfa2ff8853b9c1adbb6bae78598c7eb4b7c2c91a9f95959ff7a7945f846e1f262f923d741e6fc77458be9f0";
   sha512.doc = "5182bf0761a484e89331ced44d05f82da097cb7be010333ad3eea1b987119af3f3e2a3cd8ac2c4b2b6149a09a5789325edee49205fdfe52d2960c12edacad0af";
@@ -15359,6 +16451,7 @@ dinbrief = {
 };
 dingbat = {
   revision = 27918;
+  shortdesc = "Two dingbat symbol fonts";
   stripPrefix = 0;
   sha512.run = "d6bdfc62eff8816e03eaea41ffbabf2d3af7194edbb2f9073c8d8b3d333c75f0b587a74556b916efb40afe41c88a8029f0dd764d7dc5894aa50e66e06fccb77a";
   sha512.doc = "993ef5169759d86641e2a3185064f94df858d81d9b7ba4b0516b22abc51eab887b5d02ca487ad85b007e7ee3117563a257d80b803a361ea1d32857921e794b9f";
@@ -15369,6 +16462,7 @@ dingbat = {
 };
 directory = {
   revision = 15878;
+  shortdesc = "An address book using BibTeX";
   stripPrefix = 0;
   sha512.run = "c07947f06fb08da461391cf6101a7a2e55875179c5d19b41007b0d11ff1881623e353b813dcca1da1f09e55beb80bf412f85ea6c9f7e3dd6e52a875770a5ffdd";
   sha512.doc = "24bf3fe447363c20e4ace4fb326c329a244aaeaafbf6f596ec91a3975e7cba86a2d711f9a5f10c2a70d72d74bc08dd2540e5139b4c4b525103e867a9d8e62bf9";
@@ -15378,6 +16472,7 @@ directory = {
 };
 dirtree = {
   revision = 42428;
+  shortdesc = "Display trees in the style of windows explorer";
   stripPrefix = 0;
   sha512.run = "5faecc2a6d79ae79929481c283b01e69df482267635957c5eb11c264d924ce299021d95baaf8cf6f9cb10e57f5fe14820c6b3506021b4d0213494bdeff5746a2";
   sha512.doc = "9edfb6fbcf4278c2b24599b58e10f64918d901bdd19dc0e9e8c8bd77756f2f3ba5dc13e31fefd2bd5f1467a0fb0dc0e765fe4e0515781103bdb1b81f687def7b";
@@ -15388,6 +16483,7 @@ dirtree = {
 };
 dirtytalk = {
   revision = 20520;
+  shortdesc = "A package to typeset quotations easier";
   stripPrefix = 0;
   sha512.run = "d5cf28f17a68cd064a290769aff11e656debe87ff0c04e61d4dd4fe87d285daab6dab9516b80b33b03680d50c420a4f3a9858ed5d2d3d5c96fa7fbf9989d29d6";
   sha512.doc = "8cdbdbfca4bdc58a560703b6406c98334ea0b5d9920cbc98ea0fdb7b56c9f1d48844167201829cef83fa84f0e21530baf2fcf4a3f8f8b5e44c5e792864ebf94f";
@@ -15398,6 +16494,7 @@ dirtytalk = {
 };
 disser = {
   revision = 43417;
+  shortdesc = "Class and templates for typesetting dissertations in Russian";
   stripPrefix = 0;
   sha512.run = "98c497bd8d422cacf639cb38ff3a489b5fcda3f92cb5a734287fc930666867eb0e9e6f6014ad42df527d3999eb5a87da28d7178b47cc53eb44a338567f952ca4";
   sha512.doc = "ed0c04c0afccd7f9f68bb8f65a6497b9cbfb2bbcb5333852da7b790083e71ceec8348f6893f1e0f16bef7e4b5ca0b9d1a58ca46898dc58a02f0324a62971b916";
@@ -15408,6 +16505,7 @@ disser = {
 };
 ditaa = {
   revision = 48932;
+  shortdesc = "Use ditaa diagrams within LaTeX documents";
   stripPrefix = 0;
   sha512.run = "1aa2fab8150212ae8dbda9d0138a4c396f47256f93582ed38d9449f9440daba9e07dc0be397c49981e2d1813b7e41d2002fb7ff914382606f417f2738a8d2735";
   sha512.doc = "345d6d7d3f21d2dc728b93e2cbfeb4fc1f589797e852604809b1ff3e7bca53414d684571faf8245c740a50205e7d8787afd5304beb89efd3545a389ec4a74331";
@@ -15417,6 +16515,7 @@ ditaa = {
 };
 dithesis = {
   revision = 34295;
+  shortdesc = "A class for undergraduate theses at the University of Athens";
   stripPrefix = 0;
   sha512.run = "b11165408ccd30427390e9f409e8f561122d1a2dbe821ce90687df9feb2faef692d8ccd75fd8372b975a06e3f11bca0ba6e873d59b30aabfa95015ca35e557a8";
   sha512.doc = "25058b262f803fbbf3c41fa62ae8983ade351fc7bb65be7d886a4300390f836ef5d1240e59571839b407afa2ddb363e6c31e76e36c160ed3fe0c6d0e0ef71fbf";
@@ -15426,6 +16525,7 @@ dithesis = {
 };
 dk-bib = {
   revision = 15878;
+  shortdesc = "Danish variants of standard BibTeX styles";
   stripPrefix = 0;
   sha512.run = "9de9e026b9e3de53b297d7925bd0e4e9ab08562e798a8f1b9e6988ecb891067534a741aefbbb81f1c53d7ae6b6cd0e0796d8c0690c5af661e76a5c6d9ea876df";
   sha512.doc = "258d8413d860f6a30c597c10b8c25f352166f8bc39cf23714a137e46f4748ba716dcae8eb8b6e17378f6a850ae64a68a9f331c8301c938f0a8042d967b3e62b3";
@@ -15436,6 +16536,7 @@ dk-bib = {
 };
 dlfltxb = {
   revision = 17337;
+  shortdesc = "Macros related to \"Introdktion til LaTeX\"";
   stripPrefix = 0;
   sha512.run = "d1d7bd6a855d131324fee30bcb920e0dfa6ba733a1d52f94c59e8f328b533d63444b5ce7e5fca9dcc7f21833a9cef84460106aab0a578fd17974c0e348f1ee07";
   sha512.doc = "171d6661ca71533fb869832be2bf6f7d26244bb5735fb884b5b1ce7c27d291b3e9518a902d6c7565d94d2c55c37b00564184bc5851824a00b5a71963a577128f";
@@ -15444,6 +16545,7 @@ dlfltxb = {
 };
 dnaseq = {
   revision = 17194;
+  shortdesc = "Format DNA base sequences";
   stripPrefix = 0;
   sha512.run = "b4a83c42e16aa734611dd8295aa033904828ac1825ccdd41f297586c0667ebec4a43606740fde56bd01f58ffee1b1f4afa647ce196ed042a5dfdb641f0ee2d7d";
   sha512.doc = "089352ea3210231ad158ecb0bc17d5ba0a9efe49ee4c609554f08dceff9ef534185a7f9f17526910d3b602c4c6c358f211fec4cfe27bd6df61555bce4f9d795f";
@@ -15454,12 +16556,14 @@ dnaseq = {
 };
 dnp = {
   revision = 54074;
+  shortdesc = "subfont numbers for DNP font encoding";
   stripPrefix = 0;
   sha512.run = "27a4c150b3b5e3fa23e0df55289154d44e3eaa55330544e426cdd3126f8ce0308abcc17fa5a011e12d83460616cad039cc483f08d7254b64d4dae933db6273d9";
   hasRunfiles = true;
 };
 doc-pictex = {
   revision = 24927;
+  shortdesc = "A summary list of PicTeX documentation";
   stripPrefix = 0;
   sha512.run = "c866f0855f701917fa81966c16a7f1c869320ddaf38e2c1c2a71844fa7b224fe2216f267b7b700ef6e36a13f97fa6f33a1d05342d5a7a8dd47ccda761fc577f4";
   sha512.doc = "3440fd4d0e2117594d6b350dcfed891506ce7fc0500ecdd4f156431363a38e399061469f5def9082d59c39b14b65ebc19ccb3204fef71ade300825cf35659158";
@@ -15467,6 +16571,7 @@ doc-pictex = {
 };
 docbytex = {
   revision = 34294;
+  shortdesc = "Creating documentation from source code";
   stripPrefix = 0;
   sha512.run = "0b212fe2131eb4070e08efad7f1e0745d0538b2173b274a41c113ae6dfce46d7d1fc8ebd22f16b3a956570865df9cad668866fc2038687ad6c0b7b72e76a79d8";
   sha512.doc = "0daa32aa23ca248dce228b8029cb19c6d4509114094d46efdcc45b52d6593176c44da88040b37d83054ec286c4b79727ea4ab2cf07c4522e5f597750d85118fd";
@@ -15475,6 +16580,7 @@ docbytex = {
 };
 doclicense = {
   revision = 68441;
+  shortdesc = "Support for putting documents under a license";
   stripPrefix = 0;
   sha512.run = "f312fe38842267c1a35ab506354717a0ffc3d4b2684769965b7b94ca5fd6b137d0b13fdc98943b1fe0f635bd673c331ccc53faf5667b75d1192d786972008dc3";
   sha512.doc = "162af038ac645790412ea0e07771c39bbc3706ee3ccd6b8a496b166e7ef51e7802a225b00f1cceb0bdb0c8661ab51a79d4eb40a52c0348f1565fc83dc7efed9f";
@@ -15485,6 +16591,7 @@ doclicense = {
 };
 docmfp = {
   revision = 15878;
+  shortdesc = "Document non-LaTeX code";
   stripPrefix = 0;
   sha512.run = "55f68d7affd8d82631eb0e67c6232330bdff97ea908259a5e14255058d88f9f745afe55bd4a15eb91bff959b7cfc31835fa22196d3d0edcafa40da521b3105b6";
   sha512.doc = "fc3721046105ae78b19b61a45fd01570873842c6786a096575efae282e4fc884f5f5dfd5ea6888a25ddc82077340bf0ede4a36977cd33d2b555ccfc3d0ff2c02";
@@ -15495,6 +16602,7 @@ docmfp = {
 };
 docmute = {
   revision = 25741;
+  shortdesc = "Input files ignoring LaTeX preamble, etc";
   stripPrefix = 0;
   sha512.run = "5c01f4e6922b7a23e753edf9110ae7f1386a4d6ca719ac898b058068a754a6c3bb123f918bdb1087baf5efd1176545f543ab8b93bcb6c9529c9000ad6a3b1e97";
   sha512.doc = "8207eade8841747201656a7e6edc789926a9dd411946a860e4d865fed618392bb9159245f7162adb4a58c88d00191d83f2daef49f610c3d8e5e231ad7f1fcb7e";
@@ -15505,6 +16613,7 @@ docmute = {
 };
 docshots = {
   revision = 69676;
+  shortdesc = "TeX samples next to their PDF snapshots";
   stripPrefix = 0;
   deps = [
     "fancyvrb"
@@ -15522,6 +16631,7 @@ docshots = {
 };
 docsurvey = {
   revision = 70449;
+  shortdesc = "A survey of LaTeX documentation";
   stripPrefix = 0;
   sha512.run = "ce94e7c797ec87694ab4df4ad3eba18586c0251d6cf4a5ef3d615062125a1cbd46ac2e9b7d822cfa07e44961d5354fec093cadbbd48cef403f9ac2c0ca665fed";
   sha512.doc = "4edd65ee2c7c910fc8bcfec3f33bc1f390ab1bb67bd06a84e84eea8421775b28c519615b23d2c25fe4524f79e8e295778fef6868d741f4484f42b1265d49eef0";
@@ -15529,6 +16639,7 @@ docsurvey = {
 };
 doctools = {
   revision = 34474;
+  shortdesc = "Tools for the documentation of LaTeX code";
   stripPrefix = 0;
   sha512.run = "5c621b063d752fbcce773f2b209d358de1588e7c4edec017eb45a74c350e86932ac9c4e0662415ba7ad5bca8ca86d1255b15f4e5572ea949a5d6404b28f14025";
   sha512.doc = "a78cec3ce74e4689c848b49af7da035cc7c684730f78acd7a7f8d8f78194492e53880e7884eb00dd22d4bbca4f370aabe8175048503959f88023a12ee4f26598";
@@ -15539,6 +16650,7 @@ doctools = {
 };
 documentation = {
   revision = 34521;
+  shortdesc = "Documentation support for C, Java and assembler code";
   stripPrefix = 0;
   sha512.run = "330534f15cafffa56dc35e5b4de8caac66a87ccb0b834df5419a68a7cb136136263af14ef14ee7ecaf01fedb2803c2653dab7570ec2535ad1ca3033e1afd64e2";
   sha512.doc = "09854b00d86dd902c26c1b4f8cda942ea09796911939a20014b6d50d01b052e04007b55fe814877cb4515a6aa1f4ca1a7ebb39a6a6ac1bfc89b98d1f910329ee";
@@ -15549,6 +16661,7 @@ documentation = {
 };
 docutils = {
   revision = 56594;
+  shortdesc = "Helper commands and element definitions for Docutils LaTeX output";
   stripPrefix = 0;
   sha512.run = "13a31f6925efd5cb0e0ccc632d7b8ff80e15a2e95399779ba33ee6e0f1d3c1a3f4a397dcb7fe33455471ec65e6fbb18d681349a43b24a083882c23aed5a0b036";
   sha512.doc = "1748ee0bfe61704d8174202dfaf6a674fd52ba154456f6aa18cf90b2248be90f12bdb36993cfc4a701a8aa3037614c2f86be93ac8528f3da3bce96a611cb5748";
@@ -15557,6 +16670,7 @@ docutils = {
 };
 doi = {
   revision = 48634;
+  shortdesc = "Create correct hyperlinks for DOI numbers";
   stripPrefix = 0;
   sha512.run = "7a041a56ecc0f88d5200d39d7611c74f955e79e5f5f887d26a70c76624c334b6229f7b937426cbbabfd7de7ae0f9cd2aee70c502981c46fcc3f18fddd62261bc";
   sha512.doc = "3dd77559fbcb32d8bee7121f62bc37ca14c14c8e62f8d2ba44978438920dcdd54605a543135a6294e2ea9742f5fde4862a2efe3eeb6bf22b6d7418b4b01a2ebd";
@@ -15565,6 +16679,7 @@ doi = {
 };
 doipubmed = {
   revision = 15878;
+  shortdesc = "Special commands for use in bibliographies";
   stripPrefix = 0;
   sha512.run = "3f313afd9cee76d11b5f957a3e9f7cc0d5d2d04003c285df7cd872adc0cdd26d0248c03f0642d62af53f23c4399e7e5ac3ffcde38da782f64ab265e5879a7f60";
   sha512.doc = "0298b7f4a408f2092bb7ecd8d5b0cee745f442bdcc2bae463d922ae4511d5b0fd79b8f78d1de49f77b4fb158937fcb752d919239efc25829228c1f75185454ae";
@@ -15575,6 +16690,7 @@ doipubmed = {
 };
 domitian = {
   revision = 55286;
+  shortdesc = "Drop-in replacement for Palatino";
   stripPrefix = 0;
   fontMaps = [
     "Map Domitian.map"
@@ -15587,6 +16703,7 @@ domitian = {
 };
 dosepsbin = {
   revision = 29752;
+  shortdesc = "Deal with DOS binary EPS files";
   sha512.run = "7f31d47d60b0bf151cd6e6516e29a8414c6344657c133e726e6e8dfe23818995b10b9a2898b1801c4bcb9219969a8af1d2725b75df514ffb119730b3e49008f1";
   sha512.doc = "b9edce9984698db8e50f9183f89b025cfa89dca8a8725054af80f379c88ff1d2b02cef8f3d5f37ee5b8585a59d1a4d0f0ee0e541a7784f3f3f4e382d78e6a47e";
   hasManpages = true;
@@ -15600,6 +16717,7 @@ dosepsbin.binfiles = [
 ];
 dot2texi = {
   revision = 26237;
+  shortdesc = "Create graphs within LaTeX using the dot2tex tool";
   stripPrefix = 0;
   sha512.run = "20cc54f907b00e2eb14e4641d5098dd4886ce8d4627f391421bc5e819614dec97e0ec42c92794bacb8ffcb03737cb8736c308fad6984abf13c127f6d1174ee0f";
   sha512.doc = "9e8461946582e0c99ee35437522e25769e2afe5d7051f072937a57c5d4e1a0c8e144509c751f9ddb7ef576f43ca408ffca663f81c8b5e69fb176a4233ff45ea3";
@@ -15609,6 +16727,7 @@ dot2texi = {
 };
 dotarrow = {
   revision = 15878;
+  shortdesc = "Extendable dotted arrows";
   stripPrefix = 0;
   sha512.run = "43ff7e4e163764e703673312a1213c50f0a77da98f3f36b726e87042d082f3d2433e35156e1c963d1c6287aa4cea5ccc64f140f89b82569b0552f406b29813c9";
   sha512.doc = "7b5a4d0b2b31f55e657eed5b7cc0185a8895df77895bbe40f27c4d29d1086c9fef1779f7c4c726faae25821972fac418c379e9e68ad4cd059b1c6f5b0420e9fc";
@@ -15619,6 +16738,7 @@ dotarrow = {
 };
 dotlessi = {
   revision = 51476;
+  shortdesc = "Provides dotless i's and j's for use in any math font";
   stripPrefix = 0;
   sha512.run = "348be296d710fe22d8122b45437d91027913b90ef36fa7aa365ad49dbdea566506c80072623ccc95170227e77ee2fc2fb3f711772afe4e7e7b83195eb3110b61";
   sha512.doc = "c77fed1f0b8ddbd6ed141fe8c9f914cbd5592820ffe3e457ecf35952817149d1315598f449dfe0e15e0e50328e45b408d3f1ef91fe83154f5374bcc62041ba77";
@@ -15628,6 +16748,7 @@ dotlessi = {
 };
 dotseqn = {
   revision = 17195;
+  shortdesc = "Flush left equations with dotted leaders to the numbers";
   stripPrefix = 0;
   sha512.run = "794be5110d50ff9134471aedec8adaf7267f112012d962ee6e1cd7ddaa36cc37d993517cf4663686c90df891fe2e912d260cc9c9945aaee25925c2915afcc45f";
   sha512.doc = "aeb026d83497b78725d623b52223877d4d5a0a745312511f007d69395b87ba5362904cfa26bb24f2f2c7d0e0ae14bb82699d6108533260d736c0e85bc29ceff2";
@@ -15638,6 +16759,7 @@ dotseqn = {
 };
 dottex = {
   revision = 15878;
+  shortdesc = "Use dot code in LaTeX";
   stripPrefix = 0;
   sha512.run = "037586577425d8a38a2170bc4bb9a7fa28a7886ad852d1c85483f7c3b625321c41a204b613479382ff5fb9e8cc3f8f9d8ff6e0a07c14b71ce6fdc68280515e33";
   sha512.doc = "3708e08c630e27d744c3a865cc02e91868a32b1648b4d390cea0f20ea6340c56ea1720348f6b82796df6cc3f4d5b7feaf59ffe7e24c32e34535a4e5763318df6";
@@ -15648,6 +16770,7 @@ dottex = {
 };
 doublestroke = {
   revision = 15878;
+  shortdesc = "Typeset mathematical double stroke symbols";
   stripPrefix = 0;
   fontMaps = [
     "Map dstroke.map"
@@ -15660,6 +16783,7 @@ doublestroke = {
 };
 doulossil = {
   revision = 63255;
+  shortdesc = "A font for typesetting the International Phonetic Alphabet (IPA)";
   stripPrefix = 0;
   sha512.run = "02e347325823f5b8359bbf192965b58a2b1907dce315277a65dc573b1d2e612fde821455dc8f8afc69dcc532f43a20d0f78d0b0f5649641c8ce6dde73525fc4d";
   sha512.doc = "360c64adf1eface29c60c18e4b20c4aa382713f0e4a59ecab2737135a422178238214c9cb567669bdee82519e0658497bf409f92733403a1749730986be71d5c";
@@ -15669,6 +16793,7 @@ doulossil = {
 };
 dowith = {
   revision = 38860;
+  shortdesc = "Apply a command to a list of items";
   stripPrefix = 0;
   sha512.run = "7c9bc25d94364ea13326ebc010d15c92b27ffad08b68fa5c3b5034e6bbd6a96370d159727270adf76e6edca15d08de86c13ca7ede009a445b500ac22b151c05c";
   sha512.doc = "2fb2234cdf6b42bd3f9f991b3d2d76473c45c51ffb67e7c12e7976310e0fa562cb8d1f01b347e9b8140c854e1ede865cfed17f5748ded909dc8d983d4f246961";
@@ -15679,6 +16804,7 @@ dowith = {
 };
 download = {
   revision = 52257;
+  shortdesc = "Allow LaTeX to download files using an external process";
   stripPrefix = 0;
   sha512.run = "051fdf31160c95e88c8ed1214311b0ec8eda80b7128752c27a203c7e7dc5cee6d275dc4ed93f06308b71d199d9216b18600a2b6b219f852fc256eb2486c2bfd2";
   sha512.doc = "388fbef93df8f76de34e7968b8a1925f294b87972e2e26cb1ae92145b252b5a88fc06254453a6bc15eab14a4532e1a18e3b719ea243142c09239e3521ff8f7d7";
@@ -15689,6 +16815,7 @@ download = {
 };
 dox = {
   revision = 46011;
+  shortdesc = "Extend the doc package";
   stripPrefix = 0;
   sha512.run = "dc37733e7253d457b2fe09b72b808c5198f222dcde12e0d36ae546a8ad0537419fe7f27945625bb3cd3efd2b5b63991e89dede1199e89c67fe7d6917370cab67";
   sha512.doc = "4474e38d3dd35dd14b281f7d2e5ad1d6104d95579901a50b3575e846532c279111c81f813b78c4d16ca6c78ac627a30e51515ee7b178602b7338c1c799c62609";
@@ -15699,6 +16826,7 @@ dox = {
 };
 dozenal = {
   revision = 47680;
+  shortdesc = "Typeset documents using base twelve numbering (also called \"dozenal\")";
   stripPrefix = 0;
   sha512.run = "ca4171da87126231a791f432a6015cc069f0eb0d540f8b79b3b5028f3f3e30d9202622886b582f2e351049603d0323a458fbce3d6b2565af5391a4aa94b734c0";
   sha512.doc = "e7c180bed185135cfba31acbf4488ff0991066be7456a7c54625df458a24819ef8b41bc19eec955967f22fc156ad6efc9e194489178e2cffb806bf066ea42520";
@@ -15709,6 +16837,7 @@ dozenal = {
 };
 dpcircling = {
   revision = 54994;
+  shortdesc = "Decorated text boxes using TikZ";
   stripPrefix = 0;
   sha512.run = "d102312ce1c70eeb9cfb279b065197ebd3ec6d3f54a47de55a5cb9828e76b2e690823a2ea19a935151c972f791783fa41a55adde03aefa54eb2b3fe3da0ea677";
   sha512.doc = "b1b01183f3490897b9681927676a7eafd01367eee6ea2fcb82fdfaae59294c67d96036ef67093fab13f0493adb9dce56f4e420b486bdc5f94e8a7801efcffc4a";
@@ -15718,6 +16847,7 @@ dpcircling = {
 };
 dpfloat = {
   revision = 17196;
+  shortdesc = "Support for double-page floats";
   stripPrefix = 0;
   sha512.run = "df136498f7ba41b1335ac109667d07dd9584e6682e1d75fc82a80839bf0f6d7a4de1f5750aa738eefb96d14d2adea20a3ec9fbc92130481d9bce0abb6c6f175e";
   sha512.doc = "2cbdb8711556580d14a01b9daf03b1a1095387c077413b2815bfaef1af2781fc8bc56fa7a6a36abee60d6ce6928f920c9d9c3deecc2e071e8e99d51c1421508c";
@@ -15726,6 +16856,7 @@ dpfloat = {
 };
 dprogress = {
   revision = 15878;
+  shortdesc = "LaTeX-relevant log information for debugging";
   stripPrefix = 0;
   sha512.run = "4f56a2d6e345cb98eba3ffddfa977bd48661d90bd10712387141b3398c9a85e8b9d7b0f33e75635b7a98e91176f1e866ecf0b14ef0197fc488bf976dd4889673";
   sha512.doc = "455451396b22b3d38288a5c51f6c2413c56ffd07ac1331c3727c4f382eaa07f0a128373ba033ae58e53411e69a4ec0eca67609fc3c111c91f24f2adb2536a2e1";
@@ -15736,6 +16867,7 @@ dprogress = {
 };
 drac = {
   revision = 15878;
+  shortdesc = "Declare active character substitution, robustly";
   stripPrefix = 0;
   sha512.run = "f45c94e222a6bcae0d87ab5aebf0f594f1674a49787391dfb9cce32f9b36a0aa6a81e84ea4ca345e0918ff2166e36738ae9969e4d9e4653bbb99ac6a7f0cc63f";
   sha512.doc = "7e6debf9580d7c145d8f95329aeadd63012bcfe3ac04fb9c4a3e815391757051ce021e4e2659c96fd7ff5066e3e324ac947cfaca16e52bf5895fd5724f81f552";
@@ -15746,6 +16878,7 @@ drac = {
 };
 draftcopy = {
   revision = 15878;
+  shortdesc = "Identify draft copies";
   stripPrefix = 0;
   sha512.run = "f1f2ac803e1858ffab880c7427ed2dfeaeb435255e83ed795e0d5b4262fce1fbf7593653035af2e45d4731107c8f886938015ee1a7fd0018001c0e39e9f1018d";
   sha512.doc = "f7a4941c26c92223a9dde51e288380efe3b701d847051c13345e97f5a082cb3cd9e5d5421dfb2b1f1cdc12214df1ce6970a8ca6fe7463faad73af1a12c3542e7";
@@ -15756,6 +16889,7 @@ draftcopy = {
 };
 draftfigure = {
   revision = 44854;
+  shortdesc = "Replace figures with a white box and additional features";
   stripPrefix = 0;
   sha512.run = "e8ced947e69803243543657185e8fb28e67776dc9eee5e095126ec712fa368c32903f53243aaabb7308c895cf8e0c10a6d89c33e6b6c5d109f0300dab5213e60";
   sha512.doc = "f0a9a59ee326746802fb33412c44148ed8c836a24653df6685ecb69bc76870cae63ac8955274705639e658491566da0d0633ee8d57cf57d58fe43a971252ee05";
@@ -15765,6 +16899,7 @@ draftfigure = {
 };
 draftwatermark = {
   revision = 70401;
+  shortdesc = "Put a grey textual watermark on document pages";
   stripPrefix = 0;
   sha512.run = "39bff239cd08c6c57c445944ba3fca6af408b2ae32212555c9e9dd64c8d7fead3eebd35a48e6c68f139d65ac5404efb60182993ab751df8d8670e646f06cc97d";
   sha512.doc = "1783cd72d65658df483c8c3f4b0b27b7a5e354e8686d08f08ece7cf6e15947bbab6ec9a07efa233144eca4ce3c015027093b4d502c39d2057555fab9ab07fd8d";
@@ -15775,6 +16910,7 @@ draftwatermark = {
 };
 dramatist = {
   revision = 35866;
+  shortdesc = "Typeset dramas, both in verse and in prose";
   stripPrefix = 0;
   sha512.run = "d61da72538a7d83ee902081aefc23f3addf2fd6e5fa7ebb207fdac16546d13602c50419682e842df8f36a899c2c0aba0aaf615bf64202135dd9f470f5391838d";
   sha512.doc = "fc28e1dc8614d836637350a20478a0e8a03121909cb42bfd1cf4caf8e7adc01a4ac3eba08e82c389c41a567cd00f191ecd8938ac40a0a226e2fbdac047ecb733";
@@ -15785,6 +16921,7 @@ dramatist = {
 };
 dratex = {
   revision = 15878;
+  shortdesc = "General drawing macros";
   stripPrefix = 0;
   sha512.run = "1a18f8866d1cffb0ac3c277bf27e1585c7596eab60ed51756077abe3154b6d67ea95205f60b5a244e9acabb05e8dc95a792d48f0a2fc492f90d224f85895fdd8";
   sha512.doc = "0ff34bd23dd8718f4f8b0dc3e84068ca2b38a9758849d98230f1a8d4561705d6db7be3b0fcb34621054993f27df7a9215267b3ebbd7fb3d77b8cd9cfefa0ad60";
@@ -15793,6 +16930,7 @@ dratex = {
 };
 drawing-with-metapost = {
   revision = 66846;
+  shortdesc = "How to draw technical diagrams with MetaPost";
   stripPrefix = 0;
   sha512.run = "9e9deb95f1ca68c4f7b2a1e82bbc213da68e60bea65510e18dfa12528dbf65b20d06769c766009a1db49b9b7a649598f64a513957a4874f6c657ea0c1bc99901";
   sha512.doc = "9d3ac79b2d4165a3e7fe1675826db2190b7bbdeaf8b14460a618ae909e29dcd9796aff70af98bae5307f67945434ab3a304d955ed5d56e17ea94a67f83f2ef09";
@@ -15800,6 +16938,7 @@ drawing-with-metapost = {
 };
 drawmatrix = {
   revision = 44471;
+  shortdesc = "Draw visual representations of matrices in LaTeX";
   stripPrefix = 0;
   sha512.run = "6be4d4ee6970956dd2f3b31d31ca0cfbad268e2f98ae64fd87a49de9ab26765447531121aa0edc157779f3f9c0dd76ab2ec3f747912f4204aab9e2e7181368f6";
   sha512.doc = "07eec69024d4daff597f2a937178f66413e6dc4974a2044f983e809b046f09140db7eaf3cfd68833bd95be0d56b4a564dfc9ad4d771fa124f55ea3783eafca1b";
@@ -15810,6 +16949,7 @@ drawmatrix = {
 };
 drawstack = {
   revision = 28582;
+  shortdesc = "Draw execution stacks";
   stripPrefix = 0;
   sha512.run = "383eab0b77675ae418a775a413c37720d6f74d51d1a31bdb2923b45ced53afa576f10304e372171298ddbd566a8418526d291f74a1871eaba36ea3793d7d0173";
   sha512.doc = "d435447ec29bc26262886b3dc4c41cefae81d24e0704857a9ea61f1fc08ff8e4bfb4ead7686a9f49808dff30da47fc5638e2c0dbea4c6a551800a373f68df0e6";
@@ -15818,6 +16958,7 @@ drawstack = {
 };
 drm = {
   revision = 38157;
+  shortdesc = "A complete family of fonts written in Metafont";
   stripPrefix = 0;
   sha512.run = "662a2593713dc02debd4702b5184586736f12200aba4079154e6890b49d581810e1a7a94f0d3b6750ecd241dc03cd5a638a3ea5bd4792f13829e7812f5620b36";
   sha512.doc = "7821503ea6548fa200221d2c2234389a252ddc61498d66389f0afd13b6c36536b744f060f42bf26c4e2be722a7cbca8841b1b76510391da4960dcfbfb9956177";
@@ -15828,6 +16969,7 @@ drm = {
 };
 droid = {
   revision = 54512;
+  shortdesc = "LaTeX support for the Droid font families";
   stripPrefix = 0;
   fontMaps = [
     "Map droidsans.map"
@@ -15842,6 +16984,7 @@ droid = {
 };
 droit-fr = {
   revision = 39802;
+  shortdesc = "Document class and bibliographic style for French law";
   stripPrefix = 0;
   sha512.run = "76c928be0648ae7bddc76f654b65a99ae6670cb17b0ae9a54596599ff655636d4520b31d4e802a15af65637c5bf956d41a2095762a3c4bb77052c9f74da5e7af";
   sha512.doc = "6129658aad2fae20dd12252941ee774393e262d9322ec2163ebc964ec27c4ffb63f2ce0faf9b74a90717c137065e9af238d45c623cc58d52b1e4776da221e231";
@@ -15851,6 +16994,7 @@ droit-fr = {
 };
 drs = {
   revision = 19232;
+  shortdesc = "Typeset Discourse Representation Structures (DRS)";
   stripPrefix = 0;
   sha512.run = "5054b389c79b6895e648d3d4fcd1a3f7b06b213963245702e5bc4c0e8b6e3a87c6a2d3f72509998216e25553148008e597c6dd3015ef0b94724e84f3fade5936";
   sha512.doc = "c265c462094e50872fc2748167226319a5723aabe54ca057661b95c7cff897afd08f42ce6d520b7ab35f259b760800e79ac6deae0f1ca0c776c2c2aa7839cf80";
@@ -15860,6 +17004,7 @@ drs = {
 };
 drv = {
   revision = 29349;
+  shortdesc = "Derivation trees with MetaPost";
   stripPrefix = 0;
   sha512.run = "b7f2b56f305d552bd857a5950fad2dadbf800857d4c8ee411fd2f5786697385404fce3956e59b5928ed5f0a688117dd740c0f56806674d08cd8cb1d52b79a9d8";
   sha512.doc = "a79d9883615568bd6c0d5aac44cc2ce28e0bd08e96f802d500515428ffb5400beadea94347abab7752904ae01342049b8d6687f6047aa9d8b27f5fe3a647bd02";
@@ -15869,6 +17014,7 @@ drv = {
 };
 dsptricks = {
   revision = 68753;
+  shortdesc = "Macros for Digital Signal Processing plots";
   stripPrefix = 0;
   sha512.run = "f51353329034141f52c38563f79de526b7b47de3435e14dcbf91f658a0f64a7b23075e8cef98d0f948ab54b57681c7d9fcec417b59871ff908c00e12d1711b6e";
   sha512.doc = "0cfcb4e1094284ae954da49c1212bb793831861b57316f48fa93e20e92c8d35e1ee8e02bb1be8ecb52442dd80e3f0f921d024bdc8797a843ea0fcaad29759d01";
@@ -15878,6 +17024,7 @@ dsptricks = {
 };
 dsserif = {
   revision = 60898;
+  shortdesc = "A double-struck serifed font for mathematical use";
   stripPrefix = 0;
   fontMaps = [
     "Map DSSerif.map"
@@ -15891,6 +17038,7 @@ dsserif = {
 };
 dtk = {
   revision = 70117;
+  shortdesc = "Document class for the journal of DANTE";
   stripPrefix = 0;
   sha512.run = "c9f59b7a80c40d4a1a9749ab3b5c48ab7dcbf213166454edcef30226f001d37724967e0306486892a64e1b16fcfd45f9d507f4e467642150ef90a75a5296471f";
   sha512.doc = "2cbf434924fe1b7ce9ed50f647069ab8a278f4be1f65981e7d9f6027f6f0f6b7465e7f2f169e860314f84fe38032ce0cdb0d96b55f281a04b7f830216498b46b";
@@ -15900,6 +17048,7 @@ dtk = {
 };
 dtk-bibliography = {
   revision = 70517;
+  shortdesc = "Bibliography of \"Die TeXnische Komodie\"";
   stripPrefix = 0;
   sha512.run = "c6e8940feb04015e068e70a80b1b7058b451f324a2b7ad87644e011364077630b2fae6f8b292bd7cf426b3b4036279bc4ab449f182326b84016b39d66ae62f05";
   sha512.doc = "9fbbf62c28b5dd4f561e3aef62c033b7cf11eb8276ee1137752d36bd0b018e40cb477f0ea0dabad277ca5c541ef2fe84a968affe606da0cc3fb9123c246ce337";
@@ -15909,6 +17058,7 @@ dtk-bibliography = {
 };
 dtl = {
   revision = 62387;
+  shortdesc = "Tools to dis-assemble and re-assemble DVI files";
   sha512.run = "c2b7f3ab778c01979b158c335e4bff7bbb677fe8c5bc3202a5f43c747119dbc4a7e348c5fbb0bf2a487a49430939fae6abc855392da92ba65441b87e08585189";
   sha512.doc = "476723cb714863405daaa5fdc35557ffe7cb1149735272cfec2f14473ee65b93da90648abf73b4cf09799b1595569513f3735a07173b50eb6db405d526d40660";
   hasManpages = true;
@@ -15921,6 +17071,7 @@ dtl.binfiles = [
 ];
 dtxdescribe = {
   revision = 69507;
+  shortdesc = "Describe additional object types in dtx source files";
   stripPrefix = 0;
   sha512.run = "232d7cbd4d1d65740e97b608d3fca9da8ec4d06faea3fb39fdf49b829704fa269dc6bdaf4235d308fbd0f4027cf2b8fa48312320b4e972940118d69d17ec80ed";
   sha512.doc = "96b2397398fb9a1a59de1ca97543c7bc84892d5eedc5935fedbed753577d77428f58587b42e55a5e69b5c03c68eaa176c51c037340eff4cf19596203051452a2";
@@ -15931,6 +17082,7 @@ dtxdescribe = {
 };
 dtxgallery = {
   revision = 49504;
+  shortdesc = "A small collection of minimal DTX examples";
   stripPrefix = 0;
   sha512.run = "c4b164fc1fe9230aa92bd38689ffa67391aea511af59e74b93c9379f1d027f07091f98734af837a1af90b35b0e2e5245f78f0198f4a09465a8c59c18077a2457";
   sha512.doc = "ea56d62e0fb8b168461f8d01a08a9829ed00db4e2d6a460791de3018be21b4b446ad8ebf4a1c4a69e99a0989b85b55cbaa8aed171a53479df0501ea36cf03bdc";
@@ -15939,6 +17091,7 @@ dtxgallery = {
 };
 dtxgen = {
   revision = 51663;
+  shortdesc = "Creates a template for a self-extracting .dtx file";
   sha512.run = "b197684c1e941a64b606b472fb9e0f1ed4f5d0b0db2df59202712c0e3f3b3993106b8d493d707c4875e90dacd9dc7d12bba784ef7c8d04984a38708073b1b92d";
   sha512.doc = "f666a2b5d3cb32d43a23cc3edcd92bfb727d500a8c439b4b78bae89ac73c317adac9786e4702e78b5b4861b76489ff7af5cfd115a80b96cd6298c65412d56a50";
   hasRunfiles = true;
@@ -15950,6 +17103,7 @@ dtxgen.binfiles = [
 ];
 dtxtut = {
   revision = 69587;
+  shortdesc = "Tutorial on writing .dtx and .ins files";
   stripPrefix = 0;
   sha512.run = "5b8dcf885fb0e3361154f6981efa3fa00c8ea9b11da7aa5f739f87b97b8a89226a4b150b97bfba33d0fcdebe11e7d900ee881203ea707cd8a3fcde16866ce54d";
   sha512.doc = "f7d37f9d766175c816eaad931a7623c3a537d4d8d73c28b57802c417bbd954b1781cee8bcc7445ed09fac9a6f36b2336aa6a9b5b769bba877f72754bc713eb4f";
@@ -15958,6 +17112,7 @@ dtxtut = {
 };
 ducksay = {
   revision = 64655;
+  shortdesc = "Draw ASCII art of animals saying a specified message";
   stripPrefix = 0;
   sha512.run = "d89900ae1247eb6706719ce472964a2d3b82c2826e18b3965de12d0c0503d77968edd9faffdee9870089de19e10319f94b1c6374371d387a50ebab414934bb61";
   sha512.doc = "1231fbd9920d0f9cc6c848df09c175c8bf47771e909463331a593bc71a7656948541e66bff507250030a88a362265531c7997f90fd23b4dde40e555d02b75760";
@@ -15968,6 +17123,7 @@ ducksay = {
 };
 duckuments = {
   revision = 52271;
+  shortdesc = "Create duckified dummy content";
   stripPrefix = 0;
   sha512.run = "77c975ea3e42faee4db5d99d692220884b24ccce2d69a30ce484d113cd261ddf5cf5a13ee04d9e8a95572e98c8c4bedfd901db34379af6a567777f9358e4bad5";
   sha512.doc = "0c9e24cc988b9350d188878dd8b463428133fe30c00218eed3d67917ace24412e55c396422890fc6c02030378b560b3d374970e879e3a331db7d8e34b3302421";
@@ -15978,6 +17134,7 @@ duckuments = {
 };
 duerer = {
   revision = 20741;
+  shortdesc = "Computer Duerer fonts";
   stripPrefix = 0;
   sha512.run = "15f39b70d6b595a1c4d6594a2908fc07e3597bf1bf88ba25b24ee545d473c709a15b52ad0bd367b0cb1a47ff9548a110c6dce6c2a2b2402f655c21f6dac5a393";
   sha512.doc = "babbe18510ab7acc910639e2993858b2cf27c4414772d2a03fd2d3576f7dd64f4c7b1aa05d9a7913b4eb8d4eddc942137b41b87816631b34cf35e0120dd3ea40";
@@ -15986,6 +17143,7 @@ duerer = {
 };
 duerer-latex = {
   revision = 15878;
+  shortdesc = "LaTeX support for the Duerer fonts";
   stripPrefix = 0;
   sha512.run = "e474634e00b86878bc0c09ff247a930e102621d3606079d72e7c284a8ec61d2a2b36f1d09c171b7a4953981dea65df49da1962f01df272fa80354281a3209bc6";
   sha512.doc = "d1ea1a023e9f2f1ea4e0fa045d8831f764dbef34d1ef2ec96090f7f7a49aa1f4ed2df63bb611ee354a1e816a204841fbd7f4059a14ed06d758a31ca9f460d50a";
@@ -15995,6 +17153,7 @@ duerer-latex = {
 };
 duotenzor = {
   revision = 18728;
+  shortdesc = "Drawing package for circuit and duotensor diagrams";
   stripPrefix = 0;
   sha512.run = "33990302586baf5731976a27a8268986db6917137219248e559900fc2e64e5ef443bfd14a0472194a962f6fa59a8ed8bb1caadd46badf157fbe39f36815eacd7";
   sha512.doc = "83a811a37004975e4b3fca67bfed83d8fc85fe97a07a20f624d321c62efddf2ce188f1748a5cea47185675e8d5226433b48327d8d7daf87465471b89b652f2fe";
@@ -16004,6 +17163,7 @@ duotenzor = {
 };
 dutchcal = {
   revision = 54080;
+  shortdesc = "A reworking of ESSTIX13, adding a bold version";
   stripPrefix = 0;
   fontMaps = [
     "Map dutchcal.map"
@@ -16016,6 +17176,7 @@ dutchcal = {
 };
 dvdcoll = {
   revision = 15878;
+  shortdesc = "A class for typesetting DVD archives";
   stripPrefix = 0;
   sha512.run = "e6b553b2e13e87e105ba1c64422e5269e2f285754f12db1d43f475e0f94dbd32253620c1e71ef08de106d5a050c531e058e529264478e7f4545ed83dfffdd233";
   sha512.doc = "59b152b1922bc79ec3a132902547e8ffebce8cc05e2933b3b54292b507d1ac1810cd0aa2c974045b9b996fd14445126e3eebe6ae3d6ec45e1fdccea9a6ca35e1";
@@ -16025,6 +17186,7 @@ dvdcoll = {
 };
 dvgloss = {
   revision = 29103;
+  shortdesc = "Facilities for setting interlinear glossed text";
   stripPrefix = 0;
   sha512.run = "51227cd1323c6ef94f8e0c537289abd3812f39109ce178793347d6615a718109f120bf9e6a4dac1ea801effb6f2b9425c376fdcfd5db6a5409887a8b9b49dff8";
   sha512.doc = "4e59a568e0230e5e5dab7968eb27a8bda4680ed31b23d21fe3dfc15d0e3d8b3d6599535f91a092e2f9dea69402ba8ef07291d2cadc1e1cce28aea927fbb84341";
@@ -16035,10 +17197,11 @@ dvgloss = {
 };
 dvi2tty = {
   revision = 66186;
+  shortdesc = "Produce ASCII from DVI";
   sha512.run = "1051c3448703fdd6395d78b0d8b7658197da6114fb7455b31502bad5c2eda24fd4eba2ceaba1f65d106f981bbc60caf9f3bd0db29403e898b293514d086bf91d";
   sha512.doc = "3ee736f5fbf91472008a5c8613c0e629a9f76f61fee4c4491b67045ddaad7aa2f89a22937b172e058b072ae1a013478fdf5a9f68dd2e225e8a8e77c8e3b3a289";
   hasManpages = true;
-  license = [ "gpl2" ];
+  license = [ "gpl2Only" ];
   version = "6.0.0";
 };
 dvi2tty.binfiles = [
@@ -16047,6 +17210,7 @@ dvi2tty.binfiles = [
 ];
 dviasm = {
   revision = 68043;
+  shortdesc = "A utility for editing DVI files";
   sha512.run = "aa75c4d37cce8087658b66f8559cd31add027eaaf9b4fe4075f42f1bb4cbd30e57ca1125c8ae42852d17d51709b6c368bacc7146f16dc4f0d2ceb56b327dd824";
   sha512.doc = "116a7b02005ced75ae3e712de7d66513ce7d6d3ae9ee4e6e94b347d6000b27bb58d4fc1cf76cec7f19fd7cdd316f42c02e8ad7b8e0f0ccf88d405e17ef2ff155";
   hasManpages = true;
@@ -16061,6 +17225,7 @@ dviasm.binfiles = [
 ];
 dvicopy = {
   revision = 66186;
+  shortdesc = "Copy DVI files, flattening VFs";
   sha512.run = "60f44492a3d1af9686de3118af37f1d054068527f50765e21773f76ec406b4ec0f419d6298dab6b5d33e2fb740bd740f2037f711e8993bf9d3ab8f611bebb2d0";
   sha512.doc = "40dd53fe878937846f003d3b72b7d474c13ad07156e78679501d01c020380a3fcc450aee7a72c0155a950429c258b8fab253a7ce3043d58d88300d0c1037da56";
   hasManpages = true;
@@ -16072,6 +17237,7 @@ dvicopy.binfiles = [
 ];
 dvidvi = {
   revision = 65952;
+  shortdesc = "Convert one DVI file into another";
   sha512.run = "81c58f4e1352a8e5133de1ad86b6b37c47f9b0d29307354001693ebc4975c30808e349c73a477283a16df4219fd5702b733ecb5abe2043aff1d1b537b7fa6a3c";
   sha512.doc = "b571021445b822e9824782ab35a0743ca23f69b809354dea6676c58209a451be5bf595641fbcb461211e6dec15e765bbfaf8164c0ce1ed4204ea72a2073ecb92";
   hasManpages = true;
@@ -16082,6 +17248,7 @@ dvidvi.binfiles = [
 ];
 dviincl = {
   revision = 29349;
+  shortdesc = "Include a DVI page into MetaPost output";
   stripPrefix = 0;
   sha512.run = "dc09380d453b2c83359fa1862f6d289162ed4ec12e7f1b2842789db26e780713981261369dee0d03561a6864bb8bb25e071ca73c3d85e6218667587fa78f55bd";
   sha512.doc = "3418aa91ac8daf98f2ccbe67c2ca13bcf8fc5adb380f7c56e133f4487bc3ab701be1925d7a5878fc02ab7b8607e70991887a3d875d25b777b5489b7ae904aa7b";
@@ -16091,6 +17258,7 @@ dviincl = {
 };
 dviinfox = {
   revision = 59216;
+  shortdesc = "Perl script to print DVI meta information";
   sha512.run = "d366c28a88f488418405944e299b8e8c681a2bfbe1fb8d37847d89920ab41d3103d52072c7455ecec2451702cbbea02971ac6f1e1d609bde9a2f5e8abd345ef5";
   sha512.doc = "4da7f09620beb3aa7e5a572f31c1d53466607ec0f6401b687ac1da624ea435f0efb3e0e2074252f49a720cb6d53412658a8a45dcba5553315fc9423233755dbe";
   hasRunfiles = true;
@@ -16102,6 +17270,7 @@ dviinfox.binfiles = [
 ];
 dviljk = {
   revision = 66186;
+  shortdesc = "DVI to Laserjet output";
   sha512.run = "0d34e837c0f67ac43dd8ef5bfb9a11d2821188ef8259f41b0cf9454bfa6641f956c21d63fe15fbd68dd59f89c1da820cab4ec5c4579fc0255a771c47010821cc";
   sha512.doc = "4b5815d766a41eb74125269e297eb6f7d1626d68b3f2cf9d6c4f8734721e3c71b63e84e729c39fef41320e4f728888796e421bb5c7ea5ffe76cd549400d18d37";
   hasManpages = true;
@@ -16127,6 +17296,7 @@ dviout-util.binfiles = [
 ];
 dvipdfmx = {
   revision = 69127;
+  shortdesc = "An extended version of dvipdfm";
   deps = [
     "glyphlist"
   ];
@@ -16148,6 +17318,7 @@ dvipdfmx.binfiles = [
 ];
 dvipng = {
   revision = 66203;
+  shortdesc = "A fast DVI to PNG/GIF converter";
   sha512.run = "a1693423389d56570a3fa1ac1eb45bffdef5fa9bf26d738adae1ac2361fc9aa7985d4ed0908b5f8aa49e2425da9821989a61a3ac925ac4432c9caa49f66a95dc";
   sha512.doc = "a4473f728047cdf06743520a5cd4c79d7aa41818c44291abf4781f04b87822b03fe5db9f42d489d7542ca259070f71a3f255507f3dc8fbe772e30da8cc88722e";
   hasManpages = true;
@@ -16161,6 +17332,7 @@ dvipng.binfiles = [
 ];
 dvipos = {
   revision = 66186;
+  shortdesc = "support DVI pos: specials used by ConTeXt DVI output";
   sha512.run = "9e949fb402facda9c30fa2f388b80f2cfc530670b33cbd78559e4449fa6004c5d4082e4fb895ea397a334a333e5d5ae1a4f66fde3885f0a9eb28c9d9ebbecd0a";
   sha512.doc = "254a1db41636608a133e7807a8d4ea8ddd99ac646f35b66a43205ac7fdaf4a15c21eafbb85e23a182506e509895776d1fcbe63b3b8a7f197d577c6405ece5c44";
   hasManpages = true;
@@ -16170,6 +17342,7 @@ dvipos.binfiles = [
 ];
 dvips = {
   revision = 66203;
+  shortdesc = "A DVI to PostScript driver";
   sha512.run = "fbaf1dd979ceed4f7146d8aebc31ba7d770a8389b4ac214086db5951c485a2a3e3a62b2772394c8053444dfb8de0d22b3501c2ee3ee1e4e7493a1df5a34cc275";
   sha512.doc = "ac2518c20c26dcda42df79be79ed24e2c021af2084ede43f51a5589b1023c9c94a307bd0a4742880e2c89d7620b2889f3a675e30a449d699d15db98922b0da71";
   hasManpages = true;
@@ -16183,6 +17356,7 @@ dvips.binfiles = [
 ];
 dvipsconfig = {
   revision = 13293;
+  shortdesc = "Collection of dvips PostScript headers";
   stripPrefix = 0;
   sha512.run = "ff7ad395329dd1cc5d21d5459916d0f10a8c03399d733048bce0a8aaa4e3a955f3ad3dbb228319d4bfb96e0694069002507bc294ed81fda5a48ad93f8cd82589";
   hasRunfiles = true;
@@ -16191,6 +17365,7 @@ dvipsconfig = {
 };
 dvisvgm = {
   revision = 70496;
+  shortdesc = "Convert DVI, EPS, and PDF files to Scalable Vector Graphics format (SVG)";
   sha512.run = "94bcb0d873e30ca7d876eb28dc9951462fc28d6961beb11dd8b33fdb0c265614f506d27abfce6b8a540bee55bc489ce2243690341eaa509ba329c88ebcdc28ff";
   sha512.doc = "eee54ef41b2962cad615be1b6082e99087a3790ac057d280481ab1fbc50f3c525c732cb038dd324b757c0cc738e0a26a0193faa79637125858ffea285be61196";
   hasManpages = true;
@@ -16202,6 +17377,7 @@ dvisvgm.binfiles = [
 ];
 dynamicnumber = {
   revision = 38726;
+  shortdesc = "Dynamically typeset numbers and values in LaTeX through \"symbolic links\"";
   stripPrefix = 0;
   sha512.run = "802df3848c8ace40e1eef5c1d30c07a6a5f30fc902a9bb18581b79ff322921e7235ab05981625eb289f093f4486f0aec2e9c83bf669a9afa993a86146317b619";
   sha512.doc = "3eeb8617b33d45c1f97756f58bb87fa1244cd3089e0ed64f363f2909480459ce17e30d54bfbf948642856984618081d0fd15c0721d0190c187b375fbdfcfcebd";
@@ -16212,6 +17388,7 @@ dynamicnumber = {
 };
 dynblocks = {
   revision = 35193;
+  shortdesc = "A simple way to create dynamic blocks for Beamer";
   stripPrefix = 0;
   sha512.run = "bda4ad43754e7d4fa87cc4ac5bdb772cd24a4e613bcf7993e3d448a9c884aad5ad484c6dd7739f4c6edb983560181717319dc26376a6025f3847afb588fa47a1";
   sha512.doc = "4f4084cc4dd913bcff3e71286fa4e881c7d577afd8e0669396de2ab18ccbdbc8649117bb931e365fa5999c5c842a71cab18da5573e83c1d721c87256e614c321";
@@ -16221,6 +17398,7 @@ dynblocks = {
 };
 dynkin-diagrams = {
   revision = 67267;
+  shortdesc = "Draw Dynkin, Coxeter, and Satake diagrams using TikZ";
   stripPrefix = 0;
   sha512.run = "4c7d15e3e04cc562e1f4a401546223af6e53f47f8edcaab6e82bb84246bb6c72b1acc15437402b161a123d11c21ac350d01b33ef7c8d8b7bab6c8dcb9baf7723";
   sha512.doc = "94d9a69e3603664d9f81da2887dfdcdb70d9318ecc13c0232da64cf23e6d6dbcd072807035771c519d58283ac40f306901db8699061305b3c97a3f7ee42ecf65";
@@ -16230,6 +17408,7 @@ dynkin-diagrams = {
 };
 dyntree = {
   revision = 67016;
+  shortdesc = "Construct Dynkin tree diagrams";
   stripPrefix = 0;
   sha512.run = "e8591951639020398e8f6bd892bd2d43217871fae4e94ecb09bc6005f1857858edb5b3b9330c5d08e8490598fd2f3d45bba4d99a9b33de464d0c5e6478399689";
   sha512.doc = "c2b2368a88648efe795a633f00ac826fff3b53029f557a4c5eb7dadbe882f560c768754adbbac09347b6bf44ee3bf77ec4b5ad57e9d5726e2c51519e0d02814c";
@@ -16240,6 +17419,7 @@ dyntree = {
 };
 e-french = {
   revision = 52027;
+  shortdesc = "Comprehensive LaTeX support for French-language typesetting";
   stripPrefix = 0;
   sha512.run = "ed14a41b05d47117fc354bb5a1782338ed91ebbd6071af96f4bb94fcefed31048ef3ed1301686dd720d7f1c9ee59c518adbf83c6c7de2c35e3d50cdd65c0b0bf";
   sha512.doc = "d76ba6c016c8a48a06ed126d0d011e1336203cc8182f744de9d238e723019156f369574b7090cfcc943829ef058b77ec536ab6bb7c054e5e2587dc92998258d0";
@@ -16249,6 +17429,7 @@ e-french = {
 };
 ean = {
   revision = 20851;
+  shortdesc = "Macros for making EAN barcodes";
   stripPrefix = 0;
   sha512.run = "8a44b134d612ad4908a3ec025b0934feb56a8a8d7c7dce91f7ff152fda91c99c0c557ecacf7b22d8e9abf8e99d28b09b21abc8658e598baf37bfbbaa885b86d4";
   sha512.doc = "35c7d054236569b03082af07412f00dd08d760547433ec8da1876a83546c7432c4cdbffb617ff34b4e48b86873d699d41749bd838e12ffe32980b3d6e92865b0";
@@ -16257,6 +17438,7 @@ ean = {
 };
 ean13isbn = {
   revision = 57514;
+  shortdesc = "Print EAN13 for ISBN";
   stripPrefix = 0;
   sha512.run = "84f73871c0ddf2d6d2ae0d23f6d27c1cc985ac1c42345ad339d55762ac9e109f8d33dbf27105ae470ec2d2f127918c3fa0a3c49d9fbff8a7c67b3d20f36d2e8d";
   sha512.doc = "e7c474d1d488d95786d5f061412d051c9306cedeb86f6e31915d44e6fb71f09303b8f0e782be393e56dc6887730560825ef29d57af5a20f7bf02d96f77eb554b";
@@ -16265,6 +17447,7 @@ ean13isbn = {
 };
 easing = {
   revision = 59975;
+  shortdesc = "easing functions for pgfmath";
   stripPrefix = 0;
   sha512.run = "3ed041546ecf6e921ce60f48365a1ba81ebaa8420f8f6d8e1c9ba1b38b20ea2a8c13392295d31a784bcc2fbf135ae37e5b89af794603b98492a4fac9c6dc6861";
   sha512.doc = "bbd559d63635d83e00924a9d40258f3edc32519524dcdc4bd3d7bce0487eec01900eeb26070cd4abe372150f013ab3206b075aaf530de6d395a938465de072bf";
@@ -16275,6 +17458,7 @@ easing = {
 };
 easy = {
   revision = 19440;
+  shortdesc = "A collection of easy-to-use macros";
   stripPrefix = 0;
   sha512.run = "fbc84351fe02c560ffa1c6b1713e762810123e7abee47bb31899d4baed353928350422e7d237abca758753ad306f927466919ce6b160a3820d1d5101c0b71ee9";
   sha512.doc = "27bfb9792f0c8261cd2de9bc95dc4023c69a37e12037855e31c606f0dc18d47e45f8299d385fa1dfcabaf6df298bb529e9da41f6d9d36f38f8d7fb5ef7930886";
@@ -16284,6 +17468,7 @@ easy = {
 };
 easy-todo = {
   revision = 32677;
+  shortdesc = "To-do notes in a document";
   stripPrefix = 0;
   sha512.run = "88b496c1f4f56d26ac2fcc6d82e28d71bf11418368d82d3dcb193f8299672bf41d6c15938f3f6af5ac28141f2a52d132844fd178ebb9694de7f7a22fe8f13eaa";
   sha512.doc = "b2c49273445084f94083ed11f43492ed8ca32582fd9ffe9d12ccb7afe316b06b1924a507c5a12ab5880cae40ef4ee196c6d3e5d05f916356fdc026acc0a9acf1";
@@ -16292,6 +17477,7 @@ easy-todo = {
 };
 easybook = {
   revision = 70236;
+  shortdesc = "Easily typesetting Chinese theses or books";
   stripPrefix = 0;
   sha512.run = "b4abd45311a400ba7812dba5ff6ca299326b1e062c4dfc301ba5e5733fbaf6ab131cc285314396003dc616f40ffb98987279e80575326d4b3258023ec6a8e577";
   sha512.doc = "01d8ce41bae5faa8f818b3a0f95c37827d6a7aa50fe5a74e7ad5e57bd40159b77351467d0c7c71f9513bef32739786078c2295ce3cf62207891f3bdba660ebaf";
@@ -16302,6 +17488,7 @@ easybook = {
 };
 easydtx = {
   revision = 68514;
+  shortdesc = "A simplified DTX format";
   sha512.run = "f3297c900999197a5acbd73b931bffb21cc989296777b4884d62792d283490e46b06282ae5ce0cf3b0411690432dfa442a4f00c693f4d6677b9ced6037234914";
   sha512.doc = "2f9fe3dd6b2ee2d326a05de9f38966f26ea5baa154c3d7fdecea4af944dd041858b9e66f593b1a246bc6a3fe7d44d64fe1ddcb72e2495917bf8f4ad38b6531c5";
   hasManpages = true;
@@ -16314,6 +17501,7 @@ easydtx.binfiles = [
 ];
 easyfig = {
   revision = 64967;
+  shortdesc = "Simplifying the use of common figures";
   stripPrefix = 0;
   sha512.run = "37a8654ee9f53ed35003d7d78fdae32ef195aaebc0530310e7f00829cec431d7df4f9bd807da8dae844731650a79a7cb9f7a7ca20c5dd540bafdca7975237503";
   sha512.doc = "1a197fa61d347919b34bd8735f5265d058e5a932a638ca91d34f43ceecaa155b9277db8ea40178b37bd2bbcaec4f0853c2d42ebdaf16d37e223da45f305c330a";
@@ -16324,6 +17512,7 @@ easyfig = {
 };
 easyfloats = {
   revision = 57204;
+  shortdesc = "An easier interface to insert figures, tables and other objects in LaTeX";
   stripPrefix = 0;
   deps = [
     "caption"
@@ -16341,6 +17530,7 @@ easyfloats = {
 };
 easyformat = {
   revision = 44543;
+  shortdesc = "Easily add boldface, italics and smallcaps";
   stripPrefix = 0;
   sha512.run = "f952227a7b0e579d2bf432b3a72e80a45e8adc22ddd9e7af380de54c12f04acf6c4a88dde5a8e7027d11fb820448fdbcc6a343500ae493fa20341634fc64aed5";
   sha512.doc = "99b5f56c6004b72bfc7289905d2808b5e3c743449896e2af88a7b5c23bae3c62aaf2da9bee43192c662be28372bd856dec1b78a56626d5b1eb91b5e21a759356";
@@ -16350,6 +17540,7 @@ easyformat = {
 };
 easylist = {
   revision = 32661;
+  shortdesc = "Lists using a single active character";
   stripPrefix = 0;
   sha512.run = "b1ddb6242b9ad2e40785602f942d4381a5d72a7d35784bbc2a1732ead1fbd9d730b580226452e9f56fda873b174c56f9b433f1193e0e3424efba4821f7b714ad";
   sha512.doc = "518258b7d24763477376657e128ef3504d2c8e0f71187edf9edd34825d567f9cdcdb09d61a37d99655959d7c76edfbe550bd08ebd7760735e46fff33bddfbf0a";
@@ -16359,6 +17550,7 @@ easylist = {
 };
 easyreview = {
   revision = 38352;
+  shortdesc = "Package to provide a way to review (or perform editorial process) in LaTeX";
   stripPrefix = 0;
   sha512.run = "4efa69b2e6280333a89022f93a95c8af4d22cc9b82c4e8692291470af83696e7ed524c77cfe9d9c397c4136c0ebd8399a8ca4ab47d42b84da35bb79189ff1b6f";
   sha512.doc = "4f71891df0b1dfbf32be06a427f34e5c45f73543b3acb9117487d2bffa46f5b61b74f795249cf3d806705beab710c5a7934a59a8e215c87678e778db517a0832";
@@ -16369,6 +17561,7 @@ easyreview = {
 };
 ebezier = {
   revision = 15878;
+  shortdesc = "Device independent picture environment enhancement";
   stripPrefix = 0;
   sha512.run = "ccd80579b8c7e7e3500ad644f8a418bbd48ad1f2e1cb2aaa82836477553332b43092bb760c01cd7412393ee5b8bf23c055361f111467c71bd7061459781557ac";
   sha512.doc = "b81d28abf5c8b4a3dbed9219e6519e23fa5b94428baa8aef0ff32dd4893b24524e49cbb8ae08327a7ee59eba93cb0fa2950883d22296451c1f7949225f42b1f1";
@@ -16379,6 +17572,7 @@ ebezier = {
 };
 ebgaramond = {
   revision = 66604;
+  shortdesc = "LaTeX support for EBGaramond fonts";
   stripPrefix = 0;
   fontMaps = [
     "Map EBGaramond.map"
@@ -16390,6 +17584,7 @@ ebgaramond = {
 };
 ebgaramond-maths = {
   revision = 52168;
+  shortdesc = "LaTeX support for EBGaramond fonts in mathematics";
   stripPrefix = 0;
   fontMaps = [
     "Map EBGaramond-Maths.map"
@@ -16402,6 +17597,7 @@ ebgaramond-maths = {
 };
 ebong = {
   revision = 67933;
+  shortdesc = "Utility for writing Bengali in Rapid Roman Format";
   sha512.run = "c38185b31613af4d6b27ffb5442cd404c1eb05669605a2140db85ae3074a3a7739c3e375e3cc16736f9c2889224f33f685d503b3908f4009fa308be7737aa499";
   sha512.doc = "a3337ca9bfe756672a66554b88feb59a49f66ecd7d1aec3702d74f29bc53ac1052394bda679a4cb4aa7509c5eb712938ed943a28c6f56a749c926b8d566eecf2";
   hasRunfiles = true;
@@ -16415,6 +17611,7 @@ ebong.binfiles = [
 ];
 ebook = {
   revision = 29466;
+  shortdesc = "Helps creating an ebook by providing an ebook class";
   stripPrefix = 0;
   sha512.run = "3345ec303d77965800fb78a1a6b0645c206534bdf84e5b5287d23fb273a720025ec770527d662a5a535e98fb6cb9a6d37d50569963ca24225af8d626ea7d4dfd";
   sha512.doc = "0aba8d5010ece8e6e3c155d05a87eea960d8ec1b4deb1cd7ba948b4106eb8e20d752d3032696bb98c1d23b1927317d3d53a79fdf0b62e9053245aa86ef6e79e5";
@@ -16423,6 +17620,7 @@ ebook = {
 };
 ebproof = {
   revision = 57544;
+  shortdesc = "Formal proofs in the style of sequent calculus";
   stripPrefix = 0;
   sha512.run = "e2b130cbc7b98555ad010ab5bc5226c68f413581b3128245500ad3ba734e4291c91cc42c96ee4108a1f359fb7cb4c884dd717aedba9e594865466e6c29d13be1";
   sha512.doc = "d5a1b900c73969c590921f3fea138e1ece49d9c9c4f1ccf7d3c1c877f501196a08d8099afde9913b83e653f4a8937e91878640975233f5482b6538d262a6139f";
@@ -16433,6 +17631,7 @@ ebproof = {
 };
 ebsthesis = {
   revision = 15878;
+  shortdesc = "Typesetting theses for economics";
   stripPrefix = 0;
   sha512.run = "37df2bd7749bf91c2e2a6e27e92a9222ed9b9d499b3a9bdb63f7751008bf7a4bea20d62bd59e8672b7fbc7bf0caa1ca77ef797c42224fc4167e5212f21cafbd3";
   sha512.doc = "5c508fdf7304668a371966d1be0198d71cce4ec762aa1b5b480dc495f47dd13d88f678d8613ed266e1d8e1353811e3058c31aaa5ae9f181c34c6bcf40adf5ae9";
@@ -16443,6 +17642,7 @@ ebsthesis = {
 };
 ec = {
   revision = 25033;
+  shortdesc = "Computer modern fonts in T1 and TS1 encodings";
   stripPrefix = 0;
   sha512.run = "a967804b42bcc11e766d5b74de28c54d167625d2b108a34bc5e49351533ddcfe3334e4a7a34966f8d159bbde6a80f84b4d216553ce03fbcfb7a4b6267574538f";
   sha512.doc = "bcf6617cf66af91312aea98f6c4a034f3af4ada14687414e7c3572e319fa4bd957dd25ebf557078297950d8ba8fd02229c5ad53464077feda462263b52536f29";
@@ -16452,6 +17652,7 @@ ec = {
 };
 ecc = {
   revision = 15878;
+  shortdesc = "Sources for the European Concrete fonts";
   stripPrefix = 0;
   sha512.run = "0f91383595d8606d0a118f8111af0531e0c53fe383511b6424f7cbbf70ace9c4d94dd379813bfceafcea11f6be361bf7d8df2088fad98a42a5e5d31476581f11";
   sha512.doc = "e3263aab5c8ac9985c579d4fba121085419d5c28e4813798402ad67213f96575dac0776d18918edaa18d42d458937a1e60ad666b2a01dea445675eea7e32b2c2";
@@ -16460,6 +17661,7 @@ ecc = {
 };
 ecclesiastic = {
   revision = 38172;
+  shortdesc = "Typesetting Ecclesiastic Latin";
   stripPrefix = 0;
   sha512.run = "f2518f8f25bf4b7c7fd34ee5fc271d08c3262ca2d90e271e02db96ef4826bdee53565f004fddd89e886258716874b101e7fb63b46a6124ed13b67facded6ddcc";
   sha512.doc = "35902f78af7c9acc42e23ae1d5c39ead5d92f0cf73f9c27b3f15d025555ed08502709638dec3788305fa776bb2924eb43e691c6e69424b23c21110de3160b60d";
@@ -16470,6 +17672,7 @@ ecclesiastic = {
 };
 ecgdraw = {
   revision = 41617;
+  shortdesc = "Draws electrocardiograms (ECG)";
   stripPrefix = 0;
   sha512.run = "419650d8ad24b9e08523953596a79c318740b2dcb7fd18a7c7a17019fe17cc66439c0acf56a7a7f8176349df0d80b44640511269d498cfa19aba6fb1f353923f";
   sha512.doc = "24968ada8568861eb973967b33827642e1201d002f73d40de5183a38d5f447a2fb93feb1db32807829c071d1a1147039e34ed4c287886260453b9c9737693986";
@@ -16480,6 +17683,7 @@ ecgdraw = {
 };
 ecltree = {
   revision = 15878;
+  shortdesc = "Trees using epic and eepic macros";
   stripPrefix = 0;
   sha512.run = "7461fe472dbd2ecb4e692cdbd58d5b801960d160bd7e18fa7d5ebe3e42defd11faba318d5d9134fd17275a4271f4c7761fa2d65fc1f202b4eb7b0fe3968a9fbc";
   sha512.doc = "3dc607ff60f9e738476b1f5c801801e3dc10713d7f5dc4b790b92f454fec1e68e9abe8efa7e4b0464ed6ad854d7971e241987fd63d406ba9deec9c99f8bf229a";
@@ -16489,6 +17693,7 @@ ecltree = {
 };
 eco = {
   revision = 29349;
+  shortdesc = "Oldstyle numerals using EC fonts";
   stripPrefix = 0;
   sha512.run = "7bed893bb3f379d61dc874280ccc26db037511ea69faf37076f3cfbf01cf3d747706d40086eb99c502f215f026b2e357e44e8940a859559c3a5d9876bfd70c00";
   sha512.doc = "3c2042779dd30c8ff0e8f09580b3173f3dd43659ff2ca94c52500f989a338a29799c22eb08c493dfa82496117d7fd7548f903f71fe488727acf4e517dc6c0377";
@@ -16499,6 +17704,7 @@ eco = {
 };
 ecobiblatex = {
   revision = 39233;
+  shortdesc = "Global Ecology and Biogeography BibLaTeX styles for the Biber backend";
   stripPrefix = 0;
   sha512.run = "bfa49fbd340223db68ae6d0906b617c06605a41aa141ce7863d5ab85b4da44eaba554b93bf163f7e4b7cd2c5131e22ba30161082663588ce85240fe2147433a5";
   sha512.doc = "e12bf5be5028e848baf10fed969a5ea94e2246153b481fc1b8ab55a6fbb5c356391ec4ccdb37ae7c71d76885000d9d74e46271402ed83ed08d1d67a94cf372d9";
@@ -16508,6 +17714,7 @@ ecobiblatex = {
 };
 econ-bst = {
   revision = 68761;
+  shortdesc = "BibTeX style for economics papers";
   stripPrefix = 0;
   sha512.run = "e46ee69626bcf1fbb051d66572e1335496bf7981023540707cd267624798d4b4e75022cd85e0bfee05a227cb20b65c3b70053a4262b662269f905ee89569d2f8";
   sha512.doc = "dfda5046d25922e563df6deb93a9d4402f75c883a8b449f70430c7ab7465e8d8cc392b585e5aead7fe499ed9143d5928bb556ad7ab4c563d54be11270cf8cdb7";
@@ -16517,6 +17724,7 @@ econ-bst = {
 };
 econlipsum = {
   revision = 58390;
+  shortdesc = "Generate sentences from economic articles";
   stripPrefix = 0;
   sha512.run = "e3b007e83980cc9d7ef7fbc1f7cf067d757ba29c886d20f6c53d028236cc688fad23d7ad24cbfde19b6adb77a159b10f2bad617de009b2fa769aaba042a8ff01";
   sha512.doc = "a540e4cb09c88d1614ea0dd46bc35396d9f11a39089dfc9d83c31587a2f72c0537f5d7fe3c8ba1a25559d8b7fa4dd75a577820eeb02386d50fe418b50c6fb8b9";
@@ -16527,6 +17735,7 @@ econlipsum = {
 };
 econometrics = {
   revision = 39396;
+  shortdesc = "Defines some commands that simplify mathematic notation in economic and econometric writing";
   stripPrefix = 0;
   sha512.run = "40c205421ca11111d2aeae9f84b4e418e6b4f260858805c03029753af03def61221b81eabc18dea5fd4cf5722e3dca1ff9f575264257db3a8431b061177530dd";
   sha512.doc = "b5992f38536f0e4ec1c570d78523530b53e428d922517d0ad380ec76dcd2ee21243b9979e876a7f809b1581f4c4b6907bcd3f581dff97c13a0fea2a0fca1d790";
@@ -16536,6 +17745,7 @@ econometrics = {
 };
 economic = {
   revision = 32639;
+  shortdesc = "BibTeX support for submitting to Economics journals";
   stripPrefix = 0;
   sha512.run = "d8bad4a76eefc8729ea06e93a63adadfeed57de5694775bc44f1dfe03217101609ada6d12b7a2382b9d80d068f0c51fb2ef45c2cf289fe294efe23fcf0bd028a";
   sha512.doc = "39c319f14ee3d6fb10fa3c4f5d3a873322d332bc181a33a70020a9fa787383b72809b3b9aea5fcf4a3cff9930543e0d0269f74146c12f2b0d77a4f77c159eeb7";
@@ -16544,6 +17754,7 @@ economic = {
 };
 ecothesis = {
   revision = 48007;
+  shortdesc = "LaTeX thesis template for the Universidade Federal de Vicosa (UFV), Brazil";
   stripPrefix = 0;
   sha512.run = "bed57bb0ea79c74517b26e51d88966f9a05943c4df6464200ffe36f486e9cabccaef2fced0a231b40b40410ef32c44a3ebaa984e6def30bde5d426dc68e42309";
   sha512.doc = "7e1e3716de1eb964142a85ab31e28fc807ca1433f964e44cc8a7103b9ed023457bcdb01af2797a5e22fcf75a2e851d9c534f17937fdc44e4ebb6b5a670c6c115";
@@ -16552,6 +17763,7 @@ ecothesis = {
 };
 ecv = {
   revision = 24928;
+  shortdesc = "A fancy Curriculum Vitae class";
   stripPrefix = 0;
   sha512.run = "0ff0a352516aa90a19eb1a0a9bdc651601edc63f03c5cce9face4bd45b359734d954e2b7859a0244015e3933eaa2d3803d5579ab9260dde51a0ec89db8034910";
   sha512.doc = "1cb8871b552a3d91fb59c644ea98373742ba9bfea64a92911f67f2795afaf01babe82a691fb3344f236e42b92860b754d7e92132b266713948cd1a6af13c58d7";
@@ -16562,6 +17774,7 @@ ecv = {
 };
 eczar = {
   revision = 57716;
+  shortdesc = "A font family supporting Devanagari and Latin script";
   stripPrefix = 0;
   sha512.run = "47906067bd5e2bfe28e6451456e2187fc655986d4eacc89e9c3edf67bdffe7f54ef2c14029c9934db6c85acdacb006cd829255c2209d2d1dbcf57a98fde40e3c";
   sha512.doc = "03fc47faa72ccbfbe696e68bc5f9c332eb7262cf1b3129c6b83fc5f5e2b5c3e0ba93b047dd9eb6d92c32e218d303896272d0c1d3d3dc7fd07b80757ced9f231f";
@@ -16571,6 +17784,7 @@ eczar = {
 };
 ed = {
   revision = 25231;
+  shortdesc = "Editorial Notes for LaTeX documents";
   stripPrefix = 0;
   sha512.run = "a6999fbe2a9a44f961ef60d3da65ea306809d1ee5c39d2fc605982083d69c3c723a0e18f4042cbd441103421cb569008925279871ea8ceeb0af4c4a21b746943";
   sha512.doc = "cd7bac245c14e969b5162b86cfc76e0673da357fb1492ba311930ea7e20a6db61e3a13be2069f4f589ab57cba9fdfb0fcc8779ec8607a624437d1b2bd746825b";
@@ -16581,6 +17795,7 @@ ed = {
 };
 edfnotes = {
   revision = 21540;
+  shortdesc = "Critical annotations to footnotes with ednotes";
   stripPrefix = 0;
   sha512.run = "3ffca21a97b1e54045129a8894db25d677a54c791e3453f53285741bceff0eb4c7cc00e81706ef77ac475a0f54a7868f2e9b444df0c4e4ba6b161fdfa954dc07";
   sha512.doc = "144e2e22c4ceb6ea46235ed51b9a1ad4b20aa524af7b6eff617194aaec4f1606d857a8575e95816b4ef089e5c7d3fc1e2fc8e622486bafe9e5a9ace22bb44105";
@@ -16591,6 +17806,7 @@ edfnotes = {
 };
 edichokey = {
   revision = 56223;
+  shortdesc = "Typeset dichotomous identification keys";
   stripPrefix = 0;
   sha512.run = "c598495449919a67650e7afcc10924cf93f4c29e1dd32305f0581910aaea288d43e6c8c1b91ae9d849b354e343538350ef0d6e78513998a9d2fc6023cd3cf941";
   sha512.doc = "07a8689d20663340d5398a26cd548bbd53c5e6d5c7eac00e9e6478c780e397e765a8cca0e4b41a7b70f09130a1c7fac5326e5f2c46b95f40e11f0ba88b1b3039";
@@ -16600,16 +17816,18 @@ edichokey = {
 };
 edmac = {
   revision = 61719;
+  shortdesc = "Typeset critical editions";
   stripPrefix = 0;
   sha512.run = "12395b2429372cbf88794c197e28ceab4b69ca7d14cf78524e9538491b2ca8d14714e1ef00f2643a0e3e62db559f12a9a53a56d4bc7f54420d3f125727fca557";
   sha512.doc = "d78db33bf2b2fdd17f23eae23ab9605efb29a217e52d89df5feb64db1907c1b5a497441eeb1fe2373342b7c9b09296c06efa24d6776edce84406e22a1967bb64";
   sha512.source = "995092e2ea0776377938076b67f25042329ab76ef31f83f6f40aba449a735a90bc697be52f16fa6a2ac02cbe4ff2ef99762fdc03bd14eebff7a363f6c7f46c13";
   hasRunfiles = true;
-  license = [ "gpl2" ];
+  license = [ "gpl2Only" ];
   version = "3.17";
 };
 edmargin = {
   revision = 27599;
+  shortdesc = "Multiple series of endnotes for critical editions";
   stripPrefix = 0;
   sha512.run = "242e7eff25ffb539353b73c18d31a268efaebe4fb51d9ba1cf376346e559ea2fb380743b29056aeb8e4db2065a660bf59e7c8dcf5469f91c39135be2b8c9527c";
   sha512.doc = "da77df03b3eb89daa0a544d61c88956a7105073110dd9e1f4d1a753805bdf722a63f5a9674897f4f09a92f689d6bbafc190c870cf5784e02df7efed781dbbcee";
@@ -16620,6 +17838,7 @@ edmargin = {
 };
 eemeir = {
   revision = 15878;
+  shortdesc = "Adjust the gender of words in a document";
   stripPrefix = 0;
   sha512.run = "81679a08a320275221058cf0a73d71489621bfa4322a4b90759f67253df06e5c98c1325846966924c145092d9f63d9ba51544d0640c7f0827c7ebc42fddf9f3a";
   sha512.doc = "4f7a67d76504c4fa8de1f7f4e5db19c1ed1509a3ee68d93811c84e3ca523b8ff040d61e14881ccf75d20edc7c6b52550b3b3fdfa58a9a73bf21ec7f8b0b719aa";
@@ -16630,6 +17849,7 @@ eemeir = {
 };
 eepic = {
   revision = 15878;
+  shortdesc = "Extensions to epic and the LaTeX drawing tools";
   stripPrefix = 0;
   sha512.run = "37930ecdebd43ac8ac1dcb42da4d4eb4b5ff371605b9bfe4675ea861f4edff7cb19703669c8356c3d69e7ccc09789bc536714114397c3bca74fcb4a22b6f4d9b";
   sha512.doc = "02efd8775f6d0db35fa4682c6bc715fe619037a6531de60a2955fbd7fca01d97a8e6dee0109a8cd7cc8237bd694c64797392991e5c203baab49dd9857b0ccb4c";
@@ -16639,6 +17859,7 @@ eepic = {
 };
 efbox = {
   revision = 33236;
+  shortdesc = "Extension of \fbox, with controllable frames and colours";
   stripPrefix = 0;
   sha512.run = "5091324e7f5c05385296d570027a8546db4220a24da330ab85ef5d1185772f51b4f200f63eaad0cfa3eaeafd3d055509f4ffbdf798c1139a60c5e572ea46926e";
   sha512.doc = "394387e09ecb0d497014a62fc1caedcb3e00148f6e0a9a16ae1b53efbb4d5cf749e154e4c905d197280e4ecd9bc88ea07ab7e0c004b8c30eadbe7f9f414c1345";
@@ -16649,6 +17870,7 @@ efbox = {
 };
 egameps = {
   revision = 15878;
+  shortdesc = "LaTeX package for typesetting extensive games";
   stripPrefix = 0;
   sha512.run = "b8d1c056783c4a71484a00f0d80de4eb9de3beaa54cc4dc71e5a7c171871b5dacba753ad03ab196661b1bd73cf9d2eaf202a813b73bea405f807319a143644cb";
   sha512.doc = "0216a85d539ab19aef8c2c4f313f5095aa39e4955ae9610c14d0243081b7af98f50a74a2f7720b376493e660a5486f83e69b41f8cb8017ff66a8e706eb9ca71b";
@@ -16658,6 +17880,7 @@ egameps = {
 };
 egpeirce = {
   revision = 66924;
+  shortdesc = "Draw existential graphs invented by Charles S. Peirce";
   stripPrefix = 0;
   sha512.run = "fb91855cd9264b72df852d4adc5d369b26efc5305c032120013d6cb18e99a94c8123cc7c9a4cad86ef3144609f0a34f3645597c91aabaf165a51b903b24c9d11";
   sha512.doc = "c78830f07e8e3caf99f51b53783112fbc7b6ada78ecc284a53e90c532331ce9e4430540e5cffed679b447b9e23cd5bb25c4d437d07a127e65e142322cabd65fa";
@@ -16667,6 +17890,7 @@ egpeirce = {
 };
 egplot = {
   revision = 20617;
+  shortdesc = "Encapsulate Gnuplot sources in LaTeX documents";
   stripPrefix = 0;
   sha512.run = "c96cc3185c09f66fc6a4c19958b88d178cf0b6ea9d889938df5a07d4fb7b19962a9c17ebe0a906ab19a8725808aa09ee41b39a0379fefbf8816a5e78abf9201f";
   sha512.doc = "e6e55708004cdf3dfd753071e2fc242428a6636944f3ea65510d2e9f8e2921b869ff4a22d100b43d70ba0708a5b19f002bbe21f57c858ec72b11ffe82e161e50";
@@ -16677,6 +17901,7 @@ egplot = {
 };
 ehhline = {
   revision = 54676;
+  shortdesc = "Extend the \hhline command";
   stripPrefix = 0;
   sha512.run = "759e123a2418acd7239c4b897e64c146ffb84cc1646d331acc5ca498f707b916c1392f3fb9b97d2916d745e9afcf9c630a5a94e413ecd0c17fc2a8b13f773d3b";
   sha512.doc = "79db947da1c51811e834999889c3d089e2c5077d2d21fe133f6879a87afae4e2c7fcf1f07981ef9335a6b7234f083e74e21364be3526448ebdeda6ba75815fac";
@@ -16686,6 +17911,7 @@ ehhline = {
 };
 eiad = {
   revision = 15878;
+  shortdesc = "Traditional style Irish fonts";
   stripPrefix = 0;
   sha512.run = "3123d601a5f5c34c45bff20eb052a0934a2bba9d693e460fdb84908ed327eff8b3a022a5c617c8818bd48b1fe72b9b0c48443e0cb290f15e94334152f1f5e5cc";
   sha512.doc = "546bbad79f9f13e420b05b318010f078ea8844a02cedf11faa506d41073e2e0668356291a4e12758e5a37586e4aa9c79c17c8135f244756c39b61076038fb8e6";
@@ -16694,6 +17920,7 @@ eiad = {
 };
 eiad-ltx = {
   revision = 15878;
+  shortdesc = "LaTeX support for the eiad font";
   stripPrefix = 0;
   sha512.run = "e052333d39e72562e8e84d0e7f6af7066c2068a782422f612a26bd2903d8143874cd4dcc556d7406f3601a6b3a28506a3c0edc92e4029d124f02fe91edf0163c";
   sha512.doc = "907a20283eb78965dc4d8fdb46c542937c70c7a3f2849984034f9f37872d4d3042064fad0ee232132aadcb7daa4d4ec4b9745f8a6d0406dfa7b929ea68be0d96";
@@ -16704,6 +17931,7 @@ eiad-ltx = {
 };
 eijkhout = {
   revision = 15878;
+  shortdesc = "Victor Eijkhout's packages";
   stripPrefix = 0;
   sha512.run = "448f3b51c984a1ec81428c1840ba01d072cef4d1110b85f8d4f4d786d02e8d08e702e0b33e757035aecef1f43b604746c7b6f492905fbb201fc1a34ca6fb859e";
   hasRunfiles = true;
@@ -16711,6 +17939,7 @@ eijkhout = {
 };
 einfart = {
   revision = 70318;
+  shortdesc = "Write your articles in a simple and clear way";
   stripPrefix = 0;
   deps = [
     "minimalist"
@@ -16722,6 +17951,7 @@ einfart = {
 };
 ejpecp = {
   revision = 60950;
+  shortdesc = "Class for EJP and ECP";
   stripPrefix = 0;
   sha512.run = "160b09a6c0abc694831cdbcb17c8fdd2feddeb27c82c06d70e31a5991c8488864cfc99b7e5768fe745a09ba811a5cc0c108428c6c7f3dbf3d8da7455074bffe7";
   sha512.doc = "206012655184167bc27c73f4fb3b4cd14e6a85dc2c3faea1eaf98d74c89a8e34765aa1f6c47c6a9aa1bf862c98b1273d19e33ebdf099ecbce674b6f7aa39e7e8";
@@ -16732,6 +17962,7 @@ ejpecp = {
 };
 ekaia = {
   revision = 49594;
+  shortdesc = "Article format for publishing the Basque Country Science and Technology Journal \"Ekaia\"";
   stripPrefix = 0;
   sha512.run = "97479cb146f37e0fd80fbcf67db44a474d96da9897fb058073b75bbd9a109f16dfa36bdd97c5fed5397255cf0320028ca687955fb40e069bdfa262af50773c99";
   sha512.doc = "f95512969ca475b87f09fa3b61e2be1ebf949161b7209721579f7ec1399e6873186535ec30dbee092fd69dc427a199daa4f94ee47cc08a0fc37fbac6213429de";
@@ -16742,6 +17973,7 @@ ekaia = {
 };
 ekdosis = {
   revision = 69568;
+  shortdesc = "Typesetting TEI-xml compliant Critical Editions";
   stripPrefix = 0;
   sha512.run = "2b69616e44379680fa41e2e3f42dbac8d052c7d12e6b59e7e56fbe3c7d7f581a44d3cd2cb91d6473b8fd0cbcdadc68f184feb2f7cf0fc2c868f03edef7369f85";
   sha512.doc = "7332370e43de4076fb6f595df6d24419e210c866e79630c3fde4cc50b8e7d7127232ee123443a2443b3f236bfa7721dd43e2dd78d81820f61a5fbe92245dc66c";
@@ -16752,6 +17984,7 @@ ekdosis = {
 };
 ektype-tanka = {
   revision = 63255;
+  shortdesc = "Devanagari fonts by EkType";
   stripPrefix = 0;
   sha512.run = "7bef493207c3de9580b8daf3af8cde6e5ae616cc94334b3d8b3de8c117262c0002ae73740df4fbf3f30df913cfcd7c5c51d8c9659c83d6ec060bd54ae3c96368";
   sha512.doc = "ebb43cd9951d120bf664ab177c70ab2f912e9ff0080cd42fdf1ba695ae13f766d75cafe77794fe69b626895b89956801a527a7ebdb2f87fb48d263f2c3e6ecca";
@@ -16761,6 +17994,7 @@ ektype-tanka = {
 };
 elbioimp = {
   revision = 21758;
+  shortdesc = "A LaTeX document class for the Journal of Electrical Bioimpedance";
   stripPrefix = 0;
   sha512.run = "4db2b191fdb73854bfe605efed30c4835a77180fc865eaf201f8405fccaf880e02ac9ef7802c2d215df8ad77d01fff611114c391a6c43190f95dc2b40cabd596";
   sha512.doc = "5097310e0e400c269a30ef8ea26f400ac7768f4a790ca5b79222c0480553434343de7b0976b18bb6d67bc89dc2b2ad2251c24e94e4747450275fd52a8c9d3285";
@@ -16771,6 +18005,7 @@ elbioimp = {
 };
 electrum = {
   revision = 19705;
+  shortdesc = "Electrum ADF fonts collection";
   stripPrefix = 0;
   fontMaps = [
     "Map yes.map"
@@ -16784,6 +18019,7 @@ electrum = {
 };
 eledform = {
   revision = 38114;
+  shortdesc = "Define textual variants";
   stripPrefix = 0;
   sha512.run = "4103aa370bc8314433b5cc9242390340467591bc38e2f5b820f9d35a1951bb9fe9e384b1d3c64a0434b3c3dc87c42463a0af5d9ff872180bc2b7a08d4b40c080";
   sha512.doc = "c59cfa6957a21c5e74d9a15b7621536170137447111f9a88295e79aa7a29dcbb3d1f1f1367afd7243d2506b864a53df41b0e10419592a5e4e12af8e1e90216d4";
@@ -16794,6 +18030,7 @@ eledform = {
 };
 eledmac = {
   revision = 45418;
+  shortdesc = "Typeset scholarly editions";
   stripPrefix = 0;
   sha512.run = "644df002adf2f39acd9a6704a5c2e18e02f30d17c8e04173fb0f68e9daf5469bb6290c7e98ca181ebd45b40d54dbdf4a14fbbbe7dbe8f945b226ee086efc3972";
   sha512.doc = "14c8b024b6cc817a025b6a4870d3edcf956ac9e358107c80d29fcab41f343efba5b5832dc22cd11fe2e92bc74b58fc5d67982ab26a60230a5b92af4223543e04";
@@ -16804,6 +18041,7 @@ eledmac = {
 };
 elements = {
   revision = 61792;
+  shortdesc = "Provides properties of chemical elements";
   stripPrefix = 0;
   sha512.run = "576b318c0972e8862b8d4cb9c248a3303125019a321b2f5efcc0b6d6c7dbc5cee4a1db725af49754360633d654447d83a58dfc7e25c13e91e034e73ccd5765cc";
   sha512.doc = "6adb7fd993275022e49bda34889a21ce000ff7c247d6c3747494bd67adbfc1776f4c2e8d9affd57dbe659740cd9a5646bd34ab87975d306e8568a27899555e9e";
@@ -16813,6 +18051,7 @@ elements = {
 };
 ellipse = {
   revision = 39025;
+  shortdesc = "Draw ellipses and elliptical arcs using the standard LaTeX2e picture environment";
   stripPrefix = 0;
   sha512.run = "edcbca8843239eae7bd927d9bc6b5095d1b9a4d8db213e22c77ab4a7c5bf7a09781aa225af26f1e4127f263d5322c8138cf38ad1a7b19688468ba2ba56f840f9";
   sha512.doc = "722d50daf9863145c81ad2b97d6acf6b6229d65f868985878651b506b00f52c4a556b888ed848ac1194c4a68e793bc498b2b6b09132c8070b61b103e6ca9137a";
@@ -16823,6 +18062,7 @@ ellipse = {
 };
 ellipsis = {
   revision = 55418;
+  shortdesc = "Fix uneven spacing around ellipses in LaTeX text mode";
   stripPrefix = 0;
   sha512.run = "009bc55dac8eab88e27124317acbf9f3101959cefa4419b507ab74f49453f72f272db2b4826424f3d8c76efb50163c11d6eed63e1219cae2a2632bb629fba96a";
   sha512.doc = "7d0b4c51008203729df1bd50d2c2a2568f2426b7284f0d58eae4720a032e4ab469a5db6cf5656e57ceb0cc9062a7bfe1f3cfe20c51a3d08c85d55c110ce7ddcb";
@@ -16833,6 +18073,7 @@ ellipsis = {
 };
 elmath = {
   revision = 15878;
+  shortdesc = "Mathematics in Greek texts";
   stripPrefix = 0;
   sha512.run = "66e11b5d5166fc6399337183dea142ecd045050176384e71993c76aeacf57c693495b5153887a95051a902167a8444c24ba6fe2ab2fcfc699abfd41ffaa96b18";
   sha512.doc = "3454096f8ddd220820709a83f4b5b741e80213bada631f5fd78292ff77f3a1963a487b07bb6c227451568c594c5bcaec9c1fe9724345a35478a68191305d5a97";
@@ -16843,6 +18084,7 @@ elmath = {
 };
 elocalloc = {
   revision = 42712;
+  shortdesc = "Local allocation macros for LaTeX 2015";
   stripPrefix = 0;
   sha512.run = "7bd72984c7bc1530e2659364b5e93b643db1accc8a034f6fe8333e26ecc12b8dca9cf40ada0b5986576e266e0eb7c801f9a3e4c2cb7dbe4d8c373ba0f0486ba9";
   sha512.doc = "6b2d6f65683912405cc97b81a7cef07b4eb21be4304a12b5e0e11087d809d32023ea8067a81c01d45851943af2efc4eb4018f3a0e7a39e08bdc821f87264d9cc";
@@ -16853,6 +18095,7 @@ elocalloc = {
 };
 elpres = {
   revision = 60209;
+  shortdesc = "A simple class for electronic presentations";
   stripPrefix = 0;
   sha512.run = "6470db4f68936b14fe514828455d7fd96ff9393990982b805e5ba08e2281aa0a98c46551297dde6243e4ee3c5894d87d6fc48fe843177f9dafae102afab4aeb9";
   sha512.doc = "0c3a7e151414e8ecc2ddcfedf55571db3d09e3a3cdf58d42b3cfefc82e160ac2487b6001d6da152b7a7f192a21c2e54b1593c01c7376c359a342f7e5410d16eb";
@@ -16862,6 +18105,7 @@ elpres = {
 };
 els-cas-templates = {
   revision = 62931;
+  shortdesc = "Elsevier updated LaTeX templates";
   stripPrefix = 0;
   sha512.run = "ecb340e796a94aab2e26abeb7d4d72ba5d68adcb15a0d99d3511236b8be5f8ab21d8d32995b1dcf1b0a3ea15eb321df75bbc016c52630b06498b75e9e5f164f8";
   sha512.doc = "b616f6a170484f75dea1134f0570133b63ba40fd1bd474e13ae3e46249224b8ee7a777d0d18e11e828d0e5e59c2635acfecea99537060a7cea03fc2761dca892";
@@ -16871,6 +18115,7 @@ els-cas-templates = {
 };
 elsarticle = {
   revision = 56999;
+  shortdesc = "Class for articles for submission to Elsevier journals";
   stripPrefix = 0;
   sha512.run = "5a0a7c98a8e255e55468f9b01a43c33d757a38faa1b3130b1c3613648dfcbd0fbedfc69db99727c4406ddc0601249b2d021c680f83edd34bc3d64dcd4a7af64a";
   sha512.doc = "47fe52924e95cb8267d0f65ee6962fd56fdc4ce00ccdf49533ff7af0916a962bd8c045b31f2159d7c70d8a041f7c20aafc73b23a8982572d456223afbb85e718";
@@ -16881,6 +18126,7 @@ elsarticle = {
 };
 elteiktdk = {
   revision = 66821;
+  shortdesc = "TDK-thesis template for Hungarian TDK conferences, Section of Computer Science";
   stripPrefix = 0;
   sha512.run = "01ad0912bd93cb849013665046de7ec3773d90860b92c98201a7b075799cf6adcaad6f820abe95520e848f088c85b71afa78e49067da8a1abdea093de4476935";
   sha512.doc = "5d0fef08a196fd796fcd3ea74f5385b83b361c8e7f1bc2bb4a5f663a5d5a86820b7bea137790a973152e5f475008423ddc55f18613da3bc48be211bb79e3dc9a";
@@ -16890,6 +18136,7 @@ elteiktdk = {
 };
 elteikthesis = {
   revision = 66820;
+  shortdesc = "Thesis template for Eotvos Lorand University (Informatics)";
   stripPrefix = 0;
   sha512.run = "e533636f732fead1525c3264f96f69e19074728955772c92c381dedc42e0ed5b14bbdccfe5f9663a8a54a530f52d0c8e2fea556778751214cd626372004872cf";
   sha512.doc = "a3f8102e22a12d0a970e881d3937cde9a4f71550132067ef844fd72e35c6210dd6feef56d236837a2183fa5d749287dc3c4db4cad00dd4c09cbe47fd431a7571";
@@ -16899,6 +18146,7 @@ elteikthesis = {
 };
 eltex = {
   revision = 15878;
+  shortdesc = "Simple circuit diagrams in LaTeX picture mode";
   stripPrefix = 0;
   sha512.run = "6de1507df2fe408081aad0f75b69d7c21807f238d37e3c6d9cd243b741ae1761aced90e948a0c570f28db5a39616954412fc77a87482c890183f039923915c05";
   sha512.doc = "1bdd0f64c524def46dd0a20482b9ad6925b0d06ea272b05d6163a23f61ad1727b099a893f5af7a7de4140bd264b1d3503794a4c9c11cf8137c5c6070d08fe0e3";
@@ -16908,6 +18156,7 @@ eltex = {
 };
 elvish = {
   revision = 15878;
+  shortdesc = "Fonts for typesetting Tolkien Elvish scripts";
   stripPrefix = 0;
   sha512.run = "ca1496b488a85a32364b264706c9b4e4edde5c92681493b150942a3a8a2a32158b314a163ff4be8afbea489a75feb5dbb1c96e8e70f730530cce6472f9e46912";
   sha512.doc = "e296ece5bb11d273b33e801ecddb1b9bb93e5f8cfc4a7d62b1555ddca89661557149935b7c5a71880efb888364989715b4e39585b2de1bcd8ecc24203afef199";
@@ -16916,6 +18165,7 @@ elvish = {
 };
 elzcards = {
   revision = 51894;
+  shortdesc = "Typeset business cards, index cards and flash cards easily";
   stripPrefix = 0;
   sha512.run = "436449b4e8d6368fee200dd810b05db570d27846a56a5159422e7af74348f08e6f2f4c45cdc1aaf21d31cf0ac6e8552cc7f0968c2178ad4e65163294d771e027";
   sha512.doc = "c24119acc3aebfc676641b17a0db75edc30dab7eb3aa766e35291463ee6049c9570ebe05d456e0bc0fff3765bee514332cde7b80e7d1479ed440c621143b7457";
@@ -16926,6 +18176,7 @@ elzcards = {
 };
 emarks = {
   revision = 24504;
+  shortdesc = "Named mark registers with e-TeX";
   stripPrefix = 0;
   sha512.run = "8e5f2d559958083abbde5efe9e70b3cb3dc71cdddd3066ac305c310fd5a8b2652bc6b5ce66531963c5a5f9426ccfed7eee0700938ed6a515865ac8e1718de5aa";
   sha512.doc = "4deafa2295612c7428b82a4c8c2c19811f91c2d456b430b6ab59014b3cdb42a86a84e67319745dea469ae40f89b36d104d30db28228c825ba0d86436a37cc7df";
@@ -16936,6 +18187,7 @@ emarks = {
 };
 embedall = {
   revision = 51177;
+  shortdesc = "Embed source files into the generated PDF";
   stripPrefix = 0;
   sha512.run = "c531feeb7557cfca45127d9c37c93bf5835e35efa7c8aab65d58594c30d6864deaa22b64ba90cebcb1e9dcb139b00ad64ff96238835b8e059169278fb602ff2a";
   sha512.doc = "be228eb577bb2a59b93c7684bc1fd47e9a4a505f6c66eabf434ad29523f978c877608fe76cd6ee24c8942889710270b8f304170f445e2a1408303d7c5a8a52b7";
@@ -16946,6 +18198,7 @@ embedall = {
 };
 embedfile = {
   revision = 65528;
+  shortdesc = "Embed files into PDF";
   stripPrefix = 0;
   sha512.run = "5fe36b7666c58f676b48fde16ca5f07296dfd2f6d28cb8861ae3d341020552a509dd79695afa73fe20c6a5e6e87d3557f89f66902e8f02f39665efd9fac8120f";
   sha512.doc = "bb2e63963298b2c3a35c71b83eecd6464c7e4841e1098177ee78e56d15e072a88e6c58964e9292d70d495cce513b46d7b542d30574a41f4d0643df1f3b6842fd";
@@ -16956,6 +18209,7 @@ embedfile = {
 };
 embrac = {
   revision = 57814;
+  shortdesc = "Upright brackets in emphasised text";
   stripPrefix = 0;
   sha512.run = "930b42ef834a50dab0889598e1cdc531a610c9a5a8cffa31f7bea5f3c55d947db59453f71e061c8d055da53fb50fe20c17341e47c2fe5bb35a604ceac71922d9";
   sha512.doc = "f56db972f586aab767cf7300a3fa34a62564a67ede77ab8f8b6fa03ecf07680692eb0023cd3ed99656235c5afe80b672a4b3e50ec8f0ef95c9744a48ee99c399";
@@ -16965,15 +18219,17 @@ embrac = {
 };
 emf = {
   revision = 42023;
+  shortdesc = "Support for the EMF symbol";
   stripPrefix = 0;
   sha512.run = "bc1b601aa523b30a54493ac92e15bcdb918775e9f57514b62357b85b5919fb05cc945b3120cea474fab714585fe2a81603f43eae51bb266e8989af6105ebc65c";
   sha512.doc = "f2e37967476ed678dce7c01f195ec03f77327d59beb2b15cc6a64ef92cc377700a2b7b528ae6c42497cde0ac127cd10c51e3ecf5fda0cf7954d598a0dc92b5df";
   hasRunfiles = true;
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
   version = "1";
 };
 emisa = {
   revision = 60068;
+  shortdesc = "A LaTeX package for preparing manuscripts for the journal EMISA";
   stripPrefix = 0;
   sha512.run = "dbe700eed5cb82ed687a5650fb58f07cd588d7a759ef67f0b015a795a732ec1b2d3019f637ecfe39fa240c93816c41084c5448d107371d209d40ce122fbda821";
   sha512.doc = "48529f12758cc7874b45ff5fd418641b322ac33541aee2665ee309a6b0bee8362c97fc2e31870fb34430d60343cae433f5a2793dc785c5a88d4f2e5518317433";
@@ -16984,6 +18240,7 @@ emisa = {
 };
 emo = {
   revision = 66944;
+  shortdesc = "Emoji for all (LaTeX engines)";
   stripPrefix = 0;
   sha512.run = "633c92dde16b5170d5ea27fbb5e72e865300abf27054cd167652ebe598b90a8788d129c950e5a230f75201648b25aaacfb6b47aa44e994d05549c31a82600da5";
   sha512.doc = "e60b38c75c23bb4ec5d453d76fd2c815abe712d1c602eac6897eb1ec9b51f1d6a964fd5aae5c7ecf17956eb9d39104708e887b0efab0830b72b9ad37c8c79af2";
@@ -16994,6 +18251,7 @@ emo = {
 };
 emoji = {
   revision = 59961;
+  shortdesc = "Emoji support in (Lua)LaTeX";
   stripPrefix = 0;
   sha512.run = "5c87970b1d47489027ef1a13bd35958b54c7c8b7bb59f7a97a5293d2156e3acfbef13c3a83b5eac3ce8297aa01b25423add40d3d0e654b5e0007f34556449e5a";
   sha512.doc = "170a8e35c4f4c86751db4d357df39dbc215126465e784829cbd15e9226d04b92aca0d7836312c114d1c699daa5054883f364377d1f355f97024b63741aeede0a";
@@ -17003,6 +18261,7 @@ emoji = {
 };
 emojicite = {
   revision = 55131;
+  shortdesc = "Add emojis to citations";
   stripPrefix = 0;
   sha512.run = "351fd8292800ce22d821351a6f69afadc87a24e4077dafd7a83b5f70b3f700c44764f2434255fde29532007faf952cb39d97f642a0b91c1cecc3b58d85753ab5";
   sha512.doc = "642c3656e3f6e89deab561df4253bcac0f98f1b65537ba3c78079ebc4d3a9336ce40fe8abb1955583e404b3945d76fcbca19845dbde7bd7c8f4db0a6209d80bf";
@@ -17012,6 +18271,7 @@ emojicite = {
 };
 emotion = {
   revision = 69881;
+  shortdesc = "Make emojis more easy to use in XeLaTeX and LuaLaTeX";
   stripPrefix = 0;
   sha512.run = "17516f0c2ffee5a1045fbb11b4f49f09b3cb14ae0dd223c8427a107a625b7910ffc4085ec3937a28a4cdc58614ae41512ed1059edb0835007b8b19d6ca1526e0";
   sha512.doc = "5cf42cff3b1730fa8fe9bf5268018a2ec7d39fa599528794eb01d5906f2dc6a85be5508651d5828c014b06fa4b1efd24821fd68a6d454649b1a8d0b1aec669e5";
@@ -17021,6 +18281,7 @@ emotion = {
 };
 emp = {
   revision = 23483;
+  shortdesc = "\"Encapsulate\" MetaPost figures in a document";
   stripPrefix = 0;
   sha512.run = "5028360a2b412232b06b0bc53352c7a0a379943c14781b49b45cb75aef044df5bda24449dbf13601d1a574e5349bd0f2d2f7b7969f10bf72b3aeebe9e81b6ecb";
   sha512.doc = "480edb224fcb42457c6252d4b6fd8cf42796e9b2ac72aa8d4bb22b3840cb10a55a509a47b8c504efbdba3e28192acee367e99638dfdbf9cab4fc5628496cd5db";
@@ -17030,6 +18291,7 @@ emp = {
 };
 emptypage = {
   revision = 18064;
+  shortdesc = "Make empty pages really empty";
   stripPrefix = 0;
   sha512.run = "6379cbd0983ca7b58d2c94ce02a76e054faab1afb2942227469dcf2c4d572d9946921b6d24e9c7d2b5a82cc45e7e380a8ffae671f165ad0e2a3a611b95841352";
   sha512.doc = "11681a155df95f913c3d25cceb32b54ace35bfa5aa7541916c15473b951b02a7417380dfa5c30f5dc3de1259d6cad99859c31bad4c2f2056ffb4608c614a2e14";
@@ -17040,6 +18302,7 @@ emptypage = {
 };
 emulateapj = {
   revision = 28469;
+  shortdesc = "Produce output similar to that of APJ";
   stripPrefix = 0;
   sha512.run = "12b73ef4234af72358c1f120d860b7ba823bb4d65f91cba348a4a136b57f8edccf3849eb36e95c50cc40445a5fe3908652c221b938ee34a17aed6b4cb265744e";
   sha512.doc = "2d226b60313de3387d87c373a23e490a66c2fe1a94e97ef2364e65fafb037a148db7f5162ab9d3f1d788a037fdebe02ddedaa772eb715dc1ec8fea941b0e6708";
@@ -17048,6 +18311,7 @@ emulateapj = {
 };
 enctex = {
   revision = 34957;
+  shortdesc = "A TeX extension that translates input on its way into TeX";
   stripPrefix = 0;
   sha512.run = "e6dc0988bd10dcefd63db2a57999637b63187d8a234c46dcb148e9dfe8388800e61237d7b58d271b735d2658d40c1f81016b5018e239d556fb9615d35b4129a0";
   sha512.doc = "2bf47c879c6ed0fc539763c899d8db261135f1a0ef0052904d03a72663cff38d40d2fe7b0daacaf2d54771c7b9eb5e98b73ef71d2a733899d458803f8caee723";
@@ -17056,6 +18320,7 @@ enctex = {
 };
 encxvlna = {
   revision = 34087;
+  shortdesc = "Insert nonbreakable spaces, using encTeX";
   stripPrefix = 0;
   sha512.run = "f6aa0a954affda9152f5b15958ea453e3c2979205f25a5d9f15e3fb189b2352a87256a345d382a3c7dc401eeb55360afa9cf942cc4779406b97cc8f8c47eba81";
   sha512.doc = "01f44c8205daf33006eaa73061d27c9e17ce5b456e73f427f797023cf94d7380e44180c347021cc5c17870550fc7e626bab8de6219d6b56000526aa54ba34efe";
@@ -17065,6 +18330,7 @@ encxvlna = {
 };
 endfloat = {
   revision = 57090;
+  shortdesc = "Move floats to the end, leaving markers where they belong";
   stripPrefix = 0;
   sha512.run = "9c3820ddd36934dcfd049ab766ed037119459d02e9c049401b910b1c14ae2aed93d94110db66f0cdd2149451e152b5bcac14866c7844ba4a47f8c0a27756f733";
   sha512.doc = "0004d60fe959415670b5173bbab6d37733ed82b537d714c7357dae85ff8f7204e316c48d2651b1b53cc9b6ad0206a47c9cde1acdeb6aae676a25e50f363238c2";
@@ -17075,6 +18341,7 @@ endfloat = {
 };
 endheads = {
   revision = 43750;
+  shortdesc = "Running headers of the form \"Notes to pp.xx-yy\"";
   stripPrefix = 0;
   sha512.run = "55f01774d62616b81fc846af275067445c8979d50cbb67c8f6cdc362a26999c83c9ce5428af28170ab9e4c6262fc4ed8bd0431c5aee8aafa89e38bf4cdc30989";
   sha512.doc = "bbed9408161f827ebe39ae2161e89f1f15d8327f29f7eb18bf58f3cac7c58492529caf05ebe3111891520c406c547b2f1aa57d2927c5f857ea6e02ecfa9cf84b";
@@ -17085,6 +18352,7 @@ endheads = {
 };
 endiagram = {
   revision = 34486;
+  shortdesc = "Easy creation of potential energy curve diagrams";
   stripPrefix = 0;
   sha512.run = "50cda29c5f045e45e0421efe11128b11be1206b4ea3b183d401562a9c8afe214031c993f885bfca67f81e8b4827e024a0aeb1d95e5a8a03426f72f414cfd17fe";
   sha512.doc = "0807629080916e9ca7451fd1975da985ac786326914521c21155c337acbf48888620e3bac03b00fbbf45bbb47740faaa40d1db768a296e4a6b1cf6c6671357ca";
@@ -17094,6 +18362,7 @@ endiagram = {
 };
 endnotes = {
   revision = 53319;
+  shortdesc = "Place footnotes at the end";
   stripPrefix = 0;
   sha512.run = "3b4d5b55dd1ef844b96d30c7d40d5ea56ea3082a9e6740e3bffb837b864823a2c5545a13fa79eb49f79b47ee86aaa28e15c64f676bd27e4987aaaaca76bb2f31";
   sha512.doc = "e4de81d6cf0d7bc686d84420dff1e390ad18747ebc9381c6df006f871f9d5e000aae5cd43a3648dfdab2806da83efc6b375ceb4a9110137ed6b373538a7a8b57";
@@ -17102,6 +18371,7 @@ endnotes = {
 };
 endnotes-hy = {
   revision = 54758;
+  shortdesc = "Patches the endnotes package to create hypertext links to the correct anchors";
   stripPrefix = 0;
   sha512.run = "abd177ac968efce6749d8bb80c327bd8c3617e14045d124e036f2e503eed7bc33c72112d46acebe84d8a0a2f25cf3d99fd02a514d3673f38ada9e7fef879e3f5";
   sha512.doc = "46b7ea667c12de23f0491af714e5b86fb7fdbef0e3c03d7c31e242dc715745824be08028861c0e72244695aee8bcb0ce2191746c8d1f906523dcbe6b39958281";
@@ -17111,6 +18381,7 @@ endnotes-hy = {
 };
 endnotesj = {
   revision = 47703;
+  shortdesc = "Japanese-style endnotes";
   stripPrefix = 0;
   sha512.run = "acc3ecb055add319d5cbfc4e542c1be490c00187153990dd42d5b9a23adfd19795bebe4648129bc1cd8aa8cc243111602b287183803db8b5962b23b6c60487e3";
   sha512.doc = "71e52552f4a432b8743e448142fdc8e49b9e1ff1d290b6d20731c083f62bb5be823db76720fcfa40cbb8bf75968b80875926aea8a7f67808555fdec160de1911";
@@ -17120,6 +18391,7 @@ endnotesj = {
 };
 endofproofwd = {
   revision = 55643;
+  shortdesc = "An \"end of proof\" sign";
   stripPrefix = 0;
   sha512.run = "a4b62882d4111a916588298415546fd402abf15ad89177fc2f57b983ef4060b49c7f73677add54c683e0ac8d40b91280453f8a239bb9da5e262cca20d12562d7";
   sha512.doc = "5953acfac90a34bb2c57cd813d220279fb96fa74415f0d7677ed7b7a8839b858f64b3c96d1dfd2dce5a8704e76ffc7eda1e5aa337585f6715ae229a759148ec3";
@@ -17128,6 +18400,7 @@ endofproofwd = {
 };
 engpron = {
   revision = 16558;
+  shortdesc = "Helps to type the pronunciation of English words";
   stripPrefix = 0;
   sha512.run = "e525f8d2ad25b93566c101edd29a70d49d9f65f591e15bf3457671aaf748da1afac5d483389eada870cefc9e144010e16c561d0561d97ecb3ae240e21b5c5b39";
   sha512.doc = "dfa3ba98bddd11db47f308c988735967d1ec92c688081bad0deba88c29bd01c976bd1180342b890489f3026c964520ec1fa399fdb52f484c24285e3540a12859";
@@ -17138,6 +18411,7 @@ engpron = {
 };
 engrec = {
   revision = 15878;
+  shortdesc = "Enumerate with lower- or uppercase Greek letters";
   stripPrefix = 0;
   sha512.run = "3856199a11043eb42062122d99f11a64791113ebee137b588b69eab7ba79d721349c2268440a4b801b0e7bc293fc99011fb9a70a732a03a5656cc6302cbd0054";
   sha512.doc = "f5402766dee90ec0cd2aad59db562a7314805072d4247e5930e59f5aebda9c1b87c4b6935028ec960bca4eb27a1bb1c7ff31b2a671ae0338e1058e24323d4cec";
@@ -17148,6 +18422,7 @@ engrec = {
 };
 engtlc = {
   revision = 28571;
+  shortdesc = "Support for users in Telecommunications Engineering";
   stripPrefix = 0;
   sha512.run = "c1ad2ed5337168c70bcfddd35c72b83b19a1596bc7d9c71298eb82ad8637c984253c79216606060753d1cc5ad4f961095eed8be2381b786b12202f5b0bc748f1";
   sha512.doc = "4c6cbcf337eca115a856eda24924588208ed9e7491936640c8875d49d649d6012279e4eadfa7cdb6544e08fa283c341754d896c921402a2b1180764e8a8ff233";
@@ -17157,6 +18432,7 @@ engtlc = {
 };
 enigma = {
   revision = 29802;
+  shortdesc = "Encrypt documents with a three rotor Enigma";
   stripPrefix = 0;
   sha512.run = "70cf80101d3fe9a75e750f5b3df4db79f30f5ef76ed65f4bfb40f36e5c8c5f0d22468396fe3a531508dd484ed5929cd14d4e22734a92814a4eae9ae2ec3e2b07";
   sha512.doc = "b0509d252a2dd7b61339ed084dcb8dd4c3ec0e63aa6fcb7fd81302b82bbd3ddb0b68d0460e5970798a12b2b66e1f560b80c7bf36187553abf6531e0916ddb71a";
@@ -17166,6 +18442,7 @@ enigma = {
 };
 enotez = {
   revision = 61490;
+  shortdesc = "Support for end-notes";
   stripPrefix = 0;
   sha512.run = "0f292fbfa3ad395857bf04c50817376152765c1511bc1b922fb6612033a0924a416b83b38e15a36ee792ec5ba351614e93cf6b70c6b2eb8cf78ca74cce6438ec";
   sha512.doc = "6a52564111cc5af280ecb578c916a340ae0f0a8e1848f6d19d97d4c8dae863af7c8c0ecd057f5eb54ee701fb1f3f0b101bb4b6fde2500af71867b5d38a29cc8a";
@@ -17175,6 +18452,7 @@ enotez = {
 };
 enumitem = {
   revision = 51423;
+  shortdesc = "Control layout of itemize, enumerate, description";
   stripPrefix = 0;
   sha512.run = "d49701368b0ce611f5cfb52ec06616edc27b2dedb99230983ffc59c4c1eadc265a8afd3c94f1e57920de875c4ec684fec007dceca59fd4f4008bb5572c13880c";
   sha512.doc = "b61f62bb0da61c7124f661739ebfaff6147d73899511d8b1a1d4b98b31bc596c3994acfd73c3c1922f5cc8a05c6a98572254067718be394c48976a10b2351503";
@@ -17184,6 +18462,7 @@ enumitem = {
 };
 enumitem-zref = {
   revision = 21472;
+  shortdesc = "Extended references to items for enumitem package";
   stripPrefix = 0;
   sha512.run = "5cd16cd19d63d4825dd1f726ad7617bc892a0d80e41f559234b3f82950f589f044a9816005a089f6837805ab08f07b507e47c5d2d389728adaa5350a76d1c1ea";
   sha512.doc = "af4404c0f76f6f693d1fc0a82e0673c461a1acd6a0d7e9cbac10719790e54199deed1b87fae59db4826c2d1874ce59c7c2a1e5ae33286369a4f7e495223fe2e3";
@@ -17194,6 +18473,7 @@ enumitem-zref = {
 };
 envbig = {
   revision = 15878;
+  shortdesc = "Printing addresses on envelopes";
   stripPrefix = 0;
   sha512.run = "e39ce40decbb52360cfe465d8a5147f9eb5bfae8dd42b86a868a46f1d3c2544d14035d6c307e116c0d08e6ecb62ba5943de803ee9d40a0a8cdf94a88aec8f808";
   sha512.doc = "cd8c32d4694252449e78736be1697f9a8da01079a8aeafb774d92ded858de9ee7ae163b3758710df466dd0f75fb8b325e86e575457b66c8107f3c580fe0fc737";
@@ -17202,6 +18482,7 @@ envbig = {
 };
 environ = {
   revision = 56615;
+  shortdesc = "A new interface for environments in LaTeX";
   stripPrefix = 0;
   deps = [
     "trimspaces"
@@ -17215,6 +18496,7 @@ environ = {
 };
 envlab = {
   revision = 61937;
+  shortdesc = "Addresses on envelopes or mailing labels";
   stripPrefix = 0;
   sha512.run = "d4272cd079bc0b48835d675f1b36d0155d7da4cf920785dc7fdf608c311f43afb88e6861087c79774af6a434aacce05dda59f9e53aa7b2f3f37e06415eafa01e";
   sha512.doc = "dfc28fe6df6822fd8f45b3bd31a66e635cf621daadd5465408dfdca47a176e0f23e66501b5b89a8f803265c68a02db6a7ba1e05e0f9ba0f35287bc582d1f48a0";
@@ -17225,6 +18507,7 @@ envlab = {
 };
 eolang = {
   revision = 69868;
+  shortdesc = "Formulas and graphs for the EO programming language";
   deps = [
     "amsfonts"
     "amsmath"
@@ -17247,6 +18530,7 @@ eolang.binfiles = [
 ];
 epigrafica = {
   revision = 17210;
+  shortdesc = "A Greek and Latin font";
   stripPrefix = 0;
   fontMaps = [
     "Map epigrafica.map"
@@ -17259,6 +18543,7 @@ epigrafica = {
 };
 epigram = {
   revision = 20513;
+  shortdesc = "Display short quotations";
   stripPrefix = 0;
   sha512.run = "8952dbb6f7c573028b1f9621cd9c947a264847e59e1ead9547d386d71c2c15ab5f9c26088568b023030645b02191c9b72d827a80706ca1570785876c6acac6f0";
   hasRunfiles = true;
@@ -17266,6 +18551,7 @@ epigram = {
 };
 epigraph = {
   revision = 54857;
+  shortdesc = "A package for typesetting epigraphs";
   stripPrefix = 0;
   sha512.run = "bfcc661316dadf02c8bc1c4378b04c588ef612f030c764af3119e5c9eb42df667f7da9ad71b90fc2b5dbe7adf4094b05d792ca2fb2292c96035384ce65578293";
   sha512.doc = "d8d2ac763e6bdcbcc200fa21995ea5044b4adad11f147b3d7e9f212274c1678cbba7661cc93df8cd013470a5397ca257690d85b8fe55704800284805abac7c62";
@@ -17276,6 +18562,7 @@ epigraph = {
 };
 epigraph-keys = {
   revision = 61719;
+  shortdesc = "Epigraphs using key values";
   stripPrefix = 0;
   sha512.run = "5e92bae46fec0037bb0a2b92c2b44de0c73ef4b434584a0bf13aa4e6f09e89e5e4b7fcc3e4809cd0f5e574d627285b8eb97f3971c65745e48591bd8e4a60f7fe";
   sha512.doc = "21c4e1f6b5c3a5b4402e3d3189b6b2424aa952e777994d330e4905393563030f9cd2dad9cc20c2157accc0e78fe98e7828781d5d63a7fb1c6f1ecd504c67f037";
@@ -17285,6 +18572,7 @@ epigraph-keys = {
 };
 epiolmec = {
   revision = 15878;
+  shortdesc = "Typesetting the Epi-Olmec Language";
   stripPrefix = 0;
   fontMaps = [
     "Map epiolmec.map"
@@ -17297,6 +18585,7 @@ epiolmec = {
 };
 eplain = {
   revision = 64721;
+  shortdesc = "Extended plain TeX macros";
   deps = [
     "atbegshi"
     "atveryend"
@@ -17341,6 +18630,7 @@ eplain.binfiles = [
 ];
 epsdice = {
   revision = 15878;
+  shortdesc = "A scalable dice \"font\"";
   stripPrefix = 0;
   sha512.run = "acc0ceb408f320570a93a52132d3e37d43d4be65a31a038187edd6de9899427f08d7859dbc383b7b27e9d9b5a635ae94ea97f0be4ab8386b5991089a1435c350";
   sha512.doc = "6d9db45832d3e26e79a518f06d00db992ddfb2999099d32b415891e8d05b51803dc4f03d097cdcb04e5ccd6073606d4c7a87a07b9dd20d8d257456f927ee7427";
@@ -17351,6 +18641,7 @@ epsdice = {
 };
 epsf = {
   revision = 21461;
+  shortdesc = "Simple macros for EPS inclusion";
   stripPrefix = 0;
   sha512.run = "4c3698edc9ef386b08a2ed7c360d926be6ca5a8284e3e53e0dcf5f222eeb27d4d33b4547b42dd2e5544ab381397aafcd58899376d26a4d9d47beee00ad1e9bda";
   sha512.doc = "52be704eec6159e70d99ae2a4823c1da0790f41da9e6de130c84cc77e0d8d29aae145ccb9b416ddc5c9641100821f5099b5c597a350438652381be903e7681bb";
@@ -17360,6 +18651,7 @@ epsf = {
 };
 epsf-dvipdfmx = {
   revision = 35575;
+  shortdesc = "Plain TeX file for using epsf.tex with (x)dvipdfmx";
   stripPrefix = 0;
   sha512.run = "0f210b940d55bc2e85b3c86318be82fde1bf2b6fa2e5d498101036a01cec3b09cd8081079476f128f21881b14a13c7fa248c758a7a33ab0770f261505260992d";
   sha512.doc = "e7b770f6880bfa8001851cfdcf2f2d03117fba3a2d38514bd7e23683aae08d57774bd1bfa4d0f75df443d9111a5472ba96bf8129e45b618b39f1798b27fb533c";
@@ -17369,6 +18661,7 @@ epsf-dvipdfmx = {
 };
 epsincl = {
   revision = 29349;
+  shortdesc = "Include EPS in MetaPost figures";
   stripPrefix = 0;
   sha512.run = "f9251142a990038acde2f1e7b61b94eba39b2c4f5c43a1151af29a17d5f0efb0cddc0af1ac8d056d8617b5ab4eef29bba14a4731ef933480a9bdb95fcc15d023";
   sha512.doc = "2cac5738a39157563707879656b473e7ac7edac2f304c209c8164c7878b10f0d5dcba1d38232ed6ba8e20fe21b3a0cf78dfd51733b993ccd5fcb2c0a05ea31c6";
@@ -17378,6 +18671,7 @@ epsincl = {
 };
 epslatex-fr = {
   revision = 19440;
+  shortdesc = "French version of \"graphics in LaTeX\"";
   stripPrefix = 0;
   sha512.run = "f3e90ecb487259301c20ab4c4c28702b9cadfa844a49361fee0881a26f827ae602f954e4a3e824e910d2e098097c387aa5311c5f32cb58df5a0a1e2fcd9d2364";
   sha512.doc = "7965e6094535d22b04193619842bc0bd090c2b47139e65498dcdf428f4ce2ec54e7da5edbdf9015c9d8f2013642d11347373e625a3884c629d9d807af2a9880a";
@@ -17385,6 +18679,7 @@ epslatex-fr = {
 };
 epspdf = {
   revision = 66115;
+  shortdesc = "Converter for PostScript, EPS and PDF";
   sha512.run = "3dc467713b1d90b96a8fd3903effe209fe15be82463a1ef4693e29e7d145220936bed0e75dd3824a1e520f778ab9b96fe29389037e14690352db136e642f6a2c";
   sha512.doc = "ee5687a3add6773e127a1e83c91683b5c6ea5e37dd98ec5f5558a32015d292c31f1a456c985ee5d2e4201c0a47324dbac4a7129529236438676f587985bca64a";
   hasInfo = true;
@@ -17393,7 +18688,7 @@ epspdf = {
     "tcl"
     "tlu"
   ];
-  license = [ "gpl2" ];
+  license = [ "gpl2Only" ];
   version = "0.6.5.1";
 };
 epspdf.binfiles = [
@@ -17402,6 +18697,7 @@ epspdf.binfiles = [
 ];
 epspdfconversion = {
   revision = 18703;
+  shortdesc = "On-the-fly conversion of EPS to PDF";
   stripPrefix = 0;
   sha512.run = "a1f328125f82f33bcc881adacec981f4ce8aefd4cbbe160de66397ed3b1d4c2ed980f5e1c17c63b75973e3c253d76afc2f1227272ab7f0236e47e8e48f0f015c";
   sha512.doc = "dc09e2ef835a85bbfc7c399b7c7323d64c312b04143e8070fc403fbd484bd893be1e4b532580efea93baffe64625c33004405eb0ed9bf6295646cfc260d72c40";
@@ -17411,6 +18707,7 @@ epspdfconversion = {
 };
 epstopdf = {
   revision = 68301;
+  shortdesc = "Convert EPS to PDF using Ghostscript";
   sha512.run = "fcba30848cb2a5bfb12cf89e1ee6d54bb89e7516789738e1fc7d9b1d47c403ff6ef1d679c9fed214669e8d06fc5e76eec2af0ef513d2649cd1d44b535287455b";
   sha512.doc = "9d9068ce64a2e14ad72de11c6a608bf9379240c0fab77a7bd29fbf2774515c5eff12b375a592d3ad6c8accb06021309768c3965284d18b89fb0a57487e2dba06";
   hasManpages = true;
@@ -17420,6 +18717,7 @@ epstopdf = {
 };
 epstopdf-pkg = {
   revision = 53546;
+  shortdesc = "Call epstopdf \"on the fly\"";
   stripPrefix = 0;
   sha512.run = "3e2177a1c6cbf8850026f981ce3ec5e6a24c4fdf8c40716e3f18ba7233cc7a5115e5b74d60aa077575f41bafc58af966ab55c189de4d06863ab2a38551ff0dca";
   sha512.doc = "c098251d55112c0c630e007c85d1c7271e32bba9443ca3c2590b51987053e945e3c52030ef4bd1f6758894cc263e9316bc31683572bd07c24fd0855f01c68be4";
@@ -17434,6 +18732,7 @@ epstopdf.binfiles = [
 ];
 eq-pin2corr = {
   revision = 59477;
+  shortdesc = "Add PIN security to the \"Correct\" button of a quiz created by exerquiz";
   stripPrefix = 0;
   sha512.run = "631f8dc9f50f7a45a0d03f0c4210af427cf8492d56886cedeff6cb0e9587453976beb1ac960afb53b7a31538a176bb63f55afd330ca2463847f86e57c3d545c3";
   sha512.doc = "4e704295ff398a2e167293178d69edc4882e9b9f37dae4f9debda7edd921a7c2d19c036b4d1424405ac1b9853e57615d9183fbf56a763088dc58919842da2720";
@@ -17443,6 +18742,7 @@ eq-pin2corr = {
 };
 eqell = {
   revision = 22931;
+  shortdesc = "Sympathetically spaced ellipsis after punctuation";
   stripPrefix = 0;
   sha512.run = "b3544579e03c33b7a5a10f1fbcb22735d1bbcdb9fb5ac94330ec1eeb6f6ae646935a46f4c7c3bdb4305368b2e9aa9eba244c80f08f3127fad2080b610f1041a1";
   sha512.doc = "9210b85937d0bae3eab982f45b1f38f7020327c9b4cfc6604de5b171ecc84f54f5bfd088a3f06ba7123a7fc01a6fb09953015b1813db9ab2fbabf2a15bca955c";
@@ -17451,6 +18751,7 @@ eqell = {
 };
 eqexpl = {
   revision = 63629;
+  shortdesc = "Align explanations for formulas";
   stripPrefix = 0;
   sha512.run = "75f328b6b1e729b76b9be92ec7ad9844e5a41d8b6776700175af98ec217ef93df6dc56b92b49892090523e9308afa069ba3e6beaef8ca6712aa2fc3995417103";
   sha512.doc = "2ad0eb828e3ea2484220335d61102e0ccdf9787b0165d6f8ebab2073ad2407757c04165d5f872a4b3c674d2c27b952ce9ce1bdc09a626b8e4fe804a5ddc5b1ba";
@@ -17460,6 +18761,7 @@ eqexpl = {
 };
 eqlist = {
   revision = 32257;
+  shortdesc = "Description lists with equal indentation";
   stripPrefix = 0;
   sha512.run = "1af830f51ce25946ac8bc6a4cca323dffeff20389ec998b74afd49a8edab5ad7a453818d4799e55ca564153a87b85e2a6b03ed67e53cc5ae6fa74c45edf3aeae";
   sha512.doc = "a5b22b8e9300064d77d02ca6f5652659293c6fedb792be2f0664a2383b3167ed7bf8796af26edfabfdcab8d75ddf30f3815be36e8f38fda30f1609b56c16ac61";
@@ -17470,6 +18772,7 @@ eqlist = {
 };
 eqnalign = {
   revision = 43278;
+  shortdesc = "Make eqnarray behave like align";
   stripPrefix = 0;
   sha512.run = "6793d24d272ff5f95b4e37fa3f4206e7358e0f5b51c51bcf4c61908e3fa554d8c8a53d888c7d7b1adde09f5d308c19944e93abccdb7846c88544abc90bbe4924";
   sha512.doc = "65847f34d7d1c76dd4d87ebd7e46aa1bb9e9a34ecf04cac6e58c18f9f4949d3e82325dac982f6d704fe6013e2acf718f0372873e547434c15a4a07c07ace27c9";
@@ -17480,6 +18783,7 @@ eqnalign = {
 };
 eqname = {
   revision = 20678;
+  shortdesc = "Name tags for equations";
   stripPrefix = 0;
   sha512.run = "1717aa83439019ba2c07ced56ca5dc969a68b78c9a711d97d0a168d432c6e26b53f30b2a3f6f8d241acf465fe8817d7e4fc4238982a68bf2ae143c5fdc2ca72e";
   hasRunfiles = true;
@@ -17487,16 +18791,18 @@ eqname = {
 };
 eqnarray = {
   revision = 20641;
+  shortdesc = "More generalised equation arrays with numbering";
   stripPrefix = 0;
   sha512.run = "f5abd20910152cf65d92c7e44930729c1052f72441f162de2f4ad869f0ff37b669066f43089a1369298e9ebdb536ed62d437b3f34be5b3e417d8b0bf34d9c870";
   sha512.doc = "7ea3d87f81eca28dd52f9e9cf4f7df1ce4f7b9cd82cc40d0a7fff234415b2a3e033fa1c8a11594b2c08e5edf87ae265e5f7a65eb92a79cd523568f37853de30a";
   sha512.source = "9dd02c43fca4f6e8dba0bd44292c8f97aef4cbf39d521b9df10206a2309e82492f344fb65c35ac0509532e9efb2571aecb2a5894e639de5efa1444bba9916587";
   hasRunfiles = true;
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
   version = "1.3";
 };
 eqnnumwarn = {
   revision = 45511;
+  shortdesc = "Modifies the amsmath equation environments to warn for a displaced equation number";
   stripPrefix = 0;
   sha512.run = "ddfee700caa63f65fb4f53fe2469d1e6ef6338843738dd2c06989f23b6f4b40dd1dfe4b5979a04b34a9430d7cdd4d0f3ef14e3ce39613c8961fb0266e4ce6af3";
   sha512.doc = "e6dddee646be40e01c211854d3fa04855286e24a39b8217380e555eaacfad50fc66a57e89336d505c80a8df77ff7885922195423d11c2acefce583c9cb9fce81";
@@ -17506,6 +18812,7 @@ eqnnumwarn = {
 };
 eqparbox = {
   revision = 45215;
+  shortdesc = "Create equal-widthed parboxes";
   stripPrefix = 0;
   sha512.run = "b6e64a4d30840933614a42b16ffec215d1e01138c42805ed20bfab6ec03e232f87fcc2c20decb2e7e75234b7bd5fc2ebe5477808756ec92e6e724acb3482afca";
   sha512.doc = "1b0f7e6249e114bb6371d19f941cd2308f70ac4f1c831ce5a1c15551bbd65a4289b0b0e718580cc7df97bf4732ad3a76b3f22ea12f7caeaa2ea6362fabab2074";
@@ -17516,6 +18823,7 @@ eqparbox = {
 };
 erdc = {
   revision = 15878;
+  shortdesc = "Style for Reports by US Army Corps of Engineers";
   stripPrefix = 0;
   sha512.run = "56754f7ca1872837a362b1f5cc929fe5ed8bbd59a1a45eb2fe20b071f7c44362b0d98764c6d2870d275d0f0216a9543cc1e9f671f92de1b6b02136f9076f5f95";
   sha512.doc = "3e9d2dbfb3bd877c6bd105ca8cdff87cad9cf801797cea39e760ceaa1f27ed802795d728f9bd675c6553a88e22c03a035436abb19dacd38c774b94a0e2bd1567";
@@ -17526,6 +18834,7 @@ erdc = {
 };
 erewhon = {
   revision = 63312;
+  shortdesc = "Font package derived from Heuristica and Utopia";
   stripPrefix = 0;
   fontMaps = [
     "Map erewhon.map"
@@ -17538,6 +18847,7 @@ erewhon = {
 };
 erewhon-math = {
   revision = 70336;
+  shortdesc = "Utopia based OpenType Math font";
   stripPrefix = 0;
   sha512.run = "f92ccc2cbb8edcdfcaa5d4c27192aeebe75cfbaa3d42077d3a1e87309b381798d8bd6836082e4302006e51d0a79e8676d0f831a790aa7436e0b992d4bdc78d8c";
   sha512.doc = "ccf0b4ee3b6914e26e485c8c292bf421da30a76a1e0dfc03f61a290186920f37163b0ff2ad1102b30049b58844f06c888d70d2f6e506ad7ddc2a0ed45ccdc711";
@@ -17547,6 +18857,7 @@ erewhon-math = {
 };
 errata = {
   revision = 42428;
+  shortdesc = "Error markup for LaTeX documents";
   stripPrefix = 0;
   sha512.run = "ac3b99ef6e120a5b488cf79f3e942c10a47ee92e84a04d3667f99810ef365aac66598908c491897ef7a99df268a0bbc7185d49aed2313487712e300383356ec5";
   sha512.doc = "7fb625a66efc914e2eacc45696ac43112d7ca49b668ffbea179f47f04746509f981141a77d2948f30b8c56e4a2ff06f6af3047fe494e4f084237891fbbf6710f";
@@ -17557,6 +18868,7 @@ errata = {
 };
 erw-l3 = {
   revision = 61799;
+  shortdesc = "Utilities based on LaTeX3";
   stripPrefix = 0;
   sha512.run = "551a7c38657547038a8bcf5973ecaec81cccb4b803961145d4aedf7416834e3cfefe736a59e20c80cc1621d415216371d58f3d0c7d2b0fc3dc0a182e1ba91acd";
   sha512.doc = "8a0a823482fd19c80471e9c1a38312b5db7f04f618c8fd8381324c38bb9b9ebe8eb8fc9ce90137d4a4f1de7b6b65aa1c1820cfe0f009f4ad743613f53b549323";
@@ -17567,6 +18879,7 @@ erw-l3 = {
 };
 es-tex-faq = {
   revision = 15878;
+  shortdesc = "CervanTeX (Spanish TeX Group) FAQ";
   stripPrefix = 0;
   sha512.run = "33f66e4f928591188289f07e003cac10229735e69ee7390020748e119930ea7b74ad69e5eea991d8e34325ac4d548ce0b843a00b3ca50b9e6fae3e96526a4ad8";
   sha512.doc = "5b5d0ebda1bde2c1c67fd4853a41bb10956487fa5ad2686d6814dbdd51f68dde2a3d294797b7b1602d587a44ea6acbd8260ab9965efab81d91eb9d9fdb93da69";
@@ -17575,6 +18888,7 @@ es-tex-faq = {
 };
 esami = {
   revision = 67707;
+  shortdesc = "Typeset exams with scrambled questions and answers";
   stripPrefix = 0;
   sha512.run = "e5e2656b1f1dcb224652ada214871004828ac04c2ad316250e4ce1ae54f509df5607248eadcb018308ad2eb14ea761224962b751c7998b935540b4de516d4e1c";
   sha512.doc = "7eda39cb0372f0f500b05196d526a215efddc58aadd1ee6c66504f73129936fbffc65d80183662de665b6fd54d4a9eeb5bdb2c7d5e11ff645c712ca6d712fc18";
@@ -17584,6 +18898,7 @@ esami = {
 };
 esdiff = {
   revision = 21385;
+  shortdesc = "Simplify typesetting of derivatives";
   stripPrefix = 0;
   sha512.run = "84b2490e6ff743f0133deacc22c8e0368368e961d634239694ccf7b5cde7826996e080077baa0e0045230b6d2c3cad53ee055c05b17c89ca735dc2e40a01fb5a";
   sha512.doc = "97dbb512437c868f2b15ebd1271f51a7f196e40c70043c224617378e6c9333f19e2c18666f64fe6ea323c7aa5a58438944d8c6f5b1a9c0d36a239caee972eb08";
@@ -17594,6 +18909,7 @@ esdiff = {
 };
 esieecv = {
   revision = 59638;
+  shortdesc = "Curriculum vitae for French use";
   stripPrefix = 0;
   sha512.run = "c39e028de2f9cfb981baa2d36335863d6e3252a3bc3e1ef283905fed24daff609a85748dfbd34db0cbdcf7131f4db3aa6d66d0e714f0359b287cb14efb95f568";
   sha512.doc = "8bac60946fe2a4bd5c1ddd55dd314c59dc7fe45ce33a214021de68bbe03b610b8bf1d6ad426e855e10340953176285132017563c41f0326c273f2ca790be4acb";
@@ -17603,6 +18919,7 @@ esieecv = {
 };
 esindex = {
   revision = 52342;
+  shortdesc = "Typset index entries in Spanish documents";
   stripPrefix = 0;
   sha512.run = "4e3fe4402e025dbbf300b509954600e3a1eca221a448d32ff2399aaf552ff930e6921bed6f0e1aadb20d6453848e235e42e8b809c4f4280d39c29937615e90f5";
   sha512.doc = "6db4b39371280b0f3a3e0be9e18337a75611410ad25e7953742247e750ca439c92c614edeffa03c4a7f39d8aea447037a6e25cb8f6f0d22a190f359c9cc35f8c";
@@ -17612,6 +18929,7 @@ esindex = {
 };
 esint = {
   revision = 52240;
+  shortdesc = "Extended set of integrals for Computer Modern";
   stripPrefix = 0;
   sha512.run = "d0eda90d6a890b7813648516f21e3a88213b1374df0c418895301354de402b9634492a1fd89193f34c6db6b9fcc0cdd0f8f46472e0e3a210234c7d8cab1bbed8";
   sha512.doc = "aeeaafe3746b8fd75ba80fc36b1610a3e4f7c7f26044ca82c2c8091139e0294275a1dde9dd73fb3e5b013ff04e4d0f26422e8c2a44a88beab167353e7686b3fe";
@@ -17622,6 +18940,7 @@ esint = {
 };
 esint-type1 = {
   revision = 15878;
+  shortdesc = "Font esint10 in Type 1 format";
   stripPrefix = 0;
   deps = [
     "esint"
@@ -17636,6 +18955,7 @@ esint-type1 = {
 };
 esk = {
   revision = 18115;
+  shortdesc = "Package to encapsulate Sketch files in LaTeX sources";
   stripPrefix = 0;
   sha512.run = "584d9b9abf202d93826c690545206c3b7276d6b3a4b717ed3671f9cbd2a1c6c6503d3352471fe60232e75d63632e021fb0ed34ce49d5a1e72ae58b08fbdd7211";
   sha512.doc = "acc40c8829e69c681d3bcfd5aa7223b3f5320c1ed5fa3f4a9a700f203b622f300b73912ef5df2c163d2cce1b40aecfdf1eb880dcba48e94783c14054981e0e11";
@@ -17646,6 +18966,7 @@ esk = {
 };
 eskd = {
   revision = 15878;
+  shortdesc = "Modern Russian typesetting";
   stripPrefix = 0;
   sha512.run = "d0c1745172683bcacfb061f48bee10f78dbc849657295f5e7714cca949afd586c441f727e909c627b595ccdb50b81d813538e6837a00809ee884ffe1acd6b25e";
   sha512.doc = "01a0be9d02e7fece62cfd1bc8ceb26b2036f3d2e374794f3c4aacbfe004cf4059346510009760fe48fc0141c4e9f3cf1e40088203d31b7bbb31ec375cf5f70ea";
@@ -17655,6 +18976,7 @@ eskd = {
 };
 eskdx = {
   revision = 29235;
+  shortdesc = "Modern Russian typesetting";
   stripPrefix = 0;
   sha512.run = "e5ef11cba6b0251844200093445f5183de60e0c0198da9c7000ef5c05a2a9a4303a15dc77ed03e9874e452ffdd283016cedb8901e78cd0312ea5bbcc529b74d5";
   sha512.doc = "748dec387a09546b28718e943e05772cd56c75a0066793332b343e7f604e607efd37a071c1f4f32fbd20d7427277bf2d598b355b8ea3a0a04943ccb90f4f249d";
@@ -17664,6 +18986,7 @@ eskdx = {
 };
 eso-pic = {
   revision = 67001;
+  shortdesc = "Add picture commands (or backgrounds) to every page";
   stripPrefix = 0;
   sha512.run = "ee2a5c75fb02f94feabff9107d8e183cb3ce2dc7d38f8c82b2748a67718286a824e839443a9cf00edc142148271c83ae08017f2d5b8e6bc01faf50455187e75e";
   sha512.doc = "ed03cbb8e57d28abbf3260c4a97c10833c89a603e219882920ed95fc2eab404c461a9c89b21772757a37245783c3ee10743f7ed248d4915d04a0619508469095";
@@ -17674,6 +18997,7 @@ eso-pic = {
 };
 esrelation = {
   revision = 37236;
+  shortdesc = "Provides a symbol set for describing relations between ordered pairs";
   stripPrefix = 0;
   fontMaps = [
     "Map esrelation.map"
@@ -17686,6 +19010,7 @@ esrelation = {
 };
 esstix = {
   revision = 22426;
+  shortdesc = "PostScript versions of the ESSTIX, with macro support";
   stripPrefix = 0;
   fontMaps = [
     "Map ESSTIX.map"
@@ -17698,6 +19023,7 @@ esstix = {
 };
 estcpmm = {
   revision = 17335;
+  shortdesc = "Style for Munitions Management Project Reports";
   stripPrefix = 0;
   sha512.run = "20213ddd795e862dc924ddd71df08752f6adda4be7a06237507cec84abf6a6ccd664fa9676cb9b275ca9de8647011da0bc731fef9344945404f885b56b75aea1";
   sha512.doc = "c240305f2ad7a841c1d9309d1934001fc42d68819505b5c862ca8c97c5ecd7b6d2fd8a79a4273be79126d1503d968fa4649ad06e0c001f3b731e300341802dfd";
@@ -17708,6 +19034,7 @@ estcpmm = {
 };
 esvect = {
   revision = 32098;
+  shortdesc = "Vector arrows";
   stripPrefix = 0;
   fontMaps = [
     "Map esvect.map"
@@ -17721,6 +19048,7 @@ esvect = {
 };
 etaremune = {
   revision = 15878;
+  shortdesc = "Reverse-counting enumerate environment";
   stripPrefix = 0;
   sha512.run = "511f84d8cb951caaea65cbe839fe83c9c2dcd7dbe0e0c3db3611d914dea475b60de029d4dbe482616e9d219929c50b2a87f6c33451d0d880e3b368fbc9f7f612";
   sha512.doc = "4d7728be13e1454b2456e543ffb89a19fc5204e8025f949dcda7ce3b8a8b898dd9a6d96e44477cd158baad4d462afbcc17b6df6ddd9982232891e7b4ccb112b7";
@@ -17731,6 +19059,7 @@ etaremune = {
 };
 etbb = {
   revision = 69098;
+  shortdesc = "An expansion of Edward Tufte's ET-Bembo family";
   stripPrefix = 0;
   fontMaps = [
     "Map ETbb.map"
@@ -17743,6 +19072,7 @@ etbb = {
 };
 etdipa = {
   revision = 36354;
+  shortdesc = "Simple, lightweight template for scientific documents";
   stripPrefix = 0;
   sha512.run = "88502eeb78f2f5901cdfc192638501690aea861de2105445de226261c62f526d6602ab5c63f02974d067e229b12441ee6663b54769236a1e0e125896b869301d";
   sha512.doc = "6aa2ecdb393932a485857222e66471b9c52388e726edffd0b4357e340e8a5092af96ad1847486a58d6a8485a4ce0e80e25e80ad58f60991004136739d26aa996";
@@ -17751,6 +19081,7 @@ etdipa = {
 };
 etex = {
   revision = 70496;
+  shortdesc = "An extended version of TeX, from the NTS project";
   stripPrefix = 0;
   sha512.run = "3ed4f77ffb42e86877ae448acbc84d4ecc7003b9ac4f4c80e88bacd23d729db991c115a736e798245d4b81825f12247ea68ae35e4a9ec3dc6fc147b6153d0a98";
   sha512.doc = "1b5225821ea6faf8721f6ec6ebfba649d2d14496274b625daf8374ca50e72f94030fd8570e0bdef0bd8ad249f378bd4cfc4d46c1d959eec2d1af01335631c15d";
@@ -17760,6 +19091,7 @@ etex = {
 };
 etex-pkg = {
   revision = 41784;
+  shortdesc = "E-TeX support package";
   stripPrefix = 0;
   sha512.run = "e2afebc530bdab4d5384170dd807d6e39c96d5a18af0defa534106103243b0e52d926e09f3ba62378452ef643bfa8f0e4d92a3c0256847c91e561707410052f4";
   sha512.doc = "2ef9984629ffdafdc799041127e31360c8eee80726d8c410130d61f12de306e7b4c2cc892e8012029827e8ed470f9191eebcf758830cd34b8d01593ff78cef1d";
@@ -17769,6 +19101,7 @@ etex-pkg = {
 };
 etexcmds = {
   revision = 53171;
+  shortdesc = "Avoid name clashes with e-TeX commands";
   stripPrefix = 0;
   sha512.run = "b0be75d3c8eb92407f21111e6c9d397ab5de39b96b99403a149a9554eff523e99cdacc9c1c37ef47cd190487511c6fc6b7c91b617e889eac1d6d8b6aa61c0c6b";
   sha512.doc = "841ff47f9cefecefb241cb81602b825c07d4d0eaf143343eb9bf6c35ca66194c98f851e4aa27a369d60927fe96968bf7a1c1d8dfc7bb5be092e77330ad8ac6f2";
@@ -17779,6 +19112,7 @@ etexcmds = {
 };
 etextools = {
   revision = 20694;
+  shortdesc = "e-TeX tools for LaTeX users and package writers";
   stripPrefix = 0;
   sha512.run = "ed7e514441de2fd296c372d9c56dd71ebd5318bd67eb4611c4bf784b16b045a08338ca4456899739dc023e5bc4695a6fd1784e592e542cac6a0564a68307a983";
   sha512.doc = "5a8d722f9e2e59d483c7421909b4a0f8719b0de81f2b8b95801f905d478624eb4df936f193eb3e4ad1e3f0c2d844c7672a5e2ab1c0ff0654ed88c66bee4802ef";
@@ -17789,6 +19123,7 @@ etextools = {
 };
 ethiop = {
   revision = 15878;
+  shortdesc = "LaTeX macros and fonts for typesetting Amharic";
   stripPrefix = 0;
   sha512.run = "ad9da81e2a9af7f93c3a9677a72b80335562677d552511463c20b73df25adb0a6765463273306486e295b8c5994af03fa1df8f1e70cc48ed7df44698637f8459";
   sha512.doc = "13e9149433cee0c44d8eddbcc6f738cf113581e4890a8728aff08a6f3f26a62617e1770b4875668dcd75a3714925db9cf5c5d9fb58a9870292bc0d22005c844a";
@@ -17799,6 +19134,7 @@ ethiop = {
 };
 ethiop-t1 = {
   revision = 15878;
+  shortdesc = "Type 1 versions of Amharic fonts";
   stripPrefix = 0;
   fontMaps = [
     "MixedMap ethiop.map"
@@ -17810,6 +19146,7 @@ ethiop-t1 = {
 };
 etl = {
   revision = 60998;
+  shortdesc = "Expandable token list operations";
   stripPrefix = 0;
   sha512.run = "14c5db74da0c3878609323b450c99dbc186c97997079d09acf55bc8fe78a2cf9f7fccf7c89c1fe02ef8fe9d532fc3d33e85d77e374d4f0c601c6251a04472dca";
   sha512.doc = "2a1dca3962826cf749d67799c6d871b7822b16f81c7ff3473628926db217812ed5d85ee2da351245f6ff7a973bb1b90b61951101978693fb92f07bc86425bb2b";
@@ -17820,6 +19157,7 @@ etl = {
 };
 etoc = {
   revision = 69343;
+  shortdesc = "Completely customisable TOCs";
   stripPrefix = 0;
   sha512.run = "ee9e46861d53c0cf3f0807f55a78b2e9c24ed6d5b37037b87f162a297421548561728dbe268927e7155a16da256e61b24c74ee9b1c18addbca937b8c85ce21e9";
   sha512.doc = "693a6589f33a93e9086342d093b8801235d9e7d8e1729400e4e1069d0bd9457bf8b96c0a946110f12e2cf6ae646dfea81fcb9a795724558f73e53bb87b300957";
@@ -17830,6 +19168,7 @@ etoc = {
 };
 etoolbox = {
   revision = 56554;
+  shortdesc = "e-TeX tools for LaTeX";
   stripPrefix = 0;
   sha512.run = "b4c2ba570b1636b7ccd741c8960335f4863fb7242253be6c071100b64ce0d6ffc1bcc9da5e9bc65830ae5e34cb4cf887220585c0006d7afce0af3ca95f96b36e";
   sha512.doc = "15f5f37471b991c1363e7d34c419c4defe1920522d6f666c383ce31b25b412d40a1dd6ca1c0fdb0e56ef3c7e529215964957c5a2dc55522bec60e79bdd972947";
@@ -17839,6 +19178,7 @@ etoolbox = {
 };
 etoolbox-de = {
   revision = 21906;
+  shortdesc = "German translation of documentation of etoolbox";
   stripPrefix = 0;
   sha512.run = "cbddbd599e10b6409db5c9f9d27f35b5922bba82da39b19aac010ef77e76a29465d91c10a40c578e834acf5d9ade2d52baec5cca06eddc802eabbe599fb3dd28";
   sha512.doc = "4c966dc094430caf72e462c1a854995fb78b54dca84322233a16508e41f33f0dd71db2b997b26beb7fd4722f0df1695a118ef782d7954983e9df3ba2132b828b";
@@ -17847,6 +19187,7 @@ etoolbox-de = {
 };
 etoolbox-generic = {
   revision = 68513;
+  shortdesc = "A loader for etoolbox.sty in non-LaTeX formats";
   stripPrefix = 0;
   sha512.run = "12bb7835b59a33026a0acff3c8f8204bf9b159fa84538332ebd7e4ce7116f3ab0dcdfda075555e595c050dcf96525a67f13ab33757df5e55e21b62c3d08488cf";
   sha512.doc = "f877ad6a682abe82d84bbd1e9bd2870d80d5b79a63ef150f0eb4cc9abe0cf07c485b59d55281709027d705843bb7da33cff2eac6d382885ba806068a3a651c7a";
@@ -17856,6 +19197,7 @@ etoolbox-generic = {
 };
 etsvthor = {
   revision = 48186;
+  shortdesc = "Some useful abbreviations for members of e.t.s.v. Thor";
   stripPrefix = 0;
   sha512.run = "c70654c50e186f73bd6dbbb65cc40cbfd809a86de223f96b4bbd1af94fc5fa928f2400eca58d6a97e5578186c58cd038a99264a412d9bb7fe15a01d7f3aff8b9";
   sha512.doc = "47c9d66a720a8225b34bd0571c0f0da18fc72fb5f37e4204e7d4842facade9a0b72550351c0743dbb9296ca8bd2ad61036361f0cb7447b06e0994fcdb7c657b1";
@@ -17865,6 +19207,7 @@ etsvthor = {
 };
 euclideangeometry = {
   revision = 67608;
+  shortdesc = "Draw geometrical constructions";
   stripPrefix = 0;
   sha512.run = "8aaf01108b5d96000d909e3d041a7e9c00cfa85043b25fcf4029238f2570330b2402a2faa4f63f80ed84d5dbd3c12cd4690668714ca1bd75c14673b2828619e4";
   sha512.doc = "21d80f3152ecf31c62d203b77ec42c183e2a6058faa173163fe456d521e89cc514f83b0ad60684f2b29c7952428670afccda79372bbea1727d797dc78de04bf0";
@@ -17875,6 +19218,7 @@ euclideangeometry = {
 };
 euenc = {
   revision = 19795;
+  shortdesc = "Unicode font encoding definitions for XeTeX";
   stripPrefix = 0;
   sha512.run = "f5968e42b36d9c3ab7ae17d156283f8fc09f0c725dd1037cae3b232f94af11a8ee84507efd87cab901bdc8a34f0f72d831a078de205e9beec81c574bb65f79fb";
   sha512.doc = "ac8d4e83ab23bf692d609a617bf8aacd8b33949e0bff1070301b8cad4e91f2a651555ffb44ad70be99791e64020984fe07afbb25976b73963abc79660eab96dd";
@@ -17885,6 +19229,7 @@ euenc = {
 };
 euflag = {
   revision = 55265;
+  shortdesc = "A command to reproduce the flag of the European Union";
   stripPrefix = 0;
   sha512.run = "6d6b156148fd6aee2f82ca489263de2fc37103e00aed4a287eb10acef95c60902d3c0c329eb904d2b808e5844f9d6ce92fd8afa4e9abf187d4f8bc7b8f4b75ad";
   sha512.doc = "68eda595381f5f22bcd819ea4d2a4ee430ec555c92594ceb581a9e566de648a74ca3fd53ecd4566d17d3b54dc05b7909bdc3dd805e8c70fb68520b299da355c8";
@@ -17895,6 +19240,7 @@ euflag = {
 };
 eukdate = {
   revision = 15878;
+  shortdesc = "UK format dates, with weekday";
   stripPrefix = 0;
   sha512.run = "4f64df42384897fca09574330d919704bfac2115f330f8ef085c9be60b51c64a9f1f46c10b863e989b9eda6559a3e2cb2388a59a997afad73632d83b02177b3e";
   sha512.doc = "7c79bb48296d491816b5e5cbcec389fb7a2a200a9b8e544394a8363b5b99c7ad36b332c05968b98c1bfa1caf04fb554318494cafd0781e25ecbed532c752c65b";
@@ -17905,6 +19251,7 @@ eukdate = {
 };
 euler = {
   revision = 42428;
+  shortdesc = "Use AMS Euler fonts for math";
   stripPrefix = 0;
   sha512.run = "3b3d383a2f715f14dba0ab926d3df9d10ab63c06d203c59e551732a7f6af4ff8965750404a37863c91d3fc3db7d44d1a279d03839162fde9d8d9fd849f0047c3";
   sha512.doc = "789c0b35257ad74dcddea589eed36f0a3b86eae3b201fc708c13cb11dbedc5b489d1495c218f9e10558b8977658b72c345a5622c10b8b1d7ceb3065a6c8fb9a0";
@@ -17915,6 +19262,7 @@ euler = {
 };
 euler-math = {
   revision = 70335;
+  shortdesc = "OpenType version of Hermann Zapf's Euler maths font";
   stripPrefix = 0;
   sha512.run = "331055a1c53976130824f826da975e7ec49d84b993be8a2e4330dba4ee8a48df209140879405307a3d635eb264831b790b05850ed00e8eec98d9f649443e650b";
   sha512.doc = "31b74c70d914e16a7e4f0bf4a6d94bccdb7656b71eb5024dbe01d25f72612c22577248b3d8ab695a32e58377f315f59ad679b30ceee23f2d7b66444710062f5b";
@@ -17924,6 +19272,7 @@ euler-math = {
 };
 eulerpx = {
   revision = 63967;
+  shortdesc = "A modern interface for the Euler math fonts";
   stripPrefix = 0;
   sha512.run = "86f23cf10d19427876caa9e21bdce3adcfa7ca06578e7ae05f20529333e36b7135695c1c3990c6700e0ad365fed41634de5d152813ccde20cf642d7e2b282455";
   sha512.doc = "997bfc34f084027c6275d41d4fd8e1eafc55a6aa1aae66895c6bf8a3ddc8a7b411052a126cb87b9900829b933175c6be942e1dff4713633b5fc12f6688799753";
@@ -17933,6 +19282,7 @@ eulerpx = {
 };
 eulervm = {
   revision = 15878;
+  shortdesc = "Euler virtual math fonts";
   stripPrefix = 0;
   sha512.run = "f497e30a188bd0d6cb66795253b35f6a108ef11a2924da94110e5a2c913af64826a21789265bf7f2b15a31a914b74ec171fe3c3d299b1164801898c0d7b0e7b0";
   sha512.doc = "dce6b483aa0d8ed6d6e607a0a518060fb290b25f04306ea4ba50f863034aa3184118a7a13f42e89fb2706daa173abb7eb5c2bd433eb038aafd1f3a8eb9c17995";
@@ -17943,6 +19293,7 @@ eulervm = {
 };
 euro = {
   revision = 22191;
+  shortdesc = "Provide Euro values for national currency amounts";
   stripPrefix = 0;
   sha512.run = "35a1c763998bdbc3b3b54ade3e4887859aa9d166699ccfc73db432aab3439be075d858e88d3542c25f8a0065301f0b1fea9bc368f85ed767e9deafa090f35beb";
   sha512.doc = "896a040cf80bec968e4fed5b2bd774e433997d336855775c1e6e5215cd6d9bb094550da324a2433d4da94ead4af3cfa6b192382efa73bb7c6bc951c22bb02fb3";
@@ -17953,6 +19304,7 @@ euro = {
 };
 euro-ce = {
   revision = 25714;
+  shortdesc = "Euro and CE sign font";
   stripPrefix = 0;
   sha512.run = "c1a864ebf022c8949b62195be6ce857ba108b7f930cf6e0152d70b7e3283e09c2f93fc670732cac79e3f48b860431186ea903324a02597b2a92fa43a0819b57b";
   sha512.doc = "3a44189546231f3bfde594142e6901a69f6e351e1d04203d1d646c476ca330431c0560faa79fec79485a4092b667864dcfb522ddf9a56bfc2b2ab76764b3852e";
@@ -17962,6 +19314,7 @@ euro-ce = {
 };
 europasscv = {
   revision = 56829;
+  shortdesc = "Unofficial class for the new version of the Europass curriculum vitae";
   stripPrefix = 0;
   sha512.run = "35aa159fd84082e1cfb65bd05ea83462400e12edf5a40a89740373954d72b42cc33516452691814359d3bbfae1e96f4605e0d19592c54f4e2e5328542cac42a6";
   sha512.doc = "834c4266e343a8b615a45a2c4b064170bf6c9516a8631342ff02d4de7154229458818192670f3f73aac5600407c830c1be384226bb3b0923af964905a39d99b3";
@@ -17970,6 +19323,7 @@ europasscv = {
 };
 europecv = {
   revision = 69661;
+  shortdesc = "Unofficial class for European curricula vitae";
   stripPrefix = 0;
   sha512.run = "8e71b214a28fa5cda60a769cc9584d030e348e3236ea57e932ef3bc7d02fc07969e31f83ad2cba0f7bc7a32c41d9f478881b437e003675fa26031da7552116c5";
   sha512.doc = "ce96aa71bf8886c67c65d0ec4e24e97d45ea4b4a948d9b1b6dd51f79781f0667798fbee8fc2577c13b13860c5a886be2b4eb6bf743500a01e1982e5c8e29ac9b";
@@ -17978,6 +19332,7 @@ europecv = {
 };
 eurosym = {
   revision = 17265;
+  shortdesc = "Metafont and macros for Euro sign";
   stripPrefix = 0;
   fontMaps = [
     "MixedMap eurosym.map"
@@ -17990,12 +19345,14 @@ eurosym = {
 };
 euxm = {
   revision = 54074;
+  shortdesc = "extended Euler by DEK";
   stripPrefix = 0;
   sha512.run = "2f786231f801ba9a9c5f5176bfbd01f8e952c33c722c7508988628afa66d1ddd55c4de02c0ed9cfbaa35a8764833e822046f7125330145995433b517f7051bd8";
   hasRunfiles = true;
 };
 evangelion-jfm = {
   revision = 69751;
+  shortdesc = "A Japanese font metric supporting many advanced features";
   stripPrefix = 0;
   sha512.run = "ff08a32b6283fc7ca0454e0071ce1d90b7a6fbf8989ca3eb4cc1f804f002f920890b083e5aa81a9455f57659a4df52b6c4677096621d9dffefa37c318e79a0f9";
   sha512.doc = "ef98234e6c6609dc9ea6f60027c3dad1f417d677d5177525945330122b9b513a90bd296ba86a1d96eadb52792b5d162264578118872d5a7b1794b4a1a7fe06a4";
@@ -18006,6 +19363,7 @@ evangelion-jfm = {
 };
 everyhook = {
   revision = 35675;
+  shortdesc = "Hooks for standard TeX token lists";
   stripPrefix = 0;
   sha512.run = "56547973d184de21ff5d6d3eaf1baf9b8cdbcf93307c31fbbcf658350ef0d441509ce359266ea6f962ef9b40b1680b47e4c14a822aa043ab8174ab0610df1665";
   sha512.doc = "331def0138dac385605b3ea1d88af6d5d1ae29bac696b76f41cdcfd070d50915eb3371a14a894b1e59bf35d55eb7dabecfe18e89f0bfbe6f028ce5fedfe1bbc2";
@@ -18016,6 +19374,7 @@ everyhook = {
 };
 everypage = {
   revision = 56694;
+  shortdesc = "Provide hooks to be run on every page of a document";
   stripPrefix = 0;
   sha512.run = "032713896e2704667582aa03e8d542062a5eb26188d41b08968955fbd8535aacc8288559112aa264c542e3523f452dd9b2acdd1dc3f66450cdc5c5c902e38b80";
   sha512.doc = "4c19f905b5a16674980da2569b2994382a2eb108fd20bfdd29a6ef4220e00aa390c197dd86ecd093a9acb83b9a2d64521f732083e3c2828478a8c8c45463d180";
@@ -18026,6 +19385,7 @@ everypage = {
 };
 everysel = {
   revision = 57489;
+  shortdesc = "Provides hooks into \selectfont";
   stripPrefix = 0;
   sha512.run = "79b83d48e3e6eedcf1673a30c28fc06eb2ed8e3bd292d6cf914faf5ce2929795e6dd11baae3a207c796abb67ced2a2442af11c2618fd7d565696f8bfd121a0a2";
   sha512.doc = "5efdce418de6d29481a8a8a9bb89fa561e865f5628dd67ce88fd648f54a40c6a90c625700d053d741b650c568eb6b63da81b68bebf89bb618a398a223a5b08a1";
@@ -18036,6 +19396,7 @@ everysel = {
 };
 everyshi = {
   revision = 57001;
+  shortdesc = "Take action at every \shipout";
   stripPrefix = 0;
   sha512.run = "b6219fdc669847a30ad2359d6b0888eec0980114d5385c018e9ddfd0876dc52390e1e8ffae5d2850cfa140833365c30024456bfacde6615bdbe5101e7059d52f";
   sha512.doc = "2a05f4b42c1a85b4af8fb3881d1e32d0cb8fad7070bd8eb83632b50e387083a5c8fd264b61b70416451f56a97e1c0702507bd50c534ab7baf975372d854a97a5";
@@ -18046,6 +19407,7 @@ everyshi = {
 };
 exam = {
   revision = 67600;
+  shortdesc = "Package for typesetting exam scripts";
   stripPrefix = 0;
   sha512.run = "99621f442f2a36e661f98e2722776e2e9dc394abc39cd20d45bb6bcff3ed362a942dc79d386ebf45efe053fc6abe2524d95fc85c4c766d241385970fa00e5f65";
   sha512.doc = "abcc7ead3c7d4847537476969bb708f61430940e7572e078e26baaeb6f2493309dcb996bac0796870825d4badb7bcabc81fc49aa7f4e71c0c816fd7e1ec875a3";
@@ -18055,6 +19417,7 @@ exam = {
 };
 exam-lite = {
   revision = 65754;
+  shortdesc = "Quicker preparation of exams in LaTeX";
   stripPrefix = 0;
   sha512.run = "f1f16566eb49d5514bff3076f1c1837cc933278f3b0e8b1d6541f158ce4922daa43585057666e66ef80366d36b4b28793b930421ed8901d456405e52469e0e43";
   sha512.doc = "a1a2ea02e4ed3d846e428f5ae43f25150a982f2d490d9753071345d53e640f3ef05b43e812ff84155a44f369ab49e294050bbc53823da4e899c7e1b6c2d1f36c";
@@ -18063,6 +19426,7 @@ exam-lite = {
 };
 exam-n = {
   revision = 64674;
+  shortdesc = "Exam class, focused on collaborative authoring";
   stripPrefix = 0;
   sha512.run = "bdd3f8a1e7836ce86fe022e27c554c125403247a9ca4e4cec7a0f32937eb517351d815248ce67815610bd063a9d0e5111868c301847aa5b6e5d666dd1cfc2f8e";
   sha512.doc = "3cd31c7cb86e66901eca162e7bd0ced047fdf22f2d8306d9f8cc8dffb299d027305e950ff1f188d366226614aaa2db2ece78008bf1a34d4076eaf3db7edab319";
@@ -18073,6 +19437,7 @@ exam-n = {
 };
 exam-randomizechoices = {
   revision = 61719;
+  shortdesc = "Randomize mc choices using the exam class";
   stripPrefix = 0;
   sha512.run = "bc29ee238d430b0d1b536084568ec8e68381c827c7ea7a4742eb497c7092ac8eb0bb990c3356eaf5939420e37979412c61ecd2e83a98a0e36739f1d6c73be3e1";
   sha512.doc = "0cc99d67ba7b1d8d27048b33a1f1b9864e35c542ba8683c590598d5da3d4be5d3f93c9a01f339dde6fb0945982e20de19847805d185b4b28aee2c7d86bfc631f";
@@ -18082,6 +19447,7 @@ exam-randomizechoices = {
 };
 exam-zh = {
   revision = 69920;
+  shortdesc = "LaTeX template for Chinese exams";
   stripPrefix = 0;
   sha512.run = "d4d15c90b4718be8deec3042d4fcbe8ec497417a3761d8e203f6e17079c613a3ec621d58ce388f26353a5d4d668546aae40ab7d0248ae577e1609e18186b19a0";
   sha512.doc = "b00e5d88a1d801e38b3ab2fa8286b880348e99ac0f9daf8b28174a6d04b862c995331136a3236801812e05b9bf15e1288268414753b99545abed856141868215";
@@ -18091,6 +19457,7 @@ exam-zh = {
 };
 examdesign = {
   revision = 15878;
+  shortdesc = "LaTeX class for typesetting exams";
   stripPrefix = 0;
   sha512.run = "bf052063b16056faed35007a5e1b6e2bf4f116388b2698c24c7c00ff257fde4f0225f138af6c011f99d051085169b51357c8661647f28be07a7f6dfd330ac10c";
   sha512.doc = "1870e3732933e0d69f52eff2c403011b09814938083b91bb428c776ef50140e1b43713837e018b09e8340dd5e47811aa1050bb9f90b350aa341216edb00c2a9b";
@@ -18101,6 +19468,7 @@ examdesign = {
 };
 example = {
   revision = 33398;
+  shortdesc = "Typeset examples for TeX courses";
   stripPrefix = 0;
   sha512.run = "2f790c1bb8934e1127ba64c61ccf0d9ed503c01cb8975c114257a2179db7d88b4c969475b0e357d17785fcf7e42487e991e176df3dd7a1be5db4cdf87abb9cad";
   hasRunfiles = true;
@@ -18108,6 +19476,7 @@ example = {
 };
 examplep = {
   revision = 55265;
+  shortdesc = "Verbatim phrases and listings in LaTeX";
   stripPrefix = 0;
   sha512.run = "689c71afd2f5733b669b12c27014edc260ffca597b197ec0a91b5cc476bc6458699510bc5053863f9fa8ca47b9e2cda18939e734d3c23c7507f0646e0cbd9afa";
   sha512.doc = "09fab96fddb1f42c6c5484e1716d1f2dda3f51c6c6f666343a79070aae079ad2bb67f210e51875621c4b4f8a30f9908d4bd53caa74c57ea8ec4ba330dbd721ea";
@@ -18117,6 +19486,7 @@ examplep = {
 };
 examz = {
   revision = 67303;
+  shortdesc = "Randomized exams with multiple versions";
   stripPrefix = 0;
   sha512.run = "7394aaadd38993f44b63409c28517af05f9875840d094fa4467e8bfcbf1be4af41327683264ad81107f2f84f024fd683a62fe32c04d9f61ee0532b100fec93f5";
   sha512.doc = "400eb0b85928fdb12e1afc58036f6cefadc301ae4a3e659d1cd1f2fe122231729cafbab7a05910cb47d969839041ea240df26e510b43a6728e2d1794271442e9";
@@ -18127,6 +19497,7 @@ examz = {
 };
 exceltex = {
   revision = 26313;
+  shortdesc = "Get data from Excel files into LaTeX";
   sha512.run = "ef8495b4ef6937af022951044652ea1fb1dcd3f65961408e84a52f9053db8f4fde6703f18833ee9cd002bc058f01813ddf765f575200211563d6e16a956d3613";
   sha512.doc = "a6c4ae60f2922af773f67494c30407b5b6ead39def9253b4710940774e619496a3c242f7e9bcc8733fc733234679bb2b01c6f4571e30dca16c8eb15ad8d6d01c";
   hasRunfiles = true;
@@ -18138,6 +19509,7 @@ exceltex.binfiles = [
 ];
 excludeonly = {
   revision = 17262;
+  shortdesc = "Prevent files being \include-ed";
   stripPrefix = 0;
   sha512.run = "b83426d7ff334e64f8a5566fa905f1c03478ff68da5b74b85dfd6c872db7a63454f627db4e6bea48f8048da0d84bd80b269cf5cd3a5b487484dcd8f2e21c5058";
   sha512.doc = "11f1a4e7b0bfeb5728ab632756fb612b784e7a8b46e68c2e5cb3681928811d394ac0b7f508e7c655945209b1e75837d4ec1a69bcaa6b0ac8d45d66302b4bcb13";
@@ -18147,16 +19519,18 @@ excludeonly = {
 };
 exercise = {
   revision = 35417;
+  shortdesc = "Typeset exercises, problems, etc. and their answers";
   stripPrefix = 0;
   sha512.run = "8de2044404690716d781a3b081181d9a14596487213762bb1ef426a0951dc18b1097a4cd8255bc7094d9d5e7f874e68181849c173a4932e7d07c46e14d1609b1";
   sha512.doc = "3059c297ecb8a990bac32e1e52bcd6fe39e6958c96c145ad70b937ba89284a6f447a84e2f144d31aefa1c446331c7ce80ccba926e288d7ade917c7aa68095076";
   sha512.source = "fa76e8b16def4f53a968c897e12e37707c054c3a964f14ee9654bae4e7285a3d300d62f0a79ba7fd80b2fa15e9a334bf38f3a744f0c0f6c32659853bc9b57855";
   hasRunfiles = true;
-  license = [ "gpl2" ];
+  license = [ "gpl2Only" ];
   version = "1.6";
 };
 exercisebank = {
   revision = 50448;
+  shortdesc = "Creating and managing exercises, and reusing them as composed sets";
   stripPrefix = 0;
   sha512.run = "6398abee37218c1c4b0e21f7dcdc82b49985888c8e5cc4702fbe20942471cfcdb8bb37c66edf2c6764d9a38dcc932b8584f65bec8dcf75ba11c738705a71048e";
   sha512.doc = "d7b262b7a9ae3a45b69112e2924be8ec7cb2c13a8b973056e849cc5a0f4c82f85d4b5887a3286360b38c3459bc99ea9d917cd1084d6abf1ffc343d7ab522fed8";
@@ -18166,6 +19540,7 @@ exercisebank = {
 };
 exercisepoints = {
   revision = 49590;
+  shortdesc = "A LaTeX package to count exercises and points";
   stripPrefix = 0;
   sha512.run = "cc706842f62ffd982dfde7f503f226c7f7050099b581dbef6e5e7f85269e3110a738232f1a99752b353a54a91ae5ef145697ff36ad9df1fb69ce1051bf92858c";
   sha512.doc = "81493e680086ce4d833e8e9107a056daa4e74e321964f914d8824e25b4dbd6c181b1e10d41ceecf27d18baa53958babf77b0edf4c0234e0b80a8a3f5ae49c348";
@@ -18175,6 +19550,7 @@ exercisepoints = {
 };
 exercises = {
   revision = 55188;
+  shortdesc = "Typeset exercises and solutions with automatic addition of points";
   stripPrefix = 0;
   sha512.run = "90ca30f7417076a9933970d6c8559317861015480ae5da813e19e0114a6838084317fad6a0b1aa295b7a8a8c49038007a36ebcf4ee83f54fc0e454a317943923";
   sha512.doc = "ba5b8125bf2a59646f401c5d4968f1e00b5d9a35293bcfd7c67c54d275b8e4b1586a5f07ddd097065259935a541551a8b990f5dc737e1be8e78343382b7be72a";
@@ -18185,6 +19561,7 @@ exercises = {
 };
 exesheet = {
   revision = 69885;
+  shortdesc = "Typesetting exercise or exam sheets";
   stripPrefix = 0;
   sha512.run = "80b24d8740ff9d633b852fd27c2bf6c6ba00465c620780a0184fdd2c0944a3d84fb467561602cff66c96657d6feb983225f529c72419c81579aefe2a10885735";
   sha512.doc = "b6e1f6534deaaf685428d83ca76716309c33f9bba4799a59d9a5223d1594989c81bdb568b4591ef3c58fece8cf4b9849c309e34b2b482478d1b4994d3edf3455";
@@ -18195,6 +19572,7 @@ exesheet = {
 };
 exframe = {
   revision = 53911;
+  shortdesc = "Framework for exercise problems";
   stripPrefix = 0;
   sha512.run = "426128ad41db65598a47e0baf0e019b6592c996b10442edddd624d86524116df4e0fd01411c3ac2f4153ab1af6f3a960680a085a556f07a90ff2b326bfbc26b2";
   sha512.doc = "c8f9913899a52815ddf7d96f033db62e248a92ddfbafea2091a93b55fd1bdcb01734177c7e234ac2de51383eea7e21afaf77164ce496c7858f95d63800461007";
@@ -18205,6 +19583,7 @@ exframe = {
 };
 exp-testopt = {
   revision = 15878;
+  shortdesc = "Expandable \@testopt (and related) macros";
   stripPrefix = 0;
   sha512.run = "26b5af9bdd06a3bbd231b1b55c4ae8929efa06655656747b804425e802fa7d07355e510ac673590cef235cceaf88fc03e1493f4bee9c99ce2a32c32b9a3f9aca";
   sha512.doc = "f4f7cda5cc8b3f8900cb12989834e5b1702f751248f58fe65a8d65ab69eb2a4118002212eefb609e251d4437579e635173366beb471e32d07d45c5c645ca506c";
@@ -18215,6 +19594,7 @@ exp-testopt = {
 };
 expdlist = {
   revision = 15878;
+  shortdesc = "Expanded description environments";
   stripPrefix = 0;
   sha512.run = "fc0f0473faea3d8ffe917e654909374bef6b6d7e41d14c32acb3ee822748c6f37d1f5ab562b4bbfe35dde983f12cd9e1469bd2061aff32e3f79de66e6b3a6c32";
   sha512.doc = "624bbc4ce685589e7e6393cd991b6305d8a20419b4538f2e1728f9ffc004ef4d724831515b77a607093bf45b8cefefe3e6a352403ddcb543b690b314fb469ce4";
@@ -18225,6 +19605,7 @@ expdlist = {
 };
 expex = {
   revision = 44499;
+  shortdesc = "Linguistic examples and glosses, with reference capabilities";
   stripPrefix = 0;
   sha512.run = "b447a885d65a000f0b79b4c9b050bc89bb32b71426a29261d282fad72428fcf64dc6c660d9142114094bba32040c8e723190e553260c3899a1c1923ebb9f765e";
   sha512.doc = "b0dce6401ccdef7fbfebbcdef9d68f073058f935eabc95fa45619f4d4d85e6b53e15091d845593255c000c3e672dabadb1cef024b2b0c79765f4f6a231de86e6";
@@ -18234,6 +19615,7 @@ expex = {
 };
 expex-acro = {
   revision = 68046;
+  shortdesc = "Wrapper for the expex package";
   stripPrefix = 0;
   sha512.run = "303eec6a2ff399771eb33ecaeaf85fa4a95dcd6bfcaf2a99d702dd148c90b99dcb6ec292170406e497839d5c64ca1a5a6faa20e6cd64a497eae7900b2f28f098";
   sha512.doc = "cb24be981f9ef838be718f44f2b69ee03f81bdd0c6bb49ffe632214f3b6029293d92bd492f59b0c34bc39aeb506204f747a6e02064a9f222cd01053fa1ebe98e";
@@ -18244,6 +19626,7 @@ expex-acro = {
 };
 expex-glossonly = {
   revision = 69923;
+  shortdesc = "Help gb4e, linguex, and covington users use the ExPex glossing macros";
   stripPrefix = 0;
   sha512.run = "367021fd290eda11945ba892fee935bb6c86d10427c86232acc000e409d254f410fe7a1012f1870f9c6911a2e1172dd27eae3ee922daf5804433120ccba46015";
   sha512.doc = "fe033244e38a76c3dc6cd3da6189980184e0dd95d74b006011881218e6a385e468c7e59c6dd0da60967f3a8a31c030a1ab70e209c054f89ff1d90e802519edd9";
@@ -18253,6 +19636,7 @@ expex-glossonly = {
 };
 expkv-bundle = {
   revision = 65623;
+  shortdesc = "An expandable key=val implementation and friends";
   stripPrefix = 0;
   sha512.run = "969711569e1a27e2b08fb7aa9049413ab55c6799d6e1b6cd1c92a79f82214e36d26608fa0613bc3299385a94919f8f2d0029bd28ff2a649873ba6f5da74d48fc";
   sha512.doc = "091fa4f7e8a3b321f02c874160eb92aaca0bbb9b0abb895c74f398c879cf52945ff3468f5f9f4f9d5ada750c47c817be3f9280328e6958ad7de470a11ca340b4";
@@ -18262,6 +19646,7 @@ expkv-bundle = {
 };
 export = {
   revision = 27206;
+  shortdesc = "Import and export values of LaTeX registers";
   stripPrefix = 0;
   sha512.run = "04b5eac3e263fd692a1f4796ddccf7c5f41398075c9b15e65a0712cc83dcd85a65ae4506a882249e09c9ceea37f973be3398a0c31d2590e0c3e57549f07e9116";
   sha512.doc = "169236b497ce09d685c71bd21eb6c35ac260d5978c03f074371386062ce8219bac1e501878ba13b60677c423904ed11b37d8e018adae573d135a1e1cbfdb84a4";
@@ -18272,6 +19657,7 @@ export = {
 };
 expose-expl3-dunkerque-2019 = {
   revision = 54451;
+  shortdesc = "Using expl3 to implement some numerical algorithms";
   stripPrefix = 0;
   sha512.run = "9a642f593f0440159d802bfd78a472645dc1c320a43e8bfe91fd7eba3c0b67bc3ad9477c17b36f6ac08b39ddbaff11687e78694bc81134c33e1af085a9384a24";
   sha512.doc = "d3b09af828ace720aa3f7b0fe979893f9fca3d358a69abd818bca7a81d45928cd02e0557bd607bcd91f223ad9f4808b0aeb61ba7269728d467eab46999ea5f92";
@@ -18280,6 +19666,7 @@ expose-expl3-dunkerque-2019 = {
 };
 expressg = {
   revision = 29349;
+  shortdesc = "Diagrams consisting of boxes, lines, and annotations";
   stripPrefix = 0;
   sha512.run = "d380b7ca2efad2cdafc3ea6f2265452a85035765a221dd5cfeb33a03859dfca0e4cd01219995870c8943657d2525e25d32bf7e5b9fe8aa9afa8d17c1ac4703df";
   sha512.doc = "9287376ba5aa36088b4a99455b727c0f60648d50421ebf2fd125542f208f490c5b57af256bf2b704f01a3e00e85e6023c69cb6dad529fb7521ee8cde74ae9559";
@@ -18290,6 +19677,7 @@ expressg = {
 };
 exsheets = {
   revision = 67300;
+  shortdesc = "Create exercise sheets and exams";
   stripPrefix = 0;
   sha512.run = "475b2508bedfef0f537b02dde56e489ec464ab500e1b6b63e7d8accaf9d5c17e8973d9aee8d370494115592febe684262fbad239fabe5a314c5d89e781506377";
   sha512.doc = "8a00471bef6ab06927fc7c3a4c33e32a2f6de376cb238fa3e06e3e5a44c98b2ed413f74e60bb207c99c6e64f934bcb406d898bdaa0bd6d9c70b3b5133f4e8178";
@@ -18299,6 +19687,7 @@ exsheets = {
 };
 exsol = {
   revision = 69343;
+  shortdesc = "Exercises and solutions from the same source, into a book";
   stripPrefix = 0;
   sha512.run = "b29f3f9e3ba9d4b98b5db23876e69cce17740923419bc2999c742bd24ecf8f6434bc6226bf4f0bbbd17de79b45653b97ea85866b76892f07d696b0ab5b6afb46";
   sha512.doc = "8be8c7e37139dabc5095c1c77f21a55e60666067ffaed66448db31a3cdf1ef2c21cfa4cd8e4021ecdb6586f1a7b0ece40ebd79f485f878fb25249e1094b7b316";
@@ -18309,6 +19698,7 @@ exsol = {
 };
 extarrows = {
   revision = 54400;
+  shortdesc = "Extra Arrows beyond those provided in amsmath";
   stripPrefix = 0;
   sha512.run = "ebaceefc82c42bd0b0e341d6d2cc589f9369fceec0a71dd7da40f0228b0ef1fbdcc9ba95ee0990b47b4a202d15c87630e46867afd8e9d69fe02fa721bfd590c5";
   sha512.doc = "c51c13205ebb78eabf181b4a927bf92ccfe6756d732162407d1e98961c6b50fc20143de05c992feab2b6622a80ad7556eb173d87264e4c0059cddd10eaf8506d";
@@ -18318,6 +19708,7 @@ extarrows = {
 };
 exteps = {
   revision = 19859;
+  shortdesc = "Include EPS figures in MetaPost";
   stripPrefix = 0;
   sha512.run = "1991bc0b471276ca3db68a8ba7611becc4557de4335a321b5c3e92c1fefbe34dc0488ab44850835b5ceb1684ce429e7756fb86d885e2da2177e0d9081797aa0c";
   sha512.doc = "aac2e20a993818576f9e1efb153e9285b17b48827a1547a0c1033f22fa1a52f84ede214b4322ce4c6ddff69b8736f214f27370b3f1c006ea6e5fe2ab9fd64304";
@@ -18327,6 +19718,7 @@ exteps = {
 };
 extpfeil = {
   revision = 16243;
+  shortdesc = "Extensible arrows in mathematics";
   stripPrefix = 0;
   sha512.run = "5cfe0172ad420c3ca53c57be33fc56b205ba05a11876e4d14c6d86387788c73370bc0708bee46e43a02f10ce9db4b3611b4ee337ace44fe8fbcb2ca82f88b2f7";
   sha512.doc = "8c2983b2e777e21e95d6ce1b9b4732491ad8a931205adb071877bf966fbbdc4306b88b35db87db4c3fa0bc52cfd333f721de2e1e7d233ba3c91d192a3574171a";
@@ -18337,6 +19729,7 @@ extpfeil = {
 };
 extract = {
   revision = 52117;
+  shortdesc = "Extract parts of a document and write to another document";
   stripPrefix = 0;
   sha512.run = "32889da48868c2335866bb5c229728f9a37dcfe552830ca03ad3b704d1f7a471ee120de2ffed07bcf50797f7e34dd6fce53c77f1b63d15071888171d44cc938e";
   sha512.doc = "64fd270a61f5e5f39442a56bb7a20606854b45a995b9a455604139df8006a1b198ae332669de09c1baa5dee5ccdf59e5989d21c17376a764a096f535ceff3f48";
@@ -18347,6 +19740,7 @@ extract = {
 };
 extsizes = {
   revision = 17263;
+  shortdesc = "Extend the standard classes' size options";
   stripPrefix = 0;
   sha512.run = "5b000d25ff594af2895408f0d83eeb0e7d6dd5604c53d5acd835898197e44fb88ed2469039489b75b45678f28182dc88a0af56ed1b1730be2ce41e6e81f13b7c";
   sha512.doc = "9bfa898f7eab416beaee2938902fc0f3a5ddcf1ce972f30d18a683756fb53bc8f66ef1220bd3bbe6ca6a473959a67c55c18a7996eb095ef301da8b594f42d3ae";
@@ -18356,6 +19750,7 @@ extsizes = {
 };
 facsimile = {
   revision = 21328;
+  shortdesc = "Document class for preparing faxes";
   stripPrefix = 0;
   sha512.run = "3a179a3abcc33bd0f48bf267338c8a7dc0186f7eed097af74cfd8a936956952fb50876dea447839738842fad34c724c057f577d427a82fd82f85c7e8ab80c8ab";
   sha512.doc = "36da402d7b15601ad768aa1e07f356812ddf0a09b30d19c13bfecaeac847537caa3be31036cb80441370b6c046dee24b13aa3e04f339476e9ecd18cf09c8c9cf";
@@ -18366,6 +19761,7 @@ facsimile = {
 };
 factura = {
   revision = 61697;
+  shortdesc = "Typeset and calculate invoices according to Venezuelan law";
   stripPrefix = 0;
   sha512.run = "6a90efed09588600991644ba847b16641aef40dd0b989b1944f7b48581d6bae642645fc97023e6cb0f1dde76593086c3007580df25e5997b92593020140dc212";
   sha512.doc = "f449e749dc4b61a8a15062fc9e5556414868cf904bb279c5e997402fbd6d7f21f3e8f19c19af5ab4049a1512070d8e74064d4823d56ee7a20ed03f2a2eaa1b91";
@@ -18376,6 +19772,7 @@ factura = {
 };
 facture = {
   revision = 67538;
+  shortdesc = "Generate an invoice";
   stripPrefix = 0;
   sha512.run = "30ed6e76f8801f61eeea27679c8c23c050c7d17c334eabe0a00984b1117f046314e59c2c52225ca7d38eb71b93efa57dd563fd582eed500fdf238fac9540b606";
   sha512.doc = "c84aeae53d8324b9e4f1d386dbbc8774d1b9266ca5c8b893a7280bdbc2578dc9e2ca9975874f4d0cbfc5dc10455cac322d9642534b0fc1384a6d7d192a816d51";
@@ -18386,6 +19783,7 @@ facture = {
 };
 facture-belge-simple-sans-tva = {
   revision = 67573;
+  shortdesc = "Simple Belgian invoice without VAT";
   stripPrefix = 0;
   sha512.run = "b37887eff90040c6705396b81ecf753289974f1fc5e7e348db2f0414ed7f1afdc0179814a6c89f0843f310b6afb56e8a3680c787fcdec886dceb49ac5f25be9a";
   sha512.doc = "5d5bd334d970ea18e5e041e629893fa42c391a3de0652516efa258b8919429d1d6fe7b43cc4bb104d762e5a5770fe3fe8ead51c61c40ebaabe25e3d15311bf0c";
@@ -18395,6 +19793,7 @@ facture-belge-simple-sans-tva = {
 };
 fadingimage = {
   revision = 70610;
+  shortdesc = "Add full width fading pictures at the top or bottom of a page";
   stripPrefix = 0;
   sha512.run = "c86ff2a9387a4a1e0713a42a6a95bfac953bdbdcd2d0a5b1de918d7f5bbdc39a00950ad7e9ad1705245a7f8f6021a4b3a676540930c81d9cddb7f87fd9bc8477";
   sha512.doc = "1350c995bc94b4d5c8a0d8c0e88dbbe1dadc82cf5b75be09be3a0c3fee90ee6451934154488d5c2a21ce8451fcc7ae8544f7938aa692f96bb133766a05b49730";
@@ -18404,6 +19803,7 @@ fadingimage = {
 };
 fail-fast = {
   revision = 67543;
+  shortdesc = "Turn warnings into errors";
   stripPrefix = 0;
   sha512.run = "dbe4eed6fd1b3bd3c2d48ab4590043c2bf95871350bc1b56f47bb4dc27ef3010097741920ce0a935aaa03fe9e2e8de49db7906dace3be314fca49e816c7451b3";
   sha512.doc = "6c5bcd8329cd21f13a1e0074ef4c4b5bc474babd663d444d9ce48d23ac775dfaaa7cefec393a6ce2bf81ca67c1429c65dbd41511162030b80fd1445c9aa5b541";
@@ -18414,6 +19814,7 @@ fail-fast = {
 };
 faktor = {
   revision = 15878;
+  shortdesc = "Typeset quotient structures with LaTeX";
   stripPrefix = 0;
   sha512.run = "5c598fbb40d7b37ee5b66bc1bfa8b0b2a0b45f7e22c992e6d0c85ed952a79a120803d41f9b4a13bcbbd6424c555c8b9ba6adb4eb79d1056fbf759008f9b741af";
   sha512.doc = "57934606287afaf1471f1207af5d0e97533a504aa83324069154e88e70f10779d2eb19ed2a9e177c5a4b2cce4203b576272fd2513d989d4ee276330305597034";
@@ -18424,6 +19825,7 @@ faktor = {
 };
 familytree = {
   revision = 63739;
+  shortdesc = "Draw family trees";
   stripPrefix = 0;
   sha512.run = "2f3cbff39c42d0d6414b372c165bbbf3a4dbafa28bf16ca47a89445066480317caedc9b371f9deb348ba986de2c14b71b1820aa731e74d72a4b0b39a413bf9a5";
   sha512.doc = "55f035425d11f070870cdd8ccd555447861823754a91b0a31f54403013a6427197b3ea893fa7e75e63577635a5896288f29ef052c9431aff3f1a9c2038ccdb1a";
@@ -18434,6 +19836,7 @@ familytree = {
 };
 fancybox = {
   revision = 18304;
+  shortdesc = "Variants of \fbox and other games with boxes";
   stripPrefix = 0;
   sha512.run = "752e26abee96dd2bbf77b30a6d98d48a1673632d5601d28bba5799e845a015357b96302f3f1d8977f0458003d3456df4694884a05ccb6124b76ca8f7fc84fcbf";
   sha512.doc = "2c3e0466198d392af57b2bda16f80589a9aa9db992272980a2e7ab9d7d1842d7e8f2980003b3b09648cfe0b9a1977562534ca54fae120bd7e4d950d25a83c0c2";
@@ -18443,6 +19846,7 @@ fancybox = {
 };
 fancyhandout = {
   revision = 46411;
+  shortdesc = "A LaTeX class for producing nice-looking handouts";
   stripPrefix = 0;
   sha512.run = "0091703483cab573f9c9202603d31e310baafe932f929ad852c23d2ca97f21681637bb3ae34fd3d916f3e50f553b42ab1682b437f5a63b67c6dc4b7b7f202c80";
   sha512.doc = "be4c7b2caf2e85ec192f3aded87309ee2361fbb7e8fd1225f8f98f96446251aacd69e04e306473d06e14c8a8b686dd7a1c54cb0311bc4138fc9c34fa2d528ddf";
@@ -18451,6 +19855,7 @@ fancyhandout = {
 };
 fancyhdr = {
   revision = 64977;
+  shortdesc = "Extensive control of page headers and footers in LaTeX2e";
   stripPrefix = 0;
   sha512.run = "51254df035199653a78cc06c6b62f3d9edf3fa8c78911c0c667d5043376c9d449ce5a412ffb4e9df2bbd7b7459be8bf43f5ff296015ab2b2e146673290211a3f";
   sha512.doc = "3c3a1f01fd799b8530634ea917523f6a789f7f1b4dddf16e269ebb78ddaf749fff6ca07984044128147fbf5e568837688906c36c409688150f61490565b1a06e";
@@ -18461,6 +19866,7 @@ fancyhdr = {
 };
 fancyhdr-it = {
   revision = 21912;
+  shortdesc = "Italian translation of fancyhdr documentation";
   stripPrefix = 0;
   sha512.run = "6899f3c11ed4a8f7476fe954166ea7576446b670d0b22737766927fcd29eb24e6143ff3031b974856562a7ff55e68f208164729618a4d28d28b856919f2a666b";
   sha512.doc = "cda5ff0581545e4eca9787b27dddcdad226b5dc9a630773b13073e9248b7b30b985fa5f5fc1bc5380e5a0d96f06c666d4e7e73168afbc2fa4ed0dd202967dafa";
@@ -18468,6 +19874,7 @@ fancyhdr-it = {
 };
 fancylabel = {
   revision = 46736;
+  shortdesc = "Complex labelling with LaTeX";
   stripPrefix = 0;
   sha512.run = "950455301b0bf3ea3be0817a45c4e7453ba95c8afd397c1cf9ebf559f160e2828f414f0dca4647a80481f6e8daa0902e24692469023c21ba844afe1edda60b2f";
   sha512.doc = "3a05f2b388eb2a22a0b48b4761b3964c7b0c616eaf0c8adcbd4f375a3dd059b3d3b0831e754842bc084123fff7a12f59c87c5c5b362739c062f36a215dca2ca3";
@@ -18478,6 +19885,7 @@ fancylabel = {
 };
 fancynum = {
   revision = 15878;
+  shortdesc = "Typeset numbers";
   stripPrefix = 0;
   sha512.run = "93e1b88ca722b4169a572285443fad53b66ac59a3c0b6465aad54bd8d416046bfd79897db3d8f318f9d6e004c958b94bbcab16b1183d66197e1078840934689c";
   sha512.doc = "4be390bfd7562e0c94dc19fad3e0f34e52db393878290773517d6d7951e428cd3d0dccf5f47f6f03e5f0b380ebb386c8d89373e8c8e4cbd16463a9cdd2f2417f";
@@ -18488,6 +19896,7 @@ fancynum = {
 };
 fancypar = {
   revision = 58895;
+  shortdesc = "Decoration of individual paragraphs";
   stripPrefix = 0;
   sha512.run = "2f4e242eabb151834c6014a15d0ae012949e5e35f87bc32374e12f032bbb0fa21d6562b207ba855afaa28c36497cda3ca51eaefa579956f51283c84be8cefbba";
   sha512.doc = "1d972212b86e56eb692cbcca5d7d47b9454a6c0900803818c286b6cc071df93c5444d36eb29a8035e53c65fc9c30582686a6b9203af8e142e1cf1c31a6e4d58d";
@@ -18498,15 +19907,17 @@ fancypar = {
 };
 fancyqr = {
   revision = 64182;
+  shortdesc = "Fancy QR-Codes with TikZ";
   stripPrefix = 0;
   sha512.run = "fe2a8078e8491384ca4cc25fd058433dde3d4d4fdbd5784ad67150169f1ff5eec85c6f2c2ae7efb6aff6e6fc731c18cc4a156d968872b69d58a36bc042825c2c";
   sha512.doc = "afd49422e17012b84a9ddf9ead15af3eb4f5b0e8291f76b9a672d4a3097d9f390753e0090cb67df94cbd5cc88c45ec2bd67b55594bae9ed4b945ad293e4f07df";
   hasRunfiles = true;
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
   version = "1.1";
 };
 fancyref = {
   revision = 15878;
+  shortdesc = "A LaTeX package for fancy cross-referencing";
   stripPrefix = 0;
   sha512.run = "8f4ea5f16bfdbd06bdbaad76da724a1aad82263f4db2c24cf5f2e9f2db9f2afd9d4004d629098f936e0c2d4dcfa5fba8bd278746b90542f87b547e20abb0bcba";
   sha512.doc = "2231f5fd45d45cb7b538852c95b90db35fde9b66629d17ec9288de6ecf5339359c17fdc8931019fd4acce61ec2927a0cd494cc7462cab0df13d7660106b6a142";
@@ -18517,6 +19928,7 @@ fancyref = {
 };
 fancyslides = {
   revision = 36263;
+  shortdesc = "Custom presentation class built upon LaTeX Beamer";
   stripPrefix = 0;
   sha512.run = "a0b9ef4ce804b78a60b4c3a25d5d70bb7ec17324d295cfaccb64d166bb1a704bbd2baa5cf6edfed7adff03f48bd3f3e7854e2fbfbbfdc7eb953d567a257a6e46";
   sha512.doc = "77e1839377ba440d4009f30ae6e58d843ec4b7a1bf7f0d3414700e32c9a01062cd6506cb589039299e7a4fd945f9ee5cd951a62fe9795f822089152ca19f3441";
@@ -18526,6 +19938,7 @@ fancyslides = {
 };
 fancytabs = {
   revision = 41549;
+  shortdesc = "Fancy page border tabs";
   stripPrefix = 0;
   sha512.run = "0cd45edda0062f4a0fbc26a0516d7f5b35cb4f8dfd4072830da880369d71d8a4aea6a7d5dd95a0b479ec3128170108f114aa00ef4b0c8324c60ddd214568f5cf";
   sha512.doc = "0113da627d27fe88c4faa87e1564851344dac2efb75c78facc4da49a8937e2bda8e1f22997a2018b368001c24e721cbf623fc199d03673701a55c7ca45404770";
@@ -18536,6 +19949,7 @@ fancytabs = {
 };
 fancytooltips = {
   revision = 68931;
+  shortdesc = "Include a wide range of material in PDF tooltips";
   stripPrefix = 0;
   sha512.run = "b24e747d4ad811002cf742f6c74855a85b69745661de1cd1d4bcf41ec18ff62d34b39adf56393f79214a1cd4e54f72c54796b00d573e29414825b8c1a3cff317";
   sha512.doc = "4d567cc367e19727815efd49392ed0455dd47d9416d6c1a4cf846eb017b3b3cb0c8060fb0fdae0a93cd05a156422f5ece0ba15e54bf3fef9b2aa8ad6a7c4166b";
@@ -18546,6 +19960,7 @@ fancytooltips = {
 };
 fancyvrb = {
   revision = 69536;
+  shortdesc = "Sophisticated verbatim text";
   stripPrefix = 0;
   sha512.run = "816a42630da356afeba3d7f0dcab924edee8a0d349412cb920a3ee21d9e1a57cc65e1655ba6759e7acd6508532f4ee059512a8997b964f923a59a57f548aabcd";
   sha512.doc = "4dd0ce373ac1fe5b44c6e9470790e372e240f91a8b7add6ed4e0237a22a68309bf8326607679817d5b4db975a286340c469457d8ff4664a7d7a74e65e92a4a5d";
@@ -18555,6 +19970,7 @@ fancyvrb = {
 };
 fandol = {
   revision = 37889;
+  shortdesc = "Four basic fonts for Chinese typesetting";
   stripPrefix = 0;
   sha512.run = "309b19d6bff9d3e009610d698a73ba191da70cabd57157f274dfca7583a9e9b31fc30ea52b2b2ab3386be7290a680f8eb47dc92381c3da8251b01d8c6a65c3ff";
   sha512.doc = "d74e78a1c863d3865ec4b21a4c762bf6e2c30a8656fe0ec830d1e56b9fcb48861f316ccf8d8641e7c674e25f1ac2292d10ff2127315275347096ad325828d7e5";
@@ -18564,6 +19980,7 @@ fandol = {
 };
 fascicules = {
   revision = 54080;
+  shortdesc = "Create mathematical manuals for schools";
   stripPrefix = 0;
   sha512.run = "0d6318bea8660796a5ddeab06c416017ec2075633a391a536c7c3355de7b7e7f711e74f0e43e8b4fd39debfec797164f1961eb27776ca3b53eee729d0e27a479";
   sha512.doc = "ee9a54c4b2d746577e94abb6d458c473f88bff18e4f0f57bed5923a1ef08c6ca533183ad9e9eb1d1bcfae6aa5082d88a9c08fe7cf96c3ab9d71ab099ec64c1c0";
@@ -18574,6 +19991,7 @@ fascicules = {
 };
 fast-diagram = {
   revision = 29264;
+  shortdesc = "Easy generation of FAST diagrams";
   stripPrefix = 0;
   sha512.run = "cedc8305ba0a7b1d22274d869629a1872a80a4001b443c8baa93e44198a5dd88e39c16c28bb5edf9fedf4f8f2f68c6964f009cbf6feb21c7c14974c4b598acbb";
   sha512.doc = "cd8e3edf882fc16b5757f59d16ed1a479e437eba36c783cd86cdfb9cb81f8b30e8b95a522ef6fe4b6e22b4b0bf6637e72bff734f7771034cfaf85df935e4a003";
@@ -18583,6 +20001,7 @@ fast-diagram = {
 };
 fbb = {
   revision = 55728;
+  shortdesc = "A free Bembo-like font";
   stripPrefix = 0;
   fontMaps = [
     "Map fbb.map"
@@ -18595,6 +20014,7 @@ fbb = {
 };
 fbithesis = {
   revision = 21340;
+  shortdesc = "Computer Science thesis class for University of Dortmund";
   stripPrefix = 0;
   sha512.run = "3e593e312ac8efbbdd294e6a00ec020678dcb12259ae778ddaed4d43a800aa19ba16f8eb15b5122ab22f44c5e23c77e4fe733c7772929ef55589d387985db694";
   sha512.doc = "92d0ae3382aa71260f6ed204f6bce1bcbac26985f41789e00c5d3186dcd448bd169b7641fa40d34cf87c556ca10573b0d8cd4235aaea8a0d1533dc40c71b3779";
@@ -18605,6 +20025,7 @@ fbithesis = {
 };
 fbox = {
   revision = 69041;
+  shortdesc = "Extended \fbox macro from standard LaTeX";
   stripPrefix = 0;
   sha512.run = "705a0f1f6d5009f0ac2fa1059f3029ef7bf7e8fdab6e85bddba822eb50dfcc049f94b7ff43afc97234d44f42505e1cd4e6caac1f22178949dcaea0a60e572281";
   sha512.doc = "19a61ddc64c3c5108ec05089e988a07f0e10d772bed810898bf82046922eab58a389c3816b15055b5c2e8a4d1392305a351802eaf3f1e72799c9c192eb8c1484";
@@ -18614,6 +20035,7 @@ fbox = {
 };
 fbs = {
   revision = 15878;
+  shortdesc = "BibTeX style for Frontiers in Bioscience";
   stripPrefix = 0;
   sha512.run = "2d5bce7890fd8e087e035e60064bf134d8ac7ca2646f7b846df8fca7c594843c2778d0ad1752ffefed40283153194b5da97156e866bb4b8bd10b14c8ee3f2c4d";
   hasRunfiles = true;
@@ -18621,15 +20043,17 @@ fbs = {
 };
 fc = {
   revision = 32796;
+  shortdesc = "Fonts for African languages";
   stripPrefix = 0;
   sha512.run = "12bb408f7ba4774d943aa954bd3d2558a329d383a65cd4780f6c5bdc39f51b943f01d87ad203aea3b02768dc0b9ab42f681175c18a1e1dd901255aae05156558";
   sha512.doc = "a7495a0d6bd394811ff22438a42afe3c5109633da7c606a732f4c5746cc4162fa1c86ac3774aa7754e9b07c499f3519423d4b6fb212ecae156b0b8e8f848d914";
   hasRunfiles = true;
-  license = [ "gpl2" ];
+  license = [ "gpl2Only" ];
   version = "1.4";
 };
 fcavtex = {
   revision = 38074;
+  shortdesc = "A thesis class for the FCAV/UNESP (Brazil)";
   stripPrefix = 0;
   sha512.run = "db440d7310805a7f3d918996e577a07c5d8dff72e6d667f00c1ffe5d88e3bcb689e794837609d9a0760530e923f9a28d3e5c052cad4c38e23ae03454e0ec26c4";
   sha512.doc = "2060c70b6a926aae23c145f11c7c6e255f684f925bf5447ee98fdd6f6290d64fc5a92ccf8cbf85e0c6f0d6fee869a2d947e3df8726fffa4a5d2c87c217beef59";
@@ -18639,6 +20063,7 @@ fcavtex = {
 };
 fcltxdoc = {
   revision = 24500;
+  shortdesc = "Macros for use in the author's documentation";
   stripPrefix = 0;
   sha512.run = "c14db194a73247122e589024824a53125ff10e15f8bec2475530aa41e78d74993f73474ff9b3899bc499c0cd8dd3e1ea034ea821d233c2a512f8c4d4d06d095c";
   sha512.doc = "4aa6aed9c5b4ddaa63eb2aa7e529da03dcfc57723a6cb40cbbfc729636e459f4df1e292bdcd20093595cc3ea154787fda41abb4f6f46db2a7331626f181f47d0";
@@ -18649,6 +20074,7 @@ fcltxdoc = {
 };
 fcolumn = {
   revision = 67729;
+  shortdesc = "Typesetting financial tables";
   stripPrefix = 0;
   sha512.run = "0edaa6ad0c01a2cf9cc06c65fec3bc13b85be893d7fcf4a92b0c8760d1999e5c3b90975e44c586ef104b020eaa0a18cfc4476b3abb243c5f2862941864113bd2";
   sha512.doc = "9be3c50f25522c3fafb52432b74f6ab755afc02df04da84383ebb466bd9424c716082d3d6ff176d32c03c9097b6e39c6f54e70cd8218784492d2ebe37de0ebd8";
@@ -18659,6 +20085,7 @@ fcolumn = {
 };
 fdsymbol = {
   revision = 61719;
+  shortdesc = "A maths symbol font";
   stripPrefix = 0;
   fontMaps = [
     "Map fdsymbol.map"
@@ -18672,6 +20099,7 @@ fdsymbol = {
 };
 fduthesis = {
   revision = 67231;
+  shortdesc = "LaTeX thesis template for Fudan University";
   stripPrefix = 0;
   sha512.run = "e495c127884aecc1856b99705c262882b390f9e800dca59c2fa1200ae584a424ef4ce7752a9bb5dd7aad9a94c4a685af557163f2b07327e80f5b99153532d915";
   sha512.doc = "31a91fa609f3ef8631d6ed57526e932d5c110e4d84cc78862d1bf4c682f8de97c080a1e2d82e60842b731e33505b99dd2a85ae899705ebc45de44e526358703b";
@@ -18682,6 +20110,7 @@ fduthesis = {
 };
 featpost = {
   revision = 35346;
+  shortdesc = "MetaPost macros for 3D";
   stripPrefix = 0;
   sha512.run = "9d7c35499df5c8c8efe8ea51d88c4cd9ddc6bd5238ec527d842aaa9ce42c30bb1d73c667f5aca22f385d3725c7443f043a2b63cd337a7f6d5b5d5810ea34bf64";
   sha512.doc = "e4eefb43d63c6522c3080a76b4df3a369932bc9e2f868ed0143d62fd2365bb74e6891705b287d19b4ca4b2560b0573d6ff9a0e5cf2a3da2e4b21482cd6cdd0b9";
@@ -18691,6 +20120,7 @@ featpost = {
 };
 fei = {
   revision = 65352;
+  shortdesc = "Class for academic works at FEI University Center -- Brazil";
   stripPrefix = 0;
   sha512.run = "2be4e4d83c5a02bfd43eed59741e07868e0e22489bb087f91de0681dbb04e999cff2bb9441b87937c3e2cfa60b7d4a1641dce4529a5aabc15df12d70e22e521a";
   sha512.doc = "adb30683e075801f74cd87bad431c880ffe410fdba738b197932af4f0efdb1c6530ddd66c6c860c1097b4f9e37601a1a9c744a1b573396c29898f130988174ea";
@@ -18701,6 +20131,7 @@ fei = {
 };
 fenetrecas = {
   revision = 68779;
+  shortdesc = "Commands for CAS-like windows (Xcas or Geogebra) in TikZ";
   stripPrefix = 0;
   sha512.run = "6337deecbd49a9ef9d19ab31cdd705cb49bb127ff451d9f3790a3ef8fa95ee7b65f52d49d22b1698d039fe268fcc178c07f30dd66ba7aaff69e883594e6956c1";
   sha512.doc = "8fda8eeac400f810e3839f5197c53b808594c2536b1d4a5c7c96c788b8faec40a4efe403b065519d20f09cc1d14fe80e9e060d2b8e4a396cc9c1ad34dd16fc42";
@@ -18710,6 +20141,7 @@ fenetrecas = {
 };
 fenixpar = {
   revision = 24730;
+  shortdesc = "One-shot changes to token registers such as \everypar";
   stripPrefix = 0;
   sha512.run = "1b09294b430bb9ab6a4eae11549500b224514e55bb99329a4ee3d9d72ab906128063537302f672a772c02ff4372d46649656a88c4a303a9301976fc7a804387e";
   sha512.doc = "6ee02d615438e99df82f939a8104097e43802b00af2a0e7be56f329061722cfc7df0edf84c82ac73754d63a703533bd6d5b88b6e648bedbc47be712ff86ec5c8";
@@ -18719,6 +20151,7 @@ fenixpar = {
 };
 fetamont = {
   revision = 43812;
+  shortdesc = "Extended version of Knuth's logo typeface";
   stripPrefix = 0;
   fontMaps = [
     "Map fetamont.map"
@@ -18731,6 +20164,7 @@ fetamont = {
 };
 fetchcls = {
   revision = 45245;
+  shortdesc = "Fetch the current class name";
   stripPrefix = 0;
   sha512.run = "6cd8e2016f7ff344aa06587fbfeb4e498d1b2e76d9a6ff64f167dad71c4ce6ae867d791660f50e80b6f2e59a9f2fff4c4c9b7c1cdf84cdbbec5113081b24a25a";
   sha512.doc = "ebf9aa0150b06a0b4674e7be076fa5ae4b2ba4542aa28e1b9d4320ea0152a5cc9cbbf926d713f877e74ea948d6132fc36898647e4790c67aab651502c4e5d57f";
@@ -18741,6 +20175,7 @@ fetchcls = {
 };
 feupphdteses = {
   revision = 30962;
+  shortdesc = "Typeset Engineering PhD theses at the University of Porto";
   stripPrefix = 0;
   sha512.run = "b4d4285b33f314720cd07eea903bb2fc6092f96033f75d4b06cf315fd24d1a34722aa73db4cb6410a847e1d23a131ae329f8ebe75fca15dcaffb99097768f55e";
   sha512.doc = "d87c0a7722f62a599bcc63f7ecfea190c64d82a4a4a1ba21d18c69866f80ec77a527a82cb94b0d081002073f5faab95119c6902e8f8f2c10d815ca2d206b1d4c";
@@ -18750,6 +20185,7 @@ feupphdteses = {
 };
 fewerfloatpages = {
   revision = 58058;
+  shortdesc = "Reduce the number of unnecessary float pages";
   stripPrefix = 0;
   sha512.run = "4f5637bf431b54590e8c2a8ec27e3da3d801205b8cba053c8c1294ba0882bf8aef17a0e291c149799cfc3530a415202014570460a6e2e8986ef71bd2cc05567c";
   sha512.doc = "a18d15933e6efbbe3428f366bcc5ba5ec0b254dcf77f7ac2e72c19bba00e78b44c98df34f57468902101f547fe9e88b2033430a02098805c6f0072e68ac82513";
@@ -18760,6 +20196,7 @@ fewerfloatpages = {
 };
 feyn = {
   revision = 63945;
+  shortdesc = "A font for in-text Feynman diagrams";
   stripPrefix = 0;
   sha512.run = "30e3ca5e633d040fe2eaa88463a8c9fa6004b86c4ae264af9b8a9a3bf55f71f7e1eb21e656f2fa194ebc751648f411a094fe40fc6a2cade1fc31aa586da1317c";
   sha512.doc = "b420c19b69caf39cfa0e54bcfc90f291d9ddbed21d771669bf82a0fb04b4099fd494d2287144655366af7d0ea9594a74d64867a31754278ab1b97ffa507dfc5c";
@@ -18770,6 +20207,7 @@ feyn = {
 };
 feynmf = {
   revision = 17259;
+  shortdesc = "Macros and fonts for creating Feynman (and other) diagrams";
   stripPrefix = 0;
   sha512.run = "d4eb87e3f086f2d39c87eba057fc490ce5d39e9c5ae39aa1c04ee8c3be9c4a188ef123f860fe74d31e0e9e9182909c39df3434ddcc618632723f00627f66397f";
   sha512.doc = "933edaceff112f7442f7c662fda43f343b0e7e41f65aae4f1a45bfd2de18c1e4bda505a235eebc4daf2451846dab376449242217ec803f2932a4a1584038f4ee";
@@ -18780,6 +20218,7 @@ feynmf = {
 };
 feynmp-auto = {
   revision = 30223;
+  shortdesc = "Automatic processing of feynmp graphics";
   stripPrefix = 0;
   sha512.run = "64ca275292b12847d823322ced9dbad615a34089c8cbe43262e676b34db205ed56509f641e18e949523bd252ed1ea73eeb5f019e2cd052274c02b1df67860a25";
   sha512.doc = "3dd88f5af739013ace4fd8eea70ce247b997e887c0f7067040ff9bf4e0300126aff53845ecefafa7bb52dfc4d05d181a1e96847e6a534c718c5a7447231539ba";
@@ -18790,6 +20229,7 @@ feynmp-auto = {
 };
 ffcode = {
   revision = 69706;
+  shortdesc = "Fixed-font code blocks formatted nicely";
   stripPrefix = 0;
   deps = [
     "environ"
@@ -18808,6 +20248,7 @@ ffcode = {
 };
 ffslides = {
   revision = 38895;
+  shortdesc = "Freeform slides based on the article class";
   stripPrefix = 0;
   sha512.run = "393903c180f2fd554178c909bf9a4c060707d8f2fac44022b4811526c7b505a0354afed77f8ae0fa3fbcebed3918a6b46f9e81206be78d7ed6b1c959cd3473a2";
   sha512.doc = "4a8e176b7bce3d54464a30497e41d5a899905a0029199710aedca7234612092f0b2e265a465084536434c9b8c7f45eec3f2ac3df5eef66cecfdae5cdae36c798";
@@ -18816,6 +20257,7 @@ ffslides = {
 };
 fge = {
   revision = 68353;
+  shortdesc = "A font for Frege's Grundgesetze der Arithmetik";
   stripPrefix = 0;
   fontMaps = [
     "Map fge.map"
@@ -18829,6 +20271,7 @@ fge = {
 };
 fgruler = {
   revision = 63721;
+  shortdesc = "Draw rulers on the foreground or in the text";
   stripPrefix = 0;
   sha512.run = "d30678e5f84074c9844845bcb527333a7040b9f9e787f8aad92103eaf880e89bb1747946cd91fb9b8229c9a8fcc8e2ff81c3dc69804d37de3be1b1f6a4cc5a00";
   sha512.doc = "74747c385452b4d996f70413a88920d59b4ac8f4f61c92516e4e60f36cce68c8ce9bd72f621aa52698679aa10542bb2118088058c489230e7c2081b17d8f987f";
@@ -18839,6 +20282,7 @@ fgruler = {
 };
 fifinddo-info = {
   revision = 29349;
+  shortdesc = "German HTML beamer presentation on nicetext and morehype";
   stripPrefix = 0;
   sha512.run = "86767390bc9946b8f8d47dae0334d7cfc21ac2b064b00ab70732f7ca3f50d875a35dbb0e477ef1c014452fc14c177a1c5c6b96ee334c99bbc2bb49eee9ffe6b9";
   sha512.doc = "e6635f5cc989bfa0da9b2b0cbd5c3719aa793552f4c1adbc1ee218a78b6b116d2c2046b04254e3294834e63901ece9489b8c86421afd3c58aeb8615b5859ee92";
@@ -18848,6 +20292,7 @@ fifinddo-info = {
 };
 fifo-stack = {
   revision = 33288;
+  shortdesc = "FIFO and stack implementation for package writers";
   stripPrefix = 0;
   sha512.run = "4121e3cefed7ffe80bfaa8b054ba0825ab0fc2b4073a845386de4db3650b4d68c48a4f7378ffcfc4a221b21ad30ac6e199920e7d8c44f503b35c14cf4c001462";
   sha512.doc = "220d9b2796c20251ae568d1dc5a7eee1fad5cf6aff26a2b94c1a2c9dd6d853dfc9c25377ec8c3d6edfc43f5b4cf645c459754c5d6a642506fa7779cf79f1a901";
@@ -18858,10 +20303,11 @@ fifo-stack = {
 };
 fig4latex = {
   revision = 26313;
+  shortdesc = "Management of figures for large LaTeX documents";
   sha512.run = "3f01676ea85d64e09376da4481794e1537b9e19c0ff0bac77c022b10b5d49c39d789de6e4f0356b4ea4b23326f9ef320f4b08035bc04a827951cbf44ed7c6228";
   sha512.doc = "c05d3c08b916785b765694e68b8f7cd96c3c359325e8f84166102beb4caeada7490ed24ad0b4f52a66cb822000f8b4d75d1013b93055898e88e82d7f23d5095a";
   hasRunfiles = true;
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
   version = "0.2";
 };
 fig4latex.binfiles = [
@@ -18869,6 +20315,7 @@ fig4latex.binfiles = [
 ];
 figbas = {
   revision = 28943;
+  shortdesc = "Mini-fonts for figured-bass notation in music";
   stripPrefix = 0;
   sha512.run = "2fdc1114b03123c35eccd6b617310c714f37015620551538458a1a49b1e9a583aa55b3cb661f204bb9168cee0a7325b066d64315a15a94daa01e43d05bbb2561";
   sha512.doc = "7dc8140b3b545d2683c471e2e2907a58e2c995f23acea26d763da8989c3288940dcc154ffc0f81ea99169ce574bf90543e94f86bf8217996b7c83474a300806e";
@@ -18878,6 +20325,7 @@ figbas = {
 };
 figbib = {
   revision = 19388;
+  shortdesc = "Organize figure databases with BibTeX";
   stripPrefix = 0;
   sha512.run = "1632b372b06d8ef3cc363d6b05e70b8a493f357fb947ca1b8fbb7752d7ffc4ec09904e747a3e9b91b61e5d094c96eee954d533d1b286b372aa57244ec2abc63d";
   sha512.doc = "ba42f6cc811fc9e00c41bb6fb410a57a2efe759a0fd0621cd83801963d0ed138dc66a1a245a4b7256cb056f3fe71e883a8fa84d19dda785ba24825e85edfa044";
@@ -18886,6 +20334,7 @@ figbib = {
 };
 figchild = {
   revision = 62945;
+  shortdesc = "Pictures for creating children's activities";
   stripPrefix = 0;
   sha512.run = "74775cfe7d7ef14acdb22bc6c60aa4db512183441828025c8e68f30e9e95c4e5a1492c99a31f459035956a0c50de054bbdb664f9cc68b73879d96a4ead5f2dd9";
   sha512.doc = "68cc451292f68cb433ff567252837c438938a8d16c4e48987abdd76bcafc9dca9482ad29c540ec24cfdd66f55da801b9c3e052615e805de055c944df82f3971c";
@@ -18895,6 +20344,7 @@ figchild = {
 };
 figflow = {
   revision = 21462;
+  shortdesc = "Flow text around a figure";
   stripPrefix = 0;
   sha512.run = "f75517b5c43119d33edf46fbe124523cacf0d7d837cdf66af702ba563392a96323b266bece1ec9e7f87df34d684a87ab38f9ddafab6c3d069dca8ee22c3bf25a";
   sha512.doc = "c972bfb356731aa119e8cdf1292a3bcbfc08a74453feb7e509a5cc519f62ae6c7e6b0c087973549b9d860b97ff1a3bae9cfd1166c4ac6a74553ca6c0f463694d";
@@ -18903,6 +20353,7 @@ figflow = {
 };
 figput = {
   revision = 63957;
+  shortdesc = "Create interactive figures in LaTeX";
   stripPrefix = 0;
   sha512.run = "4ea2768b272f9be270f1ce3edf02cd73b8d8c792d8b92c20a8d38b05649e43e8441d6e439f0e1be8ca906c5b9a47db1d6a48ff7ee136f53dc4ae09cc6172d46a";
   sha512.doc = "54c8428c9b0bd267389a9bf25b005b31365fc9451d0e3ca4632e52a07af9c02a24aa1c7c9b5f19eac196f4dbfad9db91647cfef82c301496ec4be58d9e2360cd";
@@ -18912,6 +20363,7 @@ figput = {
 };
 figsize = {
   revision = 18784;
+  shortdesc = "Auto-size graphics";
   stripPrefix = 0;
   sha512.run = "3c7523b05d04363c57c1ba75a39d9698b1648ab6a858be15112b6f47c052742033e3ed16752a9b9ef3854ab93f547f0841c32f1cc68fb9d4538fc02a7bb19ad6";
   sha512.doc = "598f631423a97e189c21e117a7da23c95bbf4dc3b616e62fc6738674848fc46be4d7dd43832ff58ef834c0fdbe35d8923ba9729d5c48f90b0431a22bf86f79d5";
@@ -18921,6 +20373,7 @@ figsize = {
 };
 filecontents = {
   revision = 66740;
+  shortdesc = "Create an external file from within a LaTeX document";
   stripPrefix = 0;
   sha512.run = "bc51c03ea84130753cf4c6a6e6efe39403bc48a47b4c40f177d3ae17808c63a346a2b361ef61b0e0421094b6b64e20a972c6bcad305228ce0991818a62344296";
   sha512.doc = "15f34d023a498c733810ddb4b04c1672507d97d731a579246fcfc3f29afcb47da73429807c4fff018708ddbac76851ab8357dc274cb6c2506cd37d075d2dbb44";
@@ -18931,6 +20384,7 @@ filecontents = {
 };
 filecontentsdef = {
   revision = 52208;
+  shortdesc = "filecontents + macro + verbatim";
   stripPrefix = 0;
   sha512.run = "63b399a5e21d2d4946c195f380a0d5f269f8c978c0b504cda80c0796604dfcb66df38ca79d31078efa03c7475967bc0ebfb856e933bce6b21d12836368780e2a";
   sha512.doc = "26e7ca9971a0683325b62e2feeeb0db6ecdd3a732f07ae93515f2300ed58e97a44ff8a7504d194119c1e27d1d9bc4f367f29c17458c0e7f0b6a0a61fe18ea0ca";
@@ -18941,6 +20395,7 @@ filecontentsdef = {
 };
 filedate = {
   revision = 29529;
+  shortdesc = "Access and compare info and modification dates";
   stripPrefix = 0;
   sha512.run = "5e2789c065459e82f073599c4d5f04c626fedae7e02c8dc58d6595d81ec8281c9c362592eee9547369b7a8e9cd2aed1ec526d69a8ae22f35771d5494e3109032";
   sha512.doc = "cfc2eb596e6b6d17015ab2ca061da39e673376d6f4c526dc045c8d2514fa8372f1a853a97425b4bcb9eb0bdc522c6b482a9bc3da9f56f8a4e0c22e4970a40575";
@@ -18950,6 +20405,7 @@ filedate = {
 };
 filehook = {
   revision = 64822;
+  shortdesc = "Hooks for input files";
   stripPrefix = 0;
   sha512.run = "caa1f239fc8300f2925e94e860df3ac76637e337d57f599446c6b5f059fbba026fa9e440f4272b7e37ca9921731cddcbdd403c16e42b9c49e302452dc940fa27";
   sha512.doc = "7c86e322cbdade28c03b65580c992adff2fa112ae65b28c1485419c457a7f930614337eee70bb6cc2e9c386dab866e4e657c0b8d394c975c6af3a8b2fe651cec";
@@ -18960,6 +20416,7 @@ filehook = {
 };
 fileinfo = {
   revision = 28421;
+  shortdesc = "Enhanced display of LaTeX File Information";
   stripPrefix = 0;
   sha512.run = "2e5914e32af48db731aa83c3e51e6d9128dc969891bce21e1e2f859cab79130c9f5caa0f591765fa8a9b48c38eed8d19305f4be598430ab1e2cb3276b6faf191";
   sha512.doc = "03b4ecbd21ec39d98949f2e8ece7e48bd539a75051350d1a9ea19e3d32ecd620c0f1a5dc454e626237534114d0430e2ad7c175e9c1b27ba15c78a35aeca3e3b9";
@@ -18970,6 +20427,7 @@ fileinfo = {
 };
 filemod = {
   revision = 64967;
+  shortdesc = "Provide file modification times, and compare them";
   stripPrefix = 0;
   sha512.run = "e346e795df32a3b0cec0232da9c2b190bede65d905035a758b949c9cf01219e0880ec2ce2e83201f8dd9dcc77a98b29df2b463edf8c44cb1c220a7efe7c9f24a";
   sha512.doc = "3e8c5a26b5c2fc8a6f713f006d091c0be719bde7bbe237e49d2496032289d67624fbad1319db421a0471a60aa8c11c97bbc60127053904725e53e75a2ae6fd7a";
@@ -18979,6 +20437,7 @@ filemod = {
 };
 finbib = {
   revision = 15878;
+  shortdesc = "A Finnish version of plain.bst";
   stripPrefix = 0;
   sha512.run = "14f08cdc92a2d6d511c112c480efb0112d45c199023e89c9314740c2b9b83598bc9f8917ce616bb2493671f408f946ada3de4535136eff48b7bbf72e7436f912";
   hasRunfiles = true;
@@ -18986,11 +20445,12 @@ finbib = {
 };
 findhyph = {
   revision = 47444;
+  shortdesc = "Find hyphenated words in a document";
   sha512.run = "aea6305dc0d9b31367638078a7958933468e761ef4cf47a1c44d9fd5ab2e25f7af22273c4631946a90edc9b51947c2e56b3d4b74c8c59f0a79250c2edf5bc137";
   sha512.doc = "97f3fa22fe490d21bc9e5ce5ea0b23ff25ab9afd9c5dbf6e8d78b24fd306ddc132c5ba7ca7ea7e3d7aaeb48993c7968b0c02ae0b765416a939d84b53171f4179";
   hasManpages = true;
   hasRunfiles = true;
-  license = [ "gpl2" ];
+  license = [ "gpl2Only" ];
   version = "3.4";
 };
 findhyph.binfiles = [
@@ -18998,6 +20458,7 @@ findhyph.binfiles = [
 ];
 fink = {
   revision = 24329;
+  shortdesc = "The LaTeX2e File Name Keeper";
   stripPrefix = 0;
   sha512.run = "837a470970c8376e1d699b28954cf2ac6ed849c2f96a4c17ced56ebf142297c36d3f856f9cbf4db920ae33f491738f7891433c5c6627565a48fb5391b663634f";
   sha512.doc = "7b1d9d1c62766082030d7632bd91c65328d1bf3e8bb6abe4ed64ec5188d9f38d3b2a99695f32c2bf04e2fcd634819926ba923eeea915186eb9fe96bcb43954ca";
@@ -19008,6 +20469,7 @@ fink = {
 };
 finstrut = {
   revision = 21719;
+  shortdesc = "Adjust behaviour of the ends of footnotes";
   stripPrefix = 0;
   sha512.run = "8b360a3426056b61e58e577cc68ba9e2f55b63a3b4a0a2eb76ebee53e9ff327da9235e9da5cbb85e3cf369cd48354c00a79cd46110ba4adb4b64192b7ff7b603";
   sha512.doc = "8cc27d82f7125b5ee82585f97385924737406e45d9739ec9cd57b76736e902a588c7258628bdcc4841e3e23f359a4d8ad22a31ed6f821f1d1c59798f4e8f3d56";
@@ -19018,6 +20480,7 @@ finstrut = {
 };
 fira = {
   revision = 64422;
+  shortdesc = "Fira fonts with LaTeX support";
   stripPrefix = 0;
   fontMaps = [
     "Map fira.map"
@@ -19030,6 +20493,7 @@ fira = {
 };
 firamath = {
   revision = 56672;
+  shortdesc = "Fira sans serif font with Unicode math support";
   stripPrefix = 0;
   sha512.run = "c18ab8b2e12b947144528b196c9b1de7f1930f3a38338bd114bb61205d7f910fbf1e3b20ce48ad8228fc24b14d734ae68c3c8542218a058120a62783b007461c";
   sha512.doc = "4e434c757b4ad4c82397224ab275db9a0783994dd9e3acffaecf19f73b3bfb86dc6f70c2833b2f203ec354aa275384d1e97f48deea9a765b3d972eede02a35f1";
@@ -19039,6 +20503,7 @@ firamath = {
 };
 firamath-otf = {
   revision = 68233;
+  shortdesc = "Use OpenType math font Fira Math";
   stripPrefix = 0;
   deps = [
     "firamath"
@@ -19051,6 +20516,7 @@ firamath-otf = {
 };
 first-latex-doc = {
   revision = 15878;
+  shortdesc = "A document for absolute LaTeX beginners";
   stripPrefix = 0;
   sha512.run = "39641224689a1d45d59b5643e5037599d03df3ecbe95090d565778758d334bddf832e867a25c1688adbee1f99eea23b3ed21fd6729fb3d4e50f1503537c9a400";
   sha512.doc = "497080fdad8195bdc43bef476f9e678b49d83829f10a6653c9443d327cb0da8505623e941cd3038349b6307ee37a65ce1a3d3eb48e4c6262f9d636d10d96e17b";
@@ -19058,6 +20524,7 @@ first-latex-doc = {
 };
 firstaid = {
   revision = 70324;
+  shortdesc = "First aid for external LaTeX files and packages that need updating";
   stripPrefix = 0;
   sha512.run = "610aa5b4c12511436b7b26145f24c294a3c98e75a9b4211198c144e8c0cd58142853d0d581ea0bd620a4f01f48bcc186c40db1d0a27ecc559bc5ba012508bf59";
   sha512.doc = "36a0180f0ea5410157c03fa26a7c185229f5a6fefe517659f6cd1d5cce7425ee18c58909f985f500987bdf1d9993bb0d24d58dbac21121cd0bfedc384b3de57d";
@@ -19068,6 +20535,7 @@ firstaid = {
 };
 fistrum = {
   revision = 66461;
+  shortdesc = "Access to 150 paragraphs of Lorem Fistrum very dummy text";
   stripPrefix = 0;
   sha512.run = "7e0a92affb0fbe23b9d08e525f6e2878e3bfc10133fc95b41bbdeebca5c02c988b2c4033e50969212b5889dda4f9e2f043dd65688ea33d81b5bd138d49af5777";
   sha512.doc = "15b50530a68fbb2b330aa972640fd85207dedc0b0e640f830940cd712a16fb001e60b59c22ff81890ed810a7aba9f1e150deb3f91ad1fc4bf52680d9d1735342";
@@ -19078,6 +20546,7 @@ fistrum = {
 };
 fitbox = {
   revision = 50088;
+  shortdesc = "Fit graphics on a page";
   stripPrefix = 0;
   sha512.run = "5244567062493fcb5300048be6786f1ac48c72c363220b894a2695e78646f461584e189f227d04f55e9127a66ab966dc04cbd762fd08277774fe1c0fcc7d3c96";
   sha512.doc = "71d77dd1879a2b9b20f9c4934af8bd696de567b5c0187e7a5bccc9e225fec5793bff6bc670ce0bbe1065cb67de73f518942ae48aa0a27e46c2aa47dcad6856e8";
@@ -19088,6 +20557,7 @@ fitbox = {
 };
 fitch = {
   revision = 69160;
+  shortdesc = "LaTeX macros for Fitch-style natural deduction";
   stripPrefix = 0;
   sha512.run = "ec44706fa5f5fc258666e343569f695db0d26f6628aac1ac6eaae12377f23138c49ce29d03dc5b08cb1f5427cb5ad612cbbf9aad5a9270f4b31f43679023e73a";
   sha512.doc = "3a32fa5657e0042588c82ffd7d32f11dfc8e9d29ba268700092d26d32d24afdb3baa1f02b8ca4e248a19413aba0421d991809cac5db0d5d38aba8389b43709b0";
@@ -19097,6 +20567,7 @@ fitch = {
 };
 fithesis = {
   revision = 70536;
+  shortdesc = "Thesis class and template for Masaryk University (Brno, Czech Republic)";
   stripPrefix = 0;
   sha512.run = "09bbae20efbe651a7cc5ec01c0a3f2b97aec3af24efaf21935992c7ee63841916cb29ea81ce7a916bb6ac4cee74cbbd3b02629b9c8c7467397dfb871e863fe54";
   sha512.doc = "4a476ca775b7571d4bf88e20e76f0acd8d36778a516ce5c778682b92f0de92eaafcd671d8ee756b9ce18f136855752963e994eb8f6e37611517b68abc9a6737f";
@@ -19107,6 +20578,7 @@ fithesis = {
 };
 fix2col = {
   revision = 38770;
+  shortdesc = "Fix miscellaneous two column mode features";
   stripPrefix = 0;
   sha512.run = "b3f096a64fcea6c6b2864d4e8a86733afb852f3decae4704e6c275c41e1295622f1eb1c8db0e0d33a29e369a9b757495477c9ebcf82ae0003c4316967c03f0dc";
   sha512.doc = "302ffac957bc37305fc5b6f458c4b7dcb06b65408131bcf64c0132638a110813eb6c748270ead340f3d864b927aa7bbfe0a16c3722cbd8334b1d8ba8ca72e7d3";
@@ -19117,6 +20589,7 @@ fix2col = {
 };
 fixcmex = {
   revision = 51825;
+  shortdesc = "Fully scalable version of Computer Modern Math Extension font";
   stripPrefix = 0;
   sha512.run = "fc3a1ba6c5516378182373b89b71ddaf22e713c0be959e8d5afa1cd57c50f363e68669049750f286142499961c56f6bacd60c63b0211d5e6ba01d7f25d58f759";
   sha512.doc = "e6f65b38a4baddf6c1840b0bb18464b6c94f97163672b67a87c693af19030bc3ab2db7607646d73f8f684e08258906da2380e7b1637ba85f80c49cf7d5045bc5";
@@ -19127,6 +20600,7 @@ fixcmex = {
 };
 fixdif = {
   revision = 66606;
+  shortdesc = "Macros for typesetting differential operators";
   stripPrefix = 0;
   sha512.run = "655c9733d727189d7b2aaef2b629e67cf5c7401ec2a8ffd179fb450cdf1746a40571e0b8be56f4202e31d752c35c7255fe01cf0b36917c582f24415e8e842273";
   sha512.doc = "e17648e54c68ebea15be76a8cf1406fd42858bca77be938efeedd72bcc8fe92ff016427ef815dcb590b8f900ce0efd87d9bb96f37afc8d79bcafcdb1e5d23bca";
@@ -19137,6 +20611,7 @@ fixdif = {
 };
 fixfoot = {
   revision = 17131;
+  shortdesc = "Multiple use of the same footnote text";
   stripPrefix = 0;
   sha512.run = "52c25b4d5bb9e34fe3f8d2b122e68352ad572ff9ecf1011f3e9fbd67319d0781a48ca08ab03ad3201f1d1d2bd6d4e35fa3818e695a741a8ab440ce81f7724039";
   sha512.doc = "bfe0e39165be8f9a56e2cbd4b91c0b7b7448d0b9d8a4a0b62d6c0d45e542a9964af3d34233ec777b69f0666a0945513a8475629f0b084f72a0b349682e8ad6f4";
@@ -19146,6 +20621,7 @@ fixfoot = {
 };
 fixjfm = {
   revision = 63967;
+  shortdesc = "Fix JFM (for *pTeX)";
   stripPrefix = 0;
   sha512.run = "afa050087607d8eb5f36923d6ec72daff7f1bab0154edd08900486fee152068ebbfe97d87ae29cca7d8f4048e0c6091933d0b71d4a0266950828881b55aa6b59";
   sha512.doc = "d1c39e4d0dcc1a8eb5510e3306d68f0bae6067d358bfb458127ff8f5d5223576f270cf628bf8ca2c3e8322d6cf1b52b936db0c2a431e4258591057a7f50513d9";
@@ -19155,6 +20631,7 @@ fixjfm = {
 };
 fixlatvian = {
   revision = 21631;
+  shortdesc = "Improve Latvian language support in XeLaTeX";
   stripPrefix = 0;
   sha512.run = "48d39745498c187d23c62191d7da6341ecc13d6c43ac97deebf453046e78a26d221b5c7b7ed22aa8909476a754e877de26c20391bccb5cddb2db1fa7b238d643";
   sha512.doc = "07dc4fa87b8564c3ff3144936ae4374e0bc7cf37a5a3e4b5d0724681859a41d30d714e96742253bb9a269116dd32d2ab0c1e5e1965242e88ea12fdcd224ace31";
@@ -19165,6 +20642,7 @@ fixlatvian = {
 };
 fixltxhyph = {
   revision = 25832;
+  shortdesc = "Allow hyphenation of partially-emphasised substrings";
   stripPrefix = 0;
   sha512.run = "df41497da718b157073b6ad2a4b9cea3f9ee0a0824698f47d4441b76261efb21271f1605f69b1c0de8a99e3e636587a25b4efdb4d578683ef0c89d7f849d2c8e";
   sha512.doc = "37d6b9903a56d33577c8aaabd40de592bd78dc6b2f5a2c82457f6d5b499d1d6f9a9bdaff29bb9f9511365d32e160f92c85c6c0d93ed065fdd1688aaeae9ab246";
@@ -19175,6 +20653,7 @@ fixltxhyph = {
 };
 fixmath = {
   revision = 64648;
+  shortdesc = "Make maths comply with ISO 31-0:1992 to ISO 31-13:1992";
   stripPrefix = 0;
   sha512.run = "e3aaa53832094173eccbb1cb3aa2f2876227bf9b1c023d2b6f18e7df49d97bddefd450a53ba717fe54ad7cd8e8f36452ff54dc7cb67bf518037fadc6eccf40c8";
   sha512.doc = "5fa1aa4433ded289ce899004eaa165117a77ad6b4846624bc8c4ff5e203af701f1065683466998a5502ea13983bc9092ca3958059c047957e41555c753c1b11f";
@@ -19185,6 +20664,7 @@ fixmath = {
 };
 fixme = {
   revision = 63708;
+  shortdesc = "Collaborative annotation tool for LaTeX";
   stripPrefix = 0;
   sha512.run = "a5fc18a3560f5908521fdaec0f3e20f25f124e7ded9de72b36d81ad573726af7399d223c70dd11a8ea50e47e05e3549b785ee5c64215fcc1bf6a5a9ab2e5769e";
   sha512.doc = "89036e19b4c7ce8d9266ce6dcc5bb449c5de11ec74ce13b5208eaeb81054330ba53a0b01370b7e21d1d3d7486ddb7343f4cab946e1c3cb1387965b5e434e5b08";
@@ -19195,6 +20675,7 @@ fixme = {
 };
 fixmetodonotes = {
   revision = 30168;
+  shortdesc = "Add notes on document development";
   stripPrefix = 0;
   sha512.run = "d327d19ac0e9041da98458e9147b3d1a9c9182bfe5c893c03ab9ef42b9c8044314f4024503327594bef337c1af6aad0b4f2046ea2d6a433947c6c45ebdf8838b";
   sha512.doc = "7d7f8b049feb8e70c5d1ab0c71147f1f398b098f9c961267c3e90dc5e9ea9a8317361a0dacd8fe581e17cd85669bd39e83a1391641d353b01265a6195af33714";
@@ -19205,6 +20686,7 @@ fixmetodonotes = {
 };
 fixpdfmag = {
   revision = 15878;
+  shortdesc = "Fix magnification in pdfTeX";
   stripPrefix = 0;
   sha512.run = "733995ec82df92bea5a674fc25a3a6af2102739c3c73eeed7c9f40cd54bc4c5d65cafb35366b70641ff0661dc83700071054f7af274487474c3893ce5a44c9ad";
   hasRunfiles = true;
@@ -19212,6 +20694,7 @@ fixpdfmag = {
 };
 fiziko = {
   revision = 61944;
+  shortdesc = "A MetaPost library for physics textbook illustrations";
   stripPrefix = 0;
   sha512.run = "4ad67bab5850464deee4a3a29fd7c02d011eca50dbba03dafc5059ee54aa434bfae5c173e6022fef4cb761f2c760b6dd5aff403b33b7ddc8e632961ce4f8dccf";
   sha512.doc = "e719652f76de617201a2562ac5b3a04df1577ace8fbcbf10b874326a85cc0ebe3549b0b427f39cfbeda0f34f7f3fe4ab6458ad1df2613572260fa77cb8601dcc";
@@ -19221,6 +20704,7 @@ fiziko = {
 };
 fjodor = {
   revision = 53207;
+  shortdesc = "A selection of layout styles";
   stripPrefix = 0;
   sha512.run = "adf4d23888c6c778ada6d7cf930d4aba68b1cc20c64c571c17017b11c115452e5a4eb766d03ca03f27f9de46a5027590cd806b17fe94dbc4c5026948d3ec74d5";
   sha512.doc = "a0a0e01d4d40f1b847f40401d20604bafd2723097e72c208df2a5acb30f57042b35df4cabfc93108d4278f5725dd4b50539f7e17b7c51adf875898071a368fbd";
@@ -19229,6 +20713,7 @@ fjodor = {
 };
 flabels = {
   revision = 17272;
+  shortdesc = "Labels for files and folders";
   stripPrefix = 0;
   sha512.run = "b05d66f1181eb9d7eb80636b69ea3af7a29ae7011f6888438cf80a7fa6fde44666f9fa7ee71620055f6882e73b6f5e211a2a65ca003d903cb26cc4f9571257d9";
   sha512.doc = "cf9b774ef4e1336a123d48b3797d8122c5b9128324a9f6c0c1497194e8d3a3d9ee46a5a58470074c0dbc02f8c0aaeb1da3b4d5683ba9faf6e479a6790bc599cf";
@@ -19239,6 +20724,7 @@ flabels = {
 };
 flacards = {
   revision = 19440;
+  shortdesc = "Generate flashcards for printing";
   stripPrefix = 0;
   sha512.run = "45cf4fc3f4678a5242873f80ff1ab328e7675107d14052be90308d94d44a931ba8b2cf3eec67e7456a21168aba168fe848979a8d45ef07bfc62613ad9174488d";
   sha512.doc = "087d2c5500b5ab51280bf3f57362f00723856b041f520d41849d21043859bebc106ff9af33dcbf044aabd838f68d1165f74645360247de2c3feb9a8493ecc441";
@@ -19248,6 +20734,7 @@ flacards = {
 };
 flagderiv = {
   revision = 15878;
+  shortdesc = "Flag style derivation package";
   stripPrefix = 0;
   sha512.run = "a7618ffc60c548fb98a581324901af09defd9226a655163d967e251b090b6ea74d91ec10bbe1e5d685a83d147818ecbf8b66d84c972cacaf3e270baf39293200";
   sha512.doc = "8c9731aec45eb594b95e1c89a1967f169bf8394664977059af0fd77aa40ebf3769200925382694e221a32ced470161f505420539b5e3f7f00be4688e308ff54a";
@@ -19258,6 +20745,7 @@ flagderiv = {
 };
 flashcards = {
   revision = 62104;
+  shortdesc = "A class for typesetting flashcards";
   stripPrefix = 0;
   sha512.run = "0c336f9609fbb81bc373fad344a44b8159c7d142d2a62de795dc7f1b7a8aadba563ab7a4788164058c19ab6f6c9835af1f1a0dc275377f51aca9520b3a8a2327";
   sha512.doc = "6ef79cf1f91bb8dc7b9b3785da64af582891d1536962ea9ac9232bfb8fcb156e7c33319970793fc6776db2224ac991796a93a287aa3eed2e0cd0ea741c6ef9cc";
@@ -19268,6 +20756,7 @@ flashcards = {
 };
 flashmovie = {
   revision = 25768;
+  shortdesc = "Directly embed flash movies into PDF files";
   stripPrefix = 0;
   sha512.run = "99ae914e1fa627f462be84f7bed923c638bf493ca183f010bdeb5d607ab00abaff7a1fe3d0f8613e6fb9df7cd5047b99e99a5da18470df25e7507259a441e188";
   sha512.doc = "016331e7328732f5549487f8b2edbeabc9548eb81201584d3d3f7e0ff41a9a962761a8af867dbee8951bf4e99ea4eeecec7e9230868c23abc95260f288ca7958";
@@ -19277,6 +20766,7 @@ flashmovie = {
 };
 flexipage = {
   revision = 66614;
+  shortdesc = "Flexible page geometry with marginalia";
   stripPrefix = 0;
   sha512.run = "1e16b1722a4c4349879c4556338c9d72eb4fe8364d0e19e0237b3a269b85ef19bd68d4334e190b7e0cae6e3ab1551381bc2e46fbb265ce36e839a967fb114220";
   sha512.doc = "5670616faa6646b68d3b3b2724f5e324cd1ef3595a0da3b8615d364f908f684f98d641754b71498cb2b61853192859dcf602a2925cab145292b1cc7a21f99766";
@@ -19287,6 +20777,7 @@ flexipage = {
 };
 flipbook = {
   revision = 25584;
+  shortdesc = "Typeset flipbook animations, in the corners of documents";
   stripPrefix = 0;
   sha512.run = "8e3140fb417115ada958bf6dab1a22b39779926b47938bb49cf86499d64ae16d321e6e6bbc8482ee7e6a2d79d8341a227785ecf04c66a15f7e5c0ccaea016d21";
   sha512.doc = "a5f6aa188e7a0aff29d4e693f0f8e52512838278e12d13c29706c7bd5c1c1c2a8d70beb619195d8572ca5a3920205380d586d02580bc747acb8e3259c79c3fb0";
@@ -19296,6 +20787,7 @@ flipbook = {
 };
 flippdf = {
   revision = 56782;
+  shortdesc = "Horizontal flipping of pages with pdfLaTeX";
   stripPrefix = 0;
   sha512.run = "17773b1ba5f40d694cddb3d2e2742650bde889d53302e6fa6ef0686ea4cd3fe393ca2e5b31842e93e5588631ee53ebb668cb035b2843fc5bd57911167074edaf";
   sha512.doc = "d5191d079641c9a06336498c396cbcc7585c983924a646bcd3b26889ca51a08eb166ced560f45f834281fae9abaa47d02fdd4ddadd3348cef704dd9b818e7675";
@@ -19306,6 +20798,7 @@ flippdf = {
 };
 float = {
   revision = 15878;
+  shortdesc = "Improved interface for floating objects";
   stripPrefix = 0;
   sha512.run = "4a5270ca2945915464ba25b7996dfbd4771ca5f477e4bf248183bc340b7051c042d9566908acac881782af74a59154f4163bc7879a21e042e1c31d67237fc6a8";
   sha512.doc = "6f713c71361c1536bb086e7638b770ffe58e97aa01bd59bbab779f71cb485b9c06322d7d89e7d87cc8f77a0c7f18f4174fd4ec47b62556faa32d82fead0b7377";
@@ -19316,6 +20809,7 @@ float = {
 };
 floatbytocbasic = {
   revision = 67945;
+  shortdesc = "An enhancement to package float using package tocbasic";
   stripPrefix = 0;
   sha512.run = "01f45baf2f0713a229bf6b6d59e02c8a05f0478331c3c6c7ca7dae050db94d7497a87acccda1cd7c022b79b54ef5088f6af181429e60154ac8e1ada081062dfc";
   sha512.doc = "0d6f29221ddb39019a9c6d308f77200279144efa9de35d5fcad8518de9ecdaf840179887282840cf7b31e7eb286f0fa41bec93e8a1f3682873adb791a467e22d";
@@ -19326,6 +20820,7 @@ floatbytocbasic = {
 };
 floatflt = {
   revision = 25540;
+  shortdesc = "Wrap text around floats";
   stripPrefix = 0;
   sha512.run = "1f7de96ac5e82cc4bbfab3fdb665a18d20413cceea097e1407dee2073109ee1b82d7d3ea82c80630d9aaf445f14a8497aee7e3824458dea8b40b270135052ef5";
   sha512.doc = "7ca1c6ed832bb3d697685cad5575e02b531c0469095468fd40eb3131d89b68dfa0fcb9c882965aa7a9cc9c60292f64bdbf6264d3d990bd697dc27b23a46fae47";
@@ -19336,6 +20831,7 @@ floatflt = {
 };
 floatrow = {
   revision = 15878;
+  shortdesc = "Modifying the layout of floats";
   stripPrefix = 0;
   sha512.run = "c650b5c856bd625ad192901f3c056171f790c549748d5de5675f14cedca5cf32931ece537ce2280c0e4895895a8eff0cf140c3408dffc2b081ebc8c62d2ae1e3";
   sha512.doc = "b721ebbf59ca3744f1834c130da1a859cd4a98e9f5f977f5d35eef77b420deee303c109439fa70f89757cb9f57114bc74c5d527cafacc1daf2125b975621b525";
@@ -19346,6 +20842,7 @@ floatrow = {
 };
 floatrowbytocbasic = {
   revision = 67946;
+  shortdesc = "An enhancement to package floatrow using package tocbasic";
   stripPrefix = 0;
   sha512.run = "3554c3cd560d5203b650bd32fa39aa4372f935bcbc757d1ff93fbde3fcf1a395bac4676e7029ec58fd79ce0089595858707880e35fdc98a65615fa27a555ea3e";
   sha512.doc = "1ee0174dff4209c1bcc3764c89ede858174e1aea624a0032c0af8bf61c1cb4082517ee2713fff0f5a5687ae4d63ec67c04f4a14eb5479edab183d0487241c37a";
@@ -19356,6 +20853,7 @@ floatrowbytocbasic = {
 };
 flowchart = {
   revision = 36572;
+  shortdesc = "Shapes for drawing flowcharts, using TikZ";
   stripPrefix = 0;
   sha512.run = "9adc1f823378fcfaed58e99727b68389b97bc489ba38995e5e7451608cb712dd7fe02b2686f692328b73d1bc8011131017b8edcebcda5e886f3bb4a0f6aed65a";
   sha512.doc = "0bbc3f1f56f5adbabca07096804412b33e93669e20af345e57bc9ad42133ab629b9546887599b472dacc8ee43b9c395f8c2e58a288c487e78920be1db5a110aa";
@@ -19366,6 +20864,7 @@ flowchart = {
 };
 flowfram = {
   revision = 35291;
+  shortdesc = "Create text frames for posters, brochures or magazines";
   stripPrefix = 0;
   sha512.run = "880869c22914392c4ade9dddeaffb20d6c6edb6da78d30705d9f6aa1b1352ba2734565fa8c2a6851e81f1107573753748d3f4d208bbbc4c0dc443c066e912719";
   sha512.doc = "25924c121d2feedc7d815e4510b89f05000eef87efae8039c6566136b7fa92d6d4d9f25f2938363dcce8222d5c824d42894e4863b95e422b7949207a1e1daccf";
@@ -19376,6 +20875,7 @@ flowfram = {
 };
 fltpoint = {
   revision = 56594;
+  shortdesc = "Simple floating point arithmetic";
   stripPrefix = 0;
   sha512.run = "906155f3bb5fa81cd4e97a375c37774db1ad4db388f334867cb5ba30735ec4ded5461eabcc833951b5d8a6e2403eec02e0f464d35f109304b9d6152638949b00";
   sha512.doc = "3c023dcb86eddffb28e0937f9d31dada6c82852e44a430c892feff9572c81d9830e4524f742afd958a79f0af63e72311ece43c9eb0e2d8434d871fe144b7fab5";
@@ -19386,6 +20886,7 @@ fltpoint = {
 };
 fmp = {
   revision = 15878;
+  shortdesc = "Include Functional MetaPost in LaTeX";
   stripPrefix = 0;
   sha512.run = "b87a361454199c16e1fbf97bd2b82f8b5569bbd71b7beaa780a6d88357e9262f77c9c3ce17d2ab0ad9b043ed7a1dd721e533c516e1b927f0439e13ced6598a30";
   sha512.doc = "461ee793dc8156b0ecd6931b9d4c56f368ce4938838b042abae5d6475ca3739c4fe47517168dba742f03c98229376f59f8654a89f1d65ab394c0dd907ac48ba1";
@@ -19395,6 +20896,7 @@ fmp = {
 };
 fmtcount = {
   revision = 53912;
+  shortdesc = "Display the value of a LaTeX counter in a variety of formats";
   stripPrefix = 0;
   sha512.run = "ec5e10be2b93adbfa0e1ac710c7df37457e8d14dc5c7fe1cd13e062f136c63bd20a3e42d57c237fb4ae5c1be936e1d821d0a6568ca0c22b41948660f0848da43";
   sha512.doc = "fa0955c7d08dca99d3323b9cf364edd8b4b305723a3fd3ae38687c6473ea2af3593c47384a61feff0071199b909e1424d422eed3864866b28c7d27b1f42c3994";
@@ -19405,6 +20907,7 @@ fmtcount = {
 };
 fn2end = {
   revision = 15878;
+  shortdesc = "Convert footnotes to endnotes";
   stripPrefix = 0;
   sha512.run = "6be5c07123cf2470ca88b7c28c068c6dd308824138fd2f645a1a7c04c69fe84953468733ca2994faa42389b5889990941c8e09dc543b66a1589f3cf22df1e017";
   sha512.doc = "17f0a1d12afd607a26687b675ccc65a150e4ae67785389fe9582a3b05ee383f078bde35f296941ea069323757e1fccd1ae0e76e5e24f3446b4154738c1a45385";
@@ -19414,6 +20917,7 @@ fn2end = {
 };
 fnbreak = {
   revision = 66615;
+  shortdesc = "Warn for split footnotes";
   stripPrefix = 0;
   sha512.run = "15d3ba5ef30d8ebc23be3f0c412f7457960a7032f3c78ccdeba6342852a3b7db699b8792b6f981659268fb28c74e5cd93bfabde2b584f7eade98e6b422127d9e";
   sha512.doc = "44837191d22ac8185b7748fbf32769a1d2299b92a313da918e6a03d78f56206e76d73990cfb1f94d956835f369adb4008df4da117a20984afc48289b1291fa4d";
@@ -19424,6 +20928,7 @@ fnbreak = {
 };
 fncychap = {
   revision = 20710;
+  shortdesc = "Seven predefined chapter heading styles";
   stripPrefix = 0;
   sha512.run = "83d74f4bcd8fa90cdf5d0b6e03e9e8e36ab09884998f9955647928ed0a33924735d236a82cc730412edbf54485ec8c357ba3954a264965f67752e397908ba295";
   sha512.doc = "6a8c6910f0790457c71cd55c8d30d07df81c97f80a8b6b7930c067966c76c47848142cdcb7454c4b63a154c5c653933bf71acbd792c06eafdc496c92e4bc5806";
@@ -19433,6 +20938,7 @@ fncychap = {
 };
 fncylab = {
   revision = 52090;
+  shortdesc = "Alter the format of \label references";
   stripPrefix = 0;
   sha512.run = "47aafab923d6455da7e63eb24e0fefa8b869efa5a04bb301000cb2eb658893927dd9f9aeb8e6919ea29e0caeca235b1883106228f6acddc667117a3ba1136974";
   sha512.doc = "a987a6efd0964bd5ab5328658e011b5c8da56b404d233c55d96541ec2f37cc72faacd934908c7346041ec8bab3866dd1f171e1c5de5eb528b0f0e80969c0bba6";
@@ -19442,6 +20948,7 @@ fncylab = {
 };
 fnpara = {
   revision = 25607;
+  shortdesc = "Footnotes in paragraphs";
   stripPrefix = 0;
   sha512.run = "620aafcef4ec7fdaf5cd732551fddbfce53222cb7540dd370f2cda425e1782c907e59868953f50acfff993a8fd8a84d108da7992f1c1565cbfa889a5ca0ef5d0";
   sha512.doc = "798c7fb03a8fb20695ed63ba1333686d21832a936a74a93ca77c7614346316234b2255b8e0340dd87fd57bc1480f23df24381107fc81c68cd4c0cd594ddf5329";
@@ -19450,6 +20957,7 @@ fnpara = {
 };
 fnpct = {
   revision = 62248;
+  shortdesc = "Manage footnote marks' interaction with punctuation";
   stripPrefix = 0;
   sha512.run = "35b1fc24b9cc8ae46104ed20023bc3e1a5a83cfb857cdedc3e6631b8ac4315a79dec012793174fe239898460ef0247f2726b3a7c0f07561a58178ff754b513e7";
   sha512.doc = "2f986edf21052a8e008a64493787139ff9fa5f65038eede1c87e59add2c496f23fb20e7b33d632dc598318dfafbbcbdb7a938a7f04bee6c72884565c104df7a0";
@@ -19459,6 +20967,7 @@ fnpct = {
 };
 fnspe = {
   revision = 45360;
+  shortdesc = "Macros for supporting mainly students of FNSPE CTU in Prague";
   stripPrefix = 0;
   sha512.run = "5e9af6b3b3136f49e49524c7fc85074fd75fff30826fcbb8dad358102e3eee6fa44037b7dde99b6556a063dbe4e819b27ef5a522999eb304f70c2785642478b3";
   sha512.doc = "733a099cac2d96ddf6593b9e0195b85c8d5e86f6a1b283f011a55acc4a1bb7391bfd4356c6aaa40d9b2c70a7c180886d64162eaa396a5a457fbea491af1b47c1";
@@ -19468,6 +20977,7 @@ fnspe = {
 };
 fntproof = {
   revision = 20638;
+  shortdesc = "A programmable font test pattern generator";
   stripPrefix = 0;
   sha512.run = "c1cdc018808a2b9fb5b91c54b55eddf3d517b8dc6062db1ffda3db154efe6f3abb91e61ce90a68743ce411ec614785974b4362f20f03ae398488ac1f816b3ba6";
   sha512.doc = "cf9e8909ed030b27a57573cc257682da84b7f14c3c3775e17fdc8a2203fe99dda8797ae7b2599dc92e9684140102f6d1ca2147bbb437edcf8eb41ffd28b9a576";
@@ -19476,6 +20986,7 @@ fntproof = {
 };
 fnumprint = {
   revision = 29173;
+  shortdesc = "Print a number in 'appropriate' format";
   stripPrefix = 0;
   sha512.run = "7f43363ff861fd4f887df68dd6daae6c97940d4cdd60b19563a966dc7c08cb88356a150eab0cb5b91bd4c3d5d47e324dbbfd43cf45872a5738c5f9b70766e047";
   sha512.doc = "44d6fdf74bf6c231a57b3fad63efa7eb1bdf5b4342cdb38e0d504c4c09190130d37534769e17c3f60bbad668d50aab064bc5c0a1ad99808a6d084dd1921769a9";
@@ -19486,6 +20997,7 @@ fnumprint = {
 };
 foekfont = {
   revision = 15878;
+  shortdesc = "The title font of the Mads Fok magazine";
   stripPrefix = 0;
   fontMaps = [
     "Map foekfont.map"
@@ -19497,6 +21009,7 @@ foekfont = {
 };
 foilhtml = {
   revision = 61937;
+  shortdesc = "Interface between foiltex and LaTeX2HTML";
   stripPrefix = 0;
   sha512.run = "88bd7239cc37cc4429be37de0e68ffd6291844bb81f34a3e9e8c0dab14641d66b6d3990e44d58e5322d2cbac8da27901fe7dbb3b64a59be577ec0f94a036bafa";
   sha512.doc = "c444f13c4c60cd7a723d9bca8d687a3f995438767d077c812797b91e0111372fed6c76fb51f264c0332cffb1a598e5f2a17a63882dc18b4e682f08a3ffee0900";
@@ -19507,6 +21020,7 @@ foilhtml = {
 };
 foliono = {
   revision = 58877;
+  shortdesc = "Use folio numbers to replace page numbers";
   stripPrefix = 0;
   sha512.run = "e5082c626e22acbaebbc7abadee75a71e3902af989767bcfba5d851fc89e771cf8a331ea540c05e6455b894351fdb6af6c598b5440e55c553662efdcb73cc093";
   sha512.doc = "f03abc88291b2591b509a575735f6fe3e29ffeff52e0d2cbea287efe5426b7668462e6133394374f01aa3b968fec035e6a40a8bee01b12cbacf90fd0bca80b2e";
@@ -19516,6 +21030,7 @@ foliono = {
 };
 fonetika = {
   revision = 21326;
+  shortdesc = "Support for the Danish \"Dania\" phonetic system";
   stripPrefix = 0;
   fontMaps = [
     "Map fonetika.map"
@@ -19527,6 +21042,7 @@ fonetika = {
 };
 font-change = {
   revision = 40403;
+  shortdesc = "Macros to change text and mathematics fonts in plain TeX";
   stripPrefix = 0;
   sha512.run = "8ec91864d719d20ff66195ec1bab456d772417ff2d4d9ae75ecccafe0da616d1dfdf5b965be489a65eb28130b3672a5b55c33f3254f59c00cf204dcae6fd4eb7";
   sha512.doc = "75f7e45fb5313d0bc1c333253aba2bcd1d650fb6c0baffce6e5c558b0e7aeaf2e697ea9412860b4049d2685cdee26d19f12d9a28184084ab9df66101b78b0361";
@@ -19536,6 +21052,7 @@ font-change = {
 };
 font-change-xetex = {
   revision = 40404;
+  shortdesc = "Macros to change text and mathematics fonts in plain XeTeX";
   stripPrefix = 0;
   sha512.run = "17de7c596a774c5c2e115704c2c57385f3fa90bf2dd49362547873453c27700537ab7f1e8a143c2ed49c90efe6aec234d3cf61643228bcba5b51c5ddcbb8bba9";
   sha512.doc = "138375750a4d493774cbd558c6aa910d04bf3f32337f773438d6bb31e16df3d96af3a6ea12d4940c785c04f98130977750058f7c0ef2425e0d8147b4ab882a64";
@@ -19545,6 +21062,7 @@ font-change-xetex = {
 };
 fontawesome = {
   revision = 48145;
+  shortdesc = "Font containing web-related icons";
   stripPrefix = 0;
   fontMaps = [
     "Map fontawesome.map"
@@ -19557,6 +21075,7 @@ fontawesome = {
 };
 fontawesome5 = {
   revision = 63207;
+  shortdesc = "Font Awesome 5 with LaTeX support";
   stripPrefix = 0;
   fontMaps = [
     "Map fontawesome5.map"
@@ -19569,6 +21088,7 @@ fontawesome5 = {
 };
 fontaxes = {
   revision = 55920;
+  shortdesc = "Additional font axes for LaTeX";
   stripPrefix = 0;
   sha512.run = "49a2a2a3cc34370fc8db7c08446b2d12cb7b8a9ce6913568d7588c051683e24b859af23c440df1c815ab1b65f5b5de32242df344dad8102eba7ec1383b02c112";
   sha512.doc = "c37621f082498bfc4c2ed0717fbe18b56032a7d5faef1ca7a73c4fd22adcfb8f7e517ced768511636d4c8488932d3b33a96137837f34c79416b9c5d8d852456c";
@@ -19579,6 +21099,7 @@ fontaxes = {
 };
 fontbook = {
   revision = 23608;
+  shortdesc = "Generate a font book";
   stripPrefix = 0;
   sha512.run = "55ee9dc22aefcf91c7fe30f516bfbaea5d0b8c5423cec204bfb208ebfb4b2331ebdd65032eb6f2a9f8958f15fd47433a9c7884f49ff1f3900f1538f9f25d4fe4";
   sha512.doc = "65eb7d3f6426d3dcb13ac9a0d5b396eb4c03586d9d2b3d842af9ae4ad98119e8721034de499eae485c5803873946f04af992ddd860d09a7131021027c14b5d4b";
@@ -19589,6 +21110,7 @@ fontbook = {
 };
 fontch = {
   revision = 17859;
+  shortdesc = "Changing fonts, sizes and encodings in Plain TeX";
   stripPrefix = 0;
   sha512.run = "c8354fbcb6a13f2f874dd3df71f23ee1fcefdaaa1eab5166f35001811b9788ea2b53e5d5653437071d02978dc94b0a658bca5e2cfe825a0315d3389446b6c138";
   sha512.doc = "a7c5f6622414d943a20745f7b02c3859d43d4f4ec0f9ffd3b2baec34e142c01474d8827c7b0fe5d1bebfa25d33224b26cd876e3457b7179097fd9539cb9d9444";
@@ -19598,6 +21120,7 @@ fontch = {
 };
 fontinst = {
   revision = 62517;
+  shortdesc = "Help with installing fonts for TeX and LaTeX";
   sha512.run = "c3668f79f4b926090188386044fd68b0f13913168cdcb2aa23ccfd3aead488dec03e79133669bac3d2b719fdd2d5ef735fd46cbb27fd26fe560368f9e0cda05d";
   sha512.doc = "23c569bdd6f12dd4cd0b5673ed9efde2c7c7988d86bf2f89409bc22c80f64ea80ca6824745b50ea3ef30f70e4bd7c8d7005a9e05e511c1e917a12630f4b4bdb2";
   hasManpages = true;
@@ -19611,6 +21134,7 @@ fontinst.binfiles = [
 ];
 fontinstallationguide = {
   revision = 59755;
+  shortdesc = "Font installation guide";
   stripPrefix = 0;
   sha512.run = "c3f9820453f9cc3fcf4323f382a35255d2dc066dd0c090f55d15b2b28d64d8e3935e85b3dc8f30d9ee50408a48aba0ba4278d4985ead454f177ab1d484fe7b01";
   sha512.doc = "785a84a3bbcf67fcbb878f331815fd585093de89faee6f2556727ef820e392131545646242ebdef603e85e22e86b1e97f5369db4e1c565875e79683ff4987198";
@@ -19619,6 +21143,7 @@ fontinstallationguide = {
 };
 fontmfizz = {
   revision = 43546;
+  shortdesc = "Font Mfizz icons for use in LaTeX";
   stripPrefix = 0;
   sha512.run = "43febb41a8bd7b0a89a2b60b52f9b83e0d0fa8303c0a7986658a95c93307ba6642fe07f8ac935ccb50b3047bc74100cc7268fde438d3ff80c944ac59afa6e3df";
   sha512.doc = "6dc0f6c10d44a17d42d8ed4148f39bf89c84dd5a3a672755340456b0ab983b1b52cbd3bb62cd6f5ef4c3f6dfed8a39568d5ca35598c4b016483fcf7d3cdeb360";
@@ -19627,6 +21152,7 @@ fontmfizz = {
 };
 fontname = {
   revision = 64477;
+  shortdesc = "Scheme for naming fonts in TeX";
   stripPrefix = 0;
   sha512.run = "424da4dbbc07c41840e6aeb6fabeef5d4778d206b9cb8a90e752ebeb65d962b96ad41a7e20c86a16665e2bf48ad795d85001da66ff41b01ae3c949c6eefa4593";
   sha512.doc = "78199996913192f5f69423b6f412acc52b74f051b01d3e345b97b7f1d9ea4aea762a7b83488068f3091b41da69471d56b3f18ab4d299cc6adfe4e004072db303";
@@ -19636,11 +21162,12 @@ fontname = {
 };
 fontools = {
   revision = 69241;
+  shortdesc = "Tools to simplify using fonts (especially TT/OTF ones)";
   sha512.run = "5144f4a0636b49e63bf04f518b6c416623e2228615e33169839547cbaca574bed78777ab20f4db7e5820c1acd401b756896b39998c43f21f93de6cf8f987f6ab";
   sha512.doc = "bcb3ab7f49e817ef5b6f710bbc227309f28396c6f4233e39e94163663f10db3daaa41b6db93a9ae85a26599dfce352a0c132a36b0c047ecf8f5269f428af4f6c";
   hasManpages = true;
   hasRunfiles = true;
-  license = [ "gpl2" ];
+  license = [ "gpl2Only" ];
 };
 fontools.binfiles = [
   "afm2afm"
@@ -19649,6 +21176,7 @@ fontools.binfiles = [
 ];
 fonts-churchslavonic = {
   revision = 67473;
+  shortdesc = "Fonts for typesetting in Church Slavonic language";
   stripPrefix = 0;
   sha512.run = "a6e3759ee4fa9cb50a8b7bb55f162ddf6644c3d2ab61da514ae902c99868f34e3de67f1207ac003f98a872b1b1daafada441e888efe2f0482ddc6b9132374c03";
   sha512.doc = "9fcc08b521d9706c3775d33ed7391553e855ef43a49ef1c6cc92ecc1f21677909eaf5c5d231fe86f232d3a092e3f913012d8d96f35b3344e0a774c4e5c8f1476";
@@ -19658,6 +21186,7 @@ fonts-churchslavonic = {
 };
 fonts-tlwg = {
   revision = 60817;
+  shortdesc = "Thai fonts for LaTeX from TLWG";
   stripPrefix = 0;
   fontMaps = [
     "Map nectec.map"
@@ -19674,6 +21203,7 @@ fonts-tlwg = {
 };
 fontscale = {
   revision = 70541;
+  shortdesc = "A flexible interface for setting font sizes";
   stripPrefix = 0;
   sha512.run = "95ac9aaa5ff2ff9b9108bea483b23ef415e825beaea1b1573b1869d441c9ce34188b47241c5eed9b5762931823f015c0f05897d7085b2462f1f401c98ddcbaa3";
   sha512.doc = "28eb33adf132aed909f74211c538ab82f4cd5a958692a20a4692f9774a60c44e984fea28949366e3ae28d507088eeb1584592fefa1abced2b7bbf29bf9c56c41";
@@ -19683,15 +21213,17 @@ fontscale = {
 };
 fontsetup = {
   revision = 70135;
+  shortdesc = "A front-end to fontspec, for selected fonts with math support";
   stripPrefix = 0;
   sha512.run = "e599ae4f458be9375343dc4eade6c4ea56175224b785e48193af974d0b8f4a0d1f9426f8bd0fa22b15c962b7e10ef856f938699324c4b51e46d3e06602952e02";
   sha512.doc = "18c8d669b19274eda6e8daffe5fa3e6906a98026052ac668ef51e97e2e49e73b749dba7ac369d532020faccff121d210b5c1ec3540f353a98fe276f4aebd4c2f";
   hasRunfiles = true;
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
   version = "2.1.1";
 };
 fontsize = {
   revision = 60161;
+  shortdesc = "A small package to set arbitrary sizes for the main font of the document";
   stripPrefix = 0;
   sha512.run = "8e89cde1cdcc388a5e8ef48ccfeecf6f1f25e938c7513081bb17bb4b65f889c2826a929baf4833b2191554f3ddef2dd9c5bbf50f53ff14fe7463ebd1e494aa4a";
   sha512.doc = "0b4cb325f4ca5b94a1757aea9ab3dc00dc92ee2b095dd35f176e7acbad7e1ec87a7e2b7cdf9ed19bf50095c41f221f8c791c0e7c9d541021768945a84a30e51e";
@@ -19702,6 +21234,7 @@ fontsize = {
 };
 fontspec = {
   revision = 69880;
+  shortdesc = "Advanced font selection in XeLaTeX and LuaLaTeX";
   stripPrefix = 0;
   deps = [
     "euenc"
@@ -19720,6 +21253,7 @@ fontspec = {
 };
 fonttable = {
   revision = 44799;
+  shortdesc = "Print font tables from a LaTeX document";
   stripPrefix = 0;
   sha512.run = "f8db43eedd7f9e43b0cfb8c37e2687321fe236daa4bee898141c305dd2e59fb40bf3e8b3cabde561c75fb65dd053de33e45b90a8ab9518b0b30aedf35f6af1f2";
   sha512.doc = "1d2b27ac253df62568087abb8f9e0f0054e3bb98cb62e65784192b281722e69e8565fa569eef4d061684e8965e0b05a0cd6dcbf7e632af7f68f97e8d4747426e";
@@ -19730,6 +21264,7 @@ fonttable = {
 };
 fontware = {
   revision = 66186;
+  shortdesc = "Tools for virtual font metrics";
   sha512.run = "7cec7df72b76ed64b864401c809b48e51f69338c7cb3ed05ac4ea69899a077983763c728543f99130f18afdd2a03c955d848066a239c97547ab0240d87c97d7e";
   sha512.doc = "ccd22e262e5fa2cccd5da0ff016447d2df04aefcdd6960f226762667ea2e81b4afd406ea9f822b74d07c8f93cbe70ef90cfcc4040cae2820cf5ace94ce8d1113";
   hasManpages = true;
@@ -19743,6 +21278,7 @@ fontware.binfiles = [
 ];
 fontwrap = {
   revision = 15878;
+  shortdesc = "Bind fonts to specific unicode blocks";
   stripPrefix = 0;
   sha512.run = "5bad0487f5cfa4119d7baafccc6178925baea12f1cbed5912211c52f2c4ea01eb00f9dacd300c24b93f48e5f13197a86ba1e37c35ed69fb1031281fdeb08edf2";
   sha512.doc = "857be54c81d9bfb14277c17638ec24c643c278d660b56e18a4701aea0ad28e496df0aec191b12d93bb29b7ab326b39ad9cc7ddc3615871d1b70fdf6e44ccdc6e";
@@ -19751,6 +21287,7 @@ fontwrap = {
 };
 footbib = {
   revision = 17115;
+  shortdesc = "Bibliographic references as footnotes";
   stripPrefix = 0;
   sha512.run = "0cadef58331d5d51aeba1f69d0c9ceae99104f7c31ea79e0f5dee33c8612bc52cd0c8551abc6da1799705c879cc88535b46e4ef15232d3c4a0f7136e0fe46e05";
   sha512.doc = "27d1f0e6bf0ef526f2b3c4852c53b78fc60fc10ec526796447940565ad75fab023406bd28548170f7382e822c3b0f43d96181233bc772ea58f8ac195f71cf495";
@@ -19761,6 +21298,7 @@ footbib = {
 };
 footmisc = {
   revision = 69729;
+  shortdesc = "A range of footnote options";
   stripPrefix = 0;
   deps = [
     "bigfoot"
@@ -19774,6 +21312,7 @@ footmisc = {
 };
 footmisx = {
   revision = 42621;
+  shortdesc = "A range of footnote options";
   stripPrefix = 0;
   sha512.run = "591f181c8103ebd7a86440b27992df9eaea91d5998caa0f52dbfa48b7afc4791ef8c1f5a95d85b7cafd56113726beb74268b7498ec489d7b3142dcdf7f07adba";
   sha512.doc = "8c36c6eb169a804769ece280c2210949db96bbe57d6dacc1a0952fc1338d619334d3d8b46cbaa3dcac09e05a0c015f37146d8bed315238b5e918c373b2b42155";
@@ -19784,6 +21323,7 @@ footmisx = {
 };
 footnotebackref = {
   revision = 27034;
+  shortdesc = "Back-references from footnotes";
   stripPrefix = 0;
   sha512.run = "8c18d95a4c74a7fe2ea4cc98df6bdb6813d9cf8323e44474330f03694758ee53da46d0d691164f6d90b2148a7cf9dc253dbc93548a3b33df3b0344096e4a90c9";
   sha512.doc = "685484323b721c5277aeaa041b1d40b0d4675bc901a371f36dbff6246063252bca69261748a096919c7345a4a6e6284a6093068555bb43eb92fbf7cfea41facc";
@@ -19793,6 +21333,7 @@ footnotebackref = {
 };
 footnotehyper = {
   revision = 60374;
+  shortdesc = "hyperref aware footnote.sty";
   stripPrefix = 0;
   sha512.run = "24d270cf9fdcec81a91be4084e371338f1daa0a12c8344b850860bddef360c97d66e7475711106ee0d1d2f4df359abdb2f0005740aaca83651ce92f1d6c89140";
   sha512.doc = "605c22ffce3c413a0f9caa41a3ff7a43022a9c7a26e43fb177c107c2bc156c93a75f392b29d46880793788f9b5f0ac9e87cdb4c5075a247c17abec2e41527ef5";
@@ -19803,6 +21344,7 @@ footnotehyper = {
 };
 footnoterange = {
   revision = 66149;
+  shortdesc = "References to ranges of footnotes";
   stripPrefix = 0;
   sha512.run = "b2c20e7b528219e0eee9ca32da40982670d3fa88938a58251e1ce6aca26b831d9ffdd89752ac19b78bc148c11c265374d2f679e7e3f54cff0ba445acc4025922";
   sha512.doc = "bf5b704bb39a8d369093feecd02da251eb45790381605495960dabb9a4ef099f9118dc7a791c9d9db74eb19739628638a8c003256a42890d64ed821ebf2b8c12";
@@ -19813,6 +21355,7 @@ footnoterange = {
 };
 footnpag = {
   revision = 15878;
+  shortdesc = "Per-page numbering of footnotes";
   stripPrefix = 0;
   sha512.run = "a1ce9661f0f6a69d1709ea053fd548aed428a9cc8ef0445b9c4b897eeef349bb9767c219f5d860ab4d7d264982c1f4404d33619c80dec8411350bb965b19d709";
   sha512.doc = "f83c9cc0701c63dbd5d3b7dd6038e1bb2c427e6edaca05b814778592587b066af3c4f7f12646f7b2ff7cc1c2ab8d2ffd99480dbfe72e50c9bce907e8e2d4c509";
@@ -19822,6 +21365,7 @@ footnpag = {
 };
 forarray = {
   revision = 15878;
+  shortdesc = "Using array structures in LaTeX";
   stripPrefix = 0;
   sha512.run = "f818d0899fcba2d61ad119698d3633a28d5300098a4bd56a82b7b1c9cfc12c47a9457efed7cbdf8aee3ba9ba4143eefbdd54bc995c84c9bbe99dd5717030bef5";
   sha512.doc = "e292418f60b290bf0567ea70169d66557a8408b2933221e0658d6d8e807b6495258a6ea33d65d14e13129ff8e58dc9cb50115459b014ec00e0b084f3d3fd55fd";
@@ -19832,6 +21376,7 @@ forarray = {
 };
 foreign = {
   revision = 27819;
+  shortdesc = "Systematic treatment of 'foreign' words in documents";
   stripPrefix = 0;
   sha512.run = "e886be0cbbb64b11b6c54d6b62d6b38db1bb7e65b7a3a9cc951ad71d4cc1a93c323d8a1e17ba863daa6535c747c9801b06bc4d3c664bfb8da38518a9c93d45b0";
   sha512.doc = "d3804dd1b83ba173e4098696656c814629ff099699f332c3b81136c4519bd577aaabd4d2601893f88a58009f00e8c8ba44fcf2c4a3b72ce90af4d4febb510ec6";
@@ -19842,6 +21387,7 @@ foreign = {
 };
 forest = {
   revision = 57398;
+  shortdesc = "Drawing (linguistic) trees";
   stripPrefix = 0;
   deps = [
     "elocalloc"
@@ -19861,6 +21407,7 @@ forest = {
 };
 forest-quickstart = {
   revision = 55688;
+  shortdesc = "Quickstart Guide for Linguists package \"forest\"";
   stripPrefix = 0;
   sha512.run = "52e77fa1a6aca02eb15838d7c04e37744cb4f37f0bb078fa571c1309244fc329d92b553f3e7c62f574561929b5e4964b71cd2cca3d17d4f9d13f9bdb9b0ab8b5";
   sha512.doc = "974a0d0e5a5e7e640e4e18cc5eb59b5a10efa7c5ab4f81e2915e9bbea30bcd68323cf95c62891ce1711d822336e5ee054735761a474d186e3c9f11fd4dcf6f9a";
@@ -19868,6 +21415,7 @@ forest-quickstart = {
 };
 forloop = {
   revision = 67017;
+  shortdesc = "Iteration in LaTeX";
   stripPrefix = 0;
   sha512.run = "e4cf4d9fdf01b753b40d4fb2c5edac94756ccf60a7e0b1bf0da8b5b0c433eff5669858fcc35096967f9a53e6a365880e6677956ebb86764cd68ba3093fa4be91";
   sha512.doc = "7315a8e90a83bbb73cb82525fec32c750d97f62fadcf1cd1faa816aeb2c54b5183c8fe659a19f213764979d495d7774df7aab7c950fa9886c6911e526712f0ff";
@@ -19878,6 +21426,7 @@ forloop = {
 };
 formal-grammar = {
   revision = 61955;
+  shortdesc = "Typeset formal grammars";
   stripPrefix = 0;
   sha512.run = "9a14266ff45b4d153000f27694869ce0b3a159d646ec0343726e4510ed8444d9e1ea08209f64ac2b88d8875e860880d048fbc67c5dd5292e60c02521f89de3be";
   sha512.doc = "48d80287ee514f4a846e45b3c0af655644817a3a8dfd2e95e7955fcf4866cb15d5b771e73076cd8cb6717d2d70bfd615e2b613ba58e79380905d3cbf23beeb9a";
@@ -19888,6 +21437,7 @@ formal-grammar = {
 };
 formation-latex-ul = {
   revision = 70516;
+  shortdesc = "Introductory LaTeX course in French";
   stripPrefix = 0;
   sha512.run = "f5f29f4a61b1c7145d03985079bdb3fb26a4a627a6f839b3c9020569388abacf501e9a285d29de66e7e3d6287d255c5549aa389c5fe42fe0093315b01bf963ab";
   sha512.doc = "2a64b940b37d3c460db5c31434a650cbe5d61d361ecb6d3ced250c65a4d817eff324fd296c137fb26a144fab77cdb2c93132bbab11a3f50f3cd0acff87812178";
@@ -19897,6 +21447,7 @@ formation-latex-ul = {
 };
 formlett = {
   revision = 21480;
+  shortdesc = "Letters to multiple recipients";
   stripPrefix = 0;
   sha512.run = "9d984435565a9354d03f7ef1307d543e3a0bd3a8d398f6dec426f7ae16fe3c6b20e60cfb5daeca7be092427606b5a5886a31dc05d023d0f26d61aa1c07be4b8a";
   sha512.doc = "8eee17c77620f48319e862f2e7d8ae4b979c84250dd17f33cae9db52b1f219f2f86c690969a783648ee3979f24ef58e410cee47afcb12bcd26e4278af4625c6c";
@@ -19906,6 +21457,7 @@ formlett = {
 };
 forms16be = {
   revision = 51305;
+  shortdesc = "Initialize form properties using big-endian encoding";
   stripPrefix = 0;
   sha512.run = "9d8b0c7aa2314c81afe09cdd9ba3455e3ff7e3000fa9de0e99da935b282c3d32bc60aa7f97a27450ce999ff101b606fadae3dbb4965cbfc1d4a8ca5c29eb719e";
   sha512.doc = "52bedc12e5ad33ac78c906f9d60284ed079b0f6d66e578f826c946c28de3996c70da0b11284e774ad56196875b3bd166962eeead9282f3d71f6c6a0d4a8cba68";
@@ -19916,6 +21468,7 @@ forms16be = {
 };
 formular = {
   revision = 15878;
+  shortdesc = "Create forms containing field for manual entry";
   stripPrefix = 0;
   sha512.run = "0be09e33fc3cf97552dc9e960979447de61c53bea46205a52b37094f7ce39f10309f559dc99c0037392d4924bb688e27bc8d26e5f6fc69dfbc3d3c41736223ab";
   sha512.doc = "09550cdf735f340a13c9104b86b37dfca67e39c277ec9f98bab08754f393368bea8379019c402662b7e7df351636e44814bb45c0970cb24db10bf3efdd9dd7c7";
@@ -19926,6 +21479,7 @@ formular = {
 };
 forum = {
   revision = 64566;
+  shortdesc = "Forum fonts with LaTeX support";
   stripPrefix = 0;
   fontMaps = [
     "Map forum.map"
@@ -19937,6 +21491,7 @@ forum = {
 };
 fouridx = {
   revision = 32214;
+  shortdesc = "Left sub- and superscripts in maths mode";
   stripPrefix = 0;
   sha512.run = "01a2cc941482972cb8ca3f5402bef75f53d5e7db2b42f8bdf614c34faab3805c3548d3786c3e7cd9d8d8f7691cd5e8e71e056ad8afc24d52444c6969c11eaa14";
   sha512.doc = "8bc55b8e191b83ea42e228b47621780f4aaeec65248f5b3e9aad94443eeba08b1bf1bf44b7cf252f66466e5b0170260ad202c13abf2d76d4576833224212ae44";
@@ -19947,6 +21502,7 @@ fouridx = {
 };
 fourier = {
   revision = 61937;
+  shortdesc = "Using Utopia fonts in LaTeX documents";
   stripPrefix = 0;
   fontMaps = [
     "Map fourier-utopia-expert.map"
@@ -19960,6 +21516,7 @@ fourier = {
 };
 fouriernc = {
   revision = 29646;
+  shortdesc = "Use New Century Schoolbook text with Fourier maths fonts";
   stripPrefix = 0;
   sha512.run = "904b464fb9066100512cfd8a8998bb089113b443e2df1fb77100f9b5a26d48a5b3512931c00292d19764eb4f068f207eb38dab78798f217f2533a65229411df9";
   sha512.doc = "039ce79d06bd1fb55b257f1c65c53412b15c26d4eafb9d3abe9bb7a7fa836c8b545718f70d935f1449fa235f33d07c81ad8f228608de20ffdfa99b9f532e059d";
@@ -19968,6 +21525,7 @@ fouriernc = {
 };
 fp = {
   revision = 49719;
+  shortdesc = "Fixed point arithmetic";
   stripPrefix = 0;
   sha512.run = "27e60a78da80caf0e50d1fc83d227d19982e30950650845df710949f4d88db67dad96212331182561c43d37cdeabd3b68f9af55763f30175ab27a6b5f089870e";
   sha512.doc = "79b62424943f725ffc6c1698cadb9ba2fa6d9f0694741a951bbed23c43f870b930d966f110bbe722c17249c7211f08a3a95a5ce7e9da69b7487aec37e99e5152";
@@ -19977,16 +21535,18 @@ fp = {
 };
 fpl = {
   revision = 54512;
+  shortdesc = "SC and OsF fonts for URW Palladio L";
   stripPrefix = 0;
   sha512.run = "9c8ca7ebe7124afec8ba3f4ba4fc27c0a54ab460e53afeab599dcc619f81e5f8ad744a3cd68df33cb6ce456d0db0fafe7ee04d585dbc3fc123e5758a1242cef7";
   sha512.doc = "7b951310a10295bb453eed81ae668f042262094971dcd48c83ab721220094b3a62b79b5090002cc8a7a1fa12b4e75157fd8ead7c4deed8fa1d3629cc6746e8d8";
   sha512.source = "64da822f5b40bb6abfa33d19bec50d8e002452a710d0d6ba3c5e66097e9a33f6718524471fdc716ecb951fcb2ad82659288a08ef85b72229ba40297fc33f7727";
   hasRunfiles = true;
-  license = [ "gpl2" "lppl13c" ];
+  license = [ "gpl2Only" "lppl13c" ];
   version = "1.003";
 };
 fragmaster = {
   revision = 26313;
+  shortdesc = "Using psfrag with pdfLaTeX";
   sha512.run = "dc5d80aa4bab7a0a66258face6cf8222d03b12ea492f7cf568ef815a6d5950a8a2b36c7403ab466141f49cb8faedfbb33146820b88da17d8b8fa18a2b16235e4";
   sha512.doc = "61f0bd7dab46bfb91b634006217f01648007cbce3c9187b0811a5cc1755ec19654da94b47866ad9873fd57629f1561d1cc46bf3a4d62db618502aa0e67500637";
   hasRunfiles = true;
@@ -19998,6 +21558,7 @@ fragmaster.binfiles = [
 ];
 fragments = {
   revision = 15878;
+  shortdesc = "Fragments of LaTeX code";
   stripPrefix = 0;
   sha512.run = "adab94e7cc71c6ed2d881d13254793df16eaa08d1e37e4d3f0344e7a56cf08a4ffdca784871e8939f5db8e868b7166846843492ced0071c9dfbf56e39d20ec0e";
   sha512.doc = "dcf795392d989fdea695512c8f7011f783ea9091bfcc238ad296b0cdf1775bcf631c3097ede09a138117e39c7fa71da7eb355878c8389bdab2deb76a319102e1";
@@ -20006,6 +21567,7 @@ fragments = {
 };
 frame = {
   revision = 18312;
+  shortdesc = "Framed boxes for Plain TeX";
   stripPrefix = 0;
   sha512.run = "b66df0a91a8605aaeef2452236b5169cd363689a40f4a35ab9006ac18c21d4ae2a070407f84beff7de0be246f2f1e55c8b06f234921c4d7153fea9a7f2df1679";
   sha512.doc = "b61a3dfbc23031a39bbe01788f0f1d51750a3aa9132671917ed8d14c57453d588c75f8cd54beac9ac120f26b09fead55b871d53e918a735ee172f1603e4cd1ea";
@@ -20015,6 +21577,7 @@ frame = {
 };
 framed = {
   revision = 26789;
+  shortdesc = "Framed or shaded regions that can break across pages";
   stripPrefix = 0;
   sha512.run = "06f0da36c24ba42959b2176066d3e95f23dfed41753f4e4b07c1f92c4789e68d1b246c61cbdeacbb9c00b6eb990ea2b3ec75dff8ac57845102a867dfdf2c72c7";
   sha512.doc = "1f48ac19f74f5003df88700ff85c072c8a655d4623b82bc3b7c6570a548c0a7b7e97fe292f8557a72188c0047fc28e280bc3ab65f58559804fa78e89317fd67e";
@@ -20024,6 +21587,7 @@ framed = {
 };
 francais-bst = {
   revision = 69866;
+  shortdesc = "Bibliographies conforming to French typographic standards";
   stripPrefix = 0;
   sha512.run = "02581d45d6d205f0251c216435e068a44b7733ca23dd8f47df119a7aaf6db8efd9eef892e71219219713ab8031a77c373826c8b259e5c7f4f54f6b6edb2d8f5c";
   sha512.doc = "1f4a474fa1b953e9809315509c664fba06490dcef123ff8d1de32f05831fccafe45788a8754bcc70d6df687a1b75645d6f36ccfbe56958166e51a471e6c703bf";
@@ -20034,6 +21598,7 @@ francais-bst = {
 };
 frankenstein = {
   revision = 15878;
+  shortdesc = "A collection of LaTeX packages";
   stripPrefix = 0;
   sha512.run = "1d94962185391dc1fa9edcadd67a60d9a4b59592442ffdd45badea6279db8dea101b418ab3e03284e6e88c247fd213887f06e72fb6c4a002a66acaee82d8d4bf";
   sha512.doc = "8d8a404aa0a61fb76104bc57e1c2b837ddf68516c4d4fdc1af0a84425943f4e23a4f660b28b02e088db8849090e3734915ef7e0216f578a5199cf12115c498cd";
@@ -20043,6 +21608,7 @@ frankenstein = {
 };
 frcursive = {
   revision = 24559;
+  shortdesc = "French cursive hand fonts";
   stripPrefix = 0;
   fontMaps = [
     "Map frcursive.map"
@@ -20054,6 +21620,7 @@ frcursive = {
 };
 frederika2016 = {
   revision = 42157;
+  shortdesc = "An OpenType Greek calligraphy font";
   stripPrefix = 0;
   sha512.run = "b7b271af72364e0d2d00ac499bc1e419534d479d27fb424b7046373323354c47da29b888f0d765e3ff4725333ab3d407cd21a064bc4d063adf890de75aa49e3a";
   sha512.doc = "e205744d689113870fce9cf791f089ccb59cb6fa326c811f34db7183588df3de9b946cddba2a02128a9b88490e9326bea6563fa0fd9a3cdc76467555b7b8d198";
@@ -20063,6 +21630,7 @@ frederika2016 = {
 };
 freealign = {
   revision = 69267;
+  shortdesc = "Align math formulas in different lines";
   stripPrefix = 0;
   sha512.run = "ca74fc018fe0162cbc403c32efa1101edc215bdfcb9e5432c8d395cdad4f26550df6447b7cef9ffb103863052886b608c89ea5ad56a8a909822e7fc49f3241b2";
   sha512.doc = "ea7ea3cf64373fb06372d4452d3b66654813f52e221fd1a002c5b95c63604d0aa3b3a21ca6dc70e406b51e18628bd6ce55a74b1e2562b9140811f4d860cef91d";
@@ -20072,6 +21640,7 @@ freealign = {
 };
 frege = {
   revision = 27417;
+  shortdesc = "Typeset fregean Begriffsschrift";
   stripPrefix = 0;
   sha512.run = "39d359f01256f2399cd9226744aa9735543d5c9eb26104855bb52efaf51b8c720cb85e5be08241d72d3b2e1c2deb9cc7a10dd90ffca789ae91b6ea6b7cffb879";
   sha512.doc = "28c5cb420f25ed57a03f3914ce2286732ab8e06cbb0b8446ab3112ccb79b34814762becb7ac7457593e1b5b1579613a76a8b21fe2c43ac9f08175495ea87bd1c";
@@ -20081,6 +21650,7 @@ frege = {
 };
 frenchmath = {
   revision = 70163;
+  shortdesc = "Typesetting mathematics according to French rules";
   stripPrefix = 0;
   sha512.run = "dc8bfa123818c5e3ae96194158cccee72c29bae0b59dac01014750d1907039eed6ef3f24f08a32f08f15320c28e03bac3a9f052010e4609108bb5b4a4ff97397";
   sha512.doc = "1a1146f868e4d68014b080462cfce94f0f8362d23ccd42fe2a16fc526834850939aa10bc60dc65e5a66c35d40632f7c7b1fc607548b966424ebcda59104264bf";
@@ -20091,16 +21661,18 @@ frenchmath = {
 };
 frimurer = {
   revision = 56704;
+  shortdesc = "Access to the 'frimurer' cipher for use with LaTeX";
   stripPrefix = 0;
   sha512.run = "81057096f64d8ed53fb8afb9bd72eac6538f5babdcc054f422c7d6d0fa73b88459d250ed56b1666ec8d6c936b52102a9a1988d04ccc2efe76761e945d9027145";
   sha512.doc = "d2c8dd345fed5935fe2e329ebfe7c2e9a5c836f3af5d52605e35ce32ebf51cee529c182505db8eaec7772476f758bc5905a8b57cad5ebd162732801c2cf6d352";
   sha512.source = "a0fc0076cb4beaf081f21ca474ee287cfcfac07c889907d690093ff7b188214875766746bfade8f7de9182e5c32c7bdf912b71336f078bee120b042615056e46";
   hasRunfiles = true;
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
   version = "1";
 };
 frletter = {
   revision = 15878;
+  shortdesc = "Typeset letters in the French style";
   stripPrefix = 0;
   sha512.run = "5f6c61585ab0626931cf7f19d18138ec70572f3531f36cf94eecd82d93855a2ec8ed2ed0146971e035f8b5119df7c602c6279a9976e024ac85869953448d51de";
   sha512.doc = "36fbbc422eed8e577e054067e7b442cc84b640fcbd0706e3d8cb503884a5208e0a5bbe0c40b67cb5b495bcdd0ba7a78855338588757e5a9d26dce21f9bedcf3e";
@@ -20109,6 +21681,7 @@ frletter = {
 };
 frontespizio = {
   revision = 24054;
+  shortdesc = "Create a frontispiece for Italian theses";
   stripPrefix = 0;
   sha512.run = "6045214cc6a8325d8c828c2591fb43995f098803b031adf50bf8b4dddfa0047ce110dd25e5db71b068376893b7ee83a70806713a83b90a26c4d1c8553e4f00f2";
   sha512.doc = "beb8cec7ff51ff9b85e2a650bd7931070c126ea3b126051eb63194e8a071f6dd92d0014953afd85b0e73095208fdcefbf202d9c0ac22003f71d7f7a72f4a4034";
@@ -20119,6 +21692,7 @@ frontespizio = {
 };
 froufrou = {
   revision = 67201;
+  shortdesc = "Fancy section separators";
   stripPrefix = 0;
   sha512.run = "06c13998e051544b8fad8c65dad787b670beed1ec177262d3076b77d805423196b1b9092c0c2acf383450ebfefc4e670406dd7ab4413217c492759335a2d8310";
   sha512.doc = "fd49cc43d8479aa952b68b42bdc58a1e6256048027eed2d50ee80d2312f375956d6936f91b7a1d0d6ea2cdf5414b09f987e4bbd0f7ba279ecaccd8cfc9f6dd48";
@@ -20129,6 +21703,7 @@ froufrou = {
 };
 frpseudocode = {
   revision = 56088;
+  shortdesc = "French translation for the algorithmicx package";
   stripPrefix = 0;
   sha512.run = "f8807f696b69f5ad8b08ee24c210c084e11652d8f00b996e48f5e08c894e991b0f2cb288ac72e6b45208add3185a3e14fcfb432d8b2d2844359f54811859cb07";
   sha512.doc = "6c22157462f55d2c19a8da146558556eef0e28ed7f79c5231b282ad218b041d1d850ffd24c8f06c914ae5d9efd04d442061598f6f427ffe9393cb2ff1a4324ed";
@@ -20138,6 +21713,7 @@ frpseudocode = {
 };
 ftc-notebook = {
   revision = 50043;
+  shortdesc = "Typeset FIRST Tech Challenge (FTC) notebooks";
   stripPrefix = 0;
   sha512.run = "9dca1b2e09293df3a12df85f843e1701e1ac428f4caccbc196f43cfd02517cbc98908fe95fcd3e26685cd95dc8565aa5e29ad79f7d42ec5cdeca0346db6a759a";
   sha512.doc = "36022ae2df65e45e2fdd2a01e2c95502c3acee0e8fb0b738ef06b313f47cf8798df30a41a6f5e7b4021a556ebdfd17f84b4a79d54d2b6e88c8044f0a67a87f8e";
@@ -20147,6 +21723,7 @@ ftc-notebook = {
 };
 ftcap = {
   revision = 17275;
+  shortdesc = "Allows \caption at the beginning of a table-environment";
   stripPrefix = 0;
   sha512.run = "1287e0bd63fc92ef3e3c77ae3a6113cfcca38dd63f4a90948baadd2a365c07b38631d916230baeaf550b1aeff07f9cac3a26a07301838716d8d70fcf0843953e";
   sha512.doc = "afa317f10c600c88bb96fccb0383b291e1fb7c11abba5f6bd1efb05e7d2ce117c4ece7bdf9a9ea16c71c116143aa65ba26cf7c2e1dba68f225b655d122169001";
@@ -20156,6 +21733,7 @@ ftcap = {
 };
 ftnxtra = {
   revision = 29652;
+  shortdesc = "Extend the applicability of the \footnote command";
   stripPrefix = 0;
   sha512.run = "df8395b996f96ed72505ef1ef7f0e8e6101d4b26059831b227344023514d377eb189961a240e83ba42ac4ef7e8086b8ffcda347290014fbb1cf1531371c20eff";
   sha512.doc = "fc16ff992e3339480a4154169665be49f51e56f361d0b1f97842c555be59485fd7edf3cf815e32642826224e188c5377fdb2ab36746cdaef7f552399a4b7119c";
@@ -20166,6 +21744,7 @@ ftnxtra = {
 };
 fullblck = {
   revision = 25434;
+  shortdesc = "Left-blocking for letter class";
   stripPrefix = 0;
   sha512.run = "b298f55ca3afe8819e44704329c06be2867b00c1a2a399b5db8de8477751f9945bce1041450c7e91559eeee65c9bae5e76b57469c956239c9752341b820047c7";
   sha512.doc = "9da7587195a077f8218abc6a7df98bd15369650e00ab3893b6cd70a268bf34431b8c2c49b3415269bf6b8d1ddf51a8e23e76ae87667309f8466ad69da87f05a0";
@@ -20176,16 +21755,18 @@ fullblck = {
 };
 fullminipage = {
   revision = 34545;
+  shortdesc = "Minipage spanning a complete page";
   stripPrefix = 0;
   sha512.run = "7ca92205caae688761ddeadfc0a37173b37e285adf3c1f54c4b2994a0c82c90713a255d5068784e3f3866a7f1af603906513a561632b2d09c68477e497330d2e";
   sha512.doc = "111145d2f1c81f74692df8ef397d36c4c0d7b6c89efe0250571c0153b22b9d562df0dcefa90e3be96f8eb518af75ee8a23d42ad898e23668265dcf39d3c678ff";
   sha512.source = "d95dabc4565fd48b8a6e8b35777fd456934a3cba8bac34629ee6ff4847cd1578f70a06e6b87a9b76d26e341a502d1c284e4e155aaea9c92a12dbf6d0043d8249";
   hasRunfiles = true;
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
   version = "0.1.1";
 };
 fullwidth = {
   revision = 24684;
+  shortdesc = "Adjust margins of text block";
   stripPrefix = 0;
   sha512.run = "c9b9c37991365346804b51aae7b4645e5b63eb6a3c5c60a953cbe0583de0960e8a9d6cc99dc7526944415764869308d778fb85e7cde821792bec940f6c19072b";
   sha512.doc = "55892645ce01b31dd0285749091b8fbcab0061a7190f7a426379f6d3ea8bece8a5c054cad8b53efe1bb69a68fd3e49c3e8c8afb94954ff4ba8838142ab4576b8";
@@ -20195,6 +21776,7 @@ fullwidth = {
 };
 functan = {
   revision = 15878;
+  shortdesc = "Macros for functional analysis and PDE theory";
   stripPrefix = 0;
   sha512.run = "0899d9a3c30e701d5ba6a0275521a40a3cf2df680e9d4a95624730184fb370ae2537bec1becc3b185647a988af5fa8e4bda5198f42cbe68cbc848d8915f1c9da";
   sha512.doc = "c824825fd424316701e25fc573a431aa5967af0d520b631489b20608459dcd0f7abfac277c5b1e7b60e0a2888e0b37d787755acd6f671e48d4911969e3058692";
@@ -20204,6 +21786,7 @@ functan = {
 };
 functional = {
   revision = 69929;
+  shortdesc = "Provide an intuitive functional programming interface for LaTeX2";
   stripPrefix = 0;
   sha512.run = "efd3de1e1944193caa18069a1478e19bf602f1110c880ea14d9d7af146d4ef0da5c84078afcda4a26a326f01978240f6c011212424f029c491148317a9b60e43";
   sha512.doc = "1943c1451b357fe05d2586651cf52e8593927847ad3f88ab21d89626c8dba63e0bdac8e702dc79f7a8fc4ea8ea73c7b6fd05e19e57caac28adf5f1d53acbafb1";
@@ -20213,6 +21796,7 @@ functional = {
 };
 fundus-calligra = {
   revision = 26018;
+  shortdesc = "Support for the calligra font in LaTeX documents";
   stripPrefix = 0;
   sha512.run = "a999f372ef266e66a199935a0783d99293141aa08586a38d65a3748c1a239eca7b0faa74d537085852e79520343ca937943b30ce38820fdc925d75b1a334aabd";
   sha512.doc = "93aa54f12ade2eab798bd84596ec3b366db0a15eb05b5279261af8bc13bc1ce782077de36465e8e29d11ea1b89456ab207c33ab907e5c31af95e63d5d897da88";
@@ -20223,6 +21807,7 @@ fundus-calligra = {
 };
 fundus-cyr = {
   revision = 26019;
+  shortdesc = "Support for Washington University Cyrillic fonts";
   stripPrefix = 0;
   sha512.run = "de84ebbe6e70f61bf9765b9368df95fa5ae607a8d6e1c5535240e8665bb097c6958956d1b19ccf12a2a510672675c7ffa08ab98bd80b6ae2973fbe65d0e8d343";
   hasRunfiles = true;
@@ -20230,6 +21815,7 @@ fundus-cyr = {
 };
 fundus-sueterlin = {
   revision = 26030;
+  shortdesc = "Sutterlin";
   stripPrefix = 0;
   sha512.run = "b15a1fa2ee3272f25a616234a335d0bd5c8ac810724ecf453e172d2b68293b55f01f3e57acf81c17721cd3f489b35cde077d5456b78afacc589853224f1bce94";
   sha512.doc = "7162188682c9129e1788104fe94aae2a70607e276eeec4367ae60ff9e50d26aa88a73998028b99ee42627aa27e8868ed2fe72063db2e033798b09ff0b7a13477";
@@ -20240,6 +21826,7 @@ fundus-sueterlin = {
 };
 fvextra = {
   revision = 69001;
+  shortdesc = "Extensions and patches for fancyvrb";
   stripPrefix = 0;
   sha512.run = "42c77e74ff16a7aee9f79f8a6f08309742c1168138ccec2a085baad525422119bff6c10ee323e29aa45509789af188eead92379c5bd0d30c5e4a9ae557a0d991";
   sha512.doc = "27ee96621793f4da2cf719c49edeb3cb272fee6b31b13cfd86653ceb027c84dfaa1885b82510de22e0ca1e365ed783b745190809482a9f20796617e3fbc059c2";
@@ -20250,6 +21837,7 @@ fvextra = {
 };
 fwlw = {
   revision = 29803;
+  shortdesc = "Get first and last words of a page";
   stripPrefix = 0;
   sha512.run = "ac2c981bcc4da92a7f91c3ac17d66c4e0e7c94ff1bdb3bf3c7f6a4eef19fad1ecbbc6048a5c74627126c7e1190ee18c2c9373e80d52130a2d272c58ef70de6fc";
   sha512.doc = "bb55ca044aafb5b11b89b3c817066c4fb20facba8812667398ecf945bd8ed4b11bec2dfd21455db9cfa5e81e5f865655a3e6f4d3724bf40e47ad1db708896902";
@@ -20258,6 +21846,7 @@ fwlw = {
 };
 g-brief = {
   revision = 50415;
+  shortdesc = "Letter document class";
   stripPrefix = 0;
   sha512.run = "6c0a8e653cab5f67a85d25e18b98371323b3dd09365f6a3d1b47eee409b233db4290f6e6de70128f5b45facfc7771475671990bb2c79a1718c74972bfba78070";
   sha512.doc = "147d30be05a9224e141d9dc23a81750d0c43bf590d6e1dcb3e92fda6c668031522ef410904e5c7621c9b98879d6809fe604cf47de7f24891bc7e15c7be5ad05c";
@@ -20268,6 +21857,7 @@ g-brief = {
 };
 gaceta = {
   revision = 15878;
+  shortdesc = "A class to typeset La Gaceta de la RSME";
   stripPrefix = 0;
   sha512.run = "54c42cde3613f1fc28ba0a675281e64d2596e8f3c7831e1b1611c34fed1a82c01da2d6eb98058d5776ffc625d04e62359f63819307d04c6296705de74bfcef66";
   sha512.doc = "594fb3b44492018c6777e014ccc4784813784d3e282cffec0f6b6410a59f088ee30c8113a714fa41369eb795b35a1c615f3069a43697d0bed887123a44c02bf7";
@@ -20277,6 +21867,7 @@ gaceta = {
 };
 galois = {
   revision = 15878;
+  shortdesc = "Typeset Galois connections";
   stripPrefix = 0;
   sha512.run = "0c864940c2a47ad82f031868c1933679f9ee0e5ab01e98386433311a4230a77c7a5d41016619fbf7bb1957fecc259bd092d7a0894eedef91143a0d85e68a6978";
   sha512.doc = "7c71fe703efe235b3d1cf3298c99f2ba7dfbdc8d7c20861e8738070ef03b9671b1a4f6df40b2238d4b7cf9e765a1cfdc6210ea63ad06dfc60e0ac7a101735315";
@@ -20287,6 +21878,7 @@ galois = {
 };
 gamebook = {
   revision = 24714;
+  shortdesc = "Typeset gamebooks and other interactive novels";
   stripPrefix = 0;
   sha512.run = "4af22bc285bac3f368778dae5c91cf6a1999748a6dfa5fba96e166ed320e124c33f2b6d6bee16ad8d00d0f8067b24bb3567a1aba849b74a6b02fed3bb85dbc0a";
   sha512.doc = "58493c9b39343846913263f53b3bfe0fd89e4adb4154580d1bb0ff5d32b5b91ddc75511a0241fa3b98faef8b2d9d7c1846aca486e0c7262f8b3ea7a6bfddc619";
@@ -20297,6 +21889,7 @@ gamebook = {
 };
 gamebooklib = {
   revision = 67772;
+  shortdesc = "Macros for setting numbered entries in shuffled order";
   stripPrefix = 0;
   sha512.run = "b100e95290634e0697bc420259b287650c8bc436a950749c8f60955b4bb1f622f692730640c8b882400d7f1ac7a9cd847cfeacbd5310a5bd57f3925f21766159";
   sha512.doc = "f34592d3d47f5cff749fc0bc44b4de233a13bb962674cb22e06dbabadfedfc303049c73b18cc0807e0f1827ab583732a0019345991b3bedd6daa1f3e84c40108";
@@ -20307,6 +21900,7 @@ gamebooklib = {
 };
 gammas = {
   revision = 56403;
+  shortdesc = "Template for the GAMM Archive for Students";
   stripPrefix = 0;
   sha512.run = "8ecc1d5209ee6492e032b30e217dbbd0ae4c1ad9ab5a42e7e042eee63809aa257c8cc5d720f54be5553c8999f78334b8057bdac1134d4788144a3cafade7154e";
   sha512.doc = "62ec08047df846d2e32be9396356fdbdb9eb9c1867079a891bececc1d56275666127d997ddd4ed2c2f73423dc4a2e051586a1b06b516fb77372b04c60a4ca342";
@@ -20316,6 +21910,7 @@ gammas = {
 };
 garamond-libre = {
   revision = 64412;
+  shortdesc = "The Garamond Libre font face";
   stripPrefix = 0;
   fontMaps = [
     "Map GaramondLibre.map"
@@ -20328,6 +21923,7 @@ garamond-libre = {
 };
 garamond-math = {
   revision = 61481;
+  shortdesc = "An OTF math font matching EB Garamond";
   stripPrefix = 0;
   sha512.run = "fcab922fc4faa8468a2d8076664567c8533e95dc6767eabedee5c053bbdbb721890731f0d976a2d6047709f058a4d5e029996a5a5574912d21cb493f2975a76a";
   sha512.doc = "c7c5795e7d9de09a590dbfd7311786027be9dcbe51b1f40284639341953effbb0dfcb331061cad0a8d01df55c52611a8d61a6b62fba701565bb643826ba55734";
@@ -20336,6 +21932,7 @@ garamond-math = {
 };
 garrigues = {
   revision = 15878;
+  shortdesc = "MetaPost macros for the reproduction of Garrigues' Easter nomogram";
   stripPrefix = 0;
   sha512.run = "e1440fcf8eb0ccd3b140649c590c902882a8a5a02d4cc14589ed44193f3a70bf13839e9de9663c500bb6874d6fce34f5a21c07e38a7456738548b6ebf449b258";
   sha512.doc = "0c91f7e1c8fe4910fa7052440edd9afd81c8932e99368219c8a5037bddfa4c8c11037576e9c94721062df9cf7fd5d467389ddcf3aed3e1853be38846c049100f";
@@ -20344,6 +21941,7 @@ garrigues = {
 };
 garuda-c90 = {
   revision = 60832;
+  shortdesc = "TeX support (from CJK) for the garuda font";
   stripPrefix = 0;
   deps = [
     "fonts-tlwg"
@@ -20357,6 +21955,7 @@ garuda-c90 = {
 };
 gastex = {
   revision = 69877;
+  shortdesc = "Graphs and Automata Simplified in TeX";
   stripPrefix = 0;
   sha512.run = "1716d7e7a0327fbde392a435b783da48382adc8e5751f06730dabe655422b2bedbe6d6ddb589de67d3d15df0b97354bae10aaff81df1795f01e44d6c7f90681d";
   sha512.doc = "417c7ac005a4d754dc5d6082e5453f400aea53f61848efd244e97a3c6449346d2fb77989598113b15d16d81d70a9abaaa06f39ebccb542fdb88265e1dbf170ab";
@@ -20366,6 +21965,7 @@ gastex = {
 };
 gates = {
   revision = 29803;
+  shortdesc = "Support for writing modular and customisable code";
   stripPrefix = 0;
   sha512.run = "704126d5e113b9718654e5d611d169df17b45ec09f187d86d1c108a331e80939d0266c4473233277e1b465a70775da1ea9576744171209ab45203b4059b96b83";
   sha512.doc = "a9cd7d2c616021d429b299027503fed60e8474774b6d57095371f1afaba68709770857ba09f74e8e5223dcbdd1d9f1f70a0ec81c3801b1a77c3a494336fa86bd";
@@ -20375,6 +21975,7 @@ gates = {
 };
 gatherenum = {
   revision = 67201;
+  shortdesc = "A crossover of align* and enumerate";
   stripPrefix = 0;
   sha512.run = "c700375b321db078bc99492ba42c03855a80db6c1661590dba6763d52c65ec7c86a9889a38956a5015b78416d8c7a296efd764d1eaa758891cd8c7f7d4cef8b4";
   sha512.doc = "a1f184ec862cb4d343b4dbb8014faee217a61e1f72418a8472a2a46b6731af4e3e767755f4f367631f40199aafd449aaee9bf409e9358822ed6006eed495d4ad";
@@ -20385,6 +21986,7 @@ gatherenum = {
 };
 gauss = {
   revision = 32934;
+  shortdesc = "A package for Gaussian operations";
   stripPrefix = 0;
   sha512.run = "9dd3f7685a8b7bbdfbee1fbe5dcc5d2819091c7c20df7979b1b0fb7971e613e45b6321a18674e88bb0d6222f050f0ab3959b087be70b90b5bfefaeffacc733f9";
   sha512.doc = "50de7e9af2360367de7f7136def2536a82348752656b1c40022d7e13271cfde64e67bcd482c2d208f47b88a30560f8179b7b8706288809b41d023c037147f0c2";
@@ -20393,6 +21995,7 @@ gauss = {
 };
 gb4e = {
   revision = 19216;
+  shortdesc = "Linguistic tools";
   stripPrefix = 0;
   sha512.run = "1ec519ad5f22e6d61d16a0233a73065b45e8628549bfecd109f968b8749c362cd04f358d67e96b1311577f94f6152e7de7a9e3264ffcff5c5769662b52df7e29";
   sha512.doc = "9b8c8e2590a1a515aa84e11a4028aadeff9e4acb7d3ce99b0d21009e17443db3d2feee85d888a333595e144244efbf978239e6dbf48c68a43bd5709d9489c203";
@@ -20401,6 +22004,7 @@ gb4e = {
 };
 gbt7714 = {
   revision = 64633;
+  shortdesc = "BibTeX implementation of China's bibliography style standard GB/T 7714-2015";
   stripPrefix = 0;
   deps = [
     "bibtex"
@@ -20416,6 +22020,7 @@ gbt7714 = {
 };
 gcard = {
   revision = 15878;
+  shortdesc = "Arrange text on a sheet to fold into a greeting card";
   stripPrefix = 0;
   sha512.run = "de462bff229779faa33c546d525e3624f1ed372c09c1b90fa9270928caf0a2604f2bb9d3ef0768de7dd0646202d7a59995b7252c0b83b19eaf777438bd1acc47";
   sha512.doc = "f7fd3c07e053962c88d0a0b8e5899272a3bd9af4cf1731f88a7014773d8f0ecc91fb45e1e59b1a372d8c8977e1dce91c5162558d0245d77a187ac7787a3710ea";
@@ -20424,6 +22029,7 @@ gcard = {
 };
 gchords = {
   revision = 29803;
+  shortdesc = "Typeset guitar chords";
   stripPrefix = 0;
   sha512.run = "7fd655af5446982b450e3eec2b8966f2fc17c11686bb75f516ce0043af651b90e4f88c9cfac133929fbb686fe3f7be6de64d89bda6822f218b691791c9207950";
   sha512.doc = "26818218c9e3142f4bba491e996556b28266953c6b84f1c3de58d60b1bf100d15513fd2898507cf43226eec127942dede647784060668d86bcb22e3fdaee96cd";
@@ -20433,6 +22039,7 @@ gchords = {
 };
 gcite = {
   revision = 15878;
+  shortdesc = "Citations in a reader-friendly style";
   stripPrefix = 0;
   sha512.run = "169d9e96121d80bcbe7580e7ff447e8df252b19dca5b304514a792764344df679e9275b1a552d67070d3f5b0fc41c70a6cf1ce9c90358dd9ab58878643be6015";
   sha512.doc = "d9b50778855efc00ba4d6d6f48891865853b8de8e55c3432140b0ba69767c6c13ab934c2be43b2556a862bbb5413ddccce158ec4130576617a75708919f1ab0c";
@@ -20443,6 +22050,7 @@ gcite = {
 };
 gckanbun = {
   revision = 61719;
+  shortdesc = "Kanbun typesetting for (u)pLaTeX and LuaLaTeX";
   stripPrefix = 0;
   sha512.run = "ccea354895392747e5c84d750ece8f3717a0f9c529fd5b8b7ae2554bbe607b4497b9a8d213c479d5ad11e8ebc40187799ffced6f08f4fefb4e6d3cf223566c98";
   sha512.doc = "4a885440883d615ad20dc083c768c3b64c3cdc627e1daca4008dbf07672ad62e8020a9b14f732d181c4a902adddd49908c4a0e41b3afbe2d68d2f90c5989e78b";
@@ -20452,6 +22060,7 @@ gckanbun = {
 };
 gelasio = {
   revision = 66805;
+  shortdesc = "LaTeX support for the Gelasio family of fonts";
   stripPrefix = 0;
   fontMaps = [
     "Map gelasio.map"
@@ -20463,6 +22072,7 @@ gelasio = {
 };
 gender = {
   revision = 36464;
+  shortdesc = "Gender neutrality for languages with grammatical gender";
   stripPrefix = 0;
   sha512.run = "261d57b05993954b80f82844f590f952fedaa4ade8f89704f2e2b4e2d18441ab5c8adef2ba3dfd81b61bed53150b737ef72964e1faa44ca48e923cfeb5a1bc14";
   sha512.doc = "7c8bf143cb7ae1d22416df88aecf7e004eb02bf199f74f8003aeb9ae3923a3db42f1735650fac8aa908bf220f16ca48b3e4f9dbc312668d87df65149ea674be4";
@@ -20473,6 +22083,7 @@ gender = {
 };
 gene-logic = {
   revision = 15878;
+  shortdesc = "Typeset logic formulae, etc";
   stripPrefix = 0;
   sha512.run = "b7cdc0d653aa8e25d763ca4115fa6fc857ddae35ed835aee6b6a204ba83d01ab91928b00248c40677ba132ef113276912a6b85dfd456d937114a3263a1ef4c7f";
   sha512.doc = "db358777af18e7d2e93dc23084bec0f47270b4cb6c6078382a1eb9ce288aed06a6f55fc30ce728b1312d06f871458fc6b5b697b1073316e8f727b5ee80f99468";
@@ -20482,6 +22093,7 @@ gene-logic = {
 };
 genealogy = {
   revision = 25112;
+  shortdesc = "A compilation genealogy font";
   stripPrefix = 0;
   sha512.run = "907394cb0ca9b3d339d78595e613236038ea2acce27c4468b7d028d0db7ddf36f7037c4f0bc63d5970e904d0675bcaf057c769239a79f064fa6aa9dae4f2014e";
   sha512.doc = "34c9d737d31626331a18051a5b04584fd896d7cb8ea1814ff2fbf30486ec3578b2bef16155b9c8f2ca645d42f797f3101c799d3422c05f824026e268fa4f94e8";
@@ -20490,6 +22102,7 @@ genealogy = {
 };
 genealogy-profiles = {
   revision = 69580;
+  shortdesc = "Genealogical profiles for LaTeX";
   stripPrefix = 0;
   sha512.run = "36b0b0107bf8999ce6d2a0ec46b792dcb9cbd5313734e2cdb2879bd7a15d8f70af09fbc831b6183412cb72c44eb6fe3202d00a0dc510e1314ce7115d78be12dd";
   sha512.doc = "52f75186e84f03f21e33bc1b5ca935bddf8f45b348ee5dc93d82506b444cf72a1a51c4a33b0510cccd8e89cd46a74215e6acbeaa5d2f32953ff7ff3629bea5b2";
@@ -20498,6 +22111,7 @@ genealogy-profiles = {
 };
 genealogytree = {
   revision = 66513;
+  shortdesc = "Pedigree and genealogical tree diagrams";
   stripPrefix = 0;
   sha512.run = "603091897c07e0d6643482ee754aa9f0a49ba4e71e3a426c35404f46c6f6fc43a6d24f721023706cf0c03b152ad3153a8322b440a89ee6542edbb8aa71a384f1";
   sha512.doc = "88757eb6be6ade83a5125da7bb7bd0abb3d56367a330607fdea9b05929c8caaa4fad0be79863006e9048daa66aa0ce7ddddd1a2100ae9dfcfc835456c08453f4";
@@ -20507,6 +22121,7 @@ genealogytree = {
 };
 genmpage = {
   revision = 15878;
+  shortdesc = "Generalization of LaTeX's minipages";
   stripPrefix = 0;
   sha512.run = "b2618005fc0f00a636e3a307ba1038f8dd39798e2ee2afa4d9169eb45ed4b38a67a57bfb516e9dd8d93ea0210a7fcde21b26c0564b974442e18021d83f905265";
   sha512.doc = "c428886adead6fed52f0d249db34a950b4f22b03770ce1bff0831fca29477ab92b5d83a9719b73aa45aeb5f2067f31afc810b6cdfdd69e709ec5e61a08f45472";
@@ -20517,6 +22132,7 @@ genmpage = {
 };
 gensymb = {
   revision = 64740;
+  shortdesc = "Generic symbols for both text and math mode";
   stripPrefix = 0;
   sha512.run = "311de4fa6c68b21cdc8c655a7092d98772398e82bd9790e0bf00898a6575e234da44534635dfdd500eb7815d302a4487162f528452caf373ed11b7994682a43b";
   sha512.doc = "4175231e5b998f26e913374ad20b2718d4c566e5b220bfe4de9f89ffc4422b2aa4c941acc067d392eb43a725d93457b1c10d8568f5ad0eb7c1aecd4fa83e9746";
@@ -20527,6 +22143,7 @@ gensymb = {
 };
 gentium-tug = {
   revision = 63470;
+  shortdesc = "Gentium fonts (in two formats) and support files";
   stripPrefix = 0;
   fontMaps = [
     "Map gentium-type1.map"
@@ -20540,6 +22157,7 @@ gentium-tug = {
 };
 gentle = {
   revision = 15878;
+  shortdesc = "A Gentle Introduction to TeX";
   stripPrefix = 0;
   sha512.run = "b244b249329d1ee622686d2a44d1469ceeed7e2adec5d82a2482e8659266a8224490531e0ed971b56f945b63fd1081f29aded9c43cea78fa8a9aec836301b26b";
   sha512.doc = "fe296c5bc38a1e6d13d2b46dc8081a6658764f7017d0831cfd46dd86082371d6ae095ec3b52b3aaaacc0a57cbcee066b94644a5746391fae4129eebaa246e146";
@@ -20547,6 +22165,7 @@ gentle = {
 };
 gentombow = {
   revision = 64333;
+  shortdesc = "Generate Japanese-style crop marks";
   stripPrefix = 0;
   sha512.run = "4aa08751c2fc9c6709031d53637e0c2dc734926160f357df53bed6e4c33c4340e33f9dbb92d3ec2bf5dcc7b552c9508622986edc3c30d6fe15cc8334a0773779";
   sha512.doc = "af1d418f108bb050d8380223548d7fd77681e942a1a48aff8b7fb2c7e7a4d79b288e47099382e6ab9218bca78dc5406a57a42de00c2029f080285d6f11183a5c";
@@ -20555,6 +22174,7 @@ gentombow = {
 };
 geometry = {
   revision = 61719;
+  shortdesc = "Flexible and complete interface to document dimensions";
   stripPrefix = 0;
   deps = [
     "graphics"
@@ -20569,6 +22189,7 @@ geometry = {
 };
 geradwp = {
   revision = 63134;
+  shortdesc = "Document class for the Cahiers du GERAD series";
   stripPrefix = 0;
   sha512.run = "b5b4cecbe95f3091348b917d9cafa31a5249bcf0b11b5a0be405d980c3a22d7af6f241af12ff999b5bbdf0aa3aebfff537e8c01fea9bdc904709eb66b3fc78bb";
   sha512.doc = "e12924c6e3437f0d2665bbfd97aa7d88c491a159866a3ec7ffdf9f84298e4bc0ff336487a194b68f0ebfea67dbf415749118328ac1606f02f32193963f6339c9";
@@ -20579,6 +22200,7 @@ geradwp = {
 };
 german = {
   revision = 42428;
+  shortdesc = "Support for German typography";
   stripPrefix = 0;
   sha512.run = "6cc469012ca6cb76baf2bbea00d198b97c2694d9388e90d2ded6b27da30f8d56aa2e6742ecabbdd335b7299c0c7476cc5479b59fa94468c9354f35ce18b59732";
   sha512.doc = "b9795ae418790119ca923079221114b9bf608ce2460b810cb39575910c0b173ff445c428a2ce6260bf90a993fb354d2b5c300ba58344d907965b65bb6f2d4ee3";
@@ -20589,6 +22211,7 @@ german = {
 };
 germbib = {
   revision = 15878;
+  shortdesc = "German variants of standard BibTeX styles";
   stripPrefix = 0;
   sha512.run = "a7854f834c868ad80bcf986380f19139687eb80309e3aeb9a001d2030c5bca51de617394f920801834df460d05b52878301c6b45a52666984b3ba2d0910c416f";
   sha512.doc = "53dd4fff2fbb7044436f37e8a2baf48877699db4f99b92a701d10c0230439b00b48ee09051839efe4392abdb4335c3998d92d6239802c765bde4aa2df3d34ab6";
@@ -20597,6 +22220,7 @@ germbib = {
 };
 germkorr = {
   revision = 15878;
+  shortdesc = "Change kerning for German quotation marks";
   stripPrefix = 0;
   sha512.run = "6819a79268da2704a3fa6baab74be48ccd591ba998a0b012d323cb0149273deba6298a92629f0d19c19725ef0b41db9dd28adf9bb898c1c637038f9c22ad4b16";
   sha512.doc = "ab5362e069674c2c53709bc776be9fcbcfd3e56226a8fa7b9230c2f4ccb6fb74bba20485362f48130c153d81df838281620a628671c202cd60a52bf8ab5b89cd";
@@ -20606,6 +22230,7 @@ germkorr = {
 };
 geschichtsfrkl = {
   revision = 42121;
+  shortdesc = "BibLaTeX style for historians";
   stripPrefix = 0;
   sha512.run = "24cad33dfcbdb8ab91a80509771bd130ea6682a14fea5510ea202af73155653471deab91abb43a302b9717c252475db58135ad465f28509adae5d8583bf98e0b";
   sha512.doc = "6d1097dd0047c029100358bd3161f2ca515a09cf9a62b2633d4797059688bd5c30e4eab11c31081faeefacf892415c5d9a4985d20245ea9cf79b4197925ed2e7";
@@ -20616,6 +22241,7 @@ geschichtsfrkl = {
 };
 getfiledate = {
   revision = 16189;
+  shortdesc = "Find the date of last modification of a file";
   stripPrefix = 0;
   sha512.run = "017b3ad95801da2788f2c5040225c6a8a2ac6d005c1d68d9eba0be061dfc9fa6f088a0279a75d25bea8ba380e4a92cfbd9b6a6b812d08cd2f86de097f7974fb7";
   sha512.doc = "490daffa0b0b28c9c02d745d8de50f22395f6ae773e07f6e826a8ddaff0d38f9ee48e822953e9642e46be26084ec2919bcac76c388cb3f42965f1b662e4e43a0";
@@ -20625,6 +22251,7 @@ getfiledate = {
 };
 getitems = {
   revision = 39365;
+  shortdesc = "Gathering items from a list-like environment";
   stripPrefix = 0;
   sha512.run = "8797c7e70f1c81330b68b6c386116b0caf2c350a2b75724d796f0ab7380a2ea4cb2ae293ac3e6b941887b30faa2b73775c2bfce7c674ee98c4256a23231443b0";
   sha512.doc = "95302dae67f3193dc3d52b4e5724584ee066eee1dbba30b1233faa0c65fc568f932805b18b8054165760a2b655b486e7f3115d3b37be780f8f5a7220f2f924fc";
@@ -20635,6 +22262,7 @@ getitems = {
 };
 getmap = {
   revision = 50589;
+  shortdesc = "Download OpenStreetMap maps for use in documents";
   sha512.run = "e5287152442820e20087b45c50a750af621e71e2175cd6790231d81e1f338e50aa75f29d9fbc31c2e5802229c8f15c4e0c7769d0513f1d1b0bafc96a8a3b120f";
   sha512.doc = "bb55c60ec958182aaaa6dfc292a06fbad8a0ebdcb56a6799f1358ad2009bcb72b06611672219c5e9bd6d7cb4db76c4fa030be5e06f9bb38d04fa6744f8bca330";
   hasRunfiles = true;
@@ -20649,6 +22277,7 @@ getmap.binfiles = [
 ];
 getoptk = {
   revision = 23567;
+  shortdesc = "Define macros with sophisticated options";
   stripPrefix = 0;
   sha512.run = "6a2e543d0997c52155807d0d2641af9714cb09531286a58bcb2d5fec0e70c694edb7d603a250281a641610d1c39495d5f93417da5cfea7a86da1fd53a98ef77f";
   sha512.doc = "fba54e8acd4f494c4e859c8705cb97923e477ed909720adb8c4735c527c3b13799ad74ac1700099bfa282144f2b38358b890bc52d4ae4a9e16699c2d0e10619c";
@@ -20658,6 +22287,7 @@ getoptk = {
 };
 gettitlestring = {
   revision = 53170;
+  shortdesc = "Clean up title references";
   stripPrefix = 0;
   sha512.run = "101ad92c2fba5c43321d8e12754190e09b0442508799dbb6bac23d5cbe96c470425a4cc10a28441408ac5a1c406e18aab7567f2464e48c2692fa38af1e23a16f";
   sha512.doc = "f9e33fbe89df368c4c5dfd855f2fc0fa8c4d1eec5c0ab925b0a28b9f021fd2d88521895233d12783a023e40d70b05a0e849d4551f79fd4b8d0af72fb60a1af32";
@@ -20668,6 +22298,7 @@ gettitlestring = {
 };
 gfdl = {
   revision = 65415;
+  shortdesc = "Support for using GFDL in LaTeX";
   stripPrefix = 0;
   sha512.run = "d93bba6171e3179b559a26ce246b6de423c06d0ec4e360e33b4d140be07645b90aea070d41d988d0ddb22f6686789e96d9df5e3f1c8ff8cc23829b7be0d015db";
   sha512.doc = "24034eb02baab28efccb6569425229f6e2dd4a0254c926e9153eb6e8802d0cd18d9af7ff4229dc1f8b39fb5dddff767b33e026b12a3443cb3c62f1f0f5e64ade";
@@ -20678,15 +22309,17 @@ gfdl = {
 };
 gfnotation = {
   revision = 37156;
+  shortdesc = "Typeset Gottlob Frege's notation in plain TeX";
   stripPrefix = 0;
   sha512.run = "4f99442eacf28ea13cd98ee4bbe981b95ae9d849e6bf2682cac2305fd793f6e9f5e4211362385890956fdb24ef03748e9cb0184c7ba9ed89e7985b2caa3e2da2";
   sha512.doc = "b65d173c11400a7681510cd837ac6e8ebf65a458327bfdee140013d49a0c6fcc339f6c45d4b4ee918585acaf785c12e66b3df5f73f01a1f2d8c5b8db58b9c47e";
   hasRunfiles = true;
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
   version = "2.9";
 };
 gfsartemisia = {
   revision = 19469;
+  shortdesc = "A modern Greek font design";
   stripPrefix = 0;
   fontMaps = [
     "Map gfsartemisia.map"
@@ -20699,6 +22332,7 @@ gfsartemisia = {
 };
 gfsbaskerville = {
   revision = 19440;
+  shortdesc = "A Greek font, from one such by Baskerville";
   stripPrefix = 0;
   fontMaps = [
     "Map gfsbaskerville.map"
@@ -20711,6 +22345,7 @@ gfsbaskerville = {
 };
 gfsbodoni = {
   revision = 28484;
+  shortdesc = "A Greek and Latin font based on Bodoni";
   stripPrefix = 0;
   fontMaps = [
     "Map gfsbodoni.map"
@@ -20723,6 +22358,7 @@ gfsbodoni = {
 };
 gfscomplutum = {
   revision = 19469;
+  shortdesc = "A Greek font with a long history";
   stripPrefix = 0;
   fontMaps = [
     "Map gfscomplutum.map"
@@ -20735,6 +22371,7 @@ gfscomplutum = {
 };
 gfsdidot = {
   revision = 69112;
+  shortdesc = "A Greek font based on Didot's work";
   stripPrefix = 0;
   fontMaps = [
     "Map gfsdidot.map"
@@ -20746,6 +22383,7 @@ gfsdidot = {
 };
 gfsdidotclassic = {
   revision = 52778;
+  shortdesc = "The classic version of GFSDidot";
   stripPrefix = 0;
   sha512.run = "7b07a974f5447917d0a10a964011f2ed57db2dc9155384117310eadbe1dd05067dea6d617a598545713fb9250bda4241b0b2d5bdd84be4fb8c994d8d8c4e5ac4";
   sha512.doc = "3256c1af2f7b0d15625eb3a7250e15b9645991b3a7408d11afc77aa65bb067cfc3682fac334a61d67f894468b3a14c21e694e4b7445a01ce88203af06a269031";
@@ -20755,6 +22393,7 @@ gfsdidotclassic = {
 };
 gfsneohellenic = {
   revision = 63944;
+  shortdesc = "A font in the Neo-Hellenic style";
   stripPrefix = 0;
   fontMaps = [
     "Map gfsneohellenic.map"
@@ -20767,6 +22406,7 @@ gfsneohellenic = {
 };
 gfsneohellenicmath = {
   revision = 63928;
+  shortdesc = "A math font in the Neo-Hellenic style";
   stripPrefix = 0;
   sha512.run = "17e81da77241b3dcf6727ee8e954d9ea24a59a235d8e454b77204f99bec343d020803790ce6ce82a22226ef48ff29e65d84b6ec90e44286addd3ca727e8fbf1c";
   sha512.doc = "efb0faa6617a402b6d840d9f20303a8acaf4140c60b8de285dbbb9794dc6212715cec6d1fd2cdee65aaf348ed1184ad66c480e00843801203f47fd3a4058250a";
@@ -20776,6 +22416,7 @@ gfsneohellenicmath = {
 };
 gfsporson = {
   revision = 18651;
+  shortdesc = "A Greek font, originally from Porson";
   stripPrefix = 0;
   fontMaps = [
     "Map gfsporson.map"
@@ -20788,6 +22429,7 @@ gfsporson = {
 };
 gfssolomos = {
   revision = 18651;
+  shortdesc = "A Greek-alphabet font";
   stripPrefix = 0;
   fontMaps = [
     "Map gfssolomos.map"
@@ -20800,6 +22442,7 @@ gfssolomos = {
 };
 ghab = {
   revision = 29803;
+  shortdesc = "Typeset ghab boxes in LaTeX";
   stripPrefix = 0;
   sha512.run = "7e919cbb0c84fe337dd05c749a3288990e750ff0aeaf119736108463a1684a18a66be94811a31156f951c871b2f073627914629756b06e747f3220d2ce08950f";
   sha512.doc = "2cb7dbf5b43130b122618c50c18e513dc0ee0ce267cdfa6e710451d1fa7fce8965617d74d48748241321948ae8c5eb9cfa4945df146ed8e5d476d0fc5caaf204";
@@ -20809,6 +22452,7 @@ ghab = {
 };
 ghsystem = {
   revision = 53822;
+  shortdesc = "Globally harmonised system of chemical (etc) naming";
   stripPrefix = 0;
   sha512.run = "42f94adda3268ce20f664113211d3c32e7ee005db053f3daecf72d381dd4c4cc2e78610b821cd4b43c4543610bc66170513c4fd9357445977a8a2ffc6bf140f2";
   sha512.doc = "d2f1f42177ea820d209e9574def8efc0dcf9fac0c73ce1c9eeaace7bc0b25fc470ff7265ca8a4f42f6482dba61d7d764b2171268c168aa7eb154bb6f9672f52a";
@@ -20818,6 +22462,7 @@ ghsystem = {
 };
 gillcm = {
   revision = 19878;
+  shortdesc = "Alternative unslanted italic Computer Modern fonts";
   stripPrefix = 0;
   sha512.run = "37c8141eac6b1636292479299f7df6b3dc128addf8f7ba680cef2c75d2f7ab04686134b243a86168c54052d4dcbc33f13c13a6629d7c98d3908e4cce5fb53f06";
   sha512.doc = "55e02d36c12bd12932c2d220f892852dd1c8c947cdea09d058ad38e5e513dfb684e75a8ecf07f5711200f942ea7732519c739866458c330ee271bf45af32ed45";
@@ -20827,6 +22472,7 @@ gillcm = {
 };
 gillius = {
   revision = 64865;
+  shortdesc = "Gillius fonts with LaTeX support";
   stripPrefix = 0;
   fontMaps = [
     "Map gillius.map"
@@ -20838,6 +22484,7 @@ gillius = {
 };
 gincltex = {
   revision = 64967;
+  shortdesc = "Include TeX files as graphics (.tex support for \includegraphics)";
   stripPrefix = 0;
   sha512.run = "2137967697765b1167f36a858d2eda778b43ff1d681ec0d8af7963d2ab4a92448c6c1ad6933975afcc211d301cf168528e7ded7c3114c4b5ec580f42d8a7b664";
   sha512.doc = "86ee14069c5522d7c0713a532627bf29e8cf71ec4c86184377cdcd8a73dcf0f034be9e92b8ff7c2caef8310f968c956d712f3281eb6e4d36e83a3464149489b9";
@@ -20848,6 +22495,7 @@ gincltex = {
 };
 gindex = {
   revision = 52311;
+  shortdesc = "Formatting indexes";
   stripPrefix = 0;
   sha512.run = "b65317c570c923c7b6b84c2923122d844f895657267b694b46fed2d505348833a57700e4da93cde3d5a81e7589a456eea179a455dacb7c9324e0f65d9c718c9b";
   sha512.doc = "2a3ed388473c669874b0474b9b1f45c60e2efd69e8c589a9f9086cecaeb5f1e3192fbb949c3d0b485422c7f6b49075d3db4cb8ba03bbdde0f5f77089331f770c";
@@ -20857,6 +22505,7 @@ gindex = {
 };
 ginpenc = {
   revision = 24980;
+  shortdesc = "Modification of inputenc for German";
   stripPrefix = 0;
   sha512.run = "20ea4e42fa07c21d8f2ae5d4419e6382141e6babca0b89b508744ea22d6310052f2c46e6ba0ad32b06f5623daee07a16eeaaa98378c9ad04dacb78634b9a583d";
   sha512.doc = "4e343ab469e2445f6a2fd5297ae38d1cb42d4db1a3c438885815a2e4c5d367bfae3226a628e11152826fc5e4fd28a9c4bc5c393acea550c5ab33cd854d4f3e8e";
@@ -20867,6 +22516,7 @@ ginpenc = {
 };
 git-latexdiff = {
   revision = 54732;
+  shortdesc = "Call latexdiff on two Git revisions of a file";
   sha512.run = "74077b3dd1a91a734af6d668b309f804dc58a282393d88d8d5d74a5e6fc73c197e49b462369f829cc7151e20aaf8085c0587428ed61ce7957a1ef173d92c5481";
   sha512.doc = "bfda354f808c1f94dfac207d1526409a160b89292e44541930dac34383e3ffec9ce63d04db041ea5ac529e1e01fdc80c4c64cd43e8cdc14aac974094732d6fe8";
   hasManpages = true;
@@ -20879,6 +22529,7 @@ git-latexdiff.binfiles = [
 ];
 gitfile-info = {
   revision = 51928;
+  shortdesc = "Get git metadata for a specific file";
   stripPrefix = 0;
   sha512.run = "7d3577b55f0154dd9c0a1aff3d46741631fc561b4c730a4f55a84dff361e6c27f327979638946d89ceb35370bb4051b1471481e6bd761fbed66757bc613abb2c";
   sha512.doc = "ac2083dea1ae4373ee2482f41f9c66ab93a2b66699fa01449c712c219ec0c53635230b062ba58b4107eaf7fb54fb7eed76c5b9346ffc60f6f35b18a72ed0a08e";
@@ -20889,6 +22540,7 @@ gitfile-info = {
 };
 gitinfo = {
   revision = 34049;
+  shortdesc = "Access metadata from the git distributed version control system";
   stripPrefix = 0;
   sha512.run = "099bcb4970827cd3309f88278d8ed993856d5ebdabb22c3a3f558787bc6cae46378f7a92b88c5cbaeef496f40a8adf1e0740e685d667ba2376b5852a12af9e5b";
   sha512.doc = "c5a9c948ad8cf8f2bc3cc134d60165ca4fc79117a6597a5981b39e26e25f4334f479f2bc1a0e22c52fc48794224115c0c170612c8088a414544d9f51b18421f9";
@@ -20898,6 +22550,7 @@ gitinfo = {
 };
 gitinfo-lua = {
   revision = 70117;
+  shortdesc = "Display git project information in your LaTeX projects";
   stripPrefix = 0;
   sha512.run = "cbc201f194a95f27ed11a12f555b8296dc68b4b0895ec2eec65d4f22dbc005716bfb92f46b342acddf023475a9eb7571ce3410efca50755589b6513e025cab8b";
   sha512.doc = "b5b284e2d6abc36e97aab127592c6c928d737b8d94178201191905b7179786cc6a5520364d1ce0ff92551de5ecf89aafc4ed336b145591b747d43d6380bf8815";
@@ -20907,6 +22560,7 @@ gitinfo-lua = {
 };
 gitinfo2 = {
   revision = 38913;
+  shortdesc = "Access metadata from the git distributed version control system";
   stripPrefix = 0;
   sha512.run = "7dd68c7b1d5ea49dcaae8ba1a1582676617bcfc6f5c6ba34eb1c62e60ea5b8ac3a50841a93394b640e8a79c3cfe447858fdd1630e4095683958f8d36439a84ca";
   sha512.doc = "872b7fa8e0c97e4f6e0e1989b7c45507773b4f96cd56f7aa7064376b520d8f2beb4acfe71a21e295a8a457b86fcf7521809fa59ad02875466cf426fa09bd8aa9";
@@ -20916,6 +22570,7 @@ gitinfo2 = {
 };
 gitlog = {
   revision = 38932;
+  shortdesc = "Typesetting git changelogs";
   stripPrefix = 0;
   sha512.run = "2fc9830dd1c43cf0c32fd743c9fa001287f5753dea38d8491af43803a1d98a0e09cd05641484fd2f7c47e68c8c6919c2eb9fc298ebd761166eb5b77c54d7f00d";
   sha512.doc = "c1bc22cdf9b23baec98ddba49784a09c97e9e5f8c1a471dc39b3d58d67bb3ad2559f25766debeaf613b3c4e8d8bb4b22244de07d09e957ff09a94c0254fd3e64";
@@ -20925,6 +22580,7 @@ gitlog = {
 };
 gitstatus = {
   revision = 64662;
+  shortdesc = "Include Git information in the document as watermark or via variables";
   stripPrefix = 0;
   sha512.run = "153b9df6e1629d42a1c96a4f6c4c25dbe180db8976a102d633cd54ac36b75c1650328f8c5039ebb10c7927f7d6717a9260f39b7de6c0f9f9f37fb6fcfa9dffad";
   sha512.doc = "e7741e738bafe379f71bd77aaa9b2a33c26b5da13f659181eddab01fcf8209ffbd0604d0b374368b7d814ca9608503f9e4004730871845e8f7b491e40bcb79f3";
@@ -20935,6 +22591,7 @@ gitstatus = {
 };
 gitver = {
   revision = 63920;
+  shortdesc = "Get the current git hash of a project and typeset it in the document";
   stripPrefix = 0;
   sha512.run = "c2a82b062f130225f36c66827deead41ad644512160351e216fd047b6f4bde03ee4798e5a753f319ce83b74cfe0ada5a9346b1ab12ee1058ce073ba114ed890f";
   sha512.doc = "08f5ad70d40a3eab79a260958baa2e4d75872a93a33ac3398ad54049231693d3cb4f659ea91e3a53af8c19fbf6b8ca537c66f907b4592a45b155d895471cba63";
@@ -20944,6 +22601,7 @@ gitver = {
 };
 globalvals = {
   revision = 49962;
+  shortdesc = "Declare global variables";
   stripPrefix = 0;
   sha512.run = "815a1aff9e889313854962e44c1c09a41713f4efae915a1d1a65a3f0777a4c36e9987c588c0d6f2f1ea91cfed6c28ffbe045a842ad71fd6babc91ae1bb16aa5f";
   sha512.doc = "36a8b35ad90d9fb797a03b48f8cf818c9514ffe6e7c24be157e04455559d3004ac6011e2dbd16a4c478105b39ec0d2597f74e484a1913bcb180a7209b9191fb3";
@@ -20953,6 +22611,7 @@ globalvals = {
 };
 glosmathtools = {
   revision = 55920;
+  shortdesc = "Mathematical nomenclature tools based on the glossaries package";
   stripPrefix = 0;
   sha512.run = "38d5eb1cc7337e81a1d824fcd3d6820928e06b421e1bd1141bc4cd859a32aaa1a10062e6a7a2512687245996c8848b42720085271c1cf6a24957bbe96ff824e9";
   sha512.doc = "511c901bf123984727ccf8bc4e2449738a66fe866418f23b923391d30f6ad46ac260b5684b73b89616c07cff9bec0475e3553a70ba608c58873751d9a6dcbed2";
@@ -20962,6 +22621,7 @@ glosmathtools = {
 };
 gloss = {
   revision = 15878;
+  shortdesc = "Create glossaries using BibTeX";
   stripPrefix = 0;
   sha512.run = "399bc1b809c01fd60934e28834dd7d6f263aded75bbede67507a5dc7bdbcdef725248b9a10d4ebf3cfaa981be33fd35a4ade78eb20b2b23cbf851376ad5e58f8";
   sha512.doc = "871760a86ffb9d50cd480e2cd234a9873de48ce620f57a6538b36b0c1fd5e7f11342fa435e147ee1fb47ed08b8e855eba8168c8b755ed67ed7fffcb8f0e0ac86";
@@ -20971,6 +22631,7 @@ gloss = {
 };
 gloss-occitan = {
   revision = 52593;
+  shortdesc = "Polyglossia support for Occitan";
   stripPrefix = 0;
   sha512.run = "ee68a2f0c41dac79d00a4103804ad735b5bdc78bad660d5933e61e88290a2dea17a695ea45129a672cdb301e1c89e4fc319173df1fbfd87f944abbe46f7f1dd0";
   sha512.doc = "1325b4c8c0ff8c1e53d27b5696da419f99852bd6c272176bab4e03f91bb6a715de51d24317b9cec1af50ee0ae2b34c03c51afe9cedb8903a1e8f74bbee3cc06f";
@@ -20980,6 +22641,7 @@ gloss-occitan = {
 };
 glossaries = {
   revision = 68437;
+  shortdesc = "Create glossaries and lists of acronyms";
   deps = [
     "amsmath"
     "datatool"
@@ -21002,6 +22664,7 @@ glossaries = {
 };
 glossaries-danish = {
   revision = 35665;
+  shortdesc = "Danish language module for glossaries package";
   stripPrefix = 0;
   sha512.run = "d9551aaa01e6f6720406a58f869048fbeac30fd629edd7fcdef657525dd1f7fb3faa2127cd81fb777d339ae65a1015e9cea7e5fe26a7de10db3a387152aaf0b3";
   sha512.doc = "8e6097ced6686f3f5f0162c7deb11de9acfd55ca152c8ba3d4eafe155f645f33ec32dc495e3b4f4832e33300cd63d2d4ba56d018177f96426ee72e14cc60e230";
@@ -21012,6 +22675,7 @@ glossaries-danish = {
 };
 glossaries-dutch = {
   revision = 35685;
+  shortdesc = "Dutch language module for glossaries package";
   stripPrefix = 0;
   sha512.run = "0e3d2607caa6032c8c768c1bd7c84808f6b836d6c167b1e0c720b57c3033c175269663f6e21edc248676bb2b73142c20c85cb6c3011586cf17d876e540a435dc";
   sha512.doc = "c2d6ce929bb9e7482413886967beb598b6cfb4a2f84d5a2e5edd7039b94e397ba9ad2e63954178d6fae91c5e3aeb080a68ed466b609ba0adddf98003f570cfd1";
@@ -21022,6 +22686,7 @@ glossaries-dutch = {
 };
 glossaries-english = {
   revision = 35665;
+  shortdesc = "English language module for glossaries package";
   stripPrefix = 0;
   sha512.run = "f62c43c9cb5a10fe5e364e6aa4ca500aae8b89e71f6bc80831a8c8211ca640f3631f011735ee5c82278b188bf896360b69502da2128e1db1287d24e44805ef97";
   sha512.doc = "40c30888541114f5594403ddf251f0c209daa57c6b6f2d3d75b4a51416bf3011bea70cdc5f461e80a1e148181d6ecc2b2d7c891a7c75b1c577a72e5ee8ddc8e9";
@@ -21032,6 +22697,7 @@ glossaries-english = {
 };
 glossaries-estonian = {
   revision = 49928;
+  shortdesc = "Estonian language module for glossaries package";
   stripPrefix = 0;
   sha512.run = "48eac96868bbeb636bc8d4352cbc1959829daab75716b3dea2ef98d98e388a2668a2ea1e35cc46f53e9ee030aa07dcef3e528f056f59d49883f0a00380785bcc";
   sha512.doc = "5f957f53acaf6b56e338b606843cfa2ddd16dccef6bd2c74844e514c157ddbc3c5c24168cbe28c67894afab8d115460fd497de91f0142bbec3d1987d5889925f";
@@ -21042,6 +22708,7 @@ glossaries-estonian = {
 };
 glossaries-extra = {
   revision = 68409;
+  shortdesc = "An extension to the glossaries package";
   stripPrefix = 0;
   sha512.run = "65f5a9e3aea0c8f419c530a9b989b0296830347cd0f1ad4deb0d879ac82970d546be4a907f90c917e35b7197dfa6b16fa6f1b4318a2b7aae74bbe924580fd0dc";
   sha512.doc = "f90103cdaae2e6ba00cfdc82865a4beeab9f76d364579396b8710d81a14a71cbbd6168a307889664b0a289a34f9f7f9c1c69f449b09e90669184a0159c8aaf90";
@@ -21052,6 +22719,7 @@ glossaries-extra = {
 };
 glossaries-finnish = {
   revision = 54080;
+  shortdesc = "Finnish language module for glossaries package";
   stripPrefix = 0;
   sha512.run = "ad6109c67ecfc88da631b3f42aa91b95720619599721a6c6d87b4d8a668cdcfd5bdedd333a43bfff663f5f26df64f4fd8268054dc2dca089ad34177e6e5b9078";
   sha512.doc = "ddc0047503a68316c3d2e18d22c7ebb861aacbf649366a60ee186ff31ba79846b461d3fde029bb5b0a3ce8f07ef25b89bc46898047176160815570f68b022b10";
@@ -21062,6 +22730,7 @@ glossaries-finnish = {
 };
 glossaries-french = {
   revision = 42873;
+  shortdesc = "French language module for glossaries package";
   stripPrefix = 0;
   sha512.run = "8516e94f69248238b0e94099b67c9807f02587e934e6fd2c9ef23befcfac783297cc4df71b8e41be77fdab85abcb4103435c3fd24584b46a3b473fc4489d5d82";
   sha512.doc = "c26b40d499199c15c875cdca901a3168ab72e4009a04e92f3b1ae9010d7912484b1185453d117154eb5b9e63358b36cd58aeff3d0c4727945a343be4c3c2ede0";
@@ -21072,6 +22741,7 @@ glossaries-french = {
 };
 glossaries-german = {
   revision = 35665;
+  shortdesc = "German language module for glossaries package";
   stripPrefix = 0;
   sha512.run = "e0b8e18dbe4d4e503c144be2406b99b56ef0a48847b4044665ac178dffc59d2b8ea95873ee5f2e64fcfb8379a44ee8761ee84ae44fddf996d1029372d5185d58";
   sha512.doc = "0ad0d7d8f41e52613d049fe3ec6e48d5ceb77e768c7b9ee6b3b0978eeebe6abfc803df44bbb7f90b4e487de074a2cc174224ab0e89d5fe7bc896adff495abfc6";
@@ -21082,6 +22752,7 @@ glossaries-german = {
 };
 glossaries-irish = {
   revision = 35665;
+  shortdesc = "Irish language module for glossaries package";
   stripPrefix = 0;
   sha512.run = "b59add658270f734a8fcb70bae29ac210c84472f0f7ded62baa647bdbdbcba2e63dab71aca6f8c524eae9e3d80bfa7bf96bef45bef7039c3eeff738055a93acf";
   sha512.doc = "9ce14ee4ca3ac1eed10f8c356fd6561f7ac43abcde46009a6d43245395985f045e9ecb83a38a190ea3a5cabf462a233967993bcaa40211cd7e64791dc2a583a5";
@@ -21092,6 +22763,7 @@ glossaries-irish = {
 };
 glossaries-italian = {
   revision = 35665;
+  shortdesc = "Italian language module for glossaries package";
   stripPrefix = 0;
   sha512.run = "aeeeb9fcd98e55ed64c918276e0bf0b25489538da80f96030a85225635e7e0ca3d1c93c65aba8b97b486f086a50504c257ba478bdba28de92058053dcafe323b";
   sha512.doc = "f1ee5a84c9a67b88087f657c259a3700fcd1fa4ad8c765cfae11cde2d54c4a71e69dc57bf626ead0d2cf1057750e284a31443c72e994e37a62715548fa9dbadd";
@@ -21102,6 +22774,7 @@ glossaries-italian = {
 };
 glossaries-magyar = {
   revision = 35665;
+  shortdesc = "Magyar language module for glossaries package";
   stripPrefix = 0;
   sha512.run = "66847635e1f00af9191cef210c19ed154dc1e5405ef0d2ad38485a913626ab9cd93b7c35395feedefcc04bfd1b46112e6410154c2ff26be51553619326d1e55e";
   sha512.doc = "a6bc19bf794943b1b15c8cbece363f644671f912bb71d8b2f0a9e75d05886ae4af4846c78cd060099bb78872e4d7991a9a3274fd1343a07bf73c3ba1d475241a";
@@ -21112,6 +22785,7 @@ glossaries-magyar = {
 };
 glossaries-norsk = {
   revision = 67141;
+  shortdesc = "Norsk Bokmal language module for the glossaries Package";
   stripPrefix = 0;
   sha512.run = "8e718082194eabed6a4448b89a703a3b63873286899df02824cb4582dd7fea0cf0c1496aff95139b8a4f0770d6d49c5257ca3db14b3581eb529f2a7e95858308";
   sha512.doc = "fac57f6cecf17f22de50fd360e4069d2c0eb8dc3283e00ef1a46d86827a411e15e3a2228db08165b158d384448aaf6beeeeacace05390c428bbfba3bff553ae8";
@@ -21122,6 +22796,7 @@ glossaries-norsk = {
 };
 glossaries-nynorsk = {
   revision = 67201;
+  shortdesc = "Nynorsk language module for the glossaries package";
   stripPrefix = 0;
   sha512.run = "eab5020321d14af5af78a3449dd2b99333bec3e56014b00c5c7a1a4410c26ab715ee8d3631c5a19b4356af61ee1904650704c623b7d36f783424409481424dd2";
   sha512.doc = "e123e0024f750a28fb3778ca6e4880c070524837dcca5bdb628d0b32fa647c8b2a5595a76d436567caabbe88d309a1711d81d5bef1c33542206bd3c8e56f3e22";
@@ -21132,6 +22807,7 @@ glossaries-nynorsk = {
 };
 glossaries-polish = {
   revision = 35665;
+  shortdesc = "Polish language module for glossaries package";
   stripPrefix = 0;
   sha512.run = "7ad5a924f24acb052c16436f1d1eb198bf10c65ed3f77fb8911cc8b390cf286581a6d7ed409211993545d597a4dee4318e1d9b820dca6f831ca215986ec4a1cc";
   sha512.doc = "cad7bbadda3e690ce56c75d2dfc92b02576226cb31d848b0c96d6115d18d222a50e514a6c6b5db9907d6a0e542824e229b063a0cec49dd726246f3dc5d4b41ed";
@@ -21142,6 +22818,7 @@ glossaries-polish = {
 };
 glossaries-portuges = {
   revision = 36064;
+  shortdesc = "Portuges language module for glossaries package";
   stripPrefix = 0;
   sha512.run = "64582081553f90a5000992f9db3f79aae7ddfedc6f128ddc09ec7878576b0e17a580f7c58515c2696e2c46ce1ba49c2cd756687c144d0134d91cb6c5e0506ec0";
   sha512.doc = "5f1692f14e2e4a596555cc426a556d069fcf710775d9a039f0143eddbafd0502e4f4a10e677a43589b1f91cddedba6dc9358b6015801e68f1b3d1e908e57dc09";
@@ -21152,6 +22829,7 @@ glossaries-portuges = {
 };
 glossaries-serbian = {
   revision = 35665;
+  shortdesc = "Serbian language module for glossaries package";
   stripPrefix = 0;
   sha512.run = "7360d33c1d3912802be171ecf8c218fad45719ee6dfa0596904484ebf9dcebcc0d926112e40fca76a196ec6081fafc4524c81b366008fd20207f8150dd82be29";
   sha512.doc = "1ce493838bdc59521728b6856d2cc2df26f44f3bcfcfc04d32fc20d3e416639b1420e1451acad8b8bb0597336a77b553ac599ec0c541527ab4d8e56765f07f3f";
@@ -21162,6 +22840,7 @@ glossaries-serbian = {
 };
 glossaries-slovene = {
   revision = 51211;
+  shortdesc = "Slovene language module for glossaries package";
   stripPrefix = 0;
   sha512.run = "d569d73cbaad175549fe5d4000ac73b0fb65d00598dcab0f3a7c7b384682568d21016fb50d7dc6d2f6a1b250ef34c44c784eb99a1ff042bc3a52bf1c987e0b55";
   sha512.doc = "63d212e4c04dd7c7e663de230274b9111b8025839c8136313677d13e967a23870927a49220aa1efa0702422e8ad4cf683d1e5e09fcf291873d78bcb055e24003";
@@ -21172,6 +22851,7 @@ glossaries-slovene = {
 };
 glossaries-spanish = {
   revision = 35665;
+  shortdesc = "Spanish language module for glossaries package";
   stripPrefix = 0;
   sha512.run = "6c92de5e24135a9c47d200f8f0c0ce7dff8a01f8c13bfb49d4090d1c195052559f75763c0ed68d633b40cf18bc89bc51e7b6c2aacdec05376a3c2e1d1b7a31b2";
   sha512.doc = "5fc58f64a7f54b50dcfd632e700805bab2f46a92b727853b147d9f7156b2fddd50a8fac08d0ac59bf5f89e0ecf1d5ddf7c22482e661f8a5e7b5568832168bd5c";
@@ -21186,12 +22866,14 @@ glossaries.binfiles = [
 ];
 glyphlist = {
   revision = 54074;
+  shortdesc = "Adobe Glyph List and TeX extensions";
   stripPrefix = 0;
   sha512.run = "c050808623d162ffbfba8742c9aee6c92555717eb3ed0a0cfb0e3cd6696c4f6d940aa494582011e6d0becc3c5572ddccac2598ac8d521b58a323768272f9125a";
   hasRunfiles = true;
 };
 gmdoc = {
   revision = 21292;
+  shortdesc = "Documentation of LaTeX packages";
   stripPrefix = 0;
   sha512.run = "cfe29d7bd5e7936c2a40292fe2518dcd79dbc105f08d3f0dfa11ebdc4693ff207a1b312e6160fad4c089bbe5012697bef1122a893b1d42d59fc39fa5c48d2ccf";
   sha512.doc = "68825a5fe89383d68b2829bc7e2fe230d717104a2ec56010bc7e67fcb14f9191bf47594cd0387b490debb5e752670048404a7985ab0b5dc039f4764d7926192e";
@@ -21201,6 +22883,7 @@ gmdoc = {
 };
 gmdoc-enhance = {
   revision = 15878;
+  shortdesc = "Some enhancements to the gmdoc package";
   stripPrefix = 0;
   sha512.run = "481bed630ec444fda66a22656c2cdfcbd931a6743823c36f570ede09038ec4f219ecd1985243a4fc8d852f38512c6b369227f559d3874447144e0cd62d7949a7";
   sha512.doc = "0cbecac4ae6f70ed01a407a9e5fa388f2c142b7bf77d219429d6685bf7d7c6bb3f324694286e6fe49bc2eff287faba901b7eba44f8bde1894e8cb09527c289a8";
@@ -21211,6 +22894,7 @@ gmdoc-enhance = {
 };
 gmiflink = {
   revision = 15878;
+  shortdesc = "Simplify usage of \hypertarget and \hyperlink";
   stripPrefix = 0;
   sha512.run = "768353fee03e36d5f13e5ea8ca2cf0925fb5dc3c847680325a0961b78a3ed6c30859bc57de7b927cd9e782f85539c97183687755c31738e1da3cc27a08f52387";
   sha512.doc = "4fea41151ea197efdacd9e5756043b87500af8445769d0d0f69560cb94decd4f097bcdd52041706ada9b1ee7826f3c56aa30db473c472b1c74553cebb5231072";
@@ -21220,6 +22904,7 @@ gmiflink = {
 };
 gmp = {
   revision = 21691;
+  shortdesc = "Enable integration between MetaPost pictures and LaTeX";
   stripPrefix = 0;
   sha512.run = "79ec2dd12610086eb5e7b582f5296fe7f1101c20b6d4edf10d47c5dbcdd506ff7c5f326af7600287a148031be060b3e8319d20d8267933b94b6c8a53e7753bf8";
   sha512.doc = "d3d4bdbc5b1c4618820247ec101e43c1c28b9e023e7613d5256456424fa95a54f23463ff1336f2586359a6078aa733de77cd7ccb892b367cdd00215ac7b67512";
@@ -21230,6 +22915,7 @@ gmp = {
 };
 gmutils = {
   revision = 24287;
+  shortdesc = "Support macros for other packages";
   stripPrefix = 0;
   sha512.run = "af0fa2ec7a3ce1414bf5d48d0bd8ce9de1b96b2bfa4f9c2babc6b27c52d11a7e5024bcf66938f3566cf6cf331b154f7eb4ca9d1cbe7109cde939829ea5be55a5";
   sha512.doc = "f1d6205f39f573b0c9b28f0ebca03b32e20e27c0be12adeb7eb23e12daf41a9590733270661aa29d6b8393dc87855f293437617cd8598f39082db8a33e9281ac";
@@ -21239,6 +22925,7 @@ gmutils = {
 };
 gmverb = {
   revision = 24288;
+  shortdesc = "A variant of LaTeX \verb, verbatim and shortvrb";
   stripPrefix = 0;
   sha512.run = "18038202bca3493596925d9d7c65612434ccddde4b301134f1f57706e5d2978025fead598751e27a29d23f66ed12306e6092461aac1d9d921ce818b0a49cdfbd";
   sha512.doc = "6dfcc27b38639d4a97ed311bf7c6f1faeb1a023abc27d53e272f334b232a52aa0edc030b0c53d6587845da64097496696ceb03cbd6aa13c8ca5ac12c1772860c";
@@ -21248,6 +22935,7 @@ gmverb = {
 };
 gmverse = {
   revision = 29803;
+  shortdesc = "A package for typesetting (short) poems";
   stripPrefix = 0;
   sha512.run = "98692f781fead4dc292648153ca18a05d03f2c44174bce8b2f72e85fd1e98cb5ef0fb67c12f33dc982f1d04958873ea4e78f486fadb0c94544ecb66180ee52bf";
   sha512.doc = "7e37c0c2e8443aedd6462251f603e2eef9cbacc45d980d79bf42cdc64b7ab0a5d81f50ae65251c17115265c45e641a5930de640099f04dc8112155f68ce9adf0";
@@ -21257,25 +22945,28 @@ gmverse = {
 };
 gnu-freefont = {
   revision = 68624;
+  shortdesc = "A Unicode font, with rather wide coverage";
   stripPrefix = 0;
   sha512.run = "8889c49137ab983c2744a6ec26dab4c1cdf2de3e6809c620b5f2fed51d3025bdc018a9d85b93b85235053d6c0f672f8cb1c074e64b8cd971d53dba3535d212a7";
   sha512.doc = "232e8d0be31f77adbb62383da35e1e37d7b952cc2e6157d6eeb4cbb7d5e1dc0794d9fb3185e68073c5cb2980a3d5a6c447f878ea8cd45c7e2b806afdab21f8b5";
   sha512.source = "b81ca0245e9a7b1bdfb0745ade7cd9da0734a407dd8c5cf3859a7fa269b949f38a3ca18341b6ff0e1c3d99ca04282ed6dd9fe2923901a06506fc9bd6b677006e";
   hasRunfiles = true;
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
 };
 gnuplottex = {
   revision = 54758;
+  shortdesc = "Embed Gnuplot commands in LaTeX documents";
   stripPrefix = 0;
   sha512.run = "5bc237b3bfa3b31eb4d6d2fb63280ab89fa929b531ec83dec362947f49ad0316b9107abe3a876f79e4c5b283134c859e4908b300a592aa69fc7ea20b80af7fa9";
   sha512.doc = "c0e56811b5b4340c770d61ab605961bcdd5ab1abf72b9fcdb0c13c5e56a7481944aedbab70bf5d2daa90751528f0b9d7efd04a1453c08a4a6e40a46a41a1296d";
   sha512.source = "9db5deaac39afbef502db7cca3c28d0669803af3d927d6650ff39abe365c39be8dff8d7ae7537ab139fe747b7acd7e9fbc3a66dd30ac8495f30dff143dcbdb5e";
   hasRunfiles = true;
-  license = [ "gpl2" ];
+  license = [ "gpl2Only" ];
   version = "0.9.5";
 };
 go = {
   revision = 28628;
+  shortdesc = "Fonts and macros for typesetting go games";
   stripPrefix = 0;
   sha512.run = "772772146ad95f2ebff85a2f3064615c26300a6a4050c1a6c7207d53e12b41477b0936b1c3d182f1c5db0aebd8499de19e0c23283c2bccf753addb2623dfd1be";
   sha512.doc = "c65516b11156d4fef5104a36cb361bf59be244555233cb5d9692892da06d3bdecd0b09866db136aec177a2bcbacfae6bb41c606f6b9da0329a00c614055905d0";
@@ -21285,6 +22976,7 @@ go = {
 };
 gobble = {
   revision = 64967;
+  shortdesc = "More gobble macros for PlainTeX and LaTeX";
   stripPrefix = 0;
   sha512.run = "a3490d91422940763da75ce023ae032a3d3dffc7114c02edab40399a1ef11e5fb2c3f8f3bcf27ba5fc089b4d961bc3b99f45351f43eb2f4b31d6a425a9df40e5";
   sha512.doc = "cb1bf320485624448d9456c44056fd5c43792db4ef2a4211c37acbe54bc4be7a8eba0b7cd2a10446efd1591b631d6a3adef26b5440b1a79739af095a831b4300";
@@ -21295,6 +22987,7 @@ gobble = {
 };
 gofonts = {
   revision = 64358;
+  shortdesc = "GoSans and GoMono fonts with LaTeX support";
   stripPrefix = 0;
   fontMaps = [
     "Map go.map"
@@ -21306,6 +22999,7 @@ gofonts = {
 };
 gost = {
   revision = 57616;
+  shortdesc = "BibTeX styles to format according to GOST";
   stripPrefix = 0;
   sha512.run = "13bd2ec15fb4b61fa1a318092e27f9e94761af1fbb379e52c5143f10802a4bb77be35f152e33973d078e7e3d4554f89f66fc344a7efec9d5a1e0593f4eea0e5e";
   sha512.doc = "af9cbcd39b0ed78157040634ea949152f972a02e2b19c4ffc679decfc4d76b161b591ebe915298bdb6927bfdf70b6a6e80bd119f52355fceec8829b20909c4c5";
@@ -21316,6 +23010,7 @@ gost = {
 };
 gothic = {
   revision = 49869;
+  shortdesc = "A collection of old German-style fonts";
   stripPrefix = 0;
   sha512.run = "0c3fafd295fb087d3ace144df7253ff09fb3d79091dcd49003964a7ce57308cb4e86f3c3158a5e3d7e509e9958f77d5cc6da03fc41b585ec4ea397822ac29a7a";
   sha512.doc = "8f2495f3f9c72e5a5b01e17e1a9f80bae3ded97b902765dd2fa9b43ff87769a9ac2b972aa660344bcc8e29af3824985c49639477ee96213c0ee7d9d411e8ebad";
@@ -21325,6 +23020,7 @@ gothic = {
 };
 gotoh = {
   revision = 44764;
+  shortdesc = "An implementation of the Gotoh sequence alignment algorithm";
   stripPrefix = 0;
   sha512.run = "478d51d4f8af849180d1e21ea21c6404f6eb1d13cd70d232f7002f62a588ed2de40e2950699c1bc0e5442069a957b05f3128430ef421311737cf55a6df868a12";
   sha512.doc = "3aa9837e81bc59adaba5b1cc3908738451fefe2645bf1422e0c6b119e4ff94ad85a7c2ddbae798e1e1ced95a530ab95b2f7a5a92da827c9f6d9bdc574b5f3231";
@@ -21335,6 +23031,7 @@ gotoh = {
 };
 grabbox = {
   revision = 65223;
+  shortdesc = "Read an argument into a box and execute the code afterwards";
   stripPrefix = 0;
   sha512.run = "f592b70d4b3bf02e442725ab3a17e3ebbfd3e69d7a790c01be44fa7dbca66b6df76d036b3aaf9f8ce4944bcf370dc626a07e94f5edeec11eb8dbf04c49bd3ff7";
   sha512.doc = "52e91ad758b653bf6ed804009f3aadf575925f9ce4f52225c1d5e1fb30a79907a587914b265471ff7bdefd5132b6b2d6baac6062193f498e127fb29c34107fd4";
@@ -21345,6 +23042,7 @@ grabbox = {
 };
 gradient-text = {
   revision = 65567;
+  shortdesc = "Decorate text with linear gradient colors";
   stripPrefix = 0;
   sha512.run = "87ecc935dec50f43fb4079a86c0fce5de8d4222f941f346ba6d9ec67bf3c623351fd42fb88989e4d1de17c36a82259aa61b7baf9a9227eea3f8e5caff3ab8bf9";
   sha512.doc = "63894d303192ea56d1f29b33ed8722352a83e6fb58f05c639a9b930794ed5e7f2634690c5049dc62989e286464fc9f48d537e77fca234061dfedf755231b59c6";
@@ -21354,6 +23052,7 @@ gradient-text = {
 };
 gradientframe = {
   revision = 21387;
+  shortdesc = "Simple gradient frames around objects";
   stripPrefix = 0;
   sha512.run = "31612230548e2167c7f1d6a13029ecc202675d6ae3e681fd915d38aa116374214916155453616da51ef3dadab06955fcbfa9bc383f12b5008adaa8a60e24e6a1";
   sha512.doc = "8b010be9e222609d13015176dee4bcc196d953caf7a8c1814e49f9e50325bc33362975338241bd5cef27d59516114113bd5ac81e3dcc6e89ea7f4d53465b3cff";
@@ -21364,6 +23063,7 @@ gradientframe = {
 };
 grading-scheme = {
   revision = 62505;
+  shortdesc = "Typeset grading schemes in tabular format";
   stripPrefix = 0;
   sha512.run = "d68e5f9110738f2ac7258c312045b40db3ce20ea8fd80e6feab47164091cf2dfa460ff7ab5fc794cfe2895f5df5733ed67429f3babafc448448aa99d52bc9ee0";
   sha512.doc = "337f873bbb07432ec9e5c20484d82e65d315921411757c295af78e521075a16044943f41bfe6daba9f0efca56d33b372ebd177420d13284a44b0251409277ec4";
@@ -21374,6 +23074,7 @@ grading-scheme = {
 };
 gradstudentresume = {
   revision = 38832;
+  shortdesc = "A generic template for graduate student resumes";
   stripPrefix = 0;
   sha512.run = "b66b3b8f7cf16f17758e4dae3bcd45f6e6e5cbc0dcfd6fc42f8dbc08abb572f16b96d5de4ba634b27cd16a1c4177bc62644d3eb5ac6060e66d9ca6d3f5df4eee";
   sha512.doc = "e7b166b87a5dce9941d6bd931dec91124a118ba127075aedbe70fc9fe415a8083911f90f094ddede551eef197baee9cfa4ab6ac65c8ae081cd8938f872ad7bb2";
@@ -21382,6 +23083,7 @@ gradstudentresume = {
 };
 grafcet = {
   revision = 22509;
+  shortdesc = "Draw Grafcet/SFC with TikZ";
   stripPrefix = 0;
   sha512.run = "d322b1b45762c65232f6f66adcc12955d85d4bfddc08655cba8e11903f6403f2031a78d7e566f4d9b5eaf950aa8d2a53472038e204a1d18517c754c379c60bc6";
   sha512.doc = "b02bfb612cd5fd85c1839307a016bfc4c3d472ddbd591d1318bd7c5fcca42cc1200da07f2105ec429768cb0f9270273425b01df1242e475946bd37658e692f41";
@@ -21391,6 +23093,7 @@ grafcet = {
 };
 grant = {
   revision = 56852;
+  shortdesc = "Classes for formatting federal grant proposals";
   stripPrefix = 0;
   sha512.run = "212fec263131499530ecb81d7dd23ad5d162928d4bf8a888b29c190f15d1d15df71f50ba5c243cc1cfffd324cde3362e98d2932e7562f69cdb77eb09025ac7cd";
   sha512.doc = "5170e7f01087c8198220977c1c5bef2bcd2d1a2b824122a9727fb1504576433d682caaa6c9a93454aab756dcf654875fe129c0fbe32452934b1a8b08fcac079e";
@@ -21401,6 +23104,7 @@ grant = {
 };
 graph35 = {
   revision = 66772;
+  shortdesc = "Draw keys and screen items of several Casio calculators";
   stripPrefix = 0;
   sha512.run = "6449e4a42b8de0556d9ab46b3c5f4e0da94fe015b289877e1e9a5ca6f5e84d2f0d621e8f02bf4cf3959807f830f2671124e725147fa033d25444eb14048fd77e";
   sha512.doc = "bbab6b3a5a8ddf69de43815fe54a29ea376839f0dc8e1af47cfcdc55cbeb6ec93005c1c137fe717b8b5c81ca5ac87e0d2d7b0f181608fa1d7714ac2aa37f1e3f";
@@ -21411,6 +23115,7 @@ graph35 = {
 };
 graphbox = {
   revision = 46360;
+  shortdesc = "Extend graphicx to improve placement of graphics";
   stripPrefix = 0;
   sha512.run = "d78f870b4cd54f7c6819413fd8acf0e3e1fe9b3b44f3b68ff3a20ad51aa6fde69c52b336b57285db1f6d5465204beb8a1179f918a71922889297cf6925282d14";
   sha512.doc = "342c9018116e80ebf3414358320df55e456581630e7e266ff868e6c624baec0b7209ad3895d3232cd0bf35a9677b8c3db800b7772606afa928ed3424ac16c71f";
@@ -21421,6 +23126,7 @@ graphbox = {
 };
 graphics = {
   revision = 66204;
+  shortdesc = "The LaTeX standard graphics bundle";
   stripPrefix = 0;
   deps = [
     "graphics-cfg"
@@ -21434,6 +23140,7 @@ graphics = {
 };
 graphics-cfg = {
   revision = 41448;
+  shortdesc = "Sample configuration files for LaTeX color and graphics";
   stripPrefix = 0;
   sha512.run = "e1015d360b56f63f1b9790daf16e2101e6af995bd1e45288ea604ae94e20196cab22e7e54d318aa79fa386123032a928be70a57154d409321e04f03ecf97ab75";
   sha512.doc = "dbcfdf635c2816f305205915119e1f6acba816c17b683622a8a32c361d75338376426b258c1fa3271abc1d7ad2a520ac85092a7b3bfbac6463106449bc906ae4";
@@ -21442,6 +23149,7 @@ graphics-cfg = {
 };
 graphics-def = {
   revision = 64487;
+  shortdesc = "Colour and graphics option files";
   stripPrefix = 0;
   sha512.run = "7f811afae5119a42f97c23f65bfead8e7ba7e64796688b219eff78914115f8dbffa6e3aba97208f67d38b6463819ed2cf49e173aebcbe73aef8c2cf399ef803c";
   sha512.doc = "b52099d553c2bdf52ddb7b50231303f106db445d58e675ad819dd0dd84750f0fc6d164fa21deb1f622644a6651e6bdbe41ad3362fb021f4a7da2e7599fe0a526";
@@ -21450,6 +23158,7 @@ graphics-def = {
 };
 graphics-pln = {
   revision = 68760;
+  shortdesc = "LaTeX-style graphics for Plain TeX users";
   stripPrefix = 0;
   sha512.run = "33c1b9a4db0c564df07360c17ea89a7cabd557b21e2703e68532388f7b977a2f99f12c6d7002e9297b8e35259a42fb713fa0d2c49e6c9a347845755186437c24";
   sha512.doc = "27600b6127990a06a75ad8aea49a86b8f16b68ed306ca3ec54762124af02ddd1859adb714eb0dadcacc652578427d230d37416cf3326f567239dfa4b9d8b53e8";
@@ -21458,6 +23167,7 @@ graphics-pln = {
 };
 graphicscache = {
   revision = 65318;
+  shortdesc = "Cache includegraphics calls";
   stripPrefix = 0;
   sha512.run = "90e4df3ce08bc12f0d5c2e8b66687c79fe7b791708bec5990f8e11590b64bcdf50ec393244ee85af7bd6f644787d56626f08c31fb1ca1b354b64ffb5527a960e";
   sha512.doc = "749c11a534cbad3f32a7840097e6d42c70f99aa684b5971ccdac4e6a0bd668465ed4a7850bbfea61e14d396440754bfc0d1fe45a9ce71a57908b1c94ddae5444";
@@ -21468,6 +23178,7 @@ graphicscache = {
 };
 graphicx-psmin = {
   revision = 56931;
+  shortdesc = "Reduce size of PostScript files by not repeating images";
   stripPrefix = 0;
   sha512.run = "d0cb1283998d0ba654ec75e0696bb2b6102968a504e3dee457826cdf82d7cc5793dc8407d0145f314a780b3e015a7be49e70ed21c21e68a3735bede1aacde6fa";
   sha512.doc = "149f130b4e47f60ed3484267486033fa92aa7529169061a2dd9582daef579b6aeaaef4001261ff7bc301c17ef2817bf7bfeef909d22be44079a2c3c145c92040";
@@ -21478,6 +23189,7 @@ graphicx-psmin = {
 };
 graphicxbox = {
   revision = 32630;
+  shortdesc = "Insert a graphical image as a background";
   stripPrefix = 0;
   sha512.run = "032168dcdd5eab142cd6bf24eaccc3fc6482e3eba7e0fd2600322b4a6f2bcb1ceb8e30a64dd811b500af37c94e7de3ec25c60c437ba9afa7ba4d8a9af8b79a19";
   sha512.doc = "6fd432f48c05c486963b8058025dda2a65b5cfa87b6ae03581009dcdeafd26396bf16e04fecd0e68a896a99d5c3e09e43902bcfd3f58fa9a9b393cf64406e160";
@@ -21488,6 +23200,7 @@ graphicxbox = {
 };
 graphicxpsd = {
   revision = 57341;
+  shortdesc = "Adobe Photoshop Data format (PSD) support for graphicx package";
   stripPrefix = 0;
   sha512.run = "c1327b1adc6657f423bf8eb0d29224773055f434cf749da8a8b2d1713c2a90a6fdeed2bded223c7cc941cb2b7403cb68927d72b0eb085e906750ce64ffcad3b8";
   sha512.doc = "082a8e580113ef796be4cc750d98f6dd0bf783298fef80a06f5387f352183d513e0d8b90dfb684bcaa575ff7b9307fe11e55f84aa66d7f29b411e06af76e70e7";
@@ -21497,6 +23210,7 @@ graphicxpsd = {
 };
 graphpaper = {
   revision = 63116;
+  shortdesc = "A LaTeX class to generate several types of graph papers";
   stripPrefix = 0;
   sha512.run = "1a850300bad30f7139032bf12c26cdd120e62342e09d7d742067c2f040f171a5a20bda2d57fad0aa769d0a337cb7373cf0f5f4d3932ed65ae589e4feecdd5738";
   sha512.doc = "dda173040d6d492a96e8ecfc374f1a8f01b30689f6f97be6c2c530f2653c70340c7f8c2181fd4a854f2b25e5b4b835f67056b1a95892fb328d8f5c75152f36e0";
@@ -21507,6 +23221,7 @@ graphpaper = {
 };
 graphviz = {
   revision = 31517;
+  shortdesc = "Write graphviz (dot+neato) inline in LaTeX documents";
   stripPrefix = 0;
   sha512.run = "9065f2316f423697c8f815ddcf91254f22e44d89964196d971c3a42192bb1e20f9152c5a98375060daffbb295f8885899d2800728de31ecf60e1a25cf7bce31e";
   sha512.doc = "688f17db6771785753797edccd141470517dbb2ee875e2a70769754bbd314cf8af46b3dd89d5c340e7da7d81d86895894baa2b9e8facc0a54ad91cd1a3947722";
@@ -21517,6 +23232,7 @@ graphviz = {
 };
 grayhints = {
   revision = 49052;
+  shortdesc = "Produce 'gray hints' to a variable text field";
   stripPrefix = 0;
   sha512.run = "45d0736b5b600aa3ae524e0ff2471846cf48105464710fc7bb7f8d27326275d1accc63b5a0726c5d43e5af487207eba105e1d5e4f59913a1b27d33e950122574";
   sha512.doc = "85a6b8e44ec045ec00b7526f034e5b15d71fc8e439bfbbd43e1c8f85d4400318d8dfeee4bece211705c351e2b5afc9ddc89073fa14c1d90756bdf458d7b5b100";
@@ -21526,6 +23242,7 @@ grayhints = {
 };
 greek-fontenc = {
   revision = 68877;
+  shortdesc = "LICR macros and encoding definition files for Greek";
   stripPrefix = 0;
   sha512.run = "24aded84aee9dbe4674a019fb3ffbe0d48fb51d88908e532cbfbafbebd8dda63ac6d2d47c907d32063bd57c3c9d90d51b1e8f1f59ee4fecb451f20002d4a1115";
   sha512.doc = "67f22594152f543a1b59e91a49168b92d6e9870f0c362a69746c6d3ac9fa4918980df4708bf1a6697fedcfd519153b9a29d92114b6567a2ec03e65210eba3d7a";
@@ -21535,6 +23252,7 @@ greek-fontenc = {
 };
 greek-inputenc = {
   revision = 66634;
+  shortdesc = "Greek encoding support for inputenc";
   stripPrefix = 0;
   sha512.run = "47dbf3388943440918879234037ddb08a8ea7f2851945273af2a01b032484e849af3898860f1daced148b770c4146701a987afe3ba3b8b66dd030bce36c4006d";
   sha512.doc = "2f85fc72c0415b48fd74ebe9d19e5ce86440c57c08038e96a2d99673143f2848bc347e95f7beab7753d0921414fc635aa9b4f98eafc91fabf64155a55a407bee";
@@ -21544,6 +23262,7 @@ greek-inputenc = {
 };
 greekdates = {
   revision = 15878;
+  shortdesc = "Provides ancient Greek day and month names, dates, etc";
   stripPrefix = 0;
   sha512.run = "7f350b4db9578f9020b28bc217e508574b697749c1d2e10c9de9c6499e26605da8334583ea7fb56d74bae77bc30e5835653014f5f8f594d3f35d04478ccffa9c";
   sha512.doc = "979353f7cdeb127e12388e1eeea4903a929d911f6f8fd42cd814b6cbea09a64d0ab9c8118968bf218330dfae64f9147621d23d2955fb85291f484d0b5eb92a00";
@@ -21554,6 +23273,7 @@ greekdates = {
 };
 greektex = {
   revision = 28327;
+  shortdesc = "Fonts for typesetting Greek/English documents";
   stripPrefix = 0;
   sha512.run = "d7aeb9640061341ed39a71f7f69036f892bbe60b9db2236660e163b42fede81d6be58627b0163d3a183c120c9c8fa54f91a1a036ed9e50d2a72d5eac7f8a79a5";
   sha512.doc = "b58305d403a58a60ac0cd6ebb60afe3058430eae15774895e03e41b331824673c128c5f06b583525e2311dd8ee5166549ea831e756e8c934c73ae911a0adbaa7";
@@ -21562,6 +23282,7 @@ greektex = {
 };
 greektonoi = {
   revision = 39419;
+  shortdesc = "Facilitates writing/editing of multiaccented greek";
   stripPrefix = 0;
   sha512.run = "a19dd42de4bfdc3c068169bbf32c55fbd76135a8138d41e0726b421d3cd5e20483f77d7b78f85e54571381f780568f1fa1ebc57d23ca460b33e4caa256c4894a";
   sha512.doc = "94da0bcac7b513fb9f720c0bc6d7ca8d822956b1517a95335b415e477d3144063bbff65d57978421b6b9611c6b4a866701762cbb2ab09351fe6c5d02e4b02f39";
@@ -21570,6 +23291,7 @@ greektonoi = {
 };
 greenpoint = {
   revision = 15878;
+  shortdesc = "The Green Point logo";
   stripPrefix = 0;
   sha512.run = "2ab6b0a9d12c12936362e9e1ff387c393bcd2e9769357dbc74a5d9bcbbe027424f5d58d85d608c2c519d615f01e6e809f6192280c8c60aa53fb8d96dcbdeb8dc";
   sha512.doc = "84143440a421999f0a59461652be21d49d8ace66fd3b8d9d89132c6f06f67ef4b571522d6ed54d87f614a15dceb99cdf4c3caecb54eed9a4bbf49401de20ada5";
@@ -21578,6 +23300,7 @@ greenpoint = {
 };
 gregoriotex = {
   revision = 58331;
+  shortdesc = "Engraving Gregorian Chant scores";
   sha512.run = "00dcd5bc7c12374a15d778cb903715036bd29a7a07522446cb5a5cb14509956db71df518d97e44d1e89366402281c26b96eaf39cc9f97d624ecb40107eae3db4";
   sha512.doc = "67f018fe0eb9568b0ecc6977de8eb8fc1b0b9503372e2f674a97723c537d8a8fb4f48d48b95ee8979e4d4490d3725cf4a1411ab9d7da2ea14f72d0dad0fddd95";
   sha512.source = "0ae6211b33a256f1b10a2b167f3f5886f712688ae73baf13f698af37f69f83a9be754efbc6b0d5b3a1cdf11e7d459a98986b27c27b6318cba8fbb3e48d7f682a";
@@ -21585,7 +23308,7 @@ gregoriotex = {
   scriptExts = [
     "lua"
   ];
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
   version = "6.0.0";
 };
 gregoriotex.binfiles = [
@@ -21593,6 +23316,7 @@ gregoriotex.binfiles = [
 ];
 grfext = {
   revision = 53024;
+  shortdesc = "Manipulate the graphics package's list of extensions";
   stripPrefix = 0;
   sha512.run = "a5f68f2bb2ea26d4b8f963a1b8fb8adfb3bd32e3a139dca57e6b45d80fcdd94c5e846549b1292224b9d845fd6a4d0ee56d4c2d2fbfc12c24806eca8551b9dc96";
   sha512.doc = "4337ae578d9e524e2da8564a1b736eac1dd50c1e4495d027c44f3841eb65c6c494527109e32f00844c17a5973a94572569a429ceb95beec98d2b19e84735eaaa";
@@ -21603,6 +23327,7 @@ grfext = {
 };
 grffile = {
   revision = 52756;
+  shortdesc = "Extended file name support for graphics (legacy package)";
   stripPrefix = 0;
   sha512.run = "3f1f5e4f258e4ab1f51fdb44fa0b49e80df21a6c35dccad16a6b70ad76489cb4fdfff7e6c4dd07821c54543fdaeecae32cfd8037d4920ce60db02be9a2f8fa07";
   sha512.doc = "2f2285ad44d0c585cd02b85359eb31f885f7c704f6da5f906240c1094ef8d347d33ba6beb31cf34e09a5e39e618a27a7ea263a63d6a887638d8f761e3cd4b61b";
@@ -21613,6 +23338,7 @@ grffile = {
 };
 grfpaste = {
   revision = 17354;
+  shortdesc = "Include fragments of a dvi file";
   stripPrefix = 0;
   sha512.run = "e7c28c38a20e01b05c5839dc7d011ef5769b3344fd4321f68e1189a830a90e6ccf9edd596e248489a0a578b2aa4e5e5f3bd1ec21c76b3dba86a91d5e431d0617";
   sha512.doc = "63719b8f7904baccddc9e68d1fc7d609453b2eb9feeee95bb077b82d1345c40db7a92c649c3d9abae6b9c2e19090163b6a227418f4d9d4d91b1e8b1c0438005d";
@@ -21622,6 +23348,7 @@ grfpaste = {
 };
 grid = {
   revision = 61719;
+  shortdesc = "Grid typesetting in LaTeX";
   stripPrefix = 0;
   sha512.run = "312b142c43ef4bb9624fd6589d086d733593dc0d387894bf58749b3f6251f33df415656b974935352a0d4fff090953f136d0353b98329ed3051ad179708af12e";
   sha512.doc = "c3559726bf89f766b0d95e3b493046ee6b4c0edee43e4c581adb150e6ad5358ad0a1a3a67b75ea1095f2da87393734972a59693332de10b7b459579a7f73e534";
@@ -21632,6 +23359,7 @@ grid = {
 };
 grid-system = {
   revision = 32981;
+  shortdesc = "Page organisation, modelled on CSS facilities";
   stripPrefix = 0;
   sha512.run = "b9846f467854538c488ae444645fcfb962c1aece34e3847dc3dfdd4a2aadf8339840c09243448922ce184f6211bb3b95c6fe9675b5bae0e3b3756b2787e7e87b";
   sha512.doc = "659b426e99db9152c64f37a4c977176ce1a24c324465399f3e481cffef505044aa820f1a445a79c68f069702c07082d3d5c73c5fa762068a44acdc21221cce68";
@@ -21641,6 +23369,7 @@ grid-system = {
 };
 gridpapers = {
   revision = 58723;
+  shortdesc = "Graph paper backgrounds and color schemes";
   stripPrefix = 0;
   sha512.run = "17f9b6b16a0d2f45648b131623c243e0b62f5e2d2fb1c1997af921a1307d941ffb07729d5e4787b4627961160a75de98165e97a42331b07a3259e91c987f27e0";
   sha512.doc = "0f4fed3e0d17f317f3d56f69a7100d36ac6d022f7c7c81c8dd0bb1f740f782ca5a4064cc2c80daf865c85e7ee84027a97fe675a13f9d0d348e489a2a8afa2ed9";
@@ -21651,6 +23380,7 @@ gridpapers = {
 };
 gridset = {
   revision = 53762;
+  shortdesc = "Grid, a.k.a. in-register, setting";
   stripPrefix = 0;
   sha512.run = "296200c463b67ce45fd7c9625298b5e0b83b730055830b3affcdc0c329a2ebd5f89c5da93e004b056efb63f8e43771824c7f0adfe435461943cc68aea4bbc480";
   sha512.doc = "54fd48dce732ee11a7279eb663bcadde958f2ec9d3307194000dae2ced43f604a54e44174ca36dec389c9ce8e5e0809849b5c66aebd9527337ea3273353142aa";
@@ -21661,15 +23391,17 @@ gridset = {
 };
 gridslides = {
   revision = 54512;
+  shortdesc = "Free form slides with blocks placed on a grid";
   stripPrefix = 0;
   sha512.run = "9f9c3fc88cdf9e3641aae264eac0c116c3dc410ddab4c688521289baaf67cb4c8c605c734fbf45538b6498f7c337aeaaa4b90d2584c6becf06a97b81894c63c9";
   sha512.doc = "ea3a2ed6334a5e160cb27b096e0868aae28908f77d67626b9d1d86840e615bf1b296ff5813ef5ed24ca0435eea39f4afe601216f243f2be585eb952f4df33255";
   hasRunfiles = true;
-  license = [ "lppl13c" "gpl2" ];
+  license = [ "lppl13c" "gpl2Only" ];
   version = "0.1.1";
 };
 grotesq = {
   revision = 35859;
+  shortdesc = "URW Grotesq font pack for LaTeX";
   stripPrefix = 0;
   fontMaps = [
     "Map ugq.map"
@@ -21681,16 +23413,18 @@ grotesq = {
 };
 grundgesetze = {
   revision = 58997;
+  shortdesc = "Typeset Frege's Grundgesetze der Arithmetik";
   stripPrefix = 0;
   sha512.run = "f9912e5daab42e6aaec946ea34f420acc194ce88ef75135ebedcdddd5f70fbebc81c250f3368bc8f65cf3952d0229fc450ab40b58bd02473ae4eecee783f3f09";
   sha512.doc = "7dfacbd4686f5296cc1f677b99f42946f6ba1e761454308568ecb013df3eb0a505273e1cc357d11780f7d4762d03007ab44b87343062c50666bc8e89e1512ed6";
   sha512.source = "dfa00982121cd247149768a95ac8555a2061ebfa1bcc154ff944d07843d213ab7c7bf0931cad3dac118cd995abf0fcfe03f12285e2e7fc3e808223939d4c1d58";
   hasRunfiles = true;
-  license = [ "gpl2" ];
+  license = [ "gpl2Only" ];
   version = "1.03";
 };
 gs1 = {
   revision = 59620;
+  shortdesc = "Typeset EAN barcodes using TeX rules, only";
   stripPrefix = 0;
   sha512.run = "d12c13d30c9e0303bf6c6bfb833d673cf673de3c60cb9d637aeff80470d34e04653860e2186c16c55660faa107bf583409a9891ac8d5ebf1612c8410cf60d10d";
   sha512.doc = "b3757db8c56cbacb87bd17d578be51321b0ac06a3cbcd75b136cdf52bc66a046f0db42af84e5fc33bd347fb52950448a352027713ad01263fe6344a75576efde";
@@ -21701,6 +23435,7 @@ gs1 = {
 };
 gsemthesis = {
   revision = 56291;
+  shortdesc = "Geneva School of Economics and Management PhD thesis format";
   stripPrefix = 0;
   sha512.run = "42d5d8461d5f8ccf461e24d04fa61991507eb545a60b7f7bc3980d39c9f767aa155164cbb914ce961204316b1be61f5622f21236154013c6404a86ec30ec18ce";
   sha512.doc = "3497f766bc496369a2eb9f829b8ba3f0d73bfe7ac11c4afd7f9ce06c21f9aaceacdee0456a14624ffb38bafeb978c5a4787ce824143693e4c3d99a227a994cb8";
@@ -21711,6 +23446,7 @@ gsemthesis = {
 };
 gsftopk = {
   revision = 52851;
+  shortdesc = "Convert \"Ghostscript fonts\" to PK files";
   sha512.run = "cb9aebd7428d10b627d80ea40d297f3e6de006859c7dd713478ff193458494f90017ecd0737376ac1f47638b059e02e8a46ea53a7c56b8561af75f770e214413";
   sha512.doc = "0a597e2908438fc00fc2bafa7ec635a82b70aad9d7f7e86851a654c0b72b719b8c550be0c20ecf6c8d96627863a48e6a387156ad2c7e71d1e296dd4937d60805";
   hasManpages = true;
@@ -21723,6 +23459,7 @@ gsftopk.binfiles = [
 ];
 gtl = {
   revision = 69297;
+  shortdesc = "Manipulating generalized token lists";
   stripPrefix = 0;
   sha512.run = "18cac75f4370c759fb74079c6647553f5d91a8aaab946c46a54c40b8ed757e3c14fbb2f2f5b375e691c8599a7f7d3ca4ebc5a748f18ad35e507305a5e5d8f73d";
   sha512.doc = "ca1fd56abaf08f10fc6c830b51d799a71ba00c11d94e48619f6ac44f151920e8e53df450c23426a860266d5c6347b7c24c9373d152be80c2ba5023836df6f89f";
@@ -21733,6 +23470,7 @@ gtl = {
 };
 gtrcrd = {
   revision = 32484;
+  shortdesc = "Add chords to lyrics";
   stripPrefix = 0;
   sha512.run = "dabadc0fba92f6da23830069e533e8d4fb234bb679aa355382c03bd3ac13924328ea8fcece3186f36d33b7d7f6cceaebb23f1158b855673160f183991e880796";
   sha512.doc = "d8e715d1c4d9c7ebb0c34c690a82e338733501012ad19cd9e2c52e6b39dff352a4e042bdc5f54e63a03a38eb9c76b5aed2ec3afae88ccd63f56663ada32e828b";
@@ -21742,6 +23480,7 @@ gtrcrd = {
 };
 gtrlib-largetrees = {
   revision = 49062;
+  shortdesc = "Library for genealogytree aiming at large trees";
   stripPrefix = 0;
   sha512.run = "320b5993b676d803b235d0a10cfbcdde966c3e9415f164da6f45dbd2f6f201750b84cf9dd8ce5383afd92c72acd35aa8a44d0c6518e359615b5b2009e772bc6a";
   sha512.doc = "6558466d513a94cc98e5fe97d5e3bc89f518128dcfe411e27d0af171716545557096a6cdb103511157f0cd93540ea784f97d688ba271d9b2f1918f11608bb437";
@@ -21752,6 +23491,7 @@ gtrlib-largetrees = {
 };
 gu = {
   revision = 15878;
+  shortdesc = "Typeset crystallographic group-subgroup-schemes";
   stripPrefix = 0;
   sha512.run = "243eb6ca0af62518d60134a8fa66f91ab05e39c96fa9c0ebeb2232d27f46679da0a634b64273608028bef7f80bfaaf049dcd9f0cd935d5f66b0d5054b2d21a20";
   sha512.doc = "151f9765d6da2312a10523ffca06cb4e0529d4ebf8189e9ddc00f86510c9cd13be9a04e47b85dc8cd815461c17f7e4b8be9604a1a605c86d7228d1113f985a23";
@@ -21760,6 +23500,7 @@ gu = {
 };
 gudea = {
   revision = 57359;
+  shortdesc = "The Gudea font face with support for LaTeX and pdfLaTeX";
   stripPrefix = 0;
   fontMaps = [
     "Map Gudea.map"
@@ -21772,12 +23513,14 @@ gudea = {
 };
 guide-to-latex = {
   revision = 45712;
+  shortdesc = "examples and more from Guide to LaTeX, by Kopka and Daly";
   stripPrefix = 0;
   sha512.run = "cc569e242b42361e6506144257db1109f1adee52915f361ed330699edea1895b78ac64488ae8b9e2224bd3baab01515be86486113afc1ed9b072a400ca736695";
   sha512.doc = "bba47b9a9e5223e558244029e258835a865b90824c7069287f0c996a36c4fb78d21e62e88e52ea008dbc573e7a4ea34843a646eab11d8377a5167724286c397e";
 };
 guitar = {
   revision = 32258;
+  shortdesc = "Guitar chords and song texts";
   stripPrefix = 0;
   sha512.run = "fed7be24d0bff6d2a0022374e4cbb60cda508b0f99a5a96d59060247aad561c1124728f00a6d0a51b3b22f4490c6153df740a5e9d8106da23c85bb18db385195";
   sha512.doc = "4a2012e693257c2bdb4daf46a2402882caf0c8efbc65bd6679c9eb11440ae75f09d31369839f84312bd1028207d8aa23a745847be1e762dea977ecd7f73b4a87";
@@ -21788,6 +23531,7 @@ guitar = {
 };
 guitarchordschemes = {
   revision = 54512;
+  shortdesc = "Guitar Chord and Scale Tablatures";
   stripPrefix = 0;
   sha512.run = "777af4d4ad1a35bef3f0075e2df707c3a3c98969ee688b71c3d13449b04ecfcb2d82ed9332a8aae81a3bd825462c2cbbf840b16a72fc6e3f65e7565ef6b1b164";
   sha512.doc = "f7508a78fd341e4d4d0fa8a0f89a14420ca50d590bc4a1f5208d4130a3aa84048faa8720545c24e8f0243b1f062a6f40cb5cccdd9ed7db583a11fff1a40c7eeb";
@@ -21797,6 +23541,7 @@ guitarchordschemes = {
 };
 guitartabs = {
   revision = 48102;
+  shortdesc = "A class for drawing guitar tablatures easily";
   stripPrefix = 0;
   sha512.run = "a4866683cb639b63d455f40da2ef58ee4c69d0e29e5071437a07922a0a45598677557ce609905dd8fc5c3e40a98bceb9a753cf4506342585e6cc2c37fa591271";
   sha512.doc = "ef5f516db586d1473d949f44a2eb9fb307b84ea5a7dcc3c9419298203b41c54ff4dad75d3b24cf30fbc24f4c60ad4b79b9c1fd58804667732a66b0ccb52cc3b4";
@@ -21805,6 +23550,7 @@ guitartabs = {
 };
 guitlogo = {
   revision = 55741;
+  shortdesc = "Macros for typesetting the GuIT logo";
   stripPrefix = 0;
   sha512.run = "42fe915cdb69b18182222843452627655ba1d619c2ae9eb469673a35aab31967afc3cc2abadbc2fd13d9215555a2f97a54a6d3b1ec895fc3d3f6388819bbb9f1";
   sha512.doc = "505a1f12e772f2f1cebae02164793b0416322aa60cde58a18ba0e3fea0a7072d07d0d8b1bad9aaeb9248dfa89b4b1730e0e5c2a2581b41a7a3a80636fc161b66";
@@ -21815,6 +23561,7 @@ guitlogo = {
 };
 gustlib = {
   revision = 54074;
+  shortdesc = "plain macros for much core and extra functionality, from GUST";
   stripPrefix = 0;
   sha512.run = "e752e4b53191a9c5b46d1aa5797d491b98ab2585873e9a9a1471aa89accd898cadc5a9332ab36828b4baa6a3d3d69b311794e1948b788db755dc8f066a68550b";
   sha512.doc = "9c1c0279f18a37b2a500e415364dd4404a7dca8b6e0f85b053db5511826eb401865984ee3471fbe607e4cfa605ab50c08e6c11b166dd629e84d9f07db4af7114";
@@ -21822,12 +23569,14 @@ gustlib = {
 };
 gustprog = {
   revision = 54074;
+  shortdesc = "utility programs for Polish users of TeX";
   stripPrefix = 0;
   sha512.run = "bd9cf1c174a5674a0b71f07bf76f46ca4e15dfa194372cb04e63467c29ee1e07b03d0e611afceae80ea192b6f842fdbfae0bfce7eab2ce43a4e448058521cef6";
   sha512.doc = "268a01f59660e5225c1c21539076e6239381294e6aaa31992032ff8e3d777cb7e4195247c92d9f22efbee498c8bac34cdb915e0a5b0f6cb2b5c0b72c15695d72";
 };
 gzt = {
   revision = 70535;
+  shortdesc = "Bundle of classes for \"La Gazette des Mathematiciens\"";
   stripPrefix = 0;
   sha512.run = "8c6cf2243e7539b0ba4f84e36a634e46f6a59d57a5d5c58df0ab77ceb031301048800c35c092e3cdfa4ee08d1d61a1a5ca27a6648f9be5e658deb3ca16cf6698";
   sha512.doc = "08272184765997826e89cba2ef02c4695956f14ed603e32f602884dc191b1a81b60e654abad20cf50bb377b96ca50f39fd89234deaa81cf3a66a311445c98f07";
@@ -21838,15 +23587,17 @@ gzt = {
 };
 h2020proposal = {
   revision = 38428;
+  shortdesc = "LaTeX class and template for EU H2020 RIA proposal";
   stripPrefix = 0;
   sha512.run = "ddee9c5c1838bad606f212c1a7ebb7ac4d7ae571f1e29e83d55744dd50afb55e302f4f20a3cedd0d4446886cfa515371fb913b862d4549618858896de2a543ef";
   sha512.doc = "5ffad62ed8eb39c8cf07d4840983990009e5696a2d7714d2cbab13a69c77634d01f10a18f612c853a09dfd91ae1ea453bb3373681e89a6994ff4924dd64c3093";
   hasRunfiles = true;
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
   version = "1.0";
 };
 ha-prosper = {
   revision = 59651;
+  shortdesc = "Patches and improvements for prosper";
   stripPrefix = 0;
   sha512.run = "fc78d9c422c05e4d5b859d39f4b681c5deda4d6850ea383f33b71b0e2aebc5e4740811a831e8e364122c7f451866751d77af8d5e4fd6b8b9f5dbf76f23a7d09f";
   sha512.doc = "939e86ee09351991654d8542cc21667e16d64dc56f0e9d29932b816458319c3ba8e0632e92bc8c17cd104fd10dd7171a89f9026fc9faaa197fd7376c61377d63";
@@ -21857,6 +23608,7 @@ ha-prosper = {
 };
 hackthefootline = {
   revision = 46494;
+  shortdesc = "Footline selection and configuration for LaTeX beamer's standard themes";
   stripPrefix = 0;
   sha512.run = "223fb22b01327fb63ff16684d578f89ee583d5c7700dbfd5966aa8cb94ca4e280e4409620b0d261bf2a80a57f51658990b0a221c0dd311e3eae1f39d459e8098";
   sha512.doc = "960c6a0bd61210b097710cc6715012e4406b54dafcf070659228074598a05e0dbb65669ef77c3f6ca2cf80001e95c5f801070be29d416d2bd552d6c2a1d27f56";
@@ -21865,6 +23617,7 @@ hackthefootline = {
 };
 hacm = {
   revision = 27671;
+  shortdesc = "Font support for the Arka language";
   stripPrefix = 0;
   fontMaps = [
     "Map hacm.map"
@@ -21877,6 +23630,7 @@ hacm = {
 };
 hagenberg-thesis = {
   revision = 65819;
+  shortdesc = "Collection of LaTeX classes, style files and example documents for academic manuscripts";
   stripPrefix = 0;
   sha512.run = "bba9dd22c1e4cf082697c555f2bca5b53af2f3684c47c8911cd11af9f35c9e16e60c5d6e7941436f0a584cc98f882f22c5c855194cc71df7e928f105bcecf9a3";
   sha512.doc = "9e73ee93a231c319ed65a2c23d23d28ad224367ef7773a9d5c1de474eaf6f9d2a402ae1afa4138ec172ca9e07a5fe64c47d57e16ceaf24b203390a0adbf645fc";
@@ -21885,6 +23639,7 @@ hagenberg-thesis = {
 };
 halloweenmath = {
   revision = 52602;
+  shortdesc = "Scary and creepy math symbols with AMS-LaTeX integration";
   stripPrefix = 0;
   sha512.run = "1c897f5582e26a42799065d9b105bde3ab7823e9320912eba72654d00624a3796f468d9138fcd47c32e021b31bffb1a618f3ce0024ce753005236a9e08ed05d1";
   sha512.doc = "aea1397af446f64f4d8bacb03f0f2d211a44f0f85d93612db840f198a1ed894e1b0a3680005a002808fbe5b8b367f8a8d79b9b99908a4be0891c0d5b43c730e2";
@@ -21895,6 +23650,7 @@ halloweenmath = {
 };
 hamnosys = {
   revision = 61941;
+  shortdesc = "A font for sign languages";
   stripPrefix = 0;
   sha512.run = "36af23f5eb95a743a691047d9dc02a19825e88e8fa62f1931f5c2f13e95f89351b42dda6a204493d5f2a147e0d8c039b6b5bbb2aa82bec00824c7c5612d5056c";
   sha512.doc = "068e8232cf97513c69845e66eb6772e80de0dcf9422a3547db3b002ada137a1b385829a7e8258145ec2b5a05becfd08ad5ee40fce71326b93c3241bbc9f8c0b6";
@@ -21905,6 +23661,7 @@ hamnosys = {
 };
 handin = {
   revision = 48255;
+  shortdesc = "Light weight template for creating school submissions using LaTeX";
   stripPrefix = 0;
   sha512.run = "361fa013f1932da2370ccbd67e70acaac725349e4fd4fea28a6b676a5459aa8ce8fbc1edf42f3f3fe234e12771c5be8bc463ef758f823a3b43fcb7191bc1a660";
   sha512.doc = "cf91e16a8f04835a47da1a5ccb31711fd9317db557f0152689a93c4f58de33c8e7c8be1f7c5d9eac599bf8dceab3f4d3e84831efd0612a58571d3c71f508f20c";
@@ -21914,6 +23671,7 @@ handin = {
 };
 handout = {
   revision = 43962;
+  shortdesc = "Create handout for auditors of a talk";
   stripPrefix = 0;
   sha512.run = "9c5da5e16df3bfb4eee1ff7b8c6881e7faeba7001fd7f0ecb8b3027a464d611149c8768b8d8853c07417d67a723fe5b1de19620593a177139241b47c7a814285";
   sha512.doc = "6da7783c7a0dcfee168ec4ad6924fca636ccb5fc965e326d9c38ff31c9d2c7942a820165232e4e89b7c1e4857e81952156198de55d7990ba01e5abcd4c31bfcf";
@@ -21923,6 +23681,7 @@ handout = {
 };
 handoutwithnotes = {
   revision = 62140;
+  shortdesc = "Create Handouts with notes from your LaTeX beamer presentation";
   stripPrefix = 0;
   sha512.run = "cac79ba06d60e99e151b272f28d6a8a04f1f766f406801c6f4fb24f4b4c74cc59d78fc6961624b1f77405bab6687ad896826426d8bad30b3b210e7ad5be035af";
   sha512.doc = "f4f604fd888f5e072d8c002fcd72edb726d3f5512b5fd511446f3fa1295f5a6608510dabdfc6a162d648a3e020489d1e1ecaccb7e563f54e8ec156df51be6dd8";
@@ -21933,6 +23692,7 @@ handoutwithnotes = {
 };
 hands = {
   revision = 13293;
+  shortdesc = "Pointing hand font";
   stripPrefix = 0;
   sha512.run = "77c1742d045110ee4da7473b14c1804fcfab3772ae10223848fee99c7c8a8fb3809aabeb82e4c99460f3cfa0e009ee8d470d60e8be4c79c25c3ff990b7d1595a";
   hasRunfiles = true;
@@ -21940,6 +23700,7 @@ hands = {
 };
 hang = {
   revision = 43280;
+  shortdesc = "Environments for hanging paragraphs and list items";
   stripPrefix = 0;
   sha512.run = "4a8227707b6878ab010b595296dbc96f0b31489dfc0abf0116e00d6b0acf54e91bad1ec182169357e4a2e1f14ee27afcaa23bd35db1fed7e4e972e66eebee042";
   sha512.doc = "bb0af0db38793e12dbd8d33e2df613d581a1809e0661138a3e75cabac1aee2aca942aaa429678a817f487fda82f3ffa3a631d98c3129853ba6a5ce4175346b09";
@@ -21949,6 +23710,7 @@ hang = {
 };
 hanging = {
   revision = 15878;
+  shortdesc = "Hanging paragraphs";
   stripPrefix = 0;
   sha512.run = "54bd2269c169bfe2a28513354407de22948658e8067cebafa3a3b3d88040acc318f3f3aa375798e36bafacecfa10c4ab5500095b92328e6cbfc12a541a8a7b3e";
   sha512.doc = "a1e7e9d0d5b85e43ebd7ad88b39d6d5629807f668040041fd1248239c02394cf3c51aa676065c1d1d9e9ba8d1ad20f00e46d25025ddc0db7ec15148280a5b9c0";
@@ -21959,6 +23721,7 @@ hanging = {
 };
 hanoi = {
   revision = 25019;
+  shortdesc = "Tower of Hanoi in TeX";
   stripPrefix = 0;
   sha512.run = "efc8c4892ea4cc8ae395907fc428fe74d535d689a68b3b21422c5c944d4defd57747e519dbca9bd2df2dd010b99e3132afceadee36d547fc11b04480147626c4";
   hasRunfiles = true;
@@ -21967,6 +23730,7 @@ hanoi = {
 };
 hanzibox = {
   revision = 63062;
+  shortdesc = "Boxed Chinese characters with Pinyin above and translation below";
   stripPrefix = 0;
   sha512.run = "125406446426da598ff92398a7d0de5ea26e866d4f9248269191d113f50e8a613075e3e3d3f9d625ad3e9e0b1c5ca978a0420c2de9f31f12958d5adf7e2cbdeb";
   sha512.doc = "87ef15dc7f3920e11d0cc678f56365ba9dde31210e0add0d80763c1d271baae5b7e905f72f2081f5712c286edacc6943e38df4eb112c7ba17c125edb4d0582d5";
@@ -21977,6 +23741,7 @@ hanzibox = {
 };
 happy4th = {
   revision = 25020;
+  shortdesc = "A firework display in obfuscated TeX";
   stripPrefix = 0;
   sha512.run = "45492a6becc7496ec6ca6adca474aa141b9c68b06aeed46bb1459f15b6cd1df9e4e2de3842a91ae0121d83269c1fe4f772418a93da67031bd14b6649f3a80657";
   sha512.doc = "78fe311673e370b867ad209fc1c62acd7aeb515e4b145bb7c487d30c121715994803e6dd540bcbf1b9b0776014327c7ca2f6c03437d9ff0b40f477ebff9cf254";
@@ -21985,6 +23750,7 @@ happy4th = {
 };
 har2nat = {
   revision = 54080;
+  shortdesc = "Replace the harvard package with natbib";
   stripPrefix = 0;
   sha512.run = "b88cc102c09fc86a762da6c16802241af705a0a7da8707d072f051dea7b5836af9bd5cd46e7c80922877dfa389aace6b7713b10c4f1da75cd0d03c7bb3e68745";
   sha512.doc = "de971a2f65481fda590a1ecb254663778a9260e65d26efdd67c739f02099baddd4937edd1bdadbce5020fbd9ad227cd525ad524dc4ea5fc1e563369313f5ae22";
@@ -21994,6 +23760,7 @@ har2nat = {
 };
 haranoaji = {
   revision = 68501;
+  shortdesc = "Harano Aji Fonts";
   postactionScript = "tlpkg/tlpostcode/haranoaji-tlpost.pl";
   sha512.run = "2ff313007fb9b93503ed6d703c976f639d878ccc706060e0a26ab8a21ffe1d4669aca9df9fb001c886a1b1f7a0e140403253aaa5ef76a6e91d327c504fc251f3";
   sha512.doc = "1c294bbfbbcc6abbbcb0cdf6ea29335d2b1b039545c1dccfe60e8ae4f1883d2564a5924bec22b0dc817e4eef0009108df348d7af788afee1dba4f1b7f1ae30d0";
@@ -22004,6 +23771,7 @@ haranoaji = {
 };
 haranoaji-extra = {
   revision = 68500;
+  shortdesc = "Harano Aji Fonts";
   stripPrefix = 0;
   sha512.run = "79b1d71d80bc73681f1d1d48679c2f4586834d7dcaebceadfcc17ba49fd6c41849cae77a88ae4e45f7b2f535352a27aeb91089cdfd5a75b0af88024988617422";
   sha512.doc = "3331b5113f2f8634ddbf4e280aa7e7b8f82a2ecb494b29d2a1587ab338130340084b1f70402e70fe2c0039ce57a4665030581323c703ed504caebac823a712a1";
@@ -22013,6 +23781,7 @@ haranoaji-extra = {
 };
 hardwrap = {
   revision = 21396;
+  shortdesc = "Hard wrap text to a certain character length";
   stripPrefix = 0;
   sha512.run = "eeb0f1da2161dae80d292db7b3289a307d892b8967ecf16021b8ed73c5fe724d914dda356bb8fbb48786760698e0060b39349b51886e13289524ed9d45463106";
   sha512.doc = "6dbb83fc5d4b82d11bc8d97d0ded3bcfe583c2b21ec2a260000b6bfb0bdea9c10df834735ffdcddfa9785b7c86b53920a20146d020b0435b8dc04610f05b9b16";
@@ -22023,6 +23792,7 @@ hardwrap = {
 };
 harmony = {
   revision = 15878;
+  shortdesc = "Typeset harmony symbols, etc., for musicology";
   stripPrefix = 0;
   sha512.run = "25e84addf5ac4c67985e1e433f795f377accfdd4dc56eae0ffb25ddffeb52e0a44278ce1a936406105ff5b7e9541452a103e0bb4ed91b8949facee75ca7c11ae";
   sha512.doc = "3226831df9702b669ba4c269549927563ae321e8e10e0e41c6bd1a8d6522dcdaa4ae6a25a907a84cc1dc324c516a53754c81a0e1296fd8e3afbbb29f0992ead9";
@@ -22031,6 +23801,7 @@ harmony = {
 };
 harnon-cv = {
   revision = 26543;
+  shortdesc = "A CV document class with a vertical timeline for experience";
   stripPrefix = 0;
   sha512.run = "5acef7bfd07f896f4251fe922cb96f71e9f289205eebfa83dd6aadd241f20eec5d9ecaa3d70d6df3dd61fbe7523f568407d89b7c32c27aa719a6f97b89f4cd33";
   sha512.doc = "1a8d96a152f9ac90f3a6e546c03652ebcde8f8d88a7282626d44177854aa41ec1c66eb6f4d787853711b80935f5e3e3c31d726d0e49d60841119db7ae278de96";
@@ -22040,6 +23811,7 @@ harnon-cv = {
 };
 harpoon = {
   revision = 21327;
+  shortdesc = "Extra harpoons, using the graphics package";
   stripPrefix = 0;
   sha512.run = "1894f54ff9eb98975f4eec9250a382534a0ede5312b4b540223d298a0fe5d7d8d24abe2018d07b30773e14bacdd97b60039a458fd274bb446aeb2e26b91bf96f";
   sha512.doc = "4d69050cd2a7c57219a7c55e8d97656fe6f130936d2e79a00d3760e9139799cbb98db2f338586b65412402069b22971ac73e5b722a3911bf1402625dac3e7d52";
@@ -22049,6 +23821,7 @@ harpoon = {
 };
 harvard = {
   revision = 15878;
+  shortdesc = "Harvard citation package for use with LaTeX 2e";
   stripPrefix = 0;
   sha512.run = "64781bb5c419248934f259dafba2c43270396a1d3f49bb9a79050ebbb5655a5836a07fd69720f54f009501c5294a62f344f6b6c76adb89114a8c60d1e149e612";
   sha512.doc = "291c2a530da6d24ecf1a87818d27b6141e99944eed10cc2dced2537f30ecfc12580c2f58d01245ef53f7d2b803853ce9bf72c03f8a2c3267dde0f4c799a991bc";
@@ -22059,15 +23832,17 @@ harvard = {
 };
 harveyballs = {
   revision = 32003;
+  shortdesc = "Create Harvey Balls using TikZ";
   stripPrefix = 0;
   sha512.run = "c282249d5758f6c8aa9dfd06cc4671211e76adc2e7c4f5cf925e713472e60f3d44c8a389c9ab4db5b8096336d46d99b62bde0f8c1f9fb5d22857e3cba98994e0";
   sha512.doc = "89ede2f13e82600a2e78047a08766e99879ef5c64dcbcf747a2c21b1a395f4c1a1184921a8a0064b15b86f574834f602870f6641f0f265f92dce506959c6c4e7";
   hasRunfiles = true;
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
   version = "1.1";
 };
 harvmac = {
   revision = 15878;
+  shortdesc = "Macros for scientific articles";
   stripPrefix = 0;
   sha512.run = "7acf7eb52104bab80b0b9995cf43cac842c106b8aecdff8245b0d1ce8440823e65ead75e470f00923764eadd32e936e02192ec7bbe70295ca254aa57f9b5f662";
   sha512.doc = "a0f3308b938ae73c66398c5a3140662240603248cd6fe338a22f3ca6b23f28789dbccee48dcd94a8bf84de029ec103aa35c5b9a78151ceaf61a9cb60b832c484";
@@ -22076,6 +23851,7 @@ harvmac = {
 };
 hatching = {
   revision = 23818;
+  shortdesc = "MetaPost macros for hatching interior of closed paths";
   stripPrefix = 0;
   sha512.run = "71983591270b533a6824a836948fdd15d19c3f966c8277d8948b13c5f38b29c29c0b7fe577661f1ecc570dd71d89fa964afd254d50556b6893667cda95e21aa7";
   sha512.doc = "02c2eb4991aa9775feec0846eaad9ddb74123a64eba8a3731c8e40c689844e542793e0f6884df8666f3cec2ed43af26b2d25254cd0536920c6ff0b107f35bf5b";
@@ -22085,6 +23861,7 @@ hatching = {
 };
 hausarbeit-jura = {
   revision = 56070;
+  shortdesc = "Class for writing \"juristische Hausarbeiten\" at German Universities";
   stripPrefix = 0;
   sha512.run = "bfee6719ea75ee672a39234d9416a0415a11658c45f4e5958bb12fa67ea416f9da83d2583e7007e3dad860a18d207c42e3e0fbaa3f09afd0b3825c170d00c63a";
   sha512.doc = "76898cfd9d4bd0f34632092ac7c1d913f4d460beb9b9fd3d98c249156c406b81fe42a4bed754fde79c497f9e674f50c698de598c9bb675270e7ada1c0002bba4";
@@ -22095,6 +23872,7 @@ hausarbeit-jura = {
 };
 havannah = {
   revision = 36348;
+  shortdesc = "Diagrams of board positions in the games of Havannah and Hex";
   stripPrefix = 0;
   sha512.run = "f19498f0f9a7ce349fab4291fef80ff2f2f9eb88c60edeb76174918955fab51f22a0d06b533112e594c0f4cfba23feab58c41fe75e1c4fa2fc4db7cd9f473d0e";
   sha512.doc = "ee1a90d491debac3f22f470e5df79e11152d153cef97e8d2e38c5d8a60a1931384d65bb91a6d459e6aeba39741763fa67d589bf9004efc5059699ec621b99e43";
@@ -22104,6 +23882,7 @@ havannah = {
 };
 hc = {
   revision = 15878;
+  shortdesc = "Replacement for the LaTeX classes";
   stripPrefix = 0;
   sha512.run = "17c7037eb04c1d0064dbb637f51947243d1b8f07d46245dfb8f2a38a1ea068ebe41da7e2346ccedf02979003a0a2fa0fbd25eaebf7847b266e21b7c873b032d4";
   sha512.doc = "18aaf579ef82a11ea1e752524d9a04a4a0aa5d6cbb496bde380664723dd30cd421c77dfba1ee6bd88def576c76e202b328198fa6dfb4a9ab451875c3753a515b";
@@ -22113,6 +23892,7 @@ hc = {
 };
 he-she = {
   revision = 41359;
+  shortdesc = "Alternating pronouns to aid gender-neutral writing";
   stripPrefix = 0;
   sha512.run = "726954216d3f8328eb7868553875651c2dbc3f626a9eb60fddd770b0e236a4e09a45872020589d8f263cb9f39300d1743e0a35676947752f33933db1e766411d";
   sha512.doc = "580702222de769b066b01af45aad75717d11f46178a2b1f19e0bdc85b67497d9aed8b7ad642f76b8b85c5513f4921f58af8bcb80d1fcb88307f8ca8b07c8307b";
@@ -22122,6 +23902,7 @@ he-she = {
 };
 hebrew-fonts = {
   revision = 68038;
+  shortdesc = "Input encodings, font encodings and font definition files for Hebrew";
   stripPrefix = 0;
   sha512.run = "5c27626c22275c42c25737d35af3c39a98a921037f6b9165a3222e168dd2c679e75e6854f88713681bdaa8eb8961bf58cff3b34c207bd1775ffea474b3524ffd";
   sha512.doc = "bc7f81a0f09b544bee91bd387504f5a764e7a6df207f3255f5ba25b1fe654532b14e2c7ea9d1d2804db875b05e210b11058eecf7c15fd1fa7a7b516e2bb20207";
@@ -22132,6 +23913,7 @@ hebrew-fonts = {
 };
 hecthese = {
   revision = 68584;
+  shortdesc = "A class for dissertations and theses at HEC Montreal";
   stripPrefix = 0;
   sha512.run = "ca64dc8ca2265ea038ac3c2250c4ead4aedcfda74ee28077db2b9f4019f2ea304ed02e7349ad0a191012d2c903a1ed21b879459c048b29827ea3478115c935b0";
   sha512.doc = "28e1e4940bad5a6f76160f42adbf3f5f793cc9a7cd869dfee2389229335c09036044d79d3e14f179d5e8bf32304c04fd23ff997a116338c4a3500906fa6bd1c0";
@@ -22142,6 +23924,7 @@ hecthese = {
 };
 helmholtz-ellis-ji-notation = {
   revision = 55213;
+  shortdesc = "Beautiful in-line microtonal just intonation accidentals";
   stripPrefix = 0;
   sha512.run = "2c91c08df5e97f9f7ee17f40408d8810cfc3099b5e125b5445a89d2f0d35849f32be0d4150bf7b9f812d5c9c0994c714430fd8d015b9d4ab3bf9879deff5bb43";
   sha512.doc = "20c9b9fce33ec63cd635751acec1d25fb8c5cb4171ea06f3313c839ea400943926550098cc520c4d5fced46c61756977c6294e435821330715ab82cb894222cf";
@@ -22152,6 +23935,7 @@ helmholtz-ellis-ji-notation = {
 };
 helvetic = {
   revision = 61719;
+  shortdesc = "URW 'Base 35' font pack for LaTeX";
   stripPrefix = 0;
   fontMaps = [
     "Map uhv.map"
@@ -22162,6 +23946,7 @@ helvetic = {
 };
 hep = {
   revision = 15878;
+  shortdesc = "A \"convenience wrapper\" for High Energy Physics packages";
   stripPrefix = 0;
   sha512.run = "9cd27826b7dde1ebd5830cdd17423f4092c9833c962be7e73b515de2e624a7853badde0c244dc26be6b7d3d9f9c3932fffc48bb4e86e06b90d6699dcebb0d497";
   sha512.doc = "1d77a9bd31e982a8ff908f772d8cf67692145624bf00db2745afaf1aa59fc1da7cae6d2e094379077a550e4d76338a5a82bef8e25c8d733547751a24c84035f2";
@@ -22171,6 +23956,7 @@ hep = {
 };
 hep-acronym = {
   revision = 67632;
+  shortdesc = "An acronym extension for glossaries";
   stripPrefix = 0;
   sha512.run = "3eeaf8ba9215868df3ad2d8eee5ed17aee0f91c5404b8c93a7ab378ff6d928660853f8dbbab4cc52421f0d902936983a8cb34badd675453d2fc30344de19fb1c";
   sha512.doc = "a17c6f61a44253d6f9db070392b146f0fa297c080f04577f30e190a2742e344c22b3d70a58d3609eea6d981e843bded2a1a01b3fda356c822b1f60ef7ed05271";
@@ -22181,6 +23967,7 @@ hep-acronym = {
 };
 hep-bibliography = {
   revision = 67632;
+  shortdesc = "An acronym extension for glossaries";
   stripPrefix = 0;
   sha512.run = "8fa9f0a0f19f7dcadc88e727c461af05f3c0723d2eef1c4c7cc91fa0b507a6cc20f0414c82f7bc3ef12932ea54e8fd9c7c402fb2041032e23ee14c6dafc3a467";
   sha512.doc = "388fed1b3b5b9de09ae4b1cb73de2f618f99293e1b3a4cba5ffaa2d5ae611e454688bea2ce01780ad844380e2de56e62c38013677bbc3a9194d0831de4cc97bc";
@@ -22191,6 +23978,7 @@ hep-bibliography = {
 };
 hep-float = {
   revision = 67632;
+  shortdesc = "Convenience package for float placement";
   stripPrefix = 0;
   sha512.run = "ccfbce04c651a478a811b2148141090fffbdb3851a05b9d3fa7683943fde9e6579eb75693c4b2834741b6cf02a5b381d1f80bcec5d44783e71605e445840145a";
   sha512.doc = "11c922d42d6793dffab0cf82f228f554510dc089956030c9c5e76b0a17e4d96ce2ae4d95533f0f704be1d4054f35884901a61ec851fa73f68b06c87b93f18821";
@@ -22201,6 +23989,7 @@ hep-float = {
 };
 hep-font = {
   revision = 67632;
+  shortdesc = "Latin modern extended by computer modern";
   stripPrefix = 0;
   sha512.run = "a70b15ded3774985b31a78ae5d05572922133d3fb59abcb482677ccefb6767726b902b62007e9d0e14950ca9e9f133c8677d6c2d352e0f529a3909b5f6da867a";
   sha512.doc = "97a4c20933260eb24a935ed7a780a6e0a49f8b305872a33de5fe6df439ead0e555b909b04bd559016451bbf5cdc3494a3854d257b1804bc022a8925166103877";
@@ -22211,6 +24000,7 @@ hep-font = {
 };
 hep-graphic = {
   revision = 67641;
+  shortdesc = "Extensions for graphics, plots and feynman graphs in high energy physics";
   stripPrefix = 0;
   sha512.run = "59dc1363cdcbe8376b5d5de1a2220c9d70c7022d1d943f657ff226a9ec1bafc302b30255983c090656d293c0995095dc325e1cafed113ff43ea74d2a85add741";
   sha512.doc = "9398029fe703f385decf3ed9295cf64501a9ad7efc3c50bddf1ac261e780dbe5a4ad9fe5f1871c2a8f081909741ec11a93b2b399b89c841cb9b661d812f326b2";
@@ -22221,6 +24011,7 @@ hep-graphic = {
 };
 hep-math = {
   revision = 67632;
+  shortdesc = "Extended math macros";
   stripPrefix = 0;
   sha512.run = "4446d255ec62b12b2eec1958696c10f4d55d83e3ccf30590f40d146d1305db3a351894c73d03baf6327834d0cee4592491c0a3a57bcfa7f95af0e172fef3148d";
   sha512.doc = "5110d1cd03ca6b925ba6872932cb53c99068399a5329d7368189229103e13f79296bf6b97b2097ab800823eae6dd14ac408fe404d309c37b1e6e9a20c6543ba5";
@@ -22231,6 +24022,7 @@ hep-math = {
 };
 hep-math-font = {
   revision = 67632;
+  shortdesc = "Extended Greek and sans-serif math";
   stripPrefix = 0;
   sha512.run = "0bf2ac1f414216568cfe4247f1c1c9187fbc8133831ebe7a55b2c2d3d30555db36b0c0c1edc2e8bdb799a34b20650990d26c1cc838c5a3a31c55bd9160ab1efb";
   sha512.doc = "eac39c9916a87efd036b9f680ee9b774584845d1a3451b192857d5db72cafb1eae5ce580f1225fc6afdffe80e136f69ed2447f87986cdd3afb34adc9f9d9a49a";
@@ -22241,6 +24033,7 @@ hep-math-font = {
 };
 hep-paper = {
   revision = 67632;
+  shortdesc = "Publications in High Energy Physics";
   stripPrefix = 0;
   sha512.run = "2cb6988dccd76f121a7aa39de3246559caedc0cc697a25382f7edf6cab36af32b03db915898f6073b31cd459e8dabb3da3acd387bd0c027e44d40af917613c76";
   sha512.doc = "dcb2f4aff93c609edae00fa44c285cc6f5d5bed76026c8d5f3f722deee19dc197a28dad7372f2b44466036d6e8aa0e576457e07f953d36953219175224fc6818";
@@ -22251,6 +24044,7 @@ hep-paper = {
 };
 hep-reference = {
   revision = 67632;
+  shortdesc = "Adjustments for publications in High Energy Physics";
   stripPrefix = 0;
   sha512.run = "9cc4b4b63f41b28fa95fa6a81e47b5028c8ed0bdd03670c6d239bbcc09922265dc69b443ab2b1a4032cbf966a5202ff6e8b1a8c61afc2072e6628d11e071391e";
   sha512.doc = "588d2c5a2990b44d64598cf698cc1d6e04e92991e5319167e412692d62ee54de5c6053e4e10ce719f470ed08c028d03f9dd301afb65be4f5370742fe621a80b3";
@@ -22261,6 +24055,7 @@ hep-reference = {
 };
 hep-text = {
   revision = 67632;
+  shortdesc = "List and text extensions";
   stripPrefix = 0;
   sha512.run = "bbbf90b0e85a9b962267f42a2ced125448f8aa85bb93e347214164167a151e663f647b754e4b55faf42041ede7b6e90b6a073290056e00814ed25bf554eb20b7";
   sha512.doc = "5c914c5b3bbda70d93fb340b863c656d67a480eb3f59c51f05fda65396d408ecc26229992bf4a0161fbbfe0801e8807381ffe7fa3a502ca68b56f5a3afc88caa";
@@ -22271,6 +24066,7 @@ hep-text = {
 };
 hep-title = {
   revision = 67632;
+  shortdesc = "Extensions for the title page";
   stripPrefix = 0;
   sha512.run = "6da28ecfebbb06469fc666978d8674e81b60ce019e0f9a730bafab928d95af4d92bb8783275bc261a43cc61efcb14cfdd4973fa9f52b92f33d70890983d89e53";
   sha512.doc = "3841dc3378d6f8fff0783815f68d75581dc5623961799a034410de2e37224fbf0b1d9ea6b0b65b9b5c339cad565520960d51f7077f7c785807e9afb5acf83d3c";
@@ -22281,6 +24077,7 @@ hep-title = {
 };
 hepnames = {
   revision = 35722;
+  shortdesc = "Pre-defined high energy particle names";
   stripPrefix = 0;
   sha512.run = "ec893de8b4cedd1b18dd16c3237fa79b434e91cbab4b856c4fbe11afef162b560bda18c0fd75ab2c47b863cdcca1d64809a139d51f04e9c2f45eab6ba4036c28";
   sha512.doc = "36a0966b755b6bb0f0dd27c80235e66af7c5252df1ae27652e59fd65fc5f280eb487666eef04206813438204dc592c0295651ccf0bce1e5f85f4797cdb439850";
@@ -22290,6 +24087,7 @@ hepnames = {
 };
 hepparticles = {
   revision = 35723;
+  shortdesc = "Macros for typesetting high energy physics particle names";
   stripPrefix = 0;
   sha512.run = "fb9229745b601b6f731c959856fe46d6871dd3a1c7fec2bac8116f4d74a575ff52523f610599979e25e7147b4ae6d36906d19ba66260356f15bc1a47a2d57460";
   sha512.doc = "539025b2f0998bf031f417d002028e29edc58c1818d0dc9c07ee58c6877b5709936be23985ecd5a518c36187f451a2d5df66b5832d0019ff8b755c763b903aa8";
@@ -22299,6 +24097,7 @@ hepparticles = {
 };
 hepthesis = {
   revision = 46054;
+  shortdesc = "A class for academic reports, especially PhD theses";
   stripPrefix = 0;
   sha512.run = "ea6543fec07480af8db52e43ea5fda346ed4e9ea245af0810a6988d864675a903841849e502506b333cef0b1685a6946ebf1f686bbc74f4ddcc7eea676c019ed";
   sha512.doc = "e456a0ca03da4bf71d767616a140b6e1d922e05944a4db2c0cbb360dff39fc7e8bae741ae5adb49972253f38774f1a9c65393bcf4e38e3c568b0215a04f63d48";
@@ -22308,6 +24107,7 @@ hepthesis = {
 };
 hepunits = {
   revision = 54758;
+  shortdesc = "A set of units useful in high energy physics applications";
   stripPrefix = 0;
   sha512.run = "eae3b071eb3c81e79f166a925f5a3b16ffa3e992073f318b8a193a8188bff5b5222cef7533e398f1481671e17849123947577c13a182f40136124fe6368547ff";
   sha512.doc = "86f0080a818aae8743f9c2ef20a3c87f2f23e29641037e91a89e3f195f55fb6653c1ebf1e990b1a984f2acad26243bc07afda6cb2b00d58e5f2416a0f8fddc04";
@@ -22317,6 +24117,7 @@ hepunits = {
 };
 here = {
   revision = 16135;
+  shortdesc = "Emulation of obsolete package for \"here\" floats";
   stripPrefix = 0;
   sha512.run = "35c9ac325579de5d3bac4b8d16b1f30355398037cd0ad1c52b1585eb7ec666e743680eb05bec7b1f8cfa3bba3d7f5c0e6e06cddde6ca879ea708388df140eef0";
   sha512.doc = "482a2ef8edbe41ce76e2c32bb579b132c84306cbd5387cb5249b10a02826e610229ec9c75a1df53b5b930bb982e1157ad9ffa63a77f84461cb6cc6332f6d6e54";
@@ -22325,6 +24126,7 @@ here = {
 };
 hereapplies = {
   revision = 68638;
+  shortdesc = "A LaTeX package for referencing groups of pages that share something in common";
   stripPrefix = 0;
   sha512.run = "b796f6f276bd9cdea0f469482c96aa42956417c544647df201a8dfecfc5041b726a1ea1084a51b392b6f71b3172961689cce0cc7be63c146ba7edc3dc8bcac35";
   sha512.doc = "185798c65981f2d09b5c49ac3bfcca8763ca929399a9f534316ee8345f5550a437be10dd39bc886febc5d9de4156c0642c125ca2a033d129479c9cf98bc885c6";
@@ -22334,6 +24136,7 @@ hereapplies = {
 };
 heria = {
   revision = 69058;
+  shortdesc = "A LaTeX class for Horizon Europe RIA and IA grant proposals";
   stripPrefix = 0;
   sha512.run = "2ddbf4e07a47f72b402087046e4778d7d655af7243465bb7ca4ec10c3c15b72c49d8c6343e4ece780ac4aa1e2007e3fff4f8eb395673952d8050e7b6803b275c";
   sha512.doc = "08e4a34df324d61089a7632b2b8d2b41ff4df47fe633803c1c246525b86ec25ec40f6b56182432488a3cf4d1d90b36038773104d2c78a809b12d04f7a9a23bfe";
@@ -22344,6 +24147,7 @@ heria = {
 };
 heros-otf = {
   revision = 64695;
+  shortdesc = "Using the OpenType fonts TeX Gyre Heros>";
   stripPrefix = 0;
   sha512.run = "370ee21398ddc2f3bf285a7c6c545e998a192d4dbb5790a7d2a9b6835d9076871a349001901764761fbdcac0e29d5c0fae8800dab4a34918998b54b7a83275af";
   sha512.doc = "fb99aa73c128cfb184a097b0d9a32a007ffd9e135d74b543cd23689bf5284176642c1f7a635b1a24ee167b5ee44daec090f7f78dfe9636fbe88351aef125d8ec";
@@ -22353,6 +24157,7 @@ heros-otf = {
 };
 hershey-mp = {
   revision = 64878;
+  shortdesc = "MetaPost support for the Hershey font file format";
   stripPrefix = 0;
   sha512.run = "8759bfc2237fc1954e3ea3a47355cd42c48479ce01d959cf0b072ffba4f26068e99f32737bf8669a509f53085b8d8e5c5b0b02f9a7fa6ba73a38bc996539d902";
   sha512.doc = "d869c70b0919380ae4d88d9cded20baf9a8cce0946550d1a3b80056f80bcf2eaa7fbffbe16a3101c2a04fda512ff1b9160786c05c279a78732e1909782cb2b23";
@@ -22362,6 +24167,7 @@ hershey-mp = {
 };
 heuristica = {
   revision = 69649;
+  shortdesc = "Fonts extending Utopia, with LaTeX support files";
   stripPrefix = 0;
   fontMaps = [
     "Map Heuristica.map"
@@ -22374,6 +24180,7 @@ heuristica = {
 };
 hexboard = {
   revision = 62102;
+  shortdesc = "For drawing Hex boards and games";
   stripPrefix = 0;
   sha512.run = "e82683253d7790448bddbcefc617d0f0e91b5373de477f1c78a5db9256d632983b1d5f700a0c6fcb4490b746e932de3fe40a22875a6c0d37f6d0ae728867b73e";
   sha512.doc = "97c92b9c8644cf060da8b3306c8a3f26d1c59f36b1731ca4b6af06ec77211ab676963d5ed8fb70c6a63096a7224cfaac22cf77d5dc39f937902815bea778f323";
@@ -22384,6 +24191,7 @@ hexboard = {
 };
 hexgame = {
   revision = 15878;
+  shortdesc = "Provide an environment to draw a hexgame-board";
   stripPrefix = 0;
   sha512.run = "b16abb669f6bb5c3111e6c333353cc37a76431c49920a4cd22af79f6237f78a5c56124c5854b7665e9dcf963fb2715c488dd7ef4df86d5582aa7b3dbe3d08822";
   sha512.doc = "0fad11a5510dd1a2ceec227c46c3f8c0c387ab3e2819bd70765d363ca5f97822147bfac62e69de773a96d24a881394c35c1542a8f08a1828a82f94aaa7f02644";
@@ -22393,6 +24201,7 @@ hexgame = {
 };
 hf-tikz = {
   revision = 34733;
+  shortdesc = "A simple way to highlight formulas and formula parts";
   stripPrefix = 0;
   sha512.run = "47ca98b066829e6ea2009c4beb92db2c7671642c495f1011df9be00d546f3613b7853aba5db88e3805441eab66c873e15b60f5ef75cf21e906f80b5f11aa30a7";
   sha512.doc = "234a8ccdd9cd921368f700fdcca818d0c76265371ac89e09c1a54454fa3e00f0f28fdc7f962c227f9bb69d851585f2c65e20b4a4093aacc3ad0aa84d1abc7f87";
@@ -22403,6 +24212,7 @@ hf-tikz = {
 };
 hfbright = {
   revision = 29349;
+  shortdesc = "The hfbright fonts";
   stripPrefix = 0;
   fontMaps = [
     "MixedMap hfbright.map"
@@ -22414,6 +24224,7 @@ hfbright = {
 };
 hfoldsty = {
   revision = 29349;
+  shortdesc = "Old style numerals with EC fonts";
   stripPrefix = 0;
   sha512.run = "5ff36855df468bf59d387d56f4ea65c86ba304eb2495f2ca110558ef48c528ef444c7ebfaa378a454c311c806525ddaa639a32d3d1b16ca492b641f223133390";
   sha512.doc = "1f88ae3c13857be317ac2097093bb368a9f1ffa2a8fe1b5e15f59622dabdce2f2b3aededbca31a4d17f05c2dcb28f8ae0c9be3cfb1758bab4501a99efc68612c";
@@ -22424,6 +24235,7 @@ hfoldsty = {
 };
 hfutexam = {
   revision = 68829;
+  shortdesc = "Exam class for Hefei University of Technology (China)";
   stripPrefix = 0;
   sha512.run = "4ebc270b01ed4f0e9d1aa501cb16cc0594c209cb77423b3b83b43600cb1080fbbfa8ecd9d2512e460d7215260a3045f1f33f469762e8a7321ace472d69e0a43b";
   sha512.doc = "bc70bcca6f0dc432fe6fbf1c92ae8a364a93a8e94d65cbd22939ee2313bd5d82e2446e60b6dc0f8a4b88e49f5cb2b3fef9ea5502e5362860eff10a8123645c40";
@@ -22433,6 +24245,7 @@ hfutexam = {
 };
 hfutthesis = {
   revision = 64025;
+  shortdesc = "LaTeX Thesis Template for Hefei University of Technology";
   stripPrefix = 0;
   sha512.run = "928dc93116a78a440fd1dcb163ccd5d88daa4b96a6850f5bb45c996c3c81249982588ffda7f51f4c76f153f3df6f85e033ce15d28593c4d6235f7781a829ddb6";
   sha512.doc = "491a841f563a79fbbc71d19bc9aa259ffc4429db53c86812724306432dcd7a5d3af98eb2ce1defd4f6af02fd5f4b34d4b5a96de540e95bd59fd7991ddd5dbc85";
@@ -22442,6 +24255,7 @@ hfutthesis = {
 };
 hhtensor = {
   revision = 54080;
+  shortdesc = "Print vectors, matrices, and tensors";
   stripPrefix = 0;
   sha512.run = "ce772bed045b85de5032e3b4beff52958e18513e2c9628e67505b75baa17befe4e3a5eb86f812305b87dbd15dd2f483df78ca7c5db54b64cf18abc75a2ae8f59";
   sha512.doc = "aca1224b327f448bbb3f598b350fd4e569960bac9d05b8674b4cde79c4a13b376dc2a932b8fbd315f63f9dbc930ea28599afc18340eb36d4a38d967c14b62152";
@@ -22452,6 +24266,7 @@ hhtensor = {
 };
 hideanswer = {
   revision = 63852;
+  shortdesc = "Generate documents with and without answers by toggling a switch";
   stripPrefix = 0;
   sha512.run = "9124e631262dce82cea19158e34353817129e014ec5808dbfbe87df661127d516664de2a895622344dc663c68ca51731bb6d887a5043789e3d830fa908b82cdf";
   sha512.doc = "f9bad79f55157a0f9007c1f551592d0e054f2a519aeda36c175afa807a70542068cce1b9bffb31855de8e99e8460fa22f41f046be25c2bb4757ba859300b77b2";
@@ -22461,6 +24276,7 @@ hideanswer = {
 };
 highlightlatex = {
   revision = 58392;
+  shortdesc = "Syntax highlighting for LaTeX";
   stripPrefix = 0;
   sha512.run = "befd40ea2efc15015a76f97add004e33da86c628b3bf58277f8a9feff9396544acdc6603cae74e7bb88d2c819656edcbce9897e32f65156f39a0667c087a491d";
   sha512.doc = "20760262af6cfeccf512ab205fb874b3f1c9b3c15637ed6500bf5b627ba2f319963eee0f76aa480e1257b0cb31288829bfe324f05afde290c3433aa9a018c10d";
@@ -22469,6 +24285,7 @@ highlightlatex = {
 };
 highlightx = {
   revision = 68756;
+  shortdesc = "Highlight formulas or paragraphs";
   stripPrefix = 0;
   sha512.run = "64919a37471b4ed0520cfcf8685a67ba2f9f84a278b9dc7524a484876e95072906cc5a7d40bd8c751ea2d4ec65633e589274e0b729f43625b46f91928a50b3e3";
   sha512.doc = "ff1b00aacdf83fcc54021520bc447184ebf29498d2b5ea66b3c3266560066bc1b05d7f9edf61eee810100531c76db4c65814cb1d6c3051dd1e3d4911e41c145c";
@@ -22478,6 +24295,7 @@ highlightx = {
 };
 hindawi-latex-template = {
   revision = 57757;
+  shortdesc = "A LaTeX template for authors of the Hindawi journals";
   stripPrefix = 0;
   sha512.run = "1f6651a4aa033a7cff44caff62d01f3dc5dc280bd19d8a0541c78cd35116e9f765517a078f6f6f7a25f9ee42fc4e4e743b86a746e80583b491ac399d46e94ff1";
   sha512.doc = "459a131616a15431dd489aaa87a23533ae5eb58575f38757a81af8eba425bd4e5c0c0f3a11a3c030d04ecd7d29e9ab08b3f4e270961c4c8e8791c15a497ba7fe";
@@ -22486,6 +24304,7 @@ hindawi-latex-template = {
 };
 hindmadurai = {
   revision = 57360;
+  shortdesc = "The HindMadurai font face with support for LaTeX and pdfLaTeX";
   stripPrefix = 0;
   fontMaps = [
     "Map HindMadurai.map"
@@ -22498,6 +24317,7 @@ hindmadurai = {
 };
 histogr = {
   revision = 15878;
+  shortdesc = "Draw histograms with the LaTeX picture environment";
   stripPrefix = 0;
   sha512.run = "987c392828a4995afdb37b10194c7735a7dfe3375bcc6efda6592d3f35351c369c045a2c1464cd2653d6275913a335ce3d527afb44c51ee38d3038d4751eaadf";
   sha512.doc = "6cebdf9d6000ba48dd8106645e7a05709ced06c8790f8383a036629d8d53ca434f5c5aa0ff511754ea9e00fa743e435a304dacc16edf18098409972f763f9087";
@@ -22508,6 +24328,7 @@ histogr = {
 };
 historische-zeitschrift = {
   revision = 42635;
+  shortdesc = "BibLaTeX style for the journal 'Historische Zeitschrift'";
   stripPrefix = 0;
   sha512.run = "da501792653c77f7cdac978a348e1267d4abc2e80d8b5565b47fdab4a1e2204f9544bab972a291d191ce26bd29203ff28a6440e2f8969cf1b33a5cea48998b04";
   sha512.doc = "1b091b850e4936e8e6484ca484f740005c66458655a0cbe24938c3f33f23807fe9b7a0ab93b38f6a3481c684e35031398860d5452f6bc3fc8a8e6f4c2e82f927";
@@ -22517,6 +24338,7 @@ historische-zeitschrift = {
 };
 hitec = {
   revision = 15878;
+  shortdesc = "Class for documentation";
   stripPrefix = 0;
   sha512.run = "d7ebe166a23c05a1b78552c102507e697c07b955cddc8f4061d22fc42fc414664d3a1bc1c08e0dd122a987c736d24d4935dd944b37f62fe260b3c811678a3b30";
   sha512.doc = "f166b529f29f0470770d5a24e0f3ea2be9021732fb5373611b87cda10ff2196d1d121258fda75369a2f0f9a65324f4a8dc0d3c5f377cf994c04807b18b5a46f3";
@@ -22526,6 +24348,7 @@ hitec = {
 };
 hitex = {
   revision = 66924;
+  shortdesc = "A TeX extension writing HINT output for on-screen reading";
   deps = [
     "atbegshi"
     "atveryend"
@@ -22575,6 +24398,7 @@ hitex.binfiles = [
 ];
 hithesis = {
   revision = 64005;
+  shortdesc = "Harbin Institute of Technology Thesis Template";
   stripPrefix = 0;
   sha512.run = "d4060e3b06d2a103f414402e83bf5f5277c2af784b00abc7c6c0468518b0bbeded50f08735573e4a170eedd46227957127e3c3d2ab44edebe7386a7893af432e";
   sha512.doc = "c5fe2912c4429fc14fb43aa7de9ef76e30b0354f8e673ab9ce693c75a85f5c6dbf77927d1dcd82c0c5aae4a84a665d37fdd505f1bb2dd0e1ade7e5dad3ba5ad1";
@@ -22585,6 +24409,7 @@ hithesis = {
 };
 hitreport = {
   revision = 58357;
+  shortdesc = "Harbin Institute of Technology Report LaTeX Template";
   stripPrefix = 0;
   sha512.run = "e91894f8589f029d9cfe58d743d495131c24f0f6d6705d52d34ef34e1cbde5ba6dfd8e256cdd09ad7fa3080c613c3feaeaa15d3ca6ddb51fb82ba0a4bc333b99";
   sha512.doc = "e7f0b2566042a8442d5fd5cf36e4eeaffdf093a682b8c640ae8b059016997148d17d9449fdfc6026ba169731e0a7e2bb60c525a4ace29e296fbf1a910e887e9f";
@@ -22595,6 +24420,7 @@ hitreport = {
 };
 hitszbeamer = {
   revision = 54381;
+  shortdesc = "A beamer theme for Harbin Institute of Technology, ShenZhen";
   stripPrefix = 0;
   sha512.run = "a90ea22943c228d15f659bc562d79b9e50b157451ee9d06b02cbcdf5a1ef4c1eb353c756e0963d113d6258c1799ab22f71a79905387c78638c01abeb3d936e00";
   sha512.doc = "84d8a9edf719b1af7ee9d8276d91bfb15306bc3a5632c5c0290412533a5c321c1087bb642104d47137007c9328a346f72c8ab87b9d5f8b94e3ca0b6d2fd18a70";
@@ -22605,6 +24431,7 @@ hitszbeamer = {
 };
 hitszthesis = {
   revision = 61073;
+  shortdesc = "A dissertation template for Harbin Institute of Technology, ShenZhen";
   stripPrefix = 0;
   sha512.run = "b7a3dbbed2d9520aa26fbf88e9fd5f864912dbf0ebdf052cf65fe888676b9d5ce9917d154bef8bed2c5cdbec6bba5ce57cd434bdf3d9ff8c41ca6fc12f07a8ce";
   sha512.doc = "577c2dace816b5356e3a2da21f8e95aa165e55b75f5df0524d5abe6649d6e1879b7a2e97d0da88890e37baa05becfbcd567b977d62c58f17e0f372234cf00b36";
@@ -22615,6 +24442,7 @@ hitszthesis = {
 };
 hletter = {
   revision = 30002;
+  shortdesc = "Flexible letter typesetting with flexible page headings";
   stripPrefix = 0;
   sha512.run = "bd79dec347980624c634918880718af9e434e24acaed206815e974c2db856e8f424e12b6870d920079626423f18a02fd326bdc387c256ae9c3a1dfa4ae26e71b";
   sha512.doc = "67a9a39cf0c8ac1054588ad542a8ba3705e94445920d4ca85b46423a4cea364c58e8d2b02b7d7579c9684653734f0766e8ddced28a7c5ec77e0daa3c3dee26b9";
@@ -22624,6 +24452,7 @@ hletter = {
 };
 hlist = {
   revision = 44983;
+  shortdesc = "Horizontal and columned lists";
   stripPrefix = 0;
   sha512.run = "9e2150f08a7fac07a0e2e36edcecbd5c16ab3c119d8532fbae9399f14c6c7567d2cf4e2a92eda9a650049a901a35b6a9a0dd3423a06da6a9d266a3859392334d";
   sha512.doc = "5b3748d7f67fb51dc0df2a03318e96ac9224abc42291ab475a907befa14fc210d9d2371005150404480900865e8ffa9f97e3ab122109bb5454c3b061f66a064d";
@@ -22633,6 +24462,7 @@ hlist = {
 };
 hmtrump = {
   revision = 54512;
+  shortdesc = "Describe card games";
   stripPrefix = 0;
   sha512.run = "34b2e61744e3f8cf180a61ca13788834466dad7bdf831e576829e0f6613c5e8a6330075e89516915728a5936a68c14288c79e0f050e5956964d69bab3784d9c6";
   sha512.doc = "36c1a35cb4efb4dc340a439a921252cbaf48d3f0b7fab0010a7fa22d8b03e7b5b644244410efa9fdc63b5fbf69eb9396cc048908d00210e650941a0647d3f4d3";
@@ -22642,6 +24472,7 @@ hmtrump = {
 };
 hobby = {
   revision = 68137;
+  shortdesc = "An implementation of Hobby's algorithm for PGF/TikZ";
   stripPrefix = 0;
   sha512.run = "0caaaf772dc325e70594f909f1a58740224195aa7af7ef86571e7a97e1245cea5ad6a704415a3275719fadaf74ec55605e66af55dbbdff4c524f529e121035ad";
   sha512.doc = "3e418503ef48dd0be479f17171d8c6767c77da95d43a2f31a374cbb6ed47c5129e2baa64ca15128240856790ea92acd2b090364384c29954266d2b9ec6aed362";
@@ -22652,6 +24483,7 @@ hobby = {
 };
 hobete = {
   revision = 27036;
+  shortdesc = "Unofficial beamer theme for the University of Hohenheim";
   stripPrefix = 0;
   sha512.run = "d2c79f5d39fbe82b43704a78add3a016768ff282d48ed1f49d1991c6ab56bef5266e8cfa7b3b03bcc944990d407ae43eca99930270ab84679f51323407b861a0";
   sha512.doc = "ef7b1bd487c496cb2ffc01fb2940a72ac69edb1a5516d19ce6a6e6cb197ba6f517e03ac673b2372cc9cd4f40e5c6ea2469c2712528a10a3f5ba09e9d3a46f209";
@@ -22660,6 +24492,7 @@ hobete = {
 };
 hobsub = {
   revision = 52810;
+  shortdesc = "Construct package bundles";
   stripPrefix = 0;
   sha512.run = "586189051038582c9303935c70bed67975f51472d28b533e4b72ef341d4d93ad8f313774a5c585baf4b72d607101941f01176892499c7ecc5cec3ede2e28a693";
   sha512.doc = "8cf2210285b162e52e2cbaf0d1a9e7027ca3aeb7da81ba238fff97a9cb10c7ba9058f5eb4f28303031a7774f457207ace1f30610cef2f733dd65b35d9ab6b1b7";
@@ -22668,6 +24501,7 @@ hobsub = {
 };
 hologo = {
   revision = 61719;
+  shortdesc = "A collection of logos with bookmark support";
   stripPrefix = 0;
   sha512.run = "d4c5899f35a7405ff19ba810af17a86c25ba76cd01597dd19e074ec468052a95c85f8a80e1f0467f48f72280246c152bb24928a68fbbdb2cf6f0788cf94703b0";
   sha512.doc = "f92326ed2d0bb3ac455a54889b469f69563d4a91e80883bfcf0ce92fb55c0dd63423be8ec800696f8c078bede28929e8a79d43174e8cd1a802b4a6ac88cff178";
@@ -22678,6 +24512,7 @@ hologo = {
 };
 homework = {
   revision = 70050;
+  shortdesc = "A LaTeX class for writing your homework";
   stripPrefix = 0;
   deps = [
     "einfart"
@@ -22689,14 +24524,16 @@ homework = {
 };
 hook-pre-commit-pkg = {
   revision = 41378;
+  shortdesc = "Pre-commit git hook for LaTeX package developpers";
   stripPrefix = 0;
   sha512.run = "6fb3009d4bb4016f0d6e92571d52aaf7e3780d39a6b2ec73ffb37112b3f153ed71ecbcd985b81dd841f296a39da83e9004a2d6e6e85e9a49765e1682563cfde3";
   sha512.doc = "3873c4714a8a6d221f860a5d0606113c64482b363727067e0017d27e99d73f31cfdac88a799fb1412225baffaecd7bb03dbdc66b607a075b1e4539ffc0df2a9d";
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
   version = "1.1.2";
 };
 hopatch = {
   revision = 65491;
+  shortdesc = "Load patches for packages";
   stripPrefix = 0;
   sha512.run = "6c0f9549ce0321d9080cd0dfd3062eab47722bedac79293a14019c25edfdca7afd0cd6bd3b7be67a99a93ea0b347ac798a7b24909886d300e7085ca67d1a5c42";
   sha512.doc = "4fbf84371053bd67fb3d4b370bc335013cb62042cf9c13d2fc1c63a582a56885a93f73a44aff8986b4c657f7d172a1bd75cbde556633647a1abafb72746f9150";
@@ -22707,6 +24544,7 @@ hopatch = {
 };
 horoscop = {
   revision = 56021;
+  shortdesc = "Generate astrological charts in LaTeX";
   stripPrefix = 0;
   sha512.run = "d00c8ecbc9c76c2864a52a8bc9f802477e402a59c86789252bce1b8296735035b7b9cbb1c3a18baa76cd1d308d4af53d7d2f64ee9aa37a70e33bf27e1465207a";
   sha512.doc = "9bdd655263da0847bed65c71e423e301a35e69d7cceacd650c0e9d4be91800c0de5fa0d7aa917a6d5f5abcc585ed031e6ec84ef003bb813be41e3daa3ab95f82";
@@ -22717,6 +24555,7 @@ horoscop = {
 };
 hpsdiss = {
   revision = 15878;
+  shortdesc = "A dissertation class";
   stripPrefix = 0;
   sha512.run = "4905368d081cc6e7f2c7b43b28d4c6e22081796d8594e5a07e521bb7ab0fb14c9ccce1dcbe135b0cbc5a7b2671e3041d7764ff80c7e1543b4ac4cefe945794b4";
   sha512.doc = "566f0509feee0bc5c28481fb62f2c991827cd5855f9696fdda79628f5c43329b39dd508fe9613d2c0f823bef421a97393fd303d830c779c42ac67f88303a239b";
@@ -22727,6 +24566,7 @@ hpsdiss = {
 };
 href-ul = {
   revision = 69359;
+  shortdesc = "Underscored LaTeX hyperlinks";
   stripPrefix = 0;
   deps = [
     "hyperref"
@@ -22741,6 +24581,7 @@ href-ul = {
 };
 hrefhide = {
   revision = 66189;
+  shortdesc = "Suppress hyper links when printing";
   stripPrefix = 0;
   sha512.run = "f62671bc667f8a0eccf2d63b06b55e5483a7f5d1f97e4a1f829c898fe947adf048c21cac10b659160d6ee51f0ad4a48a3998a1e820e387881b6df390ce9bbd0f";
   sha512.doc = "0ade5f947160493a66f8772d6980db65d0c52ef03b1c12cc2841ae40eeebaddb8b0af50a8c28b010cfe7689dd1bfaa136b80c419fe26ecad302699e754f372b0";
@@ -22751,6 +24592,7 @@ hrefhide = {
 };
 hrlatex = {
   revision = 18020;
+  shortdesc = "LaTeX support for Croatian documents";
   stripPrefix = 0;
   sha512.run = "14bd6fdf4a60ec599971b1f5ee7ae5fc649b0d1382f9dff8bf9905f4623f3964c2d552bbc4485680d22cf04651a5e49b71220ec2c05e6599356b6dcee6e4d122";
   sha512.doc = "ecd67675466d365f00e49b775ae3e5264e2d10d574dbbe913d52b3a5b553fe942e06fcca26cb2357fa76688c55fc4268bf7d18f5cb2a90663bfe47c11a5bbde7";
@@ -22761,16 +24603,18 @@ hrlatex = {
 };
 hu-berlin-bundle = {
   revision = 67128;
+  shortdesc = "LaTeX classes for the Humboldt-Universitat zu Berlin";
   stripPrefix = 0;
   sha512.run = "57b3122fb063e5f930e5d94aaa94dd00fccbe865570c345abbb6252c42d3f67ed7f2dd163d9474452142ada7691783b7b4e0aaa8a23fcf6320c4bbc581e5391d";
   sha512.doc = "91483639fbbe4b073eb299b0153eb57383dc59c7d669bfc07e275bf445b22f2eff35a7abd632388d701eb23eb833561d9ad4d865f3e8d7495bf44c74be8dd12e";
   sha512.source = "eaea8de8f9ff48ee7cc3d1d91819cfad340f9f8aa2b666bc23fd28489c585b4344a946cfca6334620acbefa2602f90050476c5da56552088b1c1ddd3c483af0f";
   hasRunfiles = true;
-  license = [ "lppl13c" "gpl2" "bsd3" ];
+  license = [ "lppl13c" "gpl2Only" "bsd3" ];
   version = "1.1.2";
 };
 huawei = {
   revision = 69871;
+  shortdesc = "Template for Huawei documents";
   stripPrefix = 0;
   deps = [
     "anyfontsize"
@@ -22822,6 +24666,7 @@ huawei = {
 };
 huaz = {
   revision = 64723;
+  shortdesc = "Automatic Hungarian definite articles";
   stripPrefix = 0;
   sha512.run = "78331527a14c974923706a26527c8b42e1467935a741d28e81e7ba0510b29cc26242f8b811ac7025a9be3da1d92a2d65fb47dbd798fc1ddd985d58ad96e82c9b";
   sha512.doc = "32c2279e927dfe4fce1554b2dc9a747aa274c6406a0b98fe4477fcf159d3b978f46035badb293bea596067583ad738373e2bf3680fb1d5e20284a0d45b3900a4";
@@ -22831,6 +24676,7 @@ huaz = {
 };
 huffman = {
   revision = 67071;
+  shortdesc = "Drawing binary Huffman trees with MetaPost and METAOBJ";
   stripPrefix = 0;
   sha512.run = "0d78c3874045ce45d703f443817d9b20b5baca0e3b713bc5f09e18a64102af3d349ebb5b7051a5152eaf06c8d9cd01c3a00b5a3c0f5b4db12f566b5f5356c991";
   sha512.doc = "3c1651e5cb8b527e1c55aaf682003c1639c91efd9bcaa4fa51779fac572550195979c0baf2bb4738f8b5e2628b6deb4af6109938ce70e4238696ca35f7e4ea34";
@@ -22840,6 +24686,7 @@ huffman = {
 };
 hulipsum = {
   revision = 56848;
+  shortdesc = "Hungarian dummy text (Lorum ipse)";
   stripPrefix = 0;
   sha512.run = "32e981937f3077fb1310205f17bd10c93ae20c98e098f766b0a90218d81c7708071aa4ca605bfc55da1614116cbd8299f9cf1853426dae04a99669839b2d5c83";
   sha512.doc = "862a91b902cc8bb0d71efe3933bd0a1b0f3aba1023586595d57cd45e15a0b961cc3c56a59315eee02337f89d35582497dd6894bf3ead060d2863823765211e1f";
@@ -22850,6 +24697,7 @@ hulipsum = {
 };
 hustthesis = {
   revision = 42547;
+  shortdesc = "Unofficial thesis template for Huazhong University";
   stripPrefix = 0;
   sha512.run = "508c86a6cf5e3d952dd43786f78952cc8bbe635620a913abd82b49c2cfade29875bc924d5ea89803b03008328c7297010e98f70b62b5191d9855e0cc1614d3d0";
   sha512.doc = "5c114cda4bd4264904b7fdfedd55720046403b8cd3c1bce4181dffbf319a9107ec0ad8cdd092922c8c5268aac62437d1128a45ea0cdff4121a40f02e26dc0148";
@@ -22860,6 +24708,7 @@ hustthesis = {
 };
 hvarabic = {
   revision = 59423;
+  shortdesc = "Macros for RTL typesetting";
   stripPrefix = 0;
   sha512.run = "2f9af35f3e3ebf6d90ed05a77fcd6d6c079d3a476c26e0704e6f6b74899badc3eb0cc79d37f5f9e8b6a2846edb869bf57fc5b4bf14e834629d126bc71b77e42a";
   sha512.doc = "8508cab70c4cc87665790dcfd34a4465fa22002ca19a41d2d24e21ae0a2ed833a7f3c0e346d36e8c95411ea925ad3ebda8b6d1ee4179610ce0e3f673e6226246";
@@ -22869,6 +24718,7 @@ hvarabic = {
 };
 hvextern = {
   revision = 69651;
+  shortdesc = "Write and execute external code, and insert the output";
   stripPrefix = 0;
   sha512.run = "2a2237872220066195c4ee4458eef20c01d6d1b9bffbb82efff08522052eba3775820bde7133cf9417ac591d2196f06d0f8400edae1fb15c82489731e4b9b28f";
   sha512.doc = "c77b44743e598b7bc3c7963a21d02bbd50e53b3346c102aa72926a46280a7aa39c6e48eb220ef1f8744f4f1dd2252dcefb3d876e788ccff1616fda4d55862a5c";
@@ -22878,6 +24728,7 @@ hvextern = {
 };
 hvfloat = {
   revision = 70400;
+  shortdesc = "Controlling captions, fullpage and doublepage floats";
   stripPrefix = 0;
   sha512.run = "dd24119659fc1b0d359488451218cabba05b226469c9a56997f6ae491fea42cf58d7b131f7e6ddbd576ae98d94575a9518aa4bb5d10a97875c0e19b647f0c250";
   sha512.doc = "98b26dee51f787d82e49f37fda6e902c39af3c5e0618090bd78e2577d0a080b7cd511064d7b41aa4e356d4ff176e87c9b68399d1e06532e20b6d392d3e714851";
@@ -22887,6 +24738,7 @@ hvfloat = {
 };
 hvindex = {
   revision = 46051;
+  shortdesc = "Support for indexing";
   stripPrefix = 0;
   sha512.run = "12e47531ca8dcea2f195d86b5721f2a62d2590de5a0b464e5e6de5484ee34803eac14f2474e4a00938f6d5e5b307ed3183ea3aa0a4f0d5874877356de6e8c83d";
   sha512.doc = "2a10c26537e550e3d51330c704711c2c43b872f90db15ee709dcfe603a5fc64102a8b466c5d5b7ab4706d5e96e91b11559305ac607477776f34da97590151368";
@@ -22896,6 +24748,7 @@ hvindex = {
 };
 hvlogos = {
   revision = 69581;
+  shortdesc = "Print TeX-related names as logo";
   stripPrefix = 0;
   sha512.run = "eabf4a92462aa7ead3ae7930400c641d6e64b520867c9e7cceaa48872dca31716ce965cf105c784b725878fad05e6d082a9f9e9cde94b254c780ce55f7daf515";
   sha512.doc = "3124f1521eee4688e6cde38bb39e9c4a123d5d06d008b23447495fdf11f3b3f8ff98f138f2096c322ebbd8f714e60208958b0b01e98c6b81c09c80eb2908424a";
@@ -22905,6 +24758,7 @@ hvlogos = {
 };
 hvpygmentex = {
   revision = 62405;
+  shortdesc = "Syntax-Highlighting of program code";
   stripPrefix = 0;
   sha512.run = "5770b9933ad2dc7c844ba2281a3717bc1d27f67a834de45a87effd400551fc74d111ba5087ceab96b2a9e6ed11293fd0d3dfbaf7ac89c4d9a1434911a2fbf734";
   sha512.doc = "cd7b3a615ab8ca79e0d0e9feb7804cabd9036831d2f9761429b7bf528125d055e29f3f7a2e1eeb8efd4c73c1f6f8e0ed03a2ba47dbf9504fc1a750b4c278843c";
@@ -22914,6 +24768,7 @@ hvpygmentex = {
 };
 hvqrurl = {
   revision = 69723;
+  shortdesc = "Insert a QR code in the margin";
   stripPrefix = 0;
   sha512.run = "cfeaea8387dfd425278cc9a8f278d7a0a1590336e24a8b8112b6407a808688012c970822973fa7b4a2816fdf0422171ec6e2926bb51a012f02c7a5b273465a9b";
   sha512.doc = "ee7e0e77406e2e486a2898710953db49aebc28a9bf39d0e40cda20c38a1aa67d0f48f7936fd36bd417658600f82641f6f7d39d12b328d615ac694abd49d76f69";
@@ -22923,6 +24778,7 @@ hvqrurl = {
 };
 hwemoji = {
   revision = 65001;
+  shortdesc = "Unicode emoji support for pdfLaTeX with sequences";
   stripPrefix = 0;
   sha512.run = "fb29647b4b81c5c4cc389fe4957400e01dd408f9b915fa4062218af3b2a8eb852315399251c257ed1220ff48359940c59ab9a09dc7a67fa8f0817e39636a1312";
   sha512.doc = "ec35434e49038755dfaef171273e70baffeb3021d002c83703bdc18d0f181f8027a01272bf5b3ce02ceede62495dc9dc1f1c390323e73d77b1bb6adf226f74b1";
@@ -22932,6 +24788,7 @@ hwemoji = {
 };
 hycolor = {
   revision = 53584;
+  shortdesc = "Implements colour for packages hyperref and bookmark";
   stripPrefix = 0;
   sha512.run = "5269044c5b462f13c78e80d28f7237f2d6e353da98db50267a5c4f01b22d565b0300c689470f6eb1ef9af7b66c1068c1d40d7a30ae01f30e7b3649189a7e7fbd";
   sha512.doc = "79e4c83b952182ea89b2ae7a1abdafd771359baadd34fce8d573d7449b24908a5bbf515d16d73fd088e7add82c143a458b2c196c125e5b492033cb36da63eb6d";
@@ -22942,6 +24799,7 @@ hycolor = {
 };
 hypdestopt = {
   revision = 56253;
+  shortdesc = "Hyperref destination optimizer";
   stripPrefix = 0;
   sha512.run = "784fbff599b60abebd3ae794376a65b460c0ac4aa189319e3f245c1feefa5bb501acf75ed345bb6099e301070d0c1e1eaca62129c4e82fae5611526b6aff370d";
   sha512.doc = "cde846c9c4da226d27bd15881577ad3f1c3f0639c3e37fc86486af40939b0efb2d22d522646136b1b2fe2ebbfd5f2338e347b7476be7289d2a3710d43c2fc8ac";
@@ -22951,6 +24809,7 @@ hypdestopt = {
 };
 hypdoc = {
   revision = 68661;
+  shortdesc = "Hyper extensions for doc.sty";
   stripPrefix = 0;
   sha512.run = "bdd5a75f53b714976f54f0fea68093d79dc0d781a708dabbd3cb90e49d77f282ee15cbf8c1082cd5746bbe6b701e58e71bde38141db56cab5042d7556771d286";
   sha512.doc = "cece39375981cc4adb60b20387ca441404a69c734f686cbe51df759b3025833814e9ec09aa4b720359cce4c4ae14b12cc03ff38954c3fb12ef268304a60f9dfd";
@@ -22961,6 +24820,7 @@ hypdoc = {
 };
 hypdvips = {
   revision = 53197;
+  shortdesc = "Hyperref extensions for use with dvips";
   stripPrefix = 0;
   sha512.run = "515089c437413d6d21c8d2987b8917aca7c046e42c0dc9212b39be1c9119bcc867f70c37087f9f3709db8c9f824ffe16d1b261f34d06d66e12857db9854892f7";
   sha512.doc = "ef485ca27145ffc614c78547f68d574a0b27cd1a7cd5abd5752681e20ad6612e280f34f85c3e1c753bc6cfea976c9801da1768bda1dcea377c19b138ec9f2777";
@@ -22970,6 +24830,7 @@ hypdvips = {
 };
 hyper = {
   revision = 17357;
+  shortdesc = "Hypertext cross referencing";
   stripPrefix = 0;
   sha512.run = "6e5bbad0a682440e28be67fc893a970de315671e1f4987bebff4a163d9c38bb33d8de9557765f1d8c74386556c59e332ef5855a3f1fe36d08eddcbd2a77179df";
   sha512.doc = "41fafe8bcaf651994c45abd0040e2123caf8e33fd2d06fafd310d978c10ae5c705f7dd64d9b4740bacee51f11fe52741ed64f83d6b236d298cb6c932fd3ba06e";
@@ -22980,6 +24841,7 @@ hyper = {
 };
 hyperbar = {
   revision = 48147;
+  shortdesc = "Add interactive Barcode fields to PDF forms";
   stripPrefix = 0;
   sha512.run = "80077002a3bdc99339749e2f76687a0f8597a786fd3ca3f5207ec44dc2037dbec1e696ab58d77ee6b067d6e958357cb8f0c9805621c3feeb40dde004851311b3";
   sha512.doc = "0598acd8fb945605b204c5c99982db63f4fc06fc82c47f7b301ead30be0474c7dde5eb4f78f3aa698160cd068d38aa2aabe3a1fae3c49cc32194e7cd796839c2";
@@ -22990,6 +24852,7 @@ hyperbar = {
 };
 hypernat = {
   revision = 17358;
+  shortdesc = "Allow hyperref and natbib to work together";
   stripPrefix = 0;
   sha512.run = "0a803b9e7d23d364122869a89a6f181132f00b54d39f677a9d9471c336c933ba0e743fa4100636a6d3e929714a8896ce964e7614800c675ab9df7cce7e6d732c";
   sha512.doc = "04a3f646e1595404513149f0ba56a36f0cc21a29f3ab455f38c4a7c3f5a282199208ac3aad329f38aa9fd5086762d326d85fa5052dba125d944969bfc0446489";
@@ -22999,6 +24862,7 @@ hypernat = {
 };
 hyperref = {
   revision = 69523;
+  shortdesc = "Extensive support for hypertext in LaTeX";
   stripPrefix = 0;
   deps = [
     "atbegshi"
@@ -23028,6 +24892,7 @@ hyperref = {
 };
 hyperxmp = {
   revision = 68251;
+  shortdesc = "Embed XMP metadata within a LaTeX document";
   sha512.run = "79dfcb70b4df1be8ada345507f0cece0b36c38f57c1b5e92fa008af3ceb5209c5df10d9144a24af4473a2f640d2adb59054cd9985f762b9b6cf7db45ed99c4cf";
   sha512.doc = "b56e9ef7beb7502ba2e952267fddeb3a26597e9e5193ed66369dc3c78f5a08d34b5fca0685cab8f6ec67e12167a1aca309a18b85073b8e9c497641cf062be6b1";
   hasManpages = true;
@@ -23041,6 +24906,7 @@ hyperxmp.binfiles = [
 ];
 hyph-utf8 = {
   revision = 61719;
+  shortdesc = "Hyphenation patterns expressed in UTF-8";
   stripPrefix = 0;
   sha512.run = "64055aa046fdbc721fda474b7848b37d094b1a8f5f01e507df80003ba591dd959871c880f04d5bc6e0bf169e99bf89f5a1a7dad1195c8839773fc613f3719d9f";
   sha512.doc = "c4aac42267b75a16559705e7de3716eafbec96a285d523d5e7b2f77f345d8e344e174571e247b9c5de8fac75942bc1b0f924e81efd8356b52c9ed91a149d8f09";
@@ -23050,6 +24916,7 @@ hyph-utf8 = {
 };
 hyphen-afrikaans = {
   revision = 58609;
+  shortdesc = "Afrikaans hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -23070,6 +24937,7 @@ hyphen-afrikaans = {
 };
 hyphen-ancientgreek = {
   revision = 58652;
+  shortdesc = "Ancient Greek hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -23097,6 +24965,7 @@ hyphen-ancientgreek = {
 };
 hyphen-arabic = {
   revision = 54568;
+  shortdesc = "(No) Arabic hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -23115,6 +24984,7 @@ hyphen-arabic = {
 };
 hyphen-armenian = {
   revision = 58652;
+  shortdesc = "Armenian hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -23136,12 +25006,14 @@ hyphen-armenian = {
 };
 hyphen-base = {
   revision = 68321;
+  shortdesc = "core hyphenation support files";
   stripPrefix = 0;
   sha512.run = "d3f2749cc6946702ff0d51c1d823531bc92b77c1106aec252c84cc8649aa56048556c90e9792f1b0749bba0b86b7c34aa2b04fe2946d1226315dbc73add36913";
   hasRunfiles = true;
 };
 hyphen-basque = {
   revision = 58652;
+  shortdesc = "Basque hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -23164,6 +25036,7 @@ hyphen-basque = {
 };
 hyphen-belarusian = {
   revision = 58652;
+  shortdesc = "Belarusian hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -23184,6 +25057,7 @@ hyphen-belarusian = {
 };
 hyphen-bulgarian = {
   revision = 58685;
+  shortdesc = "Bulgarian hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -23204,6 +25078,7 @@ hyphen-bulgarian = {
 };
 hyphen-catalan = {
   revision = 58609;
+  shortdesc = "Catalan hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -23224,6 +25099,7 @@ hyphen-catalan = {
 };
 hyphen-chinese = {
   revision = 58652;
+  shortdesc = "Chinese pinyin hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -23244,6 +25120,7 @@ hyphen-chinese = {
 };
 hyphen-churchslavonic = {
   revision = 58609;
+  shortdesc = "Church Slavonic hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -23264,6 +25141,7 @@ hyphen-churchslavonic = {
 };
 hyphen-coptic = {
   revision = 58652;
+  shortdesc = "Coptic hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -23284,6 +25162,7 @@ hyphen-coptic = {
 };
 hyphen-croatian = {
   revision = 58652;
+  shortdesc = "Croatian hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -23305,6 +25184,7 @@ hyphen-croatian = {
 };
 hyphen-czech = {
   revision = 58609;
+  shortdesc = "Czech hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -23325,6 +25205,7 @@ hyphen-czech = {
 };
 hyphen-danish = {
   revision = 58652;
+  shortdesc = "Danish hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -23346,6 +25227,7 @@ hyphen-danish = {
 };
 hyphen-dutch = {
   revision = 58609;
+  shortdesc = "Dutch hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -23368,6 +25250,7 @@ hyphen-dutch = {
 };
 hyphen-english = {
   revision = 58609;
+  shortdesc = "English hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -23397,6 +25280,7 @@ hyphen-english = {
 };
 hyphen-esperanto = {
   revision = 58652;
+  shortdesc = "Esperanto hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -23417,6 +25301,7 @@ hyphen-esperanto = {
 };
 hyphen-estonian = {
   revision = 58652;
+  shortdesc = "Estonian hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -23437,6 +25322,7 @@ hyphen-estonian = {
 };
 hyphen-ethiopic = {
   revision = 58652;
+  shortdesc = "Hyphenation patterns for Ethiopic scripts.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -23459,6 +25345,7 @@ hyphen-ethiopic = {
 };
 hyphen-farsi = {
   revision = 54568;
+  shortdesc = "(No) Persian hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -23478,6 +25365,7 @@ hyphen-farsi = {
 };
 hyphen-finnish = {
   revision = 58652;
+  shortdesc = "Finnish hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -23507,6 +25395,7 @@ hyphen-finnish = {
 };
 hyphen-french = {
   revision = 58652;
+  shortdesc = "French hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -23528,6 +25417,7 @@ hyphen-french = {
 };
 hyphen-friulan = {
   revision = 58652;
+  shortdesc = "Friulan hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -23548,6 +25438,7 @@ hyphen-friulan = {
 };
 hyphen-galician = {
   revision = 58652;
+  shortdesc = "Galician hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -23569,6 +25460,7 @@ hyphen-galician = {
 };
 hyphen-georgian = {
   revision = 58652;
+  shortdesc = "Georgian hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -23589,6 +25481,7 @@ hyphen-georgian = {
 };
 hyphen-german = {
   revision = 59807;
+  shortdesc = "German hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "dehyph"
@@ -23626,6 +25519,7 @@ hyphen-german = {
 };
 hyphen-greek = {
   revision = 58652;
+  shortdesc = "Modern Greek hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -23658,6 +25552,7 @@ hyphen-greek = {
 };
 hyphen-hungarian = {
   revision = 58652;
+  shortdesc = "Hungarian hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -23680,6 +25575,7 @@ hyphen-hungarian = {
 };
 hyphen-icelandic = {
   revision = 58652;
+  shortdesc = "Icelandic hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -23701,6 +25597,7 @@ hyphen-icelandic = {
 };
 hyphen-indic = {
   revision = 58652;
+  shortdesc = "Indic hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -23809,6 +25706,7 @@ hyphen-indic = {
 };
 hyphen-indonesian = {
   revision = 58609;
+  shortdesc = "Indonesian hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -23829,6 +25727,7 @@ hyphen-indonesian = {
 };
 hyphen-interlingua = {
   revision = 58609;
+  shortdesc = "Interlingua hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -23849,6 +25748,7 @@ hyphen-interlingua = {
 };
 hyphen-irish = {
   revision = 58609;
+  shortdesc = "Irish hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -23869,6 +25769,7 @@ hyphen-irish = {
 };
 hyphen-italian = {
   revision = 58652;
+  shortdesc = "Italian hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -23891,6 +25792,7 @@ hyphen-italian = {
 };
 hyphen-kurmanji = {
   revision = 58652;
+  shortdesc = "Kurmanji hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -23911,6 +25813,7 @@ hyphen-kurmanji = {
 };
 hyphen-latin = {
   revision = 58652;
+  shortdesc = "Latin hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -23949,6 +25852,7 @@ hyphen-latin = {
 };
 hyphen-latvian = {
   revision = 58652;
+  shortdesc = "Latvian hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -23969,6 +25873,7 @@ hyphen-latvian = {
 };
 hyphen-lithuanian = {
   revision = 58652;
+  shortdesc = "Lithuanian hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -23989,6 +25894,7 @@ hyphen-lithuanian = {
 };
 hyphen-macedonian = {
   revision = 58652;
+  shortdesc = "Macedonian hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -24009,6 +25915,7 @@ hyphen-macedonian = {
 };
 hyphen-mongolian = {
   revision = 58652;
+  shortdesc = "Mongolian hyphenation patterns in Cyrillic script.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -24036,6 +25943,7 @@ hyphen-mongolian = {
 };
 hyphen-norwegian = {
   revision = 58609;
+  shortdesc = "Norwegian Bokmal and Nynorsk hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -24065,6 +25973,7 @@ hyphen-norwegian = {
 };
 hyphen-occitan = {
   revision = 58652;
+  shortdesc = "Occitan hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -24085,6 +25994,7 @@ hyphen-occitan = {
 };
 hyphen-piedmontese = {
   revision = 58652;
+  shortdesc = "Piedmontese hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -24105,6 +26015,7 @@ hyphen-piedmontese = {
 };
 hyphen-polish = {
   revision = 58609;
+  shortdesc = "Polish hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -24127,6 +26038,7 @@ hyphen-polish = {
 };
 hyphen-portuguese = {
   revision = 58609;
+  shortdesc = "Portuguese hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -24148,6 +26060,7 @@ hyphen-portuguese = {
 };
 hyphen-romanian = {
   revision = 58652;
+  shortdesc = "Romanian hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -24168,6 +26081,7 @@ hyphen-romanian = {
 };
 hyphen-romansh = {
   revision = 58652;
+  shortdesc = "Romansh hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -24188,6 +26102,7 @@ hyphen-romansh = {
 };
 hyphen-russian = {
   revision = 58609;
+  shortdesc = "Russian hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -24209,6 +26124,7 @@ hyphen-russian = {
 };
 hyphen-sanskrit = {
   revision = 58652;
+  shortdesc = "Sanskrit hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -24230,6 +26146,7 @@ hyphen-sanskrit = {
 };
 hyphen-serbian = {
   revision = 58609;
+  shortdesc = "Serbian hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -24260,6 +26177,7 @@ hyphen-serbian = {
 };
 hyphen-slovak = {
   revision = 58609;
+  shortdesc = "Slovak hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -24280,6 +26198,7 @@ hyphen-slovak = {
 };
 hyphen-slovenian = {
   revision = 58652;
+  shortdesc = "Slovenian hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -24301,6 +26220,7 @@ hyphen-slovenian = {
 };
 hyphen-spanish = {
   revision = 58652;
+  shortdesc = "Spanish hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -24326,6 +26246,7 @@ hyphen-spanish = {
 };
 hyphen-swedish = {
   revision = 58652;
+  shortdesc = "Swedish hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -24346,6 +26267,7 @@ hyphen-swedish = {
 };
 hyphen-thai = {
   revision = 58652;
+  shortdesc = "Thai hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -24366,6 +26288,7 @@ hyphen-thai = {
 };
 hyphen-turkish = {
   revision = 58652;
+  shortdesc = "Turkish hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -24388,6 +26311,7 @@ hyphen-turkish = {
 };
 hyphen-turkmen = {
   revision = 58652;
+  shortdesc = "Turkmen hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -24409,6 +26333,7 @@ hyphen-turkmen = {
 };
 hyphen-ukrainian = {
   revision = 58652;
+  shortdesc = "Ukrainian hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -24430,6 +26355,7 @@ hyphen-ukrainian = {
 };
 hyphen-uppersorbian = {
   revision = 58609;
+  shortdesc = "Upper Sorbian hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -24450,6 +26376,7 @@ hyphen-uppersorbian = {
 };
 hyphen-welsh = {
   revision = 58652;
+  shortdesc = "Welsh hyphenation patterns.";
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
@@ -24470,6 +26397,7 @@ hyphen-welsh = {
 };
 hyphenat = {
   revision = 15878;
+  shortdesc = "Disable/enable hypenation";
   stripPrefix = 0;
   sha512.run = "5af847cd55cc1b455b1928f6ba275054209ad5c9c2f81a7ae648d87eaa39353e842b2df4e91cf530909a46b4aa226228978d771b35e46b7e12f1a08a08faa181";
   sha512.doc = "57f8a5d71763cac73635fddba75eb59faaaed01d47bcbb7ecc96b80fa5a926bb0091d3cd3448c6f53ad82cd44c9244ee631fb5b56141351b578cd899509eb323";
@@ -24480,6 +26408,7 @@ hyphenat = {
 };
 hyphenex = {
   revision = 57387;
+  shortdesc = "US English hyphenation exceptions file";
   stripPrefix = 0;
   sha512.run = "77ad574e0786d7cd8e7d731fa7666a6a531b29a914759ecbb9b5d6e5f62e9ec9027aae7e3b9ffd62bd918bb0354c41e865779b044381bc1b7256528eddb34754";
   sha512.source = "d93fbc4f3f1a711967f40bbb492e9f6497b7a91b90d42eab92f3815fd0d15b239286c96519acff2d6609be00809a86846ba2cea4bd94719a35aae024e5785a4c";
@@ -24488,6 +26417,7 @@ hyphenex = {
 };
 hyplain = {
   revision = 15878;
+  shortdesc = "Basic support for multiple languages in Plain TeX";
   stripPrefix = 0;
   sha512.run = "f2968e8baf048329d8c78934770aa5d0a364ac7b3f77dc00a163e085e4fe45420c180acd05b281016aefdfa6523bed234e75ca07da0d133438798c1e51330d83";
   sha512.doc = "cc64c35df85ba832f18f153d0f0cdc9f153ac4a9db0a175a1961a353f59ba585e19b6607e0c4cd1a832d921aa3451687427965cbef4fcb2a87488895e6643bb3";
@@ -24497,6 +26427,7 @@ hyplain = {
 };
 ibarra = {
   revision = 66892;
+  shortdesc = "LaTeX support for the Ibarra Real Nova family of fonts";
   stripPrefix = 0;
   fontMaps = [
     "Map ibarra.map"
@@ -24508,6 +26439,7 @@ ibarra = {
 };
 ibrackets = {
   revision = 67736;
+  shortdesc = "Intelligent brackets";
   stripPrefix = 0;
   sha512.run = "fee99798386a5a6b9b8ff2ae9d2eecc5f4dc835b825795400777780f567ade13d789e81de3e841a54653226098ec602fa91839ec86f25ac0ce2033b31508b4e6";
   sha512.doc = "1d6bd5b4a22a44f03006c1fee3d94ad2760042ac98835d1ab043905595f435b583ba2b65fb6f0f881234085f028f492a283a5593d9a8316eec6fab541fc3c6a6";
@@ -24518,6 +26450,7 @@ ibrackets = {
 };
 ibycus-babel = {
   revision = 15878;
+  shortdesc = "Use the Ibycus 4 Greek font with Babel";
   stripPrefix = 0;
   sha512.run = "30f810bd70555df4f05fbc0b073456c030a0768372bd3c681921f41fc31bfbe0570a39e474ab26aeeacb142622154e5cab3714412b09f89d1260fae8b60e817a";
   sha512.doc = "f09dfd00f35f653defd756b72437dd712ed1ffceb05beeadfb34c1c5163559ee7c0ae6ce0420f57b722e93080248cbcfd678d811f1383fa5fa1ab76db52a060b";
@@ -24528,6 +26461,7 @@ ibycus-babel = {
 };
 ibygrk = {
   revision = 15878;
+  shortdesc = "Fonts and macros to typeset ancient Greek";
   stripPrefix = 0;
   fontMaps = [
     "MixedMap iby.map"
@@ -24540,6 +26474,7 @@ ibygrk = {
 };
 icite = {
   revision = 67201;
+  shortdesc = "Indices locorum citatorum";
   stripPrefix = 0;
   sha512.run = "23f4f25a72f77cca2585bd390ad1828e04a70b73fba0a86f0622e29b6bfee596a9a3172a8e8b2531c3bac60f8e4d840301d200ff4a4ec20d5332de62766020a3";
   sha512.doc = "a84ba9a33de8ceffb8c92b0555daa1a39fb822a272af2192513ce0c03ffd7c97a413a5916f3f5745a1b36b8e5aafdb081ee301d613d645e66e0f2ba2b7484a0c";
@@ -24550,6 +26485,7 @@ icite = {
 };
 icsv = {
   revision = 15878;
+  shortdesc = "Class for typesetting articles for the ICSV conference";
   stripPrefix = 0;
   sha512.run = "e865708ef636c7c917cc9a870eaba4b8c0249acba01bd2cd3fbfc9d95672405db133bbf0faf9f2d299bc4024118b80b4354ecb8216427507f66817cac085e01b";
   sha512.doc = "dd06bf5d8a087bcb20c63a61cb9867bda3df35e8adf30a3d4ca69ab149772d46e3b83f168a8fc1c597aa2536a14b98561f42226a59b6663f58de4e338f9b4e82";
@@ -24560,15 +26496,17 @@ icsv = {
 };
 identkey = {
   revision = 61719;
+  shortdesc = "Typesetting bracketed dichotomous identification keys";
   stripPrefix = 0;
   sha512.run = "3f41af7a6b1f253dd34c670c3726f9b5fba2849230787827f69dfffd7008ec7bdf8bf84d11e7151b9e0a47b486f60ed2e475f30ed3f6cf35d68e283ff6a9c558";
   sha512.doc = "58574d462eee30612617c9340e00e956968f04b8da292babced36016516272e4d190f06862c9bc41466c85ced264f380192c4e9376c4b0ed58e673f37efd3cd0";
   hasRunfiles = true;
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
   version = "0.1.0";
 };
 idxcmds = {
   revision = 54554;
+  shortdesc = "Semantic commands for adding formatted index entries";
   stripPrefix = 0;
   sha512.run = "ba1737eac5f6985ab4a0bb25aece07fd0668533ba046d9f980e4c4ba4862c9045e19c06a477e498df027fc0cc2af5503683389377287d58ae89690c58b5f6683";
   sha512.doc = "1894abf19f05ea74aad0ac1fed2409478dac130a019a44d6bf2c909cb1de66e4c9ec543c75db6d9238982f51af066a4287bd8827f89a59d3d9ba6d3f79aed4cf";
@@ -24578,6 +26516,7 @@ idxcmds = {
 };
 idxlayout = {
   revision = 25821;
+  shortdesc = "Configurable index layout, responsive to KOMA-Script and memoir";
   stripPrefix = 0;
   sha512.run = "968d869a0b635b14ce8ce85e710c987ecd8ea2efb97a03314098014366ece450b4566d626031e11b52d7ede53a019665640fc1626dd1e24651275b35a8f2cac6";
   sha512.doc = "469a20893247406856f15dad6b14050e221299dc2adc40f1547361d74d3f7ce90ba6eabde06402bdbe22c845119df4bbfa8b999931e99c1b944b165f3b245892";
@@ -24588,6 +26527,7 @@ idxlayout = {
 };
 ieeeconf = {
   revision = 59665;
+  shortdesc = "Macros for IEEE conference proceedings";
   stripPrefix = 0;
   sha512.run = "1a0bf2fe8e019b55ac1ed72a9d428c3e90653183918f2c1ff22e9ea468cb3b3fea424fa3de2a46b9534086138f1130105672ac217ba7172354c51bbf384ba20d";
   sha512.doc = "a0133638d4da1822c2cc7c41052fc69d71feb89bfe0351594343166cdb217a62cb849d2a355bbaa3a12e38882ca76c94740f9f4711b42280c81a58bcc9fd17f2";
@@ -24598,6 +26538,7 @@ ieeeconf = {
 };
 ieeepes = {
   revision = 17359;
+  shortdesc = "IEEE Power Engineering Society Transactions";
   stripPrefix = 0;
   sha512.run = "60ae4ff80be5c2b02e2ebeea5954ed61b73dbc085a4d282004796d9be6038cc7c8020b7c81226d7dc7b121683e4196e461c7c3d101bb460eb8c39bf2da179bb2";
   sha512.doc = "ae2413800f1bd4c0467321a7332fac15a8010e31ba7a4effc0fdb44e9e7a0001ba62d6acb44a72eb6f996560ddf96231b7355c4b9ad8b816be102a143b7c8011";
@@ -24607,6 +26548,7 @@ ieeepes = {
 };
 ieeetran = {
   revision = 59672;
+  shortdesc = "Document class for IEEE Transactions journals and conferences";
   stripPrefix = 0;
   sha512.run = "d688e4be2d145652c16b028cccd05ec5f41a94ca190caff0c6b3fbadaa5c859516a28e4555569d072dd1d550c8794c1ddaaefecce49945284dd304938360f419";
   sha512.doc = "241119c6d2848d5f63e2afe8f1e07c263fea526c9c7ef21ecc533f27c92a67b1baf9a33122fed6ff491b2ddaddb0e02ce138164c8b9ff2f5db11d1ff802f73b8";
@@ -24616,6 +26558,7 @@ ieeetran = {
 };
 ieejtran = {
   revision = 65641;
+  shortdesc = "Unofficial bibliography style file for the Institute of Electrical Engineers of Japan";
   stripPrefix = 0;
   sha512.run = "16dde97354dd4c4ff2bfbbb9ead8ce7141a253afe2ec5b39cebe3239d40827d73c83ae90e79be77c5e5a799b40dcf5a3074f2659feb5add8b62d4491097a6cf1";
   sha512.doc = "41ffd8978d9a591c4aa711c4b2f1dc73a4d18a39e67003494c4c9a86d5fd24acf40b6c79dcc139cb46a36dda96d1e0a26a7d5336683c3d7d11eb6e46765c03e9";
@@ -24625,6 +26568,7 @@ ieejtran = {
 };
 ietfbibs = {
   revision = 41332;
+  shortdesc = "Generate BibTeX entries for various IETF index files";
   stripPrefix = 0;
   sha512.run = "ad8796bf4e492072dcc9335f913ae2b5d81f2152289ca76cfbb61a63577c631bc38f5cad6860aef47b1fb54c02157f509c23c3f903b34b8e7a82b8604eaa449a";
   sha512.doc = "586dc66004dcf4abed254d223394badd45557d79c7e1b56bd20080f41185ea8dca28b3d501e708cc3ed4088f1368f153ba2d2af313d5d6add2d072b46954952f";
@@ -24633,6 +26577,7 @@ ietfbibs = {
 };
 iexec = {
   revision = 69420;
+  shortdesc = "Execute shell commands and input their output";
   stripPrefix = 0;
   deps = [
     "pgf"
@@ -24646,6 +26591,7 @@ iexec = {
 };
 ifallfalse = {
   revision = 60027;
+  shortdesc = "Compare a string against a set of other strings";
   stripPrefix = 0;
   sha512.run = "2117368f9114bfe20c7fcd387c47d27d59cb2af720eb6c55f2a8254067e2dbf7be21b9081a244367d46d5deae8150f915b17431296b02de486f4147e5ade9b87";
   sha512.doc = "c952a3f591c77df2b2443352783606e57ccc35d45769d1e7892b12399de5253af174a739c7283a28463536394430d0582852abb677fd87015bada501b0bde95e";
@@ -24656,6 +26602,7 @@ ifallfalse = {
 };
 iffont = {
   revision = 38823;
+  shortdesc = "Conditionally load fonts with fontspec";
   stripPrefix = 0;
   sha512.run = "a2a329da661f003edac0e0bc701958e0744864f8693ffccce7f1ea6867eaabe7d71b38a1dbef8bc27f770e8b4c30a4480ede1dd575d26860095575020db987f6";
   sha512.doc = "95a8f7357f095dc39ff642edeb6d7df206c37ef01c14a1daa280939d44047c5a935eb18049c280ce00238ad4fdfef6abe7399dd8c6fc815b7c70b22072465453";
@@ -24666,6 +26613,7 @@ iffont = {
 };
 ifmslide = {
   revision = 20727;
+  shortdesc = "Presentation slides for screen and printouts";
   stripPrefix = 0;
   sha512.run = "c9027b8bb34f15e667e530a8b8d57b793ed16a7ea33feabe58f22cd71230945905054e01853561f4cbaf5fe22f4aa140cbc95072f375d567f57bcce3c4d07d09";
   sha512.doc = "4e7a64773cc1a14df0d2f58ae0b66d1769b44958bafa8fdd4e51bc294555e7895632b741b47edbc29fc5f5ac0ddd73dddcc16723a7297c12311d3915e88f633d";
@@ -24675,6 +26623,7 @@ ifmslide = {
 };
 ifmtarg = {
   revision = 47544;
+  shortdesc = "If-then-else command for processing potentially empty arguments";
   stripPrefix = 0;
   sha512.run = "b04aebac5acfe90a149f417cdf0d45b3a7cbe53d53d4d9f39d5badddfcb894e07f397933199bca702f3f0e66458133ba17feb5ace2ebda4a25bb24bf1af5d259";
   sha512.doc = "8f456c15ecd5090d2124a85b02c1ad100dc999064b258678cad3c444acae3e88b95e38f7ad1785bfc91f385d6bc1664c0b58282d5ef36e6cff9857b81176ab7b";
@@ -24685,6 +26634,7 @@ ifmtarg = {
 };
 ifnextok = {
   revision = 23379;
+  shortdesc = "Utility macro: peek ahead without ignoring spaces";
   stripPrefix = 0;
   sha512.run = "a56c703e1830fa64432d1b3aa72d3dff52b17c0e5b90b2cb34f7dff974e51331f5d9daa2b5aba578a8bc4a73b693c9a3dd811c6d7e32379165cc7ec1349c541b";
   sha512.doc = "1eeb8d7627ad8887761e66704a8f3c848b633a4f3a5b094626b3c64888e6db95c25b8dbad4332887a6d9e866e4aada2816b7c7e7fd19c07dba03db38842886fe";
@@ -24695,6 +26645,7 @@ ifnextok = {
 };
 ifoddpage = {
   revision = 64967;
+  shortdesc = "Determine if the current page is odd or even";
   stripPrefix = 0;
   sha512.run = "2a750da3db6bcc2c08f4240874d57c4aee1df4fa42e695156ad08ea5c1e187061c8071f621d3cae9365f28853c44e53a94d7702ccb4972656d096ed4d1272524";
   sha512.doc = "924f08c94634f1149f8873c626c4b73cbbd2a6fba0ed28f1199b6688fd8940720643ba672d781b28f6802c1fc5dfed5928784a70436d492f4bc51c6d43006119";
@@ -24705,6 +26656,7 @@ ifoddpage = {
 };
 ifplatform = {
   revision = 45533;
+  shortdesc = "Conditionals to test which platform is being used";
   stripPrefix = 0;
   sha512.run = "952f87877c058c1e8ba3df227ed7332501e7861bdfd2a29878dc4b14e6b95a1b116459bef7f65c5bf277c95d08120c7e9fa9576a7654739e4a26125ca4d5c724";
   sha512.doc = "520004cfa412c2a24ece0e00b11d457405e71a446e554a1d930e60ea7dbd00f61b2b6a7ecbe89b62610316fd3b6fad685d7013042fa71fd7fb270b40748dee56";
@@ -24715,6 +26667,7 @@ ifplatform = {
 };
 ifptex = {
   revision = 66803;
+  shortdesc = "Check if the engine is pTeX or one of its derivatives";
   stripPrefix = 0;
   sha512.run = "9b0588af312fc3627687703f030f40ae421d9949d696891e9a60aca3c7582f0a534099685e8b8d5535df0d2f9dcd452f4219092d70c285d0fa65af6d140b7afa";
   sha512.doc = "a65a583b033509fc0a41fb65c6ec17357c0e095cf09d6f5d2b9b1f8e5fa323f368cd381941e8850bc1fe81a213dd2bbcc3d9877c08d50a5a78efedca05a7897e";
@@ -24724,6 +26677,7 @@ ifptex = {
 };
 ifsym = {
   revision = 24868;
+  shortdesc = "A collection of symbols";
   stripPrefix = 0;
   sha512.run = "ef6615a3768f87009d22c3feeaa074a0589b17efc8585a509e21692195a100e5b11e2d0849fa2eaf8f80cbe0d96ea12e773aee0be28e7120ee80a86dcfa6f8e2";
   sha512.doc = "10dca0c00a52d9d9775bd2ae35b50d7d56294da9b8eb21f2bc35f7863cbf1ab357cf8f3e1d949570ebf4908a60d9ccfe604e69fe779780c8e7527172f3f0e999";
@@ -24732,6 +26686,7 @@ ifsym = {
 };
 iftex = {
   revision = 61910;
+  shortdesc = "Am I running under pdfTeX, XeTeX or LuaTeX?";
   stripPrefix = 0;
   sha512.run = "ac7958c10c0cd5ee3a82273632445423c347bc9c5fc2015b97fdb7018d7a07b7e1316761698973b325314e945fba6c86be0dd49e058ecf74a55ccf2b9df8774f";
   sha512.doc = "d51b452532fcffce4b1078ab26396bc4f8739e2c3025917b4ce88af2e5aecfbe0a54e481f1683afe2d25259c6f73e27be8f257beb1b599f9817dc37df427fd70";
@@ -24741,6 +26696,7 @@ iftex = {
 };
 ifthenx = {
   revision = 25819;
+  shortdesc = "Extra tests for \ifthenelse";
   stripPrefix = 0;
   sha512.run = "76235d3f8dc4e62604828beaf87327d11d4a9ff69061edf1a3ed4c874983251fba75d80973e54fb3daa2d160b27000089f4cdf1c29748124825fb4075b6f7148";
   sha512.doc = "efc4fa3b5d6e91d1d5af27846bf2652672a233537810051b2858c1c4ffacafb9771b2c3a222cea4d490e0478eef96b205c4043f4957b876b7f4d57903b26454d";
@@ -24750,6 +26706,7 @@ ifthenx = {
 };
 ifxptex = {
   revision = 46153;
+  shortdesc = "Detect pTeX and its derivatives";
   stripPrefix = 0;
   sha512.run = "7bc52847fe21879614ffe673ebec74c735c70e07d63649def00f70d22db80faa920f0764f76c5094ef982abbff8202ca55410ee92d033c45ec43fd25adabb23b";
   sha512.doc = "1bc4feaacbdd33ba6f46c699969638cdc8a4b962287332476d0d163a10141136f9b913027ccc3418033dee0862d5e572957dbe07d47371c1d932103958151e27";
@@ -24759,6 +26716,7 @@ ifxptex = {
 };
 iitem = {
   revision = 29613;
+  shortdesc = "Multiple level of lists in one list-like environment";
   stripPrefix = 0;
   sha512.run = "b2b37e68db2b33e414ecbfb9078b60ce5571b7ae931ca828a3c668ea7cccd7b93a2919cadc7723daa3f63a7015939a8046973ade140fba01025dde0d5212edd0";
   sha512.doc = "f9f001123e1f49bd90cb3b24448e423068565c9256129e23126791e2ea2bc39788ff5769939d90018087beb1b31fbf3568c6d4962f2e92205717c84aeee54a21";
@@ -24769,6 +26727,7 @@ iitem = {
 };
 ijmart = {
   revision = 30958;
+  shortdesc = "LaTeX Class for the Israel Journal of Mathematics";
   stripPrefix = 0;
   sha512.run = "a1fc1aca9f557ea9c8c70343ad1e5712a846b8a7edddf2077e78fabc3919b928a5d7e8b1fee0f0bc29ebf7887e26dcda5bd95f2ba613051e52f13f1ee24001d3";
   sha512.doc = "502aebf377c8b13d7699761651cfd67e1e2d10a8e8a022303921aa1e708fe913b217e186b4e2527d8ed81e3db6ff055dba5edbea218d6b9a92f679da66fefe97";
@@ -24779,6 +26738,7 @@ ijmart = {
 };
 ijqc = {
   revision = 15878;
+  shortdesc = "BibTeX style file for the Intl. J. Quantum Chem";
   stripPrefix = 0;
   sha512.run = "55f7693a820f0cdaafe8697ad352cef2748471711113cfa4738931926cb4d49497f4e825b0a737c233541203cb5c8f23dc4f8326950520e8aa0f4ad27f353347";
   sha512.doc = "6b94eb95d58a06b54a1fb28b26ddec15528ae99286a37631a64b4ced32343872a04b96cb2de540d54c54f02361981ecc575ef7d014a17e1d0111883e92671fad";
@@ -24788,6 +26748,7 @@ ijqc = {
 };
 ijsra = {
   revision = 44886;
+  shortdesc = "LaTeX document class for the International Journal of Student Research in Archaeology";
   stripPrefix = 0;
   sha512.run = "9d5db4217675af4577fbf9b7e8a5dc4a42f447e7af60a818d740327326d478afa9071be37c80315b0822fec48d1fefe4e3d6a8dfddb6f34fbc11cd81a5d05a12";
   sha512.doc = "a3424b8ed16d1881c5a2c4d80a42277a1c0e3a62484a0d5ee6a18a9ed9fd39fe0de241fefbc723960bfee331908bb5c95a0b1b95ecf5e06d6425ac8e6c2dc342";
@@ -24797,6 +26758,7 @@ ijsra = {
 };
 imac = {
   revision = 17347;
+  shortdesc = "International Modal Analysis Conference format";
   stripPrefix = 0;
   sha512.run = "5e51d080e18f2a5d9529705d0e8745a8c7b2d0186c929e04434b71ed356df3ee2456c268ce2232da9cdbf6c15182f6580b2b96995a6c48e40fcff1efb001cef9";
   sha512.doc = "df4232356db6e2001277bdd8de706549d2f91b2d59d4a55f39c4aa9628e1a2b6ce092a7630ed4fc20096d069d19f2ecdf445129a870ca8bfc9d87e522350798c";
@@ -24805,6 +26767,7 @@ imac = {
 };
 image-gallery = {
   revision = 15878;
+  shortdesc = "Create an overview of pictures from a digital camera or from other sources";
   stripPrefix = 0;
   sha512.run = "0435d5011bdaac97c6f36202a03cbe52cb45f83d7dcf37111b9c68706e4cc971b5b13ab5fe0b29cb296f7af4b217a64b5507ea00dfe63e8496e10b5adefeed8b";
   sha512.doc = "ae9c965bcaeaae17b8a815bac824093a5834f2b96c99bf44527d915ae251cf1dc818279f78d3cbe75e51875e658d47baa3b9657e27f5121ed4e259ae5cc052b9";
@@ -24814,6 +26777,7 @@ image-gallery = {
 };
 imakeidx = {
   revision = 42287;
+  shortdesc = "A package for producing multiple indexes";
   stripPrefix = 0;
   sha512.run = "6ca0680f29daf88dfbd26fa87d47a65c8b2c2d534321b814ff78d77d0b97d7fc5654b4dc0b91d12eb0c9373cfaff5fac59f24def8d0f50d97da34fda6f839d84";
   sha512.doc = "a07d9461013045274f03145e97d286d930055c4573e917a78e8913841cae30fb61b99e66d098b4ba014cf44e92982301c7d72414e3ce1df176bfd35ecd26ddf0";
@@ -24824,6 +26788,7 @@ imakeidx = {
 };
 imfellenglish = {
   revision = 64568;
+  shortdesc = "IM Fell English fonts with LaTeX support";
   stripPrefix = 0;
   fontMaps = [
     "Map imfellEnglish.map"
@@ -24835,6 +26800,7 @@ imfellenglish = {
 };
 impatient = {
   revision = 54080;
+  shortdesc = "Free edition of the book \"TeX for the Impatient\"";
   stripPrefix = 0;
   sha512.run = "8c606388baf92ebfd113a2e7332c479f1428f4c9b2c5b27f04d9504be29ad20e38b3b538366c2feb78a43998460d362156e9abf8fdb3f8457ff4c8452aeb2141";
   sha512.doc = "7b0811a691b9ff35fe245df7929164420f2155b4797d372988c7cb7f6052291c5735fdf44a0cd3f7a956be9dec424b5b59385b3f147f39b5beab7b56d1eeae1a";
@@ -24843,6 +26809,7 @@ impatient = {
 };
 impatient-cn = {
   revision = 54080;
+  shortdesc = "Free edition of the book \"TeX for the Impatient\"";
   stripPrefix = 0;
   sha512.run = "e75363bb36568ec42f13217dc740b839e109529e41ac9cc713e8c7eb620e557dcc08d20f36cbdb5f0e3145d9201d659fc8478d40fae4862fefd3eec005a3463b";
   sha512.doc = "ea0918afe1c785d864bc280a6b64a87cc62cabb02540cdf64a7cbf4b8f81afcef9ac85a6f28b5bdbb42a75b6ce1e12139c12d0e1af4183a28115f8d740c6e78e";
@@ -24851,6 +26818,7 @@ impatient-cn = {
 };
 impatient-fr = {
   revision = 54080;
+  shortdesc = "Free edition of the book \"TeX for the Impatient\"";
   stripPrefix = 0;
   sha512.run = "f6a9a69ded33199fcd46d518fe8ed7dca48677c78fac5f90cdbbed2290558c4a9d7c9b0721c188023384acc97ad95df29565b06abc16fa33deb04490ca50b4ac";
   sha512.doc = "963a379e3fbf422f4f4d53a41d6bd074fd077360908eb0db1db0a50699e12f37dc6b3ec8b42812604de4ea444ecb38cbfc81d3445cd67626a65fa9b520fb8550";
@@ -24859,6 +26827,7 @@ impatient-fr = {
 };
 impnattypo = {
   revision = 50227;
+  shortdesc = "Support typography of l'Imprimerie Nationale Francaise";
   stripPrefix = 0;
   sha512.run = "7afd6cf1fc2738bda4f390fe7f2f9d5e1bdd33c2e6bd32b4dda5b232005589f38436813d9e5effb6feae6371896be453b608ed61c64b9bf38fd25ec400c4b101";
   sha512.doc = "086b106a965e0f469cbf3560561da7d84e4151d5430d42d87c2c52568243305e20a1bc99ec4b252237f4c61369127683ff7b629013af8c76e9dc8ea6e551e24c";
@@ -24869,6 +26838,7 @@ impnattypo = {
 };
 import = {
   revision = 54683;
+  shortdesc = "Establish input relative to a directory";
   stripPrefix = 0;
   sha512.run = "96a92584b4ff4a4bd3b345b446f2802e34d59ebf8c14469a5b5331e6d2f92b63f42d8f5799bdcefc9ae3f74e5e6f93aad7d5371dbe7d21e84ced3890a76c7a19";
   sha512.doc = "967d456dd18c8838db7d2ed64016fa0f77f2ed475e5cbe36389414849786d7e7850ea43e8bb00d8aa06e3ba06f62970a6525ee1b5a5109f8cbc77a0baf894b50";
@@ -24878,6 +26848,7 @@ import = {
 };
 imsproc = {
   revision = 29803;
+  shortdesc = "Typeset IMS conference proceedings";
   stripPrefix = 0;
   sha512.run = "12ce0d8ccdcd54890f846b501cc5cf7af00f7759c916147c676358b689b852a86a1981b76a14e455a4edece20ad1857100123f91469dfb23ba168177e15fcafc";
   sha512.doc = "a4007fe80cca88525dcade8d8201fb82a2c35cafd7bf92a8ebe6b4668ddce6bd43e958e1223d5c212e91ca692df39aae84c4a25b6862afa3aed2f1f646eabba1";
@@ -24887,6 +26858,7 @@ imsproc = {
 };
 imtekda = {
   revision = 17667;
+  shortdesc = "IMTEK thesis class";
   stripPrefix = 0;
   sha512.run = "ae95a9d52ed07e962a9d98cdcad868a9d2dc6e1eee82c38fceda7f7668934caab5062727e75ee3b1824ec60ad112f15541c9519fd494fa8199caaf0e83906484";
   sha512.doc = "6f854d85a7649b49b3c88d99f1f011df514b39064e2c340ae1e807de3e730a46a432afe178574105a414bbd46ae0509b9e88d6c0ff825e74dd55772ed189427f";
@@ -24897,6 +26869,7 @@ imtekda = {
 };
 incgraph = {
   revision = 60810;
+  shortdesc = "Sophisticated graphics inclusion in a PDF document";
   stripPrefix = 0;
   sha512.run = "06c7228e1ef4d760f6d7b1d308d4946eef7a55a60ff39bba6bdc6a96407cb6fab9f47dfd2c26f37d4f674d815e0ab7196badf2590638e214c980d26343a6bd55";
   sha512.doc = "3e37591fd1c239d2feb262434a5782be0160104392f6b6c2f330aa30d8e8af5905694a125d29045b403239d67952bb88d1194a1d1e61194e82426405fa11c772";
@@ -24906,6 +26879,7 @@ incgraph = {
 };
 includernw = {
   revision = 47557;
+  shortdesc = "Include .Rnw inside .tex";
   stripPrefix = 0;
   sha512.run = "a2b43d658ed62ff3a301a1b190cc46f04a4a46f413ed4af3e0f84f1873efc6841cd23fc07d68a90cca50b6ed00ccf654aef9dcb6a8b4863277b06c7e8c666e6b";
   sha512.doc = "8ebde646868cebadd8d50cfca25cd8d924c0112129ea86b0ca3ae5b9f9f4e4fec3c1e464486ec0f92e5cf7b7fe3df1fceb1a7967bfec755c57645e6909705c0b";
@@ -24915,6 +26889,7 @@ includernw = {
 };
 inconsolata = {
   revision = 54512;
+  shortdesc = "A monospaced font, with support files for use with TeX";
   stripPrefix = 0;
   fontMaps = [
     "Map zi4.map"
@@ -24927,6 +26902,7 @@ inconsolata = {
 };
 inconsolata-nerd-font = {
   revision = 69061;
+  shortdesc = "Inconsolata Nerd Font with support for XeLaTeX or LuaLaTeX";
   stripPrefix = 0;
   sha512.run = "dc202282d55ad63ffbf39fe7b36edbe42391fefd1c1cb0fe2410d01c562fe8024ac007ba235999c5e369a0d80763fdf80815d2beeb7dadba0f39d027fea507f7";
   sha512.doc = "00fa8ab8a508a3bac281ab2d7f63fbabfb6958770d308184e0fda7924383dc22a3b36d5f4dff701cda63e847cca819d38b45a0d51f634e1f503d5964fa60d9e5";
@@ -24937,6 +26913,7 @@ inconsolata-nerd-font = {
 };
 index = {
   revision = 24099;
+  shortdesc = "Extended index for LaTeX including multiple indexes";
   stripPrefix = 0;
   sha512.run = "2b9bed00e12b5aa7b1813be766ba7c2e1eb750dc270e9eb585b1cc3d559a3f0c9094919344aaaa51cb6cf7cc132a5f89f8c07c96a12c5b1a5446524d07f4121e";
   sha512.doc = "0e68aca1c5dda444aa42cb1883821f2003c450291191b2eef16169f3f76e03e5ec9d31577574afd8d3b10237309be303538ccd1d4c8edb9757e7c910da7c5f51";
@@ -24947,6 +26924,7 @@ index = {
 };
 indextools = {
   revision = 68555;
+  shortdesc = "Producing multiple indices";
   stripPrefix = 0;
   sha512.run = "decb4d3e7a2504f0f08f5e907eabcd961d1900cfce98e79cf8d7745868564eace7f3fd1217de69d615f9267630c71f9289a0519dd9f3b8603be6544ce6d1cad9";
   sha512.doc = "d2b1ed9f2d79bab4dc9b69b09eafc3657c2f60002d53703ec01e7cfdd29e8e9ad4027fa46563d50ea89bc2e63fa7b6c71ce2e37caa5e37838b6cde2f99ed97d3";
@@ -24957,6 +26935,7 @@ indextools = {
 };
 infwarerr = {
   revision = 53023;
+  shortdesc = "Complete set of information/warning/error message macros";
   stripPrefix = 0;
   sha512.run = "a41fd6f2ee199e460950fdd31484be7e949a5e36ca740daaf3a1ffa01103d865f573c8ffe0859a8629456786cabf2f1751dbd828cb5d26356b1973960c854261";
   sha512.doc = "2830f622e2ea8e5b3427a9d924dd5f45f0c63a8a6de82e261102ca2c3f3afd7b781a7e0d50903dc8d8c1bee0674503f3ab935fe81dd9490d4310650097c4ffa6";
@@ -24967,6 +26946,7 @@ infwarerr = {
 };
 initials = {
   revision = 54080;
+  shortdesc = "Adobe Type 1 decorative initial fonts";
   stripPrefix = 0;
   fontMaps = [
     "Map Acorn.map"
@@ -25000,15 +26980,17 @@ initials = {
 };
 inkpaper = {
   revision = 54080;
+  shortdesc = "A mathematical paper template";
   stripPrefix = 0;
   sha512.run = "d07bd9d2f32981607f4baf3bc348fdd99aae0c331423bf1f678231a2ab9830e4a824357df067e52643e6c89ecd1b850afb2444686fa33d75e6a3e598b003553b";
   sha512.doc = "acc6ffc291db3164d8428a50ee0792907435b90d3677a0e9ec883e0d3b81b6c04785a08217bd6c9554545eb5bc328a702c2958301245bcce68949ce76726c389";
   hasRunfiles = true;
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
   version = "1.0";
 };
 inline-images = {
   revision = 61719;
+  shortdesc = "Inline images in base64 encoding";
   stripPrefix = 0;
   sha512.run = "8cb6a0ba51ddbc06a795dc21c40ca4f18921fa978cf17254aed279e85e769b29e7dd6a0266738e5f52e22bfed87599e6b2099bb04aa656397f04d6d51722c56d";
   sha512.doc = "ce56e90e90da8ed441213eaedaee7bc388714248547524701ad49021899ef439ae78884ad1de6e60cd06b5916649403d75ea7fda051fd3b87e89bfead9ccdf10";
@@ -25018,6 +27000,7 @@ inline-images = {
 };
 inlinebib = {
   revision = 22018;
+  shortdesc = "Citations in footnotes";
   stripPrefix = 0;
   sha512.run = "42e158a9ff10dc165345bd08b18fc0f90b463482fbb824872289edf93269b36b04faaf35cd12538e83ef1e509b7400ee61e604c5849922106368624c6c20f507";
   sha512.doc = "2a00d2f51daca68362b5243d8cc485bff6f64fbb9156d1a221d75dc5eec001c3377e6d67afe5d6384ba3f7504eafd65919f5afca8e1170f8b584eb101c947faf";
@@ -25026,6 +27009,7 @@ inlinebib = {
 };
 inlinedef = {
   revision = 15878;
+  shortdesc = "Inline expansions within definitions";
   stripPrefix = 0;
   sha512.run = "b98b83ff26b5ecc9826f111d9faef5aa0f51ebcec7978881da2a61287af7aee022dc1b7812ee457885c7813eee0d2200d250ef45648619f3d105e2df54cd21d0";
   sha512.doc = "6bf73914a9eff5d774ca7b7e37a859b0e7da3d408bae603b74c9f76e379ff6d3558d7e30ee4a246bf3f7d40f18446fc78299edf4eda0228e2f22e47ad09ea024";
@@ -25036,6 +27020,7 @@ inlinedef = {
 };
 inlinelabel = {
   revision = 63853;
+  shortdesc = "Assign equation numbers to inline equations";
   stripPrefix = 0;
   sha512.run = "66d105c71bd5896019ec584a4ca0a26fadadd8d922be95ec7c8e0ee8f9b5a265304359a19ad77036e8bc885ec0e786e03ee8e1edb72addd1adb5d064eb40ab08";
   sha512.doc = "0d70c8f7d7b9f022444c95657b3ecef395790ca80697511e8ebcef975ae19edbfc43abb223bed03888943203e870e8732cfb37f2f07e0e4e2575b8e2d495f8ce";
@@ -25045,6 +27030,7 @@ inlinelabel = {
 };
 innerscript = {
   revision = 68776;
+  shortdesc = "Small modifications to math formatting";
   stripPrefix = 0;
   sha512.run = "7b647763f5a535f45a7741c3264fb59e2223837a9c99617aab870b624122783e25d1ce2f48e14fa5c1f01b660e5372eefbad3df51c52cb414ba675b8bea18e51";
   sha512.doc = "406d30155e73e13eb51967e3902e1fd2d76a92aa29323306a8769f9b4900323d288d1620a2a85ff76062e1a7b610bdddc06b113e15cd1479cbcb1bbb25b4c79a";
@@ -25055,6 +27041,7 @@ innerscript = {
 };
 inputenx = {
   revision = 52986;
+  shortdesc = "Enhanced input encoding handling";
   stripPrefix = 0;
   sha512.run = "5550c1d76a0906f47ac3e2303fc57ef9ad1c8442e12e3522826dbe7fa8c971c7ca4241e0a1707f6e10336855eded20e94130a6db212b787383282326aee8886b";
   sha512.doc = "087bca2b38a73530b19dba7343cc488b39ab505ce00b4c622f56f9d40c448e6349052e12358cc8fe6d8db7039c6af4f06910784795a2cb1e69b85eed423d1314";
@@ -25065,6 +27052,7 @@ inputenx = {
 };
 inputnormalization = {
   revision = 59850;
+  shortdesc = "Wrapper for XeTeX's and LuaTeX's input normalization";
   stripPrefix = 0;
   sha512.run = "ea1b93d71757875867fb9d899399ad5cf95d2a0560b3caf2569d08480f4d65dcf4a963632dd27b1e28674a9b5c6496f769c17ae08494a6c37ca2d0e6a8fd8f04";
   sha512.doc = "ade22bfe8534389f117f0f99dfefd7e27f84ad653419929ab86ab045ff08c1d08952178c6c8d42b3b22d575e371ad4b77c2efda436e4b8ff89dad2bcb67c7d65";
@@ -25075,6 +27063,7 @@ inputnormalization = {
 };
 inputtrc = {
   revision = 28019;
+  shortdesc = "Trace which file loads which";
   stripPrefix = 0;
   sha512.run = "e6450fbeb0f9033b0bcc586c34f5bb8e9c3a6aae102c15912be315d14fe883b8bea62a59a4a65d0ebbfa9cebcc518b9dedf59297f026423ef14aed2c0a2004ab";
   sha512.doc = "4fe7894ee87bcb81566d1838f52c02902d8f5668662fdc016005e9a44b31f35eef8831143cdf5321717ee590ed14fc6c35305f584a0b63254549f96149ae2a50";
@@ -25085,6 +27074,7 @@ inputtrc = {
 };
 inriafonts = {
   revision = 54512;
+  shortdesc = "Inria fonts with LaTeX support";
   stripPrefix = 0;
   fontMaps = [
     "Map InriaSans.map"
@@ -25098,6 +27088,7 @@ inriafonts = {
 };
 insbox = {
   revision = 34299;
+  shortdesc = "Insert pictures/boxes into paragraphs";
   stripPrefix = 0;
   sha512.run = "98398c838689cfe22ba859e2983f374ecf94b21bcf46de362056821af31285754717f7b2169f8bfb6fbbbee849449a1f3caf52d1397a901133d0364b392654ce";
   sha512.doc = "53baed8af86447a60bb1a97774778256fc4ad1f08f73e2172a68fa091c32e41bf84d10642ebb426be610e34ef5575999d15be7f0c5a966618cea5b3a3832c9a4";
@@ -25107,6 +27098,7 @@ insbox = {
 };
 install-latex-guide-zh-cn = {
   revision = 69264;
+  shortdesc = "A short introduction to LaTeX installation written in Chinese";
   stripPrefix = 0;
   sha512.run = "f93859b38da5da139942105175bb9c4f399934777fc04a7d267b45d7fd42cb792de40217221c6e0fee7db3b62ec3592ad0744f0f1a7bff52864e8762d58e216a";
   sha512.doc = "13042cd81cae222dab8ca8966702a28938f7f4b4a734905d64dba2bd819e610108078f0f81b3999b28a63dcb015bcb7941b177be9cab243fc9d01b6808ddf587";
@@ -25115,6 +27107,7 @@ install-latex-guide-zh-cn = {
 };
 installfont = {
   revision = 31205;
+  shortdesc = "A bash script for installing a LaTeX font family";
   sha512.run = "cd5133b93c5daabaa0ea13649f3d34c28f9af9f92db54917e64cafca5f5e7fe5169d87e36783036850ccde0002d34860eceaea528ad06e21f08141106e6599ae";
   sha512.doc = "2b61c4b229e0c4ec89c591075e52bcf8c150f5f9584bff94f81ec1f229940dafef11d6b6f84dd086692cbd99e6616685533d4313ef5bc48c56a7494fef3583b7";
   hasRunfiles = true;
@@ -25126,6 +27119,7 @@ installfont.binfiles = [
 ];
 intcalc = {
   revision = 53168;
+  shortdesc = "Expandable arithmetic operations with integers";
   stripPrefix = 0;
   sha512.run = "e1087a7ab3f1d695bc20435ef0bb2b806d1cca71eb792fcf46e6c2fc6d819de2ff623a65593b65d5bf228309e3e3d5210ae1fb1452356f97a5ecb45921a7ce0f";
   sha512.doc = "f3cc5dba031957d77cdf39d902eeda96c8405efef52352109a7bfb187e363321d31120b4c66ed4b2e990fbd7085b927599a0956749e4303611cdbec5d9d7179e";
@@ -25136,6 +27130,7 @@ intcalc = {
 };
 inter = {
   revision = 68966;
+  shortdesc = "The inter font face with support for LaTeX, XeLaTeX, and LuaLaTeX";
   stripPrefix = 0;
   fontMaps = [
     "Map Inter.map"
@@ -25147,6 +27142,7 @@ inter = {
 };
 interactiveworkbook = {
   revision = 15878;
+  shortdesc = "LaTeX-based interactive PDF on the Web";
   stripPrefix = 0;
   sha512.run = "2afca3ee8051065d4014cae8ee751f085abe6e62ea0af7d6c036bfd9ae6c3f38a295857d67c7e8f75a049fd618c82ad8b28a66f5c83a387969549cbf20ef159b";
   sha512.doc = "cdc12a36f547787fd1e6aaa5f9dc38b99092f4fd7e71095c1b5ca25730b4d2a5a5fc1636798978741538624091721c96220d91b8f1cc29d7f4698767ce0269f0";
@@ -25155,6 +27151,7 @@ interactiveworkbook = {
 };
 interchar = {
   revision = 36312;
+  shortdesc = "Managing character class schemes in XeTeX";
   stripPrefix = 0;
   sha512.run = "8beb2e016e1a6af0199708355b8f13aa1accc614135cdf1d6dd534eceb6fd5a8d9e611e4d6fe0d72da9effdef446549b01d5ea2aad043f3fe94b81fd3d4aa188";
   sha512.doc = "c36dfea3f3f62660cae4f4653136269247bd109931b2eb6478eba29af089d42b6ea9f8afaf0c345c9364a68c1645e288d289345e13c8582e1639edaea20a26be";
@@ -25164,6 +27161,7 @@ interchar = {
 };
 interfaces = {
   revision = 21474;
+  shortdesc = "Set parameters for other packages, conveniently";
   stripPrefix = 0;
   sha512.run = "3c726602547ae05d0ca055d92b98a3cd5fce9709329fe9e769e5bb02c401a28b9b4cee53e5b1ee21dbb6c1c4223cf7a098aea227d615a45ced885c7c4ccab93e";
   sha512.doc = "a9b44711b1f38c48886f7b4a49b3a58ec5514995c9bed9a067d41cbf35dcc0093fcade7ef28693970f1f017924dc2f6f79d8c89a1efc847f7a8c264cb8f98ea9";
@@ -25174,6 +27172,7 @@ interfaces = {
 };
 interpreter = {
   revision = 27232;
+  shortdesc = "Translate input files on the fly";
   stripPrefix = 0;
   sha512.run = "6dbbf39f9f0f357f45ae275458f03abfee625720b5f2dd3bbb5a78f60f4c0e8972d153c8d1647f147403f7c665e25147fd0c576cccb226a74630348a9f0a7381";
   sha512.doc = "3408bcb3cd3e6da67294c830870534d3cd620b7abc3ad35d4833e30c831bf93d11dc06d00547888268870c75f6a6e2e861448a0fa197e3e5a3c10aaccc6e4dd8";
@@ -25183,6 +27182,7 @@ interpreter = {
 };
 interval = {
   revision = 50265;
+  shortdesc = "Format mathematical intervals, ensuring proper spacing";
   stripPrefix = 0;
   sha512.run = "2a2fe0ebdc4754ca74962270ec48c69e6574c13e446628f34604b13584e7b14ff33add55744f03a1d28443b5ae87ba79926816bf44781951a729913ceeb4d6c9";
   sha512.doc = "22dcf2288d7f888e76967209ef1fd31bef66dcb9784a45126a945c4a0ea302c67ab4a35bd864355b29679131cf2cf36fc6172017599ccf3025c4ae1537362b9b";
@@ -25192,6 +27192,7 @@ interval = {
 };
 intopdf = {
   revision = 63987;
+  shortdesc = "Embed non-PDF files into PDF with hyperlink";
   stripPrefix = 0;
   sha512.run = "77477057b8c49400059eb2ec0ed1ec6ab8c5b80ad661871c5b179af60abd0a5904ccd1faf045951d83e29aec560a77188c8468cb9f854ed28676ce52c3bbbd83";
   sha512.doc = "07abc35842c8170da6763d070180f63505ce5fcc98ec9966b3e0b7502191ad267b4b6b0a9bbc6fe1fe037b0eb6e249c9ba9080669abeaaadfaa6be26ea86e5f7";
@@ -25202,6 +27203,7 @@ intopdf = {
 };
 intro-scientific = {
   revision = 15878;
+  shortdesc = "Introducing scientific/mathematical documents using LaTeX";
   stripPrefix = 0;
   sha512.run = "9919021461485fc22ed6ecc0b30d0a23c0a2217c76a07dd8acd87c9091c9d71be0e370ce1373f90e6f5a36a9638ce4312fc674b16ccd0846aab97d1b05674391";
   sha512.doc = "0daf84bdf7821aeb2f7971ed15de5546a13a444f3dc1b757f31490679350199fc893111109fc564aae2c8786fefc9e198e79e817bb318a1ad62698b6a5c79af5";
@@ -25210,6 +27212,7 @@ intro-scientific = {
 };
 inversepath = {
   revision = 15878;
+  shortdesc = "Calculate inverse file paths";
   stripPrefix = 0;
   sha512.run = "d0d95399067922172799d17cc9b9b4fa7a79cf2928630c63441114c479bc60e72b3e5133b54f8f7925cbf90f5b419c89e07699ecf8e8269b43f969e584698043";
   sha512.doc = "a9dba77a8aa851a5e915e368c5090fc83fd894c22efedffce97ee0915b4ec50fa72efc30f377891b5efc0749c12018228ce400cd4024369cfb81ff3fe62567b8";
@@ -25220,6 +27223,7 @@ inversepath = {
 };
 invoice = {
   revision = 48359;
+  shortdesc = "Generate invoices";
   stripPrefix = 0;
   sha512.run = "7ddb8e05d88321f45cfe8618c740671e17e79ddf53fc2c11a3b9224a27ba1ebc815635484f3dfb4c849d90efb859412028df1e7f91a4e746cf812b19e5d1a269";
   sha512.doc = "7b827f575eca669f15767be9fd215e827a3e98b03ea3e1f353039f5190fa7d75a5e59dd5d89ada982518101fc5164449843656c60a65679dd82061dbfcb95ea2";
@@ -25228,6 +27232,7 @@ invoice = {
 };
 invoice-class = {
   revision = 49749;
+  shortdesc = "Produces a standard US invoice from a CSV file";
   stripPrefix = 0;
   sha512.run = "d31a445c1696741dbbdeb4f035358cdabc9a4ff74855c432dd2b6d66b0d690e65e400207bafdb643a1ae7bee3b3472393043088521a685251acaf9abadb08769";
   sha512.doc = "a3ab71dd11f6aedcb7ce8a89f8b97f8a18ac4c610e3460fd13c1d31b8db0d347d25ff6520af7bd4d37453759d03db384df9e69b281307a36a1d05b4beed0a60f";
@@ -25237,6 +27242,7 @@ invoice-class = {
 };
 invoice2 = {
   revision = 67327;
+  shortdesc = "Intelligent invoices with LaTeX3";
   stripPrefix = 0;
   deps = [
     "booktabs"
@@ -25255,6 +27261,7 @@ invoice2 = {
 };
 iodhbwm = {
   revision = 57773;
+  shortdesc = "Unofficial template of the DHBW Mannheim";
   stripPrefix = 0;
   sha512.run = "a0a6807c8715dfa5f4ded44f66509ecd6af804d5dbfa44adb4fec3454f39be633fe17b79458106be0a6c35086dd1d3e33aec19ec657a6cb6b3903695b5019cac";
   sha512.doc = "ed3c906cdbb26c095f5078dbe961781ab1a31f8c1a7b926b0a8082b7bb41b71a8912774829135651937bdcc5f2e53880300cf9b21b6ce35430fc443d30423244";
@@ -25264,6 +27271,7 @@ iodhbwm = {
 };
 ionumbers = {
   revision = 33457;
+  shortdesc = "Restyle numbers in maths mode";
   stripPrefix = 0;
   sha512.run = "f964955ea6470a8906dd7623bd6959aad72ab4da5cbd4c32aa78cb2350cda05a1f577316ef97cdec9658deda027429462b70bcdad18024f255191b2f6cd7f99a";
   sha512.doc = "5bf57ed5617846d10834f880e4a1c029547f1ac678a52be3e79613803b4e6cd0986887f2a44a0a4bfabaf9134ef39c44e420a12047fee81fd34243ec42c5262e";
@@ -25274,6 +27282,7 @@ ionumbers = {
 };
 iopart-num = {
   revision = 15878;
+  shortdesc = "Numeric citation style for IOP journals";
   stripPrefix = 0;
   sha512.run = "49fadfe2a8a1796131be814b170e270e7d39c035419d7e546e57d2ef1fea13d48b2b022eda463829e1bdbe60233d361773321d86070420ad2b63b48154adf18d";
   sha512.doc = "167b0612883558f74d7696a6c9481fbb75e9ef6e7760edc4f79d81b3e1d7a344dc1efbf638eb4f5ba69be7002391211024f7aafed2e08e19fe559b58b0f7b1b0";
@@ -25283,6 +27292,7 @@ iopart-num = {
 };
 ipaex = {
   revision = 61719;
+  shortdesc = "IPA (Japanese) fonts";
   stripPrefix = 0;
   sha512.run = "dec0527223fdb0f897ccf54e96691cd68b933ac61de4c036e21fd35bff93d32766444fe6971492ce64328f92621bd2949ebb669ab33b6b6f4ede88280351292d";
   sha512.doc = "c53cf11bc81d9a8f5aa19c264a1970d4819400ceaffa20b688d0709546113f932b82b6b6d12cf9fb31b2a3d2c0d45b6b33ee3cb3bd0060c961360389839b1475";
@@ -25291,6 +27301,7 @@ ipaex = {
 };
 ipaex-type1 = {
   revision = 47700;
+  shortdesc = "IPAex fonts converted to Type-1 format Unicode subfonts";
   stripPrefix = 0;
   fontMaps = [
     "Map ipaex-type1.map"
@@ -25303,6 +27314,7 @@ ipaex-type1 = {
 };
 ipsum = {
   revision = 68861;
+  shortdesc = "Insert multilingual placeholder text";
   stripPrefix = 0;
   sha512.run = "72ba4708735350c0b1c6521d3ba09ca0477b203328c1452033755da7eca159b82e50ca0950f2eaba7cac41c1f27cfb28951716887e2736d9e69f29f91acd29cc";
   sha512.doc = "b53fd7756b3ac604583d95f6cf9b90d322ebee9e6a1f085607de710a2bfe3257d29394cc816f1817b0cb499a550202a0dd1578c9e7e04152e8aa132fea05bd3e";
@@ -25312,6 +27324,7 @@ ipsum = {
 };
 iran-bibtex = {
   revision = 69347;
+  shortdesc = "Iran Manual of Style Citation Guide for BibTeX";
   stripPrefix = 0;
   sha512.run = "0dd643474cdec8c5d15ce28dcad815978d9e3a76d0327cffeff021ff6811ba2313e44a5f21a4ed23a1bbf09433c479e551ad0a49c0d074d38a777df66daefa9a";
   sha512.doc = "51f903f7ee725dc2ffe58d594e64bebe5639e5efcabcde15206ec5e9583f8d4771fd2b457f8a79b2fe691fcf77d03854d1f5cb291d0b33fb7f2d5272a17a18bd";
@@ -25321,6 +27334,7 @@ iran-bibtex = {
 };
 is-bst = {
   revision = 52623;
+  shortdesc = "Extended versions of standard BibTeX styles";
   stripPrefix = 0;
   sha512.run = "491b40704ad4c36e7ffac12bd5b823a4d796a9d52b82176cbd9654b6fe07d3a8a0c63f9756070bd4a971a33836e179ce6c7609e5de2eebddfac9c6aaecb92b43";
   sha512.doc = "bbd5aa6261779b7d395a89c04421c680b6906f795ec713b9c72bbdc282fbf459c443a08ccc7c395ac5274ef5aa1b3f56cd773e50faa7ced4ab4629f1b91e73e9";
@@ -25330,6 +27344,7 @@ is-bst = {
 };
 iscram = {
   revision = 45801;
+  shortdesc = "A LaTeX class to publish article to ISCRAM conferences";
   stripPrefix = 0;
   sha512.run = "6111c93a14c28572c17a1336fdf00ddd16b6c04b34b4a10a1b4a5e46742852b949cc99438397895de36632c9f2fd57c4940a0ffa458ac148b4a5e49707e5ca79";
   sha512.doc = "24f5ebac7b8bfa826cb9ebaaeac0ec82db18807c5c3417dac53c6b636f6cb32b60901ef51f0d545cbe185ef0eef034404d3120c1211bf65c4ed4d155c67e19d2";
@@ -25339,6 +27354,7 @@ iscram = {
 };
 iso = {
   revision = 15878;
+  shortdesc = "Generic ISO standards typesetting macros";
   stripPrefix = 0;
   sha512.run = "1ee4026383b28594c02ee7a3fde24228ac777814456fd8580954b1708ba3f735b563beaa291cea859c6492f8b9cc488635b67e373fc3afbd8f884a3b6d30a392";
   sha512.doc = "f5c874d3e00fb451f81a52f5711ac0b1c39ce48eca50a6edc0b1049bf4aeec43830fb534e207d852bb440c96bcb86d960d5e2e0670610d7cb9eabad2ff1451a3";
@@ -25349,6 +27365,7 @@ iso = {
 };
 iso10303 = {
   revision = 15878;
+  shortdesc = "Typesetting the STEP standards";
   stripPrefix = 0;
   sha512.run = "40a36335c15b453d2e5b5abc29b2ec1891c6f1502ee2f8ffdebd2f9a159cea3aa28eba7c661c12a0445a4f713b77079d8b965ac955123fc81225cfd4491e5317";
   sha512.doc = "24c2a83508282a348d6748bbf722962f3ffcd193cd1cfafc4ca1e87c60622e463e5fd382ff65235590f2a9d629e8f40588630810036d2195172f61d1448e3dfa";
@@ -25359,6 +27376,7 @@ iso10303 = {
 };
 isodate = {
   revision = 16613;
+  shortdesc = "Tune the output format of dates according to language";
   stripPrefix = 0;
   sha512.run = "5fa145cde64155e9a4ca7236cf41449169ce0d1aa88381b46935641ed94d166429c1b139c852f96526dda270fb85736ca54e8864c32452996109b0061003639d";
   sha512.doc = "75118f62de8568c9826dcc11b753511f57b7fd237cac6aab1c75377121fad2179c81ae5ec5f64ec127a299beb88abc209727d17b1ded623718c7594bb7ca5da0";
@@ -25369,6 +27387,7 @@ isodate = {
 };
 isodoc = {
   revision = 59709;
+  shortdesc = "A LaTeX class for typesetting letters and invoices";
   stripPrefix = 0;
   sha512.run = "5bdd4158aa30923d2f06513dd2f1a729077eef05f8f6e068c1e376f931558b9ad786eea871396ca3d16778692f010bc39f25da3993c74776bd746ed5355fc0e4";
   sha512.doc = "ebf8ac1221592472837590973700603e0cef6b459dae92cc28ba751f5c3c0c49a686b4224c83502b09cec26ba306e44fc00f19b0f9e9c83b26f582a9923f76dd";
@@ -25379,6 +27398,7 @@ isodoc = {
 };
 isomath = {
   revision = 27654;
+  shortdesc = "Mathematics style for science and technology";
   stripPrefix = 0;
   sha512.run = "c9ed49ca5df0932ab59de0988de688fa119682810c3163ec530a8cd80f439eab858bca4dfad85567dbc2de08d226117b4df5249ff29f247c208ae2b1739165f2";
   sha512.doc = "55d94c6b4cf4c2ebc0eae4998f8ed6a1f450efa70e1644549e169cabcc782f1acb879c99bec5237e3147886c696c36f675e9f3c452da9f9880570dabf7adc5ad";
@@ -25388,6 +27408,7 @@ isomath = {
 };
 isonums = {
   revision = 17362;
+  shortdesc = "Display numbers in maths mode according to ISO 31-0";
   stripPrefix = 0;
   sha512.run = "d82a96c2208dfd59f091b8316d8b496115ee56d51e5418344f128418c3b202f0ee20bea505c05f5e81f76006e2efcef48b2d3592bb5c550e219b5c8e4a6e5f4e";
   sha512.doc = "5ecd4587ad6d782182986592bb7f76fd62ccd2e9245921b48ae28e9e381f4084e0d5930b32815ebd074be4190fcfd6beec8be890014edd76e9a5b4958f71d6f7";
@@ -25397,6 +27418,7 @@ isonums = {
 };
 isopt = {
   revision = 45509;
+  shortdesc = "Writing a TeX length with a space between number and unit";
   stripPrefix = 0;
   sha512.run = "2e313aa3afe2e1457a794834c1c5eddec66ac2d17fb614e15e6781a23ca0834a3fc2d68632b07e55618c6d8dc28de5bb8bf435e34f61a419cb27fa53042d4a7c";
   sha512.doc = "94498c64a4acbb2b41a7e4869b628c683a975f1ba28a8b721b9c44843574610a47a39883f5333b405bb8c02d49f50c3d9ee4f344c27b5e5c0d22c181db46bac7";
@@ -25406,6 +27428,7 @@ isopt = {
 };
 isorot = {
   revision = 15878;
+  shortdesc = "Rotation of document elements";
   stripPrefix = 0;
   sha512.run = "788b712fc11f3e4dccd58a75a950752d0492dbc30f0475dedeb26b86e500d0d23c4babf0dfc2361fe16e74d7b37d8f5605b4d4faf1e7018642a5e9dd1be73be3";
   sha512.doc = "4aed42e6fe61aecba99783a1173d903daec621e7d5e0867f6f73319804bfa7727a2a2dac204d792b76a98f8e291bc563bff364360b19ccede2b79600a59260d0";
@@ -25415,6 +27438,7 @@ isorot = {
 };
 isosafety = {
   revision = 68801;
+  shortdesc = "Provides ISO signs and colors according to the standards 7010 and 3864";
   stripPrefix = 0;
   sha512.run = "4f3997e5ab414bea29e986e1edd7b1436f82bd22b32e4047814d48058a57aa7ba042c88808784ddf5dff3926a1ec366f374e5e275df8e16e8d8a9b9c07982ac1";
   sha512.doc = "905fcdc25540ca0db66cc8fd6057bb71ded0016180b4efbcb5855e9ece8213d2091f387201ab44a2827fc4bb897f8cd9209b570b9bc23ab5c4b4293f5848c1d5";
@@ -25425,6 +27449,7 @@ isosafety = {
 };
 isotope = {
   revision = 23711;
+  shortdesc = "A package for typesetting isotopes";
   stripPrefix = 0;
   sha512.run = "27c03c4c6519c038185ee485e94ac51d90c21fd095e4a4cb6d91b06f98e7adb7a423a53b1df035514f58cd0556ab0ecb1afd55c05008e558812d95de2159c8ba";
   sha512.doc = "e1a6e798f894f9455e5d2144a935ee2960199e65db0499c4a900f888065eacfce72269f6808e01e98be3ea3440144eb4004c53af26d80d6ddda1be5df5492b1f";
@@ -25435,6 +27460,7 @@ isotope = {
 };
 isphysicalmath = {
   revision = 69343;
+  shortdesc = "Simple way to write nice formulas";
   stripPrefix = 0;
   sha512.run = "5329b97930fbe9cc13c275132a32cfe4293bc23b2c1911089aaaa80baeb0437606c73503b4430574e88da61615d0649fea6f5666a5609a79ac5ca37cc90294a5";
   sha512.doc = "f044b6cbdcb63a5e66b6dfd396393a99d605a219ede55317c759c28c3890a7c79ff6c0feb1de8f6517350d15a6422dc54426b7b5169ea1865024e5a335fe5517";
@@ -25445,6 +27471,7 @@ isphysicalmath = {
 };
 issuulinks = {
   revision = 25742;
+  shortdesc = "Produce external links instead of internal ones";
   stripPrefix = 0;
   sha512.run = "2ac24eb0e19b92e29fa898fcb8cca7e2f64cf87fac408aa0c834f6afc0ef262560a512637b30dcbee2ec06e9f0fc32f344258bab983b1b1d6fd4da85c821c056";
   sha512.doc = "2605ffe2f42560b04fe781efe3c1972ad76f6cbddc7ef68bdb0ece9b0573b8cec785c2bf4befdf339935730a728bf19b83f3597119d3f9705f571350e963801d";
@@ -25455,6 +27482,7 @@ issuulinks = {
 };
 istgame = {
   revision = 62946;
+  shortdesc = "Draw Game Trees with TikZ";
   stripPrefix = 0;
   sha512.run = "40ea41a683ecff33942fb3287f57489079be48eb5e7512b04f5b7038da34bf9daeb523b9d15325444f27493119d2258302838b4a44becc7dad205504064cb5da";
   sha512.doc = "275d45c62d3e140b5a292e0499c555716a43ed4cd06c69c59edc49b0e832371d39b320de954452226dcdabce7a140a622f3d3d1e8acb69fdd4aa0c62b39fe0f4";
@@ -25464,6 +27492,7 @@ istgame = {
 };
 itnumpar = {
   revision = 15878;
+  shortdesc = "Spell numbers in words (Italian)";
   stripPrefix = 0;
   sha512.run = "73770854d45bf404e874aeda0d0bc95dac7ba266cb012fe4af7c4e7686c078b1314500ddaa767b1652e9b05b02691c93cd24b34d6b145fc30c0a3f56693f6a17";
   sha512.doc = "b7c81a74d816508121f0449580e4599092bcf3d176cbf9f754fe9e662d83a5c8b66e52e43b2621338a13b09c44babac6a575f1e8894863402c028dc3ed792486";
@@ -25474,6 +27503,7 @@ itnumpar = {
 };
 iwona = {
   revision = 19611;
+  shortdesc = "A two-element sans-serif font";
   stripPrefix = 0;
   fontMaps = [
     "Map iwona.map"
@@ -25486,6 +27516,7 @@ iwona = {
 };
 iwonamath = {
   revision = 68144;
+  shortdesc = "LaTeX support for scaled Iwona math fonts";
   stripPrefix = 0;
   sha512.run = "e0b87b6815ffbec37a52e0ecd1d31daacd46c222abb71566ab3476cbc2ec28128f5977367715bf1eac439f978d750b6ce7e7bee589de7a1f18bf70ab8ce166ab";
   sha512.doc = "81fb0f9b7b738994a4af09a8dda8b580f4d59a92f790f8b285c2b1a252e672786296472847a6d4d8ce804a757248dec04e02894d1550cf0791863d25d22f35d5";
@@ -25496,6 +27527,7 @@ iwonamath = {
 };
 jablantile = {
   revision = 16364;
+  shortdesc = "Metafont version of tiles in the style of Slavik Jablan";
   stripPrefix = 0;
   sha512.run = "40fb96443b2194adf8477a68d9d435101dfa42471d02ec48a37968d21e12802ff1feffa830484642b457562392b6ea147d394734acdffd735a8a5db421d0eefd";
   sha512.doc = "00e753a85f3521ac0c6f336e0e563bd0a68a5e2ae756dfce72d3cf59a01eb9654b6f5c9ad9b83047d3d4f7743b7cce6f2d0d734510532db13942ef6619ae813f";
@@ -25504,6 +27536,7 @@ jablantile = {
 };
 jacow = {
   revision = 63060;
+  shortdesc = "A class for submissions to the proceedings of conferences on JACoW.org";
   stripPrefix = 0;
   sha512.run = "7482562b56521fbb70325ad3b633ebfc82165d65149dd85b89697ff9b5941f580f43e42da9775c659fa4fceb8a2908a200258dc31162b013ad8a207b88a5152f";
   sha512.doc = "b53a0cdf5c3fe1eedeacbb438fbb453f844eff9c669946963e18c0c787aac744307d51804327dfbfebba1f88332dc01c40c43d3a4a50b5d2c9c8a0bf67840dd9";
@@ -25513,6 +27546,7 @@ jacow = {
 };
 jadetex = {
   revision = 69742;
+  shortdesc = "Macros supporting Jade DSSSL output";
   deps = [
     "amsfonts"
     "atbegshi"
@@ -25603,6 +27637,7 @@ jadetex.binfiles = [
 ];
 jamtimes = {
   revision = 20408;
+  shortdesc = "Expanded Times Roman fonts";
   stripPrefix = 0;
   sha512.run = "72e2dc3995f173f75aa4714c397bb036c140bace3b17ddbf321afad677ad397c2be804c890df472f89e15300d4645d02d8ce3746c33fa37be85a9d9312ece3a7";
   sha512.doc = "bc14db250b9d34e700c0fed6390948b39022f7ba39cc0e083c6a1355517fd10aaf7065f6ca90f40a50aa0cd6557a35cdfb1534aabff12ec6c462a2fc87ec699a";
@@ -25612,6 +27647,7 @@ jamtimes = {
 };
 japanese-mathformulas = {
   revision = 64678;
+  shortdesc = "Compiling basic math formulas in Japanese using LuaLaTeX";
   stripPrefix = 0;
   sha512.run = "35245333f0ad08ba0772aff54e5ed1b252ad1b1d298c55934ade4a0e33dec29fc67adfebcce22f10b61b9469a2a2d208c4b9977519271457f1538c4bba8bce24";
   sha512.doc = "cfa07138896028186773970685309030f587fc39f95b2fb0d993e2827a124ae4172acc91f9276ae65b32fdc614cd9525d557505b2f1fc11750a982a5c9cebb42";
@@ -25621,6 +27657,7 @@ japanese-mathformulas = {
 };
 japanese-otf = {
   revision = 68492;
+  shortdesc = "Advanced font selection for platex and its friends";
   stripPrefix = 0;
   fontMaps = [
     "KanjiMap otf-@jaEmbed@.map"
@@ -25637,6 +27674,7 @@ japanese-otf = {
 };
 jbact = {
   revision = 52717;
+  shortdesc = "BibTeX style for biology journals";
   stripPrefix = 0;
   sha512.run = "0f1cd72dca41b37c26d863aa734737ad128f5c39c508db13a3e91e4088477a99d9978aa1ed003ba0812e276bb4d80e527c80915cd7a08fd1cbe968816359814e";
   hasRunfiles = true;
@@ -25645,6 +27683,7 @@ jbact = {
 };
 jeuxcartes = {
   revision = 68266;
+  shortdesc = "Macros to insert playing cards";
   stripPrefix = 0;
   sha512.run = "ad90719dd34791c88a5300d33ad7d633e650b3de6d61f493cf9069c39429f57ffbbde7aca1d2356a9cf6486701511fb7805049ed6a53ccbf49daa7a3dc5ab4e3";
   sha512.doc = "9c918a0cb97ac3b82a88fd104a2e084404b83b2c04acac44e5f566774a3c01d8c91b0a73b49325ab6d7d366c5849e69a60c28a9686049c009bc249cc9b04c7a0";
@@ -25654,6 +27693,7 @@ jeuxcartes = {
 };
 jfmutil = {
   revision = 60987;
+  shortdesc = "Utility to process pTeX-extended TFM and VF";
   sha512.run = "11f0ee88997b197ccb4cf249a92f90ecd08227b0086861b59752c2e17fafb1e1fec7a1cfc701d5df91497d4cb9e61d13f892d776ded07c34d7dab09a2a65eed4";
   sha512.doc = "045b74024de9798fd7c74442404dba0610a94f66b60455d84fc33bfe56e8612b014fbd83cfa3edfb0c3a8acb31c0dece69ebefb58294b2d271dc1dc2e95d094f";
   hasRunfiles = true;
@@ -25665,6 +27705,7 @@ jfmutil.binfiles = [
 ];
 jieeetran = {
   revision = 65642;
+  shortdesc = "UnofficiaL BibTeX style for citing Japanese articles in IEEE format";
   stripPrefix = 0;
   sha512.run = "79433835a06c0fe268d90ad11bfe6a9956e49284cb2ea2255c4577883f2087c0c6b823121a563cb76f666ce74265a056f0e0b470dd2542a104894adb0242d083";
   sha512.doc = "ccdbc9aafd94956f43c7f78c93b02f067defb038ba6b9c649e38d1e0c02647c853ad391a1c2b10b60e14255b38c5d77aae9ddd260c8297e06084236c27d70073";
@@ -25674,6 +27715,7 @@ jieeetran = {
 };
 jigsaw = {
   revision = 66009;
+  shortdesc = "Draw jigsaw pieces with TikZ";
   stripPrefix = 0;
   sha512.run = "3ad1aab51b4fbd99efc6bbfabf716cfd27e4af71674b094053f4866e38ab4c6c3f8d1884bfc4e4f7cf0fef11abfc488cafdb696238c5af1440255151b1b2ca77";
   sha512.doc = "92d04e7497c19471f8aaa5344a1cc3824e18691daffab637a1822f900468269367244c984e4420efc94014cfc849ebfa4fd0db6e5b37cb1e89aa5493bdbbdb87";
@@ -25683,6 +27725,7 @@ jigsaw = {
 };
 jkmath = {
   revision = 47109;
+  shortdesc = "Macros for mathematics that make the code more readable";
   stripPrefix = 0;
   sha512.run = "8e549db42b25c2edac71013afba0ebe3e09859ce4ef104da2b969663014cb88c10bf1c8899ee181070e6cec1b28d0ec9e5966d27f2176e2032d6855ded8ea941";
   sha512.doc = "99a954f6eb917333a8e6c4e3437fcd16f6950e0473fc1a48c99d748246c97d5a3df5b96e0314a9ec5e7c6bb0b318b934c40070ec94df00546e49cf140aef23c2";
@@ -25692,6 +27735,7 @@ jkmath = {
 };
 jknapltx = {
   revision = 19440;
+  shortdesc = "Miscellaneous packages by Joerg Knappen";
   stripPrefix = 0;
   sha512.run = "0369405034393ea8de2cd94497a97ba6c40264ec9142eefee09647fd4e51f83e169a99757a4b92c1c9d911637f137404fa54231de452bcd208ba3f9982984153";
   sha512.doc = "cadb522c007963278990e75a011e22d2c6bd8429e55fe5ecba3c2f20b9ae13fda4eac304bc405440c1c1566b1458e0f3e77a6d4adc77117b20673204bf502131";
@@ -25700,6 +27744,7 @@ jknapltx = {
 };
 jlabels = {
   revision = 24858;
+  shortdesc = "Make letter-sized pages of labels";
   stripPrefix = 0;
   sha512.run = "5077471a09df4090e087a465e9d1823668ab80f088a7d5fea7d14559e9ea8906dae029a2093038ce5e9f013bbe3a9bcd74d8626e6ccbcaf7ebedd5c2f1e3521e";
   sha512.doc = "7736480f6736d8b623fac61683321eb7444ca8672eadf0da200eeca928de9dc031152e4599783d602e9c11b58463b03fc1162756edbaa5bd3dc1f6c5b64e08a6";
@@ -25708,6 +27753,7 @@ jlabels = {
 };
 jlreq = {
   revision = 69932;
+  shortdesc = "Japanese document class based on requirements for Japanese text layout";
   stripPrefix = 0;
   sha512.run = "a6ed1fc8706d9aa3bb759bfbf85f451db0f5f941b46c607217a0d1af653e617e56c50d4b82e0f376d212dfff5e4fc46f922e5397940931cdf2acc191f7c34ce6";
   sha512.doc = "01b804ec9c3447f50666e5bea40a3142c29b66aca69f69b2ea5cc7f4696b569744e55b148da26f6dd9698ad4cf580a738196c5b09fe0a0b831105251ebcf1855";
@@ -25717,6 +27763,7 @@ jlreq = {
 };
 jlreq-deluxe = {
   revision = 69971;
+  shortdesc = "Multi-weight Japanese font support for the jlreq class";
   stripPrefix = 0;
   sha512.run = "bf50a2ffb569202f6bf182637482005543ec24ac214287c3dcab234b6613430f4cb0e8d7a987bbd674e1c3442d57f03bee2df5cd1384eb29298b9f304a07099e";
   sha512.doc = "8a8dc59a0db9128c3d4db9a207beae6fca412ff9da59b7dfa32741f3cb770ecfe2d5ac1dd02521a938d82c5c15735f8e42ac56906ad59a097a5a150bdde1bc57";
@@ -25726,6 +27773,7 @@ jlreq-deluxe = {
 };
 jmb = {
   revision = 52718;
+  shortdesc = "BibTeX style for the Journal of Theoretical Biology";
   stripPrefix = 0;
   sha512.run = "6317f3437416ead3fa1224432bd2cae247614e614f888ea074cfc442b8c7c3832d0243988269a1d772172008fa377b142288f9644bb1e2954c3758c1b75f78a7";
   hasRunfiles = true;
@@ -25734,6 +27782,7 @@ jmb = {
 };
 jmlr = {
   revision = 61957;
+  shortdesc = "Class files for the Journal of Machine Learning Research";
   stripPrefix = 0;
   sha512.run = "95a5e59c8f4617b8d3d459a2cfe0730465d46a98781e4352debb9eb0c4357e74c8f519e77873a236f127dbecc235f611e30fbd7348818d9024a27fb8f0ff1eac";
   sha512.doc = "a481634eac642925340aa02323deee2aeee1577696abd435814a2f27d6e4bf6e61be2b2618778c762f3ec60a1e5067d634da74125dfacccfd940488b6a812175";
@@ -25744,12 +27793,14 @@ jmlr = {
 };
 jmn = {
   revision = 45751;
+  shortdesc = "special fonts for ConTeXt";
   stripPrefix = 0;
   sha512.run = "2e250c3f115911c56f9b8d46d358fdef289c624a5b24c9b4213bbf7818bf42c7b778df55d4bf181bce115b388915cedc90ef7cfa99ee6ad8dd621e7853fc7c29";
   hasRunfiles = true;
 };
 jmsdelim = {
   revision = 62630;
+  shortdesc = "A package for compositional delimiter sizing";
   stripPrefix = 0;
   sha512.run = "83a76c353b38c9d5e432606c2f1667dac10adf54f844d9c4c7a9b8b8733a44d63db9e2c9e46b2ca54f427bca1d3bf4ef49d016c26dbad361b83d091c78708918";
   sha512.doc = "ef6f90a4b7d3738ff857158822fbc7b3dc23752b5da5845932f560fcaf83d67a22920e045448caae26eded760e34aaab375f29993ffb503d0b5ef3c8185ae737";
@@ -25760,6 +27811,7 @@ jmsdelim = {
 };
 jneurosci = {
   revision = 17346;
+  shortdesc = "BibTeX style for the Journal of Neuroscience";
   stripPrefix = 0;
   sha512.run = "1ea3d11a66045784c2d1abe0290d95482c5a2a65a21963a58d9626872b25bb0d20f8d1c3c3b8173bf7f63ed71f7c33e13c8f6dab0918585b36d72fa37dc35714";
   sha512.doc = "2ed6a342b376ced405a75da39fff51d03e9fffa89341522555d2edf8d8eca701013a95f09f01cbf642d3ed1ba93a1aecc89682986ae5c94d784f3c857eaaadb1";
@@ -25769,6 +27821,7 @@ jneurosci = {
 };
 jnuexam = {
   revision = 70117;
+  shortdesc = "Exam class for Jinan University";
   stripPrefix = 0;
   sha512.run = "bb4bd96084b70e0808ee15cf23f0ab721b6268074cc5544aa80c9a8b3f6c8a1784591859215e17846a606d7ca76d93ce103c70a8805a321d5833d59061e71192";
   sha512.doc = "45b3a04be31cb9fd778a2a264575a536750bf0c73b0ccb0fb68fb83d99fbe370a70c119e962a1dfbfdcc3da4056439e271aea0e06d7b7289e0c97f3bfff1d6e4";
@@ -25778,6 +27831,7 @@ jnuexam = {
 };
 jobname-suffix = {
   revision = 64797;
+  shortdesc = "Compile differently based on the filename";
   stripPrefix = 0;
   sha512.run = "b2e5a82d5bb8575e3708a3e2c30e23a3ceb129c6cd78882126061321350c3ad72e36ccf41392eca7556203be713530d3169bcb39210f91d720159c49975eddf7";
   sha512.doc = "fbe45bf364098e30deb8e040dfbb59b3b81cf53720793ca02dce59ec113ea57b86c1a3a8465ce6029ac1fa7b19b2220fdddc71f71285969e8f91eeafcabc3bfb";
@@ -25787,6 +27841,7 @@ jobname-suffix = {
 };
 joinbox = {
   revision = 68003;
+  shortdesc = "Join boxes vertically or horizontally";
   stripPrefix = 0;
   sha512.run = "c7ef7c28e11a64f060b37e1e17fbe54a80e1c5050bde043e77c42385037974a462598b66c3ab48a9d3317a6ce55a0af3a434465657e0a42d5568a127779c765d";
   sha512.doc = "ed665aeb55d066887e536ad545199809216a2eb84d9d81fd81e40798c7a69c5d14a191a73a8c2ee9fdcc6d36a8d206d07fbd72d427172eb9a182bbb3b4751cf1";
@@ -25796,6 +27851,7 @@ joinbox = {
 };
 josefin = {
   revision = 64569;
+  shortdesc = "Josefin fonts with LaTeX support";
   stripPrefix = 0;
   fontMaps = [
     "Map josefin.map"
@@ -25807,6 +27863,7 @@ josefin = {
 };
 jourcl = {
   revision = 65290;
+  shortdesc = "Cover letter for journal submissions";
   stripPrefix = 0;
   sha512.run = "6039789de2a03ec2568597cfee911d20b66db75ef4ca3c48cf9481ed2debd0226ccb605a083ba53bce91b74768e3d70a2e2ac077c630b8de33c010f917d68335";
   sha512.doc = "873b2e5636f6409f7b6c4c8c4a8c8988108ad4740df9fdcaef4e7998d3eeba0a2a26e84fac5e6c7b6534bafd120a3dcf066974fc9419e4544cf597bc99fdaeb3";
@@ -25815,6 +27872,7 @@ jourcl = {
 };
 jourrr = {
   revision = 68556;
+  shortdesc = "A LaTeX template for journal rebuttal letters";
   stripPrefix = 0;
   sha512.run = "cbd5484b622c865b7c42f8ce54a76e54a5cbde6045701cd8fbba54d17c8abc510c79125e7d335c3509cb9c674ce233005f9fcac703fa95f3297239c00c3be682";
   sha512.doc = "395fadb1bcc91eb1c3090f57d783b0b2deff507d22a4221258dd826d635ba382c4c4d00c0d341402374ba4bb037e39cb23efa2bb323652d73b0940ea89eb9f7b";
@@ -25823,6 +27881,7 @@ jourrr = {
 };
 jpneduenumerate = {
   revision = 63893;
+  shortdesc = "Enumerative expressions in Japanese education";
   stripPrefix = 0;
   sha512.run = "10bb936cbddc6e88979ceed208bdba424d4e4c9c388cadd3a9b84a767c59ea43362f11092907f98c16696f07134ed66765a8bc7b02ea0a8fbe9eb7b814760780";
   sha512.doc = "447c925bfe05d1c6657bbf2592bfbd16f80d9bcc1a3320635231153b90198f2e8010cef5d13573e84504d5a41b9cc6ec750054c00a9178154c4e210684919d0a";
@@ -25832,6 +27891,7 @@ jpneduenumerate = {
 };
 jpnedumathsymbols = {
   revision = 63864;
+  shortdesc = "Mathematical equation representation in Japanese education";
   stripPrefix = 0;
   sha512.run = "c4f23412a83fed8ee870922d1e8e0c2e8a881989223b340de7ecda0851d45d504fa6c5f0cb70ceb65e2c07f5df0154f77f343787573a6265a709bc398e3add9a";
   sha512.doc = "0589ea6fa4dee93900753dc170aea295e9bf1103687fa146633589897292dff8c472ee95607a2d0b682321a5a33e22220234e2a396cee4ec2abc54fa4276459c";
@@ -25841,6 +27901,7 @@ jpnedumathsymbols = {
 };
 jpsj = {
   revision = 66115;
+  shortdesc = "Document Class for Journal of the Physical Society of Japan";
   stripPrefix = 0;
   sha512.run = "de1383f7c52d4a43b0ecd2677314a88181e2702ae487b0ce3140b3048c1820bd504b6743002733e2da3e45553aaf911fe2c6ff552f77e706cbcd300570a34c03";
   sha512.doc = "65c25cd1540664e4e529be67851e5198761cffd6eea495d1f60963dd9deb911ebe8426391fc456f08bb6f640040790fbe7d7702b21f7ddcfca5d246c02791764";
@@ -25850,6 +27911,7 @@ jpsj = {
 };
 js-misc = {
   revision = 16211;
+  shortdesc = "Miscellaneous macros from Joachim Schrod";
   stripPrefix = 0;
   sha512.run = "6dd7920204cc66ff28c78f54bd6432a71d77ae2f4463bd997d2a4170465053eb86d61bc35d8da66377b47cb1eba88c6ed0918142910a5bdd4e44aec41d3ec4d0";
   sha512.doc = "507cc8c04589dfa7b4d36bf32e4c1d18af42b90df58fee128c0ad37284a87aa1adad32623591d0e8ca880c53a1f583b0bd8054487e231bb2a58ed06d1bf6c6e3";
@@ -25858,6 +27920,7 @@ js-misc = {
 };
 jsclasses = {
   revision = 66093;
+  shortdesc = "Classes tailored for use with Japanese";
   stripPrefix = 0;
   sha512.run = "aeba8c75d3af2077763da1846e09b6d51ce0f5935cc4e8a09fb6c747d9321161996423ce620d04c15cfe3a4f9af3ea36f90ccbded6fa03dcc088c5e71be74295";
   sha512.doc = "0ce0175fc4a3ea36154c329961d7604bb06431b586dc1bc928afd5b2ada528bb79349a833504ccc93525addde80818210cfa2a1803ecb319032bc8eda034f18c";
@@ -25867,6 +27930,7 @@ jsclasses = {
 };
 jslectureplanner = {
   revision = 70448;
+  shortdesc = "Creation and management of university course material";
   stripPrefix = 0;
   sha512.run = "8a94f190abadb4e8d4293782984f94b17f5d3c352d4a0c4f9368327df0e27a416d2f584ee44c4829f05afebeb8a4bba2770086d8094c54cdee887f11620da808";
   sha512.doc = "0907581fac47177633defd0f55a6a8373078224e2edc62b0c8f5e2521464d179833b9a50d513ca52ae1994465f75b129fc34cf81ff54fa904fc7a7622b4a0128";
@@ -25876,6 +27940,7 @@ jslectureplanner = {
 };
 jumplines = {
   revision = 37553;
+  shortdesc = "Articles with teasers and continuation later on";
   stripPrefix = 0;
   sha512.run = "e09ee044fe7d5692fe4f1098406e33481ebdf81698168223235e735637499053c66f278a1f7e27585aaa1a586ccf85b4f5afdccfa3ac35950475f56e46324103";
   sha512.doc = "c7f56f012d6eca83e54610aabf1530889c01c1b28e9b790b220726bff860504a3e46ad4fd8d88ef50d3fff17507710bc168fd2d5861e9f2cdae69cff6f95ae71";
@@ -25885,6 +27950,7 @@ jumplines = {
 };
 junicode = {
   revision = 69355;
+  shortdesc = "A TrueType and OpenType font family for mediaevalists";
   stripPrefix = 0;
   fontMaps = [
     "Map Junicode.map"
@@ -25897,6 +27963,7 @@ junicode = {
 };
 junicodevf = {
   revision = 69374;
+  shortdesc = "A TrueType variable font family for mediaevalists";
   stripPrefix = 0;
   sha512.run = "1c227ce22bb32e8799cabfb943fcd38a4ccc6c07aa7d9dc9708c9bc84352c4a660cbf8c6d31249e47825b961f67a0d7da59349c827a97eada6a37a327091973e";
   sha512.doc = "c96e5c1887f39a2151bf697353b84d9049ca3686a61568f1d99b68596d1b7f6363810962652813403881754ac412240a9d557a7053803172ba45a8c7c7057c13";
@@ -25906,6 +27973,7 @@ junicodevf = {
 };
 jupynotex = {
   revision = 56715;
+  shortdesc = "Include whole or partial Jupyter notebooks in LaTeX documents";
   stripPrefix = 0;
   sha512.run = "3b5cca7c6b8b14eda35d52a6db5e7ac027c0b29ee08a7b8f58411886963d8dc69348752d6cc1f010d11b9216026b705fe4cc915d2c60cb3ee9f3950fcc6bb308";
   sha512.doc = "35b8d2dbcbecfb4e7b2bfb0ef39f2d076d6f4eec9189e89cee3bdfdbb6f57d5c1dcefbca3eeecf4842f7f94616030d2e73588074618b39e232f40104e371f3ea";
@@ -25915,6 +27983,7 @@ jupynotex = {
 };
 jura = {
   revision = 15878;
+  shortdesc = "A document class for German legal texts";
   stripPrefix = 0;
   sha512.run = "08426bab6c0627e945d620a338c6081a8a21d80567d4a4b686617d0d57c99b1e148f5e5c3406a0337ee4ad61bd795dca353c28b0f33d397c5b47515969fa5951";
   sha512.doc = "4d19c663f73791712d9c24361d8e2a0c2faf25bdac15dcce48825f02468f6a798eff7e147f531368bcc8d7e2a1938202b5614e2434cd46866f359f8349564adc";
@@ -25925,6 +27994,7 @@ jura = {
 };
 juraabbrev = {
   revision = 15878;
+  shortdesc = "Abbreviations for typesetting (German) juridical documents";
   stripPrefix = 0;
   sha512.run = "4d6fd00247c6c915956679674dd029048cb96ac3bc97606c0a299bbaff24a4cbb9440d557eb2945151720265ecb27bf15c638c003e1039dafee56471dfa03945";
   sha512.doc = "ede48ff67dacf107baf50be345b042a7b64c815442875281241b7de4c3be56ec40c969e40ec69669f31058bbbe9b27c51cae25938d93bec99a8c57dfb8e9cb75";
@@ -25934,6 +28004,7 @@ juraabbrev = {
 };
 jurabib = {
   revision = 15878;
+  shortdesc = "Extended BibTeX citation support for the humanities and legal texts";
   stripPrefix = 0;
   sha512.run = "12a1d9402ca15ff23cbb9818f07290f0b295c9844bc4cf02e1332eb27a26a3a8d0ed3199df1c4f4f85c9ff5308e7426d0c7adad8dc587fe905c5a15314863b3b";
   sha512.doc = "3f804537752bfd7b6780d082b37834c805e521491f39bd76b52541707e69f8b775b9e18bfcba0b0827133be8cf82bab86651f2a7ec351f9cc140427056ca0dc0";
@@ -25944,6 +28015,7 @@ jurabib = {
 };
 juramisc = {
   revision = 15878;
+  shortdesc = "Typesetting German juridical documents";
   stripPrefix = 0;
   sha512.run = "cbf6ebe12bf72dfb823578ed49066f34059e5ab1beefe0eeee84c7df55135644eabdea7582dc848b52cd575579d8807a2a2723bdb697e851eb8aef88f8a5e533";
   sha512.doc = "3925418b9e4d05def76b9e0ebcf882c4b7061ff7ae446aa63d412c093caa04536ad45c757e04e088c3b4099c569885c6e6708ad31b866ebe89ecabb8395964b2";
@@ -25953,6 +28025,7 @@ juramisc = {
 };
 jurarsp = {
   revision = 15878;
+  shortdesc = "Citations of judgements and official documents in (German) juridical documents";
   stripPrefix = 0;
   sha512.run = "511130814ed94c7f0829802a0c3e8e613b0c4aae50854f6e06779448f430e78c8712142fe04d3662b799a488d90944072847dd223b01b642de78c1f98649e79a";
   sha512.doc = "1c439e351102ae3f768ae38404cc5d98403028fb6fa6088cd53eea40593ee03c10d20955f3fadef41f41af6d23f139ba356a9b06ed735644b67d3f42a076e0af";
@@ -25963,6 +28036,7 @@ jurarsp = {
 };
 jvlisting = {
   revision = 24638;
+  shortdesc = "A replacement for LaTeX's verbatim package";
   stripPrefix = 0;
   sha512.run = "70626cd23359751909ce385a7ed4415c5641e9c303d0dafeb99e36d0151f382c02c2f6818a135bc92fb156d4fa25d1976b2c906074fcc112e56a1a7a458801c2";
   sha512.doc = "de6a694c26332d9c97bf4202bec0989370226b7381d080c4d6f5a106cd8f2bf352d756cbe7cede2a4ba3e17f85ad553e5c24e874a00cc1dd307325125e6d0bcb";
@@ -25973,6 +28047,7 @@ jvlisting = {
 };
 jwjournal = {
   revision = 69162;
+  shortdesc = "A personal class for writing journals";
   stripPrefix = 0;
   deps = [
     "einfart"
@@ -25984,6 +28059,7 @@ jwjournal = {
 };
 kalendarium = {
   revision = 48744;
+  shortdesc = "Print dates according to the classical Latin calendar";
   stripPrefix = 0;
   sha512.run = "fea39ce08f6028f078e2d87ec73aeeb56d72006d24d316f8e257b3c71604efe2b4ea2fa698f79798ec5c9b3d271d758d4c0699ffce1bf380a74d21158224eabb";
   sha512.doc = "60a1dcbaa92fcb4438f4a2416dc4784fc30af34c6e1511533b8827a266b61a62a6c0e66f51b27ce81dd879d774e9fee6b155a048ddb9f68e1f991294791739e1";
@@ -25994,6 +28070,7 @@ kalendarium = {
 };
 kanaparser = {
   revision = 48052;
+  shortdesc = "Kana parser for LuaTeX";
   stripPrefix = 0;
   sha512.run = "a9db1fc66330bafc5fc26ed600f1779dce328d6234ebe930aaff65a02a0d740188e73c5f73a9c75d69926323a610dca4b37044e7357a141eae9bb3231fd3e272";
   sha512.doc = "9eb00a9652f22411f9ae0123bd2bda62af617f39ed3eb8266c4ca38ff0783722a3d1eb05a0fe1ef6a238a3132ade65c5ebd882309f154ca416e2191b9db44c4c";
@@ -26003,6 +28080,7 @@ kanaparser = {
 };
 kanbun = {
   revision = 62026;
+  shortdesc = "Typeset kanbun-kundoku with support for kanbun annotation";
   stripPrefix = 0;
   sha512.run = "2ca12d697ed80a1f3182ac2e28897f670f8d770d99ce6fb3d8cb692e8e40d45afb463959ac8668b60ac7d67c9d8dd8f88ff5ec9e83a96f656ea8cd59ac419187";
   sha512.doc = "853230ef31da0bab5215f62e68162553b5ba54619e1e6b6e84c9c57fbe43b5af5715af2696c384a14807a1cd6507dee600d37bb205e5b82d42cdae15ce30e940";
@@ -26012,6 +28090,7 @@ kanbun = {
 };
 kantlipsum = {
   revision = 68983;
+  shortdesc = "Generate sentences in Kant's style";
   stripPrefix = 0;
   sha512.run = "bc863e42abe6397617c588c85936eec4dec5fd9578b26cdfaa80e25abd29ae814a009952f246a4920a3da43e0842a9b113d0c73eb7514b72a9c5a16193f914bb";
   sha512.doc = "97f15c38fff7c30d99313be71a6908f5391bb15a3e363fd00bf6a6563a2abdca2d98969d5299ba644d33917b48da41985c5ea6d9238e2e8a7fbd285262bcb8d5";
@@ -26022,6 +28101,7 @@ kantlipsum = {
 };
 karnaugh = {
   revision = 21338;
+  shortdesc = "Typeset Karnaugh-Veitch-maps";
   stripPrefix = 0;
   sha512.run = "344027bcf79a9b1d3c408aae774bc532a39e7c638c4831d2566e7cf5ba5780161c6314bc0f9337de21fa08a2a2d72f3b5ccf9df7a521d7c95b4dc6e62cf2136f";
   sha512.doc = "379638ab38cdfe3d94d049fec7701995566df9c5451f4f6a862c7cde232ceea899222b13f3c40398676bd2746305ee48e8b43781804cd24f48f36946526d23e4";
@@ -26030,6 +28110,7 @@ karnaugh = {
 };
 karnaugh-map = {
   revision = 61614;
+  shortdesc = "LaTeX package for drawing karnaugh maps with up to 6 variables";
   stripPrefix = 0;
   sha512.run = "789421645939ff491e3ee00aa06813a5e194108c2d55a5e06ffb4dba593a095352ec54c5194ef8ac536f4226007d2323a923ada94966b5cdbd147117856ba680";
   sha512.doc = "6a04bc71128802a62fa2dbf92a513c9859f9bab336cd2208d05fcd3b9404a1531e4f20cfd69a1d58186cee6660582ab03e89ce87511c3e1173f84bc6ac132f29";
@@ -26040,6 +28121,7 @@ karnaugh-map = {
 };
 karnaughmap = {
   revision = 36989;
+  shortdesc = "Typeset Karnaugh maps";
   stripPrefix = 0;
   sha512.run = "72c5ee674d7719b535a03cb9180a605fce2ac089c875cf57b95739b5c139bc45552960faf8f3287731fbe12c8402ce3c2c6517513d20bbc484e12a44468d6ec7";
   sha512.doc = "c79e28dbfb45764c3f5feff21bf3cb8ec5ee41380fe43d35b2b091b1e263db1eb417a19c74987743c04a2f41fc2c3655fdc531c8971320580be48beeb4d3d6eb";
@@ -26050,6 +28132,7 @@ karnaughmap = {
 };
 kastrup = {
   revision = 15878;
+  shortdesc = "Convert numbers into binary, octal and hexadecimal";
   stripPrefix = 0;
   sha512.run = "d7cbd22ead6633284e9d114d90b2cb47924bfeb10c15eb350e4c2f82b883930c953410362313cdf8ac476a68cfa3a9b020217097909504b97a8ecd7addbc8d97";
   sha512.doc = "32883a008b0f44c341fbd5f65f9783e403fb5751201235b0c4a2dfd9af8400e1a36adaf4573165688d78cacdaad3c8b2ac1b92ba87ef6951d3bc5330537d1f9e";
@@ -26059,6 +28142,7 @@ kastrup = {
 };
 kaytannollista-latexia = {
   revision = 69876;
+  shortdesc = "Practical manual for LaTeX (Finnish)";
   stripPrefix = 0;
   sha512.run = "e7b939930e9c0952cf67e402b363a00a7aba9ad226bf4301650553ab8117a78dc415f81c31e8ca6a8eeaefffcf3fe95a57cd93164df01b63f74c0513f0e8469d";
   sha512.doc = "f44779f63f301091ac2119f6c5002c29d2969509775acc752ca4aefeca8b16bbc02f352c36e3b869ea6070f3fd70bacecf3e7d41d00bc5007d0176e5cc489f3e";
@@ -26067,6 +28151,7 @@ kaytannollista-latexia = {
 };
 kblocks = {
   revision = 57617;
+  shortdesc = "Easily typeset Control Block Diagrams and Signal Flow Graphs";
   stripPrefix = 0;
   sha512.run = "1cf755fb680b13d5298c306698bf41cd0446f7ec8da321b065ed549c1bc83bc352bd4a44d67eaff6fd1c253b2d92768f8ddcdb6a986febc4dd1abe6884a2354d";
   sha512.doc = "7aa79c73b32d4098bdbf6152f28de628083639fcea2b7338e64fe6108aa605662f36002d93268f67fcfac59798369d392c5c4b79adcb18d0600faed8d804d8df";
@@ -26076,6 +28161,7 @@ kblocks = {
 };
 kdgdocs = {
   revision = 24498;
+  shortdesc = "Document classes for Karel de Grote University College";
   stripPrefix = 0;
   sha512.run = "79b64f2f20b9da908fd9acee1033fdef290c30e99794c37f5020f33dc5fdbb670383463bc17614f4ecaa1d5d4c03b4ffd3aa4f2b7c53f27455740adda9d0545a";
   sha512.doc = "6b579a44d041a10eb9224aa80c1b59b113492cb12c121b1ca5f57625d044b52a80cbfab63d7a3160043b41b1b4e27d463f5ef8c9688f620f431fc1937a8bc561";
@@ -26086,6 +28172,7 @@ kdgdocs = {
 };
 kdpcover = {
   revision = 65150;
+  shortdesc = "Covers for books published by Kindle Direct Publishing";
   stripPrefix = 0;
   deps = [
     "anyfontsize"
@@ -26109,6 +28196,7 @@ kdpcover = {
 };
 kerkis = {
   revision = 56271;
+  shortdesc = "Kerkis (Greek) font family";
   stripPrefix = 0;
   fontMaps = [
     "Map kerkis.map"
@@ -26121,6 +28209,7 @@ kerkis = {
 };
 kerntest = {
   revision = 15878;
+  shortdesc = "Print tables and generate control files to adjust kernings";
   stripPrefix = 0;
   sha512.run = "9f295c253228745bdd91db65f2e414bc6113d246242ea1717db6659c2ccbf72530fdc326c0ec499f6d6c2af3ec8df2b78965666dd8544e07bce864716804e76b";
   sha512.doc = "b471544af9d1ecfd6225e4b9d61f05b4da950a6512ac4c4bab54b1ef9befa859ee5aee2498690e724d84313808d2abc8f005fd4e121891878cd2dbd03ae36415";
@@ -26131,6 +28220,7 @@ kerntest = {
 };
 ketcindy = {
   revision = 58661;
+  shortdesc = "macros for graphic generation and Cinderella plugin";
   sha512.run = "da33a0bdc989fcb6f4521d23e5d44bae70d608ed8ac10f05d6962a252e99bbd80380afa2cbe9e02b9c652b044dfff79218f951144da6ce55f8a53033c11ff346";
   sha512.doc = "1704411b3e7c41b6318ff6f8da56007dbf1bec67bb495d25364d6274d9b8acf234430081c22bab6ad13ffd0ea47586e6e24c9f27da8a97a309e2128ec74f89e9";
   hasRunfiles = true;
@@ -26145,6 +28235,7 @@ ketcindy.binfiles = [
 ];
 keycommand = {
   revision = 18042;
+  shortdesc = "Simple creation of commands with key-value arguments";
   stripPrefix = 0;
   sha512.run = "90c2246edbfd199d98a05df336ee228c65f26073f3c95c5ae55c3201cf59453bb5afb95ad367ab4af6b36dc4e0c52a25bb10f80fba265003c701122247be50d9";
   sha512.doc = "b99b58407f5d93fb868bf525ab199c41e07fcf5f31c7a6a14cf68622ef3a34e44d1014e4d34594441144af5c7d9a9853cef1505311928b32a9fcbd41c7bf4284";
@@ -26155,6 +28246,7 @@ keycommand = {
 };
 keyfloat = {
   revision = 69399;
+  shortdesc = "Provides a key/value interface for generating floats";
   stripPrefix = 0;
   sha512.run = "b3bbbe74c5db4eeb1a74d49e0fe9608df347921caa0814faca8eb62cad674fc3977c7af1cd58849fe6abab5a1231b4ac3999d5af7aceb7655f12d883e41148bd";
   sha512.doc = "43771371d9f81311e29be4b7ad2b1876299d6ff4ea740e9cd759a01701665bb6bd37983828238e13141e39c253b6d3d92b566fc97ba2944d7967cf55e492913a";
@@ -26165,6 +28257,7 @@ keyfloat = {
 };
 keyindex = {
   revision = 50828;
+  shortdesc = "Index entries by key lookup";
   stripPrefix = 0;
   sha512.run = "93de5becfa1b4950f518bc004f0dbdfe96f567e17ec4b7656326b89201f1f85edcbdaa771dc8568fc0c87bcbd8877b618d0d00ce387ca70036f6794a8b870695";
   sha512.doc = "4be79367bed5a7bc3f5bfd6c10f7ba6a4c87ed51139e8f8a7f55c59ae3ce6c1aa10df1c88728f7dbb4573634bba2ee599378755cf6c77a2ccf8d93ece5540736";
@@ -26175,6 +28268,7 @@ keyindex = {
 };
 keyparse = {
   revision = 60277;
+  shortdesc = "Key based parser";
   stripPrefix = 0;
   sha512.run = "f3ca8d0b78d9e20bf99e46ebf181d670fe6d936f9d91f1059056820f8be1a9be6eb6278fdda8b118a5f82d376440681dc4cf9a063bb6693df67d5e2d47b3a5dc";
   sha512.doc = "01b6aa91350a1ebad4f37be4051a4bdc97939392a6ec2b7708de77d06a575c14fa3f9bc9a8b98ac5d73428555389aa6bd0f9439dd299c2b34e19b7800eb2a27a";
@@ -26185,6 +28279,7 @@ keyparse = {
 };
 keyreader = {
   revision = 28195;
+  shortdesc = "A robust interface to xkeyval";
   stripPrefix = 0;
   sha512.run = "d1786b07a3dc87f94248043f0bd941dcd8dccce29132e67118d3fedc0fe207a2df846d850851217fa87ed2219915719e70fa73ec284ed420072654c578ee0b3c";
   sha512.doc = "05c45cb13bd2612dd5b048f296437b605117c71a52cef2a1b90ad58b693a31d05da9491464ea9b208dd7eed3f3cfc96e9b5a00f5a77e5d492208fe1e924dde4c";
@@ -26194,6 +28289,7 @@ keyreader = {
 };
 keystroke = {
   revision = 17992;
+  shortdesc = "Graphical representation of keys on keyboard";
   stripPrefix = 0;
   sha512.run = "e04e13e23b3342686078c2278d3b6f7c8678d99acda197f50296ade3dd91bc4316323a669efd7238fd246c60f169c694677252601a81d9e23b49a1e37049c93a";
   sha512.doc = "bac7f2e879796c0ccd5ee28c47aa79e9208ce0d01456de9ada6cd00d822c098cfa318615311c43b1815de0e6968252f6005a3dfd9d0475ee7dec25f7d24d1d86";
@@ -26203,6 +28299,7 @@ keystroke = {
 };
 keyval2e = {
   revision = 23698;
+  shortdesc = "A lightweight and robust key-value parser";
   stripPrefix = 0;
   sha512.run = "08495711a9b509707ce6da359f9743b267baaa6ba6e18e41c965ce016c4c51e1bb7353769ecc9596e9bc415976449612f602e291608d306ee5baa69a4e823160";
   sha512.doc = "424035c6250990b4104200fdab744d50643b6ce36ea717f50544fecd40746d47d7d2145203f0d6f19652a7217c99eb599a1c7d8b0e3a0fe00e1355c416cd4294";
@@ -26212,6 +28309,7 @@ keyval2e = {
 };
 keyvaltable = {
   revision = 65416;
+  shortdesc = "Re-usable table layouts separating content and presentation";
   stripPrefix = 0;
   sha512.run = "733d7e2f07b07b1b7f0538f54c0dce33a706210203c9aaeb203c7c4129859d025d20a1afc973f5320102c89bcac78547213707802726367311625ab89566492b";
   sha512.doc = "7b3cf84548c2a8d997b8cb5ff3cdf77a40ff309220fb6d109fcb8215e78c8b93f44e495f3da7d92a3e144c1635473fe8780cc45acd9e978f12faa7dcbbff9893";
@@ -26222,6 +28320,7 @@ keyvaltable = {
 };
 kfupm-math-exam = {
   revision = 63977;
+  shortdesc = "A LaTeX document style to produce homework, quiz and exam papers";
   stripPrefix = 0;
   sha512.run = "cb050347cc1cfab5e2ef5c248b6460edb50779b81216f3b9277700780922c94e44ea2c14696b470111421de1e049378811645cde6dba004c23631f2111cadab9";
   sha512.doc = "8cebb9035b23e1919fc9428e9f57335ecfda9c98214fec78f95d665f44060cdab2aff6a9ae22eb124a6da7716e88971f559084f64f7b1c1456e95dcd03c00307";
@@ -26232,6 +28331,7 @@ kfupm-math-exam = {
 };
 khatalmaqala = {
   revision = 68280;
+  shortdesc = "Arabic font for university articles";
   stripPrefix = 0;
   sha512.run = "78481f7d494a7c1d9312e3c11a700e43b007660aaaf28f74a3aae4966b2387088bb891cc8e73bd431ad992395f7b66a10b9b326d2262509fdac3e153473d37dd";
   sha512.doc = "ec0f8ec3213a009899134fbf2389f9f33e2747175bf94246c0e035c424728251c0e16a3391e598007b83262353db66acc87431f6856dc1df6e784d5f40b4a2a0";
@@ -26241,6 +28341,7 @@ khatalmaqala = {
 };
 kinematikz = {
   revision = 61392;
+  shortdesc = "Design kinematic chains and mechanisms";
   stripPrefix = 0;
   sha512.run = "6f23b8084247aa807c5738468f005fbaaed59559828247f269dcc24e62535984bf7805c69aea27b889d01b2afa04ad67811a0cc8e0ffdea7e263f9ac9c384fc4";
   sha512.doc = "b5fb6a456f042a677866f9fee3bc7a13a8405ab6fcad590ba37dc9d681e61d04abdfe6bbab5009cc1d79f73859a1fdec137c92e6c0d367b1d801ca2d41d69160";
@@ -26250,6 +28351,7 @@ kinematikz = {
 };
 kix = {
   revision = 21606;
+  shortdesc = "Typeset KIX codes";
   stripPrefix = 0;
   sha512.run = "dd819518a80ca0486a191361625b58f91d00ccac88a2f69269bd6e1753f6c87dd3c97d39a14a5dc3768c9ecccbc981106eba1f495cb7870103a828ea69ed8bef";
   sha512.doc = "3d3816d395e69ec83c88fe55801cab052b12f5e38702edafec2d3f9225c80a31165dca553b60401dedac7689c583feb00615e41c7179fd19ccdc420fbd5e6d86";
@@ -26258,6 +28360,7 @@ kix = {
 };
 kixfont = {
   revision = 18488;
+  shortdesc = "A font for KIX codes";
   stripPrefix = 0;
   sha512.run = "a866364705d75ab560488c84a5e403755acfffe7b49b8e6dd65342f45f852a5be9d4072d750fae606c3d5789e1d46458da66f0af6fb9f9e0225c1d9acf69d4a5";
   sha512.doc = "ca250703364924daf9827ddeb48126fb21ff5ec3230afbc3f6778d23e96dbbb16173e5504900032ddbe14920cb40adf8130be50ee92f3c9c2dbceb95b8ecb90f";
@@ -26266,6 +28369,7 @@ kixfont = {
 };
 kluwer = {
   revision = 54074;
+  shortdesc = "Kluwer publication support";
   stripPrefix = 0;
   sha512.run = "25210201032ab5cf867e8e46de560a2232e36cb636db8d6d533a6052ae125024f2fdb3d016aa68d49d5be4ded676a1e02108094c366fbc9cc443035edbc82107";
   sha512.doc = "0908a60833ebab53fda54708cb332f0b3e2ed6c071daa1b231570c6dca57b09b6c9e7e52afb606300b04f9c42794d6d6b7c2387ab35fdebae0ef4d346ca068e4";
@@ -26274,6 +28378,7 @@ kluwer = {
 };
 knitting = {
   revision = 50782;
+  shortdesc = "Produce knitting charts, in Plain TeX or LaTeX";
   stripPrefix = 0;
   fontMaps = [
     "Map knitfont.map"
@@ -26286,6 +28391,7 @@ knitting = {
 };
 knittingpattern = {
   revision = 17205;
+  shortdesc = "Create knitting patterns";
   stripPrefix = 0;
   sha512.run = "cee26b0e6fd54a43a12e0e48fd5b4bf381816dabb6019cbd7c13ab5e2561b9f191d9fce4c75a513c06530077bba8d383b26552e2e6f4e97600aa2216547a08b5";
   sha512.doc = "d391a25a224713092128af5adf68e5331c530a67a763dc37f657d8bfcee0d904632e86ae2f3745ec2c4bb0cea5e886c85da15b064780dbe997104b9afbef9e4e";
@@ -26294,6 +28400,7 @@ knittingpattern = {
 };
 knowledge = {
   revision = 70609;
+  shortdesc = "Displaying, hyperlinking, and indexing notions in a document";
   stripPrefix = 0;
   sha512.run = "8c97dc4a8a0ab5fcd2ae59da3b4217fd1e6171d788197c3755577a89fb86c6d7d7075778c669bdee8c0ff8157583695dd20c1186b54f80b87c968add98970f99";
   sha512.doc = "a0058b7065a25ced7469000536321cd830503fc3e3f1bdc00d44ec4dcd7eded837f62ccca4ea49d46c9262c7bf8accb2f29d6564f39e9c3acedb163817098da9";
@@ -26304,6 +28411,7 @@ knowledge = {
 };
 knuth-errata = {
   revision = 58682;
+  shortdesc = "Knuth's published errata";
   stripPrefix = 0;
   sha512.run = "f74443cd6bd0ebc039ff7eb0f5df2709b28c34c1fbf49793ee6d8ba2477337d8b7d0072573c32d67da17f7796efa058aa0d2d7cc2f7e196111c9ff90668ddb97";
   sha512.doc = "86abd134ee7d4afd4398735964c83340b67edb9b41a960d205aacb3dbf1c702a854eb469d3c39b06a7ed1974c8e2a951dcb1c3fcfdeb2c394b7d21e4205ceca4";
@@ -26311,6 +28419,7 @@ knuth-errata = {
 };
 knuth-hint = {
   revision = 67373;
+  shortdesc = "HINT collection of typeset C/WEB sources in TeX Live";
   stripPrefix = 0;
   sha512.run = "ffe5a785191fe8506f59557546b3bce29a236ed5e23a6766941b37dd134bd00ff1ec5dad0278d837bfe2cf8a0e69e5ab5921daa320184ee259580c9b41d92ede";
   sha512.doc = "5b47b3cbf6164bce8cf6903702b5a6ed93fcd13def2de2e6b30e3c8e758fdf076a1c14f1bc452768c9841d967e932a6597ff0a1a7c9140ce2100036fa04f031b";
@@ -26319,6 +28428,7 @@ knuth-hint = {
 };
 knuth-lib = {
   revision = 57963;
+  shortdesc = "Core TeX and Metafont sources from Knuth";
   stripPrefix = 0;
   sha512.run = "47d50b1966dc5a3adf4921c297d9ed5917035e917098154fc08d1c72ebd0ba70ebfa41735c7ae52c5087d62242bcfa9b0b49914c6da4f392e2d4c56a6d72807d";
   hasRunfiles = true;
@@ -26326,6 +28436,7 @@ knuth-lib = {
 };
 knuth-local = {
   revision = 57963;
+  shortdesc = "Knuth's local information";
   stripPrefix = 0;
   sha512.run = "91962f359e8b2f668130a6511e7fafad26a0c4c14a46f715172aa28723f743e08c50be666cadafd7a591f2283daec4fdd45039afc714115077667b66e67cedb5";
   hasRunfiles = true;
@@ -26333,6 +28444,7 @@ knuth-local = {
 };
 knuth-pdf = {
   revision = 67332;
+  shortdesc = "PDF collection of typeset C/WEB sources in TeX Live";
   stripPrefix = 0;
   sha512.run = "ab6e1db43370a551700c4ad8ca9e3787a7be7a06da2a72fd4cb0faa7091fefa1847d143bdf9c8d603ad7d307495ad34faca4e5ef054fa011d0137ba90f888a5d";
   sha512.doc = "0f16994ee8e64478d01f7b0f2c54c55369b5f661abe7f4db347cb2b7d146c4efbf337e20fd7eba1cce497d8cfa5058bbf4c013073028c364678334c524aea155";
@@ -26341,6 +28453,7 @@ knuth-pdf = {
 };
 koma-moderncvclassic = {
   revision = 25025;
+  shortdesc = "Makes the style and command of moderncv (style classic) available for koma-classes and thus compatible with BibLaTeX";
   stripPrefix = 0;
   sha512.run = "68aa7ea875f46a4c1d1bbf29d4abb77f4ec729242fab41f3e79caf95a925a076ec3d37ce7d98b44aecaaf9edce541d1673780238786b36cee0621acf4212a1ef";
   sha512.doc = "968f5303bc7b5fa3df39a2a44c38b63e54059a94ac7df2349b45cbc0855d22ec64ec39feaafd761515720d306d5e5ea8a223ca74790ba160bd093f989d8b69c0";
@@ -26350,6 +28463,7 @@ koma-moderncvclassic = {
 };
 koma-script = {
   revision = 69755;
+  shortdesc = "A bundle of versatile classes and packages";
   stripPrefix = 0;
   deps = [
     "etoolbox"
@@ -26362,6 +28476,7 @@ koma-script = {
 };
 koma-script-examples = {
   revision = 63833;
+  shortdesc = "Examples from the KOMA-Script book";
   stripPrefix = 0;
   sha512.run = "03941b9cb516d836b59f493e1e6af7ef409306cc567ace2abc467c7b6c73156819fd23212668ab5506c03697e29840073162dff5f912f605354cf9851ab6dda8";
   sha512.doc = "d355edd3348b454015a390449e251bf476350385b062d314d9e924b187e85802e815cca97c550073605ec3a91a38a15d2a9af79b7771ec74557067dbedebdbff";
@@ -26369,6 +28484,7 @@ koma-script-examples = {
 };
 koma-script-sfs = {
   revision = 26137;
+  shortdesc = "Koma-script letter class option for Finnish";
   stripPrefix = 0;
   sha512.run = "3b281a1e94c73e1d8224f6ae552be91e3df344f9031e139334fd7256e38dc70bed4132164935845c710bef9dfe0e8c439c229d3415ff835e48777aea182e7fae";
   sha512.doc = "84f7fb5c11c9b40029bc481d34ef7cca39baa2a3872f22fd5b656e324aa5cc0becf3ff6d894ceaf26e8ddea0d8cc14d428a140e1f19ff2e060c6d32390d51070";
@@ -26378,6 +28494,7 @@ koma-script-sfs = {
 };
 komacv = {
   revision = 57721;
+  shortdesc = "Typesetting a beautiful CV with various style options";
   stripPrefix = 0;
   sha512.run = "028e8d2a7e5ea450ad8d6f2b14ad0b84b319db0a234f03f8a6e1efc781fa7e60a67a67e4aa5cd101eea59e2c93a073b635d74bc6443d84b01599575466994a6f";
   sha512.doc = "d016f4bd23fb08fb932c3d1516167619d239f8cebe8d2ad8e6fcd07aa945c2df17d6e05e5474dc5522ce4bff1d72fa7879bf9dee4348eb8aa8624d1fe30ea86f";
@@ -26388,6 +28505,7 @@ komacv = {
 };
 komacv-rg = {
   revision = 49064;
+  shortdesc = "LaTeX packages that aid in creating CVs based on the komacv class and creating related documents";
   stripPrefix = 0;
   sha512.run = "6d400b0f228d42aaabf9527bbd3447fdf92eeff81f1fb7978cf90c3afa9835e4731a9da938bbece65034476ac2e2f7afff19000d9012ddd76b6f65618bea7223";
   sha512.doc = "58236086df2335cd167a5d475cb0e223747d43d81d23c0c0ace1cd711a19ca371426d36e199d69a9fd5414a33872dc4ab3725850a6677440484daba0e55d5208";
@@ -26398,6 +28516,7 @@ komacv-rg = {
 };
 korigamik = {
   revision = 68204;
+  shortdesc = "Typeset articles using KorigamiK's document class";
   stripPrefix = 0;
   sha512.run = "8218a2e5d09cc572c3e3bcba6d49ad9ef9be5016cbf2f3bb57c7f649fc638f718f5d91c09c3d9013ac182e651b0c53b65c7a118a021eda68a53a1e8641a0a8ee";
   sha512.doc = "291a1153ed32bce9c7b845a40b4de3f63715f2179765021c1ac3f678bf1594a0abe405824099826eeeae30a90a5fd773e6e5aa91fe66a08ed47c91f371fdb6cc";
@@ -26407,6 +28526,7 @@ korigamik = {
 };
 kotex-oblivoir = {
   revision = 70496;
+  shortdesc = "A LaTeX document class for typesetting Korean documents";
   stripPrefix = 0;
   deps = [
     "kotex-utf"
@@ -26420,6 +28540,7 @@ kotex-oblivoir = {
 };
 kotex-plain = {
   revision = 63689;
+  shortdesc = "Macros for typesetting Korean under Plain TeX";
   stripPrefix = 0;
   sha512.run = "940f6672fd2d490cae446408ed6421c77ada3ea9c0c4820b00a0b38026ed5d30fa2b0f8bf86a5904a8c04b15e561e3f146ae4f817e7e2ef8c3a9284f9c841350";
   sha512.doc = "34a45ea6cda9fa9b6ba453fef795740869b1cc3c3eec84b467847b7221a916f4eada3bac97b78dc6e5a545e12f87f1d56c3540fafa658535f9ca89335bc6b534";
@@ -26429,6 +28550,7 @@ kotex-plain = {
 };
 kotex-utf = {
   revision = 63690;
+  shortdesc = "Typeset Hangul, coded in UTF-8";
   stripPrefix = 0;
   deps = [
     "cjk-ko"
@@ -26441,6 +28563,7 @@ kotex-utf = {
 };
 kotex-utils = {
   revision = 38727;
+  shortdesc = "Utility scripts and support files for typesetting Korean";
   deps = [
     "kotex-utf"
   ];
@@ -26457,6 +28580,7 @@ kotex-utils.binfiles = [
 ];
 kpathsea = {
   revision = 69121;
+  shortdesc = "Path searching library for TeX-related files";
   sha512.run = "08b2ebc546de9615927f9933937c81a5fbae702e20e389055c62f13b70ce81a87995dcf402d8b94d0025eea80f9fbc1500270b615fe3f26f1e9c12a245dbd1d4";
   sha512.doc = "17687e289d912120a0dc0b79829145521dcb660fee024f249153235bb2591936bedae9370ff20d8eb137d54d40d73d2854e4312651eff8a6763bf70040e0bf47";
   hasManpages = true;
@@ -26472,6 +28596,7 @@ kpathsea.binfiles = [
 ];
 kpfonts = {
   revision = 65583;
+  shortdesc = "A complete set of fonts for text and mathematics";
   stripPrefix = 0;
   fontMaps = [
     "Map kpfonts.map"
@@ -26484,6 +28609,7 @@ kpfonts = {
 };
 kpfonts-otf = {
   revision = 69636;
+  shortdesc = "OTF version of the Kp-fonts";
   stripPrefix = 0;
   sha512.run = "5c90bbd34da4ff9b610e5d1d407787cf658cc1a649c42c43d64bd374d04f43038956a5dcd159efbe912fb952d5a11370388870c87bf0a4094f19c019965a173b";
   sha512.doc = "677dc5c94ab24a047028b403db43a0493acb4bf8644ff6b63cbdfba12f1de11541eaca6836290c4ed822c1800dba299e2b5afb9f5455164db038c01e7ef0f17a";
@@ -26493,6 +28619,7 @@ kpfonts-otf = {
 };
 ksfh_nat = {
   revision = 24825;
+  shortdesc = "BibTeX style for KSFH Munich";
   stripPrefix = 0;
   sha512.run = "8893133ed49c9b4ba7472bc80a4e5583ec2546838e261fa2cf9aee188a0b00bca45de05c4e969af0b6f222a9668c3a7fac0caadbb180c10500fc53ae8c9f56c6";
   hasRunfiles = true;
@@ -26501,6 +28628,7 @@ ksfh_nat = {
 };
 ksp-thesis = {
   revision = 39080;
+  shortdesc = "A LaTeX class for theses published with KIT Scientific Publishing";
   stripPrefix = 0;
   sha512.run = "3a250167d8810e3e81c5b6f86dad57e191a2a8387b5c7701e9b176cb007ebed79bd11867caa63e9cb9d3412fd59baeca7ff8e7589b11c4ef1144678552957216";
   sha512.doc = "ea4ff7ccabb237b113511b58ff767b494b213cec1382467ea8b95b72abe9c0d361f39781940c976075157bae93e8e32364f716cdba2a07b8a7d72c0970a31cf9";
@@ -26510,6 +28638,7 @@ ksp-thesis = {
 };
 ktv-texdata = {
   revision = 27369;
+  shortdesc = "Extract subsets of documents";
   stripPrefix = 0;
   sha512.run = "c2f3e86494993e6e56f131b9e7105ee2d15179b96580982ae7fba9e32c3e9889159ae767d96d95111f2eb052bd61f0c3c15406ae3af70b359e3b5ce081a6978a";
   sha512.doc = "d930db31105dbcfe3df4184422115d82fda7efa93d00eb8f9fefa0eff3893602fb4db9e7be26d2a44c0b3cb56e8e9810f61bc660c15e49c23880c3f0cd44025b";
@@ -26520,6 +28649,7 @@ ktv-texdata = {
 };
 ku-template = {
   revision = 45935;
+  shortdesc = "Copenhagen University or faculty logo for front page";
   stripPrefix = 0;
   sha512.run = "4603e59129f749b0eb065283bff9cddcafcd1096627f196749be09c19a4a79848564ee9343f14f31dddb2e37a01e222bf08531d5b3237bb906cf88efb427fdb9";
   sha512.doc = "6b8535ef84bd1ccf70d16f7098826b5acea602b22cd461df66cdda64c4afe36f9ef6c4386227c5317a31767e4694c388f7a2fd87fe8fe06697af4bf5202b29bc";
@@ -26529,6 +28659,7 @@ ku-template = {
 };
 kurdishlipsum = {
   revision = 47518;
+  shortdesc = "A 'lipsum' package for the Kurdish language";
   stripPrefix = 0;
   sha512.run = "d7160d78d7f0d8d7771740f030cf1c76b57aa9ec2d179887fe4065337e35bef528b522c666eca0974aea6696033678dec5446a9a198fb139f2d2469c8cd47eff";
   sha512.doc = "6af516595f4cc5b090398078977bb37e97a5aa4b28a578c068931eff7d34fa2cac379b53e70c8bcf270c998fa6fbcbe354b56d0299657fcce9a4e076a87b36d9";
@@ -26538,6 +28669,7 @@ kurdishlipsum = {
 };
 kurier = {
   revision = 19612;
+  shortdesc = "A two-element sans-serif typeface";
   stripPrefix = 0;
   fontMaps = [
     "Map kurier.map"
@@ -26550,6 +28682,7 @@ kurier = {
 };
 kvdefinekeys = {
   revision = 53193;
+  shortdesc = "Define keys for use in the kvsetkeys package";
   stripPrefix = 0;
   sha512.run = "2a03840307805bd6fe30be9c108982bc472912c11c8cec25737ebc4042e48af8fe4f1a76124536874bea8c554f003a9c52b8a72d2f6900bc6872ffef8649c40e";
   sha512.doc = "c540045ec1c8bd7fea3000dd0ebc8adac64da7ccc24b0becb9b9c32c9dda6e5e11a77b57bee667bd2ddbddf347bd8af069907e087d543898a92ebaedf3fa4b7c";
@@ -26560,6 +28693,7 @@ kvdefinekeys = {
 };
 kvmap = {
   revision = 67201;
+  shortdesc = "Create Karnaugh maps with LaTeX";
   stripPrefix = 0;
   deps = [
     "amsmath"
@@ -26575,6 +28709,7 @@ kvmap = {
 };
 kvoptions = {
   revision = 63622;
+  shortdesc = "Key value format for package options";
   stripPrefix = 0;
   sha512.run = "8e4189334b66ed38279ec0deebb12769453db802b1538e8ef47598de08123006a5f65b4b86c144aba5c7ef21abb95c65196e314e4b80e9b513103354e4b29619";
   sha512.doc = "864fd685912d7bdac610c16508efdfadf82c9c2efb8ae3c9b5a0d16c1dffd91822a1389109b3de1ce63dd74bb1aff5efa534c134ee06f1e61df9c867aeea608d";
@@ -26585,6 +28720,7 @@ kvoptions = {
 };
 kvsetkeys = {
   revision = 64632;
+  shortdesc = "Key value parser with default handler support";
   stripPrefix = 0;
   sha512.run = "8acc4b9069c3baadf9a9802546d636fe8268afb97416b47d79b0a0306d90104fbb86b8ec1b4492f3134357564bb81eba1ae0e84a38f5b94a556de45525777431";
   sha512.doc = "127d4a03b26c9adb92254b08f0aac6039e39ff961539e253bccfdc1ee3598dd5e10608b8c8909708c041f5134c549f9af550bd1371a1e7b90003f77ef53bbf33";
@@ -26595,6 +28731,7 @@ kvsetkeys = {
 };
 l2picfaq = {
   revision = 19601;
+  shortdesc = "LaTeX pictures \"how-to\" (German)";
   stripPrefix = 0;
   sha512.run = "c6ea1d8ac189784d6581eaf9cae83a83beba9adfd32536f43c04633f7cc457353f0dbb69407332a29856633552910bfdd31cf85332c6dfb05da2cbab88ec67a2";
   sha512.doc = "e4202740ea2842296338e9d635b27c35801f4a5f8b21eb8dc0c1db572da0718fc5adcefc5c122793618336272606ec27f02f13825f8d2a6cf4b83583ea372288";
@@ -26603,6 +28740,7 @@ l2picfaq = {
 };
 l2tabu = {
   revision = 63708;
+  shortdesc = "Obsolete packages and commands";
   stripPrefix = 0;
   sha512.run = "2e3dc6f2707cc6b9ef6daba6f18099665e279b90ac85d6c391d33dcaf1511b1d85cc8348b259163ac6fc96879053364423510b199da3af81f1fcb2674b983db1";
   sha512.doc = "c6913d96a1821725c0d1a91cabf2db7a8afe692c1dbcd23113c3df63793653de48aeedf142d2dc81ec81c863d16583767766955a7ba0cba0de09840b9d3f74b6";
@@ -26611,6 +28749,7 @@ l2tabu = {
 };
 l2tabu-english = {
   revision = 15878;
+  shortdesc = "English translation of \"Obsolete packages and commands\"";
   stripPrefix = 0;
   sha512.run = "66e1d62c731a021c1be2fb6e9e3034c7dec59edfd03dc2bb0042a37ff6f0d967e59a023fee994f45cf2c9b15e64445b45c48a207e21b7edb81d8a538b6c8eb6b";
   sha512.doc = "250ebdbd2a6dd3dd7d05c35cea0ea8fdb969bef983bc0a5f2c804129091f22ac0a499df482a1a990bf278ad94befc774d354341b30f9a0cd67539e1f63074ee4";
@@ -26619,6 +28758,7 @@ l2tabu-english = {
 };
 l2tabu-french = {
   revision = 31315;
+  shortdesc = "French translation of l2tabu";
   stripPrefix = 0;
   sha512.run = "8478211e871e38765cbbd36f8f571e63b5cfb9dc652107a4a9178c11a16b419eba7314246878507f22bf7f66818f8c5d1516a527deda5a2dc6c30f9260f23b59";
   sha512.doc = "f489b0bd07b60797b53fc9010c699029dabccbf326767948dd815224f1c591cb59d6da7bbac0d0385ddfb6f0e885e187b2385bfcdbb88933588b06dfc34f640c";
@@ -26627,6 +28767,7 @@ l2tabu-french = {
 };
 l2tabu-italian = {
   revision = 25218;
+  shortdesc = "Italian Translation of Obsolete packages and commands";
   stripPrefix = 0;
   sha512.run = "5b2348bed7ce47d7e2b8de6642e14b24ab440226d0de46a51eab08b3d11a39bada93d890e1ab9e2dbd3ce253b3263460fe7114baf9bc7b5c775a7d806c731ab2";
   sha512.doc = "c76981112631423d5d92ee9236d9b5b076e3d71086f9dada77de51362a5d5e01d82d5b018a68950c2b7f4b10eff1882d677243594436bae41bcc6ab996aa900a";
@@ -26635,6 +28776,7 @@ l2tabu-italian = {
 };
 l2tabu-spanish = {
   revision = 15878;
+  shortdesc = "Spanish translation of \"Obsolete packages and commands\"";
   stripPrefix = 0;
   sha512.run = "73cecbb031be2d421c25a7d6a5c04d08e30d83a88b4132682d434a879da915f1d4af56980f1bf04f7df5a3e881ecdd940a058a2dcf89b5e9f48c378eb322da06";
   sha512.doc = "a6886d54c0f5e1915ff9efbc4974ab1ef7f6dc026d67a0596ed47ac9e94da098e690bc70d5ed3e45a4d8cbd0f877f0cd6cd3a3757288dfc2df284e9c040b7c1e";
@@ -26643,6 +28785,7 @@ l2tabu-spanish = {
 };
 l3backend = {
   revision = 70027;
+  shortdesc = "LaTeX3 backend drivers";
   stripPrefix = 0;
   sha512.run = "b0fa82d3f6ad4ece3ce1e0b254ee52c97f30b143e458ad4a2f96d530f787650ae2cafa20801b865e696fb4deaed2fdba3e82ab938e09d563569ab13d6abb331f";
   sha512.doc = "68c69840f18a1f2c0442a008d632d5bd1295390a11208b8b94391564cdd0095aced7ecd3ae59035ec55faf267266115c76adf3839eb22f084ae348fd051547f9";
@@ -26652,6 +28795,7 @@ l3backend = {
 };
 l3build = {
   revision = 69748;
+  shortdesc = "A testing and building system for (La)TeX";
   deps = [
     "luatex"
   ];
@@ -26670,6 +28814,7 @@ l3build.binfiles = [
 ];
 l3experimental = {
   revision = 70027;
+  shortdesc = "Experimental LaTeX3 concepts";
   stripPrefix = 0;
   deps = [
     "l3kernel"
@@ -26682,6 +28827,7 @@ l3experimental = {
 };
 l3kernel = {
   revision = 70027;
+  shortdesc = "LaTeX3 programming conventions";
   stripPrefix = 0;
   deps = [
     "l3backend"
@@ -26694,6 +28840,7 @@ l3kernel = {
 };
 l3packages = {
   revision = 69992;
+  shortdesc = "High-level LaTeX3 concepts";
   stripPrefix = 0;
   deps = [
     "l3kernel"
@@ -26706,6 +28853,7 @@ l3packages = {
 };
 labbook = {
   revision = 15878;
+  shortdesc = "Typeset laboratory journals";
   stripPrefix = 0;
   sha512.run = "92bd582cc729bcd3cea6979771e934d5a4a194536ff89a475309d3999ab0a2ab70d5ba5be6f0353e97498ab4e971e3209df9a3ca4ac99a8c9de27586a0f4a3b0";
   sha512.doc = "98758f4cc186df470e8a16b2e9365f3bec585be18c0fa8700df238befe052ad69b697357c7d89b19233a9cf2b308c29a54bf84215fa3ca8859111b0214971ed2";
@@ -26715,6 +28863,7 @@ labbook = {
 };
 labels = {
   revision = 15878;
+  shortdesc = "Print sheets of sticky labels";
   stripPrefix = 0;
   sha512.run = "b1cd175e1c5ece09926ad3fb5ef3b2dbc528435e26c81df563f674388083b481e6a6f072724254302c243a640960a942a6b356664675f4041c94962155f5ee62";
   sha512.doc = "0ac61f3a1ec027dd3631a4e6ffabdbf71ca27eb19c877a0beef8d7d991989d613769474e99770e9edc74dffc8b59981da8666e5dcb26450717be37b098a028b9";
@@ -26725,6 +28874,7 @@ labels = {
 };
 labels4easylist = {
   revision = 51124;
+  shortdesc = "Add reference labels to easylist items";
   stripPrefix = 0;
   sha512.run = "1f792dfc8c3d51cbb3ec4370e4ea36612d503a9a92d088f0d8b03ccc78c480118308aa48e4dba66dcfd55c8a3442950242742eddd557bd6b44c925e01e361163";
   sha512.doc = "1ca630c5aa01e53d6a7fa65d9ebb4ccf5bc43af7d3cb66a6bbb287398e28764dae0b535eb4b821c2c406e22e239e8a88fc63a010d4e79977ef6e8cfd563afde2";
@@ -26734,6 +28884,7 @@ labels4easylist = {
 };
 labelschanged = {
   revision = 69400;
+  shortdesc = "Identify labels which cause endless \"may have changed\" warnings";
   stripPrefix = 0;
   sha512.run = "9d40f477089880f8e0c61f95af1e94848dbac11a8ea5ee3a0c0c33a5883a8aba4c0471d2e23319667aa0dbf0699599372c8267588247809f316304e868ebaaf5";
   sha512.doc = "ca1f6dd7d4be5c9b130a17c75cfe927e354ffd5756bd893ef99c2f67dfef69a585e139d9d3b44e0828cf0928197bfcc8a909e5a32ca386380ca2a203a8ad0fee";
@@ -26744,6 +28895,7 @@ labelschanged = {
 };
 labyrinth = {
   revision = 33454;
+  shortdesc = "Draw labyrinths and solution paths";
   stripPrefix = 0;
   sha512.run = "06c61f5a0a2b39d644d5b741877f445dea48fefaaddfb7f60251ecb328f16ba2ec6f09731608ac5ca7b288fe77fc193984dad25b8f0ad0da5f35bdd43fb2f8ee";
   sha512.doc = "980a3bef8b8eb51cd454c835ba09205f8dedab92f747db9704c72d5433db75f68df298ee4ca06c6d68e0cb4c4b733c882d14bbbb9d877406163b0f95730a10ce";
@@ -26753,6 +28905,7 @@ labyrinth = {
 };
 lacheck = {
   revision = 66186;
+  shortdesc = "LaTeX checker";
   sha512.run = "5a27d940fe59c61539d053bc6602bf37df1f538679eaf34d0e8b3ec3aed74ff619e4843ae2769aeafd10074328e9e27255376bc9e809d373d3913995a2a95b87";
   sha512.doc = "cf4355d56985f9335270e4280d10602299fadfd01605e83edb4e8b89cf0d91b3e8ca671257a9599d5f5578e7a85140d390edd40c3b109f77bb9fca5ba47ca517";
   hasManpages = true;
@@ -26763,6 +28916,7 @@ lacheck.binfiles = [
 ];
 ladder = {
   revision = 44394;
+  shortdesc = "Draw simple ladder diagrams using TikZ";
   stripPrefix = 0;
   sha512.run = "bbe2f94442a4f308a416e9d849f9e4b8af12387e59e73931b563d5daaee312dbdf82a99f5122de897cb069a54f3bc13619e719ed717b38db4aebcac72c2c4f93";
   sha512.doc = "1cf2a2a2267e819c9ee723af9cf51d711f778c3583c859eb01f2b2faebfd0f7a6fc4f4ab6caa83a9df6a797175ec27d29f0debbeaeb39387954070623ab60b29";
@@ -26771,12 +28925,14 @@ ladder = {
 };
 lambda = {
   revision = 45756;
+  shortdesc = "LaTeX for Omega and Aleph";
   stripPrefix = 0;
   sha512.run = "54da97daf172e3dae434e75425b80d1c617ddc9991f6ee804cd812e2c4bd70b49eb1a01318e243c10998870877d4f76e084b5ef0b0eaa89afa66f77a124a7c02";
   hasRunfiles = true;
 };
 lambda-lists = {
   revision = 31402;
+  shortdesc = "Lists in TeX's mouth";
   stripPrefix = 0;
   sha512.run = "caeb3a547eb68d3e255d729cb6ec390cfaeb3bd9d4b4b6e8f877140fe24f4ee3ff0ddccd4107fa836faf5163d3d71209fed4a9e052d3329ff22a892d62b43b92";
   sha512.doc = "846c403f99194a19cd21e4d7367a1b43a8ad608055315bb36a1113fb37dd3d922dd8c5cb8474ae52ed3006be520b7e9023680e85f0dbb17f69a41c8c17e81a5c";
@@ -26785,6 +28941,7 @@ lambda-lists = {
 };
 lambdax = {
   revision = 60278;
+  shortdesc = "Use Lambda expression within LaTeX";
   stripPrefix = 0;
   sha512.run = "63ce2370079b4b2a286355d05d40771658e35fef085570aaf07d264d81571378a6d76db128e3fcea1c6c27632cb37f317ae28300059027979114e9eefcb5cf53";
   sha512.doc = "203a8ecde6022efcaba0680a507833ec56601887b47dbd563683195b828cd246d55cc9a44b91cb6ec2a3d0b8d7ce6d0777aa9519b93ca2b4b0f96f643df35dd9";
@@ -26795,6 +28952,7 @@ lambdax = {
 };
 langcode = {
   revision = 27764;
+  shortdesc = "Simple language-dependent settings based on language codes";
   stripPrefix = 0;
   sha512.run = "bc3e601701732d3ff533a7415446c2aaf7306732fdd6a8ac8aee6571cbdfc02b38f51fffde3a80cf5df6b0dd5e649971406f76d394500a74f1830139ea0bc0bb";
   sha512.doc = "7ac261071a2902d1e24cbe4bd43bf1baef418bdeb4d3c1dbee4db273d29918649f346e97b5ead3e3de2820110c0cd11dc58c78f765dbd07f7221f28ede5242a8";
@@ -26805,6 +28963,7 @@ langcode = {
 };
 langnames = {
   revision = 69101;
+  shortdesc = "Name languages and their genetic affiliations consistently";
   stripPrefix = 0;
   sha512.run = "16d4b14025e142be2c0d21509041d99ee2eb9b4b765abfa3102cf79759c79e79f43191f8ba1fcea3d8c7269bdeb6feb0a9efafb1f1ea195b58ed97a307386bdf";
   sha512.doc = "0cc3548f9a640e3c6756298ff609bc5458f30fe096fb8557881356624dcfc6f81068af21731df3c5635381ef98c9b30c1f297213b8489e2bab8840c78f723ed8";
@@ -26815,6 +28974,7 @@ langnames = {
 };
 langsci = {
   revision = 70028;
+  shortdesc = "Typeset books for publication with Language Science Press";
   stripPrefix = 0;
   sha512.run = "02e572eac6731aae4dbf7db5c1e4652dc34cea9dd6a43f0f63b7d7e4aa79113ca5ba4122758303d33c94f33e42513e4d7b51d22e4b7c17fa8b7ebacf8e5024b7";
   sha512.doc = "05c1231243e03156ffa01cb84f16708542598fcd5349c858913c2d0c6f0962871ee70034fe8c2255ee6338d7d659ef0262a408650a262ea8c6c1e8e173ca4e12";
@@ -26823,6 +28983,7 @@ langsci = {
 };
 langsci-avm = {
   revision = 66016;
+  shortdesc = "Feature structures and attribute-value matrices (AVM)";
   stripPrefix = 0;
   sha512.run = "00cb724f7783d4f6d088f38bd60c816afe8c117b338bf3ae320e4b8118416f025b535989a48262d13d210087560ae01d850f2562f3d75db38210fcb6c012ab38";
   sha512.doc = "618e957df349847fd4828b07ad44e9a8247bcaba893704379471afbf9348c310da92fde003bbbe963b3249ba532982483ad7eb53950a5f39b27f9c17058f7bd0";
@@ -26833,6 +28994,7 @@ langsci-avm = {
 };
 lapdf = {
   revision = 23806;
+  shortdesc = "PDF drawing directly in TeX documents";
   stripPrefix = 0;
   sha512.run = "10bb6891b82334f7dad4a1cf48c78b2b55c3b4a8939628a26576e99495f00e2bb8ee82028b13db4de6224e58e421402794feb2591842030cd47898506589ff6d";
   sha512.doc = "6e561e0d513f7b18e4e40d11fc1f077a061e6cb08ed072de1d186bb86ab1fbd3905af6a79f9dbb0c201e437a1a8716706a83f1709d580c293961ae454699c9c0";
@@ -26842,6 +29004,7 @@ lapdf = {
 };
 lastbib = {
   revision = 70377;
+  shortdesc = "Record the number of citations in a document";
   stripPrefix = 0;
   sha512.run = "e2648c74401833e4be62ba616e146bd662626b1e6d9dd3e6fb3b1c371634e3cc022dbd1b4f670d957d239ca9ae776dec94ff63306d54b9dc571ab6d701850c8a";
   sha512.doc = "45ce82d5721d79e26e1d7f034764b526315add13e6943fcfcd6105b9040b7ff4951e7c8482be15d2366880286e1caea8ef47aa8a6fce92941e9f19be1e7003b0";
@@ -26851,6 +29014,7 @@ lastbib = {
 };
 lastpackage = {
   revision = 34481;
+  shortdesc = "Indicates the last loaded package";
   stripPrefix = 0;
   sha512.run = "f4d30e327704b32afe1bcb81023a247095203a9b47357f9a6dc4b631f4bb669255ba899cf1c8378b42ebd16f2608d8a649a0999f26e3d05c963eced1cc955ee2";
   sha512.doc = "f31731b5a93c154db123e66699ac5175fb63b965522bb511d344577645f9b8ac6d78c6a1a108cad8914b1c01b1c7a6e656743b075a03322c306aaa5417f62be2";
@@ -26861,6 +29025,7 @@ lastpackage = {
 };
 lastpage = {
   revision = 68557;
+  shortdesc = "Reference last page for Page N of M type footers";
   stripPrefix = 0;
   sha512.run = "058f7b1e73340b5290beb22054c1bc0b97cd64a3051e90a4359ac7916ba033ce0817e6a1139a8b6b301bc0f68176bd882e8bdc7a7b59a719f0d090dc7cd76242";
   sha512.doc = "e72576d702e2e76242c18d645351568f4adaa468b5946fca30c9ca7b9d2c36a703ad91df3b898089499c0127aeeef79e904652f35ab6bf98f5126ec6c387baa2";
@@ -26871,6 +29036,7 @@ lastpage = {
 };
 latex = {
   revision = 69443;
+  shortdesc = "A TeX macro package that defines LaTeX";
   stripPrefix = 0;
   deps = [
     "latex-fonts"
@@ -26887,6 +29053,7 @@ latex = {
 };
 latex-amsmath-dev = {
   revision = 68730;
+  shortdesc = "Development pre-release of the LaTeX amsmath bundle";
   stripPrefix = 0;
   sha512.run = "e36a09409559a415c14fcd5e5aa8afdf268ac8b099814a1eb6fec88aeaef17ed2bfc1649b1859d8f5d4c90b25af520028c184a01866e9cc25bfd5ad7e945f84a";
   sha512.doc = "609a298efbf504274793777b78af7db57b3e161ca8a49abb2cf9b095162a93c2eb0b796f24183d512f4ad30375401a56c6e238b1c18e61038b51bdf3513542a2";
@@ -26897,6 +29064,7 @@ latex-amsmath-dev = {
 };
 latex-base-dev = {
   revision = 69872;
+  shortdesc = "Development pre-release of the LaTeX kernel";
   stripPrefix = 0;
   sha512.run = "d24b56bb77ada497449c501c549cb6fd06246f899d4f3a2d979292ffe85f80f532c5cbb8b3e49b6d1bc0f8098d56c34e87f15e8123247ed7af59c9a33b815a64";
   sha512.doc = "4ec2405d8d3e3c92666bbab01cdb065b174f82bb9c3b91f0bd7af23dd2fe3e8cda98060cf1e08df349ea32386da911ee4c7a28dc29bc52ec6ac02a46cab98b66";
@@ -26907,6 +29075,7 @@ latex-base-dev = {
 };
 latex-bin = {
   revision = 66186;
+  shortdesc = "LaTeX executables and man pages";
   deps = [
     "atbegshi"
     "atveryend"
@@ -26968,6 +29137,7 @@ latex-bin = {
 };
 latex-bin-dev = {
   revision = 66186;
+  shortdesc = "LaTeX pre-release executables and formats";
   deps = [
     "atbegshi"
     "atveryend"
@@ -27043,6 +29213,7 @@ latex-bin.binfiles = [
 ];
 latex-brochure = {
   revision = 40612;
+  shortdesc = "A publicity flyer for LaTeX";
   stripPrefix = 0;
   sha512.run = "de98a91947d5cb919b6a2c6e6a87f63499c8c5975992d039bb8d2a4662ed597cbdad99668b006cf775f71af936e5ad285958b48b57eac61783460fe37ed76298";
   sha512.doc = "f057b86b61ee1f50430cdb83a56c27896e052047bbc93c4f09884b7d76f16f73cb1b570341faa2b8c771c0d42bb4d6450b8715c921fe866a57727eb4ffdd329a";
@@ -27050,6 +29221,7 @@ latex-brochure = {
 };
 latex-context-ppchtex = {
   revision = 66687;
+  shortdesc = "Legacy stub to allow loading pictex as m-pictex";
   stripPrefix = 0;
   sha512.run = "6ab0e6d04cbf49cc78ed8f45d65837055d73f55ceea9014e5178bb30f7a322137856d187b7e0808f08df48408b57635537bd8dbbb1157d1508728aa2bf7e1190";
   sha512.doc = "130b525dbf4172306b9bf6b74defccbaa17ab1871d044ce693ba2c0ebf568adce98eacc6cebae94bca425c7b8cb7bd2860747768a03380018a9abd33175786c9";
@@ -27058,6 +29230,7 @@ latex-context-ppchtex = {
 };
 latex-course = {
   revision = 68681;
+  shortdesc = "A LaTeX course as a projected presentation";
   stripPrefix = 0;
   sha512.run = "533e270cadcee8dd7510368c596272d9e877c753f76246f11d8b3db6a3eed96319284c15a872d1fcbdb0557c7a267eae4beb9cd2d618f98759456357fc2b6087";
   sha512.doc = "56f0cdd7a50b396657d60d3d10586e0472e18f3b66005df08746fd93cd481742bec1f1e820248185f9b25d6b58251dd8a4715231272324a5208e25335ede85e9";
@@ -27066,6 +29239,7 @@ latex-course = {
 };
 latex-doc-ptr = {
   revision = 57311;
+  shortdesc = "A direction-finder for LaTeX resources available online";
   stripPrefix = 0;
   sha512.run = "22017cc47746d2e14436915a0d649b31050debff1827cca44a3ab7bf9b240f40450d445a8eaab811b8737f589839ab7f2078aced47b65b320237ddbcc443b99a";
   sha512.doc = "c7d7217a9136785cfd6ddb000e51d455e7482bfe395a9131329767bfffc71f918c2349b1426b615a6740263c958530c68c044ee3ae78300a004a8acf20bd8bdc";
@@ -27073,6 +29247,7 @@ latex-doc-ptr = {
 };
 latex-firstaid-dev = {
   revision = 68730;
+  shortdesc = "Development pre-release of the LaTeX firstaid package";
   stripPrefix = 0;
   sha512.run = "837b36861d1c5c42107ebfca9de78df1e4426b2466c001532ff3717743babecb8f574c5b431cc821f27a8cf20e88fa7e6dda5633fa8fac28084007183621ac08";
   sha512.doc = "2f0676b179ec977da7d91135d2e9330bc37a67eba038754998445c49523d1630c34360bb857c108ab47a185a409d3924039d7b03f3b420d74c52fc98606ff408";
@@ -27083,6 +29258,7 @@ latex-firstaid-dev = {
 };
 latex-fonts = {
   revision = 28888;
+  shortdesc = "A collection of fonts used in LaTeX distributions";
   stripPrefix = 0;
   sha512.run = "98549dd0c7b29511abc3a1a6b6803a86af0b48121d47e292066f3b67e4b5847efbb7025352c1ec996778c7ea3a5cba552385e9b4dfd6ab005d716f503e37a26e";
   sha512.doc = "4d3162776a17f31caa8e6a0fe05eed9447b681d77e653371cb5fa5d8dd2f01bddddc9f95ca916f233c11f8ec7d15e02fe575dc953fdd18c34ba877829a142bea";
@@ -27091,6 +29267,7 @@ latex-fonts = {
 };
 latex-for-undergraduates = {
   revision = 70210;
+  shortdesc = "A tutorial aimed at introducing undergraduate students to LaTeX";
   stripPrefix = 0;
   sha512.run = "bc5dd03127625a8440ce605d8f4e8de65615f330dc9194e0e096175095263eec3ce2790dcccd96d32118492fa71483645510675f4868580fa00daf95f12f1aa1";
   sha512.doc = "b21b7a6a759eba0ae086ba3492266b9784aa651a727b22b671b3e3668197727118f35095245ad8d4b99a40f6c5c00500f7791b3cb6a6237493b7656a17abdf3c";
@@ -27099,6 +29276,7 @@ latex-for-undergraduates = {
 };
 latex-git-log = {
   revision = 54010;
+  shortdesc = "Typeset git log information";
   sha512.run = "15994c6eb9ba1b194df270c68a3d74ab3db11974875ce192559182b2dbfa9b308d598056a3145f2cc2f6718865a5b140ccb95dea22a9e23edee527e5b86362ff";
   sha512.doc = "52bc94324c64caac9a5b25b49c9ea01b8560433d640646ee70830d27637482cf50da95bbb86db93006f2be4ab9f5f79fa144e4b631d62c05f0a11ab45e639cbf";
   hasManpages = true;
@@ -27111,6 +29289,7 @@ latex-git-log.binfiles = [
 ];
 latex-graphics-companion = {
   revision = 29235;
+  shortdesc = "Examples from The LaTeX Graphics Companion";
   stripPrefix = 0;
   sha512.run = "3148a646539db3622096f9aeefd7ca2d44b0cf83cd454673893978897d07cfe7107b8f5bc745bc6b60734d4ad3429be1ffc2edaa8c9dd1721b41bfe913fa0dbe";
   sha512.doc = "ab9d885c811af3964e8cdd8576349059bd45d660e6b9a7e931697f7c7fa5282c725e044817de8f2648ded59519d1592945e0804ba7cbe0054ce2bd4d44606af5";
@@ -27118,6 +29297,7 @@ latex-graphics-companion = {
 };
 latex-graphics-dev = {
   revision = 68730;
+  shortdesc = "Development pre-release of the LaTeX graphics bundle";
   stripPrefix = 0;
   deps = [
     "graphics-cfg"
@@ -27131,6 +29311,7 @@ latex-graphics-dev = {
 };
 latex-lab = {
   revision = 68720;
+  shortdesc = "LaTeX laboratory";
   stripPrefix = 0;
   sha512.run = "ede4176b7ca60193acd644f572db5d1611a6940027f7641ca755634401b19e20eca65915d57e6a0859e465e818d6854ca98dc16106782bee0f817d776c056a10";
   sha512.doc = "eda6ca871645fd6fe60424329e4c4d8d9817039d9cc30bd6f710c30675a3e8f0b7f7523b081b871e9e5abbf62a0ce0e22854aa443684818771ce2022f4887e7e";
@@ -27140,6 +29321,7 @@ latex-lab = {
 };
 latex-lab-dev = {
   revision = 69872;
+  shortdesc = "LaTeX laboratory: Development pre-release";
   stripPrefix = 0;
   sha512.run = "7812684eb2629b139e5871b5b916e2344b85d8bb88bb983d57d292d9873147d51b60177733e61180d86b95d185e456710acc5037f56fbfeea52ab1d3e04433fe";
   sha512.doc = "7750fea3ff6ed1352db54674844367b3ecb400cd4e306e3c130acabcdbe59b3abdc7508dd12e5febea2381cd74407aa3cb3bcc25f5d7b34401e75e1eebde2529";
@@ -27150,6 +29332,7 @@ latex-lab-dev = {
 };
 latex-make = {
   revision = 60874;
+  shortdesc = "Easy compiling of complex (and simple) LaTeX documents";
   stripPrefix = 0;
   sha512.run = "de9a924c38afe1abcd0802a17de4c5fd2cb444809dc81e00b6964cf3d0c81b8d8796a1bfa804250701ac4d71f42bb9d2a9ca1ec0740f59a8feb329d26aa605e3";
   sha512.doc = "aeef6568aec936c43dd0bfada1245a0d353faf2329e6e66e9d49ca8a1a2f9eb738ab1667934cd0a160e074c2e2da85aa8b068bed0bdb1ab1b944cf62f42af087";
@@ -27160,6 +29343,7 @@ latex-make = {
 };
 latex-mr = {
   revision = 55475;
+  shortdesc = "A practical guide to LaTeX and Polyglossia for Marathi and other Indian languages";
   stripPrefix = 0;
   sha512.run = "eb9b8b12f15a8662eea0e3df907264093074cac1d8f8e1f027186b35f3f3318c4b8c120d261be21350fa660b51a5f33e196d957864b0676395ded0f70940464a";
   sha512.doc = "51dcfff4a8df46a8715d07d2528d3a1960479ce4bffba9b8eb5170d5d6307f0c776e197bdbe788d316067070c1d5f5d1382c32430e94ea83664868931a844e52";
@@ -27168,6 +29352,7 @@ latex-mr = {
 };
 latex-notes-zh-cn = {
   revision = 15878;
+  shortdesc = "Chinese Introduction to TeX and LaTeX";
   stripPrefix = 0;
   sha512.run = "5e5b3bb01456fec3dc22cb5d0d4f521b4d4f5f8f3119fdd76ea9cc55a70a2ad8a2b72e36471894ee448c1d40d887d20ac8fda39c4a3fe2cd111d2850eec12071";
   sha512.doc = "477df31445a2991db3c2b8cafaa97662d722f3f7171c2f756cf025717cb3b896c1773adadbc42c22cb360f7542a0e658547f15cd71c54e9b79f76fb1e2097e90";
@@ -27176,6 +29361,7 @@ latex-notes-zh-cn = {
 };
 latex-papersize = {
   revision = 53131;
+  shortdesc = "Calculate LaTeX settings for any font and paper size";
   sha512.run = "00010f764235c6d9e4d6667c8c8b9f0ec6ae4b65afb53109f8179e0429d4b3787bd6b0985cd511f770cd74512483d1077e0f42136fe7ce1871984b372f2f2e54";
   sha512.doc = "8ebddd884e3e533d06332f2d6f8657ed54c9c376b3de68c7e7652f3b2835ec6601f5326ea70dc830b645440f0bd9ba2281e4f71a847946bb595771c6a950c0a6";
   hasRunfiles = true;
@@ -27190,6 +29376,7 @@ latex-papersize.binfiles = [
 ];
 latex-refsheet = {
   revision = 45076;
+  shortdesc = "LaTeX Reference Sheet for a thesis with KOMA-Script";
   stripPrefix = 0;
   sha512.run = "ea6751fc09aada1b8ebcca08ecdb10279b6df881b3b373b04e8c238609de92b4cdc4f1e7321f178b15637c0b712e9781317af07030f2f9297a3ce23a5f46cb32";
   sha512.doc = "77149dabb1fe5c4a46591b3b307d02b2e2b33a07267afcdb44b77a2a823dcea9ea76b4be5ddad530151b638cfbcaf5d87ed0fed59a9e8ed99acb0895717bc71a";
@@ -27198,6 +29385,7 @@ latex-refsheet = {
 };
 latex-tools-dev = {
   revision = 69872;
+  shortdesc = "Development pre-release of the LaTeX tools bundle";
   stripPrefix = 0;
   sha512.run = "04828515f6eb9382d3c3d9c2ae8fa52bfe42fcb511b36840add979901b4a7535ec5a40d75113f0240299ec3bb07b59fc54fa65539389467f402a7ff15714ccf2";
   sha512.doc = "7136ae8556c19d2eaab7891981cb10b52e4538d10fd82073843744996de3ba2919b07ca63d5fc2100d093b9e9db862dc1a4f7d19615f96d164aa2431ee2f9b8f";
@@ -27208,6 +29396,7 @@ latex-tools-dev = {
 };
 latex-uni8 = {
   revision = 49729;
+  shortdesc = "Universal inputenc, fontenc, and babel for pdfLaTeX and LuaLaTeX";
   stripPrefix = 0;
   sha512.run = "1e98eb60547932eb218f30cc713b94e8c7ee5861e66cc600b01f577a37e318a5b440b65c2aef1c770ef94bb4c4cf86d5d1636943de60f78049d2286a92ba5d81";
   sha512.doc = "201de55826ce4911153f079e1107e2f4d2399d3d3cca95bc669cd958d09839ed7de778d644502cb6af8429818834027c9d3f3255fe58f95c985d1a96e4682f22";
@@ -27217,6 +29406,7 @@ latex-uni8 = {
 };
 latex-veryshortguide = {
   revision = 55228;
+  shortdesc = "The Very Short Guide to LaTeX";
   stripPrefix = 0;
   sha512.run = "5c32c836c5ada42858de4579167848ef51c4b7626601fa95fe56175f406cb747bba5015ffe369ebfa93e789d29ba5329e1ab3e42262699695fa59b6cf047a581";
   sha512.doc = "e2c521e768ea425312a400d88c893404c0f86c5886f595162b2a03493836ee1a949e2feebf8a8b3c9d6450630ff644b8973374f9963c67478af29e2a432d2f9d";
@@ -27225,6 +29415,7 @@ latex-veryshortguide = {
 };
 latex-via-exemplos = {
   revision = 68627;
+  shortdesc = "A LaTeX course written in brazilian portuguese language";
   stripPrefix = 0;
   sha512.run = "d98f99d1da5b8192cfd824829ec31f09f3178b0682885e5f497203c6f3f73bedc0a4f0a766ccde2f4f8a0e68b231f4d1213b3586fd1093588f3a9312716f072d";
   sha512.doc = "605dba889bfa1ad23b2990b2f0f40db42947b718cd272d8f61243818d40ad9a552fb61f87ff4e3844e580d3acaaa9842c2484c62c5c5dfb4450755db3fb02758";
@@ -27233,6 +29424,7 @@ latex-via-exemplos = {
 };
 latex-web-companion = {
   revision = 29349;
+  shortdesc = "Examples from The LaTeX Web Companion";
   stripPrefix = 0;
   sha512.run = "5f45c7f74a0e97b938009ada69146875e141edd556165b62185553b0ce5f590d5ca6f93a875dae1c546ebc788156d5cfc69c46535000adfe6933abe79a2fb06d";
   sha512.doc = "a972860f65d763c6fb45e9726e5dd7b8234509b90634f45b8b25e090da92d0ac577bf8b33ea7b0a0f91e4e5639bf62c07086dc36708ae697c1e16e644acc83f0";
@@ -27240,6 +29432,7 @@ latex-web-companion = {
 };
 latex2e-help-texinfo = {
   revision = 65552;
+  shortdesc = "Unofficial reference manual covering LaTeX2e";
   stripPrefix = 0;
   sha512.run = "34b91b19e1b71b1df6d0f57dda4d6976a93b16afac259656c9d4e331b0c23a9b0550563c1a10dd7a95640e3740b3b15597c1023f6c2721bf2a64800466b9cd09";
   sha512.doc = "d4584d9259f3c1867e7445d4a219e4decc5ba3b305e20d1e780180a47fbad8df4d55552726d8288e78c8388823a2b652b81080c8139b00f4ea3ca10e5789375b";
@@ -27248,6 +29441,7 @@ latex2e-help-texinfo = {
 };
 latex2e-help-texinfo-fr = {
   revision = 64228;
+  shortdesc = "A French translation of \"latex2e-help-texinfo\"";
   stripPrefix = 0;
   sha512.run = "96366ea420532f56ae076da48f5402c2ee78ca27fae8180795d6cd18aae118a8c7060208ff43ab64526addcdce9e4d90790583842b20c751f37865cf616e04e4";
   sha512.doc = "52f6aea9ac2393a73d7dc7ce8ad4d6f08e0a224397199d5def97412502026717e8cb966552368899c50718a1049b1ad4610d2d23150a45bee55cc2c776003db7";
@@ -27256,6 +29450,7 @@ latex2e-help-texinfo-fr = {
 };
 latex2e-help-texinfo-spanish = {
   revision = 65614;
+  shortdesc = "Unofficial reference manual covering LaTeX2e";
   stripPrefix = 0;
   sha512.run = "870c8f3af54ac42df5f4958669cf730cd16084c985f0b377c5aba9d526b8f7be14b367791d2c0a1f1a715739390ab63777ff2a92e7f9aad09897c8bbecff495e";
   sha512.doc = "4c751a7305e089dab61bf991436ab1e612cfca0d17e416e21d659c04ef32eeb2d14dbeb09d63649a2b79f842766a218c43ae2c6fbeeba5549f039f991049a79d";
@@ -27264,6 +29459,7 @@ latex2e-help-texinfo-spanish = {
 };
 latex2man = {
   revision = 64477;
+  shortdesc = "Translate LaTeX-based manual pages into Unix man format";
   sha512.run = "2617f6e8059f30c0098ea896cff69f585ea2ddbd3bbbd8066e7296dd833d3a246b8fefc0af71a92abf7e2051c754c0e3e6098175a4b181780563416bc9146b95";
   sha512.doc = "390666cc56ad70342c9a24ca593fe65b3760674a882ed8bba383d193f2578285727a085f823afc03fa0dbc9966612caf9a29222fd2a9f39214f01aa268acdc50";
   hasManpages = true;
@@ -27277,13 +29473,14 @@ latex2man.binfiles = [
 ];
 latex2nemeth = {
   revision = 65269;
+  shortdesc = "Convert LaTeX source to Braille with math in Nemeth";
   sha512.run = "f2669a9e58857094c922b968f337e2cb2cf475b07811d53c61a8e0b4dc8bcc41d95186940361676bc62c0f235edb4fe7a7c0d5ee0f6d74c541d1108960e18e7e";
   sha512.doc = "7fa7ae1c628e29549fc3cb2c98164e27f60cc0bcbf14e26b7a325aee313a5f41c3144d5adf2993c20999016f4798dcd436d96c637c4258ace0efc3bda4a54a43";
   hasRunfiles = true;
   scriptExts = [
     "jar"
   ];
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
   version = "1.1.3";
 };
 latex2nemeth.binfiles = [
@@ -27291,6 +29488,7 @@ latex2nemeth.binfiles = [
 ];
 latex2pydata = {
   revision = 68919;
+  shortdesc = "Write data to file in Python literal format";
   stripPrefix = 0;
   sha512.run = "7da5e33f287bac42a378bf33073ec6a982dff7000097fdb865844299efeb9e7a1647ae49bd3332b036755dd4da6be34fbb197c8148d2c2af5c60b7580d0420d1";
   sha512.doc = "8d78f4bfe6ddd1742baaa792842ab9ada5cdf4e1eeb3fb3496780e3a31120406d56be4be7cbbade5815f72cab57b76a5218e3bd86ef4593d1fc75fa2196e7212";
@@ -27301,6 +29499,7 @@ latex2pydata = {
 };
 latex4musicians = {
   revision = 49759;
+  shortdesc = "A guide for combining LaTeX and music";
   stripPrefix = 0;
   sha512.run = "a37c75d55857e9680b8e4b0f59f1889f3b5198477212ea531aa6bbf9ea11dbae06fef7fdba9e706f016c6c0618eebe4ddb81ba73b48979683a22592a0adb119a";
   sha512.doc = "738c2c467d9df87cb1eccf0442b5c94a97a3c4c2b329d78d80b05d2adf9e3be11aaf2fb407ebc29f07e6455e6533464d981ae65122b080aebabdfaa29cf71b61";
@@ -27309,6 +29508,7 @@ latex4musicians = {
 };
 latex4wp = {
   revision = 68096;
+  shortdesc = "A LaTeX guide specifically designed for word processor users";
   stripPrefix = 0;
   sha512.run = "0111de0987679fe40b14a4ad0dfa098fef36acf15e099f932e75121c26bdadc2e493c77b1d5b4208e662f2e5893955cfad639bf018d48aa5e7a7c77e5d009c6c";
   sha512.doc = "eae8e0b5e4fe28311508b09b4b8b03ac31469e32772427c5d016bf43d48e458fea06f9dcf9ed696e1eaaea7bfd6b0ef4661d8b84c2bdedec44ca35c782079bf9";
@@ -27317,6 +29517,7 @@ latex4wp = {
 };
 latex4wp-it = {
   revision = 36000;
+  shortdesc = "LaTeX guide for word processor users, in Italian";
   stripPrefix = 0;
   sha512.run = "691d8936d71ca825da3a5fb193f8f7067480981b1b9bc93100f54834a7f9500e66785a216110cb1eb5cdd41b538333b693dab8e0e855e546a3eab90c43c48630";
   sha512.doc = "c0c527bc7e9e71038316be5c6a57f4200ed69e7ed6fa0f066923cb14d14e20e90213cf0b989d3ba746bdb3e2263cf1daba56db3073017a0d7582e40640d35fd3";
@@ -27325,6 +29526,7 @@ latex4wp-it = {
 };
 latexbangla = {
   revision = 55475;
+  shortdesc = "Enhanced LaTeX integration for Bangla";
   stripPrefix = 0;
   sha512.run = "8b61b8aee0e95339b356fa85b9bb7ad3833ccf410267eb31a84a811c25c4e34ac350952fa26ed6461468bfeca37121e809ba560fbed7a0d8e747613708ff7795";
   sha512.doc = "8d8c686edbf3e70e70fa577c7d09f2e3d3f1ab938253ed01892ba030be0ba948bba48d67503a6f215628e03160bb32878f868d8a72b5a0d65ce3400fb9011ac9";
@@ -27334,6 +29536,7 @@ latexbangla = {
 };
 latexbug = {
   revision = 63596;
+  shortdesc = "Bug-classification for LaTeX related bugs";
   stripPrefix = 0;
   sha512.run = "343629bebcc022be463cfb13e155c372436b6138a3ce641ddb7ff17286788b6db438d040a8fa76bbd0354b880e5455a1aeb5060202b99de2cff1bddafdafac35";
   sha512.doc = "67209c3221ddf31ea4ba6a9678d340a590feebbe4965750a65037e3c8546d4a3db0b43d0ea5fe178eaa5e4d1500304b2a3fc04bc8e65781da2a5bf22e702fd0c";
@@ -27344,6 +29547,7 @@ latexbug = {
 };
 latexcheat = {
   revision = 15878;
+  shortdesc = "A LaTeX cheat sheet";
   stripPrefix = 0;
   sha512.run = "530041d286048809968d91b20fd40c5ec41eb440fec25bf08f92af0f0fd5e1481a1344ba3c659da4477de353d222f3cb160d75eea2241ccf19b05e63e059ed6f";
   sha512.doc = "28abbdc3b53c245b0cfb6ab68549661a72d37df004a5c760f5021e91b1df892b02872c7e20f328c7dd4624edff96f3b1fadfb46cf35d080c6b7c5635dc36adfc";
@@ -27352,6 +29556,7 @@ latexcheat = {
 };
 latexcheat-de = {
   revision = 35702;
+  shortdesc = "A LaTeX cheat sheet, in German";
   stripPrefix = 0;
   sha512.run = "84de8075c1ba86467c8b34ed614462953ca8b9a237bb84453b2f9a1482eebfdb628c3e460d38da126416cc111387d68d3f479c5806ecbf06d079e47c35b88ca6";
   sha512.doc = "dda8002178b55e155f7ce1f49f57f928b6c5097007daf36aa473c1a2d07aef4c3ec5e1c238537c0531731af0cb0d51804b0c0310be63954f112f266e737c7d37";
@@ -27359,6 +29564,7 @@ latexcheat-de = {
 };
 latexcheat-esmx = {
   revision = 36866;
+  shortdesc = "A LaTeX cheat sheet, in Spanish";
   stripPrefix = 0;
   sha512.run = "ab9965189096647e8af9aa58a937fa15595bed32055b3819bfd12334cf60e01d18b12563de8169ea28e3c0a7768864e51631c29bbbe47d45e09ffb2b87c5d524";
   sha512.doc = "a45f2db2445e2daec8b31e995669a189c1d201f457e06de7fc2a85ad85686b31fcf70040e7840e1168e29b2e5caf796c45b6ce934780fa5982d0750438263606";
@@ -27367,6 +29573,7 @@ latexcheat-esmx = {
 };
 latexcheat-ptbr = {
   revision = 15878;
+  shortdesc = "A LaTeX cheat sheet, in Brazilian Portuguese";
   stripPrefix = 0;
   sha512.run = "e50cd94941704f1a620a7411624ffd61d47aa4ef2944220ef0bfa9fbc428d8ea46be17bb3b18b30d645dcddf3c8091dafa9532f809dee7af230e2133c86b9bf5";
   sha512.doc = "00369fce725567a85310afd3063a4a20e670d8a0c57ef7e4515579ee0f91157f44bac2471b076c2ba51253e2c172447cc4b915877d80b0c43874c4e125f5f9d4";
@@ -27375,6 +29582,7 @@ latexcheat-ptbr = {
 };
 latexcolors = {
   revision = 49888;
+  shortdesc = "Use color definitions from latexcolor.com";
   stripPrefix = 0;
   sha512.run = "b22521df5572411a33ba84b2d7560f0735a6f3a3bab0c6d7ca460e19333fba20ec8852becc618274ca7b7461fac1c42d0e6ce7fb9b7e4349c74bd05e8e1b5faf";
   sha512.doc = "5f6f26c2ece42c07b2b2e634308a2a417e12a105d9856d630f483443825615d770ed35f7322f59904b1d8fea9425e0222fe9deff27451a5aec52fac39eb9369e";
@@ -27385,12 +29593,14 @@ latexcolors = {
 };
 latexconfig = {
   revision = 68923;
+  shortdesc = "configuration files for LaTeX-related formats";
   stripPrefix = 0;
   sha512.run = "22e233cad5742691da573249b3f9cd4ea0c6ccf4e31a757837d710ca863e0cccd089106e523e40fb541255f3795d963273ccdf70211f19ff3caecb30d7fefcbe";
   hasRunfiles = true;
 };
 latexcourse-rug = {
   revision = 39026;
+  shortdesc = "A LaTeX course book";
   stripPrefix = 0;
   sha512.run = "ab31ee52beb0fe100f4798e6e42673d5284f6f85ccdecf8875f4d058928cab7363507f8cafe6c3c6f437a682f3e0017923d138ff671eea118ca8d2339627fbe0";
   sha512.doc = "aeaeeef2c43a5ddf782a91152c9e2e18f00d9b3e18b7023837920a53eb390652d7ea85afcae338519a00b84a972a723eedd7819e73944ef7015f8c028822fea9";
@@ -27399,6 +29609,7 @@ latexcourse-rug = {
 };
 latexdemo = {
   revision = 67201;
+  shortdesc = "Demonstrate LaTeX code with its resulting output";
   stripPrefix = 0;
   sha512.run = "e8444a7362e06fe225e9033fb4fd69a5dbdae2e6b18ff50b860e327890cedb5ccc92a2aa977d5349346dcbc0da91644729d292e08cd9651e096362df43f1b5fa";
   sha512.doc = "b704b4f266b2106d6a48dd5fca3af644ffb750c7a183d0ceb31db06c98802faff451d4a224289203174f086c7ac46bb83b5296115fc2bb0241b213ebf631115f";
@@ -27409,11 +29620,12 @@ latexdemo = {
 };
 latexdiff = {
   revision = 64980;
+  shortdesc = "Determine and mark up significant differences between LaTeX files";
   sha512.run = "ae7179b5a9d410302d750233b6b22d29382406f3222129155c98b1f2ddc23d22ca7abe1683fd013c7302fe8e21e82a376499ae33d83c15a01fa2720696e5b718";
   sha512.doc = "2f484db22ec12886a4d76fabde3a65a982d3e659f524120b377221f91c7ad5973ad6023aa3226dd35baa687c86ec8dd8e736553d1604690d87e68d3cf7be84f8";
   hasManpages = true;
   hasRunfiles = true;
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
   version = "1.3.3";
 };
 latexdiff.binfiles = [
@@ -27423,6 +29635,7 @@ latexdiff.binfiles = [
 ];
 latexfileinfo-pkgs = {
   revision = 26760;
+  shortdesc = "A comparison of packages showing LaTeX file information";
   stripPrefix = 0;
   sha512.run = "b08fbfeb87299273a0e087e7cfe0e9df9bf50b95503a3110b9b329a9a41931f34f65661e219c6adf377e3448536d5aac8199799821f7057a67a4680a24f30ad0";
   sha512.doc = "af5ff5d84fbbaf299be548d13163c8e5e83b73ce795bc1236a204f4025e34d9ef0c587702ea5d6b234791e16e7cd1930a63f3839c20caefad7610de125a583e6";
@@ -27433,6 +29646,7 @@ latexfileinfo-pkgs = {
 };
 latexfileversion = {
   revision = 29349;
+  shortdesc = "Prints the version and date of a LaTeX class or style file";
   sha512.run = "3a017b8a367864358370f0063957c301014df2aa039566ef33ae78dcf428235ccc2a88e19c917c940e186371e2c0b747887cb04e7cb78b9a04ac1720dbd94cf9";
   sha512.doc = "b1df01f8bc7daed937cd20d1ab7cce443a3d1fbb58e04cb18f0c0b30ef0795c988cf51bf49ace2f960c173f6a95fe982ee9d29d7650dcde21784c788165094c1";
   hasRunfiles = true;
@@ -27444,19 +29658,21 @@ latexfileversion.binfiles = [
 ];
 latexgit = {
   revision = 54811;
+  shortdesc = "A LaTeX git wrapper";
   stripPrefix = 0;
   sha512.run = "4e3787d5e9bf950e796e7eb475c825f20628ec5ed5b99cb145036fba99c4941ed81b347acba1548dea624d87a03e0cdbbc28fc579cc8edb0aa36460e9df0b6d8";
   sha512.doc = "bfc6ce99ca1b66c0b1d5d98453716cf9e3a7e65ac55d7d17e5b06417f57d13f532602b537c804581e2e81b5265d554dd99e4d4307ef6d634d25916aae1892cab";
   sha512.source = "8a09f128428644335c9d909d23acc91ede2020304ebf009be00928cdef670aba23d245b979e5fd8d927c9d0e652bc195c717a744015a31fbb2aed1c566abfaf4";
   hasRunfiles = true;
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
 };
 latexindent = {
   revision = 69472;
+  shortdesc = "Indent a LaTeX document, highlighting the programming structure";
   sha512.run = "23c35d38e78c3debf1c89cad7f719727edaa21e93d1cdc3f845f3badc0e4211919bd8e8a495010fde7eef78f9784f04c545d67546f30f16179624e36f82d31e8";
   sha512.doc = "6b0de79326494370b3fba30cf44b0edf7ec925462152c6c11d7e4b9de489b58a94ea64b0e9059b28ec17817cd73e75f0f327aff2ef190dc9fe35aca2b24af66b";
   hasRunfiles = true;
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
   version = "3.23.6";
 };
 latexindent.binfiles = [
@@ -27464,11 +29680,12 @@ latexindent.binfiles = [
 ];
 latexmk = {
   revision = 69657;
+  shortdesc = "Fully automated LaTeX document generation";
   sha512.run = "ce495cf39bfc7a113d53427eec1ecd6fc62038c91cf5b97b0a7dd6fdf719b15425b6adfe1c734e5eae5330e5f8d15e3f9bf808d8e324afd53b8915d55e505935";
   sha512.doc = "0ce5229b80291809437e57518551e0ab0b06bdc381e07ae100ac2fff3f66965b64c4df096dc90fc5814b1110a9080322742b92af57675cc53b26ab1548a37582";
   hasManpages = true;
   hasRunfiles = true;
-  license = [ "gpl2" ];
+  license = [ "gpl2Only" ];
   version = "4.83";
 };
 latexmk.binfiles = [
@@ -27476,6 +29693,7 @@ latexmk.binfiles = [
 ];
 latexmp = {
   revision = 55643;
+  shortdesc = "Interface for LaTeX-based typesetting in MetaPost";
   stripPrefix = 0;
   sha512.run = "e32eddbc519ed33687c1fbe36b2cf45f9ee886a78c0a088f6648da42dbebb0a72064ec4b9d5333656cc3bed7b251ef3a758926db88e6bb79ffd4536489717db5";
   sha512.doc = "02cda290799bde7288220d0b634b970a6ac543fd63318bcf90c4ad06eab074f5851e7bc42c9359af709eccc0c8847a0d3d1a9e27cdfd3f60c7143de7ac4d3901";
@@ -27485,6 +29703,7 @@ latexmp = {
 };
 latexpand = {
   revision = 66226;
+  shortdesc = "Expand \input and \include in a LaTeX document";
   sha512.run = "e5b63c9aa31f3b5885b1a61503998ce949021b448199538ac385d3fe687156ce6669cd3610a7c3387592d968b0707f7122f35fd50402616470e34bb49f341bf4";
   sha512.doc = "c06bbb57bc006aebb644fc4a8edc1f89e10617c67bb77193bd2f4dc3eb7b04b55fb1f239d7d6979f9b385134f3b1e584d9f10521efe704292b7e64865f78d156";
   hasRunfiles = true;
@@ -27496,6 +29715,7 @@ latexpand.binfiles = [
 ];
 latino-sine-flexione = {
   revision = 69568;
+  shortdesc = "LaTeX support for documents written in Peano's Interlingua";
   stripPrefix = 0;
   sha512.run = "e498d5ec469420db789dac92e314f9ac0355b4afa2c43d4dce2de3eb23481db2687283f9ccce2ffd6edfd7b8f2d7ca3bf7425f0ff43ed46d7ca2dc9e3bc16797";
   sha512.doc = "ead89b61f23f527d4b545775c821792aaa5a4c3a6290767139dd8872ff6419de248d2f1d657589f469b49bc7b8a68a3368d5c26aa61a39ef6a0e6835cea97389";
@@ -27505,6 +29725,7 @@ latino-sine-flexione = {
 };
 lato = {
   revision = 54512;
+  shortdesc = "Lato font family and LaTeX support";
   stripPrefix = 0;
   fontMaps = [
     "Map lato.map"
@@ -27517,6 +29738,7 @@ lato = {
 };
 layaureo = {
   revision = 19087;
+  shortdesc = "A package to improve the A4 page layout";
   stripPrefix = 0;
   sha512.run = "849b0e0fbd15b45cb31ed4856b0eaa190c26437a1965da2c860af62b65cbb000b590320611e96c5a6c4cc63c029c31fb352ec44d96e0704eb52c70ee460abcd3";
   sha512.doc = "b4333e1361b352689dfd67e13a694a304449eac61ef8189957356bd94e5745f4c15fa38bc21219c8a21805dbecd44a51e719bbcd884b850ba1276759bdebeb94";
@@ -27527,6 +29749,7 @@ layaureo = {
 };
 layouts = {
   revision = 42428;
+  shortdesc = "Display various elements of a document's layout";
   stripPrefix = 0;
   sha512.run = "9db14862ac1bea22096130ddac071a9b058e4cc1309917d2f8e8c536f280d2f4efc9a8dad9a5dbec0824b94f92c290e82820ec1628f0e4b72aa8fa617b72d981";
   sha512.doc = "aa6639c5ca0029efda9af523a0a075ef2b60ae9e031bd68232ee03792bb2f7452e2201e7223735e83b7979f2c057674fcedde4ed416254ab4b5b8a6cd9bb002e";
@@ -27537,6 +29760,7 @@ layouts = {
 };
 lazylist = {
   revision = 17691;
+  shortdesc = "Lists in TeX's \"mouth\"";
   stripPrefix = 0;
   sha512.run = "5ceccebce9cf3ff0574c471141f94b919d14a7faf1b5c7b5e09eb079aee11cb95bdfa7d8b26fb83e99875818d842cbd64733ab7cf7b7024f04f661f732a3fb04";
   sha512.doc = "1ecf491370fd7ba0fcd3ef1ce11df768509c32bc9bf14978e3d6f36e39094570144b897337bbc481bfeb8b74354b36f66d561a33e255ba50aae0a5c42f002e7e";
@@ -27546,6 +29770,7 @@ lazylist = {
 };
 lccaps = {
   revision = 46432;
+  shortdesc = "Lowercased (spaced) small capitals";
   stripPrefix = 0;
   sha512.run = "98d57c77a3ca19a067c04c9cef06d632e56f42daaa70ec729a7cbf3ff68ef3e7ab95e1d0d25cf853d85dd1916668dd5601ba6feb889d1eda344b3ebcb31da333";
   sha512.doc = "ce14177476624831de64a12ef858516a2df28a3e194748a1c759d7a41743a93e03a7d96bff3acd85f9db0f5d4c96a53aff7b73077e131bc6fa807c8b36844bef";
@@ -27556,6 +29781,7 @@ lccaps = {
 };
 lcd = {
   revision = 16549;
+  shortdesc = "Alphanumerical LCD-style displays";
   stripPrefix = 0;
   sha512.run = "829c0fbed639619707023c1df1fa511d584e4805aa4f26b0ba5e5c5dd85d927901f4ad949e4a171d9765995c9ccfd34e5d45aa44dfef2508d5ec84c27712e05a";
   sha512.doc = "385df3ec85fdbaa579b15f0ef0fa2347e15cb796a84265b1cc7a9e2bc520c0c98d0703615ed28c68ce5ab7cbca6f2699502ec26a31297c14b0039dd4b584fd86";
@@ -27566,6 +29792,7 @@ lcd = {
 };
 lcdftypetools = {
   revision = 52851;
+  shortdesc = "A bundle of outline font manipulation tools";
   deps = [
     "glyphlist"
   ];
@@ -27589,6 +29816,7 @@ lcdftypetools.binfiles = [
 ];
 lcg = {
   revision = 31474;
+  shortdesc = "Generate random integers";
   stripPrefix = 0;
   sha512.run = "6ca6f347b6ca4104ec376554ff7ba5d19002b2b4174fa491f3fec87d6c75c3ed11c1d13b9e7d30e6c086b2a12dc3013f21ee10b482c95b177f0eaff02d953fee";
   sha512.doc = "5674612693481265f72420ae10914329029f9af2f526e6b59ba2614d4d2994a0033cb3393d2751064987698f819cca8e0fa3783555db3fa6cc5849f337b1cfd5";
@@ -27599,6 +29827,7 @@ lcg = {
 };
 lcyw = {
   revision = 15878;
+  shortdesc = "Make Classic Cyrillic CM fonts accessible in LaTeX";
   stripPrefix = 0;
   sha512.run = "324a9eb8f1a68124888ad7d4f35dd0446c917e643e2cdcfa041ca26b719ccdc541b9b89857aa05dea2d599912c506561c762d288ccc86d637fd927cc70bf910d";
   sha512.doc = "c063b6b5d23bd0a7197f5bd3121c93237c24f0a77fbc72cb370a7cd535282151731ef03098c36d8152707c50808c1b996fd1adaf16185bd3d0e3589e85b67981";
@@ -27609,6 +29838,7 @@ lcyw = {
 };
 leading = {
   revision = 15878;
+  shortdesc = "Define leading with a length";
   stripPrefix = 0;
   sha512.run = "c326950e6c4b07782148ee4c9ac5b22f7e42512e0bc6e5e1f75be6ed757ca90ebf2bb6b30b91ceaac32c761d595ba5799f0f40ca15954f150d481ea366f1c72d";
   sha512.doc = "3ede6910ccb0a30c3ae9c78b86cf00cd7e2c5d8905b648861d2113d0af6225b2ffdc30509a72a5f69dd9e1164525c3225cd4ecaa04471ddf5c346a862fe097e4";
@@ -27619,6 +29849,7 @@ leading = {
 };
 leadsheets = {
   revision = 61504;
+  shortdesc = "Typesetting leadsheets and songbooks";
   stripPrefix = 0;
   sha512.run = "026e310ee9617108ac60fca69b0f08b2031d9c9dc583a400095765458bc72681c5c39332602994fd8a7dd4757b5214924d4f5d75bc5861365ef65e8e33b6e143";
   sha512.doc = "dafae48e690e6f0a2272d268204cbe58967eec5dc895987ecbff563061f23a53bf9d0d39f4a269b852524c1cad8de08fb121aa8291d2c723c01615f4c83b3231";
@@ -27628,6 +29859,7 @@ leadsheets = {
 };
 leaflet = {
   revision = 56878;
+  shortdesc = "Create small handouts (flyers)";
   stripPrefix = 0;
   sha512.run = "ec809f2aa4cbc16dd26aae988e2e3b5fcef9284cd31deb126d26989358e52596a50fd63df07095f0bf081c46d1e8af3b3f59572d372be873d9afe1f3db3cee95";
   sha512.doc = "ccfee44447524b112f47211729bcd2c78021dfd19394b82eb7024bd10a68d1a04789d01d16cc9f3b5eab7feda884eae6bbd47b6abe8023893587c49613b44d6a";
@@ -27638,6 +29870,7 @@ leaflet = {
 };
 lebhart = {
   revision = 70050;
+  shortdesc = "Write your articles in a colorful way";
   stripPrefix = 0;
   deps = [
     "colorist"
@@ -27649,6 +29882,7 @@ lebhart = {
 };
 lecturer = {
   revision = 23916;
+  shortdesc = "On-screen presentations for (almost) all formats";
   stripPrefix = 0;
   sha512.run = "e0c217ed089dccb7cb526e62456bf72d186bf8cdc69b2014bd4210b6f1225277d1afb514f381e4581727900c6ebf34780bb4df01c3682580cea0418fa9caa1db";
   sha512.doc = "97892442ebe9263cbdc8e35ecbc2f3acebdaa886e5fe814bcc0ada98b0cecd9e140a0d103adc9eb0aab1e5e48e9d7f4ab42e786d52f8fcc96d03db17c51fc17b";
@@ -27657,6 +29891,7 @@ lecturer = {
 };
 lectures = {
   revision = 53642;
+  shortdesc = "A document class for quickly drafting nice looking lecture notes";
   stripPrefix = 0;
   sha512.run = "e3fb80a67dcb5198503050d61266cbd3890c91c1c5c93042a17f2aa410223c3943e3dcb73d7d6e7a4d5888d87ae9613fc89025f0435c122ab44a8f822732250f";
   sha512.doc = "bc50485fd0a8782095bbc37b9185bbc61df2a6bdccaef359f2cedd553cedc14ffd0bb8e6690578f1d57b85e2efa650a68af3b579a7c360a737791ddd74373424";
@@ -27666,6 +29901,7 @@ lectures = {
 };
 lectureslides = {
   revision = 62292;
+  shortdesc = "Combine single PDF files into one file";
   stripPrefix = 0;
   sha512.run = "48d99cd8a5b0c730af30c9c3585f0d2c9d9bf88f359f591bb769d5744412f5b76fe7151a744cfa194dc77f53da2737895fffc9b0e81de216d6d3f5bf4831d26f";
   sha512.doc = "8bce5395c30b16ea534071464941e4d4df7622946f09daf4e1dd4f63f79dcbc05f350353bbfa474e1d990a37c0a61368aa34683ee251a4e34da5ad5c896ab84e";
@@ -27675,6 +29911,7 @@ lectureslides = {
 };
 ledmac = {
   revision = 41811;
+  shortdesc = "Typeset scholarly editions";
   stripPrefix = 0;
   sha512.run = "b465117d5634dc4eeaefbc2c12a4d0fb892f4a27ed66057938701fe51e4dedfb5b7f28d796145d89a59b2667cf61c7175803f72e5970cf81244329130d173136";
   sha512.doc = "7e7fa49106457f13aed11bcf80a1e38f000f5161e9a67bdbb174371db63a3953109f26da3cef8781d2c13abb4b86d5cb0c2b1b41e6f2cd3584512bed1a67cf6a";
@@ -27685,6 +29922,7 @@ ledmac = {
 };
 leftidx = {
   revision = 15878;
+  shortdesc = "Left and right subscripts and superscripts in math mode";
   stripPrefix = 0;
   sha512.run = "a01d085af4ac4048b5659e7f2f1692dd787b7c4cc9a0c06acf9852ad9d5aaa9790bdad6db7a76ec2f1a268af520ac35975a7fc55ef0d6373f244c85b8b6e116c";
   sha512.doc = "1e372c7d307b4bae8fc5673c9654785db1fc7c510e188e7e0945e01dd502580479b7910e19132c7b8b169acf7d9de84504de2aa9fb580c9a526a5700114f009e";
@@ -27694,6 +29932,7 @@ leftidx = {
 };
 leftindex = {
   revision = 69660;
+  shortdesc = "Left indices with better spacing";
   stripPrefix = 0;
   sha512.run = "3fad2e822408843bef73d95b5c7eb99840e9a3b9cc3f5815197ca735d8953a30a271c9609c7fb34eb4c8a7bed1a637a3421fe8a1380b5972e342997cff2ea247";
   sha512.doc = "482b46b33ea20c85765b6b1e4920b96e8f94347aebb057f2958ff2bc6884e8c1a5f121b31f1aff79deed93209940d37fe1fc33199a3f25b81dda74f02326a862";
@@ -27703,6 +29942,7 @@ leftindex = {
 };
 leipzig = {
   revision = 52450;
+  shortdesc = "Typeset and index linguistic gloss abbreviations";
   stripPrefix = 0;
   sha512.run = "6811c2259558856d930901d2d82a47774c4c37ceb5d1309fa6b78ebb031685405e334e8de7cd63b1998bf673d5210aacfd096b1c6570ed26840fe4ec22359c5c";
   sha512.doc = "a701d8c9ffc741099aa09f75dcef117db6c64a832dd51f57dfe07cee694a177a3a8be824560308b9cdd483013d4e69b77ee8755972b9ed504e033db6396532a0";
@@ -27713,6 +29953,7 @@ leipzig = {
 };
 lengthconvert = {
   revision = 55064;
+  shortdesc = "Express lengths in arbitrary units";
   stripPrefix = 0;
   sha512.run = "7796d45d91e157f2e901a1a48a7841bf222f86540ac00d59250e3f47568ab86832bc115340c0b65b27c12eb1a39cc2729cffb5da71afc413dbae737341d8eb63";
   sha512.doc = "4191c3ce9b546f885c61243a343761a9dbc1ac031b3878a87c292d99a70effc89d927a1fd35eeafdd6523aea7c4bde0c90255057177767f534b471d4e098d3d4";
@@ -27723,6 +29964,7 @@ lengthconvert = {
 };
 letgut = {
   revision = 70496;
+  shortdesc = "Class for the newsletter \"La Lettre GUTenberg\" of the French TeX User Group GUTenberg";
   stripPrefix = 0;
   sha512.run = "26c67af52a69cf3c9eff59e1e3af2cdf1450caba17938ded0c6c8d090cba120809d4eaa981c2934a62e9bcc78a0430053f55e1c4ac241770c779c4a5a8cbcce0";
   sha512.doc = "13fca9f0e879d4838cb7e05e2978c5a63bff21b14f7da80e82030916218d49c870f97037f88ff4316bd220e5c318d2f7d568ddda9f787618aab31478e1a0ad63";
@@ -27733,6 +29975,7 @@ letgut = {
 };
 letltxmacro = {
   revision = 53022;
+  shortdesc = "Let assignment for LaTeX macros";
   stripPrefix = 0;
   sha512.run = "c9c1f5c3b9aab6b31750011cd45c42bdb32ecd712ced8f8cdafe1aeca532159051d1cff1449b06e3d35fbefdd44f2332805cb1618ff1da022d405a88d600083b";
   sha512.doc = "8be12930acfaa79dbf3d7d3e0a60a518b12392c094e1dc531bfbcd8d9517d4744e99d339b3b7bcfb1e156d0ccbd17ca464126d8530e9f9c13e29d19a6aaeea99";
@@ -27743,6 +29986,7 @@ letltxmacro = {
 };
 letterspacing = {
   revision = 54266;
+  shortdesc = "Letter spacing";
   stripPrefix = 0;
   sha512.run = "30fdc0f87976feb698b9736e9deb6726746e4c25e4ed4a4637ff26699e171738be6447e8e2d02d154cf57944aa988208ee97859c0a7fac784d55fa6ef889b86c";
   hasRunfiles = true;
@@ -27750,6 +29994,7 @@ letterspacing = {
 };
 letterswitharrows = {
   revision = 59993;
+  shortdesc = "Draw arrows over math letters";
   stripPrefix = 0;
   sha512.run = "dcfd59b7a51100a4e1d856d3cbc0d4f2ac258e745566b278e275d8ebd0273e7f96fa1431b681d42e10b1c7496596f1ecdd92753b8b58df4fe352c51b9b009bcb";
   sha512.doc = "a21ff5d9a4c2e409cd7a32207e1e162b263dff46919fdad25bd5fbc1cca86329efebf847ed24ff7401293d8a318bde9fe7fd2c9def69f39740d5e0686c0ab849";
@@ -27759,6 +30004,7 @@ letterswitharrows = {
 };
 lettre = {
   revision = 54722;
+  shortdesc = "Letters and faxes in French";
   stripPrefix = 0;
   sha512.run = "308dc21e8be8d8f6952eadf9b5e9002fe32e8ea3b79ba679606badef75ae346721270e85e3fbcd269ee86b9ae049390164c57cfd73d7f2efe22fe82c7466a813";
   sha512.doc = "9962763ae46836874eccf4ea5a2dd695eaa1ab890224d6a54e83670618e2cae4a917fb6bf05610c5104f4d241e0163e079628e79ddad3edf374b513cf6a457f6";
@@ -27768,6 +30014,7 @@ lettre = {
 };
 lettrine = {
   revision = 69508;
+  shortdesc = "Typeset dropped capitals";
   stripPrefix = 0;
   sha512.run = "759f71e952f99425e2425f938164a402b86bb2e83a298e08bc4905007e7805f5856a3f90067c0d08003c409282c79a9c3edd7095bf105029e05addea8dd328fe";
   sha512.doc = "5618801ec7cdeab3b378cfb55748016df58fe00851a09a0a7929ea97de49b11c7cb2c6877e54d1cca93cfeece45c53f869e47ad3a9715a9ab8b7f414a8216cef";
@@ -27778,14 +30025,16 @@ lettrine = {
 };
 levy = {
   revision = 21750;
+  shortdesc = "Fonts for typesetting classical greek";
   stripPrefix = 0;
   sha512.run = "a71294df1b2bdb1402892ebc0c82dd60275cf41f6844cdd284e1ba73c8515e98258118c5a1e5158fb6d09acdc53427eb4e3f62f24591fd2eafc90d0bb69b71ea";
   sha512.doc = "e69a1e2e421100a50416f86bda40702aa9a4d5c5b0b8c783e328e56e1ce587f832cad984fee2cad259603e893413155bc4539e853e1df0d95c89e9167c67b2e1";
   hasRunfiles = true;
-  license = [ "gpl2" ];
+  license = [ "gpl2Only" ];
 };
 lewis = {
   revision = 15878;
+  shortdesc = "Draw Lewis structures";
   stripPrefix = 0;
   sha512.run = "7dbe24061df0d0bb4762e7d308c895c99d8f9a9105137bce8c4e589c7fdc80f989aa8c3ebbe40708a8b6fa2a2df5542ce25fb16f528344ca46d50c47724e006a";
   sha512.doc = "b267e3c79dfacdd7ed8c931a0e5954c9fd2ea0cfc12beceef3b40bbbed30bbb421d29afd263a25a5b0b5b77a6bc74ddf38e609262485eecae065d65e23200bff";
@@ -27795,6 +30044,7 @@ lewis = {
 };
 lexend = {
   revision = 57564;
+  shortdesc = "The Lexend fonts for XeLaTeX and LuaLaTeX through fontspec";
   stripPrefix = 0;
   sha512.run = "6a9e4ab844e5189e996b73ee95d5ea5bda0d5d9f7b00a707d5bf9b7ceb97eb2f37baef9310252227701d6fc280a14a8a79ff524b5cdee3610c4dc48968f6b3b5";
   sha512.doc = "fa21e0311899513ca5f7031471189ce0269fcb35b5bb38d2e3d2e8015dab11ab2a10cc086ba6d41f24c25d99b32f91750371e3297c505ef4a522d61aaa24e5bd";
@@ -27804,6 +30054,7 @@ lexend = {
 };
 lexikon = {
   revision = 17364;
+  shortdesc = "Macros for a two language dictionary";
   stripPrefix = 0;
   sha512.run = "7c0642f9e727d34175898138d27a838f0432a68659acd7986acb0b74183f28467351c169c52ab057daf46546d8ef9f9bdf30dcb1846b458b6b718ae38633b275";
   sha512.doc = "4f1329d49d92d93743127e4f3ad9401e07529d31d2d68af86373f08b56ae69c22c70b89151461548aefb7fc1f7eca66cc1a4ac73407d82b65bd007f3372243cf";
@@ -27813,6 +30064,7 @@ lexikon = {
 };
 lexref = {
   revision = 36026;
+  shortdesc = "Convenient and uniform references to legal provisions";
   stripPrefix = 0;
   sha512.run = "f9bf7792ac09a6b5a69ae642e0becbcb1ed0c2eea3254b31da62bb9b7e3e161c24109e0bcacc8b89e3d03426710378f04e13a05be467115eaea2be028f8e5812";
   sha512.doc = "6a348acfd0e0701954195210bc717666308743f5f282b9efb7a253ab860a0372ed383cc2c8811527eeb2ed72c46be95cfb9e133d156fe8b906b67ed5140437af";
@@ -27822,6 +30074,7 @@ lexref = {
 };
 lfb = {
   revision = 15878;
+  shortdesc = "A Greek font with normal and bold variants";
   stripPrefix = 0;
   sha512.run = "5b1386321f8c24673531b48d996a20cea9ed527ae60e608f63a790a2cbbea573d01e0351c1ef695b11f14d31d5c482ffa02b337ea04e649b7b758eef713f3bf6";
   sha512.doc = "59eef59a1be002d28ce802617ee638b6c0e74efb391a502fa9593bf19e54f563f819f45442714b46a2e97f49bd561d2a2df631e53ad3847b48a881c8762d2d9d";
@@ -27831,14 +30084,16 @@ lfb = {
 };
 lgreek = {
   revision = 21818;
+  shortdesc = "LaTeX macros for using Silvio Levy's Greek fonts";
   stripPrefix = 0;
   sha512.run = "f0b5cc9b7267aa07dc0b0f8c6d23a164bc239591fd13b5d77c5c840d33e131546c63c63a3bbbee2851000bda2e8593e7617f8a7ae381e7cd0561302a667acac1";
   sha512.doc = "915df985f4766f492a70a35342e086567d17c155ea0dfce5514c6edebaf1dacb78998dc4bf5cc44415fef580a7779083bc2261a22dfd668e8f2023f1f15bff35";
   hasRunfiles = true;
-  license = [ "gpl2" ];
+  license = [ "gpl2Only" ];
 };
 lgrmath = {
   revision = 65038;
+  shortdesc = "Use LGR-encoded fonts in math mode";
   stripPrefix = 0;
   sha512.run = "415c04ea9add325ad71e678cafa99fe896d02c8b16facb0c4f69d656f0621e131c79be9470d15c755bfc4f63d9b6611e58829281c0e5c7209ac7c10ecc456b0a";
   sha512.doc = "c68c01069ef48b668f471c86d0b562f2455e9bf022ee7a9d9a9b2c6475b9fd04b4e1b9b0eb7cac215f51ca965d35a1cc80102a6d862b2d72f9d9c72f07fd5900";
@@ -27849,6 +30104,7 @@ lgrmath = {
 };
 lh = {
   revision = 15878;
+  shortdesc = "Cyrillic fonts that support LaTeX standard encodings";
   stripPrefix = 0;
   deps = [
     "ec"
@@ -27862,6 +30118,7 @@ lh = {
 };
 lhcyr = {
   revision = 31795;
+  shortdesc = "A non-standard Cyrillic input scheme";
   stripPrefix = 0;
   sha512.run = "55cf81c051e8f23fe4f085990bc72a5b1dfc276e3ae1721680ad033deae1e3eafb1b9dcff3380ee20b72623b1ab8f117aca66f61441387d914dc29dc91c78448";
   sha512.source = "18fc370261acff25634107705a36d06ec6367da95526a79fdd78c887234a2f2a6a17147eb317e97effa2ae8fe8e21e8df71cff3da5572055356386d26d2b06d8";
@@ -27870,6 +30127,7 @@ lhcyr = {
 };
 lhelp = {
   revision = 23638;
+  shortdesc = "Miscellaneous helper packages";
   stripPrefix = 0;
   sha512.run = "3a5bb1d95c300e9546b67c48cc2c3e1a5c3089c4430d76172a8d7f3cdc59fe03de1fafc6a1babeacc9259444e09e85e02a64f3b3f8ddfe3883511482b9ff0985";
   sha512.doc = "2411bd37dba9c4afe1ac4251c9897c99e5934938bd802dbe89993d5b6ec0d19e1cba8b143ee5febd9ad73f0ef823eb79f34587e6885250a2bce8eebbdbf06fd6";
@@ -27880,6 +30138,7 @@ lhelp = {
 };
 libertine = {
   revision = 68981;
+  shortdesc = "Use of Linux Libertine and Biolinum fonts with LaTeX";
   stripPrefix = 0;
   deps = [
     "fontaxes"
@@ -27898,6 +30157,7 @@ libertine = {
 };
 libertinegc = {
   revision = 44616;
+  shortdesc = "Libertine add-on to support Greek and Cyrillic";
   stripPrefix = 0;
   fontMaps = [
     "Map libertinegc.map"
@@ -27910,6 +30170,7 @@ libertinegc = {
 };
 libertinus = {
   revision = 61719;
+  shortdesc = "Wrapper to use the correct libertinus package according to the used TeX engine";
   stripPrefix = 0;
   sha512.run = "93fc163a66e711943c22f383187d4f7e81aaca32f36eac6e6f944682169282544c9233d05a2b5e6d263dd95de3d8a8106871a0ea1fd2028899031e2cde1244c4";
   sha512.doc = "8865b61037690bd3569654879866592750561d3fdeddd7943280ef772e7798194cf0bdb95809ab4373e1f082d1a1468b3b4456971b72dc892b07e73e2dcdecc6";
@@ -27919,6 +30180,7 @@ libertinus = {
 };
 libertinus-fonts = {
   revision = 57948;
+  shortdesc = "The Libertinus font family";
   stripPrefix = 0;
   sha512.run = "5deeffa40e2399169a7ec16fec4d417c27350cb5ccb7f59eb1638172758e88167d24470d889b311760b0739b9fa0251e2389f7ccda0e4e8e2ce3a454406f13be";
   sha512.doc = "410edfda953b321c9fa53e99854eea206177e4486c0fdd6ae3cc20eddb31111f28f17dfd725c5f2dc573d82ba5daa1f75c544709accae84292cff45d52b10c18";
@@ -27928,6 +30190,7 @@ libertinus-fonts = {
 };
 libertinus-otf = {
   revision = 68333;
+  shortdesc = "Support for Libertinus OpenType";
   stripPrefix = 0;
   sha512.run = "74e8f653e1bfd28b11932b0a5e524e823dbc1759566a3a6fd3d74b854f40df7a78b5dd3845e2b8e217fe9608cdb116d1216a3139e21d4498bccf62b8d8e42742";
   sha512.doc = "e708bc00e33f6cbdb1b21b1f62e968896f373301b8a3662fa32016c30bf913831d14258b9e1ceef3da39fc468dfabe0f9e4ff6f8b0e4357fe15bcd80c7e859bc";
@@ -27937,6 +30200,7 @@ libertinus-otf = {
 };
 libertinus-type1 = {
   revision = 67450;
+  shortdesc = "Support for using Libertinus fonts with LaTeX/pdfLaTeX";
   stripPrefix = 0;
   fontMaps = [
     "Map libertinus.map"
@@ -27944,10 +30208,11 @@ libertinus-type1 = {
   sha512.run = "6c84de57b1778ec35d9f56b00e577f9f8c1293132cedba43e657f4425e9bf01ab4243fe6ffb872aeb99b446019539a640d29c88cf29cc86d649d2a00f77952f7";
   sha512.doc = "c656af53b98735bec8c63c3e56160da943379f4b908f553a27cd1c82111b201eb15c1f1eb1b6ff89fee281c27ea36d6fffc5592b75722cd561c8770ef2d3f6a6";
   hasRunfiles = true;
-  license = [ "gpl2" "ofl" "lppl13c" ];
+  license = [ "gpl2Only" "ofl" "lppl13c" ];
 };
 libertinust1math = {
   revision = 69440;
+  shortdesc = "A Type 1 font and LaTeX support for Libertinus Math";
   stripPrefix = 0;
   fontMaps = [
     "Map libertinust1math.map"
@@ -27960,6 +30225,7 @@ libertinust1math = {
 };
 libgreek = {
   revision = 65004;
+  shortdesc = "Greek letters in math mode from Libertinus or Linux Libertine/Biolinum";
   stripPrefix = 0;
   sha512.run = "bfd9b373b9dd5bf637dba467b32a8b15965407ff1f6d47629f400b919d7126d5f37e1f35b8624cc5505869d8a649e25db2a175de4aaedc50a3607d90848c6cf6";
   sha512.doc = "94f7022093b0b1c3903b214a3e874751884020a78355e13ae101a2d336eb25796ec0f8388884f5dd9600badd15992978f3c9516a5a6d8ac1d7d3b92046ecde96";
@@ -27970,6 +30236,7 @@ libgreek = {
 };
 librarian = {
   revision = 19880;
+  shortdesc = "Tools to create bibliographies in TeX";
   stripPrefix = 0;
   sha512.run = "2a01755bec49fa8c78680b0599b58649b803694f339383ad168bdc06554dabeab3047d1b17d63f7487860a5d0102dd8f68a78d5ad5ba94a2f8b29db7329e1ebb";
   sha512.doc = "6d95e43b1f9965fe016bd9fc7ba3f9df56716d8f6c89948417643bffc4b9e89f8a5e6cb045e873daff819a16cc10cd61e74e73e98119a076580967187338be37";
@@ -27979,6 +30246,7 @@ librarian = {
 };
 librebaskerville = {
   revision = 64421;
+  shortdesc = "The Libre Baskerville family of fonts with LaTeX support";
   stripPrefix = 0;
   fontMaps = [
     "Map LibreBaskerville.map"
@@ -27990,6 +30258,7 @@ librebaskerville = {
 };
 librebodoni = {
   revision = 64431;
+  shortdesc = "Libre Bodoni fonts with LaTeX support";
   stripPrefix = 0;
   fontMaps = [
     "Map LibreBodoni.map"
@@ -28001,6 +30270,7 @@ librebodoni = {
 };
 librecaslon = {
   revision = 64432;
+  shortdesc = "Libre Caslon fonts, with LaTeX support";
   stripPrefix = 0;
   fontMaps = [
     "Map LibreCaslon.map"
@@ -28012,6 +30282,7 @@ librecaslon = {
 };
 librefranklin = {
   revision = 64441;
+  shortdesc = "LaTeX support for the Libre-Franklin family of fonts";
   stripPrefix = 0;
   fontMaps = [
     "Map LibreFranklin.map"
@@ -28023,6 +30294,7 @@ librefranklin = {
 };
 libris = {
   revision = 19409;
+  shortdesc = "Libris ADF fonts, with LaTeX support";
   stripPrefix = 0;
   fontMaps = [
     "Map yly.map"
@@ -28036,6 +30308,7 @@ libris = {
 };
 lie-hasse = {
   revision = 61719;
+  shortdesc = "Draw Hasse diagrams";
   stripPrefix = 0;
   sha512.run = "b71ed475c73a94a92b8a8078a4edccc73f7d688bad7a1a5e6218bafba823b76a20b79da83c7591903fa234c6f0e7f776317dd8b740e5fd7cd014821f8dd77c94";
   sha512.doc = "d846971b6b8429e58521ad0cc564906fc06623a3764117069fdb1912aeb84858e7af93ea2f4a7732c6e677f260f10a6a9b79488d43caf56ad158152245f8e4aa";
@@ -28045,6 +30318,7 @@ lie-hasse = {
 };
 liftarm = {
   revision = 62981;
+  shortdesc = "Draw liftarms";
   stripPrefix = 0;
   sha512.run = "a4938aa3e9a7c844766c2b6ef5959fda39f4de50325545d64a319a9d7f80ac2b3b5c4966e1db249e83d4cca7b82a3a7a60bff90c5d425f32a2a5c5b55b2fc4e9";
   sha512.doc = "1d4917e9a032e459ed1922b4d1ed5b525d3cc8799dedb8d435b0a387fb9c529159b620668bf5e737e87c68e434f2c01004d6f6b2100ea2484f179f2105901a73";
@@ -28054,6 +30328,7 @@ liftarm = {
 };
 light-latex-make = {
   revision = 66473;
+  shortdesc = "llmk: A build tool for LaTeX documents";
   sha512.run = "1ede05b31d3b7acdd0f38b19e83b4258f05ddb184343dd36a46f142adca9f4081631d687411a1370be880dba5e3c6ad3f1c21108232e8b8f4fd03fdc1f3ad60e";
   sha512.doc = "f5bb10465cf3dd983f59b101f6c631e202ce655282319c773cd0d83c0a9a8a3b9cee7790ef1f803b0c68215b553a2668d861a51dd9ec35b2dfe4b07ef0cf3a08";
   hasManpages = true;
@@ -28069,6 +30344,7 @@ light-latex-make.binfiles = [
 ];
 ligtype = {
   revision = 67601;
+  shortdesc = "Comprehensive ligature suppression functionalities";
   stripPrefix = 0;
   sha512.run = "f75a730290acd024eff3ebad6965fbea0e3388c98e0b6f325183758a7771de4b165810e7cfe05c43b12fb0cfcf71c51665c082bab82e44772ad0e0fb4b21c0ba";
   sha512.doc = "dee12f5e8abdff666582edde442085e8c937b39fcc5ad37759f0cfb683cdeafb63afce7a051573db307d2c416eca46bd9bf626f0cc3cd44bc6e1379c428d2e09";
@@ -28078,6 +30354,7 @@ ligtype = {
 };
 lilyglyphs = {
   revision = 56473;
+  shortdesc = "Access lilypond fragments and glyphs, in LaTeX";
   sha512.run = "2616757691d289e859fb2bc161c2a5b5312bb1cd824aa15854520e004a639e597f42515756b3cad383e4e33b3057a1579ff5c2ea7c39d8f9bf9d36e9c9b58b70";
   sha512.doc = "4d9ac765c6a4b2b736d08569eeb6d0d8b168fe96563526264f2485d3d27a944a3e81c6144cd8f1d8cb5162d425b436fc688172db18b09610b3088df4ce868a27";
   sha512.source = "e0a1db8b5c4e57374ea19a7f8da3f4a89a2947869eba3f57411a9e815d645f4cb4200832276e3d3c869e2b3a8e3018e8e0f20f942f2396395b7739d7e9b23951";
@@ -28095,6 +30372,7 @@ lilyglyphs.binfiles = [
 ];
 limap = {
   revision = 44863;
+  shortdesc = "Typeset maps and blocks according to the Information Mapping(r) method";
   stripPrefix = 0;
   sha512.run = "eae51f72a65d407b091244ed926ec98a7bf02ed8c360fcea2d614011555195992d315bb22b3697c8220f8e91f34a1c2f88092f34697dc9ac42f757e066198650";
   sha512.doc = "748504c008704d2aa1c763920c03c72372c89368e245fbf4172b442b6e9efe11b3754f37c37a864ab19301c8822aa31f0d25f80edbe26405c043aab8a0382739";
@@ -28105,6 +30383,7 @@ limap = {
 };
 limecv = {
   revision = 61199;
+  shortdesc = "A (Xe/Lua)LaTeX document class for curriculum vitae";
   stripPrefix = 0;
   sha512.run = "14c7bb278113e8d8ec249e18fe7a142f5216984468a51a2c64926b2dea6e79d928310600cee498cb3773b0ae70e97199b4800a8c5df94431df121ccf62955b5a";
   sha512.doc = "7e64c4a940dfb321da2c81ae84e709e1601068935f2531c8e6fdf514b5cbca6407485005f60e4f410a303b97557986f1962dfad976a3c3914d01309c67ae8049";
@@ -28115,6 +30394,7 @@ limecv = {
 };
 lineara = {
   revision = 63169;
+  shortdesc = "Linear A script fonts";
   stripPrefix = 0;
   fontMaps = [
     "Map linearA.map"
@@ -28127,6 +30407,7 @@ lineara = {
 };
 linebreaker = {
   revision = 66639;
+  shortdesc = "Prevent overflow boxes with LuaLaTeX";
   stripPrefix = 0;
   sha512.run = "282c1687acd1843f43d281804ef4860967c069b38c415cb015c0694ddc9d78e03a5f3456a8331d3aec341d856474fe95a2f4fd92b786c2834d65cfaaf4b9198b";
   sha512.doc = "d39b7d5ec0712e3e26ef76f9e1177f6de5413dce21b143e791d79c8980be640c785448fdc8fffe48fa5ebdd9d2d594518b73e8db21cb16cb99a8d9377ce8f9ba";
@@ -28136,6 +30417,7 @@ linebreaker = {
 };
 linegoal = {
   revision = 21523;
+  shortdesc = "A \"dimen\" that returns the space left on the line";
   stripPrefix = 0;
   sha512.run = "87a062513ff7674f315472cc46e13fbce99057c3b7083a2b9c93b92f09d538af29f5d1e3664dd5273080b9037ac232dc0d7491753b83136d2d3558ada1b81976";
   sha512.doc = "9c61ec4fa6bc63a57f7b272c7dfc55035e8e4f14225bbd2763157915fd351a2bb4f179150801f06682fd9bd59f756edbb127e7bd68592ffee5c1cfbac91b10a6";
@@ -28146,6 +30428,7 @@ linegoal = {
 };
 lineno = {
   revision = 67171;
+  shortdesc = "Line numbers on paragraphs";
   stripPrefix = 0;
   sha512.run = "7171da9917c0218a0c55c43126ecfe07b9e55e9633b673c89ae18f08897bb1634cc8412cc3051ebf6640afc228e246f1e5549ddea45261a6ddee01d158f3b9e6";
   sha512.doc = "ab4aacda9d0f4a9a2aefdf37b23067ad27eaf40500fd92f7a4c619f9c012a40ac0c69fae32c425d6c12d2b89e6d6c2ad9585fd75b2af8447c9f7d333473add73";
@@ -28155,6 +30438,7 @@ lineno = {
 };
 ling-macros = {
   revision = 42268;
+  shortdesc = "Macros for typesetting formal linguistics";
   stripPrefix = 0;
   sha512.run = "686dbb33df2670af909a80863943a8870ecef128679ab679f3d90d1747042b752c9aea15660c962b0f02418233d4d152e64357d5b57884a2fc2371acb3d90a52";
   sha512.doc = "fe424a7db4be743168c4b1016fc25c95d33cf9d66767b39db0e79a5ba1bb667c76b9b5f10b23a08449362a3fef281d60f0b53e2b0f196846efe9f4765f3f08c6";
@@ -28163,6 +30447,7 @@ ling-macros = {
 };
 linguex = {
   revision = 30815;
+  shortdesc = "Format linguists' examples";
   stripPrefix = 0;
   sha512.run = "36fab316a894029feba86bf771d4e600b3e7f5d766deb9d844605979b066483500c8fa0a425718d22e9a2bc14d74aada16ca8deb7ee744a81e18fee8c77a7b50";
   sha512.doc = "7a5d84d5425031d341deea8f37f1d8a9f6eaee820ef66661e8e38eafad2b20a5e9b04b81b1a0db0b11ab70fb0adc9c81cef886978626008eba6aa3c32bc0c848";
@@ -28172,6 +30457,7 @@ linguex = {
 };
 linguisticspro = {
   revision = 64858;
+  shortdesc = "LinguisticsPro fonts with LaTeX support";
   stripPrefix = 0;
   fontMaps = [
     "Map LinguisticsPro.map"
@@ -28183,6 +30469,7 @@ linguisticspro = {
 };
 linop = {
   revision = 41304;
+  shortdesc = "Typeset linear operators as they appear in quantum theory or linear algebra";
   stripPrefix = 0;
   sha512.run = "ba0c5e053399c44203d6eff42252854a16ccbf12132ee6e26fa577587554234b36ed31a63f1a6c40059e0aab8d9367a5b6aa6f34d552d64866b46e68478c36b4";
   sha512.doc = "e63f09e370a53dadc92591d105c677f2a5eea4cbcbc4e3133448df64b10abf2eae1d76cdeed5e288f610be13eb4baf8f248a6e9df92ab79066078ee165b9fdc8";
@@ -28192,6 +30479,7 @@ linop = {
 };
 lion-msc = {
   revision = 55415;
+  shortdesc = "LaTeX class for B.Sc. and M.Sc. reports at Leiden Institute of Physics (LION)";
   stripPrefix = 0;
   sha512.run = "8eed5de445edcd936654a9d7ef8e227d43b479f39279025115fd8586cb7fa107dbacd8c7272e868eb11de0e320740fb8dc5c1fd26327fc6e8394c8924ff37cf0";
   sha512.doc = "87d5b7e8fec95c857f6c45aeeab3cd6eb70e9b7a237eea3b5a4deb8e92ec8ddd5a381c88ae4919bc1841df15a4b93a569a996ed032cf2b0b7a5bb088c779e873";
@@ -28201,6 +30489,7 @@ lion-msc = {
 };
 lipsum = {
   revision = 60561;
+  shortdesc = "Easy access to the Lorem Ipsum and other dummy texts";
   stripPrefix = 0;
   sha512.run = "24697be378aa490bf71194c8622400c11e27d5c6549caf2362250017ac97b4443986a4ad5f8d2d96aa53cfd7bcf5cd7ada0e1ddbbbfd27135e2a23bbad21563a";
   sha512.doc = "ce44b2d4acab295bdcb2d0edcefedea449c4dae7cc4c0d62ef73e36169b0858863003bec1575000bfb78b1ecd9e5413807a89bc464b5d173f05a43313c7a22de";
@@ -28211,6 +30500,7 @@ lipsum = {
 };
 lisp-on-tex = {
   revision = 38722;
+  shortdesc = "Execute LISP code in a LaTeX document";
   stripPrefix = 0;
   sha512.run = "67817d9894ac5bc8d456ce2b114eba81b0c444bf53422c4acb5066b42cd5cd55d73c46fb2b443db9fe3b13bebb58d6fd7f2bb31686dc4ac2295447285295c602";
   sha512.doc = "fb3a8ef4ada38d910b3055f408059daf700946c84b17873846175e6cd3075ad7f3889d2af154adc3a7898ac33646251bdbe0d8cda17ccf354dee526a96476432";
@@ -28220,6 +30510,7 @@ lisp-on-tex = {
 };
 listbib = {
   revision = 29349;
+  shortdesc = "Lists contents of BibTeX files";
   sha512.run = "e71bda783acbb8ab6ccab3d8af535034caf0eea919bbd175685fe50585970b87613e0df5ed076967aca395cd8c7f1317e805fb1cf765897b03d6cc131d3d98b8";
   sha512.doc = "0ec0970f591fd3a840c27730d41f0b817f631727c9c7219880b45209c21fe0d3aa616eb6eb94bc7016a9acabfe9c50846d872d3b36a104e1f4eb74dd003a16d3";
   sha512.source = "441b13ec75d91c68b8e7253a5dc9a6e515c5bb0df81a4784dd414b1956be6f2c9189051ae9090a04bd4d11919945a38ad6563f41c27d1b8d03ad283f71c9a19d";
@@ -28232,6 +30523,7 @@ listbib.binfiles = [
 ];
 listing = {
   revision = 17373;
+  shortdesc = "Produce formatted program listings";
   stripPrefix = 0;
   sha512.run = "154a9eb9da19d4a1d9f6ed421bc13f1f83279cd456b95ab8b7d84f9c48d6aae5548b7357e46041580d4b457758aa090e6352aca9d9e20f1739dc589d4fa24bdd";
   sha512.doc = "11ef594d55ee823dab2a88ad5882e1ea89d7741f1038d3782ac43fa43cce948c1ed72096ddd11d1efbcc3b43ac9bc4dd23713f725aa71807ea174548d9a5c968";
@@ -28241,6 +30533,7 @@ listing = {
 };
 listings = {
   revision = 70052;
+  shortdesc = "Typeset source code listings using LaTeX";
   stripPrefix = 0;
   sha512.run = "233399d89e14afdf7c8f8856e61e3d5bd81781a795087447b7332353a3a71b5c9514c39bea39a851fccadce2234e0fb9af537dfa10fc4be2c25051261f7c67de";
   sha512.doc = "7fe88b4098e5edb4a7e548688e3b12f66714e6cafd35492e816385563039ed81e03b25406a9aa1dd231cf89d2b4616cc838ee352ad1468a756ee00aa291c297c";
@@ -28251,6 +30544,7 @@ listings = {
 };
 listings-ext = {
   revision = 29349;
+  shortdesc = "Automated input of source";
   sha512.run = "c68752d0e7a1ffb7d08f153bf337849164d0287f20ff8f092635ad7083b2e5a6c487bcd9dff913dd029f4ea92750768d23583eed53a0c2d3bf012e4db059708c";
   sha512.doc = "82491f81dfc89950d085f7cc41dabdf7b895b23c8a69f80c1b4f4c420fe8f036ac181b56e3ab60496910d0f1165ce19b2f94c5e268dc1d59e352ab6747e3bee5";
   sha512.source = "fab34f07d6384a5474f3ac30e2e00a75398418668134ac1041cabded6209c9521244e1637e4037e7346bc70b3247ebcd90526d5e34fc3c4e388fa978382bf228";
@@ -28263,6 +30557,7 @@ listings-ext.binfiles = [
 ];
 listingsutf8 = {
   revision = 53097;
+  shortdesc = "Allow UTF-8 in listings input";
   stripPrefix = 0;
   sha512.run = "846cc046ced340cafd98f009a55e891bfa6bd5715c94c0dbd5b124599c8e3aed1f248f56592795184fa040285001b0d967dfb26b0fb764bdfadcc2eabe8c3122";
   sha512.doc = "fd15657a8c7e8af4d21721f64ee0c2a77606d965698fdfeb581116f3b13dbf95bf774b77f019bef4cdb4565cd1957cf040818b1d9f78425eecfccc48ab6c5e28";
@@ -28273,6 +30568,7 @@ listingsutf8 = {
 };
 listlbls = {
   revision = 67215;
+  shortdesc = "Creates a list of all labels used throughout a document";
   stripPrefix = 0;
   sha512.run = "bb0391bd671c306bb34abc336f74e203141fb0b2ae131dc36820e24716ddb5b7a1bfe9650baa5ba4cb4078e6f9d097a9a464aba1022b36f76c3257e25e583979";
   sha512.doc = "773bb3996ee16ca65ef8a91e42e6d1641d42ae50de7fbe4b8324ad9e70d326d0fbca85e245d48bfea137a65f33ffc6e81add6208d239992012ac1851ca12d4a8";
@@ -28283,6 +30579,7 @@ listlbls = {
 };
 listliketab = {
   revision = 15878;
+  shortdesc = "Typeset lists as tables";
   stripPrefix = 0;
   sha512.run = "0aead2b70e314639aeb98c199d051fb0701570df0263f452bb2e65408678d437c7eb071c41d8674971e42a0961da30754696a58eaaa41dc32d33ded58a833153";
   sha512.doc = "70ceddb9c59981319ec33fba05c663ecaf549b5dab56f29fa07f9c314d97d999c762ee1efff0d20b5e35b39e89b031458fdde4c5c708e0a1c2dbfdf17d710c2e";
@@ -28292,6 +30589,7 @@ listliketab = {
 };
 listofitems = {
   revision = 70583;
+  shortdesc = "Grab items in lists using user-specified sep char";
   stripPrefix = 0;
   sha512.run = "d6262c85d8df67b4e85e8d80caf776f723dbf68f71e604c012965ddb1469c2cc3d965f84fe26ef245b6788de4c5e9e5b6f2b97938a0b1c5c67ce8661877a2295";
   sha512.doc = "a1a5cfc935658cd452b08ec422b6530a2d7fa49685b226a27760976ae652fcc0e7c6a239050d2a70aa34b0933b5e5c14c072b6ef7ec294182c274412d830703f";
@@ -28301,6 +30599,7 @@ listofitems = {
 };
 listofsymbols = {
   revision = 16134;
+  shortdesc = "Create and manipulate lists of symbols";
   stripPrefix = 0;
   sha512.run = "dd32fbcd59fa9ec599b0a06672d2e810b5b8172a96a4170cad03a93be3da21a02a036967d0e7e3a617bad6535aca2b1a34a114c383b5ed1aca22bc45239266d2";
   sha512.doc = "ff8bb87ee326f0b0df175eb41d634d67cf2f1ecb76f1f8dacf2e19d061e54c4f5cf8e01c7e8c41087ca6b69a04f5a3184ee8ee39f00758d3df2f24a4b2e372d3";
@@ -28311,6 +30610,7 @@ listofsymbols = {
 };
 litebook = {
   revision = 70583;
+  shortdesc = "A fresh cover and chapter design for books";
   stripPrefix = 0;
   sha512.run = "46946e4546edce653f21a71689352b8a582f76bd61fa91da3178ac09860a878b38a3fbf72d6a57f6bd94120fe5ded01b598e6516d5f8a2acaabaf6b2ebde4680";
   sha512.doc = "4b91e32193a2fce61dfd96feffc2f7cf5211982d7676c37ed44e32cd03665bce80911f636eecfa6039263875e81f1cf5135b06faae57134d88372156b5576abb";
@@ -28320,6 +30620,7 @@ litebook = {
 };
 litesolution = {
   revision = 70608;
+  shortdesc = "A template providing a light design for solutions of test papers";
   stripPrefix = 0;
   sha512.run = "15a900b8789ed60364c2c8880522963484d9397f0774c1b945b109c0e320ff191e600e0db7878186444707582bf1411db18145c6ce2545f141be9491ff9335f2";
   sha512.doc = "fe0ff414190a8d2c9bd9752df294007f4681360bdc07cd23547d519e0f7db0972900a2420bb761e28ca54e0a49eeda1d7cb1a2f20f3d3c6eb0cb3e5b09da9938";
@@ -28329,6 +30630,7 @@ litesolution = {
 };
 litetable = {
   revision = 70355;
+  shortdesc = "Class schedules with colorful course blocks";
   stripPrefix = 0;
   sha512.run = "a77145b829bfb5ff6d943f11e687f54ccb3abb3784ce9e3bdf145bb66e5c808a46a802eaec1f6932a2917683d64df41cb44b8ec90499a8e93928b46913d099bf";
   sha512.doc = "b4080e8d6243b8e6353f12b090c481cc63fafa7c1c20596467dec79340a8fc1060431f9576d9742c901e45cc1d7285686356bd64cf0d274a7a8bc2c0de8162f6";
@@ -28338,6 +30640,7 @@ litetable = {
 };
 lithuanian = {
   revision = 66461;
+  shortdesc = "Lithuanian language support";
   stripPrefix = 0;
   fontMaps = [
     "Map l7x-urwvn.map"
@@ -28349,6 +30652,7 @@ lithuanian = {
 };
 liturg = {
   revision = 15878;
+  shortdesc = "Support for typesetting Catholic liturgical texts";
   stripPrefix = 0;
   sha512.run = "e97da4e9046fbd60ac2b22bc3753db7a75b5b6aeeb6c37293c5dd1e4e8fffd18b32818b9038b816a405033ff74d9c19ec2443b0169721656af687f1c5d62cf9d";
   sha512.doc = "6b342e85917d5a70dc32461de01ae3c6ac66ca247b4ba3d812b7645f1cd1d961c914e584cabf743bb03ea74cac144ec05b03cc09d0c23cf7bbf4b8ce7d01937c";
@@ -28359,6 +30663,7 @@ liturg = {
 };
 lkproof = {
   revision = 20021;
+  shortdesc = "LK Proof figure macros";
   stripPrefix = 0;
   sha512.run = "58c211cf1ed20b36e69ceffc8568fc1cbdb51cb812af79d16a64cbe8a8e7e672a2d49e672501b2cb23ef72c4a04c59017e17e538061159c8b9e797624f8334ca";
   sha512.doc = "01c3f1b50147c73294dabf83d79811862d4742f5a76f69ff6f6a1d5a2b0a8462e3728ba6e4d6fea57d3703c638f6cf04568948d45d4ec8d1dfe59571ff2933b6";
@@ -28368,6 +30673,7 @@ lkproof = {
 };
 llncs = {
   revision = 69629;
+  shortdesc = "Document class and bibliography style for Lecture Notes in Computer Science (LNCS)";
   stripPrefix = 0;
   sha512.run = "0c50b5bbb2a6c72d61fdac915b1918b76323b715f71ffe42e1575d21f5c3e39fdf0b802c3d139d07894b4ec351a779dfdab53834dff83e09cc20de07736bb031";
   sha512.doc = "be33f338c2243da8c20677c485be4de3a9287b953137e00a5f1b7b04fa9a9c452cd32b5b5adac55626ab84c36d065c958ac505f4a63da32c25cd26ab5f69f2a5";
@@ -28377,6 +30683,7 @@ llncs = {
 };
 llncsconf = {
   revision = 63136;
+  shortdesc = "LaTeX package extending Springer's llncs class";
   stripPrefix = 0;
   sha512.run = "ded1d0ad62120e6665653575e6641a9bacb1fdd18b168f7c4389e2d8bbca6afa8cf15bbb7cf087f2ba502f85bb492dfd5d79862e03d909227666af7d8860d47f";
   sha512.doc = "1fc61aab273b9ba1ffaa95cc2716f36d61bc5d7d7c03a2470e3dff5fbee20dda933e4a38e5b39a7e165f68408f993de693ba5547b673e9faa9e5115358c9bfb6";
@@ -28386,6 +30693,7 @@ llncsconf = {
 };
 lm = {
   revision = 67718;
+  shortdesc = "Latin modern fonts in outline formats";
   stripPrefix = 0;
   fontMaps = [
     "Map lm.map"
@@ -28398,6 +30706,7 @@ lm = {
 };
 lm-math = {
   revision = 67718;
+  shortdesc = "OpenType maths fonts for Latin Modern";
   stripPrefix = 0;
   sha512.run = "2fad475b347824d564525de51ed5bd1cc7ab2fc27fd826a00e86ebabd7d85afce2f7a4c85d9620c9b66d14ea0c813a269a13843a0b27eb7d0ca3e294114aad26";
   sha512.doc = "fb1800349628229dd522d4dffa182ffd2bc9411803f5b349c88f4046d81117d050a3b681e3021a514a6ada5bc49b648b8dda8b553f9294f6d4fc317db0cd5990";
@@ -28407,6 +30716,7 @@ lm-math = {
 };
 lmake = {
   revision = 25552;
+  shortdesc = "Process lists to do repetitive actions";
   stripPrefix = 0;
   sha512.run = "3613e9d53808b2d1e326175c28acb672c1f244b2e00ea1d544e1e05c73e2a93e49b5e8b187a8a73e87ffbb00c22235781983a2c0a733a6ae5598db12c278a763";
   sha512.doc = "08fa487d9151ea6a49a73044d1f6b41ed0c636a69e04a2c9f04bce996f915e9d267383a6fc374f3292c01244981fdebf6d9fc462ee0fc151ded2601e4554593b";
@@ -28417,6 +30727,7 @@ lmake = {
 };
 lni = {
   revision = 69361;
+  shortdesc = "Official class for the \"Lecture Notes in Informatics\"";
   stripPrefix = 0;
   sha512.run = "5b091deac5f045af63d4351abfe70e28343ee46fa9e9c62d2cec409b0453b1c391a07abb743be24c8d01f8e5063964574ee684beb7b91126da55fc8e0663a831";
   sha512.doc = "da89225db988132af56a8f6be0330e5ea761d1a8da1237c966c3b30f91c776e7e2c118e8aacc843c23f58d3f514c5e0cc6c2d06a689c886be90f8d309215095a";
@@ -28427,6 +30738,7 @@ lni = {
 };
 lobster2 = {
   revision = 64442;
+  shortdesc = "Lobster Two fonts, with support for all LaTeX engines";
   stripPrefix = 0;
   fontMaps = [
     "Map LobsterTwo.map"
@@ -28438,6 +30750,7 @@ lobster2 = {
 };
 locality = {
   revision = 20422;
+  shortdesc = "Various macros for keeping things local";
   stripPrefix = 0;
   sha512.run = "c7fde4ad74b339d340a046a4f59ff73da45942631c6b68275d365c18ee80b213d18b84540b8ee535f012aa18ef559e88b1df3fcff4560d241ee1147695824a2e";
   sha512.doc = "5b7fde689fc764dc75930522416cfeb51ec30eec64080b289c085be4b00a0da1c5d6d79d2734502ca8a329bc2935216a8b298495e0ad1ac8331c6d3a5718bb5f";
@@ -28448,6 +30761,7 @@ locality = {
 };
 localloc = {
   revision = 56496;
+  shortdesc = "Macros for localizing TeX register allocations";
   stripPrefix = 0;
   sha512.run = "abd3aaa28d6c90182990890ebc8aa0ab1d71833549e9a1ed9a09d7fc2db01cad45efb231cb8d3b09a849c948a6f7ba309954d38152af88fa8cd3e38cc857fe68";
   sha512.doc = "40fa07b0d5a5fe0603a087ce9440dd6d95ab188b83b4adf847d7145f9e1f1cc8e2d8ef49c7ee206e341db26afd885308ef349ea5a8c2b826ba6664c347c7d8c5";
@@ -28457,6 +30771,7 @@ localloc = {
 };
 logbox = {
   revision = 24499;
+  shortdesc = "e-TeX showbox facilities for exploration purposes";
   stripPrefix = 0;
   sha512.run = "0c6f9d401c81344465d6eaa6eb6e655443c4af1622bfb6751db508638e2625aba7b5e77780fbb6453eee40b8a7ddba84d70ceca8882049779db61f83e7a15aee";
   sha512.doc = "21f379c88638ee8499e7e47abb0850822a08d520aabb352e0f85ed0c38950aa71b4f9b3d430c31193de5640a915d0c84dc28fba71443d3f2e461a2dac53e2b9a";
@@ -28467,14 +30782,16 @@ logbox = {
 };
 logical-markup-utils = {
   revision = 15878;
+  shortdesc = "Packages for language-dependent inline quotes and dashes";
   stripPrefix = 0;
   sha512.run = "87f7fc345935804705ab25ab010376fb72bc4722c75bb115b0c9dd0e0a51fc8bdd6dd4051b76dd083ec07d80b8c59c5d18423da55e0430db7a9f94ad0bd45906";
   sha512.doc = "80c44068a6e474071e40a0bf3dc67f0201b21eb84a041fad8423c59c9e34ce138833c54ead638979357dc3026eea55da034daa05e71a56ecabe701ebf53faf24";
   hasRunfiles = true;
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
 };
 logicproof = {
   revision = 33254;
+  shortdesc = "Box proofs for propositional and predicate logic";
   stripPrefix = 0;
   sha512.run = "d5b15ee5f35a9ef94618f8b092e97ccc4f1959a617c2e604b99ba56eef14c4a1a078d66f2c77d02239289e30878293ea6c9ff4134bd003331fc41fd3db19cec5";
   sha512.doc = "bf8a33c5db05a30cb4f520fa2f73f572a90c3803c4b6dc1709f9e2c80f67e32e7665ce898852dedcd3daa8974bf909034d06f805ce473318f0f512645ceaf9da";
@@ -28484,6 +30801,7 @@ logicproof = {
 };
 logicpuzzle = {
   revision = 34491;
+  shortdesc = "Typeset (grid-based) logic puzzles";
   stripPrefix = 0;
   sha512.run = "2c642c7aa6d6f12e51228432f8bd9fab906ff4dd3354a49f636582a065bff0f534222161ce11306ff6bf3e354a9ca6f6394cf9826b321ac94e9ef5ee8c0621ff";
   sha512.doc = "872a72ed13f7dcb43df3bd2f2b7bd504e3e430030115faadf0a130d2fd94331a335c4853e37c78e4b8aa7c59a44bfd87ad2a484b1b836c2a7526b97ef26ddd56";
@@ -28493,6 +30811,7 @@ logicpuzzle = {
 };
 logix = {
   revision = 63688;
+  shortdesc = "Supplement to the Unicode math symbols";
   stripPrefix = 0;
   sha512.run = "29a2701ae91a5d7fec49e564b90b8a7e31374d2218680f4fa0c65c9df6dadae78c6599977e88cbf293fe2435d8b7403f41748abfb1cd5f9b00e94c76ff43e139";
   sha512.doc = "7b655c727fdb2775a0d980bc54198d1b2c262842fb278f94caa764204022f8da4bdfef8e40a8560359e6fef23e28aa97da4c08a44c80140ed337010d47173eed";
@@ -28502,6 +30821,7 @@ logix = {
 };
 logoetalab = {
   revision = 68916;
+  shortdesc = "Insert Licence Etalab 2.0 logo";
   stripPrefix = 0;
   sha512.run = "1b3f01a1acc23b17e30185b3bf2b4e965d047bffc7d87649a40e52e4fc9de36518e82335055c66f221cf10b7c6a1cfdf9f51641f5ea945aa0f7d7efd76780fac";
   sha512.doc = "93e17e5c624aa8a6f826294fc33de8a66731020696525821f4e14a5bfe0f3033cb6ae21abef41d408e627a6ca8d6e12ddfc7aa30d02152e6aadef3fb88fe92ce";
@@ -28511,6 +30831,7 @@ logoetalab = {
 };
 logpap = {
   revision = 15878;
+  shortdesc = "Generate logarithmic graph paper with LaTeX";
   stripPrefix = 0;
   sha512.run = "159876dc23e96f65fbb29278e30baa497489331fcf52ebda2adcb19098c2519044ce54ee590c3d91f80bf27b6df0a49aff455da54748c3e04c7e81c2be108e4b";
   sha512.doc = "f85a52b9d95247ce5eb537cc677aff184a434a41fa9c3433955b43eec3e3cf2deaa701718fe77dd3b3cfad5811c5275a097d980e157130705ad5cd3f14276dff";
@@ -28521,6 +30842,7 @@ logpap = {
 };
 logreq = {
   revision = 53003;
+  shortdesc = "Support for automation of the LaTeX workflow";
   stripPrefix = 0;
   deps = [
     "etoolbox"
@@ -28533,6 +30855,7 @@ logreq = {
 };
 lollipop = {
   revision = 69742;
+  shortdesc = "TeX made easy";
   deps = [
     "cm"
     "hyphen-base"
@@ -28549,7 +30872,7 @@ lollipop = {
   sha512.run = "03a780145d4e761f3d494ccc54117e2f92f1c32b8f35a88a77b3145442b040c195b2bae10aaf39557530e548961230c7550e25ea77472a8b0e272f0e72609a8c";
   sha512.doc = "3ee627e18491a48c58132b85cc1079b2a2f857b9453cdda113bedd7c9393f04e15c6215e6cbae99fe3d4c24a297d230a687e3bb7aeb67cc45ef105051838c6dd";
   hasRunfiles = true;
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
   version = "1.07";
 };
 lollipop.binfiles = [
@@ -28557,6 +30880,7 @@ lollipop.binfiles = [
 ];
 longdivision = {
   revision = 68609;
+  shortdesc = "Typesets long division";
   stripPrefix = 0;
   sha512.run = "2f1f1e6a6b93266a1c6e1c3fbc33e4f9719b6ed06390d2e277e811f429f0b71c3e3133e2e406b837c109672b725bab29534a8e9c9b380128cba6901d5082c53b";
   sha512.doc = "8314b4fd0802dc541d640a706b0bdc3b10f909365372ad9432c49e533f95103643c1171038b7f346b9f92688d27338e81fd5c803070d99f10a61adf690ee6389";
@@ -28566,6 +30890,7 @@ longdivision = {
 };
 longfbox = {
   revision = 39028;
+  shortdesc = "Draw framed boxes with standard CSS attributes that can break over multiple pages";
   stripPrefix = 0;
   sha512.run = "43164941fd7ad91fa304aee01c3d34ec1faf8672549ae3b2711bdd4c91ae57ecbdcd8b29080d6c96cc64a73f7d7fd74c8621a70604a29dc1474f3c922c34a4c7";
   sha512.doc = "fb319a679631e56122535b99a187d3c2ad5400d4a1f00275b73420c43f98e8b421a4b86f77b868c68edb39870132117de3310a00bde82f6387559c6adf34a8a7";
@@ -28575,6 +30900,7 @@ longfbox = {
 };
 longfigure = {
   revision = 34302;
+  shortdesc = "Provides a figure-like environment that break over pages";
   stripPrefix = 0;
   sha512.run = "984f10c8a2196b490dbffb015f2aa6449e8db6475c2f02dd71c92d5a3f6cb5dccb98a4c4f923f6efd3bbb1056aa8e64f324e3d8a051c11879677addaed8d3f06";
   sha512.doc = "1f949e3ada113710f40b6d2960bb01ffffd3f9d26a65fd0482644da2a20c5375454c430e1c7d3b74cf872cbe486ccab9a4e71567592da5d39ad9e72102c382db";
@@ -28585,6 +30911,7 @@ longfigure = {
 };
 longnamefilelist = {
   revision = 27889;
+  shortdesc = "Tidy \listfiles with long file names";
   stripPrefix = 0;
   sha512.run = "1d16ee9c76784c5124de3abe62b6e916d0f65e979a18a721ef688a960e5d20382dc976de0b68d95c47e9651ad71a67ca97a828f1bdfba8e4a77ac084d7561386";
   sha512.doc = "d909908d763342790b8ab56d333e60d7047894472f3922a2554581a5455539845af72d3867d0a55f5a27e982aa8128ae1a948f40e106fa127f2d01156b55ccf6";
@@ -28595,6 +30922,7 @@ longnamefilelist = {
 };
 loops = {
   revision = 30704;
+  shortdesc = "General looping macros for use with LaTeX";
   stripPrefix = 0;
   sha512.run = "60ee6999e43ba9082c5a283dac5a930c9075b24f6bc7cd3f719b0336b01dfcb17fb2d5e3c82b9f1636c9bb3e6c923607a3d9237d08fbaf17bbfc1196d0a75281";
   sha512.doc = "9d70b3ae88d64bf2710157db88113224a95947aa03f11a2eb659c61109a451e2a93b2aa5ffd6ce9cf2f1b5fc8e0ef815850a0a9f27c7ec5ddbfbff1fe98ecaa4";
@@ -28604,6 +30932,7 @@ loops = {
 };
 lparse = {
   revision = 65693;
+  shortdesc = "A Lua module for parsing key-value options";
   stripPrefix = 0;
   sha512.run = "a5f16ff6e4b9ad5ba247205952a1a2b6ec26ea3f307e7e61527b8c9aad860b0d3cffa4166a4fcde56b2d54f3ae1f22bb33bb892c90f896015b0fa4cfc73a13f7";
   sha512.doc = "0c08dc7cf19169e33ad0c4695dbc2a5ba6f16bb328879d2ab9ffe3cfedccaf65499ec0865783947a7db873b20f573e4443368d39d5ad7ef959b3f24770ec9c72";
@@ -28613,6 +30942,7 @@ lparse = {
 };
 lpform = {
   revision = 36918;
+  shortdesc = "Typesetting linear programming formulations and sets of equations";
   stripPrefix = 0;
   sha512.run = "91d5748629ad72ca421834ffc61c13f71240bbcaedf9f0e4279bc6aa0bbdc817f093c24cf5a9c50d5a4a132208969bd356642fc5704ebd5c4ef2b7eef23f27ac";
   sha512.doc = "92ddf3b473e13fe8b77ad955d55acbe7a6da34381bfaac78184342a900f2c9bb1e0981d5ebdb440cf0f44affe2eb0dd862f9b51d2a40c9abd90f1dbe81584c9d";
@@ -28621,6 +30951,7 @@ lpform = {
 };
 lpic = {
   revision = 20843;
+  shortdesc = "Put LaTeX material over included graphics";
   stripPrefix = 0;
   sha512.run = "d918fdc8744a9f5e0d24f6ba4f19bbc4cbd9a5ba4b3c559ab1321c36a9e3599ccf6ee849bd7f2ef6c3156cec6e526a44d27bc033b7dc5b217e289fdbff0bf149";
   sha512.doc = "307109b75129099c191a65a7632ad0cbc903cb2b621b199dcceb7cab5ab5ddeff7ee504d7da3afd653e1aac04236efb6a3c1225f9e533a777295052bcc28d2ba";
@@ -28630,6 +30961,7 @@ lpic = {
 };
 lplfitch = {
   revision = 31077;
+  shortdesc = "Fitch-style natural deduction proofs";
   stripPrefix = 0;
   sha512.run = "189b9d6000d4b762a3c64652bb05f9465d5c789b7e2413e8f0ca281a8d4729a3044aa955ad7eb82c7b8513bd547bb76c2ad2b609e902b07f8f4f018698e17071";
   sha512.doc = "a690ee2c1f9cf5eb36693a4a9385c047a31d29387930211bf6384d7cbedb3d1f1696c0c04269b02ef29b13ebccc69bbc329772f3fee209a1b1d51768484f9a50";
@@ -28640,6 +30972,7 @@ lplfitch = {
 };
 lps = {
   revision = 21322;
+  shortdesc = "Class for \"Logic and Philosophy of Science\"";
   stripPrefix = 0;
   sha512.run = "8bc59b5d8874fca88bfe62822f2050f5dee0461523d853a1c92a051e854ddd6a8b2ce235a674bda383f26ad01d6e18a83cac87db2ea73b4af7e22e74ff823d0e";
   sha512.doc = "a8ad542b5d2c28a9a02b5e4d4a43a13e2f3469512cf7264eb7ed78e2c5a29228531de3be7e84e557e3cc8a9ad60e59ca426da3d5e034dae6b40088ee99d2fd94";
@@ -28650,6 +30983,7 @@ lps = {
 };
 lroundrect = {
   revision = 39804;
+  shortdesc = "LaTeX macros for utilizing the roundrect MetaPost routines";
   stripPrefix = 0;
   sha512.run = "6e4968db6d4593fb0ad66c58b7977b77cfc5ad29a8ae8648bfa0f7844d71a809e0b381acfa4563cb1795177374963ddc10e8fad8a62c1523ea82288c7bd02087";
   sha512.doc = "12e6bccf3875f4045558df6e274a13f60fb7845a998de2e8a722168cbef2d9003224f02e379bcf0752770542aed15ec1d1e680a54e347763b554535ffc2e1042";
@@ -28660,6 +30994,7 @@ lroundrect = {
 };
 lsc = {
   revision = 15878;
+  shortdesc = "Typesetting Live Sequence Charts";
   stripPrefix = 0;
   sha512.run = "f61d81a49c25972e03120cbf6557d356d6df6937af6e0443e47305312485217b6bb5c0818adf248fb860ec5d42c07fc22fdc0c54f9dd1f3bdcb12486350316da";
   sha512.doc = "5d0550421ee0657c378cc1ad8159e16e43644f533e3d8a013d917c494bbb8d11cba79b99fcaa7bdcf8ef5f5deb88d144ed64d75a5682fe4c4187c60c634297f5";
@@ -28668,6 +31003,7 @@ lsc = {
 };
 lshort-bulgarian = {
   revision = 15878;
+  shortdesc = "Bulgarian translation of the \"Short Introduction to LaTeX2e\"";
   stripPrefix = 0;
   sha512.run = "b528c16903ca8ed5ce69f5e2397dff8f05b13016384bc1304980cad71d86bbb55004d41db92dc29dd412a12b9a0a1b1ea99afcbea621a25bb20da4639d008776";
   sha512.doc = "7cd22cad45d7ef2972679cf2a3653c3bbcb1d9bcfe94a65fb9dac23760de05b659470ca45cf8be13513924fa1cbb98599a304a51bc18f8f4d6631f082e662bc4";
@@ -28675,6 +31011,7 @@ lshort-bulgarian = {
 };
 lshort-chinese = {
   revision = 67025;
+  shortdesc = "Introduction to LaTeX, in Chinese";
   stripPrefix = 0;
   sha512.run = "6d6ac34f79c3d5447c1bbd7f2c87071a92867bd770fd023bc4d6fb48500d27f1b1a8706a727b0d0a7b47eaa9a639c6b5a691b7d21a5e178eb79131cb4bd75b6c";
   sha512.doc = "c220f086c2e0c9bd52ba3ee1eddd2afcb0aaed1c4fc4b9ebf854ce57b4720df7ab3c5475f3164cf740b3020c14c5682e1798e43c8ad9e39eba596a24b04644d3";
@@ -28683,6 +31020,7 @@ lshort-chinese = {
 };
 lshort-czech = {
   revision = 55643;
+  shortdesc = "Czech translation of the \"Short Introduction to LaTeX2e\"";
   stripPrefix = 0;
   sha512.run = "dc967aae970e535c5dea48264c30f01d5ff3521851abd718905b78497c3d95d403c4f1ec8633cd2a7a55fe0a6bc1e1523391b214fbb8a0e2ed03737b09080e40";
   sha512.doc = "10de238b8152907ec04834d6b4737cebb13bd6567c9867e19e2003d123299c733012569cd64a66d31a79894f9b37c1fc409cd5b76ed10832762988fc318875e5";
@@ -28691,6 +31029,7 @@ lshort-czech = {
 };
 lshort-dutch = {
   revision = 15878;
+  shortdesc = "Introduction to LaTeX in Dutch";
   stripPrefix = 0;
   sha512.run = "c8635db5888817d392706b8b65aa5158a4973cf236dad7fe31a9545857daab15a6c1f2f82ab06e71e50a4af94824b17ac89c394a759721e192966a1f78433d47";
   sha512.doc = "29fc8b6a2645f241e8af437de3a295be8d56a088bd7c7666c35b14f104f242e68ecef2757d62a393400d9f337eb685e48ebac06769259c723d634312a7288ab9";
@@ -28699,22 +31038,25 @@ lshort-dutch = {
 };
 lshort-english = {
   revision = 58309;
+  shortdesc = "A (Not So) Short Introduction to LaTeX2e";
   stripPrefix = 0;
   sha512.run = "73e7cebb51b9ae5ce2c6ddfd191a1d7e5358e5a1bfc61ff8d921cf0928e2cde839f232dae6cb0d9dd1b05df907c8c56c3f72a4d89917a6930762a46e1b1aa286";
   sha512.doc = "ab6dccb0110d7033a36d743b9f8132ec5ab4a0b4b334ab7800dd68f9e65bdc7de6c5e766fba6a7a3596d3fd8d6a3a16299344fcbfd67585f1fbe5e519876d7ba";
-  license = [ "gpl2" ];
+  license = [ "gpl2Only" ];
   version = "6.4";
 };
 lshort-estonian = {
   revision = 39323;
+  shortdesc = "Estonian introduction to LaTeX";
   stripPrefix = 0;
   sha512.run = "6bd3c07c1e5f9d543b0f67a5585cc33252567cc346a8d7feca050baf8ab437be97e73d2c4b4b159102e9c4772f8cce2abcbc25486d73e976b83a3d2f4b9e9487";
   sha512.doc = "e16397fac3e6cefa699b412ada1851c7792520da8af1230274fa1a337b890629b68f71d94b3894044f28e687c6aa60d766377e12232d0e522e82e18dc97428e3";
-  license = [ "gpl2" ];
+  license = [ "gpl2Only" ];
   version = "5.05";
 };
 lshort-finnish = {
   revision = 15878;
+  shortdesc = "Finnish introduction to LaTeX";
   stripPrefix = 0;
   sha512.run = "997db393d16942e78e4f52eef886ac7b14cba7ec3fd0c88f8c2cc74fb6b35f3802c58c51ac0112cc2b086f9c3b965b5f8d508ea81a36edb7da1ce84ef83cd203";
   sha512.doc = "71c2e5c4d49a779f529a527cda5fcc6e55cfa0149fc2d9272ae7e69aecf2a8a361b057bcfdf5deaa7791073bc6252c3101f5ce0b8d231c779e99c34910a3343f";
@@ -28722,6 +31064,7 @@ lshort-finnish = {
 };
 lshort-french = {
   revision = 23332;
+  shortdesc = "Short introduction to LaTeX, French translation";
   stripPrefix = 0;
   sha512.run = "1b2ab00e9e69eb058afd96c1ed099b8c783bb97bb52411cc907afcc82d43167ad6e2023a95671e90d059ee43ae335dae3401cc0d1b53c19c186992756aad5060";
   sha512.doc = "2974f067584486528adf42a13cad28afd205f2f52680e89e8de33c4c0debdccb2d0d9d8259d6e2adaa5f86af0b9451232450d40ffacd9f63c43af2519cd8a06a";
@@ -28730,6 +31073,7 @@ lshort-french = {
 };
 lshort-german = {
   revision = 55643;
+  shortdesc = "German version of A Short Introduction to LaTeX2e: LaTeX2e-Kurzbeschreibung";
   stripPrefix = 0;
   sha512.run = "c937bb8da86a3ef6d428d134903bf8af74a286d644bedfe4766841b2b5234b34e2caed70460ecaf7a1b1dc57f1faf1396435cca7f714f84d75f15acea12e79f8";
   sha512.doc = "69cebdd6a1444670a154d5cdd199022f6f1d6612b24b05fc8dc1e9f54a89fb65cda1f545341cd37616dbf6dd94077ccb924bf4b49f1473e45eb0bcd33f5f33a6";
@@ -28738,6 +31082,7 @@ lshort-german = {
 };
 lshort-italian = {
   revision = 57038;
+  shortdesc = "Introduction to LaTeX in Italian";
   stripPrefix = 0;
   sha512.run = "05435f3a1af4c589267f1841e9af267fc12e2a3fe5b3ea2c586fd352f4a1184f1fc4be408780ff6db1b9212e1e4d1bb7263e3b35e7be9358e97e1712e9abcd6a";
   sha512.doc = "6caa8b7d2795779ef010c0ef9ac387c73b15715929557a6227e0a8112f4d99717ad82fdcdf8d1fe18ad5ea9b502ed559bd7b44f73381475034b481eeb6ab1c9a";
@@ -28746,6 +31091,7 @@ lshort-italian = {
 };
 lshort-japanese = {
   revision = 36207;
+  shortdesc = "Japanese version of A Short Introduction to LaTeX2e";
   stripPrefix = 0;
   sha512.run = "25de64f37ca5811ce39c8efc3e895c1deea317c8dd02ac3e091a41ff11ab7a4730a0e476d323d8375c41fd60401cf441c2c15d614a090092d66413701500d43c";
   sha512.doc = "83292d42fa21614a055420eeb372ae5cf21a9a15b999e0b39f1063f63ee7fe53f77ce771a8aa649e860827214138fbd435161cb3dc4b3fdf2b75775979d904cd";
@@ -28753,6 +31099,7 @@ lshort-japanese = {
 };
 lshort-korean = {
   revision = 58468;
+  shortdesc = "Korean introduction to LaTeX";
   stripPrefix = 0;
   sha512.run = "3050ad46874a78c36d8bf247c00e2369c18e122ec89a36b0423df290ba8e06e9c5dbd1d9bba5485e370cd73dc500a6d2415b3d8f6de0eabb3932b9ae5515fb8c";
   sha512.doc = "6789054257f176828b341fe9ad258b1f7100d2fc880aab68244842317b45cea872ee49031ad2c1d376011772fb39d2ef05a700f962279f5ce3a286270b77ee1d";
@@ -28760,6 +31107,7 @@ lshort-korean = {
 };
 lshort-mongol = {
   revision = 15878;
+  shortdesc = "Short introduction to LaTeX, in Mongolian";
   stripPrefix = 0;
   sha512.run = "464b6638ca4bf859ff178238625ecdb7016598fc98c476d3e4b2a24e2f34e6096edef5864ab325ab4df21bcf309a8467deda80b385b624685b38b538a0d40b8d";
   sha512.doc = "cb60632992b187e5cc80973b9e9848675b464b075b13356db171c1a7613c94dd9bf8ea53df47e0c36c910772316f4c43857c8e638819d8ece7c1ce1790fc9d29";
@@ -28768,6 +31116,7 @@ lshort-mongol = {
 };
 lshort-persian = {
   revision = 31296;
+  shortdesc = "Persian (Farsi) introduction to LaTeX";
   stripPrefix = 0;
   sha512.run = "6430462b11786fe3703e78efc9f1486da78db15601ae31e72a95d516d10a098c8b4c5dc9079490e652c57369698d3b4fe4d75b32c44ddd2a470aa5cbc79ab492";
   sha512.doc = "9e7c43f3df8299db4bfad3c0b270c5b54a1448370e6782d095dd9a9b82ccc186aae98da86b2efe71c34031a5f4a07f54f4640de6d8b6fad913252979d440ccd1";
@@ -28776,6 +31125,7 @@ lshort-persian = {
 };
 lshort-polish = {
   revision = 63289;
+  shortdesc = "Introduction to LaTeX in Polish";
   stripPrefix = 0;
   sha512.run = "c61289a35103ecfab025169d432be2b3c7f2fd4ff1eb094b345feae6c9a30bd2cee70e0402eb6c2ea330254cf00d04c02649a40d6bd011f9cc612521c88b94a6";
   sha512.doc = "abc5162a490b9646649dfdf50779ab12632eb3ddc6d1c2bae93a4bb00ef1f9387bc8d873a7b5c062b92a999c9d62b74e64b1688dd3582255f7386958649ee009";
@@ -28784,6 +31134,7 @@ lshort-polish = {
 };
 lshort-portuguese = {
   revision = 55643;
+  shortdesc = "Introduction to LaTeX in Portuguese";
   stripPrefix = 0;
   sha512.run = "70031c79e7124b9c839571fa95d8b141035a0d8f79665f1e79df8a3154b81f0a7f8b7d371cd00cfec11c141165ca5e1fb0e1cbbc4d0de8c52cc5e0b77c885f5d";
   sha512.doc = "19c55e5547d83fbce705121dbb09fe329c23cd42c1cedb812cc282bb447f9cc51ce0861e61a984e2863103a2bccaa6a4c7ffe8bd2913637930e42747c6947b02";
@@ -28792,6 +31143,7 @@ lshort-portuguese = {
 };
 lshort-russian = {
   revision = 55643;
+  shortdesc = "Russian introduction to LaTeX";
   stripPrefix = 0;
   sha512.run = "d6641dc4f19c740898dccc357aa1004860952d0a2add37c6c37fe69ac222dd8396e506ff6a00ef98f77d8cdcea2287c96258214159f08d8b63184eb014ececc3";
   sha512.doc = "b991cb5fc833446ab36c82beefa82afa026eda6b1084d99e6c4525687b82bf7c2f64f9cea38d244065cecf1b12a00331d4e70716880c5bf2509add05257accac";
@@ -28799,6 +31151,7 @@ lshort-russian = {
 };
 lshort-slovak = {
   revision = 15878;
+  shortdesc = "Slovak introduction to LaTeX";
   stripPrefix = 0;
   sha512.run = "bf3821d0846701c2e45d89578625f517567d401d613f5aa7aaa4cdfdf8c4c4f87abec22d6fccac21b274afdba9c29c21a6918fabef77f4cca506071341b7cdbe";
   sha512.doc = "8ee79c17e5ccc9dbb9f833b4f8927b22e7ce368f49f4d016fb936d2a5ec964791d9473b679a037d704efb269dc6caa1344168927a90a8e859527c64b0410996b";
@@ -28806,6 +31159,7 @@ lshort-slovak = {
 };
 lshort-slovenian = {
   revision = 68204;
+  shortdesc = "Slovenian translation of lshort";
   stripPrefix = 0;
   sha512.run = "b053e42404063ed3275363c361ec85de69dd92281070f0c88afc860cf2ac07b3fef1a98598ceff52308e36c9f2b5e6c406df591481533b80fb0258ae20f32ca4";
   sha512.doc = "851951cd5822f257ecd23d73901d833ba6067d3860002a4dd4449f23d5e7a50fa97ed579f5cbab8bc9494801055ef8f23f6f3249d9f6843a28f7da1b4f15409b";
@@ -28814,6 +31168,7 @@ lshort-slovenian = {
 };
 lshort-spanish = {
   revision = 35050;
+  shortdesc = "Short introduction to LaTeX, Spanish translation";
   stripPrefix = 0;
   sha512.run = "127fc2d598f16d38b075b4a9668ded064537f7056aae34bdde22f89aa8d301d77cca818976e22aa036f47867929d30cc47e02ed3f724ea26279ecba723e5baf4";
   sha512.doc = "f968352fe1e32a918c1d5ebfce16d3975c436539349af22b32bfae1ab06061ac2b2b85feaed3e8a28da89956f4d5948e7d1a6426766144b0c0ebec72ecfe99cb";
@@ -28822,6 +31177,7 @@ lshort-spanish = {
 };
 lshort-thai = {
   revision = 55643;
+  shortdesc = "Introduction to LaTeX in Thai";
   stripPrefix = 0;
   sha512.run = "e81deefb7fa47e336a6b9fc363fa75c35576fa40de1771fff207dff22106b33d185c267d76a3897f2188d2dbdf9d2b93a1caddcdae38eb770cd7c5d6f1ccdbb2";
   sha512.doc = "fc805e2749305cff0164ccd8d0b043d26731fd6f39e19c0023c87e4812f8509b923d4c1a97594563394dd7bbbe4a99d3b25aa37366f6e5bfb3cc1c2aa21c0606";
@@ -28830,6 +31186,7 @@ lshort-thai = {
 };
 lshort-turkish = {
   revision = 15878;
+  shortdesc = "Turkish introduction to LaTeX";
   stripPrefix = 0;
   sha512.run = "769036083d282ab95c5f1fed08d669dd4fb1d2dd7937e5a4e2fad54e20cf56ce3d5100b7aa612cc59dca50b6ff67fbbd5bbe05c085b6121654f873fcb991609c";
   sha512.doc = "3aad40a5de5eee9e59064b15fe3e9c6a2585146fc21fdaf4683bfcba6786366c4ff1b3c38b6932426f53a6a9211809d4173f688f0878cbf2011d8982e3732834";
@@ -28838,6 +31195,7 @@ lshort-turkish = {
 };
 lshort-ukr = {
   revision = 55643;
+  shortdesc = "Ukrainian version of the LaTeX introduction";
   stripPrefix = 0;
   sha512.run = "82600643c91120d732d50dcc6e14a4b4b4c471bf6c0031890487215d952cbb9675210f11fc40b039aff529bef90282d432966ef9547fc7d0272f85c02a288f4c";
   sha512.doc = "f707d0491bb6a246243035d1cad265787ec4aeb7cbcc73e3500295dc67bf3a3a06b316f9f82d559502b7f108ab636b90fd01c3d1b0ee5f13fa3418910557c8b3";
@@ -28846,6 +31204,7 @@ lshort-ukr = {
 };
 lshort-vietnamese = {
   revision = 55643;
+  shortdesc = "Vietnamese version of the LaTeX introduction";
   stripPrefix = 0;
   sha512.run = "6192e85537e184137189771d2180f1760db5930ad5a8c3dc8788ab5ca502a92b433224b1cc1afcc4e2a493fd17d4e4c43edbc84e4893ecf0770bd07579444eb7";
   sha512.doc = "a0bad6d83fbc288ac1f39bee6bf1cfb3267a47852a0860f56b8251b67b2dbcd526d203c20b91f7adbe42034481255e5e3128b525e49f8cb341f18d9fc2407e14";
@@ -28854,6 +31213,7 @@ lshort-vietnamese = {
 };
 lstaddons = {
   revision = 64967;
+  shortdesc = "Add-on packages for listings: autogobble and line background";
   stripPrefix = 0;
   sha512.run = "ad18d38c13dd5076a9213d8a6723b069dd75e546919f106be54a26cd63c3a4186fefdc463e52cd926e85c8020460cde516d12e900c51448440bdc165d4312f19";
   sha512.doc = "38a3b1cdea124cf0cf0951fdcec168b6baa33cec75924687b0a49c1c9713cda847ace0b8bb01ba60fb8945ec2ff421678cd501fa6f5a446ce2ccdd15b2ac34d5";
@@ -28864,6 +31224,7 @@ lstaddons = {
 };
 lstbayes = {
   revision = 48160;
+  shortdesc = "Listings language driver for Bayesian modeling languages";
   stripPrefix = 0;
   sha512.run = "8089546f54a849fdd2b8cd1bb2430927a03249f1acb72bd9d37e9ce42770be2413c6ba8186a45eda8f52a3ba2f34e01e6073ed7acce5883d9407e4ccd86cc12e";
   sha512.doc = "9e256d20493164eb1ed01bb6f7dc7f555d9617492fe14688c0852b85e27c1f8f7f1978b1352ea3294bea41f77ce505c6a5bf2910514240e62ce19c47c8da0ee6";
@@ -28873,6 +31234,7 @@ lstbayes = {
 };
 lstfiracode = {
   revision = 49503;
+  shortdesc = "Use Fira Code font for listings";
   stripPrefix = 0;
   sha512.run = "d2752c177194f4926191245f6397ca1ad613e66708e245b29ed6719bfb7438cbbde8dc69a639bdaf7a4447d7737909a5dfdb465a0f0b446c0d30900b7d279c6c";
   sha512.doc = "ab396312abc4174267184dc2d5f4dd61e4510d3b70bcf1b6b84685cbe2e5941d6325d4abeb1d08f85cef62adc953d4a59ebc5d99fe9d7c643f7d25c3d36bfde7";
@@ -28882,6 +31244,7 @@ lstfiracode = {
 };
 lt3graph = {
   revision = 45913;
+  shortdesc = "Provide a graph datastructure for experimental LaTeX3";
   stripPrefix = 0;
   sha512.run = "9a3137a56952d18f41337f3ea1412180d6a0d7732178fe4855d23647d01648ddefd57859f786534c5bf39cb622da11e113a028135429ca38e6ea3bcfde41b5ca";
   sha512.doc = "efa314f54f3d7444931f4b7410c406fc89c35fc318882683cc97cd479faae00d3aeb58be06c9b174e59bbcc2bae57ff712983ba0c216a270441490866646fcfa";
@@ -28891,6 +31254,7 @@ lt3graph = {
 };
 lt3luabridge = {
   revision = 69867;
+  shortdesc = "Execute Lua code in any TeX engine that exposes the shell";
   stripPrefix = 0;
   sha512.run = "132009434c830ebc5d78978cd1258861c86d53529cd0cfd30e26ed0516767b6dfd7f4a8f9252610394a87a1e42e011499c4f7bcbc7bf6748c9b4ca9eb09b2168";
   sha512.doc = "ff386128898be97c5388c4a3265d7c22c83def095d37aa0c27c167cba95d2e176da519878d53d60b0c7ed60a8b8fe8b5aa987c583dbe87138c54a0533eaeae69";
@@ -28901,6 +31265,7 @@ lt3luabridge = {
 };
 lt3rawobjects = {
   revision = 66619;
+  shortdesc = "Objects and proxies in LaTeX3";
   stripPrefix = 0;
   sha512.run = "05b70d22b56925542bd3f2ce832b1ed71759cf41f8ccce3d892c5bc6e17fb8ebfe8843a82d0aab6b6e88f38e84819b25bd18344683d182fdcfebcf81a47d27fd";
   sha512.doc = "3aacb576ebf0233692b81daa231ae8a93b392d07a261011e41dd4eac34e295f288f9fe7ca1abc208534393bec1e290362b32ce0906d4c97fe56a598c49e6f135";
@@ -28911,6 +31276,7 @@ lt3rawobjects = {
 };
 ltablex = {
   revision = 34923;
+  shortdesc = "Table package extensions";
   stripPrefix = 0;
   sha512.run = "5a64bd2904338fc45d6150c6be6497d56cf2e190c41018527a59ef075db41f94378f8981d4b92e211f60f2d641408144c546f2de0bbe4a8e94b0a3cadf4311a8";
   sha512.doc = "c3ab3559880077f63523c84cfc5cf363cf9f1d2c4d8aa9cb173b4a2dd07e5afbbdc9b1ea1b29cb50b64c68d65f4470dd9c1656703e0a1ac8955b72b87e33e804";
@@ -28920,6 +31286,7 @@ ltablex = {
 };
 ltabptch = {
   revision = 17533;
+  shortdesc = "Bug fix for longtable";
   stripPrefix = 0;
   sha512.run = "15c839c34935ee27b0b741325a13cbe6ec2f918b007ddd691029ce341173d12ca0e5cdef3a0111c3148257babf686815c5f81c92b6019cbbb022608535f17283";
   sha512.doc = "d85ff06112e540d5bd3cac2bc6100d7d922e44d3388d247e521119ee4145716ef52889515b640e85c8a21405a35fbf63b168af09253e772e826572b0560305ac";
@@ -28929,6 +31296,7 @@ ltabptch = {
 };
 ltb2bib = {
   revision = 43746;
+  shortdesc = "Converts amsrefs' .ltb bibliographical databases to BibTeX format";
   stripPrefix = 0;
   sha512.run = "42e634e7c3018b87825e2bae40513eeb757520e1dba1b1b20244bee2d0fadc4663cbfa0dfdf74fa71f7821f47c41bb7c873a64cc68e153f9b7207f6a8bf3f8a9";
   sha512.doc = "c26b018043c14022acc64bfaff6377988b5e40d09ac10916479079550bdbcfa5219df13988327679e7647c4a679490645376ed23be0601dc4df0528d45725325";
@@ -28939,6 +31307,7 @@ ltb2bib = {
 };
 ltxcmds = {
   revision = 69032;
+  shortdesc = "Some LaTeX kernel commands for general use";
   stripPrefix = 0;
   sha512.run = "9d9a9835f4547200b160b42c07e918fb8b2cdf9eba91c30647c6fb1c74cb6f9ba60ab40bed63514ecbf334d527148b31fb1ec90af60075d19e28d10d675ded68";
   sha512.doc = "21be07f4f98531621f90b7ed23c06fa4b39fafa12a83c45784b83b5f9728817657b5c2ac2c09e4988ce0c6df0918a7c93d29d7ab89159cca5ce5fc9e0eb017dd";
@@ -28949,6 +31318,7 @@ ltxcmds = {
 };
 ltxdockit = {
   revision = 21869;
+  shortdesc = "Documentation support";
   stripPrefix = 0;
   sha512.run = "1144bd68bec92b4ac9ec8763e2e7df7c6018cd8b88c7ed2f02e7597c3bc13608a562551d80fab2a41b8aa9881848fa1b3501da7ae9c39edaae3720875ff65bd8";
   sha512.doc = "a47852f464e8c31d9a2926e55d62c090292337acad6398568c7082012899045ce32163b798b25ac090e7fbd6ebec95f17a83ee1fdfe5f1f33d0b423dbeed94a1";
@@ -28958,6 +31328,7 @@ ltxdockit = {
 };
 ltxfileinfo = {
   revision = 38663;
+  shortdesc = "Print version information for a LaTeX file";
   sha512.run = "ca078af6b822747e9b337eb5694c1b019444e55f5f9f9dbdf59fa1a65c9445b19a62b0d610514c9231365017d3ea95ad9288a37b62b400c12df74c0c7f774a44";
   sha512.doc = "0020ffc5874e0545c7ae4d1f6f9c0d5d598786444f4e98369e0c5fc872c5d63f235222594a9b0f5d2def5c3dcafc5ad660a4fd5a9e4551dd7717bc6ac06189d5";
   hasRunfiles = true;
@@ -28969,6 +31340,7 @@ ltxfileinfo.binfiles = [
 ];
 ltxguidex = {
   revision = 50992;
+  shortdesc = "An extended ltxguide class";
   stripPrefix = 0;
   sha512.run = "bb808c7fc1d3fdc7a4d065822a5ff67113bd9fa47a60762b5674040c52149cad14ecd2d0612216b15bcb9684e65e9b51312f83f14030e66de37ee30dabbad434";
   sha512.doc = "534e51a54903e1bbc783b5120015178c48a1a9ff3b06b2121bc9f79c95b7fdc1bc64c374af27a357a44c67df45bb70699d788c150c625d7d949acdce5b109a3a";
@@ -28978,6 +31350,7 @@ ltxguidex = {
 };
 ltximg = {
   revision = 59335;
+  shortdesc = "Extract LaTeX environments into separate image files";
   sha512.run = "0c91f46da529823a96ef441ec88d6d3c077a8bd5997bc291f55012e0d227cc24f00081f846ae127a364cba26498a74f2769d401e6d5fe0057afdb2a76a875f4a";
   sha512.doc = "05f9639a0224c779276a3b7f19450c93e255c70680fd54292e1ad41b3c89aa15dc187d58a73475ed9a8f7279faa0f3a0ec15042e75a52c70d78416ec46255b44";
   hasManpages = true;
@@ -28990,6 +31363,7 @@ ltximg.binfiles = [
 ];
 ltxkeys = {
   revision = 28332;
+  shortdesc = "A robust key parser for LaTeX";
   stripPrefix = 0;
   sha512.run = "f99008a8d6d18697d095721dfd741ed2dc48f6edad09b15d39ce2c37f05e6f9c9d613a4ca7ba7fce8755f9dc5659e21f7e7961a7e38dbe17b7114c2337103d8f";
   sha512.doc = "ab28eae4955de3e5a23be1d718fd1e23384ec0e4a8c4b86348bd83ff501ec2e51a3981c60babd478bca0c115ba524367f77f3cabd3f733b82a9fe4cc5fc06878";
@@ -28999,6 +31373,7 @@ ltxkeys = {
 };
 ltxmisc = {
   revision = 21927;
+  shortdesc = "Miscellaneous LaTeX packages, etc";
   stripPrefix = 0;
   sha512.run = "3433a283f52c41f198b944eaf58a961751e7fd3c0991960a2516fd72af61671e776f48c6a5e241e379b54a08af6fba732ab1c35e42b8c93a62937b5a38cdb767";
   hasRunfiles = true;
@@ -29006,6 +31381,7 @@ ltxmisc = {
 };
 ltxnew = {
   revision = 21586;
+  shortdesc = "A simple means of creating commands";
   stripPrefix = 0;
   sha512.run = "7dda3fd3638ddf528adda0430cbd32cd8fe410a743b7af5bf76e651ee98b10f2481723665a19fda2f2b468ca5c4a838144cbd6e9c457f50362f7b0e83106de26";
   sha512.doc = "91e07169ac377570382b9bc7044c0d66b61268fca38e2fcff4d7075322dbed0d3151976848c93b5d0a2088676e67f3a79d2a555829f170ca61a37b7c40fbdf66";
@@ -29016,6 +31392,7 @@ ltxnew = {
 };
 ltxtools = {
   revision = 24897;
+  shortdesc = "A collection of LaTeX API macros";
   stripPrefix = 0;
   sha512.run = "aed74d79bd9da7f7303cd14db5c2a74aab51de03e87a84986b294019a971eb68a445cace8af2394631fc4ec6963ad32347c47a80612f70a7427adeb689d3cf36";
   sha512.doc = "e0a8b28f512a15fec379aeb3350c0611a77652531a66ee5a39010400fe5d1416c40bf6bd89d4e967851b09ad5d11b1d83ead675a0a722255a0e941980d74d1d5";
@@ -29025,6 +31402,7 @@ ltxtools = {
 };
 lua-alt-getopt = {
   revision = 56414;
+  shortdesc = "Process application arguments the same way as getopt_long";
   stripPrefix = 0;
   sha512.run = "60ad4731ac61f9b5c4360bb3d0c6475e2abd358418e20bed29cc94761fdfb97fcf02829b9785e559ca6052a1e82ee7f0b104b166592b9fd87237679ac3caa2e6";
   sha512.doc = "5921a3fd6846b15b0564b9182fdaa5aa62ee6897f3ea55eefbfd07f30f556633668755ee6e356dac23c9b61fd7ecf4013da8f87ebe151a2bd855c36d45f60434";
@@ -29034,6 +31412,7 @@ lua-alt-getopt = {
 };
 lua-check-hyphen = {
   revision = 47527;
+  shortdesc = "Mark hyphenations in a document, for checking";
   stripPrefix = 0;
   sha512.run = "89cd0a13578d386bbf584f3c74c6c3ee1a45a7c0bf40480e5396f86b2af29b26abe3ab8aac69be0f1fe23cceb6da33237ea38384854fdfc7be6939832a8cad08";
   sha512.doc = "cd756e0356b36ccd26d1d78c67026f5a27272ac383bdfc6f44ddb630f58d067c05fb9152f1ed9793d71a63af6607107b8d4b5af311563e2c3d966079b2d3e0c1";
@@ -29043,6 +31422,7 @@ lua-check-hyphen = {
 };
 lua-physical = {
   revision = 59138;
+  shortdesc = "Functions and objects for the computation of physical quantities";
   stripPrefix = 0;
   sha512.run = "b28768f63c2b34930a073139be3e6e90a0086a561bdcdb6aa6c8111db4e6def819c0a3a6af2b5b274d009d3c9b390c6da91416189718a67a4e1efd7eb547c500";
   sha512.doc = "52e764b0492aeb423d8c267f43436821a239e9ad019e43f7fcb881fbec31f9a56b690d792f15f954cec91ba7e3d32f70cb567994a82f3030870b44d0490fb593";
@@ -29052,6 +31432,7 @@ lua-physical = {
 };
 lua-placeholders = {
   revision = 70055;
+  shortdesc = "Specifying placeholders for demonstration purposes";
   stripPrefix = 0;
   sha512.run = "480d898d4c0e03776fbbb45243cf813a1a7d87b041b70566d74a1b89601602b8b3890f6d0395bead0cc6e9a876f5e154883035e1318ed0781302c2aabdc4a1b7";
   sha512.doc = "13fd2c68dbe7f3672dd6e4d560db81f4b1583cad137ff6b38b82f73ec4e8d20c5b1ca87d10d05b9566805a4f06aa97725d0aa12d5838e4ca146890c824eb57d6";
@@ -29061,6 +31442,7 @@ lua-placeholders = {
 };
 lua-tinyyaml = {
   revision = 66776;
+  shortdesc = "A tiny YAML (subset) parser for pure Lua";
   stripPrefix = 0;
   sha512.run = "3144093c160dd1bbfcef7c0d56a3ff2a6354ed2c5ad30a4201706dea66fb8cb19b4be71087c078c4e36d163e6a785827c378303bfd700c086a7ea6b9d7eb2135";
   sha512.doc = "1b0932800ff6fbad87c2a87e68e433d46de5a0c2543c8fb0c7b7b6f60749db98d9863ad4debdcd508bf1a613d32c8a8fa5d7e23f177517e4f7735f2c3b63c616";
@@ -29070,6 +31452,7 @@ lua-tinyyaml = {
 };
 lua-typo = {
   revision = 69403;
+  shortdesc = "Highlighting typographical flaws with LuaLaTeX";
   stripPrefix = 0;
   sha512.run = "177b89a930ed061d18e25bafc230b402976e25ebc88d09a0a42c70b5848fdf5b7964fa69160c3456a02f207dce39363c9fbf603c928cd50b373be6ba8a2c8ab3";
   sha512.doc = "60a9e3560c35583377d4629ee4885ad5e8bf52773927c9d3e2b06a2385196303df704bbcc6245a2e0fc93c396b4a6252309180af270d9bd13fada543c9f3b7b1";
@@ -29080,6 +31463,7 @@ lua-typo = {
 };
 lua-uca = {
   revision = 61023;
+  shortdesc = "Unicode Collation Algorithm library for Lua";
   stripPrefix = 0;
   sha512.run = "e6c703b5576c7d66372a3989618609f2fe4a2b41de78c624e15bd0905744559b2adb3f70536b9680f83897a3997a492a558e285818d38b63ee7e99798bf376c0";
   sha512.doc = "a842063786a53c558bcd4bead5b6affbe9e448618d421435f49722e0a55087c28b36bc9d6bbcb874c3c794a9f5b303c62429b4386801e03f78e2f60c83cb1d1d";
@@ -29090,6 +31474,7 @@ lua-uca = {
 };
 lua-ul = {
   revision = 70206;
+  shortdesc = "Underlining for LuaLaTeX";
   stripPrefix = 0;
   sha512.run = "158abe2f05bc7e00e6b7876023a0763e4a4f4178b5816fc4c5509342cb0b5db0a96fe16083b10f9150e1a7f089a64ade43fe1059a5c970b484d6b0e58adc1691";
   sha512.doc = "3c5c4cac2c17c2eb31af2602b73d3be28928ce72e84b1b84fdb5165463d9f563b20a741a1934f9587e2235ba2f4755cee4767b32fb02b09631cc2afd6af622dc";
@@ -29100,6 +31485,7 @@ lua-ul = {
 };
 lua-uni-algos = {
   revision = 62204;
+  shortdesc = "Unicode algorithms for LuaTeX";
   stripPrefix = 0;
   sha512.run = "01307963a88c4507a7864272f321580898e107601fc3784ef46122dd3361f4a272285836e186df8a5454a9825c608071caf79976323e84102eae6f59296f3a9f";
   sha512.doc = "5f667cebc56682225d8a68668bf7e02545e6239b6fba3f8f6ab49bc34d50d537d39484b060d8239631bc4a0de42b63824af04e5e3cc33c528c0925de8419b5c5";
@@ -29109,6 +31495,7 @@ lua-uni-algos = {
 };
 lua-visual-debug = {
   revision = 65464;
+  shortdesc = "Visual debugging with LuaLaTeX";
   stripPrefix = 0;
   sha512.run = "4d75ff11873d88b0914545e2233b7f49e6caca18a73aa71b74844ff516e41399c99c1fbb7f3bfcf420bcdb91bdfd10e42f4e8f7bfee05af284cea78e25718343";
   sha512.doc = "99736a1b08c2eba032d749686d30df9384fec22ae65878162436105ff9edc4c781bee5d6407612edb53edad73cf38aa84c870c612663c5b8e2262b191c526f76";
@@ -29118,6 +31505,7 @@ lua-visual-debug = {
 };
 lua-widow-control = {
   revision = 70602;
+  shortdesc = "Automatically remove widows and orphans from any document";
   stripPrefix = 0;
   sha512.run = "1e489f819959a321b0baf60420dc25a217b0ed380067bc440307e500295b059f450c961072c001708affec4ad353477627095e71b75ff961f69c7d1f00fd8953";
   sha512.doc = "dc01e75eccbd0650ee0126348ba38c25fbe0a303a8317f7255c7f6efdeff66cc1603fa181bccf4371b0f4c56fa664d2ea99822914c1db9bf6e282f74c4c79f5d";
@@ -29128,6 +31516,7 @@ lua-widow-control = {
 };
 luaaddplot = {
   revision = 62842;
+  shortdesc = "An extension to pgfplots' \addplot macro";
   stripPrefix = 0;
   sha512.run = "8834dcf95f0cd2260423ef2a65599c0ebd948c67b61b97ebca8fefd36134d995630238b6ca01b5b9aa8b6fe50bd10b0cd49a350b3e2c3dfcfea00cac56a777eb";
   sha512.doc = "166ad5662521aaa4808ad1031ec922609f7a5049d9d219dbcb41ea4c7f777776794b34e356564cbf03628e6065e1eb4354366e3bc2c2bcae2b6e83344f6f810f";
@@ -29138,6 +31527,7 @@ luaaddplot = {
 };
 luabibentry = {
   revision = 55777;
+  shortdesc = "Repeat BibTeX entries in a LuaLaTeX document body";
   stripPrefix = 0;
   sha512.run = "ea46242da727c40f24fa232e1cd1db4bdaa7391aa372ae7dcb0210e2755fdfa2155de5c80a61b0c4554ab1c23a14bf286d00f07b34aef5edf416ac6b06f031ac";
   sha512.doc = "9b4954e294173699cef6ba965948bbc2518d42158c3f80cfa5bec17c5e58166240f8c8d3864f5dda94ae325aef688db7003138ccdf3d6eb249b544baa72ec13e";
@@ -29148,6 +31538,7 @@ luabibentry = {
 };
 luabidi = {
   revision = 68432;
+  shortdesc = "Bidi functions for LuaTeX";
   stripPrefix = 0;
   sha512.run = "10a304c8844ad7b8f5e1832d59e678599f503c1eda38e1a1e29438abf6304fc44d8d4235e1308d661fa0879494c1779b7110853305b645ff1d2d35cf575bf07f";
   sha512.doc = "8276f91aa767b9c066bf6271f57a929aa21c7ff19a49db5db2e4eb68bae7613a13473cc23b7f5e60232148b46ff33bb86366320d730ba67918e2b009e5f22463";
@@ -29157,6 +31548,7 @@ luabidi = {
 };
 luacas = {
   revision = 67247;
+  shortdesc = "A computer algebra system for users of LuaLaTeX";
   stripPrefix = 0;
   sha512.run = "21a488b33ef09db0e0fc2c479564cb15f1f2afb4c790ed8e64baa9b10ec1ad3a36486261218959f8c7951bc06d234f0516bed5d31201adc8d573c7490658764b";
   sha512.doc = "45f583d602c6afd13cd32d4049d4305d23ff8b47866a9d95b873e7533d3a46d2e357afda82819dedd450e95e3300aa34a4abfece9e0b90c22d6b2c3dc8cdc701";
@@ -29166,6 +31558,7 @@ luacas = {
 };
 luacensor = {
   revision = 62167;
+  shortdesc = "Securely redact sensitive information using Lua";
   stripPrefix = 0;
   sha512.run = "6dbcc3a2870106eb49955b6e67fd621019fcd759b9d68d37e86af9d4121231e50ecaab7abe7fdc7720021575b8f6a28f28c4a11edc72f6ea71f7cba2b76909c6";
   sha512.doc = "95cf6068dd5812806f3a7fb40349f8adab9099c453459789937c68d49e8238016575148254b436724b7764a0eee7caac2459b96ab214746d3c12ba1d268cef45";
@@ -29175,6 +31568,7 @@ luacensor = {
 };
 luacode = {
   revision = 25193;
+  shortdesc = "Helper for executing lua code from within TeX";
   stripPrefix = 0;
   sha512.run = "b107c9cf774608782c1ba1ce3ebea8d330ff9762046eaa9b9de112b704df1d0da1bd7e33b15e9d847f232b7594d53fb2678cdb78b23d87aaac73cc2517ac8e1e";
   sha512.doc = "622a2417490fb818d5021bb519ea7ac8d886df5002534c4d269268ca4d2119ccc15b029111edb42d04a546e7a46a60bc8eaa6a0a108e9231cc49fc2141ed8ec7";
@@ -29185,6 +31579,7 @@ luacode = {
 };
 luacolor = {
   revision = 67987;
+  shortdesc = "Color support based on LuaTeX's node attributes";
   stripPrefix = 0;
   sha512.run = "142376345f25de68236e56fd334d8f24af90f510abc0d2314049bb03142df76988cd5451e22cf98df4443348f7686bbf9c269e311d5036cf8ae621200ae585ba";
   sha512.doc = "d6654c3ac1ca1c18cc60cea463cc3b4b4ed902ba6c29521883079123b9906f089ed25e2268e7a1f92800d9b1158225b50c0b019ea28c68b846e73bcb350dee6a";
@@ -29195,6 +31590,7 @@ luacolor = {
 };
 luacomplex = {
   revision = 68883;
+  shortdesc = "Operations on complex numbers inside LaTeX documents using Lua";
   stripPrefix = 0;
   sha512.run = "dcbb87d1c5776f20aeebf0748d348ab748e98fdc95427404f252f55fd1df9dc607aace2f6b4bfa086016eec7c4bae295979773d3a70d20a9e32da47974911949";
   sha512.doc = "a892f4360b52ab22dcb282c5bd6e538af83836d40e7467453ad345e2d272363efdef83b29b76864dbccaba1ad3589f2a3a47d20415842f727212d3923191b052";
@@ -29204,6 +31600,7 @@ luacomplex = {
 };
 luafindfont = {
   revision = 67468;
+  shortdesc = "Search fonts in the LuaTeX font database";
   sha512.run = "0d02fd925b33616d3f23df0609ea6fc1595b830cff8a712f6f93414cf80b51b2b1dde2b29e71084aad89377084b606ee7eeebcc2b5e8342b74fab23d8c97aa82";
   sha512.doc = "fd16f72bba665cffaad3102d6573117300c7df4ea7b4a3104be3de7c26c9f127fccdb54e373cf47220df2652fd405c6dd3f956d2278ec9339e70ea390333af75";
   hasManpages = true;
@@ -29219,6 +31616,7 @@ luafindfont.binfiles = [
 ];
 luagcd = {
   revision = 68893;
+  shortdesc = "Computation of gcd of integers inside LaTeX using Lua";
   stripPrefix = 0;
   sha512.run = "d9b770680bc147b45c3bcd984f58335d4e4d53f97ffecf85eb1c017a1c61ef6ddc06ae3230740769e199dcf674aeb92b5ebc10cb29863bcc4f67caaf9a41d15d";
   sha512.doc = "98905c9e829d1d96a44b25236a1181d5b96b75ca8a05293b185b9f372067cbf35d3db2d0e3343aacfdf840981bcd2af19e089b4a1ca7ae79a7a52b70c6828862";
@@ -29228,6 +31626,7 @@ luagcd = {
 };
 luahbtex = {
   revision = 66186;
+  shortdesc = "LuaTeX with HarfBuzz library for glyph shaping";
   deps = [
     "cm"
     "etex"
@@ -29257,6 +31656,7 @@ luahbtex.binfiles = [
 ];
 luahttp = {
   revision = 67348;
+  shortdesc = "Compile-time internet-interactive PDF-documents using Lua and LuaTeX";
   stripPrefix = 0;
   sha512.run = "ec1ce2020efcfa3288c70d79756fd221a2cbcfc873b4f7f77d23bb18ce16764873c30a6d24a36dfd86af5ffbd8563c0c9e863cbeb78b8487725fac7f6c153bc9";
   sha512.doc = "cd4f2a818a31b8f9df2dd83590d8cbcb01cb6b06309a7a001711f990250d31232680ef2f10b252704eab611cc20c78cca51331db00f17eabad40ea88a8d2860c";
@@ -29266,6 +31666,7 @@ luahttp = {
 };
 luahyphenrules = {
   revision = 56200;
+  shortdesc = "Loading patterns in LuaLaTeX with language.dat";
   stripPrefix = 0;
   sha512.run = "01025f1aa9abf7fb0c06045e8bebba3572b1aad06bb6edafd916e721c8ecb295fc680bc4da968e4fb059173ed9ba8e8de72ed42923b458a8dc42de4424b6ef9c";
   sha512.doc = "1487269c78bdef7aa626bee1c339358aea03af7df17cf92d48e56a1530b5e4bb7a5dd56fd7e094512fc3c149343e35e9e1683ffcdb8634042f26e86083f3ca69";
@@ -29275,6 +31676,7 @@ luahyphenrules = {
 };
 luaimageembed = {
   revision = 50788;
+  shortdesc = "Embed images as base64-encoded strings";
   stripPrefix = 0;
   sha512.run = "c0ba8a3164f1a87cd12a5699e9caa23ff7a85debed9881798502436bbb594d48a2e15a135e3a18efb9f3d825af98303a46495148142c810e4601641fdf925654";
   sha512.doc = "188049c30c2c845d18e1a20af3d5ee009eab6064321b1f09aee4b77c3111317755e698e28876561440695c910cbfea6f67e41a5195a5f7b50d45831d7b78d76b";
@@ -29284,6 +31686,7 @@ luaimageembed = {
 };
 luaindex = {
   revision = 25882;
+  shortdesc = "Create index using LuaLaTeX";
   stripPrefix = 0;
   sha512.run = "baafe2dbcfcc07293ec04f775becef7b59a2349ed5c98333c5a4e680fb3f8561f8749a6abadc6901cfbeae1b6e9a47cca05e8ae76064372585b7d7f4978dc844";
   sha512.doc = "c90deae24da8584170bc2247d5f6ee22ba522c21d3d0e05a6ec2b9594645a022eed1fcf12c3ffbaa03ce0d92a16f75550dc7e0694920ef58b17bdacae02d6fc7";
@@ -29294,6 +31697,7 @@ luaindex = {
 };
 luainputenc = {
   revision = 20491;
+  shortdesc = "Replacing inputenc for use in LuaTeX";
   stripPrefix = 0;
   sha512.run = "bc3f05260800cc537436377c1f9fbcfc6a1a60a7fd892af23ab323171208b083c08c8bb2a5d299e4ce09468f66197d43f68717a57e649c50caf74b736cdb06db";
   sha512.doc = "7c6093b3fa622007aa7e6cc852076090e1bcc64e9b890d1ff0cf6ae552a21e930e791d32cdc2238a0f60c605c92a2192dad7e9d423a2d6e013582926957da58f";
@@ -29304,6 +31708,7 @@ luainputenc = {
 };
 luajittex = {
   revision = 66186;
+  shortdesc = "LuaTeX with just-in-time (jit) compiler, with and without HarfBuzz";
   deps = [
     "cm"
     "etex"
@@ -29343,6 +31748,7 @@ luajittex.binfiles = [
 ];
 luakeys = {
   revision = 65533;
+  shortdesc = "A Lua module for parsing key-value options";
   stripPrefix = 0;
   sha512.run = "618719877ab11bb672c319bcc078a625bc92b4d3a783eff8414f6c9597ec8ea3225822afbeb0d1bb04e8889cc3003f4a1ed8063e1ecca410ec6f0170fa55eb00";
   sha512.doc = "be88aac81b85730c0cd85ab76541b8af01ca85326a4449168062ff80690db7d90669dff794b3f5926f1344a0de03289958fd4d2cf0cd2eb4b593dd052577e01c";
@@ -29352,6 +31758,7 @@ luakeys = {
 };
 lualatex-doc-de = {
   revision = 30474;
+  shortdesc = "Guide to LuaLaTeX (German translation)";
   stripPrefix = 0;
   sha512.run = "c1bf1c7f367e5d15cb1a5ba0878a4f02dfe25772bed22b48f7376e8448569247233ee41ee8b58c156494d9cf0c0956dc23f4576f053cc349896247de0a96444b";
   sha512.doc = "b615887d8b543af1c125b6e9fb9c533f52816f8087075a8bd4e6ef752ff48f51169f5945ccb067228612cbdeb10dbeb298a090bdb93d201b9629b128b0c5a466";
@@ -29360,6 +31767,7 @@ lualatex-doc-de = {
 };
 lualatex-math = {
   revision = 61464;
+  shortdesc = "Fixes for mathematics-related LuaLaTeX issues";
   stripPrefix = 0;
   deps = [
     "etoolbox"
@@ -29374,6 +31782,7 @@ lualatex-math = {
 };
 lualatex-truncate = {
   revision = 67201;
+  shortdesc = "A wrapper for using the truncate package with LuaLaTeX";
   stripPrefix = 0;
   sha512.run = "e896a6e065b5dcc49c24f8492f640f5ebc06c4f1ac8bbb57e8f76768ec20b14a016f2f801a5c5c855d03f72808b5844011aef7ac377a38a388cd843120b4edc7";
   sha512.doc = "242cabec009e94adb1582874f959b10871531b433679c2f66ba9f82af02150d78b8acb8b486a182c5e41f2d0b7fee9a7294ab2d8977c9a6f0c021fde8678a4a8";
@@ -29384,16 +31793,18 @@ lualatex-truncate = {
 };
 lualibs = {
   revision = 67994;
+  shortdesc = "Additional Lua functions for LuaTeX macro programmers";
   stripPrefix = 0;
   sha512.run = "4387311fb78a29d63959114e401a2b97a8743a50c76a22163e0d14f15cd7b51a50f4be7a19232b32fa4152eac71c73fbeebcb8e38fee3bfc997aaea37bef78bf";
   sha512.doc = "a4c878209934b2b044688dc77b4b467ae4e106adfb5f728f398d7adaa279ba612883ae22f30e667a79a22d633a507b689525356ff24daf12c50bc84dfa798ca5";
   sha512.source = "98fb3af23ec41561f0ffb12461ec2977472f4182b49a37c0365c16bc3d52ce61c382e6ca172ef92638cc0496d5e3073e4c96b13acf390e783f1bf46d34226d2d";
   hasRunfiles = true;
-  license = [ "gpl2" ];
+  license = [ "gpl2Only" ];
   version = "2.76";
 };
 lualinalg = {
   revision = 68918;
+  shortdesc = "A linear algebra package for LuaLaTeX";
   stripPrefix = 0;
   sha512.run = "91c466d51adeee70e9504deb30a623c41d4fd6b461e76f4a6dba2529ffb3e879ac9bd706845b00354418d6a600b3c774029000b3495ebb4711b152e274b87d0a";
   sha512.doc = "21d4a285713b962e17ae2f83be803abb77813bb6fceb085787fba35f2a1956b88cb199e057c1f49d15ded68c3fa186a5af0dc5bb1ba99db07dc557c3a2da1a44";
@@ -29403,6 +31814,7 @@ lualinalg = {
 };
 luamathalign = {
   revision = 63226;
+  shortdesc = "More flexible alignment in amsmath environments";
   stripPrefix = 0;
   sha512.run = "61a2960d103cad9cd9776de0c08b8d2167f6272484da2a7ee067951f7bcbeaa683e046a053c1f4d35ab83c8d70fb96e9b7b55566852d2262162b90c1a63f0b80";
   sha512.doc = "96a1fd4016b189d31c966faeba0942d4b3bf24208ebc6c03281336af6d86504f552f0bb705a30e6ff108ff692de969900a229b061f7bc91c6cbae68fa42e8143";
@@ -29413,6 +31825,7 @@ luamathalign = {
 };
 luamaths = {
   revision = 68883;
+  shortdesc = "Provide standard mathematical operations inside LaTeX documents using Lua";
   stripPrefix = 0;
   sha512.run = "1c5a53bd44f062a4531bf4099c0dc1e76a47f5475901bac7f1fccea0005f9704df257044b76063d51158beb0d66d18e41ed6a4873388f0e531b1ff21ee1042e7";
   sha512.doc = "0846e5ece550ec73aa65b07993faab7151efb100f6e5cbba8a4e73b595b012f031435ecae7d1100690395bc973fc82b617a0463bd3388e38081ad32b8d16d78c";
@@ -29422,6 +31835,7 @@ luamaths = {
 };
 luamesh = {
   revision = 63875;
+  shortdesc = "Computes and draws 2D Delaunay triangulation";
   stripPrefix = 0;
   sha512.run = "e30e6f2bef6958c2f76df6aae5ca5899b91f41fc35afdce24840e2d028222c31a0613ba3c7eef27629686137f15eac24d3b97b7e0fc33b5d91adb7b766c0279a";
   sha512.doc = "286dc5fb713f06fccf7195f317791a8c775ddcaeb8cea4004fb7a77882bec36c60679ed9ef725128ff354c7230becdcc623683fb78eac9b24cf044f9cc97af1d";
@@ -29431,6 +31845,7 @@ luamesh = {
 };
 luamodulartables = {
   revision = 68893;
+  shortdesc = "Generate modular addition and multiplication tables";
   stripPrefix = 0;
   sha512.run = "0b390717c538a8c44cc7e8214908149c3705d5cb453d7776015eed27638ed0c0d16ea0b5be5abf2b6bec6e410b849f35796f574923303ebc883c75f7221f7634";
   sha512.doc = "dba85f4e58f7a7d8f1f81d0051a0305cdf51e7bd1ad4220cebed513871c6a3d816d9a6048cdce352f48527da2b04700b94210eedce5104af289dd0508fc72f63";
@@ -29440,16 +31855,18 @@ luamodulartables = {
 };
 luamplib = {
   revision = 70583;
+  shortdesc = "Use LuaTeX's built-in MetaPost interpreter";
   stripPrefix = 0;
   sha512.run = "97551597042f2b609abfb7c275e3f371a57aa6948b4085017926ff8a8adba02ee68dcbc84d3cfcf4eb3ccb93ff1c61157c9dab2e2b3bc945707ce106e17d169b";
   sha512.doc = "6c366637d27c498cedbeb6222ea8b48a807ce806bcee89cbbba7f7fb5d6b3bacc7fa4ffb3c1288a02b803bfd7b96725b12fd46eb2e9ec965e2b69f057b1c2c03";
   sha512.source = "546d9403d20ed58a470b9e2fbd5b34c1863c4ef69e90156a6c0071f09ff425f6bbd9d39813b870f55997cafa520caa9326b79e31708630f9b3a44b0b0ceddc3d";
   hasRunfiles = true;
-  license = [ "gpl2" ];
+  license = [ "gpl2Only" ];
   version = "2.26.4";
 };
 luanumint = {
   revision = 68918;
+  shortdesc = "Numerical integration using Lua inside LaTeX documents";
   stripPrefix = 0;
   sha512.run = "f34fdf0308fe4c9aa36d59e11862958ee1824761e5aa8ee62e6df81b335ec8dacb203a64ce5e26395ab612583126093dcddbc42dbeb927c90bd3bec73c1b5485";
   sha512.doc = "e8718322381688bc306871de22d585ad50128f45d25ec6864034a42cc661e78c510dbfffee46ab5a6da0e3018f1cf3d35974d9e4cf27e4208e9a8186aa03e656";
@@ -29459,6 +31876,7 @@ luanumint = {
 };
 luaoptions = {
   revision = 64870;
+  shortdesc = "Option handling for LuaLaTeX packages";
   stripPrefix = 0;
   sha512.run = "0169029e4eefcb746f48b266d590c7d9f3d4d376070c762139accf27adb8e48badce38769d22250519b3482b4752c55f66a165f4a6c59b20c3048738dcd65a72";
   sha512.doc = "8731eb75ed8dd7089a6825350c2cf335049ce80c1ff378ec26dfe32423e4278737abadf7c83bc100837b2676866d38fdff50024845dc78c1625e64f8748e140a";
@@ -29468,6 +31886,7 @@ luaoptions = {
 };
 luaotfload = {
   revision = 70234;
+  shortdesc = "OpenType 'loader' for Plain TeX and LaTeX";
   deps = [
     "lm"
     "lua-alt-getopt"
@@ -29482,7 +31901,7 @@ luaotfload = {
   scriptExts = [
     "lua"
   ];
-  license = [ "gpl2" ];
+  license = [ "gpl2Only" ];
   version = "3.28";
 };
 luaotfload.binfiles = [
@@ -29490,6 +31909,7 @@ luaotfload.binfiles = [
 ];
 luapackageloader = {
   revision = 54779;
+  shortdesc = "Allow LuaTeX to load external Lua packages";
   stripPrefix = 0;
   deps = [
     "iftex"
@@ -29502,6 +31922,7 @@ luapackageloader = {
 };
 luaplot = {
   revision = 68918;
+  shortdesc = "Plotting graphs using Lua";
   stripPrefix = 0;
   sha512.run = "99bb803fa2eb46b33e2f3d7bfb1b307dd268df91d392f8fe7bce5e45db65fb8b1de66d8d62f0bb2912fbb5521a73ea60b6627fee3fad23262fb92485a7858c80";
   sha512.doc = "b34d3b67d1603fbb940856d9da2eb4ee57afd87923c2a1c4541d5d9325cfd597bb47b2ecdc829b2ce4eb3bfb35eb9b968e0cdba2cb9d557d12ccbca959506f53";
@@ -29511,6 +31932,7 @@ luaplot = {
 };
 luaprogtable = {
   revision = 56113;
+  shortdesc = "Programmable table interface for LuaLaTeX";
   stripPrefix = 0;
   sha512.run = "68ed668fcc84eddad444edfdd18ede2c94ad81fd61162d62c5a052fabcda6e5bcb519d6eb473721fc2cc090bb7f642dd55ac35b9f1f0a682b2fb8c480a0a1014";
   sha512.doc = "d91bb2fdf9851b1aeb3dba0b5eeb75bd1f9aa8c806fc3a99e063af7f56e0878152630aa18731c1c40aa00de72a0d192981a272d586fb25f7a19d14b4fc25b5e6";
@@ -29520,6 +31942,7 @@ luaprogtable = {
 };
 luapstricks = {
   revision = 67207;
+  shortdesc = "A PSTricks backend for LuaLaTeX";
   stripPrefix = 0;
   sha512.run = "742b75749754c3370c64c50bc8138474f0181b4777875227cccf749851aa0d42cb490cddbd72a9624b931fe99f02e2727fea4e54d36b1d46cb084c666dca445e";
   sha512.doc = "634cd9587c4fd9c6fc558bf9369b191e0901b58d75d871815592f3e6959bb103d32026cd9ed48ce448a497833c30916d39b92cbb85c6544b41b7341277dc6820";
@@ -29529,6 +31952,7 @@ luapstricks = {
 };
 luaquotes = {
   revision = 65652;
+  shortdesc = "Smart setting of quotation marks";
   stripPrefix = 0;
   sha512.run = "20c0c02ec0a89e37d82d6ba10cdd9fce632189c442950f325ebc09f5cc2a1e798238ac9d3e31245e113d4909dd0b37e3a145b471f7facacb285a2a2450bc8998";
   sha512.doc = "3a9b36054a67ff69ed8dcba75a6d5bb5bd4783ec301e59f491b82954184ff7793e68120762ec95182d6dd00afa1fd4421d2f87fc8294ac39061c88f50c37d803";
@@ -29538,6 +31962,7 @@ luaquotes = {
 };
 luarandom = {
   revision = 68847;
+  shortdesc = "Create lists of random numbers";
   stripPrefix = 0;
   sha512.run = "1b5f4f420fe5acd552e7ff34459184319337a586b19f3b53111940fa648b09924f03ce7ce4da7463cbc894e65ef87647ada660922ab252b560dfe99295255097";
   sha512.doc = "4be8b8d72bdd6d4eb33999d662e06a60c8971d5a990b649e37c990dcc6f708856ee61a59ad1dddb6c083eab09e809ddfb65a1730a8e76bb6aadb1a240c809a26";
@@ -29547,6 +31972,7 @@ luarandom = {
 };
 luaset = {
   revision = 68883;
+  shortdesc = "Set Operations inside LaTeX documents using Lua";
   stripPrefix = 0;
   sha512.run = "97617f8c763ec968750949f5050ae8682b179caf6433ca036c820017c4ef73aad3f96a1f8071be490c029db25afc6b85c45310ffbddcf3c8ed7b4b5547cc6e58";
   sha512.doc = "546beb759fe4f6e6a6a9814eb46935a3d1245bc2a48878c8391738e92e79c7df2148e564b2eff0cdc60281b6f071d8fad2edbf171d7c1130b1068aad11aa5a19";
@@ -29556,6 +31982,7 @@ luaset = {
 };
 luasseq = {
   revision = 65511;
+  shortdesc = "Drawing spectral sequences in LuaLaTeX";
   stripPrefix = 0;
   sha512.run = "b77936a1b92ec8b3889ec9ba8b356fa235da6eeca98d6a86f315723c64b4c0a7d8db2213cd9fdad4d2b38cfa8af1bc00c7861f15a9f4f1a809ec86bab8a16f77";
   sha512.doc = "82825043ea6c04a76cbf0440d9de08ee281b843342c6385f11cccf06bd11320138119fb90944f6f3fc5aa8ff9854f1934f7890809f0a8175de389ef5cd448cab";
@@ -29565,6 +31992,7 @@ luasseq = {
 };
 luatex = {
   revision = 69182;
+  shortdesc = "The LuaTeX engine";
   deps = [
     "cm"
     "etex"
@@ -29605,6 +32033,7 @@ luatex.binfiles = [
 ];
 luatex85 = {
   revision = 41456;
+  shortdesc = "pdfTeX aliases for LuaTeX";
   stripPrefix = 0;
   sha512.run = "fbc1306d40e1c329a106d7ec4ef79ebb99b2869ce72c45212b87fa03f66a18b1636324dafc739a33500be77bee2c71ebeff02c97c42f85716f5bded4dcebc021";
   sha512.doc = "4bf353f60c305ea76e66848920e521dec0c66c80f71ebdfb0593acfc9e2914eac272eba3d69f63f43fe8be903cfbb2da7edd82cbc3d38a897934d91f1ac276b7";
@@ -29615,6 +32044,7 @@ luatex85 = {
 };
 luatexbase = {
   revision = 52663;
+  shortdesc = "Basic resource management for LuaTeX code";
   stripPrefix = 0;
   deps = [
     "ctablestack"
@@ -29628,6 +32058,7 @@ luatexbase = {
 };
 luatexja = {
   revision = 69988;
+  shortdesc = "Typeset Japanese with Lua(La)TeX";
   stripPrefix = 0;
   deps = [
     "luatexbase"
@@ -29641,6 +32072,7 @@ luatexja = {
 };
 luatexko = {
   revision = 68243;
+  shortdesc = "Typeset Korean with Lua(La)TeX";
   stripPrefix = 0;
   sha512.run = "7815d0d6caada77e5d72c410a299de6349a81f635cf9f2ae5b61a73e5619808b8997de70a35a0a6e8cfa1250d413645a9f90f398582e061c92138dbca97d4117";
   sha512.doc = "cd1d68f9fa8d5bc5491f4a58f465ea8ddc4a0c500f7c24c2034c75f33ad31d869d2d63d836ea6699b02b04b69406290e7f98eef1294ce8be0f9358f9b207c9ad";
@@ -29650,6 +32082,7 @@ luatexko = {
 };
 luatextra = {
   revision = 20747;
+  shortdesc = "Additional macros for Plain TeX and LaTeX in LuaTeX";
   stripPrefix = 0;
   sha512.run = "03c95a5e42d8fc0ed88704799a36624ebb48b9c7606acbc09de29e5da845ede3f239a6dda43cbfb4377971cecb55b1f5280cf0ea1aae5057f3ab8df2e0870745";
   sha512.doc = "f1c0d31fbd66f4e78eb638a9bb336f49de3d19b29bf276fb6fd0d976ba2f33599c1536ec82f7887af1c1ee359b48b1048d400b7faf0cd8016b914f4c5318c849";
@@ -29660,6 +32093,7 @@ luatextra = {
 };
 luatodonotes = {
   revision = 53825;
+  shortdesc = "Add editing annotations in a LuaLaTeX document";
   stripPrefix = 0;
   sha512.run = "4cc24f72014d50179fa1cd3630a483677a98a5dedd28e94f2c7003c3c61eae66bf9b6787bcde81b654f4187d873440828655be372b4d6bbf59c802da23beaeea";
   sha512.doc = "2b7298a56975f0ac71bf6c0327d95531622de23a33c4a1999cdd35ae960766342071722e388fd3d9fc10fcbd23c0752e5e5399516c8465f7e66f5ea8b952e447";
@@ -29670,6 +32104,7 @@ luatodonotes = {
 };
 luatruthtable = {
   revision = 68893;
+  shortdesc = "Generate truth tables of boolean values in LuaLaTeX";
   stripPrefix = 0;
   sha512.run = "3f239ac9d477c456881921140345415d2bc9f0db00c9180bdfac2120c86669f2a52fe8dc92752535b2dacbbab626e51ef614da7fc10a93ad90a2322dd1821343";
   sha512.doc = "5e17243dfe5343e211991a9e7b73d8b2d454042bea5cd15fe5bdf257344b4953d9a3e3ed9c2bfa66263c32c53a93be233715f2d524bf78c682a57b67332744fa";
@@ -29679,6 +32114,7 @@ luatruthtable = {
 };
 luavlna = {
   revision = 67442;
+  shortdesc = "Prevent line breaks after single letter words, units, or academic titles";
   stripPrefix = 0;
   sha512.run = "012bdbcca4062a2f551b28dbbd781c885fbb557f5c1258157db01fff7141c8380341f53a9e58c3f844c022af64a748299efb703de5e37f05acaa0d385b8ab8ed";
   sha512.doc = "a785d65816ff637c4c08f6a0ce95e5a65c4121885f6af32b3e68574845adc10886685451cf3fb68cff05b4ab29c792b3c02f793d912e86ace55f2602af6d63e6";
@@ -29688,6 +32124,7 @@ luavlna = {
 };
 luaxml = {
   revision = 70117;
+  shortdesc = "Lua library for reading and serialising XML files";
   stripPrefix = 0;
   sha512.run = "d337c443f09a8fed88a3530e94326660ebee59260e873e7581226aadc622fabfb37ace31ee105fc321b6633d4fd8c8117739ba6884b367cdaf708f81f686f3ce";
   sha512.doc = "ad30466499514af7dbb5425f560953c23e94f6af468b2e693a560de249eec4b5db913371884fdaa36c22693b5175d40da297fa98e22906fc4c501b9f3b7de2d4";
@@ -29697,6 +32134,7 @@ luaxml = {
 };
 lutabulartools = {
   revision = 67714;
+  shortdesc = "Some useful LuaLaTeX-based tabular tools";
   stripPrefix = 0;
   sha512.run = "eeb781b572beed01f5a787a4d0351289c90751ff49a289952a150e3aa013b10f4b0f69fea546709ce9c6ee077a08a551ac9e03d192c1064205eb2af6e907be1d";
   sha512.doc = "9595cf869f480951f9d0d142abb05548e4f71d8af6d62c4ff0626ad9d9019d63b91333bfc8ba1f6948c9075d62fb7b7956658079fd17ea5e86f920eb7c6ed49b";
@@ -29705,6 +32143,7 @@ lutabulartools = {
 };
 lwarp = {
   revision = 70072;
+  shortdesc = "Converts LaTeX to HTML";
   sha512.run = "db403b10401780ea2e7db5d849627e3ce5ff4ddbf3fe9c4e0251c29da5e49f7cfda768c9ea8c397e7c8ccef2c25b3db88db0c406a4fff4ddef081a7bbd32b88a";
   sha512.doc = "1f818d8419e2e7d986fb35ef662f95a3ec24c6a3f439c3ee08f9ca9d8917871d4d21a8ba8f960346479bccf8c926b32751604912fa0274786bfdca641f83b803";
   sha512.source = "70fbe22a77b4494f2dff7e09448a1dbba42d115ef1a8739a305dabba55f8bcdf47cc3e632f09285c6de0442a5050551f7f13d15f573c88459ef8bec2f29a5f70";
@@ -29720,6 +32159,7 @@ lwarp.binfiles = [
 ];
 lxfonts = {
   revision = 32354;
+  shortdesc = "Set of slide fonts based on CM";
   stripPrefix = 0;
   fontMaps = [
     "MixedMap lxfonts.map"
@@ -29733,6 +32173,7 @@ lxfonts = {
 };
 ly1 = {
   revision = 63565;
+  shortdesc = "Support for LY1 LaTeX encoding";
   stripPrefix = 0;
   sha512.run = "79ec3f1971587a3266d3351cf4d97e44d7871ace695c7f229b92c819f1334c2032a3c906a2e7e74e98fea5f01ef4dabac9c2dbdbecf68f0d5512c637288e8297";
   sha512.doc = "c1a39c96000fa3e929ab6518acb71c26bb06179cf06af4f4eb1f2bde0d21816e108c6a89dfa2f7dd71f95887a37d532bb2914a03732dfe4080541ffa204e8e43";
@@ -29741,6 +32182,7 @@ ly1 = {
 };
 lyluatex = {
   revision = 66880;
+  shortdesc = "Commands to include lilypond scores within a (Lua)LaTeX document";
   stripPrefix = 0;
   sha512.run = "8d8491e9760f7464cc420b2b457f61c6f9e8e08b7de11dd9194f39330bb193b534f5ae3ea981317e4b2bce536149ca002f532f98bba5e0d8cfee5450c6b9b171";
   sha512.doc = "96d99f944aed67d9e59714deaba08a5b41cd8d63f7c8a38151b2d7952817d5096517d1c643246dac8bb3616efa9c44180264794b90175aecef9362d32a83bf3b";
@@ -29750,6 +32192,7 @@ lyluatex = {
 };
 m-tx = {
   revision = 64182;
+  shortdesc = "A preprocessor for pmx";
   sha512.run = "b56bc4432bcd340f3e92f5043c38bde7f14b5f2d32b9433fa21c73c20f7ebb981714175aa6f4f871636efb62a52cd24aa639e87a320039313b16db1b027ee2f5";
   sha512.doc = "316fbc2b37b903cae8da6bb9f44b8afad0e3e577c6fd84664e1724ffe318bbdbf9609dcadd5cde6a14cc5acbc134f69bd7a87dd90d9da7d4442a5f913b8132f5";
   hasManpages = true;
@@ -29766,6 +32209,7 @@ m-tx.binfiles = [
 ];
 macrolist = {
   revision = 60139;
+  shortdesc = "List operations for LaTeX2e";
   stripPrefix = 0;
   sha512.run = "d722a58921aa7f6c5a887c022027df5d04c905f9c1cd7a95df31e1e3d9ad8c583028436eeb35217cb186aee6ea21efff09d3f52fa5284963789ccaeedc3342e7";
   sha512.doc = "21893f581ee47e136a47c56deaee6f9c4e6c5e4380027e22bfb62cf6258502ecb1a647f11dd5468b8687c033e0cc708397efc2499307db320963598228dd3b4b";
@@ -29776,6 +32220,7 @@ macrolist = {
 };
 macros2e = {
   revision = 64967;
+  shortdesc = "A list of internal LaTeX2e macros";
   stripPrefix = 0;
   sha512.run = "4b11fe67e0a57f98bec13e9ce928664dbeee189a2eb303312632a881ba4f321fb5acdfbec9d14544782b86a961add6154a21c731f58e889ea58e98459de05c39";
   sha512.doc = "71db4e3a595508119b1a8059c25b7a38e3252398186386519e7edc28b3a75cb6d6954f274795b9ef88e360b1e0998e4da2a29ba1f5ebf464e535ea90c498e8a2";
@@ -29785,6 +32230,7 @@ macros2e = {
 };
 macroswap = {
   revision = 31498;
+  shortdesc = "Swap the definitions of two LaTeX macros";
   stripPrefix = 0;
   sha512.run = "39af1bcf247986c1f7559e1523d1d33680270602bda1d904404db0700452d203f950eadb2d9808a1cd3098bccf070218bd791fdbe5be4a3b0f539f013ef226a6";
   sha512.doc = "4e46c824a6a5909fca7d8a4628c87cc7a372ae5eab0d2f5110dc1f205e072e53a817043cbead53dde55e71c7c1c0e23695ba963c27e46bc70e2f84d430b656d7";
@@ -29795,6 +32241,7 @@ macroswap = {
 };
 mafr = {
   revision = 15878;
+  shortdesc = "Mathematics in accord with French usage";
   stripPrefix = 0;
   sha512.run = "802d108e7deaaa1a42b7f1eca5059f9547f0f4edb2eb5f8f3f0b68d03c05662f37d2bf7b25844dcec6b89d6d1f0babe93614cbc87fe1e2ca0ac2153602c0cad7";
   sha512.doc = "5e3a0c42944944fc467e09751c1881dfd16ee526c78e509acbad394725703771893770d11e5aa16b09b6b5d1059331b72ce0f1e85c6ec61677d101276398624c";
@@ -29804,6 +32251,7 @@ mafr = {
 };
 magaz = {
   revision = 24694;
+  shortdesc = "Magazine layout";
   stripPrefix = 0;
   sha512.run = "5c35baa39a8b26911b2c2dd875576a0f875f5edc37fb497dbd403720855861219fdced11ee3fbbdee8e63f0817b6c2ee6a20e6ec3bcc9a5183465c22caf7735d";
   sha512.doc = "78c9163951f269a489f6e8a48cce7d9ca46aa5c7f2f2567f8e50627ddc32920a8a5b54bf141ae881c2863de6bad4f7a954588fef9469291f18e65b7fadbf051b";
@@ -29813,6 +32261,7 @@ magaz = {
 };
 magicnum = {
   revision = 52983;
+  shortdesc = "Access TeX systems' \"magic numbers\"";
   stripPrefix = 0;
   sha512.run = "305d94ec07468511e7ada667ded30a1c3ba68835d5bdd03a9a32c7bb7c0d274d5ddc77a5ad02712faf10aba5eca73c6708cb2bf497bea0b73b3f99b10923a8bd";
   sha512.doc = "084bdeb7d422a5e79f4a53864ea0c94b09962e159e103fe3ea77163a9a549605f7139bb2ba9d1a57877b3453162a99470f48a691ff78289a1caa5389b2a7f67d";
@@ -29823,6 +32272,7 @@ magicnum = {
 };
 magicwatermark = {
   revision = 63656;
+  shortdesc = "An easy and flexible way to set watermarks";
   stripPrefix = 0;
   sha512.run = "87dc295ac046213ed1a0b3c1b2b415edb3f65cd1e213b101ed3125df663fc4261fd54c07343ece9dcb4e345f134e7d9caff2791e0b8ff507b8d006d5c2dd1430";
   sha512.doc = "76504a77b18c8fd21d27cb26092edbca6e1e9470c006bd486ab4412116f30b833f3a92cac216c73318372da4fe3ccc7342effed2cfcafd09fb8efb1770582d5f";
@@ -29833,6 +32283,7 @@ magicwatermark = {
 };
 magra = {
   revision = 57373;
+  shortdesc = "The Magra font face with support for LaTeX and pdfLaTeX";
   stripPrefix = 0;
   fontMaps = [
     "Map Magra.map"
@@ -29845,6 +32296,7 @@ magra = {
 };
 mahjong = {
   revision = 58896;
+  shortdesc = "Typeset Mahjong Tiles using MPSZ Notation";
   stripPrefix = 0;
   sha512.run = "697c0a634304e4e94a6165fd033d906209fa6811cf6297868b76389165bf557f3b6abd419582d200bb252365f790ce53c98e1da75c8b6d3d061cb5d6b635ef38";
   sha512.doc = "622a34f880eb02813e7f4c1f6eb7199194c3ee0e62df534e7832530c34f09e2abfa7f1d491b4840310841e230e3ab5080cbfa5370e9366c0f9b8fd9000b0ef38";
@@ -29855,6 +32307,7 @@ mahjong = {
 };
 mailing = {
   revision = 15878;
+  shortdesc = "Macros for mail merging";
   stripPrefix = 0;
   sha512.run = "33fca4d77b34e3390de647e7e39d6240344f2a90c6067275bdb0e7dd1a3deaf5d5cdaa84dc4a49a0c817bc6923eb593602653b0d0ae4b794510a272b78498be9";
   sha512.doc = "2fd2d4dd5c1896d0849294a1911ae3682b7331cfa574bd46aa047f118fdcb09b4da3e29f6d5412d23ea49f776cd042694508e8b5492ec53cb44a6acafec110c5";
@@ -29864,6 +32317,7 @@ mailing = {
 };
 mailmerge = {
   revision = 15878;
+  shortdesc = "Repeating text field substitution";
   stripPrefix = 0;
   sha512.run = "1930b0c554dfa36514d0c0b33749d506d6e5acfcf65e3c1dde3ed75a7c45bafb74db8d83f1b286c1a623acb32b2047dcab566ad85e3676c67c0ce1f7722d24f4";
   sha512.doc = "3e8aa80211af8f59289b87dece6cc2a1c5eccf02805e3e7927c78cdac66cdb6afaacb07b1114f8c67105289e4d4f7188043cc28f00365c1f5c3f353a53f14922";
@@ -29874,6 +32328,7 @@ mailmerge = {
 };
 make4ht = {
   revision = 70117;
+  shortdesc = "A build system for tex4ht";
   deps = [
     "tex4ht"
   ];
@@ -29891,6 +32346,7 @@ make4ht.binfiles = [
 ];
 makebarcode = {
   revision = 15878;
+  shortdesc = "Print various kinds 2/5 and Code 39 bar codes";
   stripPrefix = 0;
   sha512.run = "a19268b5e63e577b4df9255e4c0eac640c73ac9e08f6d4b4baaff7920f714b7dd961f8143587b59478df2d854dc2f363312833c7636d08c2aab644a25b54bb40";
   sha512.doc = "ecd0121f679d7e4ffb162c151dc4b60acc78f9297d3bf0003882b914f0b1a10a52b43e844c5bb085d73ac08f9f0aa2e768ec4fe7374067ae2fcf304e842a29e3";
@@ -29900,6 +32356,7 @@ makebarcode = {
 };
 makebase = {
   revision = 41012;
+  shortdesc = "Typeset counters in a different base";
   stripPrefix = 0;
   sha512.run = "cf36d0bad24180f48a7cddae8fa19c6260ceb5076b21f05e48360a30ec259b342e6a17f1c5d299ce5fe02a8dc5ed7934dd55c5529118bb24dd13cd36242b0d6a";
   sha512.doc = "2f7eabf88fe3777ebb1455caed5a339c3b56e0e7a97d34aac0b4c461e7ccf6450de936678ce00e64e39f308167ec55a6b3ec42f7428a7a9c87d2607570e1576b";
@@ -29910,6 +32367,7 @@ makebase = {
 };
 makebox = {
   revision = 15878;
+  shortdesc = "Defines a \makebox* command";
   stripPrefix = 0;
   sha512.run = "918052ed5c358e12ac7ca7c93f25a43fcfa8f7ba261fdf652d7ccbbcc27e3e0f822813d8297d3b75450c443687bd97e93416624b51da61572557d6a337638bc7";
   sha512.doc = "807d495fdef601fff666acb79c7f3fa43d1aeebf8aed77bebc02f90dca4fb9c36ae1bc911a9af1009538f3d3e2c4c7f9ceb0111d091dd4c1691a1520e089a697";
@@ -29920,6 +32378,7 @@ makebox = {
 };
 makecell = {
   revision = 15878;
+  shortdesc = "Tabular column heads and multilined cells";
   stripPrefix = 0;
   sha512.run = "ba32b6a68b0a4cd6df36d460832e5cd9664a9c305c24dbca93a4fce69e97b6db3d86e3f219a0511c7d70378ddd9424d3685d60cabbc8554077c6bfbd8847789b";
   sha512.doc = "7c762852f1c7b4609fa823117e765d2b42ad857e2ffa1ca84aa3df74497c88dfc0a2cf05747f11f14453873ee70c4b0f2f890112c567d04ad0d61ada37e14335";
@@ -29930,6 +32389,7 @@ makecell = {
 };
 makecirc = {
   revision = 15878;
+  shortdesc = "A MetaPost library for drawing electrical circuit diagrams";
   stripPrefix = 0;
   sha512.run = "9bba91e5139b90201e232aa3fa21254c5bf8d989aedaec8310209ae6b772d24d7b8c3be379909f04c2c7ff079cca10f43a1f74091a77bb1b8ca637a0743a2ef2";
   sha512.doc = "25190b3a5d911de1d02fa596f604527006f3adf7512afae397e5ba15ab62d6471ab834f92437d35a9f37ed83c8b84990d79ef0fd9ce2b0edfffdfaa2ec97a345";
@@ -29938,6 +32398,7 @@ makecirc = {
 };
 makecmds = {
   revision = 15878;
+  shortdesc = "The new \makecommand command always (re)defines a command";
   stripPrefix = 0;
   sha512.run = "fb63fdc9cc0aaa531b25417f0c23348971c306b1a93d99e7efdbbfd7c3907b50f28c67f36a88bb2a94154bcbde937e63246ece577ee2440ad4f5c2935eb25b99";
   sha512.doc = "f69dbf682df7e3089727570417be3624b496b5ad7db627b344d32b106606cab5299dd23497e137770fdfb9f940503a65e1074e06dd67e0561b36729ab6c3d428";
@@ -29947,6 +32408,7 @@ makecmds = {
 };
 makecookbook = {
   revision = 49311;
+  shortdesc = "Make a Cookbook";
   stripPrefix = 0;
   sha512.run = "a4fdb7a7553a08b51d15c038187ef621ca6852c20a033b1751c544634c3092f93c3db5c1f4d744732ff6696509d8fa406251e9d14e619397ca4202b55c1b9c64";
   sha512.doc = "84c97dd438e3d3abedce031da5841f789f3b8c28672c9e3b6c53929e2e781a9d51adaec6d883d0008b42f1eae2ed5bbf992ec229bb8b2f7f510346d10dbc31fb";
@@ -29955,6 +32417,7 @@ makecookbook = {
 };
 makedtx = {
   revision = 46702;
+  shortdesc = "Perl script to help generate dtx and ins files";
   sha512.run = "e083fa791975cef84b2e2ba3472984e354d5ced50ae7fb96dd8239cfffd379e7a25fdab80abcb721e63dfb10d9557bce69e97c5624d1635f894bcd26e22b5f4d";
   sha512.doc = "913f6f02ff478ab5edeed4792846ee6bc06d28c16fd3d7396d394f4a964d6f39a12c8163d66a50a5bf53add151317184b09a712dfd32f9ff783bda7f520c7eef";
   sha512.source = "84e12e7798c37a598a2d37fa7faa206ffb6f5c1f9c21af7130a9f05bebf9857f2a4fb7988be55a9936199694a0d74595ff75a1261187d81fd06beda5e0628931";
@@ -29967,6 +32430,7 @@ makedtx.binfiles = [
 ];
 makeglos = {
   revision = 15878;
+  shortdesc = "Include a glossary into a document";
   stripPrefix = 0;
   sha512.run = "477523d4663e1e4a1fd6bb830e4574d6d116180b06a3199d6ba27f7cf704a1906a2812496e9a7ba8063690a2095fbd5022a5eb8c2448b1e0341c8a961cf05794";
   sha512.doc = "c580a23d65422d8405ce011fb6b088f53836811e3da517423f6d0dce098ffbd64c0648318eb9fb74ab637e1796d19247ee87ca8a25c7d306e3dc35a5d6d79f99";
@@ -29975,6 +32439,7 @@ makeglos = {
 };
 makeindex = {
   revision = 62517;
+  shortdesc = "Makeindex development sources";
   sha512.run = "5967ba4123fd4c708ce841d29211fdb66c28518f4b418903be0ddf2a49964f706af96b250eec814c547e0703460c1273ce72a7acf3ea9fe28cc1c7073af29d3c";
   sha512.doc = "40b9ee1ebf7dba9a4bb4bb3077cdb1e88b07f276a9d0ae9c2817bd76a2f742ec9237d1b6d9658694fc5fc4e8f82591194862637bd83ea8e106c0541591d343ee";
   hasManpages = true;
@@ -29987,6 +32452,7 @@ makeindex.binfiles = [
 ];
 makelabels = {
   revision = 60255;
+  shortdesc = "Add a '\makelabels' feature to KOMA-Script letter classes and package";
   stripPrefix = 0;
   sha512.run = "4f58301507896c2e719f2607e1e456aeb25cc78913ed02d9eaa12489aeb643e73bccaafd1f219c1c8b485d77aa64e99d64166b63e8a2c7a7c3c8cfb77ac23bc6";
   sha512.doc = "da01e167d1be1d4831c1bd0aca43472aae12a8204ab844f9964e60f57cf22312532c52cae85964f10780aaa0e4f84015f6ceee8ebfa042b184fb1ecc7c174585";
@@ -29997,6 +32463,7 @@ makelabels = {
 };
 makeplot = {
   revision = 15878;
+  shortdesc = "Easy plots from Matlab in LaTeX";
   stripPrefix = 0;
   sha512.run = "366e9ec4ce551e17ae6e77f068b0d2fb46582c033eb27781cd620a87731eba744212db8dde9ce8e50318f280dfe31e61a344ab4232c3bf26040dd7a2290d4fef";
   sha512.doc = "9aa863af450a66201e7cb3d3a58d9248430aa26cca9b50de4c71c350314ac9c0f6fe54e5eb1b37917a75030a60ca18102933f154bdeb7831ca02bdaa65b3a6bf";
@@ -30007,6 +32474,7 @@ makeplot = {
 };
 maker = {
   revision = 44823;
+  shortdesc = "Include Arduino or Processing code in LaTeX documents";
   stripPrefix = 0;
   sha512.run = "d8cefc4d4389e4024c448400f02bc0ef0a21146c1d079f804f5e102ee3f2977be7fdd2c1011672b70192af48693ab1fcc38bc1d6f7711fce217792e82f0e5e54";
   sha512.doc = "fb7f68b4c48de87e6c1e380525a998bd1cf7578c2e4a51551b5ab4909481e66faf38f0a74083f25954b5d05e9eda12e56734351fab063f80955abf24eadc0e21";
@@ -30016,6 +32484,7 @@ maker = {
 };
 makerobust = {
   revision = 52811;
+  shortdesc = "Making a macro robust (legacy package)";
   stripPrefix = 0;
   sha512.run = "502b4dd65ae3535a2519c696b8b2ef73b3eb8f19d20af7dce94e24c8f718f827e55ddf7ff229bfc0810ab8747c94720cc7a66335a7d44065d0a0ac6b156a683e";
   sha512.doc = "4503551b0085c7c829d41042083209bc02dfd2391f99cf0fabafb363e288a455e51273bf0f9d4ff5a5fe17050fb5288a7835742e06865407b8400c88244f4e6e";
@@ -30025,6 +32494,7 @@ makerobust = {
 };
 makeshape = {
   revision = 28973;
+  shortdesc = "Declare new PGF shapes";
   stripPrefix = 0;
   sha512.run = "b13358696b16b41a69e5a207fcfb717b417ec191ae9f6ad4408422b1ce99c3785a3328cf9bd2e87ade3ede4998ba76ddb2f640e06ef5ce88172942e4d0cf2bfe";
   sha512.doc = "a249c636b414203e75225af611173add2e90af306d4a78c7d865fdd0e76b23637fb3b8eb41f127905bbd0065cc7b941d3d26e3ee73b9aad56e05ed0a44f67d57";
@@ -30035,6 +32505,7 @@ makeshape = {
 };
 mandi = {
   revision = 70235;
+  shortdesc = "Macros for introductory physics and astronomy";
   stripPrefix = 0;
   sha512.run = "e5c8cb0ca16c5b34097aef6e3bd00e452bf6382f6f9f5c3213a42463181a4b7f17df8025d479559b281dde7eb61ed2f79f4b9b6c3a37bed6cb3ea1bb9b428eed";
   sha512.doc = "b1d5662645562102719eebb2d349f8a0a2a047ff3303abd076bff1b5888dc897e39034d027eadfd9ba03f1de26b0e0e6c8ccd226ee7f3a7b8545320023e47fbc";
@@ -30045,6 +32516,7 @@ mandi = {
 };
 manfnt = {
   revision = 54684;
+  shortdesc = "LaTeX support for the TeX book symbols";
   stripPrefix = 0;
   sha512.run = "492dff2a46b9c0e89b8e29149546dfc736195f7f264b156fd91f4e8d1396f43b149948df656c7b148a2d54064fba89e033179b31eeaf03d0037875e36e9b4244";
   sha512.doc = "469280a4576d3b8396f310ba627f5a69f8fe47604f39562321d9b3b7d2f3e81f8d2c0ff7cd18ae4a93d9125df0fba79744edf0b30d036916a8259dc39adbdddc";
@@ -30054,6 +32526,7 @@ manfnt = {
 };
 manfnt-font = {
   revision = 45777;
+  shortdesc = "Knuth's \"manual\" fonts";
   stripPrefix = 0;
   fontMaps = [
     "MixedMap manfnt.map"
@@ -30064,6 +32537,7 @@ manfnt-font = {
 };
 manuscript = {
   revision = 36110;
+  shortdesc = "Emulate look of a document typed on a typewriter";
   stripPrefix = 0;
   sha512.run = "24e4c800ba6f5089ae76b6d444c81689fa696cd2fd9e62281171d771f8f9f065320b53b058cc6adf836f36d378f6f7fece98e8c09e2b655ecaa8884067bd696a";
   sha512.doc = "baaa102f870cc307fe96b583f74c19c7ef2c7649f01fe7985c3dcd331539bc9d839f6e34aa238354b6932d14638b77e83b7bf8e62296c36fc2dba18f776271a6";
@@ -30074,6 +32548,7 @@ manuscript = {
 };
 manyind = {
   revision = 49874;
+  shortdesc = "Provides support for many indexes";
   stripPrefix = 0;
   sha512.run = "e08291b4cb0d2c18e6b97cf6a287d7cf5b49eb312138910185845b6c0a075981a15548de2dded6f597605aef885e736c17b5306328574473aa56f8f11b6b8288";
   sha512.doc = "e8d9c687c1b3525c5e4d218a380781f1b2e7d512b053a583b00c97f0b7eefa1202dea310454065194039841bf8763acc2b0c4712ca8d5e9d31b57cf03c50b928";
@@ -30082,6 +32557,7 @@ manyind = {
 };
 marathi = {
   revision = 61719;
+  shortdesc = "Typeset Marathi language using XeLaTeX or LuaLaTeX";
   stripPrefix = 0;
   sha512.run = "5ff1e45d4434c68f09fd011fb0d0bf7652002a9ef6c36035e953a5bb9871baec4dc1998b0c0ec1749ef93cbca8bd40512457d962bf0e9f3bb4c0d36fbeb6f301";
   sha512.doc = "8ef83a4eef0d877473a24ad3d5efb9e4d374dd1c2e00b210251ce145d889d8cf8eec7ff368d94db888b134104770901877fb4e943bf758f921b341bb7bfb5f3c";
@@ -30092,6 +32568,7 @@ marathi = {
 };
 marcellus = {
   revision = 64451;
+  shortdesc = "Marcellus fonts with LaTeX support";
   stripPrefix = 0;
   fontMaps = [
     "Map marcellus.map"
@@ -30103,6 +32580,7 @@ marcellus = {
 };
 margbib = {
   revision = 15878;
+  shortdesc = "Display bibitem tags in the margins";
   stripPrefix = 0;
   sha512.run = "7f734e46e72badf838397305ca926f4589b9aba7a0e91e21313f6a733f7cd09db959f30e3694490633713b1a77c8d11a521b2892722496fb162d7c25c7b8641a";
   sha512.doc = "c4f93e442d1337cb5a1825b4f7e6fe5ae0a759c32837a896852ec5592b3c31a9c473789db35c147b67360ed662b1e9ae42a59fed446dde234b174f65e358662c";
@@ -30113,6 +32591,7 @@ margbib = {
 };
 marginfit = {
   revision = 48281;
+  shortdesc = "Improved margin notes";
   stripPrefix = 0;
   sha512.run = "dafe223cc6120beac7ce419c5f5eb72ece9be2a21992e829a8015f7e05ca22c40d5196d26d21d8febf3459bfa58c7defc797ce7bd4ee1e3dda28761594240b3e";
   sha512.doc = "fba2ff6febb4acd0dad443221c6146fc2b3818c4948827b827fe2ff2df82f4e2843520f1f4cd41fd64900012d64d973d9b649e65b1c5ee4e74757344ab423dc0";
@@ -30123,6 +32602,7 @@ marginfit = {
 };
 marginfix = {
   revision = 55064;
+  shortdesc = "Patch \marginpar to avoid overfull margins";
   stripPrefix = 0;
   sha512.run = "70dc40b9823cd82a52a7e55e5af47e5b2373fd7cf16567f6eca2bb886d3612473141435444b538f81ab9467d1b3e5ba04424b1ca47d95cc0869dea02faf82b03";
   sha512.doc = "16ab654dd8957bcf37351b7c766b787f27baddd4e73a6a4c3a07f5b1486f5ea73c9028675b5830b8dc1224eae29f50d61bb579aeecd9af4aaafaf78259bca900";
@@ -30133,6 +32613,7 @@ marginfix = {
 };
 marginnote = {
   revision = 68204;
+  shortdesc = "Notes in the margin, even where \marginpar fails";
   stripPrefix = 0;
   sha512.run = "6643a77d01d59bc371d301e738b59957bd63cfa0fc98a554f853d1599392ceb5e88663651563445633df704bbc3ef74510ebd6150c44911314225259982f114b";
   sha512.doc = "18882e317048606324338ff765cd11e972c3dedcdbfe2407a3f9643b3efe6a7d173561726d4221618ac510a447cec7b1aa13a46ca45a091ac76e601c55c551e7";
@@ -30142,6 +32623,7 @@ marginnote = {
 };
 markdown = {
   revision = 70583;
+  shortdesc = "Converting and rendering markdown documents inside TeX";
   stripPrefix = 0;
   sha512.run = "0b133a8f7a4d9315365569698cf2f6897b46ac0c49eb6f6a7697735e209e6a45354101cbeafe7504aa18a39cd514332db204b4b53051a4a9e7380ec581be6d23";
   sha512.doc = "ca199c02ee60ebe597bc0c7324b910d78c58457e614bc23be98720e301bd501540b52325fda4a0b6eaed15859820f5eba4e4749dd4163057c6731c1d1643f27c";
@@ -30152,6 +32634,7 @@ markdown = {
 };
 marvosym = {
   revision = 29349;
+  shortdesc = "Martin Vogel's Symbols (marvosym) font";
   stripPrefix = 0;
   fontMaps = [
     "Map marvosym.map"
@@ -30165,6 +32648,7 @@ marvosym = {
 };
 matapli = {
   revision = 62632;
+  shortdesc = "Class for the french journal \"MATAPLI\"";
   stripPrefix = 0;
   sha512.run = "b8330a2fbbcb2b6c65a1f056fdf572cf14b6c3b8aff3abf91cd40a150a12feb37cb4a43b41e8239fbe00bb4a2168894c375f0bb35c7dbe2f1d8de0d5ae2ae476";
   sha512.doc = "6c24ac9fc5b1968ee8c675c7aef8c8fcd3ce813e407886a412419a4a894942d6928d49cfebaf1d7ac7be7cc5c08847e8ba2c70390e3ea7973b0882a51d039ae1";
@@ -30174,6 +32658,7 @@ matapli = {
 };
 matc3 = {
   revision = 29845;
+  shortdesc = "Commands for MatematicaC3 textbooks";
   stripPrefix = 0;
   sha512.run = "19996040ec55b000d84637070a21fa9fc216eb3cf8ec75f7c408925e0d7a716a7dca0eff4887778f666be3e857b589cd033c53d3859f84226416ad069720f7be";
   sha512.doc = "68f65e9171eb03fed79dc9bffadb725dc7324fd9696ff9f6f0a13233327f47474477180c6e17b5bbb9ee2ee02996ebd6213b43eeb7e9b7eb7dca2caac2db470d";
@@ -30184,6 +32669,7 @@ matc3 = {
 };
 matc3mem = {
   revision = 35773;
+  shortdesc = "Class for MatematicaC3 textbooks";
   stripPrefix = 0;
   sha512.run = "e0736f75126aca9506e1cfcbd321645e731e2dec7f3ae2c045201dd8c729044689e358724b77ef9d99aaf3ff742802857d488e3f2f78e781b64af711c7fdce12";
   sha512.doc = "2038d84ab20c6763163769b62a35fa4e95dbd3e76b0e2cf1c4a25694488ddb5b9be8b40f81a1702600d918618455bcae46d22fa101a1a95978b996714de41dfe";
@@ -30194,6 +32680,7 @@ matc3mem = {
 };
 match_parens = {
   revision = 66681;
+  shortdesc = "Find mismatches of parentheses, braces, (angle) brackets, in texts";
   sha512.run = "ed3286292a5480d73db2d3e231663c37eac6a17a50d4bc37131bb5d5627d445560c1bd47a3ea05dd4d9439ad97c275a05542c5664ea0460e2c596eda75aa56ac";
   sha512.doc = "8ff55ae4caaa0ec44f2c44c21d08e977467e6a1a1471f0d361c428a2fd552907a3bff6a88a4f7fa40f3fac7f5ee0a62b2471d5966430b533ef5dac554d919a99";
   hasManpages = true;
@@ -30206,6 +32693,7 @@ match_parens.binfiles = [
 ];
 math-into-latex-4 = {
   revision = 44131;
+  shortdesc = "Samples from Math into LaTeX, 4th Edition";
   stripPrefix = 0;
   sha512.run = "d5739155ac3cd6a02f356bbb600f7f76022faa4a5c004a93531678ead3c2f0a9f8e1419044883306ce453ac96ab8726ee45d8e49c86b0fca6a9232010a8927e3";
   sha512.doc = "5fee7c89fc9f273817b23fa25260733ee0552df7bed0333bbe604c17bdecfc28d7e386478f7b42d3c2aef89f80ce7a1d35215fdc386ea47e4db3a334bc6a9597";
@@ -30213,6 +32701,7 @@ math-into-latex-4 = {
 };
 mathabx = {
   revision = 15878;
+  shortdesc = "Three series of mathematical symbols";
   stripPrefix = 0;
   sha512.run = "400bb43207c43192321cfe1b658c85a07410778e7694ab1604b992025d69300bb2d4c2cb7866a255dc4988c843dd3b92c33e527c12f087bb560cba4520115643";
   sha512.doc = "e1f9f96794f6d20dd75bd7ceabd40993e56d5315848bbea8a6812a16f74c0fb92ddc6356c71aaa1367c47b1dc26a3711793ec88cf0b90d391f8157fe20f77196";
@@ -30221,6 +32710,7 @@ mathabx = {
 };
 mathabx-type1 = {
   revision = 21129;
+  shortdesc = "Outline version of the mathabx fonts";
   stripPrefix = 0;
   deps = [
     "mathabx"
@@ -30235,6 +32725,7 @@ mathabx-type1 = {
 };
 mathalpha = {
   revision = 61089;
+  shortdesc = "General package for loading maths alphabets in LaTeX";
   stripPrefix = 0;
   sha512.run = "9c56ad5cabba0fc7ff7403882cd46161be0b4d7bcaf632e48eab5170b1350a1c780a9f98ed535466ae7c17a387a461fa4663ffd3c4fac5cb01ecb77bccdcfec6";
   sha512.doc = "5de9923e39ccf9b55f10f0b97067d001ead5598423174808d2a7636c96f8fbd2e8a8e6c0d66140f62d51b9263a736cb6106cf6db0e16e62ee5d9f3887baa3159";
@@ -30244,6 +32735,7 @@ mathalpha = {
 };
 mathastext = {
   revision = 69237;
+  shortdesc = "Use the text font in maths mode";
   stripPrefix = 0;
   sha512.run = "057e16f2b729c1e6fd6857da04ae30b2d2bb42bf185cfba01dfd2753303e6d2668e5c48362799ecff40318bf709c348818f0529f6f8971f9cf6f66cb1960f03f";
   sha512.doc = "632a36650d095b8a9f49ecfac9fbfb896ee29f18e81adece341026291fa945e361ea2f4678bde9b31166f2d7b0d7224c8be856184871e85b31d5e7613f950785";
@@ -30254,6 +32746,7 @@ mathastext = {
 };
 mathcommand = {
   revision = 59512;
+  shortdesc = "\newcommand-like commands for defining math macros";
   stripPrefix = 0;
   sha512.run = "4be34084705419757f92b8f31be35a606689c25786bc5b95a0531d572ce21601881cbd7548b7d380241089d4473fbfb70debeab9b30633671b3494d66bfbb9f6";
   sha512.doc = "80191b36dd3e34193c2aff764b7ffcf274a4d9fc41b1d19fc92ac807e03809069efbcace953fdbddd481db7d6604a859eab44a2c93024ecd59968c9e24e2630f";
@@ -30264,6 +32757,7 @@ mathcommand = {
 };
 mathcomp = {
   revision = 15878;
+  shortdesc = "Text symbols in maths mode";
   stripPrefix = 0;
   sha512.run = "7dca82aff58606afd315bc18c6908946193be75f04ec456e2cede8184867543437007b27f04f4363a026a0db83da3fdf963afecab7330e9419b1ac5376efcdd8";
   sha512.doc = "6135b3d06908c5c359cc432a7406f146ea6b0bb614ba0b983738230ca2073f4348a6ff139bdc4b43325a8b67ef59a6db8e60ecefd88af5c8ff0eddceb0f279fe";
@@ -30274,6 +32768,7 @@ mathcomp = {
 };
 mathdesign = {
   revision = 31639;
+  shortdesc = "Mathematical fonts to fit with particular text fonts";
   stripPrefix = 0;
   fontMaps = [
     "Map mdbch.map"
@@ -30292,6 +32787,7 @@ mathdesign = {
 };
 mathdots = {
   revision = 34301;
+  shortdesc = "Commands to produce dots in math that respect font size";
   stripPrefix = 0;
   sha512.run = "1235583223f831852458d53e1e8cb767495987829d4930387f4dccf7ab060b9f0af8722d6c1aaa820c1a371f8ce1c0222633e6feb064e0344e639eedbaa4129d";
   sha512.doc = "b1ce238b3abb3397b0085983e752dbb9eb9d9c1026046726360498d089304f7f4deecd656dceee27b63934092568f0ca46620231f03e0952c43f28ae73e97dc0";
@@ -30302,6 +32798,7 @@ mathdots = {
 };
 mathexam = {
   revision = 15878;
+  shortdesc = "Package for typesetting exams";
   stripPrefix = 0;
   sha512.run = "30fc0cc9c44f2b7a64860a7d8eeecd25eec7e888f4ebdafade236edebecbd79f5d832566d151243430a60c5995807ea77d34e19cfd5e0d8cb037ca67d3e933bc";
   sha512.doc = "6af2944d12d09f1ab593a7002b9de71d14c5436885b79e5e495dc0ba1fdf9dc6b9080bd009bafff988b019ec3e75da934a7c8c043870fdd52a9a46b36c9d646d";
@@ -30312,6 +32809,7 @@ mathexam = {
 };
 mathfam256 = {
   revision = 53519;
+  shortdesc = "Extend math family up to 256 for pLaTeX/upLaTeX/Lamed";
   stripPrefix = 0;
   sha512.run = "20912d6df0f287c14300e4598400cc2da676f7e484757e3a9a0c41ef6861d7180cf7110fbc7b5668ba8a713cb66b9120736b64a1f5098df25379ebc7b14e44f5";
   sha512.doc = "26aa672bc55de7c45a857d1ae26e156fe19f4ffa05417a7a4163526d01d5f58576f8d6db951e377b646e1ff25167571587d09f21eadecb95bc96e6b85707a9bb";
@@ -30321,6 +32819,7 @@ mathfam256 = {
 };
 mathfixs = {
   revision = 49547;
+  shortdesc = "Fix various layout issues in math mode";
   stripPrefix = 0;
   sha512.run = "513e5dd9eb58ca5b1eb8daec663c48577fa2102ade0234412dbb22b6d756ad37009c689746c57c6624c731df64fa8d58eabfecbd4cdc31c576eb0ecd1e232fdf";
   sha512.doc = "c9ad8dda9ffaa77ba727f536016ba1dcbfb91c4d7ab98b1e4b72156591e8ff0359f623475324e57c6b22f509cdfe7e30ba67c3fb22f9dd152e59f1557c96a6a6";
@@ -30331,6 +32830,7 @@ mathfixs = {
 };
 mathfont = {
   revision = 68241;
+  shortdesc = "Use TrueType and OpenType fonts in math mode";
   stripPrefix = 0;
   sha512.run = "9ebe3acb43ebd09a537b99eee5047d2abf28a019017ebb434684864104892093e4451ff3ecd0393c4f56d4f94efb16cdefaa58b073b517e7dd01adc04f5f9a69";
   sha512.doc = "304bdf738ca94eb7c5ae708ecf0400cce1af9c09f05056b3718bc0ea5352e1d06a2a1cc3c037c8569bb26d33268e14ab660e627da0d9df075af1b36f6bf718bf";
@@ -30341,6 +32841,7 @@ mathfont = {
 };
 mathlig = {
   revision = 54244;
+  shortdesc = "Define maths \"ligatures\"";
   stripPrefix = 0;
   sha512.run = "1ec5761aded23b8ebd4b9afece00ab1f3f9a18886edd12ffd2a2e0b5b9fe9adc9a4ee6fb629933f36f6a161c76e85b54e3d9855871c3387cb0f70f90194b2615";
   hasRunfiles = true;
@@ -30349,16 +32850,18 @@ mathlig = {
 };
 mathpartir = {
   revision = 39864;
+  shortdesc = "Typesetting sequences of math formulas, e.g. type inference rules";
   stripPrefix = 0;
   sha512.run = "8e1c99db2d64e9c815bf8b6784d1c717969a5ecc96281df2f815ba7c0d779b53484c61ca233468de793be94cf636373f4fc0e3413c0ce32d4715db30cafe5471";
   sha512.doc = "fca6b3e2650ada022617af137dc86858c83c51c55fcadf2ff21832a1fcd9fc44f371f89e8943c5e1d117a09893c3587f15a3e8021b11f7472dd3c9d37383f8a0";
   sha512.source = "f5c5b328745494965d1907f6dc187859a5f9bda5a8beda164e7317dc1b8a6e886073f9d2e9b564c6aa56d55e7cb7191afeea38edc059b2dd55066e68ff826dd8";
   hasRunfiles = true;
-  license = [ "gpl2" ];
+  license = [ "gpl2Only" ];
   version = "1.3.2";
 };
 mathpazo = {
   revision = 52663;
+  shortdesc = "Fonts to typeset mathematics to match Palatino";
   stripPrefix = 0;
   deps = [
     "fpl"
@@ -30373,6 +32876,7 @@ mathpazo = {
 };
 mathpunctspace = {
   revision = 46754;
+  shortdesc = "Control the space after punctuation in math expressions";
   stripPrefix = 0;
   sha512.run = "81d1fa6ce0e96190516f2440517d554e259013869065a4242c55bcc06f2d9eab1f8102464da71fe72dd0d231248b637d54733b2a11b832d2153f151dc5513339";
   sha512.doc = "ce318466af0c6690a905c92e9f24f9a7c2891c4afac7c51eead8ebf211bf13e2c20d368782ed41f20a2bb2d6f3a6cd6bf44eb6a0c848ff8006564ec98aeae2d7";
@@ -30382,6 +32886,7 @@ mathpunctspace = {
 };
 maths-symbols = {
   revision = 37763;
+  shortdesc = "Summary of mathematical symbols available in LaTeX";
   stripPrefix = 0;
   sha512.run = "f2028a2b8dad52aee2db1fcf679647192cb926e13cca831a419d876783e492dbc590e4745302addae7d3f01eabf7eaa1fd7cc6f757eff2ab9d9b5c39a1b0b785";
   sha512.doc = "b60a66b3cc67e4dde62b0fc0552233ab59b1981ab92cedbe4c0de31a4c9e9d3207cf54ec5d2361f81937867d81bd345e77c4ab3e36fcd8588851765ec3267864";
@@ -30390,6 +32895,7 @@ maths-symbols = {
 };
 mathsemantics = {
   revision = 63241;
+  shortdesc = "Semantic math commands in LaTeX";
   stripPrefix = 0;
   sha512.run = "e8cd9b91b758317d310265c41f565481a9a18c9a345ea3c8b3f771de637f0a144d131cda93b7771ee7b28563fe1e6d42a410cbc7c9fe08532a5821ca84d5a101";
   sha512.doc = "3f0b2120c9551e498d71ace121985553d1d40f2b242887fe0e6e31a9e25dd62d32fd44d3bd1b50233cbebbbe70201162dca838ede7409512a91d5e522149b479";
@@ -30399,6 +32905,7 @@ mathsemantics = {
 };
 mathspec = {
   revision = 42773;
+  shortdesc = "Specify arbitrary fonts for mathematics in XeTeX";
   stripPrefix = 0;
   sha512.run = "7e9838ad2f212354b103b9beb61d60f124d2f47e52a04e2fad61de01e2e8220ca5f19f5b2188cbfefb379f94dc4b76573355dbde563f887beec29c57b3648ae9";
   sha512.doc = "d22c19bd2114bc48f438d820177006170d52d1a261f3cfe69452148f4e11a0ddeb1bb25e1c1fa22ef8d2284c7f34f7ef41bcf9d8e90a89705b3a7515a679a922";
@@ -30408,6 +32915,7 @@ mathspec = {
 };
 mathspic = {
   revision = 31957;
+  shortdesc = "A Perl filter program for use with PiCTeX";
   sha512.run = "e556960f07a003e877ce678110e724ef94d34aabc0ae52c59ec2ae487fc7d3e5de169844baaefd61e467e98a7a9718d94d881c3f0d43855e133040bdbddb6a62";
   sha512.doc = "1702071f4c26097e241ba161258a51461405954105c8a7f2d92a552d6397ef69af029652ba5528df999c569fae32955d1b194b0f7c4475b3fc870656b473386a";
   hasManpages = true;
@@ -30420,6 +32928,7 @@ mathspic.binfiles = [
 ];
 mathtools = {
   revision = 70607;
+  shortdesc = "Mathematical tools to use with amsmath";
   stripPrefix = 0;
   sha512.run = "68ed026c12d7fc07b1d7881654a197e1fabd7bfeae278c3243bbde9449aeef3ecb4e7606e24e964f2cd488e475f39cbb9a632ba077c1229067df883e853186cd";
   sha512.doc = "fa3bbad3d9fa4bf678cbb2254cd2329c515cac6387d17953e66f273a48500f1a04b25b4de4c8a8a94cf79d86572be56bd2ceba01de8c9a72a92844a127b3c8ad";
@@ -30430,6 +32939,7 @@ mathtools = {
 };
 matlab-prettifier = {
   revision = 34323;
+  shortdesc = "Pretty-print Matlab source code";
   stripPrefix = 0;
   sha512.run = "840d860303925d148c10a980218018ed14e2d0ba2b1638f8328308a0400e8862ced7cd28822fd81c3c3533d2ef4cd37e1c4009065b1300011898fefb407ac202";
   sha512.doc = "22b783fbe09f661d1e5034cb623fab29e54df35b4f0379579f430b17a80236a843c15201b6583bf58f22ae39dba34d7f5a4f8482b1c6d185822940c67ac06942";
@@ -30440,6 +32950,7 @@ matlab-prettifier = {
 };
 matrix-skeleton = {
   revision = 65013;
+  shortdesc = "A PGF/TikZ library that simplifies working with multiple matrix nodes";
   stripPrefix = 0;
   sha512.run = "55a7bc16ea6afd1e9e623b2fe9e8eea8e7db2a98be58432a296500a246dba7556bb5f79c062b72c0ae957822760ee2494cc3bb2ceba7ab54860f96e87dea53ec";
   sha512.doc = "acf72a0c4e065137df6a803891fc804579e799d5aa3ec2d509f26284e64bb86e52c4c4f287dd87e5d0c1f3f73ef9a13e2af2459223f3441dda2b74588f7f6ec2";
@@ -30449,6 +32960,7 @@ matrix-skeleton = {
 };
 mattens = {
   revision = 62326;
+  shortdesc = "Matrices/tensor typesetting";
   stripPrefix = 0;
   sha512.run = "3b58af4da3a0c8abb4499a28e993dc3bf128fc24188bc906d3bed69ba3040aca66d341122cb0e57adb18ccb4320736d7b27423ec8f6f6dacce4fb7bf4bfc5d08";
   sha512.doc = "6139624ff7f8b5063e69c07738e07ae8a1bd1dd48c155b73d17466d4ee5aae25d377e7b7c0726e84e89010d99731d337187ea017f934889843360533c7218c77";
@@ -30459,6 +32971,7 @@ mattens = {
 };
 maybemath = {
   revision = 15878;
+  shortdesc = "Make math bold or italic according to context";
   stripPrefix = 0;
   sha512.run = "32520ff01d76e11bd70694a07b86272425680ca8bf21b6da9412c133836f9ecbc9a9537377ee67cf9292e33dedaa1d33e906b4f681b89f075d1fcbbbbdc989dd";
   sha512.doc = "b0f978f89ebb7f681e7b045d03a9a6e7e9083d7c468c91d52ef417c85d707243fa0ef253b3e2d1f1737a9c7235fefae06c4a8fe2975cf2c13f7f09ada7752f26";
@@ -30467,6 +32980,7 @@ maybemath = {
 };
 maze = {
   revision = 65508;
+  shortdesc = "Generate random mazes";
   stripPrefix = 0;
   sha512.run = "e09c0b0d00301dc1d90f66e774f6fe0ffb1c4305498f9aa4b41bbf0460940a2570e40bd8359e30d1d521418111ee9c6e6c8e61a6a2efbdaa484d3f8436f44fd4";
   sha512.doc = "cfa47a5d16d4533fdcfdf4ad19c5560fc897da669c4b9bc5a5f7723a6082fcf1b29fbe410117bab9249a526d7c720cab400afec1945b24868f7b73e46690a2ea";
@@ -30476,6 +32990,7 @@ maze = {
 };
 mcaption = {
   revision = 15878;
+  shortdesc = "Put captions in the margin";
   stripPrefix = 0;
   sha512.run = "c3e1c2948e2687bf720dc05dfa1ed6140a1ea55de3cad7ebcfe518d720ed96793b6bde32fb0882cae773f986b11150482fdfb382391650a8c513131b7041555a";
   sha512.doc = "e803f5731e6ac1c299bc3a42666acb81a75a3f110be729639357a15633e0e7b8ad0a244820b96ae9f8b435d9d1fea54a0b7f14c5db02799b3a632b2f0c5cb4b9";
@@ -30486,6 +33001,7 @@ mcaption = {
 };
 mceinleger = {
   revision = 15878;
+  shortdesc = "Creating covers for music cassettes";
   stripPrefix = 0;
   sha512.run = "0792d7a5289965b2379001a54177e1aed4a3356d8611e52ef77f5097bed1918dac324bdf5c618ca76d2925d11539b623cd9d4016ff0f4d1f9283137816ec145d";
   sha512.doc = "2dab78fd096927e3958d7270ddf15de9350ec30d1d000e7cf92be3b249ccf70e6faa1dce482a07995e65b4a4549693ce3b34d1a63bcc403ebe81f3d1887ecf90";
@@ -30494,6 +33010,7 @@ mceinleger = {
 };
 mcexam = {
   revision = 60481;
+  shortdesc = "Create randomized Multiple Choice questions";
   stripPrefix = 0;
   sha512.run = "3c75869bd0e65798fa451d971ff441f3a42daa0647c31458631c388cd14cbb36fe4f4dc9178e59fdb307de590d201e8716b1a86dc9b995aa184090cbdc95c9d2";
   sha512.doc = "30a7f5cf9b01e8619c95d63ebc2e3dce27beece3a4da6ed4d68843c171257f37d7883969edc94766e065c5bbdd78a2731d38666d2073fd5d77873d5a88b3f820";
@@ -30503,6 +33020,7 @@ mcexam = {
 };
 mcf2graph = {
   revision = 70167;
+  shortdesc = "Draw chemical structure diagrams with MetaPost";
   stripPrefix = 0;
   sha512.run = "4e243f8410b3ff8688365ff1fc90da5c81adc1a3ea426d2ba92c18a1378f76e5f00bf2f7aa97c39387caec9b1803fe0603632d1197f31fcad4a860dc3b93b579";
   sha512.doc = "ddc7500877bf459121a7ffe242618efdabe2e201da58f9038fe863451456a013816d66b807df74735a6bd1701cb72341bce771489e186b21c404d623d58b8205";
@@ -30511,6 +33029,7 @@ mcf2graph = {
 };
 mcite = {
   revision = 18173;
+  shortdesc = "Multiple items in a single citation";
   stripPrefix = 0;
   sha512.run = "71276681ec29d3d77450a8c343d64a1ea734bb48de0d693a4e9ca795e4a4c9a3d5f4103b5641c8684d49b5c95f56bfd08bd12e1d7e37d06f9170008b51804897";
   sha512.doc = "8c5ae4b1beb334ecba3294108345bd616746ee651f03d39a7bd5f5cac97f671a861fb046e29ae7565863aecf4b043ebe25bf9a4180889c39e48735251e430004";
@@ -30521,6 +33040,7 @@ mcite = {
 };
 mciteplus = {
   revision = 31648;
+  shortdesc = "Enhanced multiple citations";
   stripPrefix = 0;
   sha512.run = "5be1980964ea8342321964f0db1c750c33fee9f21724608a260ebed22500d1fcfb0fcb7e588a0dd030a6c534b0da904b8bfc3eb0da7b2df34c0b3f2b1b8fb637";
   sha512.doc = "5e720fc2b32ca00d71ade77fd0a47c6ef44d9b7692a8160ddc55a5f60495a40272a7a0c6c2f5bed923ea10703654f155701d4571d72805c1ef900780a209a0a4";
@@ -30530,6 +33050,7 @@ mciteplus = {
 };
 mcmthesis = {
   revision = 69538;
+  shortdesc = "Template designed for MCM/ICM";
   stripPrefix = 0;
   sha512.run = "8730424989cd18392214aa59d34b0885fc7966d3b2728fe8a4c05ddd042ce3a0fe54bf0ec6e602a9a7a6ead6df67b653b09c6cc360a14a9bf17bf3dcec3fc2b8";
   sha512.doc = "8beb47651814e5f6268da9d3b40d99e4cf1988d4ea10498d42af648c9e0a37e3e73392ecf91259a3164c06287c8db59392454f49aaeb480e4d5e2b350e7f8c64";
@@ -30540,6 +33061,7 @@ mcmthesis = {
 };
 mdframed = {
   revision = 31075;
+  shortdesc = "Framed environments that can split at page boundaries";
   stripPrefix = 0;
   sha512.run = "0cff0945adc04102e0b0a154cac1f78e9ea903b29e3f880156b888abeb4ca23565d39a7b66d8097c35534baebdf6af152c5b3830d08e1287e8e8d18e8f6344d0";
   sha512.doc = "06822404872899d6f509fa94f69cdcb81dd69866fbc5a82fd54ca361aaf27133140290cec2d08800dbb39c896ebb7cc19dc4cce38d2a0e45de9c658bbadf3352";
@@ -30550,6 +33072,7 @@ mdframed = {
 };
 mdputu = {
   revision = 20298;
+  shortdesc = "Upright digits in Adobe Utopia Italic";
   stripPrefix = 0;
   sha512.run = "2720c63845939d2befea3af157eae95d2550a216cd22634ab0a923a06d50b48e7133e914d210c5d3aaae6fd620312d23d2e55a015c2a24ee1881bc7ed4868778";
   sha512.doc = "8c8097552ffa1f11944203e818742bec244abc5a7708207cbb69c46ffc64acaac28ca390c1ee256cd1cf2af093e39189cc9bcf655e948062cd217b58acee7628";
@@ -30559,6 +33082,7 @@ mdputu = {
 };
 mdsymbol = {
   revision = 28399;
+  shortdesc = "Symbol fonts to match Adobe Myriad Pro";
   stripPrefix = 0;
   fontMaps = [
     "Map mdsymbol.map"
@@ -30572,6 +33096,7 @@ mdsymbol = {
 };
 mdwtools = {
   revision = 15878;
+  shortdesc = "Miscellaneous tools by Mark Wooding";
   stripPrefix = 0;
   sha512.run = "bd78773e42fe20cce637a8fbc7c0e3f4f37ed50810190ffcc035a20c83508b6b7de7f7432b7bba8fbd039ba62f43a5b5e1f4839acb3fe62b425b650f23ff71bd";
   sha512.doc = "06c8619d8bcce2c5cf9f5fce65318521bbb0c2ce53acd6b1793d0fe19a8f7a32c36ff68f355b6809491cec365d09f5f14b0589ddcbea6c5b48900d11fda4867f";
@@ -30582,6 +33107,7 @@ mdwtools = {
 };
 mecaso = {
   revision = 60346;
+  shortdesc = "Formulas frequently used in rigid body mechanics";
   stripPrefix = 0;
   sha512.run = "b240bfbeda5a18fd24625444403f508e3dffc5b3631a8ff6e88db6aebcc97da3eaa2ebb3ebb0d15b0c1bca0d7f62a72511a00c0ca1870f6d0d3e90398bbc5754";
   sha512.doc = "42744543f456f1c77a30be81b4dc47f69b220d2d0abd8cf7f05ec7136bda9f55f98e63a48cb9b2fb65d6fdb3270bce7a31cbcbece15527d4141bac301dd55963";
@@ -30591,6 +33117,7 @@ mecaso = {
 };
 media4svg = {
   revision = 64686;
+  shortdesc = "Multimedia inclusion for the dvisvgm backend";
   stripPrefix = 0;
   sha512.run = "b5f9ffdd5fa9c28b2d4fa71bf7e6b207ca1632d98ee7a9018f2eb84cc602edcb6434917c2cacd2bd51b7f34c893c099e94e9518905700218f03da224a3df2fbc";
   sha512.doc = "50fc60d4bd74cf3c009501d37f02c9cbc98b11a5b498a55edce56801fe3e6b4e247c038525c9c76df108df0d991d797935ba131cf8b74dc27439f75b4a3890f4";
@@ -30600,6 +33127,7 @@ media4svg = {
 };
 media9 = {
   revision = 64047;
+  shortdesc = "Multimedia inclusion package with Adobe Reader-9/X compatibility";
   stripPrefix = 0;
   sha512.run = "3eab7f0687395941f6805db51fff943b6bc795a8a5cf2fb2ed9f03f0103b4fef0bfebdf449701a051b72d8f18a8e332ec02f1893812e4be6d31a56980d50a1e4";
   sha512.doc = "e3f97ec8b1fbb345e42f641eb37f6210d4ebc2e791f6ca21af6c7ac7c7f86c149fa874cafe6a2eb1d47508e2a72aded6ea40b381393ae79e9baab5ecded73c6c";
@@ -30610,6 +33138,7 @@ media9 = {
 };
 medmath = {
   revision = 69510;
+  shortdesc = "Better medium-size math commands";
   stripPrefix = 0;
   sha512.run = "29039ecd484047454355d009688d5ac4ab4ed5d79a90039025454d13985971659b33476cd0306da52c1afa1a5fa87855b37a8c32b072a094abec28af204abfc6";
   sha512.doc = "19f64ba210e9f3b7a03775cbd3de1b9fc1df69b9e29034f0e46a5ca5a480905565ecc484c6fc5b0b5b7eb9bcff79b8faa8a05a0bad1128f7c224ae732c2973f3";
@@ -30619,6 +33148,7 @@ medmath = {
 };
 medstarbeamer = {
   revision = 38828;
+  shortdesc = "Beamer document class for MedStar Health Research Institute";
   stripPrefix = 0;
   sha512.run = "731eb6f78875aa38a90a228626d7cb5b7129c60085418d7ddadff056c9b82f8db95ee17f20ec8cd4611aa90bec391868f6b0b16fa0eae518358a869b576c150b";
   sha512.doc = "1605cf9ac4eba56059b6e90e6a6e7f3cba9a924df1cf3dcfed300e218bbb71d79bd69b47a5e376da209490a8869061d6de8415e1670b4ac5b0fa977f74d7c035";
@@ -30627,6 +33157,7 @@ medstarbeamer = {
 };
 meetingmins = {
   revision = 31878;
+  shortdesc = "Format written minutes of meetings";
   stripPrefix = 0;
   sha512.run = "315897eff4ae50257057f8191ff92535b669fb174a2eca5c368a9a4b9f75cd71ad745f3feff1c6863705b3e9e4a954afa449cf56f86bf60c389250842aef5215";
   sha512.doc = "6afbfe02ee39e26e2f38ce462affa66e7e0acf5f26534ff9ace0b26b4e63514a3b1702e34bf478988a50c55fbb09b7d9421a8e79da6a6c46de88c6a958afa874";
@@ -30637,6 +33168,7 @@ meetingmins = {
 };
 membranecomputing = {
   revision = 64627;
+  shortdesc = "Membrane Computing notation";
   stripPrefix = 0;
   sha512.run = "831c579f8d66e265125e3a730338d01fe98d87241f2b52c7060ba3f852667a30afe256f37327497ea21e77cbbbee0017f23bd1f51c59f6445b4552e7cfb52ba5";
   sha512.doc = "5b6479efc72f8e06e54d17c5a3ca4e63f0fe942bec8f0a1504365a97b59ea260891f959939165879aab0d23887b98b2ebce8fab4789959d1c2de3b37c3162aa0";
@@ -30646,6 +33178,7 @@ membranecomputing = {
 };
 memdesign = {
   revision = 48664;
+  shortdesc = "Notes on book design";
   stripPrefix = 0;
   sha512.run = "42949db3193952d1ae75855110ed40a1ff467b3cef0bb6d43195bac960a0873a47fad002695ad1376da2d4a1df5e1e05f89289102780d27b173da2e852b53cdc";
   sha512.doc = "f4dfa00676379ce33857cc0fdeae867d1ae5c99e6767884a029285a94d2197926a68cd85c574bd876a2eeb85f0453520ef5efcb7f2a71a77c725f8066e7adf8d";
@@ -30653,6 +33186,7 @@ memdesign = {
 };
 memexsupp = {
   revision = 15878;
+  shortdesc = "Experimental memoir support";
   stripPrefix = 0;
   sha512.run = "74931ebb1a146edadcde19d8c404ff8df750c4eb8f2f59fa83e6da9f8dc6567005d51f58e4b7bd2cdfa6b960adb072e9fee7b1842142076df88887c3c2b41051";
   sha512.doc = "645bb189fca1c74e249745ad42c470dcd5d9fa4412a6dfefbcb6377555047bdbcf005f1c07977762e0026e8a4f8ea49e6965a7d50b0d5d5e7efd0228ac2141a0";
@@ -30662,6 +33196,7 @@ memexsupp = {
 };
 memoir = {
   revision = 69600;
+  shortdesc = "Typeset fiction, non-fiction and mathematical books";
   stripPrefix = 0;
   sha512.run = "ef905bedb5b27fcc0e65e2b86ce9f949135e0bf4c857431a0af68eaf5a4472e69ffc687d243560d69a3727d8db2388ff9da7c86283e625964ffea677f7e80c0b";
   sha512.doc = "4e2b4f36a5a894ed7579e1018e0ca2309791716fb9e36623237c9c4021441893c634ffabdbb33bc23b63a599d4576bd1ce2f1c549d424c9d87c6df2b12e43a09";
@@ -30672,6 +33207,7 @@ memoir = {
 };
 memoirchapterstyles = {
   revision = 59766;
+  shortdesc = "Chapter styles in memoir class";
   stripPrefix = 0;
   sha512.run = "0a109f84bc4d908b1d32bfe3ea0591c81f3de757cc5a5cc1aff3e60b1d2fbfec2e8b760fc0d07faf1fec62348933149a03c8c6147fbc5ffddae30b74a131a100";
   sha512.doc = "2f8a20d21dc1db21017435cd58c4ae3ff744b5f5605aafcfef6dfbedb1461a8fbee456ffb8ac1399416f7ae6b8ebec5d59b5d50886182ba5116e22e3768fd530";
@@ -30680,6 +33216,7 @@ memoirchapterstyles = {
 };
 memoize = {
   revision = 69522;
+  shortdesc = "Externalization of graphics and memoization of compilation results in general";
   sha512.run = "ebe8082704f8276468b392fb0efa92ccd65616fe48296160669ce10b99b31a6d73ccbd9078ecc9c8fa520c31130bc57f3dc8561267ed64d9d6ea14b28a32f909";
   sha512.doc = "635e985c02d8867acebf493cead0e80ea7b481c98c5615cfde781ad850bfbfbf606d2dad5579dfe22085f7947b2976d9e26b397b8509e31fc5018e074f852848";
   hasManpages = true;
@@ -30699,6 +33236,7 @@ memoize.binfiles = [
 ];
 memory = {
   revision = 30452;
+  shortdesc = "Containers for data in LaTeX";
   stripPrefix = 0;
   sha512.run = "9b760613dc36895edf50a592aa5ef994a30117cc9da6ea256835cd3ad9ed62ab8d8c39de95bda5058d1bd3f06451d1c79d78d52ff6d068c28d75410c5ad98516";
   sha512.doc = "479428f1af468d909fa291388cde319aff1ac9ef6d7c0168577c5f6978c0fa7e6b23f8f81dedaf746b7e394c92d51d5799bd17aa3488207be494621b77220cd3";
@@ -30709,6 +33247,7 @@ memory = {
 };
 memorygraphs = {
   revision = 49631;
+  shortdesc = "TikZ styles to typeset graphs of program memory";
   stripPrefix = 0;
   sha512.run = "e35c7e727cf5d6e496c9c0e52252b5169670006b9bc9e96b1c95584085d57a3f25cb9464bb55fc4138640ebb6fdb079908cc49c0f1bfff130a509b6866d3eec1";
   sha512.doc = "1c04e25d1c16348e594191c17f9f104e9388bb608b10783927ab3412f2f316138d6b41242046f12853b37560873bb61e0a0ec3f884cf8fc26ae2ba5809b094c0";
@@ -30718,6 +33257,7 @@ memorygraphs = {
 };
 mendex-doc = {
   revision = 62914;
+  shortdesc = "Documentation for Mendex index processor";
   stripPrefix = 0;
   sha512.run = "76f59e31e7d2a4240ab7b258745a7c94b8d78f8e308ad2bcf0ab85fc2d4b0ad77f7e1268014960cd29913bc3a81fdf2d6bbf6a8ab0b0845f2587c3134efb20c0";
   sha512.doc = "1a56d1ceab9536869e6d7da57146bc126f45893bfa998ab42eaddca7c48a9ee9d5b69abb31cf02cb6590d7acab68029f5eacb8547de6e877ed893c5f51acd923";
@@ -30727,6 +33267,7 @@ mendex-doc = {
 };
 mensa-tex = {
   revision = 45997;
+  shortdesc = "Typeset simple school cafeteria menus";
   stripPrefix = 0;
   sha512.run = "c453044a7f744cf89605996d0b913c56208f10c46e26e0ba37a85bb1d63ed08426a18d87cc7841aabcf44231c71dc33a5c858de482c6d48759893066168d5fc8";
   sha512.doc = "8297e3f69517f3bace8f509dfb42616e223073f5d428c2269d9dbeeb53579f105fb65755b22ab552e5635f1267e437c4aaeda284a8325b2d95717cf7adc2de01";
@@ -30735,6 +33276,7 @@ mensa-tex = {
 };
 mentis = {
   revision = 15878;
+  shortdesc = "A basis for books to be published by Mentis publishers";
   stripPrefix = 0;
   sha512.run = "ee03fae28adbf147945a88548e8223bfe8c8ce220a61726bc6738f34cc90ec776aa468a1cf7fc862d1f7f091cf87964cf665839922819130f3575d56301a5d26";
   sha512.doc = "2e869d1368b807a70f3de5550d2c79f229dbeb8d888a927005fcc43c70644da0ccd36eb2464fa6437c9947c78d59e77c4013824b1e8d5a4bb517b80f1cfb5a8e";
@@ -30745,6 +33287,7 @@ mentis = {
 };
 menu = {
   revision = 15878;
+  shortdesc = "Typesetting menus";
   stripPrefix = 0;
   sha512.run = "2b2560a1df5091d19ff37bcbac1465fbfc54a848e4d19782602d656bf42abe47bd2bb1946f87a127c70725cf508ff9712337f3a8719d1fc0bcd4dab4473c7bc4";
   sha512.doc = "ce8ddeed4e1bd859865f548d8ffc6978a620d9003f908d360e656085f6010a0f179218cc8b2bda4f754685369b53ad59245fef8d8f8a766b241f092162bb76b5";
@@ -30755,6 +33298,7 @@ menu = {
 };
 menucard = {
   revision = 55643;
+  shortdesc = "Typesetting menu cards with LaTeX";
   stripPrefix = 0;
   sha512.run = "2cdbe2b8acdc12e4fc0b7d8a93afacd30ea2a8bef6a3f1766d219227e77cf06d26f1fe24206f15dbfd6d0a7507780955060df1056f14cc546e9a3c781c36f307";
   sha512.doc = "0133f249cdaed1bd565047974868953dce96c4b9ce143cb8c1170194d0ef1b1e6d2e4088004edd831ae0ee1f5e736a1a297bfce75c1bd4b600b3b14a270e746c";
@@ -30765,6 +33309,7 @@ menucard = {
 };
 menukeys = {
   revision = 64314;
+  shortdesc = "Format menu sequences, paths and keystrokes from lists";
   stripPrefix = 0;
   sha512.run = "624bc3f2c0cbcf4cceacd555619b5e3932c7c8623e44f4b313390af47143908d019fa7e83d28f8ce94a5e44df40aa73d6823edc931bf8b289d20fc2bf42616b6";
   sha512.doc = "5edf9b9e2accb846aa352046e37af630d997480a3483c53796e56066c1df00798b7615d13bf69d822ed9caa300f6abf624174cf7136caff8fd14c5d23ce2b68c";
@@ -30775,6 +33320,7 @@ menukeys = {
 };
 mercatormap = {
   revision = 56060;
+  shortdesc = "Spherical Mercator coordinate systems and Web Mercator tile integration";
   stripPrefix = 0;
   sha512.run = "552c0fcb0eb72d55c51a2e9e4d055cefa27859d8e1a4410934fbbe6c139b4ddbad7e2444974acf4035fb29cc4bc8c3f76d33ef6c6e73e91e57e4225c102afd9f";
   sha512.doc = "446be6f13150ba3490890b528fe04c8a8080213aa6a5b66fe61e3e58ea4fc0bd03581aa96b0ec355c5ec725187b7b681507f961a9b29350cf07bc19bd2c0fdf1";
@@ -30784,6 +33330,7 @@ mercatormap = {
 };
 merriweather = {
   revision = 64452;
+  shortdesc = "Merriweather and MerriweatherSans fonts, with LaTeX support";
   stripPrefix = 0;
   fontMaps = [
     "Map merriweather.map"
@@ -30795,6 +33342,7 @@ merriweather = {
 };
 messagepassing = {
   revision = 69123;
+  shortdesc = "Draw diagrams to represent communication protocols";
   stripPrefix = 0;
   sha512.run = "8a2243bb9b788a4dbb1caf14368fdd4df3919d9d407b65f2d4f49af16a341a030bd9114f86078623760dc3ee5db060060c58c6f675f4e8bdbc3c1c7c9b7a1d3e";
   sha512.doc = "c26c14eccc615a306b8ebe1a5c80a09249d5ba8668a34e2f7141b034df70634a277ad94078f2f50e51e53c514340571f9cb766232c3e2dc0ef5dc28336ec4e4d";
@@ -30805,6 +33353,7 @@ messagepassing = {
 };
 metafont = {
   revision = 66186;
+  shortdesc = "A system for specifying fonts";
   deps = [
     "kpathsea"
     "modes"
@@ -30826,6 +33375,7 @@ metafont = {
 };
 metafont-beginners = {
   revision = 29803;
+  shortdesc = "An introductory tutorial for Metafont";
   stripPrefix = 0;
   sha512.run = "39352d8b181f3010fd4dbfbfad18a8cd3f68f0c38bdb89996ea4c77a649acbbd15e9a7fa318193db08733b3722a07a8ebfb17a6430bcc9af8101dc444608d75b";
   sha512.doc = "4fb7148b0668845447fd38411df0288972312a56897b1d5bce69a7e57ae632aacd12c273a911045204705a5534ac1d1c290af08a7057bd62184a59eb7146feb6";
@@ -30838,6 +33388,7 @@ metafont.binfiles = [
 ];
 metago = {
   revision = 15878;
+  shortdesc = "MetaPost output of Go positions";
   stripPrefix = 0;
   sha512.run = "e7b3661d99ea50f7b20fe3af370e59e960fc0599409b5c11bfc9618c12c38e44b89e4e81d69ae7ba5e2565e46078ee52ed0bef46aa619408b386bb73926caeb7";
   sha512.doc = "8396725c0afc87c63d16256d5ab0d575a19f05d78ed245099a60785f0810a012e8c0026cf13d03781d09d7c0007bb9ed9b87072ed732ba706c893e5465461052";
@@ -30847,6 +33398,7 @@ metago = {
 };
 metalogo = {
   revision = 18611;
+  shortdesc = "Extended TeX logo macros";
   stripPrefix = 0;
   sha512.run = "20d5a9b8454166535aa3aa80da7d2931937fc6a4d730c1ab70c856311c223d466e9fce2ed6e3b2fbf4b4fc75778d7d4c2649111df5f92dd58b6fc42b3ec72696";
   sha512.doc = "48318b396e4e227dc1b80e21474a296ba4dfd37e81b95f9669dd8c96ca7318abd8a1e21ceb95e0ca7832ed64a85ede985fae7e2e52b3aa742c64b86e54fc563c";
@@ -30857,6 +33409,7 @@ metalogo = {
 };
 metalogox = {
   revision = 70496;
+  shortdesc = "Adjust TeX logos, with font detection";
   stripPrefix = 0;
   sha512.run = "b78976ad7e84e59ecca68c0e7ecb496f99f4e50ed5e1636b5675bb0c290f3f4d4d00b02dfe55c78ff4c5ae936e19c8110cdbc1fa76fefc1ee8b31a2c481625bb";
   sha512.doc = "64211eefedc7175e4859deefaaf89d021763b76cfa3509c8f6da27017993012471b3b894949d3c70eb1f5286bbbc545c712b041440e05df46bbe0ea82eb090fe";
@@ -30867,6 +33420,7 @@ metalogox = {
 };
 metanorma = {
   revision = 55010;
+  shortdesc = "Write Metanorma standardization documents using LaTe";
   stripPrefix = 0;
   sha512.run = "e9ca6b583cfc64ee78abdfca2520083dc231afd7bcc0b1b8373273c23da3f3bb961bad04d752cca38113d3a4d8e1ce54b401b96ea29e00e78be97d73bc528b4f";
   sha512.doc = "3750e580e3d7d0d69515e0de7a88a161cd8e7092af41be10fb4092cb519ecfebfef900e691d0c92ceb95df236cf040b2a314d54bfd8a6f7a09cb3c9585f15a32";
@@ -30876,6 +33430,7 @@ metanorma = {
 };
 metaobj = {
   revision = 15878;
+  shortdesc = "MetaPost package providing high-level objects";
   stripPrefix = 0;
   sha512.run = "cf587c174e44da9496ece876bfcb8330bc52173cc3bd6d1b1351efc75a7c333ed8c7cbd41c079d492947a1ee43d8043fabebc80b4c7a5d348eb054e82c704e3b";
   sha512.doc = "0bfe1fa6a4b3a8923cfbe9bdc4fa1b27567df66365db447346fdcc739675d1d815515e09fbe96f44369643c38e6a8007a0f8d089ed8504020fe0a0e2a795ea9a";
@@ -30885,6 +33440,7 @@ metaobj = {
 };
 metaplot = {
   revision = 15878;
+  shortdesc = "Plot-manipulation macros for use in MetaPost";
   stripPrefix = 0;
   sha512.run = "eb083316720a5d7379c0ef7c1afa0e82ea5df63a3a98200b7041637a6fa47aa33dc20a265e05bdbc63abfc375e6b59fa199d4091875c057a044821c557963dab";
   sha512.doc = "1732b5a572a3d4c0a646308d3c102be29de845030a624763dd6075a44a739a29e65fd9f224229eed6dbe8dfc6b590a3df1cc07c184881dcd2f3dc5b0642a48dd";
@@ -30894,6 +33450,7 @@ metaplot = {
 };
 metapost = {
   revision = 66815;
+  shortdesc = "A development of Metafont for creating graphics";
   deps = [
     "kpathsea"
   ];
@@ -30908,6 +33465,7 @@ metapost = {
 };
 metapost-colorbrewer = {
   revision = 48753;
+  shortdesc = "An implementation of the colorbrewer2.org colours for MetaPost";
   stripPrefix = 0;
   sha512.run = "e59dd121f9a176e628697e31b720507723867a0b7b68b73531aa825bb02b07d04ff705bdfbeb369fe3a2d304f4c6c5aad3f823aaa4c82257540f1459cf099cb1";
   sha512.doc = "59f17d78ef78a142bde5783996f149b3a7c740c2b3ec6f90133115ebddcf6c460dada543482f5379872054a74eb772bab8afd96fa48b2484f7932a478b8bde2d";
@@ -30916,6 +33474,7 @@ metapost-colorbrewer = {
 };
 metapost-examples = {
   revision = 15878;
+  shortdesc = "Example drawings using MetaPost";
   stripPrefix = 0;
   sha512.run = "95942b1b110e65274839ba01c16fed3e63a0ac99aa564d7a000bc9d9a0f5625ddc1dca13e786d0721bf93e76410722d4d76c86a05297bc39cd9af6dc91c2e6f8";
   sha512.doc = "2a3aec80b511864878e07ff973e17ed4fe1aec692c7e6983b57dde586aa19500cdd373687b0e081dc80c8584f116f0fa3de7ed4f09ba232eee8adce5e998c954";
@@ -30929,6 +33488,7 @@ metapost.binfiles = [
 ];
 metastr = {
   revision = 56246;
+  shortdesc = "Store and compose strings";
   stripPrefix = 0;
   sha512.run = "fb3a0484636e17b763c1229eee4736a13820a852d977b11d9e8672e08a8ab2f9438bba0ed53286dfc5b1422adef1cfc1c393d1eeda5d3172848c051d6aacd211";
   sha512.doc = "367ccc05eb31c50519e7324093759d6452081075d7e9435cb9e37e9787fd35666c1c18c822bfbff2b6dba0b312cee727ce8b7fa94ed627eb439c3c00e5b3d4e6";
@@ -30939,6 +33499,7 @@ metastr = {
 };
 metatex = {
   revision = 15878;
+  shortdesc = "Incorporate Metafont pictures in TeX source";
   stripPrefix = 0;
   sha512.run = "8d438cf0f3bd375c169681b242b7f00dca96cd3bcfb167c6aa664e27dba59eefb53a6d28ef537802d584b17bc578b1d63ca25799146ee6d986bc647ae1b0af2d";
   sha512.doc = "3c2918a3bbb30b4abe2395baf32ed2fd5fb1ce3541f86250f0c4037aeb127fe7e90cfced87144d564813a437b39b184503ea9a2c0c61b979907db74d91860677";
@@ -30948,6 +33509,7 @@ metatex = {
 };
 metatype1 = {
   revision = 37105;
+  shortdesc = "Generate Type 1 fonts from MetaPost";
   stripPrefix = 0;
   sha512.run = "1dc34e3f826ebf09c6f3baf358aa0e5ee4ecbe86e2f82a7da12c706f443f5eba7fd8582bf46612b2fa3588515dac34c49d47cfa2b9c3ae905cc51dbe7779eb28";
   sha512.source = "26f891bb5a62da78763df29f1d9caf26588c6dff57e063eb445ae23a5dfd7108956068de991bbb514ee394c49d4ad119d4a0fdb5398aad48d9be223b8f13d388";
@@ -30956,6 +33518,7 @@ metatype1 = {
 };
 metauml = {
   revision = 49923;
+  shortdesc = "MetaPost library for typesetting UML diagrams";
   stripPrefix = 0;
   sha512.run = "96773f0d0e2788d13738930fa1aa727c7ca2edee020f3848326d7be3533c177ac977564aed533c59695b1e6c4c65e191784cbc3e7e70becdd651cd702b462ef5";
   sha512.doc = "6c649c32111a6350d36c69405fc272a917144be429bd84c0f118a74e1232c06744e66fb6647c5a742f58c6c78b46830a1484bbed3a9a962380ece6b16c555169";
@@ -30965,6 +33528,7 @@ metauml = {
 };
 method = {
   revision = 17485;
+  shortdesc = "Typeset method and variable declarations";
   stripPrefix = 0;
   sha512.run = "9b71ed52073f831431ef6a3a81afe7efac97a6dd39d772b8f48cfa639dfec01411a5654830fcbaef6a3bef7aeb718bbbc38cbd18c592a080e67175dabc7e9919";
   sha512.doc = "2a211d1325322bfaf57c81a534f29fde51ef2e0dad8d7697c3af9fe10745c5f6245bb689b65d54c39a66b34ccec69d055f201aba34b2a4957ce2fea0827eab45";
@@ -30975,6 +33539,7 @@ method = {
 };
 metre = {
   revision = 18489;
+  shortdesc = "Support for the work of classicists";
   stripPrefix = 0;
   sha512.run = "29d99fe061c828b4eef12047215451eaf6d603106b0ebb0b7c83c8f8b5ffd360160e29a0c86bc0cd329e6f694efae695ef03282885e872cf26c8177f951b705b";
   sha512.doc = "73ca10e1d2b32d4f7b37de6c409b68dc38b3dd165f47f52714c3a17e7a5dc6c1562928e7a7f8c5a3ed9aadfe1324e451baf6cda5dce69043fef3811cb6ff8cf7";
@@ -30985,6 +33550,7 @@ metre = {
 };
 metrix = {
   revision = 52323;
+  shortdesc = "Typeset metric marks for Latin text";
   stripPrefix = 0;
   sha512.run = "00cbb4d0cd9417c57ae2cf701f0a485d296e17b95eb56a7a3b0acf328c4eadf3d8ddb7d4c3442ea26ef019dd4a6b5c95af9f718cd4e31b5e5d29301ce8e82edc";
   sha512.doc = "e5f8654272e8a85366c226113d3815ffb1e539237bdace71da55e30864f8c746162ce1b3f3023e3e62616b286145157816aedc871c6c42dcd3d4b76092d8ea46";
@@ -30995,6 +33561,7 @@ metrix = {
 };
 metsymb = {
   revision = 68175;
+  shortdesc = "The package provides dedicated TeX commands to generate (vectorial) meteorological symbols";
   stripPrefix = 0;
   fontMaps = [
     "Map metsymb.map"
@@ -31008,6 +33575,7 @@ metsymb = {
 };
 mex = {
   revision = 58661;
+  shortdesc = "Polish formats for TeX";
   deps = [
     "enctex"
     "hyph-utf8"
@@ -31058,6 +33626,7 @@ mex.binfiles = [
 ];
 mf2pt1 = {
   revision = 61217;
+  shortdesc = "Convert stylized Metafont to PostScript Type 1";
   sha512.run = "ca93a3ae439f9cd8029720bd1d90fbe75a403e7ab4ebcbe1ba1e5a7a28aa9269197f90a4aee849fea59d734d5dc38f04eedc140ff1be64fd805a10ab5510a2f5";
   sha512.doc = "6c10831fdcc48d25645be675fbf5da29da945bd79032c60e73e04a39d61c287a64e7b884381ac0b08e48f5dc9b6dec27efea874f6e13d6e4a5e3f32c22fa3ce2";
   hasInfo = true;
@@ -31070,6 +33639,7 @@ mf2pt1.binfiles = [
 ];
 mfirstuc = {
   revision = 64743;
+  shortdesc = "Uppercase the first letter of a word";
   stripPrefix = 0;
   sha512.run = "2fde98490744da1823c5d90b8fabaa9c02d33f3f974fc7f0f6b8ddae4d8ec86f563a4fb491644d53a13b8632fbca2c7768970eea018c6112dc76d21307d89166";
   sha512.doc = "43fd4ec0bc778fc110c0002ebd8a1fd25374d9167c8b64857b29bc3642870c89f02deb406378bfa0fbc46825af6fc6622a1029880189f37d58efea74a983f5a3";
@@ -31080,6 +33650,7 @@ mfirstuc = {
 };
 mflogo = {
   revision = 42428;
+  shortdesc = "LaTeX support for Metafont logo fonts";
   stripPrefix = 0;
   sha512.run = "a1c5168e37fd9cbe5fc2714ee43143f36cec662441a7a9d33085652a5d6f769838d351faf416df6fda78529b5f8712f1a056afa47577fe925dcca5249f1fda38";
   sha512.doc = "6d1dabc636d22c824838a82da83a4676b20bb8a55dd1ab5628d00b4543096f91d234a51a312eb83544891910d923650f09e8911ec9db668f411735de6ef5bf3f";
@@ -31090,6 +33661,7 @@ mflogo = {
 };
 mflogo-font = {
   revision = 54512;
+  shortdesc = "Metafont logo font";
   stripPrefix = 0;
   fontMaps = [
     "MixedMap mflogo.map"
@@ -31102,6 +33674,7 @@ mflogo-font = {
 };
 mflua = {
   revision = 62774;
+  shortdesc = "configuration and base files for MFLua";
   deps = [
     "luatex"
     "metafont"
@@ -31129,6 +33702,7 @@ mflua.binfiles = [
 ];
 mfnfss = {
   revision = 46036;
+  shortdesc = "Packages to typeset oldgerman and pandora fonts in LaTeX";
   stripPrefix = 0;
   sha512.run = "33206fb4cb7ce8f18050d713be415abb95323599270b2b91c886e2ac3f24a58786a480e5d4d1ad6ad2083456231eacf94dc769b26e6cae7288e996c6e14bea29";
   sha512.doc = "f8421e58ede77c8817679fcdcb43fecfc519427b3cb93ed2594fef5c8ac8124e0563a2182803a2a6bc417982df298abc7fe092f1cae5ed7583e2fa6fe94c8345";
@@ -31138,6 +33712,7 @@ mfnfss = {
 };
 mfpic = {
   revision = 28444;
+  shortdesc = "Draw Metafont/post pictures from (La)TeX commands";
   stripPrefix = 0;
   sha512.run = "361983a020165d094bcd0fc9616be74bd2b5c72542b1e1b257b5ec42ac6be1175caf59c79e156da2bf6fecfe3746b4e33a4a8fc978eb124939ce0ffd2c383081";
   sha512.doc = "97ec26cc1ed8e181c7d69af264204772c9075e3650044b58cad938fd6918f9cbf5c849699e31846f437e41410492b67668a7ec33e848cf6b5fb9c2d52d7a7947";
@@ -31148,6 +33723,7 @@ mfpic = {
 };
 mfpic4ode = {
   revision = 17745;
+  shortdesc = "Macros to draw direction fields and solutions of ODEs";
   stripPrefix = 0;
   sha512.run = "4f3a314afb6b1f8c4fb07421244f2a05747f5d24194659053c561ba24ed90f325e82ab9d97981af6455081580f75e9e8f75d11f06aef9e1c027ed0f9bf17696b";
   sha512.doc = "9d5f38873cd94fc3248b619f68e04bdb1824eb1249cf02e555a60c3e84dcab78d3e04f9451e1803943e898ed7f55e33615f673da8c58569219650976c25f0ae4";
@@ -31158,6 +33734,7 @@ mfpic4ode = {
 };
 mftinc = {
   revision = 15878;
+  shortdesc = "Pretty-print Metafont source";
   stripPrefix = 0;
   sha512.run = "64fa5f38398a626d5a351be7ad866c75feb4549f836932dc936cb99f921e7b8abe5b3d6fc1e1e6c427344606ee5dacaf067d8678e7b199fa1ff8d5c94cbffa49";
   sha512.doc = "0846744cfd86bbcd8b6ad90d58bfe5788a79f43d05f3cf6f438fdef50cc4872ad8ec4d32005ced9ea9c424f3e86a799d79b0baf2a9544a3018531a99cd81fd5e";
@@ -31168,6 +33745,7 @@ mftinc = {
 };
 mfware = {
   revision = 66186;
+  shortdesc = "Supporting tools for use with Metafont";
   sha512.run = "f14b1f8876f8a4f2ba8954459c2a3739e0537d800fc1fde11aaaaa61400c18b9419edd3c7884ecac499da3efbd5219244c06ccab1efe17674b5458b464abd3ea";
   sha512.doc = "ec469dc655be20598ae40cdccd8360252cb216039cfcdfaab5f45d0276fee272a463f19db7f98f6d35b3e6930098536fe8eb4a453161646aa0ed33dd3f8773db";
   hasManpages = true;
@@ -31184,16 +33762,18 @@ mfware.binfiles = [
 ];
 mgltex = {
   revision = 63255;
+  shortdesc = "High-quality graphics from MGL scripts embedded in LaTeX documents";
   stripPrefix = 0;
   sha512.run = "920784d4332e4e1635e089878a55848ef4ad82a7b23e24a1bc81f71a08bb7af411ea54710533bf1f429e506c4ca5e94855c73d890929dc558274e108155e1a71";
   sha512.doc = "a8954ba22a30368ce01329b930486c02b317375636d85c7fdb7f14cf032173ab3f7a28ff6261d20cebdb8995560d4c7f41c03ed6285cfcaa555d405a06891432";
   sha512.source = "63b874341f2e18f88862ec5e6cf7064e9d4219070d274f0daa2dbacf8eb0eee5b4206167bd86520d10ffa0316d7ffe93615604932924b4cc04936db352073d1c";
   hasRunfiles = true;
-  license = [ "gpl3" "cc-by-sa-30" ];
+  license = [ "gpl3Only" "cc-by-sa-30" ];
   version = "4.2";
 };
 mhchem = {
   revision = 69639;
+  shortdesc = "Typeset chemical formulae/equations and H and P statements";
   stripPrefix = 0;
   deps = [
     "amsmath"
@@ -31210,6 +33790,7 @@ mhchem = {
 };
 mhequ = {
   revision = 64978;
+  shortdesc = "Multicolumn equations, tags, labels, sub-numbering";
   stripPrefix = 0;
   sha512.run = "bf1e2b11a9b4930a9ac364ad1b6e6f6097f346494196ef64fcb76dce00c9d3c3d145e852ddf321c0c8ee7444d52656e2db27e6a80c97b4c18c5fae283b8fd88a";
   sha512.doc = "aee8ac5b73692b37a9f0541c07787eef3dc173996c92aca250c35227f095416dace1e18be9fe6f2ae955610dcca9fea031a6b787fd2185138d7668d0cd269caa";
@@ -31219,6 +33800,7 @@ mhequ = {
 };
 mi-solns = {
   revision = 49651;
+  shortdesc = "Extract solutions from exercises and quizzes";
   stripPrefix = 0;
   sha512.run = "ac5beb872c78675bc9df379f8a2afe533647a1c39781c57fed2cec6e610cafbbb45a4fdcbd9826cb123a584e121ff752633d6c990109bb1f619b1d9fac6906de";
   sha512.doc = "cfd36e0a1476e0d148fb36f350ec236d57beb2c0b27f08eb56f69683790b16425a6f95b4f93a010fe0d450863fb34a7eb31b1c8e40fbe5319df128439dfa5372";
@@ -31229,6 +33811,7 @@ mi-solns = {
 };
 miama = {
   revision = 54512;
+  shortdesc = "The Miama Nueva handwriting font with LaTeX support";
   stripPrefix = 0;
   fontMaps = [
     "Map miama.map"
@@ -31242,6 +33825,7 @@ miama = {
 };
 microtype = {
   revision = 66587;
+  shortdesc = "Subliminal refinements towards typographical perfection";
   stripPrefix = 0;
   sha512.run = "c80e6bb2c13432ecae2be22622e3bbfe82342ca138f61870cb8f3c2d7ec93f431bee5ae0a9619d4ad6a842b0752ecb73131452d6ac5c5fba7732ad4d5c979fa6";
   sha512.doc = "6f7eb5d18fc2864c0bff52f7af82b3284766cef64d2ba8f4aa9f2f6d26af3e47e3be9d486f29e646e92ca597cc1129dacb5d1c03dbe155503ae046e4badbecf7";
@@ -31252,6 +33836,7 @@ microtype = {
 };
 microtype-de = {
   revision = 54080;
+  shortdesc = "Translation into German of the documentation of microtype";
   stripPrefix = 0;
   sha512.run = "cde294b4dd73d5948ef16b314e70745eb98bed30b4343c04885686533e2457a4aee07616e84eba6b0a552fb342331114de835d777d882308bdc1dba75927b17f";
   sha512.doc = "fa524a0225a57fc60bbad95cdd7855f4ba73691a6787c906ef5091183425a650f583340d65ce8b11792046c767b0b31e5131c62dcc281898457234134aec291b";
@@ -31260,6 +33845,7 @@ microtype-de = {
 };
 midnight = {
   revision = 15878;
+  shortdesc = "A set of useful macro tools";
   stripPrefix = 0;
   sha512.run = "8f8bf1d8d3c5c12147dd61a4d65d311552877a9f5eb7ebcce71602dc69ed5459187134d3a1e346a15255f2c4ba57f054c3d020817df0d5d89c7fc2f216b19cc3";
   sha512.doc = "0c594cac3c7e8d3064145f1b2b088d74a5445b7a7506fc2629b3df6f63419b025779e348116f7dbc859d7c406d87e5b5988d529e5da61d01b0759b0f0fec2382";
@@ -31268,6 +33854,7 @@ midnight = {
 };
 midpage = {
   revision = 17484;
+  shortdesc = "Environment for vertical centring";
   stripPrefix = 0;
   sha512.run = "9a13760b776cdce28cf3eb1e28e957265d7d4e83b23234f1590285bc83409f1d5b09040fc6cacd3b9f7a5ec2f61a4e5431fea92a5fcf20032c7bb919ed59612b";
   sha512.doc = "25f41bb8cb12c6d310da66d36032eb4933248f0c84a67216cd0981fda7e61343c0dee03e96f522bddf969e925e6cf495754e52e863672f1cab4e94ae3b0400cd";
@@ -31277,6 +33864,7 @@ midpage = {
 };
 miller = {
   revision = 18789;
+  shortdesc = "Typeset miller indices";
   stripPrefix = 0;
   sha512.run = "a1415d82a2a81c3dccdea1b59c4c0e8d2cb3902dbc6816cf7615fa3e571de26168a6a066f52bad94c38595102afcd1447721095bd084befc20b3fb3ad420e129";
   sha512.doc = "3f888fed2b909c269ead9e5191a788828048a21103c881a9b769fb0e8a3c0f3e6c41467827143f6b79a45d2497e3ac21d5c6da8727be3c987ab8a1fdbcec59ca";
@@ -31287,6 +33875,7 @@ miller = {
 };
 milog = {
   revision = 41610;
+  shortdesc = "A LaTeX class for fulfilling the documentation duties according to the German minimum wage law MiLoG";
   stripPrefix = 0;
   sha512.run = "126942c7be2217843d5dd0a6a927d1a47537ced3b1a083caa54b4905625b57238cc0a3a8d1652da076144b8c2469f418077eb4051527e5d351c2d95f3d3a5f79";
   sha512.doc = "251b73ab0f52ff2672733c3855289e012965151e07ff447da373bea083b1ff6bfeff38adef72419f03ca153545fdb90bb18f3aa254fa7b59d3c5c061ec5d15ea";
@@ -31296,6 +33885,7 @@ milog = {
 };
 milsymb = {
   revision = 66697;
+  shortdesc = "LaTeX package for TikZ based drawing of military symbols as per NATO APP-6(C)";
   stripPrefix = 0;
   sha512.run = "fdd01cd6a9a5b27ceb741ba689a82f1e695132d78b59c818fcf2e3ce63526109173b978246b1b556e355237ce456b6f632effd555c27b3096ecc1cd5f5bd22ed";
   sha512.doc = "7baa8152b3968047e66990eeeb94b601a0667a7db598a4403930328f6fa18595c46979772b8b496dd7b076e99e19969d22c8a3f4f19d3b82f01bd84bfa920db7";
@@ -31305,6 +33895,7 @@ milsymb = {
 };
 mindflow = {
   revision = 65236;
+  shortdesc = "Write your ideas in a clear way";
   stripPrefix = 0;
   sha512.run = "35d1b4fd39bb64fb1e9c89ebaf33d54051f0f550967362dee15294aeac0066f92b0437e688b5065795dc19a680a9f26c99cb1647c3ddacbe0054ecf553c2f9eb";
   sha512.doc = "4ad9f6c4e024f782dd1f0ec2e4847c45690c4c39410395cc4fb122f340b2dba0dbea5664f65640d2fc53ea301bba9e5758c7e29f3556511e307b6c0c2c46653e";
@@ -31314,6 +33905,7 @@ mindflow = {
 };
 minibox = {
   revision = 30914;
+  shortdesc = "A simple type of box for LaTeX";
   stripPrefix = 0;
   sha512.run = "18d409728f57cc2e423b5c74ad7ff4a9e93f2405497a96024769fb01f7604e019d914365f82fa5908bb679ce4a48cab64fd4435b531ef72235067481b8dbc96b";
   sha512.doc = "0404b375fb0ef258d0e5acb8e7a78a60a55d08ce7339b9b63b1711dcc6d40b6f302b0f35f7d1fc8bfbf431b66bb5aaa2c94e92ee8e788a5f2156031425c0c4a3";
@@ -31324,6 +33916,7 @@ minibox = {
 };
 minidocument = {
   revision = 43752;
+  shortdesc = "Creates miniature documents inside other LaTeX documents";
   stripPrefix = 0;
   sha512.run = "33a7938dc25833faef05245d00219ad4d94902d1b5a8f63de8c08448da1f4ddd8e305cd261a3051df919b097f0b3b82081b57fa420e773dc89a1c8cb801ba463";
   sha512.doc = "03ac398f6f8e79003b155434992a53b1485032ef779e5fa05a43adf7528fec1966ba94731ab2fc11cdfadce51bfca6ca9d1a88f882ca87f08d8e4077896af4c3";
@@ -31334,6 +33927,7 @@ minidocument = {
 };
 minifp = {
   revision = 32559;
+  shortdesc = "Fixed-point real computations to 8 decimals";
   stripPrefix = 0;
   sha512.run = "412bbd3466eee82a99b43d6f4a5998a0a22b20c2d51621368ecba1084010a5333bda9e221b07dcfc6ddea8810edd0dcf60c2be6f926ca0da33071e6a812108d9";
   sha512.doc = "56e1b71f8289c126df12091cf155c8c05f05a391abd40ff6ce0b84bb7620630a80747e23c25bbb4276aa5d110314076f61da72683b6846a44a53ad3515b91670";
@@ -31344,6 +33938,7 @@ minifp = {
 };
 minim = {
   revision = 70320;
+  shortdesc = "A modern plain format for the LuaTeX engine";
   stripPrefix = 0;
   sha512.run = "5c2905e433d296d4645a7f4b9ea4e8d952d3b97b3977a88dfbdb36278f399ea9be02a14f866c4615290a6ca617cd0d29498f330239832fcc2d2178bf6dca7515";
   sha512.doc = "35ac9d101c958af4ffe7909762edb173ad7af619d870dfe44408634160446568cf480c209ef5546142d390e89a155d902ec6dd921cc33511e5d84cdbd68a2a4f";
@@ -31353,6 +33948,7 @@ minim = {
 };
 minim-hatching = {
   revision = 62395;
+  shortdesc = "Create tiling patterns with the minim-mp MetaPost processor";
   stripPrefix = 0;
   sha512.run = "3d6720c4bbce847f1ca08279593398d162c80c14034ba6b8d168517ab30af883ce4fcc6cb0cea4dac0b0720be8fb8f67ddd131a026ed6ca5ea46182af1c41110";
   sha512.doc = "895a0b7731af0ea67e581ff4cc0208aca12d04ca862a15bc897d6e104a1bd9d7ef27f3a8c2a24c8533f16d0ceae1eab05a3dd923ae829529a223ba76d94485c1";
@@ -31362,6 +33958,7 @@ minim-hatching = {
 };
 minim-math = {
   revision = 69352;
+  shortdesc = "Extensive maths for LuaTeX";
   stripPrefix = 0;
   sha512.run = "b733b6fb53b450bcb4afd2265f65e64b6087d08d385a746ea78720efedc4d1aa14bf6fba21fcfdbef7a331d1c657674caace33f9a213d34d0b56604a4d0067ff";
   sha512.doc = "d3754968215fdee2a31db13934c22a06998f93a11b80ba46e30231176e1583a8df86dcc8ed91b582a8b6f1427d9bf121f0f43cf297edb3e4a79250b9d703cb76";
@@ -31371,6 +33968,7 @@ minim-math = {
 };
 minim-mp = {
   revision = 70322;
+  shortdesc = "Low-level mplib integration for LuaTeX";
   stripPrefix = 0;
   sha512.run = "99fc9ec8eec155bf404274bde2981ab791bae041860e184242cf5ac06b7c0a149ce70adfae1b2088a773114564afe93ece070cbae5fd77088a637bc27f830c95";
   sha512.doc = "ab83c7e366b87d42ae6351ef505c21c14cd39fbde5020f59595ce3534338b38cf2911496fb196226d012ec0337424047c158477721434fa0f08e2207b0fa5e1a";
@@ -31380,6 +33978,7 @@ minim-mp = {
 };
 minim-pdf = {
   revision = 70321;
+  shortdesc = "Low-level PDF integration for LuaTeX";
   stripPrefix = 0;
   sha512.run = "da700da69e8f6e82c47a08b0e54fa0cb959fb7950544a9dbd49d9b0883620434144932301c2dc68f03d45b5f7d3b6e9521a7d66fd820f8b91c6bd8364e0338e8";
   sha512.doc = "f9e3735b6a493c2ad07b1b39c1393eb39dce3250afa358f15c6870fd02c527342198f8198b710db298baac4309544fcb457589aec75e4f54a5817fb8072fab7f";
@@ -31389,6 +33988,7 @@ minim-pdf = {
 };
 minim-xmp = {
   revision = 69352;
+  shortdesc = "Embed XMP metadata in PDF with LuaTeX";
   stripPrefix = 0;
   sha512.run = "4df50df08721b8c6cbc2314a36f08776766164c57fffa387d4804afae2fc1f35deb386f2c01e81da8a18b535c7103b7e07ffc51b37d4c621d8c5ac5248f4d960";
   sha512.doc = "a6c524225e0e9c5ffe620950474ea7f0f16780d555e354a14885d81066228d350a14399a78cda455677fd116e752f3637e73ff3e9aa342ff4036363805d736cf";
@@ -31398,6 +33998,7 @@ minim-xmp = {
 };
 minimalist = {
   revision = 70329;
+  shortdesc = "Write your articles or books in a simple and clear way";
   stripPrefix = 0;
   deps = [
     "projlib"
@@ -31409,6 +34010,7 @@ minimalist = {
 };
 minipage-marginpar = {
   revision = 15878;
+  shortdesc = "Minipages with marginal notes";
   stripPrefix = 0;
   sha512.run = "acf33aac7dea3c20986a9ed1f76efbb470d9fa1cbd31f29ed4fddd0e16835ace1946278fcfd04ea179122e603f63b269872953e40f8a64843ae8e60ded769356";
   sha512.doc = "20d503697a246b8b56a71cf324e4daaec436b62e9c3b9556095670c2b461d273e8b77e24da3cada37106c350304827a37bd6f658727373e384f11fe064e07992";
@@ -31419,6 +34021,7 @@ minipage-marginpar = {
 };
 miniplot = {
   revision = 17483;
+  shortdesc = "A package for easy figure arrangement";
   stripPrefix = 0;
   sha512.run = "2c5d08c2476871dd182bb320c50ec96f202ef65a417e65d1de8aec391fb60dc66c1e9e4642ad2207f7f4bfdd12e83bfe2cf75e9fa4f0fff0f4ee72769f7ca84f";
   sha512.doc = "6ae8000b3d0ef50e37dfbda399396a42bd348d6ed9ee485ff01ded9d850693f43b0c1945dfde93d9ea0f17494ac2e03391824f2f0c0eff67355c3d3f3ad6cccf";
@@ -31427,6 +34030,7 @@ miniplot = {
 };
 minitoc = {
   revision = 61719;
+  shortdesc = "Produce a table of contents for each chapter, part or section";
   stripPrefix = 0;
   sha512.run = "e2d2503ac4888198c56e9007b20f489a04e31fcd29c946c5504b7d193506fb58e2577c6085be5d9d17c6f5b21ff77208810385c73688468f3988f0b651fb81a4";
   sha512.doc = "15955f17dfe2916081156e1464299b598f1bba780518516f6bee7da55cd1c45e2fc90c27402ba9d8ab4a994ba5ea1675ca9593699792a08407cda5b3a2230908";
@@ -31436,6 +34040,7 @@ minitoc = {
 };
 minorrevision = {
   revision = 32165;
+  shortdesc = "Quote and refer to a manuscript for minor revisions";
   stripPrefix = 0;
   sha512.run = "d76224254aa18dd80f9bab56f055fde5bb7ee6b5c3dd88e6ce19667c939fb2dbd1e5cb987522a3f1c50082f46ee20cf918f1e01fb00f588ce11d30d300fcf574";
   sha512.doc = "ab1484f7ec214d43b95a8bd5cd78ee28bf0055d99d8c63c424c5c1db1c77b41a8631ea35bef745ab0399dd1c8dd9c9ab66b60033bb151f46afb023b6b5e1ab44";
@@ -31445,6 +34050,7 @@ minorrevision = {
 };
 minted = {
   revision = 69163;
+  shortdesc = "Highlighted source code for LaTeX";
   stripPrefix = 0;
   deps = [
     "catchfile"
@@ -31471,6 +34077,7 @@ minted = {
 };
 mintspirit = {
   revision = 64461;
+  shortdesc = "LaTeX support for MintSpirit font families";
   stripPrefix = 0;
   fontMaps = [
     "Map mintspirit.map"
@@ -31482,6 +34089,7 @@ mintspirit = {
 };
 minutes = {
   revision = 42186;
+  shortdesc = "Typeset the minutes of meetings";
   stripPrefix = 0;
   sha512.run = "3abd6c4963ceec3cf073048c21d2abc236d58f522000195fd459c554c10d2af9afaf772b0fd1545fdf72decbc7e1c62a0bb12d7bc1dfd9d5b025f5131ca5f145";
   sha512.doc = "a069ea537eb1fc572c842a26dd406b1ef2f1343ef6066d266642dfe37515a3679c3a9e64eb37e1e992fc40281d855b817edf9116aae3922abc60e3c01106e3da";
@@ -31492,6 +34100,7 @@ minutes = {
 };
 mismath = {
   revision = 70260;
+  shortdesc = "Miscellaneous mathematical macros";
   stripPrefix = 0;
   sha512.run = "21714883ae8a8640bdacf7c70b06153914cafa03ca546902017d98b24931d9cee041197fae2b31b317917351294addd8c9531c80586aa14924cd57120f37780d";
   sha512.doc = "faf0bcb6b8f2c9ac698bdc3df87001dfcc7488449972bfd5a4ec2fa619d1ab88e9764f4b9773788902385d6887d56a9d51edf16631dea8a0379921f380996878";
@@ -31502,6 +34111,7 @@ mismath = {
 };
 missaali = {
   revision = 61719;
+  shortdesc = "A late medieval OpenType textura font";
   stripPrefix = 0;
   sha512.run = "552f53302060b3f4c764a669feea4fe1dbadfa3abf53c226f9fde2d0e876bc8992ff2dbd4be6cd3e261ab0e01ed4d1ad2b5a38c2cfb780c4fc099a79ae52b46f";
   sha512.doc = "c80c201b7d3fa5808bc337415e86fe7e009ceccaf8020e587fae72f7024452f7c02b65ce48b2e8543c9796e8b3ea6431e0b8a5f1dc25b5adbd6f2ae7146e75a4";
@@ -31511,6 +34121,7 @@ missaali = {
 };
 mitthesis = {
   revision = 68732;
+  shortdesc = "A LaTeX template for an MIT thesis";
   stripPrefix = 0;
   sha512.run = "7f7fb74329217ceaba1cb55e8dc6d52216327991f397b01b7603d8a797ad214bb0f62c51e237a14e388ba5110d558716436218a511647336115b9653c61fa801";
   sha512.doc = "315fe938373d4fca5cb740067855cf38b52c00b49926baf2a61613ed5353bb81e4b156bc43ee3c67dd8414d5cb9f9fc1b36a215d67b04e57ce4ad4967456a021";
@@ -31520,6 +34131,7 @@ mitthesis = {
 };
 mkgrkindex = {
   revision = 26313;
+  shortdesc = "Makeindex working with Greek";
   sha512.run = "bbb0b306f30b4fe898f5d5bfdcb1eaa4d2d88a95cfa1ea0da51957aad1de028928562c930180f6c0a7d66b5cdfd804d52afbd229e7ca43173477a229cefff192";
   sha512.doc = "5a5b14d4282e97420f796456155a71c23a44d4197d4d92bfea1f0f20e95b42e506c7be3f2b0aba37508415341e999522bd823c649cc6259a6e26d42399c6b8cf";
   hasRunfiles = true;
@@ -31531,6 +34143,7 @@ mkgrkindex.binfiles = [
 ];
 mkjobtexmf = {
   revision = 29725;
+  shortdesc = "Generate a texmf tree for a particular job";
   sha512.run = "c0dffdb276141b78bd2c47e6d2bfddcd13c1800d3a0806a05ca1fba72a91621364b827801430bc757601e07f2a5130366ade49d7ac1df27901fbec29827739c3";
   sha512.doc = "3ef5c333cedd5104b63c1457fff2eee40aea7d1f1b187d34ce4cfccd5b6bd38809b7686dc7b41a147fbee2ae0e951470f3ae574bd3c10a5f9b6fb76b686ce4f5";
   hasManpages = true;
@@ -31544,6 +34157,7 @@ mkjobtexmf.binfiles = [
 ];
 mkpattern = {
   revision = 15878;
+  shortdesc = "A utility for making hyphenation patterns";
   stripPrefix = 0;
   sha512.run = "0395c9258e6c4a8459e69ff2fbdfe511b0c6863e02333d9481a8a1e82362cf9e1be7e89e7447bda497e7ed2bc18e1986e0a5461e9f49c63ff869f39a4da4f007";
   sha512.doc = "8232866143444fab1ed1f15255dc5f8c1c5050812e2882d2e20636bfd300216815a53aa03cd4f69ed7f45aab255a8efae9bfdc10df6b7a246d36d4db075204ef";
@@ -31553,6 +34167,7 @@ mkpattern = {
 };
 mkpic = {
   revision = 33700;
+  shortdesc = "Perl interface to mfpic";
   sha512.run = "7814f14293e10a23bc9348dcaea9af326ab4dd93cc55865320706984e50883742381b5df3e77774e7a63fbba7ebcbe0fae7268a3d1a34ebb2d8a0303f5b53034";
   sha512.doc = "bfaf4232fc39c13fefd86c21b2f9f76cd93761c58e39c1420c601627e95adf9e6c5c06db73a0afda6621acef374089dd93afbd2a3bd761cf5aa8db29883375e2";
   hasRunfiles = true;
@@ -31564,6 +34179,7 @@ mkpic.binfiles = [
 ];
 mla-paper = {
   revision = 54080;
+  shortdesc = "Proper MLA formatting";
   stripPrefix = 0;
   sha512.run = "e82a0f04441b08a8f5b2dc0bac9480ae9ae8c169c7e5a1d1795315d3e103cbf3a07f726eb41d7dd7b1ffd1443fe00bc686b37c62edb59481a110bfd34944daeb";
   sha512.doc = "6bf3856fced879c5dce5cf1442ed0302453f7a02ec30b4d1a2cd63228baeef58d11999d56f505c1aab6a78eff1e4671665da381b7e319a467e42f70c56cfc89e";
@@ -31572,6 +34188,7 @@ mla-paper = {
 };
 mlacls = {
   revision = 67201;
+  shortdesc = "LaTeX class for MLA papers";
   stripPrefix = 0;
   sha512.run = "7d0ccccd52f39b97f5448674dd961dd230b93799f71871bab7d5cce5b77e60788029795436765b6678b4b9e89f9f370ace2a43c99a9c185c216335e7ddaaf5b3";
   sha512.doc = "c4ed81865684aaa5d15679ce667d41604a2f9d7431b06a258ec2d8f5f0f22aeacea5f944e39faca856cc84139b730d33f407147deb07f7ac5da70fb82341153f";
@@ -31582,6 +34199,7 @@ mlacls = {
 };
 mlawriter = {
   revision = 67558;
+  shortdesc = "Write MLA style documents in Plain TeX";
   stripPrefix = 0;
   sha512.run = "67e9de777a464cf7ecdff6c821ff31d73f31f5f69cc5e6800d740ed6df296b5fc3a584b34e60be025f91b96a609e392198b67d386b60fd24deefb11746ecd439";
   sha512.doc = "7d05bea21e44c771cf86e94b03ff2960419fa99e44adb1e7cc9a2398eb0647d0a177ffb9e2b8bbc74775946e2b438c51b8dacdea916311c967a02c34dfd1a2fe";
@@ -31591,6 +34209,7 @@ mlawriter = {
 };
 mleftright = {
   revision = 53021;
+  shortdesc = "Variants of delimiters that act as maths open/close";
   stripPrefix = 0;
   sha512.run = "d1423d7e794ff011e6bf436d85bc3d2d933263bee059cac910e1a3375140d0eb0f1682e38c675afe17607d71d253b656a81cc927d22f54a8add2df01571a5e95";
   sha512.doc = "193d3fa473d136c11ad8a1b4f707d286cb0243bd32c020c1c5343c23a5d6347c2ba2ccc5c11e5bf835b4666c8e4a0ca2d234661e155c0f5fdc32e7b85cf2d253";
@@ -31601,6 +34220,7 @@ mleftright = {
 };
 mlist = {
   revision = 15878;
+  shortdesc = "Logical markup for lists";
   stripPrefix = 0;
   sha512.run = "23466ef3b73d8476c69632fe0c701f3ec675250b534fb4451cb0dcaf93c30a649ca07bb58cfbac89054cc31cc1219daaa1e7f746e6689927573175d42f78bfc0";
   sha512.doc = "771f51f52e47aceb7da064a0bf8ba4b19f0255fbd14d3b6d301457ad0dea80836f3e4c449611f5574c12e87185ab5ac9668404c5f1f97100971293425c7ecd13";
@@ -31611,6 +34231,7 @@ mlist = {
 };
 mlmodern = {
   revision = 57458;
+  shortdesc = "A blacker Type 1 version of Computer Modern, with multilingual support";
   stripPrefix = 0;
   fontMaps = [
     "Map mlm.map"
@@ -31623,6 +34244,7 @@ mlmodern = {
 };
 mltex = {
   revision = 62145;
+  shortdesc = "The MLTeX system";
   deps = [
     "atbegshi"
     "atveryend"
@@ -31671,6 +34293,7 @@ mltex.binfiles = [
 ];
 mluexercise = {
   revision = 56927;
+  shortdesc = "Exercises/homework at the Martin Luther University Halle-Wittenberg";
   stripPrefix = 0;
   sha512.run = "9af80a432fdcafefdabe9697cdfc16dcdee9f6a15d85d3e15774860e94bd579ad523c370b289e823f82372dfaead086ae0ed175fcdc51cafa53bd98076a8664c";
   sha512.doc = "bafd00d7a14ddafeccdfb2bb4df613dc0ad6428445722b29ba6875d0dbc3feea9ab5ff86d8e7799f4a907840c584c2e37cb54e89b5d978e67b8f7e4b7fc7ef51";
@@ -31681,6 +34304,7 @@ mluexercise = {
 };
 mmap = {
   revision = 15878;
+  shortdesc = "Include CMap resources in PDF files from pdfTeX";
   stripPrefix = 0;
   sha512.run = "a2427b9863ef37385507783dba7bdfd65bf022d1c7322e7560b78222c3d4e0ddfccfc70aa927196e64ca1a520e985eea8cb78a4129a39e73a8410bc210b801bb";
   sha512.doc = "95a71c9a9b9cd46c1723c986ba41c29a7204fada2cd7bdd14ebfe5e0c4e1b06106f9c13469edd9caf0b94615bfbea9cc8a1f56a4f83cec37de481b39d2b4bd91";
@@ -31690,6 +34314,7 @@ mmap = {
 };
 mnhyphn = {
   revision = 69727;
+  shortdesc = "Mongolian hyphenation patterns in T2A encoding";
   stripPrefix = 0;
   sha512.run = "e580c984d9a2242eb7f3a356b222dc6fc4f2fb1e6194f09086e265e253746ba1d94cff324a30c473724410d1d6b0bb7b8bc162cadb63ed96f0837e996c39f988";
   sha512.doc = "3645bb53bc2aff292dd5a70e3020898b969422b9e21fd11354e2ce60a6c7e668afe149263ee02e3588e0c3803c9568d999a6a6bb067a5941ec288923e167b2f6";
@@ -31699,6 +34324,7 @@ mnhyphn = {
 };
 mnotes = {
   revision = 63406;
+  shortdesc = "Margin annotation for collaborative writing";
   stripPrefix = 0;
   sha512.run = "834350f6b4bcaa9b84c18d526072ebcbb260c501b08fb81fd40d3d4ebe015392ec94f6dfcb0fd751716f213afbb4615bfa3e1c729eca416c9d499d0eb784686c";
   sha512.doc = "198f7b4e402a71e6617a1c7a92a54fd2a742c8c1748bfa17f71102a833b1fbb656dd5b85f7f7a58bfe05588525e07cf978278d6758448c4dd69d48275eb0be01";
@@ -31709,6 +34335,7 @@ mnotes = {
 };
 mnras = {
   revision = 68878;
+  shortdesc = "Monthly Notices of the Royal Astronomical Society";
   stripPrefix = 0;
   sha512.run = "cb8e7cdcef07bead94509ab42af1e3d6a966b7266b75473f5a6107d2fe7f3f4c2f732c9544072def55d923883b5ad495a166cb128bf67e10211919be9f4fdda3";
   sha512.doc = "be0eaacc684772a599ef62a782d73b41e0e9963cc9ab0624805cac56af8b8f8dc529405588c687a018ffe888b643902ddfbd0f833cb7cb67a3053bd5c34e373e";
@@ -31718,6 +34345,7 @@ mnras = {
 };
 mnsymbol = {
   revision = 18651;
+  shortdesc = "Mathematical symbol font for Adobe MinionPro";
   stripPrefix = 0;
   fontMaps = [
     "Map MnSymbol.map"
@@ -31731,6 +34359,7 @@ mnsymbol = {
 };
 modeles-factures-belges-assocs = {
   revision = 67840;
+  shortdesc = "Generate invoices for Belgian non-profit organizations";
   stripPrefix = 0;
   sha512.run = "0b0e546eef6640b70dbb07bbe6401983fd0547357dad47a854b4c87119727d79f5ef54789394ebd5923474d2ad95e59a55d9340cf84811b5f2d5a94e406e8c7f";
   sha512.doc = "0bee390919ce8ce6082c2373f639db7de1029d0830d4cf9f1c807ef044e0ba27c8f0e4dd37677df63c03b64ad00b27825cd703973776377f844324846a908edd";
@@ -31740,6 +34369,7 @@ modeles-factures-belges-assocs = {
 };
 moderncv = {
   revision = 62128;
+  shortdesc = "A modern curriculum vitae class";
   stripPrefix = 0;
   deps = [
     "etoolbox"
@@ -31761,6 +34391,7 @@ moderncv = {
 };
 modernposter = {
   revision = 47269;
+  shortdesc = "A modern LaTeX poster theme";
   stripPrefix = 0;
   sha512.run = "d631f058a0a17a841d4026c43fd086cbefd50d0ece85563ee81e34440650bdd7d3db6dd6f49d5e74278872961300bbd443b896586f5c7ea00a9ff816ef20b7a9";
   sha512.doc = "385c8b97c57053d861d72b4f10134cbf2d943e4bcedb55ec42bff51000843db3fe30737f7ada3ce569c1d96584ec0df80afadc39be98c16950828647165f6801";
@@ -31770,6 +34401,7 @@ modernposter = {
 };
 moderntimeline = {
   revision = 55518;
+  shortdesc = "Timelines for use with moderncv";
   stripPrefix = 0;
   sha512.run = "3e32e360bd8249cded439fc563c8fd38e53314fb468251368aa5311463665771748b605c247c63e8e5aea2654dd05c4b12aafa073190b883d21469bb14333de5";
   sha512.doc = "018ad6b095dca602021c45e04a526597ca61f5bb6ec7adb52d86c221649c4b3be94761e826d09ed9772c0628bd9d719f6a4db6ea1411e6d34f94f8c049130855";
@@ -31780,6 +34412,7 @@ moderntimeline = {
 };
 modes = {
   revision = 69113;
+  shortdesc = "A collection of Metafont mode_def's";
   stripPrefix = 0;
   sha512.run = "71e00fa0f1c3cdf01a6d49567df15b5a9119005ea63a2411680afdd0b423fe0f66a13f01579a379883969cbaee5535a4d338a9659196d4c95404b2cccc321cee";
   sha512.doc = "32135a28343fdf1de2ff2cc25ae78920729c34f777ae6b147ff85f80953eb7610bad5e1a8919d6d873ad45fcc9b51cc9152e9e2fc566d47a57f7df4e6f63f5b6";
@@ -31789,6 +34422,7 @@ modes = {
 };
 modiagram = {
   revision = 56886;
+  shortdesc = "Drawing molecular orbital diagrams";
   stripPrefix = 0;
   sha512.run = "3da30c6f2759d1beebc0f33c61846343b505da9527f2a34ad7e622958802cfd08e1da9ca297003330451aa913b45c872b4eed4cad3f5bf5f8e597a2b0800a09f";
   sha512.doc = "cc0513fdca073761b8f6f9e34c826af2de587c9c6ef47bbe54b45e60427c5536a2c4743e2c187a9b089eeefe82359962d1081f5dd66fad9072e4c7adcb580763";
@@ -31798,6 +34432,7 @@ modiagram = {
 };
 modref = {
   revision = 15878;
+  shortdesc = "Customisation of cross-references in LaTeX";
   stripPrefix = 0;
   sha512.run = "ef5d822fedbd5026903fb7d2630a837a3a1b0222150ee1a9f72a54e13d626a0387abd1fc20b18a257714c63cb65868ac885f8340d35c5453b42323da3b9b0782";
   sha512.doc = "f7539376630672b6fc67821045eb8c891b4781d233e1b914f8fc5c255fdcc57ecb6e5ef4d36ae72ceac185e8d2e4aee42741538f27fb3ab1f5160855cfbc8def";
@@ -31808,6 +34443,7 @@ modref = {
 };
 modroman = {
   revision = 29803;
+  shortdesc = "Write numbers in lower case roman numerals";
   stripPrefix = 0;
   sha512.run = "3314a474cdb88e517fd16943b8f1f1da252608bc5505bd91581e87bca19ea317718d36694abc670d471d0028dcb5fe502a3be1b1294604cecf619de235fe63c8";
   sha512.doc = "5c6ad1cdad66a5a7285b7c51074f724670880d4417df45cae51e5b3b35bf5cf99f374f7abca73c7ae68d12f626e4b9bf0dddd6b2bc94250c4e6146598d4c5ac6";
@@ -31818,6 +34454,7 @@ modroman = {
 };
 modular = {
   revision = 44142;
+  shortdesc = "Relative section headings for modular documents";
   stripPrefix = 0;
   sha512.run = "13d80f572497551551151c35ac32c09cec70cd40c6d99d36c22ed84bcef509cbfafd511a8e2e284cd06ab1a57f4be7fe556d7e390f9d30135bd20cd49acf362a";
   sha512.doc = "7d7201db0a2791700748d440fdc5cca9d8d274ceeacddb3715d99b68b4c04f52949e8b9897377168463059deec86177470a997bfea7a32a2765afda713aed499";
@@ -31826,6 +34463,7 @@ modular = {
 };
 modulus = {
   revision = 47599;
+  shortdesc = "A non-destructive modulus and integer quotient operator for TeX";
   stripPrefix = 0;
   sha512.run = "e5dde62c2e0730befb63612bfd6ea3626463db85b74291df5937d8f7e1995f6b63c8bc6d7e08536ae761457ab1e9a0ddeccf11afa4108910561075dcc03201f6";
   sha512.doc = "965d03005ef257526ffa6667d889a4b238ca5314f4fe8714bc8219ace1e909eb5765da6c0dc94e9b312635e0f9ca096f1d14364effb0045ed467da7c1d735474";
@@ -31836,6 +34474,7 @@ modulus = {
 };
 moloch = {
   revision = 70496;
+  shortdesc = "Beamer based on Metropolis theme";
   stripPrefix = 0;
   sha512.run = "58af737c14943781d96c8a8fbd6004a207281329973bec3ac0166d117af0d6cd4ce38174d4bae4e9a4e5c6eb6c7bf1be9205539afa8267e166656e74932f6e90";
   sha512.doc = "df09576955c0cdc3dd439e1a15df6b77d27dbc7f4ad876b06078823bf37c17db436cc5b75afac8aedf6622dad706a124cb01252e05345cedd2d305c593a82bab";
@@ -31846,6 +34485,7 @@ moloch = {
 };
 mongolian-babel = {
   revision = 15878;
+  shortdesc = "A language definition file for Mongolian in Babel";
   stripPrefix = 0;
   sha512.run = "a4e7abdc0b5817d88ad442e693fefe79df224a74f37d09b630fd7ded16e1335f563ca00a26aee8ba4b46b7516c0fa2f5dc9d37ec00455b11223e46a6e289cc01";
   sha512.doc = "d0aa4f4a7f1b22d3d3a6a96b85d4d72acb71ee6b1374b70008b966ca2401b7b9434bca675601cc1cdf2f013520eb82c2cb193634b3ac9f9b9d40a201d10dbd58";
@@ -31856,6 +34496,7 @@ mongolian-babel = {
 };
 monofill = {
   revision = 28140;
+  shortdesc = "Alignment of plain text";
   stripPrefix = 0;
   sha512.run = "6b9a45c32bd44aa01119c7bd8304ba8e5953422c14bfeaacad20f012188f9204c19f432719c74d9481a00611a18d4ef1ba2c1dc858b83b8a25205d40568e5fa3";
   sha512.doc = "edb00621e74238c09d0ca0c04e5c57589012ef2272f0b470345845ddedd647c73fffc0fcaf4741726214b2419e9581127375ba2b36948ec73f4caef561c3e57c";
@@ -31866,6 +34507,7 @@ monofill = {
 };
 montex = {
   revision = 29349;
+  shortdesc = "Mongolian LaTeX";
   stripPrefix = 0;
   deps = [
     "cbfonts"
@@ -31881,6 +34523,7 @@ montex = {
 };
 montserrat = {
   revision = 54512;
+  shortdesc = "Montserrat sans serif, otf and pfb, with LaTeX support files";
   stripPrefix = 0;
   fontMaps = [
     "Map Montserrat.map"
@@ -31893,6 +34536,7 @@ montserrat = {
 };
 moodle = {
   revision = 65672;
+  shortdesc = "Generating Moodle quizzes via LaTeX";
   stripPrefix = 0;
   sha512.run = "0a297097f864ed3dc8c9d263a6a3aa8930732679a585aa34e2e5b31852bdfc3cff40118d3b67566816dfeda0f74282a476ad8b5ad793d2c433cf44f41f7c91bf";
   sha512.doc = "ee40b07bc0ff2ff75f18eeb9ea68dec0a624a1b75b81ac00ea9c5caae3f6232213e1a5ff7028be28372cfc43685f4004059d972176eaa2b18688f16f8ef2ba09";
@@ -31903,6 +34547,7 @@ moodle = {
 };
 moreenum = {
   revision = 24479;
+  shortdesc = "More enumeration options";
   stripPrefix = 0;
   sha512.run = "069ef44faaa8847a07ad00dae31c1b63278d59a560ed90823100cd601850a798f574d8210c07854a8b1a90165efb3bba852e100e53aee496f78395e3d6defade";
   sha512.doc = "987a1dd96669b9202846fc604fbcfb935b68c79d13bbe4599f32fab9e869ca5b60f3b4bdfcf78d3b3f5102db9ab16955ec13958c4cf3df7ec64649268c226d1c";
@@ -31912,6 +34557,7 @@ moreenum = {
 };
 morefloats = {
   revision = 37927;
+  shortdesc = "Increase the number of simultaneous LaTeX floats";
   stripPrefix = 0;
   sha512.run = "28fd471aa854852cc2a48597dda19cadda3c92c589d0419b8d36e044f9c04e406037f162e1d02c1f4b20a6288efe4a689fe4e03aafbfc6b06cf14019f7e880f0";
   sha512.doc = "f542aecb6d3868559cee66a7c153dc80cb6aacebae40c0cd0dd120c4230cd358b4d2787286cb3e7bdfb5565949861a35af65ca616369585b8f28462a2b1dbcf6";
@@ -31922,6 +34568,7 @@ morefloats = {
 };
 morehype = {
   revision = 38815;
+  shortdesc = "Hypertext tools for use with LaTeX";
   stripPrefix = 0;
   sha512.run = "698ec10d9e70dc1b89ed5094369359fdeffb663ca95513b7207aed065515a66dd2c82b4e43d14fe271c9851e72a44e9c2f6e3baa177ed9430f89e88bdd692172";
   sha512.doc = "2600045257c75dd15320a2f188f5b043358bfdb21ce4a19af2d1a696141a2f553da42c13143d14c8ba136fb1ef7a560684ac47c5274738c747f729a00b02a099";
@@ -31932,6 +34579,7 @@ morehype = {
 };
 moresize = {
   revision = 17513;
+  shortdesc = "Allows font sizes up to 35.83pt";
   stripPrefix = 0;
   sha512.run = "92f67234dd9c0429798f9e8001a2d4b7004e11f2fa90130b738670e6228f45ebca3ba26ed98616e3af5c86148992f9915e3e6a1cfeb4c875fbd20fd818743525";
   sha512.doc = "3c1ed984163e2adbdaa7e94439e160327515f1c6999e40114819d8e5250e090c932909217d37d1d07fcb108c56ec50f294324c32523995f68f57fd918983a412";
@@ -31942,6 +34590,7 @@ moresize = {
 };
 moreverb = {
   revision = 22126;
+  shortdesc = "Extended verbatim";
   stripPrefix = 0;
   sha512.run = "673b7ab5951e418fe10622fb1a4b4a420c4c436684afbb1474c58b7aa7b235f7063555a220133257b351b5847be5e880714e44ca49bd9198a4306c0e821dcdde";
   sha512.doc = "27e4f361f5d7193c97629debec048168045bc38e353f677829677cb5ce5c0a9ad8f5b2576bd9f870da8dfbf16d745e489ba79e3dfe6aa1da8a9cab1ad72ace06";
@@ -31952,6 +34601,7 @@ moreverb = {
 };
 morewrites = {
   revision = 69679;
+  shortdesc = "Always room for a new write stream";
   stripPrefix = 0;
   sha512.run = "738ea602368142999aa6f5d99226767fe9d6613b3e5d58687d787e8e470bfbff3ec2fcabeb5931454754ad80661a5925f337ba600fa62f021ae99363451c4c75";
   sha512.doc = "a8aad8b575785ee7b36f6946ea2228c507745c4f7ca61e05e46c9b0824e84880e355264e45540b61022010943f2cd63cf051ed1d4b9b438a6eceac840cb2e6d4";
@@ -31961,6 +34611,7 @@ morewrites = {
 };
 morisawa = {
   revision = 46946;
+  shortdesc = "Enables selection of 5 standard Japanese fonts for pLaTeX + dvips";
   stripPrefix = 0;
   fontMaps = [
     "KanjiMap morisawa5.map"
@@ -31973,6 +34624,7 @@ morisawa = {
 };
 movement-arrows = {
   revision = 67270;
+  shortdesc = "Drawing movement arrows on linguistic example sentences";
   stripPrefix = 0;
   sha512.run = "42adce39a6f06212f5d6c3c235ad79772064d8b0588e3f79b34ba7f3a8530e08857e5a1612051ce6c58e419b0ea4f1a6012b19d8e37ae20ccb1a20c11f9894d8";
   sha512.doc = "d1f1856297ccfbcd42d05524d633857ce548fe5b5c5fc84d76239a2cd62989015ea62f2fdcb509e918e47cc176002fc5467c7d721942f674eb4cb405dbec1be7";
@@ -31982,6 +34634,7 @@ movement-arrows = {
 };
 movie15 = {
   revision = 26473;
+  shortdesc = "Multimedia inclusion package";
   stripPrefix = 0;
   sha512.run = "a45726b24f76683c44b0f006d720695c14ef51a260fa00f3223a075e48173638dbc9d9d361fb4e1f8f567cbe80f65d990aae485b669901a50d5b18750640b103";
   sha512.doc = "4df2fec7f0abac6ef4d948285b3156bb9489a3b7b18939fa109abcd9c537e383d505e308516e1bc852aa5c5bdd6b8825e8f7e887c9787d7c2d337124942cc9e5";
@@ -31990,6 +34643,7 @@ movie15 = {
 };
 mp3d = {
   revision = 29349;
+  shortdesc = "3D animations";
   stripPrefix = 0;
   sha512.run = "e5899aace25cef3a690150cf09e76bddc008f426800588ef7d21361229b0040dff74af7b43d563b05d8c3d16166e34b5a21e8e25ae3e97ca80e5ffe5c4925392";
   sha512.doc = "2b64199f50ae5b0e6528bf041ac2422574f9adf467183f3ee3d58ebd91317ce25937699be29d0a5954565a4fd326719f11bc04a35cb4938489696ae479d5d7f5";
@@ -31999,6 +34653,7 @@ mp3d = {
 };
 mparhack = {
   revision = 59066;
+  shortdesc = "Work around a LaTeX bug in marginpars";
   stripPrefix = 0;
   sha512.run = "9a4e5a08320095095538eea8c5c5db5dc6d6c99ca3e3a3f5568228b8b52a4b1de98c1118b09626b58ef897f6810d2b43d2b5b416b3687e1bfd3a01506460bce5";
   sha512.doc = "fc4cff80bbf20460e28f8d5a142e8994cea7e017391b147a47332b444fad0ff8cde1e7bb29159e39f8c14f4c9881ab91dcc0e2f108cca1534d4335f5b6b32a1a";
@@ -32009,6 +34664,7 @@ mparhack = {
 };
 mparrows = {
   revision = 39729;
+  shortdesc = "MetaPost module with different types of arrow heads";
   stripPrefix = 0;
   sha512.run = "58e4a909374486cd2d4313d62a49e4e30a5e85f8ef2cc0d9a7e734b546ad8b36e3bbfb96f3eecaa9c10b8d7b3b1557aa9e0b5dae5b4547d42cabc64d2f2949d3";
   sha512.doc = "d1ca204228c1bc76d4f15257687a865c650fa83742dd126b3d7cd5e93e725b2da31eedfbca9a86e93eaa08df487b0432cc41f0d4fd2f99951f874691acf47016";
@@ -32018,6 +34674,7 @@ mparrows = {
 };
 mpattern = {
   revision = 15878;
+  shortdesc = "Patterns in MetaPost";
   stripPrefix = 0;
   sha512.run = "1efc3f1f1c93456a3038ae5037ad5dcc4b177c57852f7db475a7ce6d2002559b370ba22dcc6d312c68ba75c03523cdf0df8546fff8dab032832d3ff3148b5d65";
   sha512.doc = "4ec7cadd89449ca049fdd723de9e29f20199a630fc28585a4802e3ce3666783822e4f0769907cafbfb0fe097b1da4a08d3e5e5f4038ecebbe9fe3543dd3413d6";
@@ -32026,6 +34683,7 @@ mpattern = {
 };
 mpchess = {
   revision = 67704;
+  shortdesc = "Drawing chess boards and positions with MetaPost";
   stripPrefix = 0;
   sha512.run = "b65838b9b3177b069a2e8e4141fdb9ae68ac1dc9378c9fe7534fd23556d93ace29ba1ed9deaeb53fd54d709b77ecd98d9d0fc79dfc8e77b8eec899d4a332bc3f";
   sha512.doc = "c859e9f5df0d24bd1eb59dfd39dc97cd1ba6e713b33e37d17128388928071e2da8f41180da333fea34ee6215585208de193a381205fd866142f341e1856485d2";
@@ -32035,6 +34693,7 @@ mpchess = {
 };
 mpcolornames = {
   revision = 23252;
+  shortdesc = "Extend list of predefined colour names for MetaPost";
   stripPrefix = 0;
   sha512.run = "9808706010059e8d2683f88a47535b8039049681e5a9fdc013cc384bcacb1910cc7ab2f7614d35ed964c28507bf5fc062fe4db852afa45f9d9383c367838eeba";
   sha512.doc = "bfb9ce4c85de655b890948897deba96a5ff60cb7518b3e198cd0b088b63670531f29bd84dbde4837298a24f36dac0652f2d2d3491dbcd7ac8f9e57de6500c6dd";
@@ -32045,6 +34704,7 @@ mpcolornames = {
 };
 mpfonts = {
   revision = 54512;
+  shortdesc = "Computer Modern Type 3 fonts converted using MetaPost";
   stripPrefix = 0;
   sha512.run = "7d602bca0f33f83033cbe15cb2376d0ae023a4d02218f10b64965580842f269a7065e6c2154bf78c7a72a46abd0e41214dea4d2f012f1945a17fb5b8cf0fa832";
   sha512.doc = "4aa1296012f4ed3483f444320d7d28d942823da0cd58c1350dc4a90da1fa5e51cd5bac86f257290c720f9808b74c2cc87c49f18882073ac44ef7f577248f57be";
@@ -32053,6 +34713,7 @@ mpfonts = {
 };
 mpgraphics = {
   revision = 29776;
+  shortdesc = "Process and display MetaPost figures inline";
   stripPrefix = 0;
   sha512.run = "5d711f7a981f701e11874916fe8d22fa237404dc119fc2d5c8f8e9b3eaf8feb59a63023ec30f0c67d304839e4971288a669d70a697260af35e401edf00673adb";
   sha512.doc = "954c8e3a8a0deafea163c9bea9da6bd1c27fcc9b5270408fdd29f0051ece1f4138a0af99808cf85279823cb48475b8e21b3a450f021d678fc5b2fbdf28e55320";
@@ -32063,6 +34724,7 @@ mpgraphics = {
 };
 mpman-ru = {
   revision = 15878;
+  shortdesc = "A Russian translation of the MetaPost manual";
   stripPrefix = 0;
   sha512.run = "e234fc25e9d8e5aa89a59e21186a16de3c695ce45c9ee8d132546381cb18e9be681bd4ee9c70bb10b4769ada5e5874b500d2a3cd7d264d89610dcda35fcba9a1";
   sha512.doc = "57f2449eaed3651b808095348f056fdfa90b00979ba2e21fad120efe096dca9a9e48474e9dbb539f347ffe20ccd5582f4815ff4552c54e9ea5f9df391dd75edb";
@@ -32071,6 +34733,7 @@ mpman-ru = {
 };
 mpostinl = {
   revision = 49559;
+  shortdesc = "Embed MetaPost figures within LaTeX documents";
   stripPrefix = 0;
   sha512.run = "0749fdf4c54efe9b8c9ed9f735a851a0c0b08a9092679bbb80eb32a80ed6e7284094a043e27721dacf8112b6898a8c5f47bf0b0dea4af9082a40bead0599ee76";
   sha512.doc = "ad639ec50e5b71a1ef02bcc04cb1c0b195e9ed2cdef9ff8e145d17cfb34dd853d96449620f5d0eba614154cdf6291902316f4fdfbd179a112cebbe2a059acc70";
@@ -32081,6 +34744,7 @@ mpostinl = {
 };
 mptopdf = {
   revision = 69363;
+  shortdesc = "mpost to PDF, native MetaPost graphics inclusion";
   deps = [
     "pdftex"
     "plain"
@@ -32103,6 +34767,7 @@ mptopdf.binfiles = [
 ];
 mptrees = {
   revision = 70117;
+  shortdesc = "Probability trees with MetaPost";
   stripPrefix = 0;
   sha512.run = "64efb9355c79a8145e0bd4e44922c789a718f389ecb59ac186ec32da8e37323d09cc33d558cbf67ca5550f68501282dc429b784f483df1e3df5b9d5bc3b5ddd6";
   sha512.doc = "de5d2c52ebd3651ff42812fe4ea74a4ed92cdd8d0452f2e83af9723581820ee07e2e9528cdc254410193d8b82f8ede7554e182c1fee104333715f253d3ad0d41";
@@ -32112,6 +34777,7 @@ mptrees = {
 };
 ms = {
   revision = 57473;
+  shortdesc = "Various LaTeX packages by Martin Schroder";
   stripPrefix = 0;
   sha512.run = "73d46ed7ba85773f4ba7c261ff0ea8f2e751e53659fc19686bddd9523b160dba5e367c8fcb30a20678e4a3df26c0812a6b771736eef8616e112cbac3a25e7b48";
   sha512.doc = "d112ff182da85ee8d84d8e7cfc50e5c13ad2e555ffe4dd2867a3439d69193ec7bc24fa87d2527936a57dbdc8e98df8d2862a740f91d497a8eba7108973a637aa";
@@ -32121,6 +34787,7 @@ ms = {
 };
 msc = {
   revision = 67718;
+  shortdesc = "Draw MSC diagrams";
   stripPrefix = 0;
   sha512.run = "103ff1fd368f97920f5403691ccb5fafb34c6a291db5d76a83d56f64d1ec452386cb844dfea7462fcec573d86b05fb183034ae8968d7127f4bf425aebac1f087";
   sha512.doc = "e336c0969d2f39c06baab3f7573109e11f76acf47767f0653996ea772bc5fc4ac801154c5fa0df2eeaf999699aa0d61c1e7d223b44248fba72dccc8bc1b86663";
@@ -32130,6 +34797,7 @@ msc = {
 };
 msg = {
   revision = 49578;
+  shortdesc = "A package for LaTeX localisation";
   stripPrefix = 0;
   sha512.run = "9419f306ccde237320abe22fe192a2473785244fd337063332a242e029b8650404df7f7d150b196d3bccb0e10e58e25e2b8aefb15627e89eda8636ddc50599e1";
   sha512.doc = "85db0022daca5aeeb50e2eded6214a3b144012bfd0bd433b4f9474307c2a37e57c7a311385b8de4efcdc4e462f39c53f6a5fcfac2eae7263e2d1583b0ba584df";
@@ -32140,6 +34808,7 @@ msg = {
 };
 mslapa = {
   revision = 54080;
+  shortdesc = "Michael Landy's APA citation style";
   stripPrefix = 0;
   sha512.run = "28a13eda4b10f25e4887feb44f64e23cfa683d28e57b66a64d2a15c627e5f7aaef36e9fbbbf3c2320891a0bb9a5270fb59ca9044f1822402d82bc494f41dc3a9";
   sha512.doc = "b53311156cb6872ec996130474f18d8735f9fbba8d53258638f78d498b3cb294eb490b6eb1460546dcec39258e0785401dad5ecb66c82e2cfd7814bfa852908b";
@@ -32148,6 +34817,7 @@ mslapa = {
 };
 msu-thesis = {
   revision = 68480;
+  shortdesc = "Class for Michigan State University Master's and PhD theses";
   stripPrefix = 0;
   sha512.run = "a25f539ee6eb50450a603b25d6639918118a8882df16fdbe71dee49f09045480b80514994079f291120d6f3132753a90cfe3a7eb5e366a6c8b15b6674735fa85";
   sha512.doc = "da32f1f22664d0bf05561a4d99977b942c95167a2e325928fc05714bf59a9f8aaec302f278685d0fae90b8511d246a156936101f6a12fe76a31d7aaef5dd762b";
@@ -32157,6 +34827,7 @@ msu-thesis = {
 };
 mtgreek = {
   revision = 17967;
+  shortdesc = "Use italic and upright greek letters with mathtime";
   stripPrefix = 0;
   sha512.run = "fbc20f61e1d4e9d3ebf4a92216c7c007f2aec2b2cac0aca6e08f0e1ea5f6f405a32d947efcea0057a025a138afc85e0d1486191ee82fa9a0e9f2f6e2542a9e11";
   sha512.doc = "49631058e9bfc59dd38a7e0e2134f6d9ddf68779a6f8087a056a89fef975154510496415b782102dfeae6b5563527fb6178ce301b004fe33a4dfa8dbeb4474ac";
@@ -32167,6 +34838,7 @@ mtgreek = {
 };
 mucproc = {
   revision = 43445;
+  shortdesc = "Conference proceedings for the German MuC-conference";
   stripPrefix = 0;
   sha512.run = "02ee23aa25152e80e8dc2c57f14b99c70ff57c38175498c179e505a76d967f826acf076cae2085d305cde93964f03134fc6d1027e0669acdbaba5ed5ff6efa8e";
   sha512.doc = "01d154fab3c0ad8db790b5a22fcc4cae7a5beea1a2850f5e9d6fb1fcdc6c1071c2dc294568451f40db5455826f78ae910be9572de5a4a7d870e3a18a74fc0082";
@@ -32177,6 +34849,7 @@ mucproc = {
 };
 mugsthesis = {
   revision = 64259;
+  shortdesc = "Thesis class complying with Marquette University Graduate School requirements";
   stripPrefix = 0;
   sha512.run = "f86bfd4362af798bc435bf6ad1f6ed6f8cbafa61a4bf273a196160bedff21d349c1d4294e63de5a2c925ec3f5918dbb6ac4f5c8cd41785ee715cbc4e903aa226";
   sha512.doc = "18b239e98e97512030a55a6a9d071e2b53ac34147f121d14687dd2e68acf3cba3bc7c36c7b64dd3221121a37cc7665cc71ce0012218ca2f8a28eefd6ef46bc3d";
@@ -32187,6 +34860,7 @@ mugsthesis = {
 };
 muling = {
   revision = 66741;
+  shortdesc = "MA Thesis class for the Department of Linguistics, University of Mumbai";
   stripPrefix = 0;
   sha512.run = "5a955e229ffe00e276c4ee4590473ba9d137d668c63294735ecefb031f2a01b310723dd2a5cf37b4c9613793df39146d08c01e2109ca37fe1d9136903cd6aaa2";
   sha512.doc = "9eea5504062340098751c51d99433f91e95bfe74b93f584e08d3c6d1ae516f6d8a18e8495d10a90a4c5f751f44854758a3a8779d56ae158397f35419218aa01d";
@@ -32197,6 +34871,7 @@ muling = {
 };
 multenum = {
   revision = 21775;
+  shortdesc = "Multi-column enumerated lists";
   stripPrefix = 0;
   sha512.run = "e73e2d3fe45f562398de752520628032fea310e5345a247472a2807618b72467b245995f32f21474dcb5702106bf32d6394508a96c4aeae4dbeaf6fdda7bdf4e";
   sha512.doc = "889ffbce149b1f0a98e22a1ebcafc60e29858d08b57e2e567956830c679515759a6c8209901641e3d77ded31238e8fe93f7e4cdff95d1be925e3972c9005f4a7";
@@ -32205,6 +34880,7 @@ multenum = {
 };
 multiaudience = {
   revision = 60688;
+  shortdesc = "Several versions of output from the same source";
   stripPrefix = 0;
   sha512.run = "a7d89874dbe314ab37cf42d8d520e234764bfc3fbbb6c89e47be95ef83bacd170c290bae005830286e206da25a68939ed8ee60cf11ad3f5ff9d994d568638b86";
   sha512.doc = "b6023873f5843ec7db13e551417ef4c31a2f622372f32b4ad7af1ab155e3902185b06d6f2fdd432bf582f3da8a5e32e985fde93ae88b7916062db25021a641a1";
@@ -32215,6 +34891,7 @@ multiaudience = {
 };
 multibbl = {
   revision = 15878;
+  shortdesc = "Multiple bibliographies";
   stripPrefix = 0;
   sha512.run = "419f7bcf8f2226cf8c60119e30da278bf6138f4e1903dc322da33ca2b22120e50b205dc0bb01b46cab0c93fdaacc37b823a812121a731fdea4cf03354d1b0690";
   sha512.doc = "68a3f99cbde27d15fa8b56730f4e9f7587bcecfc9a6ebe19a7811a29278cbe21f214465942bd4ee6cc28833b9614dfef14714dceddcdb041d5676ee7ead810bb";
@@ -32225,6 +34902,7 @@ multibbl = {
 };
 multibib = {
   revision = 15878;
+  shortdesc = "Multiple bibliographies within one document";
   stripPrefix = 0;
   sha512.run = "82cd48cf9097b36664d4dcfb5d73dbd6e961c2f0a8bf7816d1bc59a33cb6d2c65e0f63a9d1d596dc9faa4339536746089e34bd1b510e1b2c0ea272df5840e396";
   sha512.doc = "1d4536094c09755fc91b2657cc0eb0b0b2fd8d1c5ca37bf2f046b62a4b0be6f83a93debac8be3c5481651dc75cac2066962556370bd84face6b03aaba24bbcc6";
@@ -32235,6 +34913,7 @@ multibib = {
 };
 multibibliography = {
   revision = 30939;
+  shortdesc = "Multiple versions of a bibliography, with different sort orders";
   sha512.run = "faa2e16b8bdb9309e2f16cdb2c717b59c8ecd5d73e4819d72ee3226a80fe0c0ff6b4d686d0f1d009601e0d6dea140cd4812c2f4cb94f37b5bd9cc1bd19137965";
   sha512.doc = "3e13c8c60ab8091a363b63a63259e53e3c5076feb224a6f426e55a351141f007ea8bf7526b0f80684c83e4e97b43f5f05217e254f978e8b69665c736efbe8512";
   sha512.source = "544b3778bd0a51e99e89e18e606d37551576d655a01b46523786d6f910cf84b3886a8b29c72b9e0c25b3ae629045470b24e2741d7894f867437ca069cd692cb4";
@@ -32247,6 +34926,7 @@ multibibliography.binfiles = [
 ];
 multicap = {
   revision = 15878;
+  shortdesc = "Format captions inside multicols";
   stripPrefix = 0;
   sha512.run = "5e4a4eebd7560d4aebdaf7035b9bc14116a32cb2e043aa93afb9f95eaf271fdd75fe7d2b6296d36327d7aa5b14b52046b0c941ae949584ad27a2b89ebe54b6de";
   sha512.doc = "644f46fa6431f0f7bbbdfed8a346887d107c8ff7c8d5b2c826b16994faa48d83ca59cd139c16fa144122e0425e6a2c592762b86568f17fb914dd943cdb7eb808";
@@ -32256,6 +34936,7 @@ multicap = {
 };
 multicolrule = {
   revision = 56366;
+  shortdesc = "Decorative rules between columns";
   stripPrefix = 0;
   sha512.run = "46c8745965a2863f3ded3aff6a910e1971d9aa3127a33c36431d68d1150075f52444495c0fd16fa1b737d2f1dfe7058879f7a50003f763cd0d28781f62bfea0e";
   sha512.doc = "42d7798d38abce4454a726dd2998b94e4171bf963108a8ed18b05b5acae739e19e8e1189e74cfaad02f4ca92b32e7fd0afe9496fbd35983574da8607441a2295";
@@ -32266,6 +34947,7 @@ multicolrule = {
 };
 multidef = {
   revision = 40637;
+  shortdesc = "Quickly define several similar macros";
   stripPrefix = 0;
   sha512.run = "2d15975c8a191cc08925cc8cd74b982af909a7488a68e4b6f5eb4c2ba0dc94dbcb40c4347c5c4774fda24f98efff52131f6a243e1e6bdcb4dde7e683e408d6a9";
   sha512.doc = "50b26f8fcfde20dd04f3e3701d611631c8914e9488a3f87d25e0c60803090133f9abe889b449c67a09ccd5053c67c4a3ea699d52d44480051391edaaa7ff9ef7";
@@ -32276,6 +34958,7 @@ multidef = {
 };
 multido = {
   revision = 18302;
+  shortdesc = "A loop facility for Generic TeX";
   stripPrefix = 0;
   sha512.run = "5c861bddcb8b2bdb654dc4438621834a68b2bca102799317c9a220f9bc9bc4c9d70775375302a85736f8706bb7fbfc1a4c24fae2f850237e8f54ad521b1cef83";
   sha512.doc = "8cef36438fbe57c54f625b178331f7a6ca19854abcddb475283fc0cb4a362764c443de05989245e962dba9e2e4f17734533502fbd4b2ef4fc8e8c36b96bc68ab";
@@ -32286,6 +34969,7 @@ multido = {
 };
 multienv = {
   revision = 64967;
+  shortdesc = "Multiple environments using a \"key=value\" syntax";
   stripPrefix = 0;
   sha512.run = "04090331e44ac252dcc6929ec995cb0e6d38922729a6af99ba103a833d1ac93f7553d9314359cc5b1ad16d16757828e57059a6f1f8bf2892abc41b2d901fb15d";
   sha512.doc = "29dfcd04a9b88d6da8a279b021e3178652c388a9afce5063e863307b8030fce66dafd48ae2a7e18f1e5e207f0f11b4d6c8da035f0799ddfc47856b7651d7fd9a";
@@ -32296,6 +34980,7 @@ multienv = {
 };
 multiexpand = {
   revision = 45943;
+  shortdesc = "Variations on the primitive command \expandafter";
   stripPrefix = 0;
   sha512.run = "63f512ca5b9649c86a6936cc2407737e41afd6c6a3b4810fe81155a5b4127aecc538303e26b91f53decee900fba7946e90a46a545b3c9caafb3e0863940e0009";
   sha512.doc = "6b8a727aae2d314877df551ca5804e84be0bc530b4f09d8bfe6a9c1a4c1eb98647257beeb1813a183f0aa5422b0041443e817ce11b6db70e4129e3edc664e788";
@@ -32306,6 +34991,7 @@ multiexpand = {
 };
 multifootnote = {
   revision = 63456;
+  shortdesc = "Multiple numbers for the same footnote";
   stripPrefix = 0;
   sha512.run = "928a2086fdf167ae23f851ec6da8cd84a012e85c97f56b7ed62fbb2873cbc6cf2793a02c8c23bc76f0bae3089edf9c594141a9029920d9f1038f7cf4b39c5e23";
   sha512.doc = "9e74a56d5d27506e354d0d68b4639df92ba4d017354e3f12bb2c9be33c210eef6cd2ad3dbcf0fa17b75b0c938da9407f0b4f9ce3e5fee000e2840d702d28fca9";
@@ -32314,6 +35000,7 @@ multifootnote = {
 };
 multilang = {
   revision = 49065;
+  shortdesc = "A LaTeX package for maintaining multiple translations of a document";
   stripPrefix = 0;
   sha512.run = "57f9829b100068a84feb8a09a94066b93ec5fe70daf831ea99604089a4fc2f67af76f79505a2eab6dbc8f2b025feed6d908a1f24630e27e0f7606c4a3ebb71ca";
   sha512.doc = "e611f2195fc4f7083d6343eb3554a2e786fd6522383456544e45346481cd57d54b0899cdc6ffd9edc4b75567b1e092ecc597bff660d849e0ce2b3e2d1bd55507";
@@ -32324,6 +35011,7 @@ multilang = {
 };
 multiobjective = {
   revision = 15878;
+  shortdesc = "Symbols for multiobjective optimisation etc";
   stripPrefix = 0;
   sha512.run = "80b0f340f19dff329cd9f0fc32cbb9a8cf690243aa925d6687b9da345984f9eba9c0db7b62fedd2a54f077d841b9cbe91e47c98140f1cfeebdb16fc05408898d";
   sha512.doc = "3a7c68054a85bbad36b6516c52ea74c35ce11c5ffd6f3d1f235ecc2ea55209343a4ff609857877094fb7f8861e8b7c54c8c979d06cc3b3583fb64e997372ae9c";
@@ -32334,6 +35022,7 @@ multiobjective = {
 };
 multiple-choice = {
   revision = 63722;
+  shortdesc = "LaTeX package for multiple-choice questions";
   stripPrefix = 0;
   sha512.run = "975e7ba809ff551faacfeb8c40f0965da34068b4d4d2d0d14d9334996a245682e74ee05a4ef99fab064263c14c0ee4e7fc50372184c2db7ea90572eb9f4beaeb";
   sha512.doc = "334d989ca885f640b339028d85acefc8d1762b587e652805ef49a97c0cc1cff9f87fdae884c613719b5c377eda17f85c22137db6a368b663a389661bf34f6e4a";
@@ -32343,6 +35032,7 @@ multiple-choice = {
 };
 multirow = {
   revision = 58396;
+  shortdesc = "Create tabular cells spanning multiple rows";
   stripPrefix = 0;
   sha512.run = "7591c7994fcac6fe351189c1364b448ac8b82e88bdaa50ec87c72123961a1bddfc02b397d5955eb96b9d47b4bcc9b6c1352eab0016b1dec24e034a95c53323fd";
   sha512.doc = "c02af3deb73b076662da0f45769dc57a7e11546e225f0df76f1fb163251e070b09203c4434382b7d4c3ad110460d0a1b6b0b384079b4a7cb54d105173fc7c575";
@@ -32353,6 +35043,7 @@ multirow = {
 };
 munich = {
   revision = 15878;
+  shortdesc = "An alternative authordate bibliography style";
   stripPrefix = 0;
   sha512.run = "d8d2de2245f24c6993fcd178e2a21891e66b5b99039e8969639d2a9cba15abc6c3c50374db61c8082695a969a69ddce902ff8b5fb8104fe66ba1384ef99b93f2";
   sha512.doc = "ed2dc99df090a012f1b1b922659eebe4c2d8523127e17341b9c4b66413acfc89f8b64ed639c8fd40ace0f4fddc8662f42630411c67026311a26fed436a363b78";
@@ -32361,6 +35052,7 @@ munich = {
 };
 musical = {
   revision = 54758;
+  shortdesc = "Typeset (musical) theatre scripts";
   stripPrefix = 0;
   sha512.run = "4bb8bd0781cd49950f2a80ed9527de1b0e49ef6eefea5787d1d13efa3893d57b48a9b69ddf0f62bd2695a61d9b785cfa1dfad2217f8cd97929e1dfefac9333c6";
   sha512.doc = "c06f45815ff65fa7c492575731bf1aec0e774cf5a81907d1e381ac8ab366c167ada688b8c8fc82293c96980c5361a688eda666b130c1ac3f39976d49bf78f60c";
@@ -32370,6 +35062,7 @@ musical = {
 };
 musicography = {
   revision = 68220;
+  shortdesc = "Accessing symbols for music writing with pdfLaTeX";
   stripPrefix = 0;
   sha512.run = "310c10402a269d7bf44a811b841be8a8058ef8eefdfa4440fa64ac27983fe1212134e4a616b3979ffa4f63c8ee86a7ccc5568d49c195dc1683b326a501cd83fe";
   sha512.doc = "52dc06ba9b0394c0ea66fc02094174b45733002a3a492784b1e67670614caf57a162d5ab74cd51bbe6d884fbf0f04458d6eeafa2faf637ccfde4fbbfa435cb7f";
@@ -32378,6 +35071,7 @@ musicography = {
 };
 musikui = {
   revision = 47472;
+  shortdesc = "Easy creation of \"arithmetical restoration\" puzzles";
   stripPrefix = 0;
   sha512.run = "602132bc51f1ed20f045bf0c822f201f7bbf3386f9181599894e66cb3c59f4ed15364013a5e30bfc59b22ab3fe4931872b779d1e7f34b8dbcd1eabe058b1f5e3";
   sha512.doc = "29cc8526543698f218e8c9c20b424fb2b05d3ee0a67c70a2afadd33dc49f0030ceb440b349898b8bd66a53a5682aa8289d081e4502fa5ccdfe481b4e2430de03";
@@ -32387,6 +35081,7 @@ musikui = {
 };
 musixguit = {
   revision = 21649;
+  shortdesc = "Easy notation for guitar music, in MusixTeX";
   stripPrefix = 0;
   sha512.run = "6262e1b447f517680ddfd9e5e076ea384dfa7fc8d219e7a2613a80ba66a0f0435d9dc31502f6abbfc150fa1e2de001afbdec25dd5778e3ffe559ea389d57208a";
   sha512.doc = "8a6c9a42383d6b35c1300b958a7629306a6883bec1bd68751165eb3514f8f069c9995247142bad459e06fa42378a9ddd23093cb749bb2ccd58743312f83425dd";
@@ -32396,6 +35091,7 @@ musixguit = {
 };
 musixtex = {
   revision = 69742;
+  shortdesc = "Sophisticated music typesetting";
   sha512.run = "ee6f9654d867c1f8a4e4a5744a927f511510ef2397d8b452f635704154692cdd128a73fe6c6719099e9794e727beb1e38b211a61d15caa3649a5c059b0be8376";
   sha512.doc = "942fca6475fdff821fa847c06d6dd8f92cf786e8f0f79d8edeab6276dad177fe97b8c70adb86db424b99875952b93151db35007575744fbc1d814e28ea03b949";
   hasManpages = true;
@@ -32409,6 +35105,7 @@ musixtex = {
 };
 musixtex-fonts = {
   revision = 65517;
+  shortdesc = "Fonts used by MusixTeX";
   stripPrefix = 0;
   fontMaps = [
     "MixedMap musix.map"
@@ -32424,6 +35121,7 @@ musixtex.binfiles = [
 ];
 musixtnt = {
   revision = 69742;
+  shortdesc = "A MusiXTeX extension library that enables transformations of the effect of notes commands";
   deps = [
     "musixtex"
   ];
@@ -32431,13 +35129,14 @@ musixtnt = {
   sha512.doc = "9d5646e3657c74a6d6c6be0c3f07e91ece88c9f0430e7cd54fec45769ac308b813a0f39ed202b518092d856e3fa0876c589f36f37c38b62adf078647aab42a63";
   hasManpages = true;
   hasRunfiles = true;
-  license = [ "gpl2" ];
+  license = [ "gpl2Only" ];
 };
 musixtnt.binfiles = [
   "msxlint"
 ];
 musuos = {
   revision = 24857;
+  shortdesc = "Typeset papers for the department of music, Osnabruck";
   stripPrefix = 0;
   sha512.run = "3ad7bc18f20b0df70f6c92f7816d4e5bc90070a392788d93caffaba39f25e516a1ca4a6ef5438dbe55b514822d2882e7dfb809eaa4fb1380475fd624ec3efb9f";
   sha512.doc = "a2bc27d789cbd6833961d41ee6d697004fa7539810aafa8749af918572dbd20e2f267bb7435c068fd604540d0a75d1a558fea38a8cc7748c9dcf087c17469a61";
@@ -32448,6 +35147,7 @@ musuos = {
 };
 muthesis = {
   revision = 23861;
+  shortdesc = "Classes for University of Manchester Dept of Computer Science";
   stripPrefix = 0;
   sha512.run = "66345512d1713dcd352feeb46d8ad9c609d4c9364a37b47b5fc0207800f6576831e15d7be59ce13f560ebedaeac9a595f2bd7045b621fbdc8e20a3b3c553524d";
   sha512.doc = "5ed08b459ffdc954f5857be1a1970e9a23d2cfc23cbb04e820b82368b1febb9bf04811e53ce6fd05cc12da302d182179d29b278fb99157e801afd05db15cbaa1";
@@ -32456,6 +35156,7 @@ muthesis = {
 };
 mversion = {
   revision = 29370;
+  shortdesc = "Keeping track of document versions";
   stripPrefix = 0;
   sha512.run = "3031b6aa9408bfb0994ff23c36f6b3f770aa8beac0e94bfe1361dc2ec6ac47859a996ddea9f5283833e5711d0308ebfe5aae91bc0ab564c6e83056d7394f14f5";
   sha512.doc = "bf7639f024b214c2b8b73cbe4f87848f390d106f46afff6f6a1257d80b37a6b7b02d8d9224580d945b93b3f86a43495d00c5c07d22e8428703036dc43273ad41";
@@ -32466,6 +35167,7 @@ mversion = {
 };
 mwcls = {
   revision = 44352;
+  shortdesc = "Polish-oriented document classes";
   stripPrefix = 0;
   sha512.run = "045fbe4985684ff7bad3a7c493fa0b37e412e698ee5eaf31b4ccdf3e185433d185faeb78bbbae7e11b84354e4dcbc24c8f2cf549a64b81ed0b6adfceb4bc8d8a";
   sha512.doc = "17b548e9db8a842c16367cd27b3f5639fdaf418f1967155a72c90e3e91d47a121c87dcf2bf0c6eb9042005d54e04ee40b367e0d81c7e2ff57de04da617f8b1b2";
@@ -32476,6 +35178,7 @@ mwcls = {
 };
 mwe = {
   revision = 64967;
+  shortdesc = "Packages and image files for MWEs";
   stripPrefix = 0;
   sha512.run = "707e5fbc793f608432e0c565311964a8b92ce55dfae43649cab61b767b22d35029a781fe9cf5997505afae4ff75a48d82acff95cd18b27b72033616ab06e22e0";
   sha512.doc = "d6cb1e619dfa4e99128e4fbb95605eaeee694c59636f6759055f3ffa7ff13f12fa1a6d73a26e72baf63bcdb9737ebb41795b79367498e2c1122ca2b15c4fbee0";
@@ -32486,6 +35189,7 @@ mwe = {
 };
 mweights = {
   revision = 53520;
+  shortdesc = "Support for multiple-weight font packages";
   stripPrefix = 0;
   sha512.run = "50d675bdee00625b5fbdcc1ef923a48abc19af890faab90ddde4893081dd2a5de6b5ce9165a4bece512c885ba3f3990d8dc300a873177c725a5aa16b434d4e77";
   sha512.doc = "b103ae1a7e4072e646aa70ccd660cef52b6954deec6425fe2007c15a1f56fb45d43d276449e436f188e52192609766237ec22b69c7782af5c0e3f15081989dc1";
@@ -32494,6 +35198,7 @@ mweights = {
 };
 mxedruli = {
   revision = 30021;
+  shortdesc = "A pair of fonts for different Georgian alphabets";
   stripPrefix = 0;
   fontMaps = [
     "Map mxedruli.map"
@@ -32506,6 +35211,7 @@ mxedruli = {
 };
 mycv = {
   revision = 26807;
+  shortdesc = "A list-driven CV class, allowing TikZ decorations";
   stripPrefix = 0;
   sha512.run = "72e74c30c994441aac708e719e894d01bc3d1a6570863a589dbacae8e3c69f70d192abf7473b58a026b2859f7f10dfd1e56827cc759898248e3cfc9d36f37583";
   sha512.doc = "892d0c10fb8a2dd9a65bb6fa4dd48fc3ea49803a7e633cd390427bfbcc8f16f6d213f9ef511c7202521b518db4c94bfdad5197c30b2c8786bbbb6c6f188293a7";
@@ -32516,6 +35222,7 @@ mycv = {
 };
 mylatex = {
   revision = 56751;
+  shortdesc = "Make a format containing a document's preamble";
   stripPrefix = 0;
   sha512.run = "b7ffebb46952c41818081cc14545d429fa65e376a2214d0ed41b56cea05cb1d3146d87513b4a701825b01bcf1ab268cefe6e9d709cb627dbe7b95daaf439d509";
   sha512.doc = "791cce1eb8370e62642b64389b26a91af563ca875268039ffa978cd07a743b999573199f1a3851ee65f8118cb462ab5d5c658118a735875db90eb8482246e889";
@@ -32524,6 +35231,7 @@ mylatex = {
 };
 mylatexformat = {
   revision = 21392;
+  shortdesc = "Build a format based on the preamble of a LaTeX file";
   stripPrefix = 0;
   sha512.run = "476e2c739c9a99a53a9f6bb7eb32e6122c149fe224497cd8e777af0ebd139ffadfa792090d8673ff96b4e17466e918f9af4ecb7a12c608d4c33d4e17f2b26f0a";
   sha512.doc = "c0754ef147a457e7c91b16a50dab2220fbf2f5385e126e796b1c65025f0fd998371b4e58d96ae72b8c6eb21b2030906729270c88c0914b1748714455e78d1bbb";
@@ -32534,6 +35242,7 @@ mylatexformat = {
 };
 mynsfc = {
   revision = 60280;
+  shortdesc = "XeLaTeX template for writing the main body of NSFC proposals";
   stripPrefix = 0;
   sha512.run = "6736bcfc3e0285b4def1b690fa0be98da319ce91f3e77978f08afc81289bc64b9a7aaae1d23a535a437c68037ba3cf0c068846ded35e3a6f4a26fbb7fa1be382";
   sha512.doc = "0b8936f3a2f36f68be9b1b9ba7c90f60babf6a6c9c81ab165ea947829ce0cf4230cf9f53d0acef3dde83c2fad10867e7316f9dbee0757a7fb9dac98b683d811b";
@@ -32544,6 +35253,7 @@ mynsfc = {
 };
 na-box = {
   revision = 45130;
+  shortdesc = "Arabic-aware version of pas-cours package";
   stripPrefix = 0;
   sha512.run = "8b0659454d8324ca51c9e97f7957a3c14230dca0b4b8e047b961bad1b81d2a8b0220cf275bf84e9aae6a3d601fe93df3de94f603a198f6bea716064ae8675d0f";
   sha512.doc = "2c78a71155eab3cfdf551830051dd360f6e9fc8085ebe364c13a79a1ebda0693d633e7ba08e31c356e46140c33bf3b190365cb88d944d2b3e8c0799ff68cdc8f";
@@ -32553,6 +35263,7 @@ na-box = {
 };
 na-position = {
   revision = 55559;
+  shortdesc = "Tables of relative positions of curves and asymptotes or tangents in Arabic documents";
   stripPrefix = 0;
   sha512.run = "fb88693c5d626331b9deab494bdb0fececfcb3d6f76e91f76f467ab8f152fe857e4ef41f87b38092118646961c0f64f82501f0f75f5610d793b8158d77bbbf9e";
   sha512.doc = "abe7a0a765cfdd1d4ff454180b32d4153cd715d9af333221ed3213082dfbcf5ae0562617a2b30835a8aaf2a65c166e6fb3941d3bd6c781d83d65e971bd53f356";
@@ -32562,6 +35273,7 @@ na-position = {
 };
 nag = {
   revision = 24741;
+  shortdesc = "Detecting and warning about obsolete LaTeX commands";
   stripPrefix = 0;
   sha512.run = "a2d239ed1e12fd1b082c8df5531c9b83cf55c39b13781aa01848f3fd06136a9522598abf9e63580a93fb12ad7c392061b14d5e96b4d4f4dcf8180180280224a0";
   sha512.doc = "9a4859b67182b40428f720e2e955b591fd3fdf30acbe7c3214548766312833b3ebd5a046d1ca2e2b824e3bad95bde635a1cd112e8023395333cdcdb9cdf55ba9";
@@ -32572,6 +35284,7 @@ nag = {
 };
 naive-ebnf = {
   revision = 67892;
+  shortdesc = "EBNF in plain text";
   stripPrefix = 0;
   deps = [
     "filecontentsdef"
@@ -32587,6 +35300,7 @@ naive-ebnf = {
 };
 nameauth = {
   revision = 69758;
+  shortdesc = "Name authority mechanism for consistency in body text and index";
   stripPrefix = 0;
   sha512.run = "2b27daa9547563ba455b9b3722c8726c1ea5c71d1c4976857add784efd95202cbdd2ed631096e85a0408deefa8e43c95dbb8ad7c0b6f1ef3da1f8476737c341f";
   sha512.doc = "f8d9f727c25cf50b31d28a3e4a53a7694c5462997f60060e7a2db15e38b14554df00f5afcc3675c5b6bbab477a11f499e79e7a98988b7bc0ef0146a43da5c239";
@@ -32597,6 +35311,7 @@ nameauth = {
 };
 namedef = {
   revision = 55881;
+  shortdesc = "TeX definitions with named parameters";
   stripPrefix = 0;
   deps = [
     "l3kernel"
@@ -32610,6 +35325,7 @@ namedef = {
 };
 namedtensor = {
   revision = 65346;
+  shortdesc = "Macros for named tensor notation";
   stripPrefix = 0;
   sha512.run = "0925bc8a0a9f0cfee910470318fe00972d604e815aceaacc358fc412f3382c5cb5a4f9b1a337b9f609f0060fbd82bf1a7579ff611685a992b68eddd5348a8dac";
   sha512.doc = "9127b5d7c44a4b2a1cb28062f3a0c18f61711dd72aba86ceb9b948563ea5cbaedcd0539e0ef8608222f957f6fcbe878848095fa48131b564e26b1bb654ac8395";
@@ -32619,6 +35335,7 @@ namedtensor = {
 };
 namespc = {
   revision = 15878;
+  shortdesc = "Rudimentary C++-like namespaces in LaTeX";
   stripPrefix = 0;
   sha512.run = "71ec09a2aee5f299e9620b9b90558bca11415cdbf4304d0e5777896f85cf4e30cc39508fd69ff831a86707e230cfca1773fd9a8bc50c37f310f8bfeff629d2d6";
   sha512.doc = "4bd240f3ce155ea517fc267af1925f2e84f7af694a1ee4a068a2679d97cb6f97fd77f8812017e05f33c935bb54a34459a9deeaaf43cdb4ed69d792676316734f";
@@ -32628,6 +35345,7 @@ namespc = {
 };
 nanicolle = {
   revision = 56224;
+  shortdesc = "Typesetting herbarium specimen labels";
   stripPrefix = 0;
   sha512.run = "e9f90cb21730e34fe03961281527cfdea0f7c15e349b9d441747be7ba591c40ac876ebed92f884bd502c3cf7a99f2f6f6328bce515680100c2f9a3d7e04a4aa4";
   sha512.doc = "3d159eb9fd84aa8bc6c183ae6a42aefc331b9bd606abbc1b2c3c53776d5b8f1554a4ad304d0555b8d2c95be2e8000eab0a3ec6a167e089292099bac6751782d2";
@@ -32637,6 +35355,7 @@ nanicolle = {
 };
 nanumtype1 = {
   revision = 29558;
+  shortdesc = "Type1 subfonts of Nanum Korean fonts";
   stripPrefix = 0;
   fontMaps = [
     "Map nanumfonts.map"
@@ -32649,6 +35368,7 @@ nanumtype1 = {
 };
 nar = {
   revision = 38100;
+  shortdesc = "BibTeX style for Nucleic Acid Research";
   stripPrefix = 0;
   sha512.run = "212f1a002743ba14eac41de05a88325533db8b25d9f12b141064b9aa98f78dd5c28caa7cdaa4419829e6180e56ff93e42b069cdebb52fb8ef40c9652b8a23c79";
   hasRunfiles = true;
@@ -32657,6 +35377,7 @@ nar = {
 };
 natbib = {
   revision = 20668;
+  shortdesc = "Flexible bibliography support";
   stripPrefix = 0;
   sha512.run = "7e78ab76bd86a864eeccef86a64fb28b6b063d5a12210da80f0c5a5608df429fc2939580b88263dc50fd68d841580a12358617e20a0048ccbc9e148ba04d5f26";
   sha512.doc = "afe78103a6ba2d58c6f6ba6927101cb481abb1b028c4cc09dca59296d30978c636e837c248eb4f8fa44aa8fa7f6db1e1b6855afac9d99b0cfa030dbad6e59edc";
@@ -32667,6 +35388,7 @@ natbib = {
 };
 natded = {
   revision = 32693;
+  shortdesc = "Typeset natural deduction proofs";
   stripPrefix = 0;
   sha512.run = "85568d2bd3b729cda5e4512a2e3309353e7abdcd6a02ee3f86e07bf65cd74ca9581d7b2746d582b704a116313b77cc5ea94f19fe0d233a3b41c4ae88a8704f12";
   sha512.doc = "5cc23aaaf6006c1f77d676ad1f20d3a62d9ac8d8be6f41e68085844f6060d570baa04000bf3108c975add502c7ad62086509464753474a74c43d045122b28294";
@@ -32676,6 +35398,7 @@ natded = {
 };
 nath = {
   revision = 15878;
+  shortdesc = "Natural mathematics notation";
   stripPrefix = 0;
   sha512.run = "2eed9bc55d9d994df8710703c5acee9fb07d8c9732288740cc3c20740bd8db1e3d22617886818ceffb0346110dcd0dbfafaf192878500b2865523d00c6e02bf0";
   sha512.doc = "ea75b3f282f81963484b2f6b29513a99f3153f222931dfa811deca40cc79a814a225a0a79e67237f53e3aabd33f7749095d3c7fb8f374ec802ee054ebca291d4";
@@ -32684,6 +35407,7 @@ nath = {
 };
 nature = {
   revision = 21819;
+  shortdesc = "Prepare papers for the journal Nature";
   stripPrefix = 0;
   sha512.run = "78b6e945642bf2073e49acb318a0ff78c1ad24d38c28133b08d5e2881e6e5ee2dd6e8634b467047145dd72d08bfefefc631fd81c7e0facb590be2f9f4798ff6d";
   sha512.doc = "cac72025fbb65e32fff8dbe3a457e28b2953ce2a14b9359b93724073d1c56761524f2e3200f80aabfea1aa0747fb010bb78586978856c89348fcb255630e5d9a";
@@ -32693,6 +35417,7 @@ nature = {
 };
 navigator = {
   revision = 41413;
+  shortdesc = "PDF features across formats and engines";
   stripPrefix = 0;
   sha512.run = "868f3c08b71f670010fdad0320e4792929d31c2be1b29fbb38da518288596dc299b58635ebc8e7551b9191954b76280e87c47b1eb3c4987fbae3afcd133a5c2d";
   sha512.doc = "56605790284309e8b6432152bdd6765172e9e7c9c6ca88b07ce5b4b19ac792df21879999a47663dbffe7b3dfcf6da0de3e8f8399cc65fc96dc2e8e3a57350f47";
@@ -32702,6 +35427,7 @@ navigator = {
 };
 navydocs = {
   revision = 41643;
+  shortdesc = "Support for Technical Reports by US Navy Organizations";
   stripPrefix = 0;
   sha512.run = "b1a5afb90babbdf8fbba1915b88cdbf30a0244d8363c25dd9ce33bb153f9e8e0437146d9883016a40b1cf55c1dc02a06a7d2b72947326f5dc13998beaabff923";
   sha512.doc = "2122252986f1fc852a121e09ac4f6a6a6c23f9227e374809f2968e729602f6d870bd9293fe1d456c4cc04aa48ee01361d37695c7290bb047f2c8f9a41981d3d0";
@@ -32712,6 +35438,7 @@ navydocs = {
 };
 ncclatex = {
   revision = 15878;
+  shortdesc = "An extended general-purpose class";
   stripPrefix = 0;
   sha512.run = "88ec3d2c350521fdb978734d32bb7eb9bacee0ecb95ae051d7bb039cb86e6dd1eba3b4ae93881ef8fa2623e99f6dba9b126373f181c4668176eaaafa94aa992e";
   sha512.doc = "e9c08ac08ee2316b07610bde89aee98289b937e8dbfdc86b392cae02037632d6d303c799f74f381f89a6bd4f4397a8c4d78025a88b8fa4ebbce4be663167f2ce";
@@ -32721,6 +35448,7 @@ ncclatex = {
 };
 ncctools = {
   revision = 51810;
+  shortdesc = "A collection of general packages for LaTeX";
   stripPrefix = 0;
   sha512.run = "f7ec6f6c51d2a4f071b85cf28299a4a11eeabaf225c85cd0144bb0971ec3da44ee9aeac7cdd7501d258b7e8cf25b3e3484cd60dbadf0ff3ee05767c713c12dfa";
   sha512.doc = "a594e74455024dff7d38a8a750ee02637341f84d342a83409ad0e20a1b0f292c370e16c1b267c2d6a58975f45a6b4c1092c8518653994392cf4dc08fe8553644";
@@ -32731,6 +35459,7 @@ ncctools = {
 };
 nchairx = {
   revision = 60196;
+  shortdesc = "Maths macros from chair X of Wurzburg University";
   stripPrefix = 0;
   sha512.run = "3ebdb5c11c57818018172d87f265760039f4de415eff568271dacdccfae4aa1b8b3c646d5c68b4df55b66f631679c0a72c17283d949a35047f1cb8a536f582da";
   sha512.doc = "2c58e3cc770a2180d010688683117a8beb4c8dfc17d0f6502647b5030ec3f6db1131201a352e0ab0247df158b4d5c61ba60995dfc8ffc7fb5e50e6a03b16c2c3";
@@ -32741,6 +35470,7 @@ nchairx = {
 };
 ncntrsbk = {
   revision = 61719;
+  shortdesc = "URW 'Base 35' font pack for LaTeX";
   stripPrefix = 0;
   fontMaps = [
     "Map unc.map"
@@ -32751,6 +35481,7 @@ ncntrsbk = {
 };
 nddiss = {
   revision = 45107;
+  shortdesc = "Notre Dame Dissertation format class";
   stripPrefix = 0;
   sha512.run = "62f951bce52bab564ab2671bd5d019ff9f6f5ad1d8a18ae9f8b574226aa83e4d3a9c6c931f4830f71c43499f68b8b06e539d55a027e712ce4cd2c03e349d3fd1";
   sha512.doc = "bd92c614f160c50a22ff83d296f0e511909906459cfcb7100c615170ee9fadbd38ba032bf95f7b25a083cae33c80ede96964d3b81e23c481fe5a836d91967ad1";
@@ -32761,6 +35492,7 @@ nddiss = {
 };
 ndsu-thesis = {
   revision = 46639;
+  shortdesc = "North Dakota State University disquisition class";
   stripPrefix = 0;
   sha512.run = "d79b603726abaa506ec0cd59c30e4c341839c1dd6f7b7aaeb536385d22d69a37d764499aba390fe7e1efc6a6e25ae6dbb7e92bf659a771b6f4d6ae3b5a2c98d9";
   sha512.doc = "8e93554ef50d43562d1c42fff3da81b77b4ae444d644e5b1a818571e80cef88a2006f1b1c61c320e467724df7847be50f4f3ec1663bd767261720cc1a80419ba";
@@ -32769,6 +35501,7 @@ ndsu-thesis = {
 };
 ndsu-thesis-2022 = {
   revision = 63881;
+  shortdesc = "North Dakota State University disquisition class 2022";
   stripPrefix = 0;
   sha512.run = "98f01d4d37fc1661c117027c7dd83e4c74001cc7d03adc854c6f869503e5700512186585b15d1b7dd7a40ec6a526f1e6eaeed1332ba9531850e6506ce2feaf47";
   sha512.doc = "ab0c8ca7aa865052422192b51d1affe2c26af465dfe3de9a0bd10a30e5cbaa8f9f9594e1337bf175a069ff189c8924c844acff0b7788692f19e44198c1f578d0";
@@ -32777,6 +35510,7 @@ ndsu-thesis-2022 = {
 };
 needspace = {
   revision = 29601;
+  shortdesc = "Insert pagebreak if not enough space";
   stripPrefix = 0;
   sha512.run = "663b2ffe30b1d9a588183916ccb0e3fecf3098d3e67f2a40fc49e1db1e5c1a892bfb56eb177bccd923415dfe51d4a225e2017be3b2f3f7185071836cb2e04391";
   sha512.doc = "3af05a6704a8d3c9539cab0871f9f9c8b7a241549c1b3127dfce2a0eaf77b87d54fdafff4b2749eb4614ad9aba45bd2e3d695a92243ea30472e62f7945eff004";
@@ -32787,6 +35521,7 @@ needspace = {
 };
 nestquot = {
   revision = 27323;
+  shortdesc = "Alternate quotes between double and single with nesting";
   stripPrefix = 0;
   sha512.run = "cc75905a3423deb02f226340eeb6a5f97d9d83470f156bc75cdf39569da845279fe8d4a3907fdf269bac75e7afae02faa04dea367cf0326720301ba3f1c31395";
   hasRunfiles = true;
@@ -32794,6 +35529,7 @@ nestquot = {
 };
 neuralnetwork = {
   revision = 31500;
+  shortdesc = "Graph-drawing for neural networks";
   stripPrefix = 0;
   sha512.run = "ba66b86e10f4425c063c76ffcc97759863677a673960255d5c335d215ff8c0eeb4d0f12fdac584ae1fdcec00ab04705cad716ff9290f6b1ca9c8635841f580ff";
   sha512.doc = "fc2cda90284e4360c9dd9c03611f582c7c4569331a3bf04d51152408ff8533dcc1f398f641ece389e63f9b7dd12ae471c3f6b5d8fbdea5d206afb1ab15df4852";
@@ -32803,6 +35539,7 @@ neuralnetwork = {
 };
 nevelok = {
   revision = 39029;
+  shortdesc = "LaTeX package for automatic definite articles for Hungarian";
   stripPrefix = 0;
   sha512.run = "01d207fe9d77df0a225cd5fe718f118bc755c1e23c9dcb2bc4e0b4c2983205469baeeefcc195b150cc54f4540ea71d96cfc393fe61a32f7e85d5c9b5944c5938";
   sha512.doc = "653fea96310508e8a30c76821d1cd83dbf579052fecbb8c859d40cb39926d24ae0141b4788901b34b4839615b33d5995eed2b6a27f6abcae981b9d47b6ebeb34";
@@ -32813,6 +35550,7 @@ nevelok = {
 };
 newcastle-bst = {
   revision = 62856;
+  shortdesc = "A BibTeX style to format reference lists in the Harvard at Newcastle style";
   stripPrefix = 0;
   sha512.run = "bc3f53c76ec9711d2ad9878dd12a62ed5fceba680dfd89d55ad81df0bf6e63e49e8660e1aa0726ac8ef545fab1e924fcae938701a59117bb42a59a016a349944";
   sha512.doc = "c00154d8a4abc12d57d1760383a5da13af16ba5340edcdaaeeb4e61b5ceb42d0776c0967af7814bb3bc6a8669a61998b212fe62b190458a50ae1e6a03c2a3645";
@@ -32822,6 +35560,7 @@ newcastle-bst = {
 };
 newcommand = {
   revision = 18704;
+  shortdesc = "Generate new LaTeX command definitions";
   stripPrefix = 0;
   sha512.run = "e4716ec35793f0ed4140ed3bb221bbaedaf121b2529dbde5114a575bfb8aa32a8fc56e79e43068adf560423aaf68c5f09dd5d6b624e37005bbaa4def2b280060";
   sha512.doc = "84f71adb1cdf4213f34e30a2737f41c93fd0e8ac4970b2adb832570c98c5f3876502556392fa077a8cb647a552a8e914b2a30e4e38a039c355802e2c85c5f3e1";
@@ -32830,6 +35569,7 @@ newcommand = {
 };
 newcomputermodern = {
   revision = 69379;
+  shortdesc = "Computer Modern fonts including matching non-latin alphabets";
   stripPrefix = 0;
   sha512.run = "140226a635763be7a407910980664b38323dc3634980452fe9eb4395194e7bdc0144715f13d79b9f108630aebd393073135328c98fa34310e3b8d4150e2a5fea";
   sha512.doc = "dd8cc0f43cd3a1d19a6666ce39d0d4024f8ce1ea8c51c0809878f8b886b286558d78f91cfe962b7cfa0e83c8abdde5912c4913c9c67be5d2b5ae81c274803fde";
@@ -32839,6 +35579,7 @@ newcomputermodern = {
 };
 newenviron = {
   revision = 29331;
+  shortdesc = "Processing an environment's body";
   stripPrefix = 0;
   sha512.run = "4ddcc24de158fb1a5b585c65adf769c3f92c4598355306e08257f4ef62718c6ca7f2dea80d742759601b37133a951d031445a39ed5d8062496459cc2f98a71b4";
   sha512.doc = "cadfcd8ecc9c0904bc9a45542a24c1b6907dabacc94f45a1ed1b885557304a27e7e836b55cbebcc6130da0bffeff7c56fd89f0b7a16430dacccd670c8c6ddc7b";
@@ -32848,6 +35589,7 @@ newenviron = {
 };
 newfile = {
   revision = 15878;
+  shortdesc = "User level management of LaTeX input and output";
   stripPrefix = 0;
   sha512.run = "b949934073af1aaaada73c93e493fd39ca01ad625d72bcfa5df915b2c2f759a39d77b7c2a0a952711c8c3e0af5e6cca59eb7f333fcd27e7232c3780ad5400ec8";
   sha512.doc = "c2c0e825ae7fee4fa551e831c822190f7682392d47bd8bffa3ee947900d6eaf00a363edd204f7404c834ade0bd5a05e9bb0a8284f8c660eeddf7f75179c0060f";
@@ -32858,6 +35600,7 @@ newfile = {
 };
 newfloat = {
   revision = 68434;
+  shortdesc = "Define new floating environments";
   stripPrefix = 0;
   sha512.run = "6b7ec618044ee10c16722460fccf4e3b71092ed5fc902b0aff431c7407d50e97bc27a2e9bf4c561df50da7d605a3a1ea95c20f47727111e7077e338f0c0e483e";
   sha512.doc = "e3faedb4cdb78304c738a4437fa503f7870c81c13eb82652ebf5a5ccb2befa1180683a5704b16891715c60445eac214cf8e6fb01f1d9675954d45e1a7535d659";
@@ -32868,6 +35611,7 @@ newfloat = {
 };
 newlfm = {
   revision = 15878;
+  shortdesc = "Write letters, facsimiles, and memos";
   stripPrefix = 0;
   sha512.run = "72f7b087ba1002541e3d26d5b41b58380443e30061b92885bbd3bcc017b17cbad9227c14074a53706b98c785117c7b07c6d49639c84c617782066491dc0cabf5";
   sha512.doc = "8391122e13223055582bfe0f9e6d62315c9a48588848ab02cebd5b2d7045be5f1d476145e8ca29392820d4ee018b9f84380408331b3ea56e7e99071024a8c369";
@@ -32878,6 +35622,7 @@ newlfm = {
 };
 newpax = {
   revision = 68762;
+  shortdesc = "Experimental package to extract and reinsert PDF annotations";
   stripPrefix = 0;
   sha512.run = "88888718c7ddd02cd3fa3286ee63d7d527d836f0df15250d9ddde12be475275bd7517f4a0562f30d738d4a007d61c4a417a7f03c8fb628b3fc981e7a6f643ba0";
   sha512.doc = "7edcf5fc73e0b28d92b8f11f42e47bec9a6b2327cc23a146fcc65143a30aba16d839579d94de7001b5937fcb241e977d9933e44fd5947da06907dbe4c327e70c";
@@ -32888,6 +35633,7 @@ newpax = {
 };
 newpx = {
   revision = 69777;
+  shortdesc = "Alternative uses of the PX fonts, with improved metrics";
   stripPrefix = 0;
   fontMaps = [
     "Map newpx.map"
@@ -32901,6 +35647,7 @@ newpx = {
 };
 newsletr = {
   revision = 15878;
+  shortdesc = "Macros for making newsletters with Plain TeX";
   stripPrefix = 0;
   sha512.run = "e2f1995420ed7b94b980fd794df5dca89e89dd96daefa43559d568881ffd17668717de1baaff18bf27e8519663203e0ea7fef214b8f7541bde81d436a3a5c378";
   sha512.doc = "aff23fd9e3397c52a1566930d6da6184786f07adc64c63e5d9e0062451014d261db8dab06e9d393cb66b3b56a51b57f494f01c9ab27b05bbe2a226cd4623d590";
@@ -32909,6 +35656,7 @@ newsletr = {
 };
 newspaper = {
   revision = 15878;
+  shortdesc = "Typeset newsletters to resemble newspapers";
   stripPrefix = 0;
   sha512.run = "227fd249bba9deea4f191c59060c49d2d1cb8e367bb3007d3b123c17dd4328206962946ce3f637c8e6ae079a9c95244ce9027b0c9f83e0901801dde066a0405a";
   sha512.doc = "b08d57346ba93e37e93f3c6e2487d56a0ac67eac0e4d9db564d221319e6403a1055729a2a1e43db4e161877b7300aa90e1853d75843c95295481d7cfaa3f6c1f";
@@ -32919,6 +35667,7 @@ newspaper = {
 };
 newtx = {
   revision = 70496;
+  shortdesc = "Alternative uses of the TX fonts, with improved metrics";
   stripPrefix = 0;
   deps = [
     "kastrup"
@@ -32934,6 +35683,7 @@ newtx = {
 };
 newtxsf = {
   revision = 69597;
+  shortdesc = "Sans-math fonts for use with newtx";
   stripPrefix = 0;
   fontMaps = [
     "Map newtxsf.map"
@@ -32946,6 +35696,7 @@ newtxsf = {
 };
 newtxtt = {
   revision = 70403;
+  shortdesc = "Enhancement of typewriter fonts from newtx";
   stripPrefix = 0;
   fontMaps = [
     "Map newtxtt.map"
@@ -32953,11 +35704,12 @@ newtxtt = {
   sha512.run = "fe95d2c4d2ff7a83f362f55bf2579576b94251fdeb3556c2f417e0118b2dd215a705d06d79e66b9aadeca09cadd5c19f2898cbba8624ea089fef804749d350cc";
   sha512.doc = "02879af2ae05a703502966acc561df08762a9fe01a873180672652a9c931ceadcfb85d411523eb81425e7f1944f514673e8d04a208d54b27d0d26916077a81a3";
   hasRunfiles = true;
-  license = [ "gpl3" "lppl13c" ];
+  license = [ "gpl3Only" "lppl13c" ];
   version = "1.058";
 };
 newunicodechar = {
   revision = 47382;
+  shortdesc = "Definitions of the meaning of Unicode characters";
   stripPrefix = 0;
   sha512.run = "8e1748abc585f51033a857db126c4b18f0c42e015d7193f8bc7b69493fb13a218db38da97f3a6733df01dbc247093beb544651a050c5a690f3cd5479c4ad9e6a";
   sha512.doc = "9ec3bdc81587e8b2553dd4ff45ca4ba0bb504ded0726aa44d1e88423cdf425124334d04ebfbdbbe57b576b0fa52cfe1771c97308f146ea19d89d41eb4475eb9e";
@@ -32968,6 +35720,7 @@ newunicodechar = {
 };
 newvbtm = {
   revision = 23996;
+  shortdesc = "Define your own verbatim-like environment";
   stripPrefix = 0;
   sha512.run = "029829b1da07d7e2fcc5950c32021707058f3d7228f6ff82404aeb962663277ed107934f04a93e7f43bd7b67f7034821437f3a8116f21028b7c9a154449ea53e";
   sha512.doc = "dda7ae47bb076f03cba83438c573405f1c67e5407d83fa0894e9575952c284010b62f62720022ffb7a8e723e829610d1e8ff6a8b5098c92207e8ab8755dcb409";
@@ -32978,6 +35731,7 @@ newvbtm = {
 };
 newverbs = {
   revision = 64833;
+  shortdesc = "Define new versions of \verb, including short verb versions";
   stripPrefix = 0;
   sha512.run = "f2e2cd3fd2712d3333c7caa9e74a16300d7f08327b9bc7f44362570377feed31a206e6b09df15c524dcbfe39ffc54388de4fca90e180e38d28cf9cfbba79ab2e";
   sha512.doc = "7524a6e767edc5f55d96026f947e17e42f54138157bfd1851832dd139617939661ba5a4e759b4cf313990077dc9ed240c032cfe706b595af4d9a4197e519fd1f";
@@ -32988,6 +35742,7 @@ newverbs = {
 };
 nextpage = {
   revision = 15878;
+  shortdesc = "Generalisations of the page advance commands";
   stripPrefix = 0;
   sha512.run = "fca0aec60c5c7277dcadb0f86d757617484d700575fae13df8b386775e153ea89c52935ffdb2448c52e351593b396fdf3394f5b97e23a0d2d40dac339e584f59";
   hasRunfiles = true;
@@ -32996,6 +35751,7 @@ nextpage = {
 };
 nfssext-cfr = {
   revision = 43640;
+  shortdesc = "Extensions to the LaTeX NFSS";
   stripPrefix = 0;
   sha512.run = "5083d4ff4168b857a7391855ce02ea354cb17a26242a3e3b2693d6bbb35f722f750299669a37afbb99a52180433d697fbf65a6fb6afd6bd58d4b16c63e5b0d67";
   sha512.doc = "28b2aff47d74de3a42c441dafc156297904b5db20d267f1af07d1e3210e7f9959474b3cec387be7d9b20dc04560b4100a0d9da6979ab8ad2a7cd1e4518cec278";
@@ -33004,6 +35760,7 @@ nfssext-cfr = {
 };
 nicefilelist = {
   revision = 65842;
+  shortdesc = "Provide \listfiles alignment";
   stripPrefix = 0;
   sha512.run = "deaf84bd004172584e0437f3f15dacbed3d49ef6bfdba15e77e0c888bc03e35a634107469ae979b38d1e5519f4c8236cafed71c0ec46b9e7735041f234c03f96";
   sha512.doc = "efbc5965c9658e1f44182bf92f695b2d200cbdb8c5c70e23631b31603682168c0cfa5e114615483f7d897fec175267ef9d7fd0040f653e75defbe88bfb395bc5";
@@ -33014,6 +35771,7 @@ nicefilelist = {
 };
 niceframe = {
   revision = 36086;
+  shortdesc = "Support for fancy frames";
   stripPrefix = 0;
   sha512.run = "539d4a6f3a192188064fafd94366ad2f8a9146175d9e04b08cd83d1386bccc730a0e3be4a9fd45e4f47152f10710191b063138ba504fca95e4226fc179f70a29";
   sha512.doc = "aaf777520d300b5e8c9a17c2dfb5b12406f5e6926b17c4244feaa8d6c5bc28d87277f23fd814304a7efb91dab8a42e1ed88f6568b96f13f30c831e81201ff4f7";
@@ -33024,6 +35782,7 @@ niceframe = {
 };
 niceframe-type1 = {
   revision = 68091;
+  shortdesc = "Type 1 versions of the fonts recommended in niceframe";
   stripPrefix = 0;
   fontMaps = [
     "Map niceframe.map"
@@ -33035,6 +35794,7 @@ niceframe-type1 = {
 };
 nicematrix = {
   revision = 69991;
+  shortdesc = "Improve the typesetting of mathematical matrices with PGF";
   stripPrefix = 0;
   sha512.run = "936cbf7f65d1c34986bd6113e07885051e3213dfc98d4102564e0d3749bfe68a0beca8637a34da833e45ad8f5d1eb13ed6f7c75c402158e9638f4f2548ef2b8d";
   sha512.doc = "f9255154b3f69e14c82f9816a9c2b9b2a171311501c0d68904443a4ac8a05518164ff80b9428922e62fa0b62bee61557e12cfb20c9a53625c3a6ac0ed369592d";
@@ -33045,6 +35805,7 @@ nicematrix = {
 };
 nicetext = {
   revision = 38914;
+  shortdesc = "Minimal markup for simple text (Wikipedia style) and documentation";
   stripPrefix = 0;
   sha512.run = "04a555a82287a39249cf6b0e18d890329098a1d0d6957fe9a1c535024b63a5f50b6487dc1fe4fd69d87908abd385b0366474ebe3af0b31f41f6a35c519a6ba9c";
   sha512.doc = "96cd1694ae0cb116bb4620f7cdc1f9e24385886c78cf87466cd329c5ca0d78111005ff89e9be50f07078eaedb69c4f3d495b1fc5063a1a69e483b86a6c8534b1";
@@ -33055,6 +35816,7 @@ nicetext = {
 };
 nidanfloat = {
   revision = 48295;
+  shortdesc = "Bottom placement option for double float in two column mode (nidan-kumi)";
   stripPrefix = 0;
   sha512.run = "42ef65277deaf474a619e5ffd570309db8c8349f32e9bcfdf216251e81136a3da87a745b3dcea5212f636396179210c6acaa96a957ffd9588d1f414d6a59bded";
   sha512.doc = "2be76c8e243de71698ae5264a8e3af4da8dcfcd130b0554d1547a0a238e55ee71ec57d8757648b162a6ebd17ce1047206979cf139003a02921a4308a852f0030";
@@ -33064,6 +35826,7 @@ nidanfloat = {
 };
 nih = {
   revision = 15878;
+  shortdesc = "A class for NIH grant applications";
   stripPrefix = 0;
   sha512.run = "5f016d57b1b55c698a902c7a85a652fdcd40062b409a14e38c1356b9030129b46631929e49c6fa70db7ed499043a75060c97919f15876ac7a647d31c2f0bf729";
   sha512.doc = "1c209615f0745ed0ae4d2f4c55cf9447ec4711e9345ca3db778fbf45ccca76792039e6a7e51f2e7286034ae229b5c696ba7deee5bb8c224dbf95a4cccca650f2";
@@ -33072,6 +35835,7 @@ nih = {
 };
 nihbiosketch = {
   revision = 54191;
+  shortdesc = "A class for NIH biosketches based on the 2015 updated format";
   stripPrefix = 0;
   sha512.run = "ce64ef60a007e8a955dd48f9f9f748a738aa57829116f060b3fe353308244db0a2c1d56d139e2b1cc1a6ee4f243eb7ea2339a2c927966d7418e6b553600b9e53";
   sha512.doc = "4315c32e1ba43339b609c272fab7aa0b18c44b2c323f43cc303210f37c44c5a08d0dfcbf62e450bdd9ce899d69afd5eceafad91074fec73ac9bcc1e5c8c8540e";
@@ -33080,6 +35844,7 @@ nihbiosketch = {
 };
 nimbus15 = {
   revision = 58839;
+  shortdesc = "Support files for Nimbus 2015 Core fonts";
   stripPrefix = 0;
   deps = [
     "fontools"
@@ -33095,6 +35860,7 @@ nimbus15 = {
 };
 nimsticks = {
   revision = 64118;
+  shortdesc = "Draws sticks for games of multi-pile Nim";
   stripPrefix = 0;
   sha512.run = "0b2485f7833cc8f4912a035284fcc4d0e710d942330a16a36788f7d80ebc5d9eb9ceb98f6a15b11e6391429d4684c985a83753696c1202bff5f0c5f4e528ce59";
   sha512.doc = "6848acf10eb3c4b2e0dbb9e33868ac4a1c639771c1508a19e4d41512750cb0978dbb61a570830f2f555e09ade976d9cd5c91d23da73013a7310b9cae02b6ee1a";
@@ -33105,6 +35871,7 @@ nimsticks = {
 };
 ninecolors = {
   revision = 62006;
+  shortdesc = "Select colors with proper WCAG color contrast";
   stripPrefix = 0;
   sha512.run = "f755768830e02aa434432ab4e879646ad43d092f50b7e38e39009c98327c5ddcd23d0b5a7ee8d8afad30e69b6219bb871a14dc7b274ae11a60aec33df2c94ae6";
   sha512.doc = "0550d7b4a8b7040541edf156c5b82bf61d350a21c732c4ef324c58289eda288b7e30edd1f36d8650d453a590bdeb97b61d0c782f3d945b033b0fb746b6c802f7";
@@ -33114,6 +35881,7 @@ ninecolors = {
 };
 njurepo = {
   revision = 50492;
+  shortdesc = "Reports for Nanjing University";
   stripPrefix = 0;
   sha512.run = "a62efcf4630d7c26bbedb19e0c4405e730733b71361cbec9abed7a06a377c230bee561d8b48427104bef8dbd4e0bd56b0eaf9f0f7bbcdc8b289c726cd7b6cef7";
   sha512.doc = "61f32efbea3b94749fa0cfc3ef2a3b3a34ccfb4ed3b6b09afa74e4f6dbd2540c1a263c81ca6406288f015303250f51acab0b6a4a4d51c95a2f9bbf1f3360f8e9";
@@ -33124,6 +35892,7 @@ njurepo = {
 };
 njustthesis = {
   revision = 62451;
+  shortdesc = "Thesis template for the Nanjing University of Science and Technology";
   stripPrefix = 0;
   sha512.run = "829c4af6651ce3119dcfb0f6975289bc6cc4a8a7dee4a382ec8f63c1b876cd972452b766ed13e6aec1fb4d4613255a9ef206f1b7d8c03207c00a52876f22533c";
   sha512.doc = "fdf843b266b0d2ac780fe934d4ba55c6a3b470fcf81bcf71f2ffa0a689020ed343768650cce06c5cbed0a35d9178723b0d2caadf5038871c55fbc47f244ce15d";
@@ -33134,6 +35903,7 @@ njustthesis = {
 };
 njuthesis = {
   revision = 69051;
+  shortdesc = "LaTeX thesis template for Nanjing University";
   stripPrefix = 0;
   sha512.run = "da5a4d00161d7904d58d745df89dcb1270eab27c291866300fb5a7293db2a078777c9fd234a3972d75d5d6208acda160921a603b45d72f4c235dfa09f2421038";
   sha512.doc = "12f094efb1a86dc3ced366f3f5a2cc7ef5042ed109e30c3d4130f7de9b514a437029eceae67786e7af1159c0ecee1ea1298efca7a02eb8d9c85253c0acdb43ac";
@@ -33144,6 +35914,7 @@ njuthesis = {
 };
 njuvisual = {
   revision = 65261;
+  shortdesc = "Display logos related to Nanjing University";
   stripPrefix = 0;
   sha512.run = "48f446e5aec77be8e9ebeba59779c990ed4ec5fc3f533fd22807e8415d9bf962075e940d4f789e3809c8ab4c75be6fc505d42cf37bd9e1d5b9e1a02d78e7523b";
   sha512.doc = "351f6cccc1a7d91f953c4dcce294a0ca81a0e687ebdf2ee676aab18e299b8095d089d7691b58316c8955e06e341f78674bbd52b6073e010a3facb6184cb0a8d2";
@@ -33154,6 +35925,7 @@ njuvisual = {
 };
 nkarta = {
   revision = 16437;
+  shortdesc = "A \"new\" version of the karta cartographic fonts";
   stripPrefix = 0;
   sha512.run = "60537472bed0bd22d64789008ff8bbbab92ffcde68cbd74eb0b6d9910705f9f476e8f2c4dafa0020a24b0ff2e27c42a39de1791f2c91040af07dd429e0fa28ad";
   sha512.doc = "b3cb0205fdc567fbed23f797031e7336fb231c11490f463ee3bb3887e5d8ad1aba90bed1b14178b1d9ba15d76ba02ba93598362b9655eea78bf086c7df6c8b61";
@@ -33164,6 +35936,7 @@ nkarta = {
 };
 nl-interval = {
   revision = 58328;
+  shortdesc = "Represent intervals on the number line";
   stripPrefix = 0;
   sha512.run = "486597624d640ccd13b4cf4e913b5735b0f2a36910f563b87c6ebc6f38e2ad8df99591fe8dfcb503750eb6a98204ded9bc80d3cc0f8e2441257d6f9bd2167cb9";
   sha512.doc = "8c9bb64229464a05f51396d50143688b8f108ba47ad23a01ddc97039133cc3dbfd51a6a58e36e946145ea483d3d06f36926d8e881b2e07c005e637338092f75b";
@@ -33173,6 +35946,7 @@ nl-interval = {
 };
 nlctdoc = {
   revision = 68448;
+  shortdesc = "Package documentation class";
   stripPrefix = 0;
   sha512.run = "ef7f443bab4a6608b506ff65bd885965c23607aa5a93a721a021e741eb85a757de021eec7b8b247c9b5a41cad3f3f06a90ce44c143bfbe6ab79ec253eba06264";
   sha512.doc = "e887bbbc705456c084c26b1bd02677a185e7c7ac615b9711821233e6ee3a62de91c4cfdd3bbc353b0775b9fb99dc42e3447d7ef51492f4abf0c519ff1af42af6";
@@ -33182,6 +35956,7 @@ nlctdoc = {
 };
 nmbib = {
   revision = 37984;
+  shortdesc = "Multiple versions of a bibliography, with different sort orders";
   stripPrefix = 0;
   sha512.run = "c915b266e2a7644a88de6476bd4cf81943f7da31472f1b8eb889e048df8acc4afc36e247b8fc63bfdeb8c0384d87fc59f43d87f3ff09822d076c62a0edd1c110";
   sha512.doc = "0014c7fdade3685ce03bf9fcc2725b430f6272025809e224b88361960cb47e5b533d88d60f0ce55e011dbb943c8fc025340fadc506eedf10189724ae79dd2bda";
@@ -33192,6 +35967,7 @@ nmbib = {
 };
 nndraw = {
   revision = 59674;
+  shortdesc = "Draw neural networks";
   stripPrefix = 0;
   sha512.run = "0a3ef1e6654d191c588f8269c674e5d7542785aadd97bf96101be8627f4a4746e443083a0403b8710f2e8036f0d69be1db6d40cfc1865aed89056d84ee4a512f";
   sha512.doc = "0ee7cb24d7cdfc708a3ea7bc4588259ce92723e3c4be295b85d689750ed81ece2a575ceeb9d6959692e36e363bd6ca26615fa598080977cb62de9a641da44322";
@@ -33202,6 +35978,7 @@ nndraw = {
 };
 nnext = {
   revision = 56575;
+  shortdesc = "Extension for the gb4e package";
   stripPrefix = 0;
   sha512.run = "406e846ebe7ed721218368cd00a021edc41af41f1ccb5989925abad92d4cbf4d604abac8144945599530c85917d9404141052ba9891b778d1006b7d339499041";
   sha512.doc = "6efbea453691fe2af7f436e79e1a486abf5dda14e2457ca3c1c2bda9c8461016d4436eee82a18b079a2491e1c4eb2f7dcbaeaf8fe8b8c7846e744f02da8e3b6f";
@@ -33212,6 +35989,7 @@ nnext = {
 };
 noconflict = {
   revision = 30140;
+  shortdesc = "Resolve macro name conflict between packages";
   stripPrefix = 0;
   sha512.run = "660ea2bc008866130d0955eabecf0afa1e21ce38fcaa0ff0d4364ebc32ea8af6a2ba57c80b340f824b14f0488d2b40e5c7ddcf663e37d6170a7ac0aa740ca260";
   sha512.doc = "b403c57b0d794bd95416ae09ed3fbc0c4a164689f9885dbb15e8a4c25ff8751376e6e61b622c9a94feacc4dfb905a7926500368bf51e5e568efa31e1dc5c785f";
@@ -33221,6 +35999,7 @@ noconflict = {
 };
 nodetree = {
   revision = 68244;
+  shortdesc = "Visualize node lists in a tree view";
   stripPrefix = 0;
   sha512.run = "8c451fff46fda636b2b1284d8751e070bc47526d7dc94acceddd49e8eea3f951526c1680f330042e51f61752795b4c8ebaa490cd93a736747e1bc554126bf7f0";
   sha512.doc = "3e69dd9f6ef63f3ca1ed8c071510a5b6946037d9ed76449fd14c16ce0892ca50031ec594f6bca7423d3669270b4e2821311a53b852f906ecbd22035dbf9c2858";
@@ -33231,6 +36010,7 @@ nodetree = {
 };
 noindentafter = {
   revision = 59195;
+  shortdesc = "Prevent paragraph indentation after environments or macros";
   stripPrefix = 0;
   sha512.run = "8445839068a264cc57df9b0e9cce4562b3e70ef208baf32fb2aaabf7ce95804a31f0f8b65c8ce2f2f0fc809a07cb864ff977af31d8162cf10560c39f9d2b78a8";
   sha512.doc = "95f0e11cc91dce0e970caa703149b602150426df174044b0a2fc7d902f040fa4fe6fc3014bcf49d240bc9612c5c61a5a40124d5b49ffab1bdbabab0cfe55889d";
@@ -33241,6 +36021,7 @@ noindentafter = {
 };
 noitcrul = {
   revision = 15878;
+  shortdesc = "Improved underlines in mathematics";
   stripPrefix = 0;
   sha512.run = "1629f5c0f832927093283cd5cb534cfb7ee35bd74f306fdf6cc18cfca3c72d5c1501139c180b7cf3fe71ef7131dd6a42465ee666c7bbb5c83a86f2a69a5a3c8a";
   sha512.doc = "c9c3adf9742b329ddbfdcfc41126c22039e89642f0c0d93ad064ff2160f7708b62ab28994a81860aa08d83f11a111bc11a2a54bbab88bf3713f3f6ee4aa2e641";
@@ -33251,6 +36032,7 @@ noitcrul = {
 };
 nolbreaks = {
   revision = 26786;
+  shortdesc = "No line breaks in text";
   stripPrefix = 0;
   sha512.run = "4057a988b0357e2256eea6ae47c560d8535528e63b93d648c45d65ac44c4894104015e3411b7046606b9a68afc44033d037229d684f0c5427d9dd2ff5b272279";
   sha512.doc = "8cd5d7336097abd2d873af36b2ba6ebc8cd1c405c9a715c67e6c04d02dbdea067c0b7a8603418005ce223e0f1bff161a3dcb669da7c07c30b2ccdccc7f953fa0";
@@ -33260,6 +36042,7 @@ nolbreaks = {
 };
 nomencl = {
   revision = 61029;
+  shortdesc = "Produce lists of symbols as in nomenclature";
   stripPrefix = 0;
   sha512.run = "ee20b8a21b03cb02ed2ef37d38c219841d4a07e17ff781c067906ecbb8f5383d8558c20164f7db79af0c8cd11c5ad8d76142b15ea74674593bb52a5a5993b6c3";
   sha512.doc = "1caa5bcde6c1a3ac5de024f513793c52011285e70e32664d6c5d1a103027c74d45c716d01aaf849726b5b7ffac511ebe6cd16ba669bfeb5fdf37addc59e24a6e";
@@ -33270,6 +36053,7 @@ nomencl = {
 };
 nomentbl = {
   revision = 16549;
+  shortdesc = "Nomenclature typeset in a longtable";
   stripPrefix = 0;
   sha512.run = "195cd134db2faf9c7405d040d0d3b4a71ec39ac201fad47c855d34d8f734d069c03424ddec6b1af978e7b244b3907f846fbd80fff6063e7b25df3de508fc51ed";
   sha512.doc = "4ea606a78da4c0c4f5c35b38b9a430de8dcea49c8662081a85f3aa575523c40f5951bd54e2c8acb368b52f75a3214c0a4b0d178dc262a64b8f6485852c4458ba";
@@ -33280,6 +36064,7 @@ nomentbl = {
 };
 non-decimal-units = {
   revision = 69742;
+  shortdesc = "Display and manipulate historical non-decimal units";
   stripPrefix = 0;
   sha512.run = "0aff79bb4d211419da92ec10b0e9139f2fd0e939e57fb8a6ada437ffc71c0d42394c5561894e2f2537a24e466aad7e86aeb40e6ffcacc04963c8c88268bc1cc1";
   sha512.doc = "fe3e393e6f2de3d5678f71fcfc0e98577ae77d063b8d09966cde4d5145a9a4c0696f4c09d24757e18d8adf75a9473eda57fa5bc1218ca96c2b4594bbecfb5d3a";
@@ -33288,6 +36073,7 @@ non-decimal-units = {
 };
 nonfloat = {
   revision = 17598;
+  shortdesc = "Non-floating table and figure captions";
   stripPrefix = 0;
   sha512.run = "39f8f0a4d9ef1cf8f1dc02c63612980f25cee80cb545bf405d9d2a080256ba6799ff3030c98c26e6f2aaa10ac71015e58e4233bf84703b290220b12db45c70c0";
   sha512.doc = "2d090fa397a385cb32c26957b5c4c05ba8443fb1bb7ce7e3eda777ddc2d3af11ec3ae6297bf014f40e71d4668044ab729a6dedd74e8802ce9089b59d57663374";
@@ -33298,6 +36084,7 @@ nonfloat = {
 };
 nonumonpart = {
   revision = 22114;
+  shortdesc = "Prevent page numbers on part pages";
   stripPrefix = 0;
   sha512.run = "e97fcc36af3e86c1a432d0e425dd86308429e764c976a2f7f8106c3433ae5a148bf3abc45706bcc3090089911e2dfe175156eccaba7d97f544154ad0b288e58b";
   sha512.doc = "0cd6b115638c3151e5983845dd2964ed90f24bd35a06e904a005755696d6faccd90bbf88c7bbb5a0282ffcd266cb55e9eb1d058fd78432ba062fb4fd723348f3";
@@ -33308,6 +36095,7 @@ nonumonpart = {
 };
 nopageno = {
   revision = 18128;
+  shortdesc = "No page numbers in LaTeX documents";
   stripPrefix = 0;
   sha512.run = "0e152caa8b8df06444f50e2f9ca93f18088a0c58e2d5936f612a770b90cdb8f4bb0142064f56573d8569eee274adbc2703037ce4d7477c24d23c7c8de8748a62";
   sha512.doc = "5988c42840efc02f816ca0f9ff7ad2d731c66563c0c4de21b857de975bbec08962cef4ed1dad096abc39ecd8489d3a34a66809e98f49b0a280c186d03e6540a2";
@@ -33316,6 +36104,7 @@ nopageno = {
 };
 norasi-c90 = {
   revision = 60831;
+  shortdesc = "TeX support (from CJK) for the norasi font";
   stripPrefix = 0;
   deps = [
     "fonts-tlwg"
@@ -33329,6 +36118,7 @@ norasi-c90 = {
 };
 normalcolor = {
   revision = 40125;
+  shortdesc = "Changing \normalcolor";
   stripPrefix = 0;
   sha512.run = "013354a5f7514f6267d57d098ca93eb48970df0ce1cb2db0c60ecf664cbcea177b934ab8f252cfb9dd4c0979417937462ef55e51502bca7f32a7de1a0e820e32";
   sha512.doc = "ca7a9c008f72aa1287092f881f9ffcbe58ed45bfc97ec3231fbeceeb007f6248629d9cf49598afe604ac8cc30a4e8117f54fe517fcbf52548add2f6ac6fdb662";
@@ -33339,6 +36129,7 @@ normalcolor = {
 };
 nostarch = {
   revision = 67683;
+  shortdesc = "LaTeX class for No Starch Press";
   stripPrefix = 0;
   sha512.run = "3646dcc196a2b0fc4389d8c7ddbce263126ec88f33749e7b290bdd5ef1800cc8142c35fd87635c7df2b0768c3be03a25bf4e3b84162119c859f278d70bfd4fa4";
   sha512.doc = "279cacf2c378e30468748f3e92ae30d3085fa93bc38b43e7a2b423d06de056fbb2135f9aa5d243fadf504c60628b1048dbfa4f8c9e60fee2f844247f093bd7b4";
@@ -33349,6 +36140,7 @@ nostarch = {
 };
 notebeamer = {
   revision = 68871;
+  shortdesc = "A template for printing presentations on notepaper";
   stripPrefix = 0;
   sha512.run = "87870abd8c42303024df10a6339f6973e83e61fbbffd8851526683ad672810929b1e2f2fb2c9ade58a155b063fa39932122c6e21c652df1a4f7ad60f64c5ab7f";
   sha512.doc = "d9b9bdeff61fac3e6bea8aea4611cd46cc08362cc104bb30e4a67638ddb9d45c91059606d016be559c4926b0450bbef3962eb75d6d6c1fc14f262ef3acac2510";
@@ -33358,6 +36150,7 @@ notebeamer = {
 };
 notes = {
   revision = 42428;
+  shortdesc = "Mark sections of a document";
   stripPrefix = 0;
   sha512.run = "7b569f27ec34c103c5808036a6ffd7f97f9171287883f38c048b8eabbd979559fbf15b20c7002dc9b8b0577889482c4347e4986e076079809a4a5656aed46101";
   sha512.doc = "4e66790b76290925f49ab7f56175e2d41a20e715c43518edbae39e444d02b945ec05ca918574f52fbb6ca10fbbb060242c688fb9344094df2e025de83272322b";
@@ -33368,6 +36161,7 @@ notes = {
 };
 notes2bib = {
   revision = 52231;
+  shortdesc = "Integrating notes into the bibliography";
   stripPrefix = 0;
   sha512.run = "019645974d270df27f5c5bf22570e26b5bfa5c076739824eff60a40d1c246010fe0e599eb2fb282cc08aa2161ec7ee753b734548ca04370d9bf923f357ced1f0";
   sha512.doc = "f4b97327b98e86c64620e975130a7fe790489d16135667c95ec7a368591084c381362e1447dfd1b3afb4f57ed2657a43f8623942f6618d839cb9b1c0995234e3";
@@ -33378,6 +36172,7 @@ notes2bib = {
 };
 notespages = {
   revision = 41906;
+  shortdesc = "Filling documents with notes pages and notes areas";
   stripPrefix = 0;
   sha512.run = "f5f6960bfade079642a4b4f221a7b762cfb5276a74b20bb3eada51706cd2e3496f91ca23e35cb39f221c57da19012597eabc8d3aa63c58e0749c8a01b6a28ab4";
   sha512.doc = "8af2f746d4484a2e06bd0f7f766c49cc9b0b790da2cf0faf1c83d959f2e2f60fcdcb7cdb6f1ffed89c2b03846215b589de332dc20935d0c0add4e3dc025c42cb";
@@ -33388,6 +36183,7 @@ notespages = {
 };
 notestex = {
   revision = 45396;
+  shortdesc = "An all-in-one LaTeX notes package for students";
   stripPrefix = 0;
   sha512.run = "64f9704fd3646cdcfdc03f6a3e03f9fb37859b9f11463fa77e1d3d076115297fac9c0b8d6875c8b6b7f3d37127a400e6205239957526018d9ad5cdf36a984269";
   sha512.doc = "c47bd3a4153467a63ac2e2b149f498f9458132e841cd70da9871f10674e77d928f7f88e58855c139dacdc225d286615caf0297077b843750e6940482398f02a2";
@@ -33397,6 +36193,7 @@ notestex = {
 };
 notex-bst = {
   revision = 42361;
+  shortdesc = "A BibTeX style that outputs HTML";
   stripPrefix = 0;
   sha512.run = "68627ca4a07ed0228b9b9ea4b70cdea5196e907f71f343310259d19464d503e76e2ea8fb5f59f01337916ee1f2ef398bdb1d3e4d97f0d49eac660fdce20590ff";
   hasRunfiles = true;
@@ -33404,6 +36201,7 @@ notex-bst = {
 };
 noto = {
   revision = 64351;
+  shortdesc = "Support for Noto fonts";
   stripPrefix = 0;
   fontMaps = [
     "Map noto.map"
@@ -33415,6 +36213,7 @@ noto = {
 };
 noto-emoji = {
   revision = 62950;
+  shortdesc = "Noto Emoji fonts";
   stripPrefix = 0;
   sha512.run = "68400eedc7540f11c0d3649558ce14ac1bb0bf7f2ed56dfda355fa08c7bf37e947a4c48040075e52b4f4205250df2688a7de22fcbde8285ae4549deb5e02e263";
   sha512.doc = "6c0d286c903b49e6c09c570a8586b0f480497f5b64eaf7e9a99d81a143ff9c383cc281d2d1c06293d82c459b5ac108cd960f1d5e4ddd80a70f6c39b4ae3a7d75";
@@ -33424,6 +36223,7 @@ noto-emoji = {
 };
 notoccite = {
   revision = 18129;
+  shortdesc = "Prevent trouble from citations in table of contents, etc";
   stripPrefix = 0;
   sha512.run = "b63b890933b27717625383488d2cbeb1501ace58b83e5af66a35ba440816527dc879df444af78090294df6d4d412d21fddbab43068a6d677b22d750ddb4105e6";
   sha512.doc = "83b3d2c7b97bb88af13d888d04f08ebb7e79661b4924ed6e328f26b9d19e4c6eea6719b49e6f227dc37c96201a901fe57da3745dfa7151bec27c7e8bfb81b236";
@@ -33432,6 +36232,7 @@ notoccite = {
 };
 notomath = {
   revision = 68014;
+  shortdesc = "Math support for Noto fonts";
   stripPrefix = 0;
   fontMaps = [
     "Map NotoMath.map"
@@ -33444,6 +36245,7 @@ notomath = {
 };
 novel = {
   revision = 69945;
+  shortdesc = "Class for printing fiction, such as novels";
   stripPrefix = 0;
   sha512.run = "35da534328bd371913fb43dfebb29dd1dcd88b92f1c39fad6c6248bb14982538b4babc7fa91a54a0c424cf1c3d6dc7d17dcecf5acfaa3979ca37c7fc8a45c9df";
   sha512.doc = "ecea10182e63c454a78c746946d47017d9c40592a6fcf2053319bf7fb06ccc1c0e655d213b5eed760d44e81195165cf6dea6288c8ff2aa59f5170c337f5ad114";
@@ -33453,6 +36255,7 @@ novel = {
 };
 nowidow = {
   revision = 24066;
+  shortdesc = "Avoid widows";
   stripPrefix = 0;
   sha512.run = "2dff380964c5c487a015073ade0cef996f5786b204657ec5c8948748f485c03b457f6d8caa5bce8148cdbba2623489a01b5370bcd38eb73469d07da4afb8a216";
   sha512.doc = "b11e2051543215f3f19c4d1e3398564093202be07771b7b3711e9ba5359e750bd8f73118b099f82fc3bb1e9a5f202027b168c371ca6587703d82f853ced4d538";
@@ -33463,6 +36266,7 @@ nowidow = {
 };
 nox = {
   revision = 30991;
+  shortdesc = "Adaptable tables";
   stripPrefix = 0;
   sha512.run = "0061e0bc12a06b79c4339684d0598587f3aaf1c2aeacc7aa32118d7b91d3937ffe0ca50b55f5ba9d1b7a4a1c511811191160c58bc51b68dfdfa2b0cee900b409";
   sha512.doc = "2383ebed9a9c6f65d6271317b46147915afdfd6caf39893e4cfe470e302f9ed6f30ca9f725bc2bec296cc88027462765b4ca5731cd5ccf98fa5c8156b1d88987";
@@ -33472,6 +36276,7 @@ nox = {
 };
 nrc = {
   revision = 29027;
+  shortdesc = "Class for the NRC technical journals";
   stripPrefix = 0;
   sha512.run = "2d93fc25d0305b8bee0e5e9ae61bba492bc265e023980a411ffa521f15746c6d73940e352c886ed5dbe08502f472a63559191aea44c3801518bca8b28d0b753a";
   sha512.doc = "35f86598105db616ea379175f3a098cf7c94f4a0a8836302de664c7bb65bbb5f72f41c5c9dc58bf336781a23553ec49e0a5c4d7d0be12b1cff68108aba77e88d";
@@ -33482,6 +36287,7 @@ nrc = {
 };
 ntgclass = {
   revision = 65522;
+  shortdesc = "\"European\" versions of standard classes";
   stripPrefix = 0;
   sha512.run = "f0bfad104459f2740712d186f7f9aab20e9860ccf75f8c552a4c80d8b14ece4d503d2aabbd7d3000e1bf05203f41ebd49f2c693b4d36478b631cd27ce71c9c0d";
   sha512.doc = "c6a6d7302edac0aef33d1747900c3781683c2a0deb4d9dc3cafabda375e9cc92d9b57b6638442c164b7435279d43f208d2ebbdacf944e96c71ee368087d70922";
@@ -33492,6 +36298,7 @@ ntgclass = {
 };
 nth = {
   revision = 54252;
+  shortdesc = "Generate English ordinal numbers";
   stripPrefix = 0;
   sha512.run = "e94365bee89f78b13ec22d8d34ac78aaf50f060f9282c0529d98518ce1e5b7f7995bd2da1d17654ed795f7555e7dcfd9d51399f4a83affc059eb3a760a76bf97";
   hasRunfiles = true;
@@ -33499,6 +36306,7 @@ nth = {
 };
 ntheorem = {
   revision = 27609;
+  shortdesc = "Enhanced theorem environment";
   stripPrefix = 0;
   sha512.run = "aabab9d6f1a5d9e9bd2ee2ec4b9ca8200098a8f3dc786b9c06d4b0e00431dd66f32a254d452bce7e1bb595454e178dcdd71d724b8d835b6f1c9ad9de41107295";
   sha512.doc = "fdea81cedc9ceca6ee29ee006867a05f018f210db2cb59c763adc4bc15db65a7e96ffc93bcd576a4c1a50e7e55d4b199132371686538216eba6fed65dce77ba1";
@@ -33509,6 +36317,7 @@ ntheorem = {
 };
 ntheorem-vn = {
   revision = 15878;
+  shortdesc = "Vietnamese translation of documentation of ntheorem";
   stripPrefix = 0;
   sha512.run = "90460e92cb52bbf8ac9b56bb950d36551b40ba260a9745e8f4d339bbca855286f8682c1a5bd7dd4ecb53e85448f96d558e6c35ffb42d8b862d4680930f3a64ab";
   sha512.doc = "e097290ec9f9696aaabaef4dce11bec4337050848ee547535c30a9ecdf12a1e0be014f905b235fa1d851ad2c20426cd4a9a442a19475063dd4fa73945c3e1780";
@@ -33517,6 +36326,7 @@ ntheorem-vn = {
 };
 nuc = {
   revision = 22256;
+  shortdesc = "Notation for nuclear isotopes";
   stripPrefix = 0;
   sha512.run = "d540e5dc8a3edb41994ef4ed8af6a51fea544ac929ef059fc50cd561891e02e9ee9b55a62782757101cfc5eface3a170bd585c144e7c8e79e191299527f979c6";
   sha512.doc = "ac118243f5fa4c7a4000344dfd5793dfbacc4d7a16a7031fca6305578e06bdd627473eb065a13c4d9cc5d9ef3c1712202c2d65a913c75043e36221fc7df25ac1";
@@ -33526,6 +36336,7 @@ nuc = {
 };
 nucleardata = {
   revision = 47307;
+  shortdesc = "Provides data about atomic nuclides for documents";
   stripPrefix = 0;
   sha512.run = "68f9d542701bb9d2db956e70784dfce8a14058b5cab5c8316f9d76d59d20de4bc7fa05f22cfe318312b9ecd823a0d0b5cd084b809bcd615217f14e9e0ba76de8";
   sha512.doc = "3d03a8b301c91fcc3e8221f913574b4542e0aa645d83e443d117ad0d69b7198c4780207f0a5e36f7e24f538a249097e1ac4d828e192f6dd22684e905ce9f1cb6";
@@ -33536,6 +36347,7 @@ nucleardata = {
 };
 numberedblock = {
   revision = 33109;
+  shortdesc = "Print a block of code, with unique index number";
   stripPrefix = 0;
   sha512.run = "d45a69881dee3aa3b6de69587b8c59d889fcae528c3c66f10cc14d653dbf7281e9ef4045dd2595d1a5c7305686bb0d12696bc00b672c5907dc58481a4e00d70e";
   sha512.doc = "99443d809e77b32fafaf59b3faecbd121f038e3ce8e054304e8fdae6b145a0d19a67b5e7d003db72f06528d975c3e543a2fb9bbfbae9f48be460b1a344a0d2c8";
@@ -33545,6 +36357,7 @@ numberedblock = {
 };
 numberpt = {
   revision = 51640;
+  shortdesc = "Counters spelled out in Portuguese";
   stripPrefix = 0;
   sha512.run = "c23fc54514b98cbc31e095f6b1ff37d37eef75146a3eb14e230ee75b71f6d506f148de643ec5e890a565b544b6d05436d47033f0c00ecdccdab697336b61dbf9";
   sha512.doc = "8b3723dbcbfa0163d7113c96ebcdc5a2262c169a94b733dc4af3bc263b119addf58042817dc8437ea5583ed93be1f3d5485ed76c2d704b20d303b5efa8bf41cf";
@@ -33555,6 +36368,7 @@ numberpt = {
 };
 numerica = {
   revision = 68021;
+  shortdesc = "Numerically evaluate mathematical expressions in LaTeX form";
   stripPrefix = 0;
   sha512.run = "56dea9cc66c348affa62820c78bd92b793f6ca18c4581bdec25e4579ebea16bef934e1243fb18f35bb3ac62e1499dcf441099932c05f016f5edc32fe85a564b7";
   sha512.doc = "321c27897e1d1fd615cd8e1d122cc6c0271e5dbe72c7179ad2dcd0e06c6084bfb1e0a6a244b55cc41bbd8658f5ff9fbcc0962e950564a3fe3fbd7d179f0317f6";
@@ -33564,6 +36378,7 @@ numerica = {
 };
 numerica-plus = {
   revision = 68019;
+  shortdesc = "Iteration and recurrence relations: finding fixed points, zeros and extrema of functions";
   stripPrefix = 0;
   sha512.run = "803e50eefdeedbfdf610f4084eb8574246a3f0c56e647a1105df410254fe7d965faadb397690aa8df08e488c5462af2404293f7deae6f8ae5810bb34488f29fb";
   sha512.doc = "aa8be0b87a737a956c5f69b84a9760ed76de6d0c4a6c27bbdf0a08e9d3cafef977c4a0c22f7d2ec088c278e8333cf85e7d84a8054ce8a7fcacac6cb8a0e2a5e8";
@@ -33573,6 +36388,7 @@ numerica-plus = {
 };
 numerica-tables = {
   revision = 68193;
+  shortdesc = "Create multi-column tables of mathematical functions";
   stripPrefix = 0;
   sha512.run = "1244ae95394a7e28ff9281d1eb4f81de88a7e83e7dc880ad6c185591b2aeb3fb826113f83881811e19385aad5dceecb79d99fcab53f6d313b63b31235228643a";
   sha512.doc = "f926645cf5f512dc655e46f6fdeb54b5c12050d66e9408690e0980843a291d2056a51915a44f2fbef6564f85344eea46ecbbf1859d79443952e989e6b8ad5e07";
@@ -33582,15 +36398,17 @@ numerica-tables = {
 };
 numericplots = {
   revision = 31729;
+  shortdesc = "Plot numeric data (including Matlab export) using PSTricks";
   stripPrefix = 0;
   sha512.run = "6b51a7c68357dced9627d3c618a167d689b573ea44c2f36de5417735f39f5b3d1034558cf188bad2da5eb25f81a2bdee3df6059b8c14879770c3b300422cf016";
   sha512.doc = "1c9f9856ec2f8cfef61829256f1076099e6bcb79cb45e8155116d6c24feaa52f481c739593c6cc51df803fa76e8ec38b8d276e796660327a2bd1d86957896332";
   hasRunfiles = true;
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
   version = "2.0.2";
 };
 numname = {
   revision = 18130;
+  shortdesc = "Convert a number to its English expression";
   stripPrefix = 0;
   sha512.run = "b2859430992fa6ee99f4d96f58cabe26b0f216d5e3b512c69b4db74738d933ea8d54503a61257d304201ac3fbc2ba49e908eeca5953ccc0f0023cbbe8b3df76c";
   sha512.doc = "41aaa9057415ad83177f416e43fde4c8c81e335b2f3c025cbc53ffe1d9d61fc05dfe33221c16f1d652837e4ab5a797f60391fb4c319339517090ad0e2ffe66bb";
@@ -33599,6 +36417,7 @@ numname = {
 };
 numnameru = {
   revision = 44895;
+  shortdesc = "Converts a number to the russian spelled out name";
   stripPrefix = 0;
   sha512.run = "c6f92a720fc5baf6f55c3bc18e22113de0f7cad8a051c2019360f5f3c64eaa450bb12d6c361c52a5a802f558ff8d2cbfaa35897682d6ad218e9adbbc788f3c57";
   sha512.doc = "5e67f1908356e1f21e672e63a8873e46ebb36af39e55a64c174c3bc5c49057c6d19ac36523c34a7f1c1fc53346f6ddde8fd239ca88b5790ebba1eb8b7dbeb0ed";
@@ -33607,6 +36426,7 @@ numnameru = {
 };
 numprint = {
   revision = 27498;
+  shortdesc = "Print numbers with separators and exponent if necessary";
   stripPrefix = 0;
   sha512.run = "cdebfa502a461292b02186b146ad8086f46447b5d8a0292fd7943d93a39796eff1710563866506679e903b7a4d415af9a8d863fa81a62395c7bdeec2cd68e66f";
   sha512.doc = "b821566e6fc532425c8f1b901b5613c763eb392461644850428707105626b6eb1a53784d6a693e7f9fe2aa612b72b4d5a38ddf65f22a0d022981771b2b303d04";
@@ -33617,6 +36437,7 @@ numprint = {
 };
 numspell = {
   revision = 61132;
+  shortdesc = "Spelling cardinal and ordinal numbers";
   stripPrefix = 0;
   sha512.run = "4db8e16d137f47681f754cb2bc1b9b6fb404676f57c5696ef044287a3f0052603978997e597a2b8b13393d59e6531298daa127d72a381770cadef1a29944948b";
   sha512.doc = "8bcc1bcca230a7829a106c66904feb70de818dde2d6c4c7be3a5df3078482bba001a35db85b1c548fdb5aada0018cf6f0dee936641ae5959ebb84dfe953b6b9f";
@@ -33626,6 +36447,7 @@ numspell = {
 };
 nunito = {
   revision = 57429;
+  shortdesc = "The Nunito font face with support for LaTeX and pdfLaTeX";
   stripPrefix = 0;
   fontMaps = [
     "Map Nunito.map"
@@ -33638,6 +36460,7 @@ nunito = {
 };
 nwafuthesis = {
   revision = 66895;
+  shortdesc = "A thesis template package for Northwest A&F University, China";
   stripPrefix = 0;
   sha512.run = "f3bbd684f063f59ea0fc53df99ac0e84f3106651d6ce5cd48d58cbcc7cfc205a9330db5d4c7988a213563d6fb215a1c6d90c240396894ded1b7ccef0ea4253c8";
   sha512.doc = "4a5395c215dd135488bec466dd4fb210402bdca2e54deb727264b02bd621bdf16ea60b4c16c86497b016f30f2dc5c291d0d432bbd99beea84d59533d29c2557d";
@@ -33648,6 +36471,7 @@ nwafuthesis = {
 };
 nwejm = {
   revision = 70606;
+  shortdesc = "Support for the journal \"North-Western European Journal of Mathematics\"";
   stripPrefix = 0;
   sha512.run = "1d54bf4f1ed74ca7ea51761ed8381b170e6d66e35513b272ab22267d799e8ae562c5532bbf3212a9300c0bfb19201cd999eede311387645e66ee6cf03693e98b";
   sha512.doc = "456a5e6f5bcd21557ec0faef50fccc95f2d7f07fe26f705c88bf1ec601e94bf34847c2cc3a8763af5a65f6b2ec3183c97f8f1878bb09ca4b7f2c2997eedfe1b3";
@@ -33658,6 +36482,7 @@ nwejm = {
 };
 oberdiek = {
   revision = 69038;
+  shortdesc = "A bundle of packages submitted by Heiko Oberdiek";
   stripPrefix = 0;
   deps = [
     "auxhook"
@@ -33676,6 +36501,7 @@ oberdiek = {
 };
 objectz = {
   revision = 61719;
+  shortdesc = "Macros for typesetting Object Z";
   stripPrefix = 0;
   sha512.run = "15aab03ef1773a4ec72a3dea3fe036cca671abd3e55721d69201c43902d9655a9b71b6b109c13824015a9db740cd8e463016f59dd84a22a3648c14cf7e95f2cb";
   sha512.doc = "b1918ee04b6b1755b947d12485abd250ec91ce4dfe52403631e00b6c3dac88db2c3c3801912c952d26a00b06d8dbf7a9d88586ab7aa348aa0b2ec7cac1e4fb2d";
@@ -33685,6 +36511,7 @@ objectz = {
 };
 obnov = {
   revision = 33355;
+  shortdesc = "Obyknovennaya Novaya fonts";
   stripPrefix = 0;
   sha512.run = "8adb7a1e6183576b4ed9d709b2f64cc778217602c807fce0daaa62b59786d5629fded5e7ad4824cdee90ad5333b9fff4fd47d462e38005fcd1026af8838f04ed";
   sha512.doc = "6fca30705b614ede4e055a39b92deac91daa6e9ca0922725f29c801e58b4a1ddc7176148b03de147aa906289962a3ff45a743828c0636d7f8fa3279b88e5103a";
@@ -33694,6 +36521,7 @@ obnov = {
 };
 ocg-p = {
   revision = 28803;
+  shortdesc = "PDF OCG support in LaTeX";
   stripPrefix = 0;
   sha512.run = "23b0b4377ec615d8d334d09018629f524a775311c3d227b350e7dfe95c6154795d1d3e44e7e1e405d45b623ecc614892d0996631615efae2ad6f040c1c4d8dd0";
   sha512.doc = "c51169bf3398b17f3dfd2e0aa0efb574cedf40c4739f1b4693f9282042fe9f024dd48675bdf5ec04895c49e0583ac436bfb36e12ac51ce89bc23ac587b3f92f7";
@@ -33703,6 +36531,7 @@ ocg-p = {
 };
 ocgx = {
   revision = 54512;
+  shortdesc = "Use OCGs within a PDF document without JavaScript";
   stripPrefix = 0;
   sha512.run = "33b8ab1b03b7a887127dbe589212747c8cfd794c1b1c9525222cdede3f941812007441ff2835386e59a19b253e5cdef27a83dd958506dbf7dce6988007befa3c";
   sha512.doc = "c3c28d54a06a5010d8b1c266b1b9689cbf41050e8427689015ce0016131cebaec87ca0c416b865b5bf9a386a2cc33326da5720d326d797e94c41b8f02e160889";
@@ -33713,6 +36542,7 @@ ocgx = {
 };
 ocgx2 = {
   revision = 65292;
+  shortdesc = "Drop-in replacement for 'ocgx' and 'ocg-p'";
   stripPrefix = 0;
   sha512.run = "dfc6fb9f004ce6af6cf0af6f057ef3db0bb8957b52f2e1ecc262da1f2b2fd556626560062a712ba8b45adcda1ef0f1414b54d78f58b68f1b13cba913a9df71a4";
   sha512.doc = "c09b684bd181579f6e773b295344ba78b6058f87d76d0ef3272bf5f80691bb40de49554948be53f9bad7779c0b4b8e3adb9fae1e12e0c4403962bebe4f949350";
@@ -33722,6 +36552,7 @@ ocgx2 = {
 };
 ocherokee = {
   revision = 25689;
+  shortdesc = "LaTeX Support for the Cherokee language";
   stripPrefix = 0;
   fontMaps = [
     "Map cherokee.map"
@@ -33733,6 +36564,7 @@ ocherokee = {
 };
 ocr-b = {
   revision = 20852;
+  shortdesc = "Fonts for OCR-B";
   stripPrefix = 0;
   sha512.run = "30b658802a2a30776cef18c2ea0f1a71044b5b7819c75ec58df9acc04134cf1aaf85b97f93231d439d79c47f66d7bc57b43494aca073871ec3479ae70178fc58";
   sha512.doc = "6d162b10b558a9db8269b2535ac9df4f76973c54d7e23dea20efb29974b839278888fceab2da85f945da483415bbbafc614c8ae4c1cea6d262d6a46dea5b69a2";
@@ -33741,6 +36573,7 @@ ocr-b = {
 };
 ocr-b-outline = {
   revision = 20969;
+  shortdesc = "OCR-B fonts in Type 1 and OpenType";
   stripPrefix = 0;
   fontMaps = [
     "Map ocrb.map"
@@ -33753,6 +36586,7 @@ ocr-b-outline = {
 };
 ocr-latex = {
   revision = 15878;
+  shortdesc = "LaTeX support for ocr fonts";
   stripPrefix = 0;
   sha512.run = "d6a4377f66293f8f7ad8b7f8fe3a3a3dd294a302dabb33e193921882d6681fc1c5537b8de2bb188396139bbdd33f14d4f1c20f6edf44ce680df837b250ee83b4";
   sha512.doc = "d0de99d5cf93517f5be8627d649a1d8018766cbba44c40cfbe0f93a3b69c1a5f10b4057dd79194d148030948509a26ef45ea83208c2922cc64b10473d663d591";
@@ -33761,6 +36595,7 @@ ocr-latex = {
 };
 octave = {
   revision = 66115;
+  shortdesc = "Typeset musical pitches with octave designations";
   stripPrefix = 0;
   sha512.run = "03db52eae29898d00b407af64fbc8aca35cd5c6165c3f7c890dce1f8218df65c3df447801d8c68d29af67f62de3057feff203de7486f192d9e7e6a59d4f28e02";
   sha512.doc = "13cf74923401dfd58978c2365e27aa394aecf01849543cb6f65a52b3344902c546599c350927950f63e3faf1b81667e9329b9c18aca6cbb87327046f0d695988";
@@ -33769,6 +36604,7 @@ octave = {
 };
 octavo = {
   revision = 15878;
+  shortdesc = "Typeset books following classical design and layout";
   stripPrefix = 0;
   sha512.run = "06de0f1e69c4bd8bf0a65e08515994a10ae8df83e6e8981daf70b6eeb424fd59b58808249782d76b9373d9982aee50e7c12c17e090e3697533b87d35480f94a2";
   sha512.doc = "daa628a0c047ece5aaf15425c0123128a771a17f08fe9212856e2d63b40340dbd7a50a4ed1e19b04198637e11b530239f4280b810ee3813fc6275b78d37bd8a6";
@@ -33779,6 +36615,7 @@ octavo = {
 };
 odesandpdes = {
   revision = 69485;
+  shortdesc = "Optimizing workflow involving odes and pdes";
   stripPrefix = 0;
   sha512.run = "57a0af92aea846e23c0dd05b896af1eb7538f0bc20e957ad3a528212101adf2a1e03bf661b0af2881320e4363edba32c0653a533c74b536d91e86e27666e14ed";
   sha512.doc = "ea581c7e77c0ac143a10caee59ed2d0cd7de439966974ad80bbe472e3c5cfa746e9cd43da677c42297792ac157e0a3fea25666f55c3e1cc3c38cc22475b1b26b";
@@ -33789,6 +36626,7 @@ odesandpdes = {
 };
 odsfile = {
   revision = 68204;
+  shortdesc = "Read OpenDocument Spreadsheet documents as LaTeX tables";
   stripPrefix = 0;
   sha512.run = "0c663510fd84f116cb2cf12c41a59faec219b774fddec215ade16b9299db1e445e46deb565c4b0acad18ad2b0ac3c5f54c9b8d7b2ea3fa3bfd43cf86716969dc";
   sha512.doc = "e76be0163772f0bb905cfc4987dd2d1083decc706e521647217b7ecb09214c29bb1118867bbe8d20bd2aabb1648bbfb3ac12ba072c38ab7242d3b1a86df5f6ba";
@@ -33798,6 +36636,7 @@ odsfile = {
 };
 ofs = {
   revision = 16991;
+  shortdesc = "Macros for managing large font collections";
   stripPrefix = 0;
   sha512.run = "347dc05e8742fa09679e3f16465077b0bbf5e34a4be5a5c2e1da094ad22c0e69ff9f4abb4aacb9be2c698b27da7e169adb0c1840da3e56b277514a9f9631dd02";
   sha512.doc = "13f7fd3ab4cb31ae521827b703cf4c3a0c796b6a33f46b2a24a2a8c488e92d6039a9b136440b00b6a0aba14a2dbad832b777cd5a3aa120ccfc4888ee147954e7";
@@ -33806,6 +36645,7 @@ ofs = {
 };
 ogham = {
   revision = 24876;
+  shortdesc = "Fonts for typesetting Ogham script";
   stripPrefix = 0;
   sha512.run = "fe651bcbdb0e8f9ded07fdc412f1273cc8d473894f06af69ae65ac4c6895daba3f61571eac9a49d16de043ae6ed6e03ea386f11dd6b395347d98784bece4c8b1";
   sha512.doc = "6d406cd0a2ba68946be8d2eb148a6c9286a164ae701f66802ecabe6661807ea54eba175617e00920d37a88dee376c1bfcecef6184320ef1790716d53e5a07871";
@@ -33814,6 +36654,7 @@ ogham = {
 };
 oinuit = {
   revision = 28668;
+  shortdesc = "LaTeX Support for the Inuktitut Language";
   stripPrefix = 0;
   fontMaps = [
     "Map oinuit.map"
@@ -33826,6 +36667,7 @@ oinuit = {
 };
 old-arrows = {
   revision = 42872;
+  shortdesc = "Computer Modern old-style arrows with smaller arrowheads";
   stripPrefix = 0;
   fontMaps = [
     "Map oasy.map"
@@ -33838,6 +36680,7 @@ old-arrows = {
 };
 oldlatin = {
   revision = 17932;
+  shortdesc = "Compute Modern-like font with long s";
   stripPrefix = 0;
   sha512.run = "02ba84762eccf816178cc652d7f8d8f7d962db7d5386de4a8274dbc9524fd7a212116de0d7a53886bd5b431ddb8a5cd8ffca7defe3174cbb50f417172d2963f2";
   sha512.doc = "1ed3c1640420272b33178c62aaf4c0d538f5f1ffc5350c377788210128c74eef4e6023fa20b3d9f214f518079e8a8c3753c74d30084f5a71a994dd4b5534635e";
@@ -33847,6 +36690,7 @@ oldlatin = {
 };
 oldstandard = {
   revision = 70428;
+  shortdesc = "OldStandard fonts with LaTeX support";
   stripPrefix = 0;
   fontMaps = [
     "Map OldStandard.map"
@@ -33859,6 +36703,7 @@ oldstandard = {
 };
 oldstyle = {
   revision = 15878;
+  shortdesc = "Old style numbers in OT1 encoding";
   stripPrefix = 0;
   sha512.run = "968ff7b641f6ae6e8aaf43d1ae9617710b0bfed9894dad135cfd11050eef1c35c48d589d58d3a94e34f93c22d85c58b047ce8d0bbf0ae5c2e645de72e327f9cb";
   sha512.doc = "79e2c2d155bab57456cf7d2ec08930d54e538a830c1e7fb12c0731b246b917840d0ba06d31939ca97e7a20e53a061caa5a5a3beb139fc1a05f32dd9497a37ca7";
@@ -33869,6 +36714,7 @@ oldstyle = {
 };
 olsak-misc = {
   revision = 65631;
+  shortdesc = "Collection of plain TeX macros written by Petr Olsak";
   stripPrefix = 0;
   sha512.run = "f2bd1c22a294c89c171d3df5ff9fc77d2c4476c7e44e7f0e26b07780467570ef852384e510a959f75b9226d4962b6163d890dacfc9341a8657d9b9d5d6e76834";
   sha512.doc = "856c8ff6d539198f7057e45d5da22bd4120bbe1915fa11b5cd6dacf6b13354df49370dee55d024ed8ff8be29ab83dcc0a786db5fd1f72857bcef7f47d3167f8a";
@@ -33878,6 +36724,7 @@ olsak-misc = {
 };
 omega = {
   revision = 33046;
+  shortdesc = "A wide-character-set extension of TeX";
   stripPrefix = 0;
   fontMaps = [
     "Map omega.map"
@@ -33889,6 +36736,7 @@ omega = {
 };
 omegaware = {
   revision = 66186;
+  shortdesc = "A wide-character-set extension of TeX";
   sha512.run = "9978e66b66e988d49f3dea44b947585e5ec4fd61f204ee06a56a9d32df721c1bd66ab32a05c3d36ca92e740aaec2b478261f3eaf8c48c0cb30fbf9bbb410d804";
   sha512.doc = "e3312826fc6f2bb7fb8f116f7d73f4f113e2b4fda8acdce29668ffc324bdc90f26dfe21becccea36e53f22707067c19116fa2942fb4165aed3d7c28da88992ce";
   hasManpages = true;
@@ -33911,6 +36759,7 @@ omegaware.binfiles = [
 ];
 onedown = {
   revision = 69067;
+  shortdesc = "Typeset Bridge Diagrams";
   stripPrefix = 0;
   sha512.run = "bc62aac04466286d07ffaf65b31c4d7ecdc6f4194f99192700774a213ca52861b0296c3f9864c187a83926696ad3a3a139ae7c00be2167b970159a7605fb4570";
   sha512.doc = "4fedacde595f96c2bd8babf38d4aae73b3bd9f73572547ed5b93e98c16dec50e89651c42aa4d90046464c765aa2f4d5f32d8aeb6ec5de2bb30f6599e53314e81";
@@ -33921,6 +36770,7 @@ onedown = {
 };
 onlyamsmath = {
   revision = 42927;
+  shortdesc = "Inhibit use of non-amsmath mathematics markup when using amsmath";
   stripPrefix = 0;
   sha512.run = "5452647ee6eb939c292457ee26cb3639560eb55893e44ebbbeaf27ef1c2ed30346d91d733422e65f6780af7c434cf02ac740d722612f888fca8dc45538d81303";
   sha512.doc = "154273f8589b0d8bfa0ed46cfb297d44000eaa750e8d34b1a7aad9f7b26cb19423d7f7ba362e3739cb7d22b2aa077fa44e59d9c46a52db5a82a57659e86a6dcf";
@@ -33931,6 +36781,7 @@ onlyamsmath = {
 };
 onrannual = {
   revision = 17474;
+  shortdesc = "Class for Office of Naval Research Ocean Battlespace Sensing annual report";
   stripPrefix = 0;
   sha512.run = "0c9f717c54d70ad24a1d3b08a6bd44a4e96e932af4d78ba2895f40e16ae5e5b841cd421b71ff3e90490c13e0843d48b8a28efd49b33ee3f74ef9b6476c88f8ae";
   sha512.doc = "4a4f46965a0de8ca99585d4af31aa2f0f94e51328c8cf1ed29768bb9e2f8cb7e14d63315a008a1d0446d7496ce4f8abb224946277ddf47223808f8f2277cfb64";
@@ -33940,6 +36791,7 @@ onrannual = {
 };
 opbible = {
   revision = 68465;
+  shortdesc = "Creating a study Bible with OpTeX";
   stripPrefix = 0;
   sha512.run = "8a4fe7d1241a1f1f431a666f0d6fecaf330cccfe19c2047d2e244b06838310dd106d2ff8dcd029301cbdbb0f2627e46a4f4c37b9a81104eb695d62f78d835ccd";
   sha512.doc = "691b79162654071d39ebfa448203bec2c7dfec8091e781f44d7a48d4c16b884459bbdc4230626999349c6822b17ac5f6f4aba1a8dbd6c7e2a1d6127132faa2e9";
@@ -33949,6 +36801,7 @@ opbible = {
 };
 opcit = {
   revision = 15878;
+  shortdesc = "Footnote-style bibliographical references";
   stripPrefix = 0;
   sha512.run = "4514d83e3554810da7fec3cc165c89a87a4aef04866755a5b42861b484ffea81bfff694609d18fb5e3bbdacc3723cbed96305ba0c09bc48af92456cef3b7b5a5";
   sha512.doc = "6c4e48aa8ea0dd464d7d2902513b1640437518661e9d7237b958b95ad091053b41c6c5ed4407f9c9d87ff5f0ce0b2bda3a99947d3bb0cf70352d5737419e22aa";
@@ -33959,6 +36812,7 @@ opcit = {
 };
 opencolor = {
   revision = 66363;
+  shortdesc = "Definitions from the Open Color library";
   stripPrefix = 0;
   sha512.run = "b6b9368a3167db0f71fdd4cf9c369f43be2934060b79bbb2b477d8a247456a7f69932bb92bf8bb8c1e1b5e7721383079947fc40e1a5d7bc6f84a2e3fe9e02646";
   sha512.doc = "ff198447e40d71f447688b5fb28385d9fe34265e520496f7d77acf7947569dbd6cc7a98802bb353648dc50979c4be889cef1417f2d15f98bc3ebf95e4a843963";
@@ -33968,6 +36822,7 @@ opencolor = {
 };
 opensans = {
   revision = 54512;
+  shortdesc = "The Open Sans font family, and LaTeX support";
   stripPrefix = 0;
   fontMaps = [
     "Map opensans.map"
@@ -33980,6 +36835,7 @@ opensans = {
 };
 oplotsymbl = {
   revision = 44951;
+  shortdesc = "Some symbols which are not easily available";
   stripPrefix = 0;
   sha512.run = "bb894b28fd62f95807bf00856aa2250bbe58b0c1def385d6528b50ba925410ff177ebef97279338bff7ab70db012ba916edad067584989f86797b1fbd7e21863";
   sha512.doc = "cd4ceb0b923da7c0f56817602eca672442d03f628440c8beb82c953cf73a9d1bf8e24939a3ba4c813c99b7a2aa98adede0c98b4678b06fffd3f0bdfe8fae52ad";
@@ -33989,6 +36845,7 @@ oplotsymbl = {
 };
 opteng = {
   revision = 27331;
+  shortdesc = "SPIE Optical Engineering and OE Letters manuscript template";
   stripPrefix = 0;
   sha512.run = "1af8edfbde5ac2abae770765a437bb42d5852877438d283d8021493c621e94d09bd62d9012556024ddecbeaddd838b37ae9abd0486d73e2698956ef49ab585e9";
   sha512.doc = "b1dc3f9f107e1e8313bfa25b843a4959522eec2e6bc886e8b6271c2175258d7108c824bcbed8d243f0e51b70851e68246fd572bcf6afa6aecdeb86a946bc247e";
@@ -33998,6 +36855,7 @@ opteng = {
 };
 optex = {
   revision = 69864;
+  shortdesc = "LuaTeX format based on Plain TeX and OPmac";
   deps = [
     "amsfonts"
     "cm"
@@ -34030,6 +36888,7 @@ optex.binfiles = [
 ];
 optexcount = {
   revision = 59817;
+  shortdesc = "Python script for counting words in OpTeX documents";
   sha512.run = "88a35391d3deb37dd6466e903f3cdd7d134eb9fb8c0a9ab548ca2eeee86687544e1b499248c2d0a7aa3b801d9604913e763128309f88f768d0dafb8ac1fd6998";
   sha512.doc = "7f0d33068083736fe58c08dc9e37929efcf65de3b62a3afb51077a21d0e27b473a65ee1b333a0dd31b1d39e7f6ce79cae3343e8b7a9742199fb409e90030f7aa";
   sha512.source = "c62820e25f1251b6baba3095afa41a39616e49147fc88c5ddd00fe56e0eb2d20a6b2a0ab633b01f2578819308fa0f05e53fd1daf781e276b08ade1407024c46e";
@@ -34042,6 +36901,7 @@ optexcount.binfiles = [
 ];
 optidef = {
   revision = 50941;
+  shortdesc = "Environments for writing optimization problems";
   stripPrefix = 0;
   sha512.run = "dfd704e585df8d01b279e67ea3a2baba6e86ddb9f38bc9747e370580a5f218e7ae4446d2429fc6bffc605ef0ea56c8077a8f41f3ca6a8e857df29d0e3f328143";
   sha512.doc = "3b80346a15a6e1d7209c3584d4fc9de944c55867ee7f21b018300b87615c0ff4fbe290a8683088c0e81f0eb20cf514f13fba0eb141808d8e5f5986c75bc9546d";
@@ -34051,6 +36911,7 @@ optidef = {
 };
 optional = {
   revision = 18131;
+  shortdesc = "Facilitate optional printing of parts of a document";
   stripPrefix = 0;
   sha512.run = "3f6d031b4bf863a339a80c3a05b101393f88dcefb67c61a67e01d9647e74def1fbf30f3d018158a83c8a171b875959bf57d7a3e90dc724c32868f9aafcd5cabd";
   sha512.doc = "d975e4f1b31e2335e55a41b317096be36161fc36fd589255a461772eb701376ce3fe714d727c4de9663ed8e4300bf0b570855b6b3ccb6b55fccd56206ac69692";
@@ -34060,6 +36921,7 @@ optional = {
 };
 options = {
   revision = 39030;
+  shortdesc = "Provides convenient key-value options for LaTeX package writers";
   stripPrefix = 0;
   sha512.run = "3cdcd07f3c279a601da49a843169f0cb44aea573ac6c1c67a347712e5a087df4b21c6481168407ac6383e8fd5cdc511ea29fd7ec944edd2d514ac88b560633a3";
   sha512.doc = "f23bc3575d6c93d056c752c63bb39e3ef9c92de1a90177e204e4d6a1fd90ce8c9afb36e727ac8ce827a59dad96a3b236e5c3c09af081160113cee1b529bc1973";
@@ -34069,6 +36931,7 @@ options = {
 };
 orcidlink = {
   revision = 69253;
+  shortdesc = "Insert hyperlinked ORCiD logo";
   stripPrefix = 0;
   sha512.run = "fc1b4a63ce470c910737593ac877b58dec0e77de2a258fe7943b156a31c5f224389f5be5cecfc9d3098cac690a627cea41993d7c47b4510762b3e5c04f63db2a";
   sha512.doc = "ddbea7f5c36f26e329c8e58c4d8ab3ba6aa2371a564505bf1a1a80a2f89dacfaeba706ac99940da6a742df262a25acce0f7b812817cc4db99793ad11e06cf6cc";
@@ -34079,6 +36942,7 @@ orcidlink = {
 };
 ordinalpt = {
   revision = 15878;
+  shortdesc = "Counters as ordinal numbers in Portuguese";
   stripPrefix = 0;
   sha512.run = "c494aee642949d56d8fe4aa28c18e38faf5f66ca8d9f1990419b7197ba6d8547004bb11c3d7b1d63cfcb7414b5c618af81425e4fd61fcf114dc36f9b7fcfb039";
   sha512.doc = "dbcad860dd1fcff2e44f568caac9d3d60f4e9ac2312c672b9e9b46f9b31a2498a7e92bd646df8c622b024aefa8f2ecdc9c24e3f95f72f30f1e9b213d6bc4a53b";
@@ -34089,6 +36953,7 @@ ordinalpt = {
 };
 orientation = {
   revision = 57390;
+  shortdesc = "Set page orientation with dvips/Ghostscript (ps2pdf)";
   stripPrefix = 0;
   sha512.run = "729921d3152b76fc4c6c8385ce0b5a8ca2491670a7082133084c2e09774bd5c94b7c6c6b8ace1db787b4626f68a9b184550d43adace8dc6646ad36d2d9703f8d";
   sha512.doc = "75d3d1dd0a71d34429584dc1519b9ba26e329f58f468ae8548e7f9ec9f92e6877917bda790b61af9642e595d6b42370e8fc511b2e1d9b974617a6f5bddf96821";
@@ -34098,6 +36963,7 @@ orientation = {
 };
 orkhun = {
   revision = 15878;
+  shortdesc = "A font for orkhun script";
   stripPrefix = 0;
   sha512.run = "c1e52283e54e4de7caccfe605438e2775ebacc9c3fd21c143e29d7966c591ccc3fba77019e4f9ed9850762a0c80475edb6c9142d7ac2e3ba54007f3dac8b056f";
   sha512.doc = "ad0c15ca89057f2ff7d43a1bb8ea4513973978e1316e661a0e32ad8fb8005257a634954e85990958ba22360d29eea2d6ea9d87049435416616349874617d9dd0";
@@ -34106,6 +36972,7 @@ orkhun = {
 };
 oscola = {
   revision = 54328;
+  shortdesc = "BibLaTeX style for the Oxford Standard for the Citation of Legal Authorities";
   stripPrefix = 0;
   sha512.run = "831e450ea6fa77f521eca76aaf281a0f7425e28d889c7bc919cd04c52a78c3a0665abf011ec4ef722f47e737c1dfb48f8aac231aa3f370d594cf5300d84c2456";
   sha512.doc = "6024d48e3b6f68037a68dc04051451be2ea7a952e5d8f55b9bd1160d11900751b5a58cc8662e5c38940bee01a442f3691a8cd8329ee4bd5749cf7698adf72cef";
@@ -34115,6 +36982,7 @@ oscola = {
 };
 oststud = {
   revision = 67217;
+  shortdesc = "Templates for the student organization at OST FH, Switzerland";
   stripPrefix = 0;
   sha512.run = "9ffd86c1fddc4667f6d02a9ad91ce0a3e562147dbb8453c474ad5595a77df8ae77a4defca5f6fdec2ea837e37ab23128be1b00d4ec15f20cb0bbc2e591fdf0e6";
   sha512.doc = "700021abdba0ba3484a0f11600564ffd372bd998f889da1cfa26ff505395844b958468675eae6465af4010e417a56df45c2226d6543d1bb6f2331099e08d9ac6";
@@ -34125,6 +36993,7 @@ oststud = {
 };
 oswald = {
   revision = 60784;
+  shortdesc = "The Oswald family of fonts with support for LaTeX and pdfLaTeX";
   stripPrefix = 0;
   fontMaps = [
     "Map Zeroswald.map"
@@ -34136,6 +37005,7 @@ oswald = {
 };
 ot-tableau = {
   revision = 67813;
+  shortdesc = "Optimality Theory tableaux in LaTeX";
   stripPrefix = 0;
   sha512.run = "57ee595a08f2a30174215056300ed4f8ca496976ef7d0f80627b32d45bff7af85e8a33d8d37decd61883ab3cc61f74ce411687c260d2a427c96014d3defe9758";
   sha512.doc = "45bcff2db460c23e543434ec46b8a168498ccf1fc1ac977f72f3022ac7ec02a874eda98a3bb6814edd22d86915b354fac5105efd1bcdb8eb979837edcada699b";
@@ -34144,6 +37014,7 @@ ot-tableau = {
 };
 othello = {
   revision = 15878;
+  shortdesc = "Modification of a Go package to create othello boards";
   stripPrefix = 0;
   sha512.run = "cddd446d5b63ed22ebc4e561e43fa8b4b1ab2cdb1ecc45ab98e60d6799646845a9d432aa45248e7cf70bfc4aea10cd42960a8846479df46a7cd701f792b4ca74";
   sha512.doc = "8ba85bf32ff739e4588512c2b33bf242b00e3f38a7ddb1b3f5582cd19b925e1adf52b4243857f1ef4b9d8198e8dc80a9aff8a63a7b3ff926978dc7e5c81262de";
@@ -34152,6 +37023,7 @@ othello = {
 };
 othelloboard = {
   revision = 23714;
+  shortdesc = "Typeset Othello (Reversi) diagrams of any size, with annotations";
   stripPrefix = 0;
   sha512.run = "c975c73b8737f008b7f31af86e6c8a89de3f907c6fe782f075b04819bd936da3853a8ecf15935c04970777a4873b5baa38f9c675cc8943190df84ddc511dedba";
   sha512.doc = "af025805142a845bde22a5fe095fb96cd533d69c50bfcea8716dd7d61fc95c41727c16127c2f2b60c5bf2b55870d698db54d307c2b025aff3e251419ed58a3ce";
@@ -34161,6 +37033,7 @@ othelloboard = {
 };
 otibet = {
   revision = 45777;
+  shortdesc = "support for Tibetan using Omega";
   stripPrefix = 0;
   sha512.run = "8fdc06f22bc9d25b61cb7b3b151919b7d2d6cf3d78f3cfe5a11284d9246acb858410ccab56996cd521eb98518be9c232a4c8e0f8ebbe52d7e93c510e3a0ac070";
   sha512.doc = "96f9d64c8f668f67afe20dad97d1cd3cfec19df3300204831fbfe0d245c1e15d8d0cea48bb94fb002cfa18db45d3ade730848908b0d77b867fff7557b0fb826f";
@@ -34169,6 +37042,7 @@ otibet = {
 };
 oubraces = {
   revision = 21833;
+  shortdesc = "Braces over and under a formula";
   stripPrefix = 0;
   sha512.run = "8a0a6e0648cc3dd9a342a960dec6512fc9153a083c8fc74eb08c4e0f46d091e5f2c71bdb69bae80fc13a857175ec6bab4b18cc81a0963d794028f4faedd0def3";
   sha512.doc = "c97f91df77f64d824605c56669136585b94d95031ed5a4a67f3404c54b2c96f32bafaecc06d114755d0e65c3fcd0379d63f28f94aa32ccb8d23730f5f3eaf63c";
@@ -34177,6 +37051,7 @@ oubraces = {
 };
 oup-authoring-template = {
   revision = 64491;
+  shortdesc = "A general template for journals published by Oxford University Press (OUP)";
   stripPrefix = 0;
   sha512.run = "b4d2d3f66092fd8d65cb8539cb0038e7437d2a7613e36404f0a225462686051833c8335f2aa56f31e8bf3623f799f96f5d63710d638645b390c0f0947cf53213";
   sha512.doc = "00987789fcc1c209d08464b919079b5d17535dee92da189180087f5ec67c78eb384f9622f965ccaedd3434c6f097433fbce75be6c459c08e494343217db2129d";
@@ -34186,6 +37061,7 @@ oup-authoring-template = {
 };
 outerhbox = {
   revision = 54254;
+  shortdesc = "Collect horizontal material for contributing to a paragraph";
   stripPrefix = 0;
   sha512.run = "954af6a75833dc388c430faf538415457d0526b85060602b93584a45e6b0ff9bb83ab1d2117ef58817f08b138146873ff74ab045f174e949a0c9fb9f042b1121";
   hasRunfiles = true;
@@ -34194,6 +37070,7 @@ outerhbox = {
 };
 outilsgeomtikz = {
   revision = 69124;
+  shortdesc = "Some geometric tools, with TikZ";
   stripPrefix = 0;
   sha512.run = "ff64c7a149bd0d890896936c1f5c818cc6f9c34a50b6f0312134dd47819b45df36a769ddd5b4db903c441217062bbbd44da086fd0bfd863ba8bbbbf6f96a764b";
   sha512.doc = "0cebb1b166aa5b6628eb9aa88788beec5da60d7b25b9d110465ed25b130bbba2636209e151a9633171bc016e0953b5f27780ffa02ca4bb2f0dadc902e998141e";
@@ -34203,6 +37080,7 @@ outilsgeomtikz = {
 };
 outline = {
   revision = 18360;
+  shortdesc = "List environment for making outlines";
   stripPrefix = 0;
   sha512.run = "ccfb49c4e035f0d246f00aae56efa9d6570ad3997c44e2bf70588ce67a0bc3fb7bccff19b65629fb27158b0156a9802d97ea1f8edf6f4494f644f40df5d97118";
   sha512.doc = "301ad12a8f964a7dab05b208649c74ad39a64264f113963ebf36dbf83c90ed8ed042d8cc15f626f6081bd41f51d66dec592eaadabec32c65a0d67d15e8ead37a";
@@ -34211,6 +37089,7 @@ outline = {
 };
 outliner = {
   revision = 21095;
+  shortdesc = "Change section levels easily";
   stripPrefix = 0;
   sha512.run = "9251cb4154042c7620f545b2fb305cb996af9ff51c44259287a1f5ec490cd83bfb82321c4d8512ca2d22e5d2a7409ac5dad9f7a7d51f38a76bfe77faf2ca4af2";
   sha512.doc = "024095493b4b7301597798285afbdaca9fad291dffec9707b82da9f23b1ee0585345e4f201d6b322a1a65ceb6f703ab5430d14973c3fb25970b04d2785ebb9d2";
@@ -34220,6 +37099,7 @@ outliner = {
 };
 outlines = {
   revision = 25192;
+  shortdesc = "Produce \"outline\" lists";
   stripPrefix = 0;
   sha512.run = "1611e4ba3b8fe21db83a542da9d7e0c3431330bc24e3733d28c8c5b3172ce3e4b46ff5b7dda41f95b4edb6502236f6d558608487ac47f8726420a2afafed75db";
   sha512.doc = "bdc507a3f3cb966d03df37d9385145811c5750bce6341935231ae987b0a30dd65424a1bbb772920586721e25711caa429cd6d8b8149088f753f36b9dd69ddaac";
@@ -34229,6 +37109,7 @@ outlines = {
 };
 outlining = {
   revision = 45601;
+  shortdesc = "Create outlines for scientific documents";
   stripPrefix = 0;
   sha512.run = "0d2b7dbe710d1ccd54a70cfbf6464a3ee5ad0fab8ccfa61306d5d5d83252c0f3b64f1caba6b5e8e75f7e6237fdfc675981acb67fbb730282978071e76e92ee40";
   sha512.doc = "c083046671d159fc118f25e56ba34d04f8011e0c49169920fe679ffcb78d93e52a6f8bb5bcfb34c47f0b23f73579519c431976229ef143a31ab059cde6dd64ce";
@@ -34239,6 +37120,7 @@ outlining = {
 };
 overarrows = {
   revision = 65853;
+  shortdesc = "Custom extensible arrows over math expressions";
   stripPrefix = 0;
   sha512.run = "5c2d386bea3d2358e7c6baffcabdbb00411895a45b0500f60f139435b55fc86e6c2c7d7bf96a9bf38300f4d217606ffcc4f212523dc5a7fa1e35b7eb4358fe3d";
   sha512.doc = "1e5c39621f3790fe752c8785f5264b842ad00d7eb3a5fa91c41fb8f3c0a84c85d8be00b553a74f1750bfaebb6f97f7c462d9181c7b6afe9547a38b9d3f431b5e";
@@ -34249,6 +37131,7 @@ overarrows = {
 };
 overlays = {
   revision = 57866;
+  shortdesc = "Incremental slides";
   stripPrefix = 0;
   sha512.run = "93d1b7bff165da32f509e820cf88c08e8dc17ae688814a6913357ad9884ecf9fe94334be82e54c4e902935fcc38a6dab5687a3f5d4e333268d03df8e977611b6";
   sha512.doc = "d1db70b9ca58bf23946a824c9b9ce173f008b45b608f409c6230403c5f5c1c2e6dbd22f7ec416e9869d3dd98bb0cc2b5a4a0e1d5bfd0a39bac36675d46a5b4d2";
@@ -34258,6 +37141,7 @@ overlays = {
 };
 overlock = {
   revision = 64495;
+  shortdesc = "Overlock sans fonts with LaTeX support";
   stripPrefix = 0;
   fontMaps = [
     "Map overlock.map"
@@ -34269,6 +37153,7 @@ overlock = {
 };
 overpic = {
   revision = 69343;
+  shortdesc = "Combine LaTeX commands over included graphics";
   stripPrefix = 0;
   sha512.run = "6663af049c657a947c3894157eb21c38f8f240250894ee1c8e34e3ae7cfaec294670dcb053d36fbb7749c383b8e9645d25f583670401c7cacc232eb64996dcd1";
   sha512.doc = "005e2aabb66cb7904544463274add08f9680a38cb608c9d8976e4c8cae114658278d2fb3dae55af989c21825dc9d71b4a28202eb68566ab462d1a4bda76ad54c";
@@ -34279,6 +37164,7 @@ overpic = {
 };
 pacioli = {
   revision = 24947;
+  shortdesc = "Fonts designed by Fra Luca de Pacioli in 1497";
   stripPrefix = 0;
   sha512.run = "a82b391630b5f572d8ded331ae98f480fb0cf7f3eaefdcab3100bc839e2b026f012320e334e82d04e01a27657f36927a4d1570086899ad637f8c47ddd0f22b2f";
   sha512.doc = "fa911ec25c0d6cfa62a2d5396aedf893b9078604611ae5d34b06f24740f65fd62895e4d53a10931071d19ddd24244e3c7ee9893f4eff03efd0920fd1c1626610";
@@ -34288,6 +37174,7 @@ pacioli = {
 };
 padauk = {
   revision = 42617;
+  shortdesc = "A high-quality TrueType font that supports the many diverse languages that use the Myanmar script";
   stripPrefix = 0;
   sha512.run = "fec57c3e7bd299671ae8d6489723a4d33c54b11223f5f37f3f3b3cc148fcbb6d9a9aa46587ab83e414221cde3a7d0e4493877d90e9536952d9069a4cec7c758f";
   sha512.doc = "ffa9d45c971b7fe4fbc55644be4093268f842e13a2ffb1713be401cc88934dae86f012741951f30580a94a57f35b85cac9525869e0abca5601278d48a19782c0";
@@ -34297,6 +37184,7 @@ padauk = {
 };
 padcount = {
   revision = 47621;
+  shortdesc = "Pad numbers with arbitrary characters";
   stripPrefix = 0;
   sha512.run = "9378dbaa1d3a569a3cb4bd70fa1b5a6dcdb0fe089d3a2c3eecef4cfdb776607f42b7fb018461c00781f8b022dd962e790146297f5df29889db13794e25c1cbb0";
   sha512.doc = "68ffec3a80473b3b2899ae262fcbca47198c61bf1363b9c167986cc95214c778fdd49ed65e8fda8f15d48d3d9941ac54c6660f28729dda176123fa1b3f7e8631";
@@ -34307,6 +37195,7 @@ padcount = {
 };
 pagecolor = {
   revision = 66885;
+  shortdesc = "Interrogate page color";
   stripPrefix = 0;
   sha512.run = "7cd71dac6790eaf48afb107310961bbe37f04199b70316009f6e62c064c23f0bc7e4601765fdc03c98b1a39c35f9f53a7b83023e5f29ec0a273d7130b13802e2";
   sha512.doc = "ff3cad39418f1a6a1b4e31788d79eb83d33cf7d04fcc8f5ad4703b60db1a581ab2de158f0b4d24d42c13fd2ddd6c85ad4eb3f9f4db09927ee2c97eb7d4e4a063";
@@ -34317,6 +37206,7 @@ pagecolor = {
 };
 pagecont = {
   revision = 15878;
+  shortdesc = "Page numbering that continues between documents";
   stripPrefix = 0;
   sha512.run = "53b0f558c6198181349a66b39f0b54108a931279766882bfb713390e79ad0f62218ed841416e143c6909161ffec548592ffccb337505eba61f643a05d49f1fa6";
   sha512.doc = "634110b7cde040e5ae7be237abd6817055f7886d9fed5ce1a00b5ea93e9bc885f0c15398c280abe8472e27ce89aade2a827e66fc041081c8d31cdaf7755119bc";
@@ -34327,6 +37217,7 @@ pagecont = {
 };
 pagegrid = {
   revision = 64470;
+  shortdesc = "Print page grid in background";
   stripPrefix = 0;
   sha512.run = "587c09867ebe999b3490d2b6dbd541acf4631a3d40ce1c0dd102b3ca4801ba5774f60ae86f27cd34bf32f324d54bef305f365cc1a8565ab54d84925861082b8e";
   sha512.doc = "3c5d05229ac51f2013017372cbe1df54709b604e170bc4aefdf26a1a017ded6124fba4922ec7609f72c059e45e1ebf1a1eb838c89f4c1564c518469333afb5ba";
@@ -34337,6 +37228,7 @@ pagegrid = {
 };
 pagelayout = {
   revision = 69486;
+  shortdesc = "Layout graphic rich documents";
   sha512.run = "d68bf1937910d93d028757ee0fe06ceaa222b29239d7decc1479c78dd3bfe7a210349562718c87173f26bb34eea142eac4764e013a33d63d0dbe3b6204e60124";
   sha512.doc = "8b2fc3d9fc36b821dc1082d9fd980fe7280ccdf9d44218a84dfd5ca00aaf79df8b78c674a3460bf2ea8c93d977006bcefb053b8d55d46591bbce2b88822d4891";
   hasManpages = true;
@@ -34350,6 +37242,7 @@ pagelayout.binfiles = [
 ];
 pagella-otf = {
   revision = 64705;
+  shortdesc = "Using the OpenType fonts TeX Gyre Pagella";
   stripPrefix = 0;
   sha512.run = "feec3cb6db5c10b2ae3d4d4e58cd21b1e425be368e3002914823120b1396622fd2e6de09bf0a892759f3e9629deaa1c419da59bb858dc1263cc271fb33d46564";
   sha512.doc = "6cc07f42d696c04156c0da6610ceb562174dd5e00d1eba96c7b1813e86b53081245e45f835309db257cb1d157d6a77a3d453ea1f689400cab9fc08cbda21b8ef";
@@ -34359,6 +37252,7 @@ pagella-otf = {
 };
 pagenote = {
   revision = 63708;
+  shortdesc = "Notes at end of document";
   stripPrefix = 0;
   sha512.run = "085f824f879091e479635e2da9d375f51217f00dca5cc51f6b3dfa43e8a54197e4f2bb0f1748e7fa5dfdb522afcf177c67c9e47f4a9e756ba71ba6394fcd56da";
   sha512.doc = "20ac52f56753f0166829aea56e2b1514a34f67eea08ac8f2fbc505dcb046d2cc4168156b8db8691b426e35bbc83295454eb299a443e44d236fd31b695bb8bb44";
@@ -34369,6 +37263,7 @@ pagenote = {
 };
 pagerange = {
   revision = 16915;
+  shortdesc = "Flexible and configurable page range typesetting";
   stripPrefix = 0;
   sha512.run = "9216d443f44deba5cfc4ce04174031cae55f2adffa0f3400bf3f315c3b9003d1ee015fb6df69cb2cba23eb117f2ed191b7033ad46a51bc718260a44778783c47";
   sha512.doc = "862ed02746c6d91a2b8d9e19bb2e943e251dd18f0d94562bce9cc9e8ad603f7554e77ccfa2485b9a4eb7a2d6d5185756985f104d870e95823a4b33072f24bc9b";
@@ -34378,6 +37273,7 @@ pagerange = {
 };
 pagesel = {
   revision = 56105;
+  shortdesc = "Select pages of a document for output";
   stripPrefix = 0;
   sha512.run = "c07cd3b48fd5cd59ca685b1ae39da7e7d8774348241c26d29a74b41ee6c29fdae0c01a47a79aa669cf6651b0b83a5b79f8424c139c17db5bca20d30186e5b655";
   sha512.doc = "eeb70877276b393cccb1c0e301c191480e5aa52715738ac6d01b58be864b065b3b72afdbd90d3a398284671682370300537d4953aa2adf4355fc6d2278d2819e";
@@ -34388,6 +37284,7 @@ pagesel = {
 };
 pageslts = {
   revision = 39164;
+  shortdesc = "Variants of last page labels";
   stripPrefix = 0;
   sha512.run = "7db146bce45ee5ceeec5904e8f3ed6efe0010885b657b0f74546644c3ce2a018deafa95a11390da3d8a62eef16508b82c3efa9d02ac1662cbed18e905cf869b5";
   sha512.doc = "58fe6250af4ecdd6d62c231778c89e0b049995feface3af66dc73b920f4dcdca8838d3274a7648caf2b38746fbdaaddd1b4f87577c77dabad2096e9c8b681619";
@@ -34398,6 +37295,7 @@ pageslts = {
 };
 palatino = {
   revision = 61719;
+  shortdesc = "URW 'Base 35' font pack for LaTeX";
   stripPrefix = 0;
   fontMaps = [
     "Map upl.map"
@@ -34408,6 +37306,7 @@ palatino = {
 };
 palette = {
   revision = 60119;
+  shortdesc = "Create palettes for colors and symbols that can be swapped in";
   stripPrefix = 0;
   sha512.run = "0583223e81139040de67fa9a1fd93479dd2024c19d34e775a71b9fc03d7b01799c2dd58736d431307cb067d2d3130fb495aaa002425a8c0c80ddbc3e33679693";
   sha512.doc = "16934d0cdc60fe7c1d6d2cbd0dfb640a13d8282d98e322c98853b71ab7fe38a33241857ae98fd8ffd9f2e5c009327889f4c42a89af4370fc7d4608b457b1cb4c";
@@ -34418,6 +37317,7 @@ palette = {
 };
 pangram = {
   revision = 66300;
+  shortdesc = "A LaTeX package for testing fonts";
   stripPrefix = 0;
   sha512.run = "1a74fb3bb7d1a4c9dfdb594bcbfef7b716affa55bbc7010fed6937708f9ca0d9f644c2d56a557737b56c1b8386de90a4b4df699aa50631c1e94f1e4e3c9d3465";
   sha512.doc = "eb031dfabc359fecf7316cfac1d799f8377b38d2e86922a52e2409214f9dc251d1ec5c5ea439ce2830ed21ac9a02925f442e0930f845b849b7ef662c30a70955";
@@ -34428,6 +37328,7 @@ pangram = {
 };
 panneauxroute = {
   revision = 67951;
+  shortdesc = "Commands to display French road signs (vector graphics)";
   stripPrefix = 0;
   sha512.run = "d904edbcc40640e89e3399a5e00310174bc9317a1ac87da86ad15dfb2ec24757b21cc9ec1d9e562547b6637bc63fb1d58bc5373d4b84f4b53c0194c001a2ae59";
   sha512.doc = "b0fc8b96588dbe692eebec332da0cd3fbea74090b566a9afddad30b6028d3592e95f729d7d8f6f198c14e2cbe63e821715ddd2678bd4a58865c5a159d8d8ce4b";
@@ -34437,6 +37338,7 @@ panneauxroute = {
 };
 paper = {
   revision = 34521;
+  shortdesc = "Versions of article class, tuned for scholarly publications";
   stripPrefix = 0;
   sha512.run = "484964a6da8fffb001e29b471f7c9fa52d2f1aecf66da8f9365376b987c79e8e39cdede0f0d61977381aea78f9e6429216c0cc2eaa67a831e4f1ace29e2c9503";
   sha512.doc = "2fd771d5f1035cb48c0a4de89f1174a988b3b8254caf535ca75633efe2ddc0483d095a720a9dae93aa7e832b0d4e63bc49cbdcd801e4190209f56bb0632c5aa6";
@@ -34447,6 +37349,7 @@ paper = {
 };
 papercdcase = {
   revision = 15878;
+  shortdesc = "Origami-style folding paper CD case";
   stripPrefix = 0;
   sha512.run = "8f2c923e72c7f16b394222ad86bc3f07304e6c39965473482c708b15574b0475af6eb6aaa085b94be6b0ddcce3324cd5639a8317caad55844998868ff18f0e73";
   sha512.doc = "01d43ccf0be5caa114f1b406e5cd4c1f8f44f06ea92e6d3fc999a5bc71e911d6c99dbcb8a1b9c49105b978d0d36e6ad2642f73446e3ba6a55edb11f82f40638a";
@@ -34456,6 +37359,7 @@ papercdcase = {
 };
 papermas = {
   revision = 66835;
+  shortdesc = "Compute the mass of a printed version of a document";
   stripPrefix = 0;
   sha512.run = "a9c2fed35bcabf0e3feb98fede1f66f0c60dbe6a40b50c3818cf88821712ae4ef789fb5a080113f31cca4851767e4b607c623454f06a8dfbe1542bc3897dd7ea";
   sha512.doc = "2837d42a830f3a4517b7a0bddd9271264643198be3b1d805e471a62c9c87df81944a088b448829c26e05868cbb5f6a12480a6faa9a8c5d3f56e0c52c38c8cb75";
@@ -34466,6 +37370,7 @@ papermas = {
 };
 papertex = {
   revision = 19230;
+  shortdesc = "Class for newspapers, etc";
   stripPrefix = 0;
   sha512.run = "489718b18bff9055917d9aa1329c34218282c2dec743c4a136625b6c39dc5102bc85d7da6dfb5e2b6a0f4bfe5a8fe27341ba9c7cd205cb8435ed3bc81a7a5c1c";
   sha512.doc = "aa36046e89f7e4486020a62dc8cb10f0a680247a3148149831153400a4ee935d3120525de3fbf29eac5c6cd58b655c1a2dcc2c4a8baf7d849a40f842d3b895fa";
@@ -34476,6 +37381,7 @@ papertex = {
 };
 papiergurvan = {
   revision = 68239;
+  shortdesc = "Commands to work with Gurvan Paper";
   stripPrefix = 0;
   sha512.run = "0f79f739273caf08126817ac44fa0c02bef9fc2e2bdad32eee12d1e377bca14618b426bc71f4f9cf734a5e63c319ac019de2c7959d25a0e31f594aedf1ec6d98";
   sha512.doc = "c9b4f46772ca50c8ca89d7d3d35719d8b2a7dd7ffc9d09a39569500047640404d1d3937ebbd4b3380a4e13cf56fc2f722d444f71afe464df332a69dfcc6049e0";
@@ -34485,6 +37391,7 @@ papiergurvan = {
 };
 paracol = {
   revision = 49560;
+  shortdesc = "Multiple columns with texts \"in parallel\"";
   stripPrefix = 0;
   sha512.run = "ff7f60734dcf6d1db89a0b80747b31eb95bb28ac90ea5d83546feb08389fe890c6e3b4c44995b115d3e9d446823e81e27bf08337ae2d236a5a89c2c79258f741";
   sha512.doc = "a5711614d817193cf34cce405fc57f00dc17f3757b8c945dd174ba03453943c22e9c66b19a0f83444abd61f486e5df10246556e59d281f10f95452ad1931fb49";
@@ -34495,6 +37402,7 @@ paracol = {
 };
 parades = {
   revision = 40042;
+  shortdesc = "Tabulators and space between paragraphs in galley approach";
   stripPrefix = 0;
   sha512.run = "6eda005756083b1ca0c1ee09efe44830874d8090c25aaddb8d6631284a057130d2f03ca7f88b460fbeb7bea90ad31da8242028a70b07f6a66bfb978cd7390e26";
   sha512.doc = "eca6b66f0bb424730177498fd6310718a78ffdd031961f8de877bd6f9d027430143c19310b158abf26f92b4280016cdac696f423b493aa49d60b06cefc546688";
@@ -34503,6 +37411,7 @@ parades = {
 };
 paralist = {
   revision = 43021;
+  shortdesc = "Enumerate and itemize within paragraphs";
   stripPrefix = 0;
   sha512.run = "e05bbd65ae7146515dd5dcc6ad7e40fc8437fae29ee26861aa9c2b4b6da0015fc00974f0a2328a72e6487660794a822bb64b35ea3282eac980c3e7fd23f4b899";
   sha512.doc = "5f103c629d1c0bb94aaf6c86f7baefe3e99a854e764306cd21e256011ae5ed95601416e33677f73f6471bf4ce2a375b6dc98b8aaf35b8dab1c41ca91b7ec3ec5";
@@ -34513,6 +37422,7 @@ paralist = {
 };
 parallel = {
   revision = 15878;
+  shortdesc = "Typeset parallel texts";
   stripPrefix = 0;
   sha512.run = "975bb869ea0df9236f0e86cbfe880e9bd59ab2d6aeb98f0a399f5bfc7e4367b3f14eb64e707e4e7ba8bd3e0ee641765b9ddfd79ee1abac61f96414f215fa5cbf";
   sha512.doc = "ab4c283176cf1fd3d524151cc647c1da360a1772e57b282a91007edb1269d6bade379775d0efe6731fee18b3f3bc02292057d67795475a291a4dadc748d5b185";
@@ -34522,6 +37432,7 @@ parallel = {
 };
 paratype = {
   revision = 68624;
+  shortdesc = "LaTeX support for free fonts by ParaType";
   stripPrefix = 0;
   fontMaps = [
     "Map paratype-type1.map"
@@ -34533,6 +37444,7 @@ paratype = {
 };
 paresse = {
   revision = 59228;
+  shortdesc = "Define simple macros for greek letters";
   stripPrefix = 0;
   sha512.run = "1604c9320918893633af8318d049194158daaf458bbafb5ce34b2ecf39896eae4591989117bd1ecdc3a86d4728a4c477f32b82b38315aa0693fb5978a81d2b21";
   sha512.doc = "f25aae5058f765f5f141c1d2ba537db5395384f64b1e0aa803e486eccc1a9c958dcbf6b1dfb0aca331a5d20a798c2107092f79b9e8ec44e342ba52964ed43b06";
@@ -34543,6 +37455,7 @@ paresse = {
 };
 parnotes = {
   revision = 51720;
+  shortdesc = "Notes after every paragraph (or elsewhere)";
   stripPrefix = 0;
   sha512.run = "798ac362fa4b67dacfe9b744163555d3c25c9e4487c5d2e2fa47be12d8d4b41bf89cb24a04f6434c804e9ca1f45e6d1f22ec234ac04596d5e1905589cf1eb558";
   sha512.doc = "e9728eb1025e80f41ca07632cc2625ee670a61ebe06d003585645e6aed183087df460a1dea4f3a8b17013af6fb3e974a95b33d848d2502435a37b1aa881ce833";
@@ -34552,6 +37465,7 @@ parnotes = {
 };
 parrun = {
   revision = 15878;
+  shortdesc = "Typesets (two) streams of text running parallel";
   stripPrefix = 0;
   sha512.run = "1a09e6dbde9c24d88e21fffe24ead7ee7567a2c7bccd2ef33e49eb1bc8eff2befb3828a87616872f63d1d8eeba21814cefc8bbe756b17f887558449aaccb1668";
   sha512.doc = "cf284387780c9b2f4a79ebdd781388525aeb2a03ad9d85048061a6c43728bb6f2f4fc840ebb499a44a3fdf612ff4a20f36c17a377f959be813b4ee4d12288fb7";
@@ -34561,6 +37475,7 @@ parrun = {
 };
 parsa = {
   revision = 54840;
+  shortdesc = "A XeLaTeX package for theses and dissertations at Iranian Universities";
   stripPrefix = 0;
   sha512.run = "76edfb996d6354536b009066d4916b5864b0be1a55954a627380d4927eb05bb888d80c0259d52d367a8be58f5b20309cf65cbec0e8d4ebc6bef2b3840bf4d207";
   sha512.doc = "9cf2df697f90c46bc119f4df1816a734344066fefc54acb37a6fd2c127401a4f8ba12dafe0350d7bde90212924e40f08a500fddceaed44d735bcaf0ae9e48cb7";
@@ -34570,6 +37485,7 @@ parsa = {
 };
 parselines = {
   revision = 21475;
+  shortdesc = "Apply a macro to each line of an environment";
   stripPrefix = 0;
   sha512.run = "81d18bfa1f70157ca04383a2f6e4cf228f23d878a9e157e79ea0bbbb743090046f5058ff0731ac42f881f5cef13063fa0ff2fa9b80992b334e02dd7f2a1a33d2";
   sha512.doc = "b6dfad3ceac162f9c122c2b18fa168469cb6c4befce1c4b2c8f003507ff4b2aed30e6728bf29f04545a080efada1fd98a9c8c064f4ac1eea521fb486624e60b2";
@@ -34580,6 +37496,7 @@ parselines = {
 };
 parsimatn = {
   revision = 69090;
+  shortdesc = "Contemporary Persian font for scientific and formal writings";
   stripPrefix = 0;
   sha512.run = "73bb90c41be56b880b11114110a69cc206640ad97a2193a9557447ca8c901bba3485a971e31b6888b671b938a24d8bc880b532b5638a4a726fbe7978b1417bc7";
   sha512.doc = "c2e6b53ae9e2c8c949ea843654eb9d1545907a539af43f0b6f1728d78f7b0fed3ed1f92b8650aef85c0cb34e9cc91ab9ab8e1e7e4c406f9a9bf0f02ade10c243";
@@ -34589,6 +37506,7 @@ parsimatn = {
 };
 parsinevis = {
   revision = 68395;
+  shortdesc = "\"Scheherazade New\" adapted for Persian typesetting and scientific writings";
   stripPrefix = 0;
   sha512.run = "bb783a5c4d45e32cf5298d5407b3fcc98d64cb0f5c66a5f45a564acd3fc90faa6006d5d649597fb293aff746cef1be3d1304a7ec223e1fa604f7eed4fd705746";
   sha512.doc = "4509dd23bf7baeee99ced80e0b1d225dc2d616c992f44e5ed5fca7a75bd71dbb97081ca04b96477d26897f6481c929f469bc2483fb0483485406a90962ffd6a4";
@@ -34598,6 +37516,7 @@ parsinevis = {
 };
 parskip = {
   revision = 58358;
+  shortdesc = "Layout with zero \parindent, non-zero \parskip";
   stripPrefix = 0;
   sha512.run = "2d64232f41b2607712bc67ce77ebc987502924ebaad4f799b6ae2163862a8b833a9c1a7c8871a33b4ed9fdeb74c8368897e1b831c485ab82e084fe3ff0552af3";
   sha512.doc = "759e9e8d698f8ad77ce388ec127f158a7280586338c6e56e1f9188a9a2e8106cb482f8ebc4e252749331e65ac2a771884124b16e3ea5e9ac76005439ca85876b";
@@ -34608,6 +37527,7 @@ parskip = {
 };
 pas-cours = {
   revision = 55859;
+  shortdesc = "Macros useful in preparing teaching material";
   stripPrefix = 0;
   sha512.run = "a2a96c526de2581461941553b0c47bb4b08b3a9df03ffd121d14f3ea6e8bd62227f12acb4853f04240608a805189f4d90459324801ee25def1b44c48ebc83bb1";
   sha512.doc = "7bbfff0a879ba2287e528a63815b005a2159800656078db2ea2c0460887dd15772e04b1eb8953446c86281037180d82d84172370e015d2c66dcbf23651c6a182";
@@ -34617,6 +37537,7 @@ pas-cours = {
 };
 pas-crosswords = {
   revision = 32313;
+  shortdesc = "Creating crossword grids, using TikZ";
   stripPrefix = 0;
   sha512.run = "cc93ed7340380b2072ac7df4c0d343e43e1a3ae4252c42d9914edcb33232597a5c86d22cce3dc02218e6e725191f056ef9fb342e88d1a60dcadd8d011723b649";
   sha512.doc = "65baac7fa63a01c70293baa26d99d21dc999f959074a3d2668cf6661d3db059b47d2f577f8c9f5d7ac6014e601f50e547283c55541c492b3c2df4e5f01b65be5";
@@ -34626,6 +37547,7 @@ pas-crosswords = {
 };
 pas-cv = {
   revision = 32263;
+  shortdesc = "Flexible typesetting of Curricula Vitae";
   stripPrefix = 0;
   sha512.run = "4dc3203c5888aeb3c613ddc16446d7ced1dbb8ee1c0f0d983fa010eaf81d5a0a7a9364381be04e10bb15a9f258d4ae086fdbc650ab8ca627b07cc286be1ce1ec";
   sha512.doc = "93460e4435546cdb2df20e4e1fd555a726e909e411d42068b6f16f8bce2fa90144e1db95cad4cb94430f65b9614d766be00fa8c3e781a1de733b189a0b4585e3";
@@ -34635,6 +37557,7 @@ pas-cv = {
 };
 pas-tableur = {
   revision = 66860;
+  shortdesc = "Create a spreadsheet layout";
   stripPrefix = 0;
   sha512.run = "3457ffc6633ecd2eddccd0070a1ea5458d5126c1a42684991229c7eb8ec7e64db31fd809623b930cf4bb39c928cea2bd6ee2eb5ade840ba9ad36cc28b8d307b7";
   sha512.doc = "495b121c5860a96603a060e925173a7d197d0d22e13ab26857de5f7453f061847620b44b95c6494dc8e1f8108e58d987cec5728507cda2b61e40173c1b6d6a95";
@@ -34644,6 +37567,7 @@ pas-tableur = {
 };
 pascaltriangle = {
   revision = 61774;
+  shortdesc = "Draw beautiful Pascal (Yanghui) triangles";
   stripPrefix = 0;
   sha512.run = "0736284ad69dc62a9f97887f09aaf4e527438d068147319be8710c53708bf88c156964c9737548df4b2210b1e6bf5219d157e5d5baff53a510fa373684a8eda5";
   sha512.doc = "137c13f7878fcb5f3f2e7d4d47d05e8a25f7fd19f58672d7b521ba944a5eea22e90dd12418d4b056dbb1a94faaae750a9f2e06e4dfc8fcd206609f5f95e97a5f";
@@ -34653,6 +37577,7 @@ pascaltriangle = {
 };
 passivetex = {
   revision = 69742;
+  shortdesc = "Support package for XML/SGML typesetting";
   stripPrefix = 0;
   sha512.run = "2253d07d753a5c20c29c2ebb97446453d2c0912c9f26b2e3bd78676e7c3c2ee82953e188e62253c80da538546481da58602b5478b2b8ccb3a6f7554ee41d228b";
   hasRunfiles = true;
@@ -34660,6 +37585,7 @@ passivetex = {
 };
 patch = {
   revision = 42428;
+  shortdesc = "Patch loaded packages, etc.";
   stripPrefix = 0;
   sha512.run = "0ddcaa07696216f9fdea55471e1265fcaa71dd8ba2b8a50690dd519ad8b9442015502ec59b8f9f05c79f5031be3de2956cd71af58153dea8e1917f33c246fa63";
   sha512.source = "ada97aba615160b3c30c9cdccf3360f3692612bc702247ae3fa44f7821aefa2ee60c89ab79417b0ff658335768512a0d8d9b5b17df619c57d169f6487d39e5bf";
@@ -34667,6 +37593,7 @@ patch = {
 };
 patchcmd = {
   revision = 41379;
+  shortdesc = "Change the definition of an existing command";
   stripPrefix = 0;
   sha512.run = "a98085cb274c189644fa1307cf4ab5949a9eda76936fd6b74a7ba366b04d58b2a213c1a5ede53f644bdb76d44eeccd919176fb1934b8eda55489fee16f0c349b";
   sha512.doc = "3c65e6b1fe2b25efb45853deb5b3111dbfa03de7c0b154fcd86719a81bbf725e1872a6e6b5a9955e63f410ff3c05bce5de336f4ab1e612ea0d82b8d44d5fe960";
@@ -34677,6 +37604,7 @@ patchcmd = {
 };
 patgen = {
   revision = 66186;
+  shortdesc = "Generate hyphenation patterns";
   deps = [
     "kpathsea"
   ];
@@ -34691,6 +37619,7 @@ patgen.binfiles = [
 ];
 patgen2-tutorial = {
   revision = 58841;
+  shortdesc = "A tutorial on the use of Patgen 2";
   stripPrefix = 0;
   sha512.run = "0db7759a327066df9aa738a977d664b8e150405fd2e57e5532a7f9e2cc6a9cb0c6541cb37b916f8506589ea02e36eb4ca404ec1b8ace3726ae431a6c78f86db2";
   sha512.doc = "5abe4de29113af4db20d85ed0089190f5ae82ef1573d8ffffcb9f5f03a4417dacbea5aebd0b274ea27dc54255f8ac6792c841a9bf77ee39628c8bb1dca49b084";
@@ -34699,6 +37628,7 @@ patgen2-tutorial = {
 };
 path = {
   revision = 22045;
+  shortdesc = "Typeset paths, making them breakable";
   stripPrefix = 0;
   sha512.run = "6a1fad600e4683476206385504ab5fb916caecc1101ac903d23042c25e055c6d4a73b85a57a3293929b1effd7d4af6db26c36ff994d76efd1c4f81073cee785a";
   sha512.doc = "e52367b81b9042af70e940aab99fa13140c31d58768ce94fb86df74ec9b52fb365168e7e325d8b2e304094e5a35fbd9fd687305062b5b606bb9e5748f143ac2f";
@@ -34708,6 +37638,7 @@ path = {
 };
 pauldoc = {
   revision = 16005;
+  shortdesc = "German LaTeX package documentation";
   stripPrefix = 0;
   sha512.run = "36e67d812dd0218d013808879eec1150d6029e13519b0796f061a850d2dca99b8c07a2ec2fe9c49004b0f9947db10ac8d02d47a858b8b27852744cea58779d13";
   sha512.doc = "178950b84cc4d5e1d78001aa75fd8cd5f0b3ca8e800b15fa1b65e19968a4642fc8ab2a3c2a95ab661155437790f100d48730d40a701dfba3a21981e93e35ba6d";
@@ -34718,6 +37649,7 @@ pauldoc = {
 };
 pawpict = {
   revision = 21629;
+  shortdesc = "Using graphics from PAW";
   stripPrefix = 0;
   sha512.run = "426fe59ed20c41d3b11c87814b5f3737271d20bfb2cbc45142a36a42cb5aecc1555ea69a8ba1a1cac7bab323d8c9f23720601934f183d197b25e84d2037f057b";
   sha512.doc = "5f8fb39ccf22aea8c40e3fb5d2babd757447e089da79a9df35336c56049872f45bb04fb76ad08d8d8a8404523666841fc757e7ebbb5201a156274ec2c29958b5";
@@ -34728,6 +37660,7 @@ pawpict = {
 };
 pax = {
   revision = 63509;
+  shortdesc = "Extract and reinsert PDF annotations with pdfTeX";
   sha512.run = "71a2c105a7d593ca432a50a68fbcd16d876c8a28ce25be99326f323bcdba997b000158514328542378384f55a0ceadd9d34b71840980346b0b5c1c63843f7c1b";
   sha512.doc = "a2e0e7129e98efc8a44184d445118220e16f8149166c2093b7c44a936885845c0d49d37a7588f32e2c06fc834f808b0e4a1b15808a32183bf9e457a9a1c19ba7";
   sha512.source = "3920502e3ef59332129792eb87b771bac81ec3061d6cf35d77fcf785fdc88434824592b6f0d5b74041d372977e17b85d9253e7280a5ce9bc361ce56857397dd1";
@@ -34742,6 +37675,7 @@ pax.binfiles = [
 ];
 pb-diagram = {
   revision = 15878;
+  shortdesc = "A commutative diagram package using LAMSTeX or Xy-pic fonts";
   stripPrefix = 0;
   sha512.run = "6e2e18f93d5575e3f9db1147a9e255d2ab8a3918e25f53315f91ec395962a3c65d7321c1d162ab7510f16b25e4bdc5c8e4688e56820759baef06dcb08833a0d4";
   sha512.doc = "4b12c7f67411ed86eff674665f61b6b2e34694c937222c7adceaab453d78a6a1f23c58d3abd7ed2320ccf05c40e6b38ff2280bd498e7b71e857bd6fc86de3067";
@@ -34751,6 +37685,7 @@ pb-diagram = {
 };
 pbalance = {
   revision = 67201;
+  shortdesc = "Balance last page in two-column mode";
   stripPrefix = 0;
   sha512.run = "3b9579669a9bf79892e433eb5ad7203254fa99615398e9ec58d1438d4b57fb94a5fc0dd14867b6ac18a874af3c4faa1d072a9009086b125a18ed21de144fd40c";
   sha512.doc = "d02220c268923d141faa2a4249d50c8fc9f119e1703475f1ba979903a79df79b6ce48b70e113c0193a9b953f935446486e7d926ff52ac1eaf5f2c193638f9a87";
@@ -34761,6 +37696,7 @@ pbalance = {
 };
 pbibtex-base = {
   revision = 66085;
+  shortdesc = "Bibliography styles and miscellaneous files for pBibTeX";
   stripPrefix = 0;
   sha512.run = "6be03a9f18741e16104d620effc7c0669e12ccde1aaa7d4332ada2fee95ceb1a6b30db4df41386995367b565b437174c0d4cae6e330c8181ee47095fb9bd5a5d";
   sha512.doc = "69a7e564464d8b1c31474ca37b5e9fadeb4c2d4f4d25dad5f884317b226c6b7f8f467cd1809e1330cb64fe2006f1ab397cf4f163e469a14fb8de5b778dc70c08";
@@ -34769,6 +37705,7 @@ pbibtex-base = {
 };
 pbibtex-manual = {
   revision = 66181;
+  shortdesc = "Documentation files for (u)pBibTeX";
   stripPrefix = 0;
   sha512.run = "ca4690e0ce37561dcb877d17310f498b5b528cf6892beb075b4ed87f1a4432957c2ac56ad29f66da1452794c587f2d9343fdf7715c670ac7c3f7880f620f698e";
   sha512.doc = "152ac93c6e1bf07d90434581a8891f293527d4ff93f7d439e7e15c99d53b0cf43872c9f8a6935fe314614b9c3fe3cbe7bb3dfdbba486dc7248fffc60742f37a0";
@@ -34776,16 +37713,18 @@ pbibtex-manual = {
 };
 pbox = {
   revision = 24807;
+  shortdesc = "A variable-width \parbox command";
   stripPrefix = 0;
   sha512.run = "cf2ea3781aac3d0b8619c46513bf9894c4b4efd8ba89eefe2e5fbe4e8f82fedd3b17f64467598080a577c65cc21713671c68763ff2600ce24fb6f6ddfae83a3e";
   sha512.doc = "1955a1cd5336a7d71483f49bbc8c65426485fd38447282262b58b4633398cda0753c5574455421b19d92d5c88c599f9c227b54a7c340a35daf233a4f48a1c276";
   sha512.source = "67cf5bae9494a81b97738ca8ed5877c009d631cb8ac681915559bc4919f536c657fe4e3ade36b8e4a0ee3b614ca4a23bde8a9cae19f3a9aca12cb2e3926160b1";
   hasRunfiles = true;
-  license = [ "gpl2" ];
+  license = [ "gpl2Only" ];
   version = "1.2";
 };
 pbsheet = {
   revision = 24830;
+  shortdesc = "Problem sheet class";
   stripPrefix = 0;
   sha512.run = "4fee9d64b1988f9981a056adc10de3be6940cb2cc7e23d9bc4effa8647e27601e5b74d2c15289ed5cc96c3f42d4f2569d897be111e2dff064a4c5d40445c760c";
   sha512.doc = "d929cb815e8204268f17d9e71f53550b7647d39fd50782c1e6bb848a6a8840ef8389d2f3359bef554450179bd9a638ea80a1c7ec018c7275165622f1ba645a95";
@@ -34796,6 +37735,7 @@ pbsheet = {
 };
 pdf-trans = {
   revision = 32809;
+  shortdesc = "A set of macros for various transformations of TeX boxes";
   stripPrefix = 0;
   sha512.run = "8e3d1526b0373113064e4812003b84fd78dec65ce4946ef991f09efcb6ffab8e89a9a655c8a0582e1f4452feb526c077ec9cff30b1ad7f3c59f07bc715e643e6";
   sha512.doc = "a275e35947c38b93f5ade7a812d7938d342b25460e2a29e16a1431c7fff5939826ffe0bab30aeaf504a57ded91925e85853f93611702ee6dfec713031edf9306";
@@ -34805,6 +37745,7 @@ pdf-trans = {
 };
 pdf14 = {
   revision = 17583;
+  shortdesc = "Restore PDF 1.4 to a TeX live 2010 format";
   stripPrefix = 0;
   sha512.run = "6291a2cbe2fea33d2a948a8ce58415de875cb09df1eaeb674f2a8fd3e3eb9fd5897d73e2ff613cb71562299ac22b07566b3c8730c807928e5a12f3e572f99622";
   sha512.doc = "1b848dc73554175d33b7501fe83f1689e5181bddc6f59db00829ea39ac6aa7f91ca4f936f93a66411ebb257fd77132c6a4fd3371c8c28f0258cdcca31b8f0b38";
@@ -34815,6 +37756,7 @@ pdf14 = {
 };
 pdfannotations = {
   revision = 68958;
+  shortdesc = "Annotate PDF slides";
   stripPrefix = 0;
   sha512.run = "22bf69647c957f3235fe1be6d90cb75e66188722e3308f80724dcccd9766a470fad09d0b6510fdf7d7e012d595726b5053ca727ca813a2771cd601f8761c97e6";
   sha512.doc = "900b6383a998afb3593c6e588220341f73d3a03ea81e3bd4f71369b889ebf722dc921da4607342f7e35fa22e62b6f11a22af1c3e8d64acfad9ebc13ff1c5e66d";
@@ -34824,6 +37766,7 @@ pdfannotations = {
 };
 pdfarticle = {
   revision = 51127;
+  shortdesc = "Class for pdf publications";
   stripPrefix = 0;
   sha512.run = "50cabf25f9da7b9adee489fd0a01fd9e5da2115d1dd09111507143a99a605cbc7e2de5a40a0e963b68942a601b7f0b753fdaf9cc1eadcdfb1261730fff5b4875";
   sha512.doc = "d77754cf21565337f6db1b984dd3812798833f61fa263e39f9a929b25391a3b31a55df97a7f0db4fd379e4bf3855c51b61a719c30187865f67d7d37444e17de3";
@@ -34833,11 +37776,12 @@ pdfarticle = {
 };
 pdfbook2 = {
   revision = 53521;
+  shortdesc = "Create booklets from PDF files";
   sha512.run = "dd87268e3856eb26b37f025ac62f24cd5e680e92e727588d36878de9df799f49254ef2259c29de15db11d5888ada83110a39aaa3116aa6f6aa290d3e64f1231f";
   sha512.doc = "3048de4be891e270e8efe9f9d85524aff948c9483da25f491669a7181967dc281f42b984c9ee46464bc563c42a4f171589066f67818a291a136e1f49d40912ef";
   hasManpages = true;
   hasRunfiles = true;
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
   version = "1.4";
 };
 pdfbook2.binfiles = [
@@ -34845,6 +37789,7 @@ pdfbook2.binfiles = [
 ];
 pdfcol = {
   revision = 64469;
+  shortdesc = "Macros for maintaining colour stacks under pdfTeX";
   stripPrefix = 0;
   sha512.run = "c9d9350a68513b9c7fd1d99138cf93aad74b76ebac4e5a55de483501bc5a6ac42a366e60e15a6d7e81149355dd6ea87b968bb070e05f04848e4a167422f645c1";
   sha512.doc = "d2b5b5e1681092d024e0e0d47d3252e915cd3456b9bd27e1d2b871688ff2d805b385d864088e8a9ec665d7a0b495811b3ba6e8237363448d378072ac0c12072d";
@@ -34855,6 +37800,7 @@ pdfcol = {
 };
 pdfcolfoot = {
   revision = 65512;
+  shortdesc = "Separate color stack for footnotes with pdfTeX";
   stripPrefix = 0;
   sha512.run = "40db84311e460e79e6627bb3692afa56abe6c0f335f054955fa4f75c11b4c2a4f65c9c77ca225e1ceb37b3dae6727f27ee4b6e27a155eb1fdf9b053693490537";
   sha512.doc = "afd7cfdef3e0290360251ff1de1fee17053229d89dc88e2275a3b94df8a9b5235ba462cb66eb741e541e8d59a9d0eece345c521c87f33fa5fa99e5d69d139ac5";
@@ -34865,6 +37811,7 @@ pdfcolfoot = {
 };
 pdfcolmk = {
   revision = 52912;
+  shortdesc = "Improved colour support under pdfTeX (legacy stub)";
   stripPrefix = 0;
   sha512.run = "ddcc125c608eea472c06981c9f5a901a431da978fecaa2a5ecdd08e2f6499ad25632e4de86f7e92445a8e276403ee92bca636b80e5216e78b21ce355910ead67";
   sha512.doc = "e2bb876ad74381fb441d870422186f4cee76bb4cb5f721334b7119fe83b2ab0565ffd5300575ab52e8d25a263d87739a1e114cffed44ab3e25d8d5cff2006456";
@@ -34874,6 +37821,7 @@ pdfcolmk = {
 };
 pdfcomment = {
   revision = 49047;
+  shortdesc = "A user-friendly interface to pdf annotations";
   stripPrefix = 0;
   sha512.run = "82e1f9e9dc35f652d1ad348c6f2e03c1472c36c113cb17080061f66777d129f55f56a29c2a94292974ed759d12727d93e1724a8b529ed0b4c8c3e53511ab1934";
   sha512.doc = "a7b6f568daa2d2c01574f56641326c1cf46c692d247fb8a8fd7485d6e804241a43691ac42923df35dac4453a23a5433fe1d7a063a88f4675a00780e89675a169";
@@ -34883,6 +37831,7 @@ pdfcomment = {
 };
 pdfcprot = {
   revision = 18735;
+  shortdesc = "Activating and setting of character protruding using pdfLaTeX";
   stripPrefix = 0;
   sha512.run = "d046543b42966f8a566be0c89d78ca26b26d4095d99d5b16045283f0eb52a90a92122c1e87a2842d12d7ef2f865fbeaa69315a51bb922f713d33b9ef2e270fac";
   sha512.doc = "ef19fdf93050dfe35df88163453067e589307b2173481d4f3b6943411bbaabda94b472622b93485637de5c2f885f9153d5078f5d3bccafb52bb28d3e25f39ca6";
@@ -34893,6 +37842,7 @@ pdfcprot = {
 };
 pdfcrop = {
   revision = 66862;
+  shortdesc = "Crop PDF graphics";
   sha512.run = "d2f33ad228c2cadc78cc8f16bae747ff1aaf98094a5dbf16462bdac0957f14aa32636b3ee0e16603e7e3caacfbd0d76526502911cacab29dc0a3d85c46a36e44";
   sha512.doc = "0e3eb0d735d146c98bd9a34170afdfe73fc987b4d4a7102fa220e4d6e7bbdc185cd0d3bc219ffb7fa14c6fc1a971225ed24335e4ec9fd2ab9d3923dfb2f15137";
   hasRunfiles = true;
@@ -34905,6 +37855,7 @@ pdfcrop.binfiles = [
 ];
 pdfescape = {
   revision = 53082;
+  shortdesc = "Implements pdfTeX's escape features using TeX or e-TeX";
   stripPrefix = 0;
   sha512.run = "ca908d58a9a0c0094fcd9bad550bf493a0dbea9e90702534a7418f9a5f506f5cedd42663f154bd227349e4e57e223b6360871bdc995eaea221c07cccaa780327";
   sha512.doc = "d95aa97463b20c178a04f9f2cb71011985eb5242ec620adb9911bb5f1103f71e9fb0feca5704a9339b9490a71ed67c8c038efcf6cf43e16fcd20ba2eaeff8161";
@@ -34915,6 +37866,7 @@ pdfescape = {
 };
 pdfextra = {
   revision = 65184;
+  shortdesc = "Extra PDF features for (Op)TeX";
   stripPrefix = 0;
   sha512.run = "84a84fe75512fce734c9c6ad3eb2b44091ed07ab69e202b64d0d86f143166a4ab511350120b75a8f71f5c88b8d9b175fde9b5621bea23aa5017e28f0c5c2e2f5";
   sha512.doc = "644bc2b11ae5a538172eccd92e64bfa60b6fb3d5463e3fd897f46086dd84c9bf098d91565b2d88b24d5c481bfc7595f999a7b4a78c8bf74b130fe243abc9f2c4";
@@ -34924,6 +37876,7 @@ pdfextra = {
 };
 pdfjam = {
   revision = 68597;
+  shortdesc = "Shell scripts interfacing to pdfpages";
   sha512.run = "ce5f86bc1091795bd749d79b348d5f2e5e9e012925222552c9b9431100d1608a20356fb6379c15cfcbc76096e65b2fac6725ecaa485952a28408191db2c46652";
   sha512.doc = "c72b039c93eb3ae542351117de5d52eaec2bb7a191092ff8547947b11e9d1a6a921010d211a1366f71846121576cd6ac105d3002f95ebd3fd4aaa8106855ba5e";
   hasManpages = true;
@@ -34936,6 +37889,7 @@ pdfjam.binfiles = [
 ];
 pdflatexpicscale = {
   revision = 46617;
+  shortdesc = "Support software for downscaling graphics to be included by pdfLaTeX";
   sha512.run = "d36dcc4d70156d52bcaf668d620c8eee5db8914473f943412ea5ad5c8bde673a6715fd5a69d13e502a5d4fe0b1e0e55099432c4e0e5e02bd5f6155ca5804c3f3";
   sha512.doc = "64440f794e88c08bfeeac75d6d4174eccb800125c8d57e3b0be3ac6883c04790d422cb05cbed6be7335ab2e4d2e6bb2c8c0137c04160db126674960ddb7603e1";
   hasRunfiles = true;
@@ -34947,6 +37901,7 @@ pdflatexpicscale.binfiles = [
 ];
 pdflscape = {
   revision = 64851;
+  shortdesc = "Make landscape pages display as landscape";
   stripPrefix = 0;
   sha512.run = "13c581f774e61de70e97b40c54a59054b9ab0a9fd6e1b71d94fc5d0e072aa96661d8b72bc99c083b322df974f75b2f415a6fcd8bc23f95d2d999a03ffc0a3188";
   sha512.doc = "c59c598fa494e5a57d2ba058dd6d096edc96aa958bec7ea1240195022b670f0cfc45d15eea0d0b68b499975811505a6fe9a209c7630c74c861fc42ce3904284d";
@@ -34957,6 +37912,7 @@ pdflscape = {
 };
 pdfmanagement-testphase = {
   revision = 70328;
+  shortdesc = "LaTeX PDF management testphase bundle";
   stripPrefix = 0;
   sha512.run = "3dde6bdb63f0758ccdaf62f6ad928e241afb7e7033e05c7d40ff36a2eb526ab1fdde01fddfb96a11856aa59a29272dce2740456c72fd23ce0e450f4f48195448";
   sha512.doc = "337bea25f8e865fbb70b86318bb806210e8f9e284fb0cd03d11e8998601f9e4d627d616e74f5d9bd23a171700b17e7eb4b3c8ebfb07da8e8e66c0bc72dee0d97";
@@ -34967,6 +37923,7 @@ pdfmanagement-testphase = {
 };
 pdfmarginpar = {
   revision = 23492;
+  shortdesc = "Generate marginpar-equivalent PDF annotations";
   stripPrefix = 0;
   sha512.run = "1cfb39ec9982fce753e3c0040123fc0faf39d94a41cac95dd0d189f2f5dd21f0a03c2f7e26de999097905b2bb32ec8d73e6dfa808c8ed2a49610da436639767c";
   sha512.doc = "24f2fe0616b0e6872da321bc7878f423df54057c9ed7b62eac4e3de36df4ba9a5f0c4481392902130038c8f2da098d2fc48be34056a03d6e764a01b66c2649db";
@@ -34976,6 +37933,7 @@ pdfmarginpar = {
 };
 pdfmsym = {
   revision = 66618;
+  shortdesc = "PDF Math Symbols -- various drawn mathematical symbols";
   stripPrefix = 0;
   sha512.run = "f424a0fcaaf484f919b1e6646c63eff6550711e23cf938886b9cdbcef8719defd1d23efe949916cdf27dda54a87a8eb5448d4c9e8234ffc043dd295937ea5365";
   sha512.doc = "a40e39c7ce6e5d93339aeb6a1ffbb23dbecd11656b6c698362157c0fb46477dc4506d6b40269b3e9f10cf8fc0b2c982049d4e732b92c0a3401a0a40614b631e7";
@@ -34985,6 +37943,7 @@ pdfmsym = {
 };
 pdfoverlay = {
   revision = 64210;
+  shortdesc = "A LaTeX style for overlaying text on a PDF";
   stripPrefix = 0;
   sha512.run = "e167d180f13a5d15684072f2b9df8521e5c2dd89ee1eb6d515d6a73452508c083ab3b188fa856b571a0d41c0d490b65705631c236e677b4c58bcb0505c310cc2";
   sha512.doc = "c77f221b34d01653995bb15ea7c05c13089d99a5d213b4f991fd09ef96dd8ac9a12e9b58f39b8216b1421d84204ffff8413694f4cbfe571a7225930a7c3b244e";
@@ -34995,6 +37954,7 @@ pdfoverlay = {
 };
 pdfpagediff = {
   revision = 37946;
+  shortdesc = "Find difference between two PDF's";
   stripPrefix = 0;
   sha512.run = "ce28e8160b14d0833b57445392237dceab536108a9d96942dcc0adf5305c149ba08269d697ab8508d8ba05dbc59dd972dd242cf7c4cd12e3d3e857eb885e5277";
   sha512.doc = "dbdfc61b7f7bcafa597e439085f9624a48b734b2adbf53dd58ba6186b3597180b7ad3fc757acbd07c6466276a9e865bc154245e84d28b1e291004cdde64f55ea";
@@ -35004,6 +37964,7 @@ pdfpagediff = {
 };
 pdfpages = {
   revision = 69524;
+  shortdesc = "Include PDF documents in LaTeX";
   stripPrefix = 0;
   deps = [
     "eso-pic"
@@ -35020,6 +37981,7 @@ pdfpages = {
 };
 pdfpc = {
   revision = 68610;
+  shortdesc = "Define data for the pdfpc presentation viewer";
   stripPrefix = 0;
   sha512.run = "f94232b95cefe880b963755f18d71e4d4c00eec6a095a3ada786bba4036c8ac1bbf92377fdc64d6a4fa1fd8a3eb2f308a5edd451646f8d552dc1c29f7e93dbeb";
   sha512.doc = "762933c4c5864e8f94a0719f4c26e5b1e576e11353553875df690fe9f2546c08dcd2f35e7ae46fda6960781fa2223d874acfb5c0c8f6a7f1732e2ca227001f46";
@@ -35029,6 +37991,7 @@ pdfpc = {
 };
 pdfpc-movie = {
   revision = 67201;
+  shortdesc = "Pdfpc viewer-compatible hyperlinks to movies";
   stripPrefix = 0;
   sha512.run = "55d8f438a458048893cf6cdb56969b84c5e0d195346a0d79f4e097a6ea336623133c42efedd1416e294d474f44bd01c9fd5efa6e38d44fc49194fc5de9a965bd";
   sha512.doc = "96eb1120fadb2fa47cea38fb9fac189d8e142f9fdfaca5f6c46b5b0fabf603f7fbfa013715d589b25ef928bd69ffd273afcfd5d1fa0d8a30f2f8dc6c50c20cd9";
@@ -35039,6 +38002,7 @@ pdfpc-movie = {
 };
 pdfprivacy = {
   revision = 45985;
+  shortdesc = "A LaTeX package to remove or suppress pdf meta-data";
   stripPrefix = 0;
   sha512.run = "8ec360bcfa5056b240091f1b2b5e6562656b15379bcf74b161899ddce41cb70d08cfdfb73b9497efd48e192fde11bfb4ffc59ed99059e1b6f6619e34b7f39bcd";
   sha512.doc = "81e2d8a0e5f5889efbf96eae5e879378fd0b4cdfa9db66283e34836b767d27d216e35822f9225eadd8816e46c503443055dc822f221b35134ecf95fa2e0d22ab";
@@ -35049,6 +38013,7 @@ pdfprivacy = {
 };
 pdfrender = {
   revision = 69058;
+  shortdesc = "Control rendering parameters";
   stripPrefix = 0;
   sha512.run = "507450ada31750d833e46a74ab38570bab964c4d36224482d0aa14b2f846a10c34c21735cbf7c4a8bd7f6c10dab5932830ceeef8198b98f72a716aed27a0714f";
   sha512.doc = "447336df8ed6b0f026e9b99a5a45481fb04da0dfe009e091727d99ef536c5e073ca90bb9e4268104146908f5bd6588dbb8d294cceb0acb3f46763e0f835b6803";
@@ -35059,6 +38024,7 @@ pdfrender = {
 };
 pdfreview = {
   revision = 50100;
+  shortdesc = "Annotate PDF files with margin notes";
   stripPrefix = 0;
   sha512.run = "1cb41c081230f601eb627d81118a3832597e97c2e0565f48f584e8f4b6d039ce903cdca54fea4591a5c9707d5145ff45470858dd2e39d3b18a2e964cb380301f";
   sha512.doc = "72f7a2083c7bfae24d3a4cae397925f9d02555587c59cfea8d78b8fcc0de5db24367968fd27799f4148865ca7c2a4c2dacd11269d1d71c36f039fdc913a532e2";
@@ -35068,6 +38034,7 @@ pdfreview = {
 };
 pdfscreen = {
   revision = 42428;
+  shortdesc = "Support screen-based document design";
   stripPrefix = 0;
   sha512.run = "e8a3fecc3aedfb87156c1dfeff4673650a8dfd31109e3d76e7f51dd99b1610aee086a2fd183d48cfe1403dadbc6a8ba84fcfab5ea832b43b8a5128bd07612112";
   sha512.doc = "8f4b1f6876b0adfcefb4a9b1ea5f9c8ffae0fb4ffc245fd75f631b172dc592dc82ffaf68b37e9c1907db5275f317b444966a466ab6c8e7b20b80535842230794";
@@ -35077,6 +38044,7 @@ pdfscreen = {
 };
 pdfslide = {
   revision = 15878;
+  shortdesc = "Presentation slides using pdfTeX";
   stripPrefix = 0;
   sha512.run = "bdb1d91b587375a0d72e317e4a762b9cef984dfa36d94fd7bd13a3e22941f0f1f4c981138b805613f7a62f4d09c7c781fa9e4e5d4b5019a749a8f8a700bf5540";
   sha512.doc = "92008d1e461e5309649ec5160b7dd3796455f04e923f4e5c8593a3a4cc76f704639206c48a4af13bfa9fa3fd735b03ad419f07d1222a45d093a6824aafcb8df1";
@@ -35085,6 +38053,7 @@ pdfslide = {
 };
 pdfsync = {
   revision = 20373;
+  shortdesc = "Provide links between source and PDF";
   stripPrefix = 0;
   sha512.run = "0a7f183fd83f52016d499f8aefface745fee8351bafb4abb467166553d742f91ead7377fc3ce8111bc57253431aedf70f4b540975a1c139017f7d02ccebb6ca4";
   sha512.doc = "7e103ba84fd41acbed007f4acceb0188372a4984977a3fbee3bf4484612c6e0621a934709982407bd1d59a69167c1d2f5ebd4b94f73bc502baa8a4830fe3f983";
@@ -35093,6 +38062,7 @@ pdfsync = {
 };
 pdftex = {
   revision = 66243;
+  shortdesc = "A TeX extension for direct creation of PDF";
   deps = [
     "cm"
     "dehyph"
@@ -35138,10 +38108,11 @@ pdftex = {
 };
 pdftex-quiet = {
   revision = 49169;
+  shortdesc = "A bash wrapper for pdfTeX limiting its output to relevant errors";
   sha512.run = "7b33e37a4b33060abee48ccf825cacecdee552d641da48dae47e3615fa0ab91ea9912b52fbd5c5ba6cdaa9c0d2cc7baa7c48a80bebb6d1887e5c633dacb4d104";
   sha512.doc = "e13392cfefaed2c154c086ffcf85e21725e4230ce78d10e07dcb0a1c8b3685bef2572c5f5e249c56120320f2b0167cd5055ade50625a296446a197c0ba4b85cc";
   hasRunfiles = true;
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
   version = "1.1.0";
 };
 pdftex-quiet.binfiles = [
@@ -35155,6 +38126,7 @@ pdftex.binfiles = [
 ];
 pdftexcmds = {
   revision = 55777;
+  shortdesc = "LuaTeX support for pdfTeX utility functions";
   stripPrefix = 0;
   sha512.run = "91054b61b76382813d80e873d908cc07f8571b7651f49a3dc3e87063507af43bf31107c34187b703b0c4462eafe0cd605159803c72cbf2821cf6ab3afb78fc6d";
   sha512.doc = "a16db56366e80b1694b78919a245336c37690ea9a1305a606a3bfa85a73c854e92d1cd8b9ddb0bdfdea82f1ef684d06d8b4649e4111c39f24f321dbcb01aa036";
@@ -35165,6 +38137,7 @@ pdftexcmds = {
 };
 pdftosrc = {
   revision = 66186;
+  shortdesc = "Extract source file or stream from PDF file";
   sha512.run = "8cb175ce464b0ec0bf74c39ddcf381daf9e27635098e775d929f5cdc60858d39cdbac1a4302446f9368a274ce4c3afda9636d882ef4097d2272d22e190d8d272";
   sha512.doc = "01598180f8eff2913eeebf5bc3d5f3aba32029286fc6e0c072aa8c0f4dabaf0c6e71ae7451ba9a7b65b4d0075a7f0a3baf345b02c5826eab64d74e39eb82798e";
   hasManpages = true;
@@ -35174,6 +38147,7 @@ pdftosrc.binfiles = [
 ];
 pdftricks = {
   revision = 15878;
+  shortdesc = "Support for PSTricks in pdfTeX";
   stripPrefix = 0;
   sha512.run = "f7c0a71e44d0d388ab952ff820e5af63fe0f94acb2feb3415a2d1b3cffd94efc7e8bd17efbb7b608d082ab1b7d7ba1b780c63088df54a8db241c9b3d133eab1e";
   sha512.doc = "0e3ec1f3b7d7c9bda1e08060f0ee0615244863e513a25370b598f22bef00e6ece79592a105eb13cc913c169b1994c8a38fd60be0566e1c52e1ce2f97dc1e5995";
@@ -35183,15 +38157,17 @@ pdftricks = {
 };
 pdftricks2 = {
   revision = 31016;
+  shortdesc = "Use PSTricks in pdfTeX";
   stripPrefix = 0;
   sha512.run = "e50406cd680e1d5cfabcfd8000b743fde61dcff7e3c686b06f58fd1fd36e414d53140b5d244ef65931aeec67dbf458e5e2d43266f26ee9de301babbc0f88853d";
   sha512.doc = "4a22c280a28e4a45f068d52f4d75f19b5ccfec30609d7c8d143cccc67d16fc04cd1ae63e7d6a5a659a0805ed85d96d57ff5fba4b246f67029457088e7696ad23";
   hasRunfiles = true;
-  license = [ "gpl2" ];
+  license = [ "gpl2Only" ];
   version = "1.01";
 };
 pdfwin = {
   revision = 68667;
+  shortdesc = "customizable windows for screen viewing of TeX documents";
   stripPrefix = 0;
   sha512.run = "1064e81793884565568f6bde33072dc007c9b9a07c010be602111ea4429ccb803c18a3af13c85bc1367279624266063756bc59c72e6190e70090eadc8857b8b1";
   sha512.doc = "5055cfb0e2cf0e1cc105a43fb82c05e133863cd22278792de5aa931afd84afe7cc3b35566a399dba97645da4495d16e47d723155991ecf1bb3e13a892f230787";
@@ -35199,6 +38175,7 @@ pdfwin = {
 };
 pdfx = {
   revision = 50338;
+  shortdesc = "PDF/X and PDF/A support for pdfTeX, LuaTeX and XeTeX";
   stripPrefix = 0;
   sha512.run = "c1e1be225efd5bd66873663ccb134521b40253875248096a66a8499609e62e481fa64e563afd75952b2dc0041fa1fce594f4047c3c91fe6b9443493ce8899ae7";
   sha512.doc = "22b7e52295ab8da136e584f545001d0db480cefb06b7d595133ff3508c9ee3e7b7d8c8a93c41ebf24a9e313b4e40fdf355a88ef0a65b629c3b27f5f4bcec906a";
@@ -35209,6 +38186,7 @@ pdfx = {
 };
 pdfxup = {
   revision = 59001;
+  shortdesc = "Create n-up PDF pages with minimal margins";
   sha512.run = "f5b7623c1ecd132bb3646af5953245bc7378901bd5ded2e910487770cd79bb3d248cad426aafd18dd12a28bdd46be0f89b81dc95959f06688fb6a7a8f96dd11b";
   sha512.doc = "23db38fd8ebbd04bf6fed3b2814360cb6d0b736db1540d0298e9ab6edd449894c420078adae11d97998fa1fceb8e7083adacc0048337afbf4b6fbb253c8ed21f";
   hasManpages = true;
@@ -35221,6 +38199,7 @@ pdfxup.binfiles = [
 ];
 pecha = {
   revision = 15878;
+  shortdesc = "Print Tibetan text in the classic pecha layout style";
   stripPrefix = 0;
   sha512.run = "12092c82c52e34259fb0894b8375c45fd94b9aead121085736a0f7bac90b7e156906a22d233c596c79880aa0b858f7213f37b2059cecbb4627ce2e4163f22335";
   sha512.doc = "3d0d9184aa0009ab67f299a87b3840513229a93ec08e33208fc7b3c1a69fe043b02844ccf7569d14c5d5cdf0546224b320970caa080458c92cc299853b021c98";
@@ -35230,12 +38209,13 @@ pecha = {
 };
 pedigree-perl = {
   revision = 64227;
+  shortdesc = "Generate TeX pedigree files from CSV files";
   sha512.run = "4aca97c3d231e3c68a8372d6d8c970aa681fef3d1b7061fbea1648a188c03e06221bf83d2ed0678390780e9a3c2edfe425ea0050172e837ef1a1a62369c41909";
   sha512.doc = "b0b251fcf40185b017835a7a47e32736ce0d49c56be134bf93619dffedae4ecf44d36050e4515fa681c8c37707a933d8faece2943b4eddb58dab6ba3a2df113d";
   hasManpages = true;
   sha512.source = "febf928301eddf00aa84ede679712a3e58520368f7ecd488e9d696b82dc6ed5afc403d88b344071b4291391528a4552620c4882ba2d2e6ee518fc3a8733a2f41";
   hasRunfiles = true;
-  license = [ "gpl2" ];
+  license = [ "gpl2Only" ];
   version = "2.1";
 };
 pedigree-perl.binfiles = [
@@ -35243,6 +38223,7 @@ pedigree-perl.binfiles = [
 ];
 penlight = {
   revision = 67716;
+  shortdesc = "Penlight Lua libraries made available to LuaLaTeX users";
   stripPrefix = 0;
   sha512.run = "7765a7beaf9d2f99f383c6723fb7ddf3968f656a433bd519631b539e7c599e4ea26546585c1be6732a42e1632fc11b980ee9316de6cfb765332790f81d548aff";
   sha512.doc = "30307bc7774c3768227da33c31c6296e8d470f1f835f792248ed4ff40e261ea682fd967987396808fcd36e7e0a74c3da2bb947de7eab7af5783e3790857b081e";
@@ -35251,6 +38232,7 @@ penlight = {
 };
 penlightplus = {
   revision = 70319;
+  shortdesc = "Additions to the Penlight Lua libraries";
   stripPrefix = 0;
   sha512.run = "97de3ce726fc5469bf1230edba37728a332e91dae33a9498b4e32c474694866e95abfe9156dee1e4c4a7b4f9b07922741c87519ab892c01f037db04a92150238";
   sha512.doc = "e35a2d252d8377efd170d9b42ac233af921b34b2a9a91248ed7640d9b79809debaca54451251fe5cc1394df73f0ef476c72f614ae5aefba5db319d7f38aae7b9";
@@ -35259,6 +38241,7 @@ penlightplus = {
 };
 perception = {
   revision = 48861;
+  shortdesc = "BibTeX style for the journal Perception";
   stripPrefix = 0;
   sha512.run = "669bf4b618c4120d6cd7b574352c38d0fb3ab7bd949e26ea239f4ceb0fccbe102dcc6644ad2cee9eb79385f590918a12bb2c065f80b54e8343223056df448060";
   sha512.doc = "35428e19d9e2429691948331ef574168a3eb5dd3e09f4286c66003ced8c0a65da9853de4dd57a1920e2f2315b8543f9ec9e096bbd26123554455dd8c23b33f55";
@@ -35267,6 +38250,7 @@ perception = {
 };
 perfectcut = {
   revision = 67201;
+  shortdesc = "Nested delimiters that consistently grow regardless of the contents";
   stripPrefix = 0;
   sha512.run = "5c3963a08f1041e78f871084531187214f3735b15409cbdcb4491046feba1fbe44887b23f450d40eb3a697a49e0ecace584b96cb10a7f959e28afc642259b5e2";
   sha512.doc = "4a978f726c8b5a69006f293b8428978a1a6185df27f2d26a0be06309fc55ec3b8cd6117cbb4ee732f6c2d0ddcfe8ad66d86f7f838ee2e386931e41c0ab043e2c";
@@ -35276,6 +38260,7 @@ perfectcut = {
 };
 perltex = {
   revision = 52162;
+  shortdesc = "Define LaTeX macros in terms of Perl code";
   sha512.run = "af7cd6b065f2405a514d20cb386b34399742a42286002ab3e0f795b64dcb434ae97470ce9cbf25cb27a9b124ebe56844b47c7cf89e1f83a4bd35f1bfcc98163a";
   sha512.doc = "d39c93f4bf3da08266bb0f10b06582db2bf96bee73faafdb191af3770c7c24abde407774f21d3c97b1f2453a8a9bd24576acaf0606796d7439334b8b1e42ac7d";
   hasManpages = true;
@@ -35289,6 +38274,7 @@ perltex.binfiles = [
 ];
 permute = {
   revision = 15878;
+  shortdesc = "Support for symmetric groups";
   stripPrefix = 0;
   sha512.run = "2b1ea22ff45718a12f5a031a60a2780a43b324afb3a7c4b3bf2e1a9808f5eb789938f0e084214912a50dc1a8ebe76c58cc39dccd5a411ce001fafc8fa5c41ea4";
   sha512.doc = "f0f9f8d4e7e9b7cf5794529bd5febb0bd58f1ba0e95a72d688280ac3e6837cf39bdfb62ac29584fbf8cb37e1dafdcb971b9333a0306fa867fa4a1a256dd5a4e3";
@@ -35298,6 +38284,7 @@ permute = {
 };
 persian-bib = {
   revision = 37297;
+  shortdesc = "Persian translations of classic BibTeX styles";
   stripPrefix = 0;
   sha512.run = "e6650399eb5129dd0ad08c3ff93843da47287ce641a65826545b10a9213437da56467eabd8c37f1a7fc17086af968043586c53bdbc7485e9a4453b3f5b23bf83";
   sha512.doc = "a18f3652bfa8cccd8d574e475859bde8d41de04d3093f05222dfe5687460b8eb29a1e9bc258cb73cca69dad52f567572a654f46414a0d513ec27e462f4787f35";
@@ -35307,6 +38294,7 @@ persian-bib = {
 };
 petiteannonce = {
   revision = 25915;
+  shortdesc = "A class for small advertisements";
   stripPrefix = 0;
   sha512.run = "8ff32eaddcc84973851b93f0c1c1b250b596a080669ef60ea2c115098c4984d426e37240ae8781fa3b95ce494e9fecccdd259fd25b47402498028f2b8e5f9fe3";
   sha512.doc = "d171f31889fbf07b727c78a99bc91a2e6a8231faa25944a600ddb17ba32273ffa40a39a56e6e9b2c35ebfd0bb396ee699ebd9ab179577ab07e63feb8686d4af5";
@@ -35316,6 +38304,7 @@ petiteannonce = {
 };
 petri-nets = {
   revision = 39165;
+  shortdesc = "A set TeX/LaTeX packages for drawing Petri nets";
   sha512.run = "0807444f934acf16b052dc499a097a2a645d037622a71430cd82fcef85d11bc652341ce6396a27d717effd08bde8ba3224c5235351fa9146000c01abd522f644";
   sha512.doc = "cf03048e2bccded143fb493b100fd19103ab90f40713441c5380446702d6c57ac3820f2892a3dfdb80880952e09de78e69b309783767a3e157f76b81c9360535";
   hasRunfiles = true;
@@ -35326,6 +38315,7 @@ petri-nets.binfiles = [
 ];
 pfarrei = {
   revision = 68950;
+  shortdesc = "LaTeX support of pastors' and priests' work";
   sha512.run = "2022347ebca4dcb71e1dda7d8ac906733a664b98d14660e48b16e6592ae229641b8c7bd10602d89b3b01535d2851f9504e3329a9f82f4adb5a4c68dcd69c6ce6";
   sha512.doc = "4e5eb99b0e0409395954170339a744d18f8d0f8ee389ad1bacc684a037cc8b2b6121850a7674ec9b699596bcfa8e9e36521d13571bcad0db271cd1f9fa619488";
   sha512.source = "65d865d2e79ff7476a3629fd3ffaed09b3edc8fea9224fd7126cce0203bfa6f5ecb5caee6727bd6d01196666f138786ca409f3530a577efae4fccd405cbd845b";
@@ -35342,6 +38332,7 @@ pfarrei.binfiles = [
 ];
 pfdicons = {
   revision = 60089;
+  shortdesc = "Draw process flow diagrams in chemical engineering";
   stripPrefix = 0;
   sha512.run = "cd09de584483a1493648e9f842b743c43d7712b35f9d315ab34871a964b6ea7e8bcb0ff4b8d4399f5ce7d5ebadf41c94e8b88772b15155d4c21e17e4c62ecd2d";
   sha512.doc = "cb9f0ae2a1b7a3c8cbb12f859c9cd9d33e447652ceacec2642e45c7db7a96ec6cfb9bf63ac8f711c1661557308ebc3c6c04604412d09cf16d232e23c805e395c";
@@ -35351,6 +38342,7 @@ pfdicons = {
 };
 pgf = {
   revision = 65553;
+  shortdesc = "Create PostScript and PDF graphics in TeX";
   stripPrefix = 0;
   deps = [
     "atveryend"
@@ -35363,11 +38355,12 @@ pgf = {
   sha512.run = "d7fbf0dc83f88a2f6d2de3117365d3f4ac2379ecbc530e343bc3e02ac8083e9a9843d479d375d086e39b6377b21d2fcba22883485e040fab1601642ba80128b9";
   sha512.doc = "e3be45f63b46124218592ffb8083998b9d25e81dbba7ec8ee58d578335247b05ecc46c145f5de8b859c72dd54cafac58ee784f9aa33888fc129817c66a819568";
   hasRunfiles = true;
-  license = [ "lppl13c" "gpl2" "fdl13Only" ];
+  license = [ "lppl13c" "gpl2Only" "fdl13Only" ];
   version = "3.1.10";
 };
 pgf-blur = {
   revision = 54512;
+  shortdesc = "PGF/TikZ package for \"blurred\" shadows";
   stripPrefix = 0;
   sha512.run = "95093365a79d7f8a2df134decbac172a080711bcf8e8f77267ea4520ccc9aa398f5fbedaaa5500fa189b3873d8897350dc2c99f142b6bed1a6e7705293a3b8b7";
   sha512.doc = "d313e5ed1a0b5637996d6bd1827b909a771fcb44490312c502acd89412966d7662b1482fb8f3347b8d658b336051773c3d10e70df9c1f22e810802936eee816f";
@@ -35378,6 +38371,7 @@ pgf-blur = {
 };
 pgf-interference = {
   revision = 61562;
+  shortdesc = "Drawing interference patterns with PGF/TikZ";
   stripPrefix = 0;
   sha512.run = "569dc2b0f5b11d93aa447d54649df07c3df375dcdaab509229d0304bb25523bc45062916089b15776b727a9c05205688a161bc79cfb4abbc466a243b2c8c57a4";
   sha512.doc = "106f86c28759b0c105a6f57df9c8df416190f781b73f1bbb7398fde6e88192fca5aa3e198e7235dfc23c2fc3bb41a5cd0cfa060f9dbac4faab30bf04c484e9f6";
@@ -35387,6 +38381,7 @@ pgf-interference = {
 };
 pgf-periodictable = {
   revision = 69924;
+  shortdesc = "Create custom periodic tables of elements";
   stripPrefix = 0;
   sha512.run = "c640e847afc370fb47c39d44712c7fdce6078d39b4cbca9630708fa4374b8a9793100763a5a2734fc3a925d1b0dbfab28aab868f49750dfdabd4df69f0553af9";
   sha512.doc = "a148aa9df7e95c48f6eeb5a85323f68539ffbaa7deed7b3188b75c5827814d2b26e20c61995334e77a868831d5bb9b7881e8cb993967293f79bb327c387298af";
@@ -35396,6 +38391,7 @@ pgf-periodictable = {
 };
 pgf-pie = {
   revision = 63603;
+  shortdesc = "Draw pie charts, using PGF";
   stripPrefix = 0;
   deps = [
     "carlisle"
@@ -35405,11 +38401,12 @@ pgf-pie = {
   sha512.run = "3e5cdb5def0918ab1c3d38d35bb85f07711144d1fcaf0f3af8b2c5e0eacd9af6c3b92bc6e1f45438e40d7f5838770b91ab513970cdd9a3f7dad2918eefb875f6";
   sha512.doc = "ac151cb61ea4fc440ffeeea9b987f6dd648b53596934900f41437f787bedcabe2ca8dd53c37828aab816e9334d0d26573f81000333e50d0761d70c586a5d87e3";
   hasRunfiles = true;
-  license = [ "gpl2" "lppl13c" ];
+  license = [ "gpl2Only" "lppl13c" ];
   version = "0.7";
 };
 pgf-soroban = {
   revision = 32269;
+  shortdesc = "Create images of the soroban using TikZ/PGF";
   stripPrefix = 0;
   sha512.run = "e0f85a77e9d81bf01f5516c3b3baa52a9b7f1b0faaa6f0aab1cae2182732eaf04ea2edb6b0f9091272849f1d7ccb3797cb2641090b926db7f3d0483d08569845";
   sha512.doc = "3f4c021cfb99a27778c250f9ac13e2abe48127731b54d0fca9e8e588f44ebf797e034a56d3ca19bc847bca173dfb03ef9a70e0fee71649188a8427d6eabceb80";
@@ -35419,6 +38416,7 @@ pgf-soroban = {
 };
 pgf-spectra = {
   revision = 66961;
+  shortdesc = "Draw continuous or discrete spectra using PGF/TikZ";
   stripPrefix = 0;
   sha512.run = "723fcfd1b6827cf224fbbba91bbe4b65e8ea6b09cfc5eae2645144d2f64bdc0004f4f6184f2a310f7208650870041f12c4eb73e4d34c88fee5513d041ba88586";
   sha512.doc = "81e418c2539e9df982025478d552b947dc040a5fb3ac8250636e874e77c97c83d215df6b2e9208f660b8a928eb1dd0e059fae357aef1b71b6e959a37affac2d6";
@@ -35428,6 +38426,7 @@ pgf-spectra = {
 };
 pgf-umlcd = {
   revision = 63386;
+  shortdesc = "Some LaTeX macros for UML Class Diagrams";
   stripPrefix = 0;
   deps = [
     "latex"
@@ -35436,11 +38435,12 @@ pgf-umlcd = {
   sha512.run = "a55281a157a2a347f1c9d82679cd663f4493e03123d14dbef0d71582613772252b693a25b3d3e5b72b948c4fd12d0d7b0354d2e38083583b550d7cfb5e634d93";
   sha512.doc = "6d798d93590d859d69bda9f0bd391049db91e2d4fb6f0b019a6f76eeaae9e73c9f249ec356cf5a5d4505af6948d4c70c2ad4685c1c41a7ba40ec62d3d8a9dd00";
   hasRunfiles = true;
-  license = [ "gpl2" "lppl13c" ];
+  license = [ "gpl2Only" "lppl13c" ];
   version = "0.3";
 };
 pgf-umlsd = {
   revision = 55342;
+  shortdesc = "Draw UML Sequence Diagrams";
   stripPrefix = 0;
   deps = [
     "latex"
@@ -35454,6 +38454,7 @@ pgf-umlsd = {
 };
 pgfgantt = {
   revision = 52662;
+  shortdesc = "Draw Gantt charts with TikZ";
   stripPrefix = 0;
   deps = [
     "pgf"
@@ -35467,6 +38468,7 @@ pgfgantt = {
 };
 pgfkeysearch = {
   revision = 69385;
+  shortdesc = "This package offers a way to find keys in a given path 'recursively', unlike pgfkeysvalueof";
   stripPrefix = 0;
   sha512.run = "c90dd895a9c4d3ba737f6dca0a618af781ef712f7254f80c4f6bf222db80c8e7f010e9e2b2a0fd4a125154586d1b1532881f1e29dacc677c416dc8b5857acd51";
   sha512.doc = "8ba4bc32f3a0393ec32e387110a725d10ec67793867ff7efbe8bc6047a6fe7c2e19970f091f96e2cc4d756809301864c48ce550f46240e22aaed885d7ebb57d1";
@@ -35476,6 +38478,7 @@ pgfkeysearch = {
 };
 pgfkeyx = {
   revision = 26093;
+  shortdesc = "Extended and more robust version of pgfkeys";
   stripPrefix = 0;
   sha512.run = "c2adb44ef34930aef1d78aed2025a2dc17c69ed641b59af29bcb93c9c9532785090f30834d52c415116ab4a9477d83e5a46d1509e6bd41f47fd4e37cc8ff2933";
   sha512.doc = "2a596ee81d2af4992dc23d6f28f788ef1d3e9a528992f01b7113de726898ae3007b685c4c447d2fcad640403d1bdd8a0eb07299ac9ea81f41c4158eb21b8e9e2";
@@ -35485,6 +38488,7 @@ pgfkeyx = {
 };
 pgfmath-xfp = {
   revision = 59268;
+  shortdesc = "Define pgfmath functions using xfp";
   stripPrefix = 0;
   sha512.run = "c82fdb2b540dc37393610199581416b4256d9cf382da4238625b9ae29f6d7ea6150925c6837ae1f4b55fa10239f8563fb8abd042d5533080de7283246ee69ed5";
   sha512.doc = "f48114bf89d4d5aeca399c44bf6a6fb26567d7692de319e7d457d3b753df8e302871e9901d98bf8697680125fb8fad56ac8675dd339bc420b439aaa4cc93dbb0";
@@ -35495,6 +38499,7 @@ pgfmath-xfp = {
 };
 pgfmolbio = {
   revision = 35152;
+  shortdesc = "Draw graphs typically found in molecular biology texts";
   stripPrefix = 0;
   sha512.run = "bdbd89379ed7310b78a3847c43022f6cd65f5fccfabfc4723551f5ef4f4cad3e3dcf596ff65cb4c5ba4a354f9bd59fa4aa39147782a0ed369a7dfcb68ef7f9cc";
   sha512.doc = "a9dbe657b4037477adcf3ead4ad4ca5b703ee8c53739da9de0bed8e02c8e14961a963e9a4a5a86b3f53348da9eab5cdbada1b5ddd073bc18c82177abc92023f2";
@@ -35505,6 +38510,7 @@ pgfmolbio = {
 };
 pgfmorepages = {
   revision = 54770;
+  shortdesc = "Assemble multiple logical pages onto a physical page";
   stripPrefix = 0;
   sha512.run = "9a4fd2f42276cb72cd39dfe3cb5b6c43855e1d7f01f47c53b23c8aae7bee98c89e8a8f784a917c0c4ebc35f9dcaec18b8d4f6bbeb05ec5a80647ff7ca23c02ab";
   sha512.doc = "3bef05b263791c9b1e92868ae22966f5638a900d44ed9ab9de5beeb0dd25c7e8745d09da4cd3c2c7a9e9e5c710126cb7bbcb67579e770c43e6c7e057dcfdd1b5";
@@ -35514,6 +38520,7 @@ pgfmorepages = {
 };
 pgfopts = {
   revision = 56615;
+  shortdesc = "LaTeX package options with pgfkeys";
   stripPrefix = 0;
   deps = [
     "pgf"
@@ -35527,6 +38534,7 @@ pgfopts = {
 };
 pgfornament = {
   revision = 55326;
+  shortdesc = "Drawing of Vectorian ornaments with PGF/TikZ";
   stripPrefix = 0;
   sha512.run = "3d5742197af0b6bc11a14ce5b2198aa7a580655f29757f825c24b4081dbd318d45d4dfca065fc04f0d5f47d92fca166a185c878c8d7a506e4ae7547def41592b";
   sha512.doc = "b35295915c86e4ee5c2fb9b1ec2d545c8d4fc1cf5e65f3e6247e4de1e77e2f789f7842cf234546d6e658a73b4837cd50f8216cd9425f588cfe4a12c76bd134d1";
@@ -35536,6 +38544,7 @@ pgfornament = {
 };
 pgfornament-han = {
   revision = 68704;
+  shortdesc = "pgfornament library for Chinese traditional motifs and patterns";
   stripPrefix = 0;
   sha512.run = "7337b577e10f2a6306badaa45ca57614ac0da6b3c12ca5c9c3978f1358fa88a352cd092452ef3b6e86d01ccd05f1cfae663f914956b74d184c08a21d2e484e01";
   sha512.doc = "7b9138088db1581571508ccb550b1b128ce0b574dcb2a903f5311b9a6e63e9d9c6e56eca0e46ffb5224f5685c5b047a57e5e7d292e7d6de6a9bfb06ee568d9b6";
@@ -35544,6 +38553,7 @@ pgfornament-han = {
 };
 pgfplots = {
   revision = 61719;
+  shortdesc = "Create normal/logarithmic plots in two and three dimensions";
   stripPrefix = 0;
   deps = [
     "pgf"
@@ -35557,6 +38567,7 @@ pgfplots = {
 };
 phaistos = {
   revision = 18651;
+  shortdesc = "Disk of Phaistos font";
   stripPrefix = 0;
   fontMaps = [
     "Map phaistos.map"
@@ -35570,6 +38581,7 @@ phaistos = {
 };
 phfcc = {
   revision = 60731;
+  shortdesc = "Convenient inline commenting in collaborative documents";
   stripPrefix = 0;
   sha512.run = "1d1f6387db333cee296545663bc4e2026fecd0f381cf4e45b42c8b297a4ae9bccfaa8e9791f92cf59bccc428b3f63b944d9173660c3606f1f49ef1878caf2181";
   sha512.doc = "ac10825535fbf1e5173d5d209c26d665a128473c3100e349a63ccd921534c9645ce3c7b7391aac56de70f23657db8e1496f6afc0b2d112a45f3ae84d87220498";
@@ -35580,6 +38592,7 @@ phfcc = {
 };
 phfextendedabstract = {
   revision = 60732;
+  shortdesc = "Typeset extended abstracts for conferences, such as often encountered in quantum information theory";
   stripPrefix = 0;
   sha512.run = "0e1f0f232c7216d654a41ab750477a5a6efd1a2dcb15b2114eefe1ffcb582bd0512bc8592111904c550badef12a3927c5ee2af58548dab5015901165b35a8bd1";
   sha512.doc = "aad67fc68996c032bca758b44eb65288f2245f780e9e4200888fb027b4638963e2f3b9c771a5ec78f8c65fd0c86c8b55b16d8cdad44fdcf9cc6622a766175e00";
@@ -35590,6 +38603,7 @@ phfextendedabstract = {
 };
 phffullpagefigure = {
   revision = 41857;
+  shortdesc = "Figures which fill up a whole page";
   stripPrefix = 0;
   sha512.run = "4d443d5ce4dfd4805eaea4ecfe11bc94b9e92bc4d68f8fdd001a72ef09f519f11e20517d01722f5c7f79eeb9b92d0a6099d620e5c54dc0845b7ed5cc762c260d";
   sha512.doc = "837b57707c0d37d20b02ed83ca32768c4b2718958ba3124650604f4de0bb11528c2d5fed95f942545db400eca0517ef59fb168408ea9960f0a894a777e9f2681";
@@ -35600,6 +38614,7 @@ phffullpagefigure = {
 };
 phfnote = {
   revision = 60733;
+  shortdesc = "Basic formatting for short documents";
   stripPrefix = 0;
   sha512.run = "ddaea70a5bb3aecdf634b44dcf5f006db479a4d47e44e96f92bd390c2c0e166b741ea31a0f22ac39770ff0c92590a261c18fe5096bf97997743684a95a82da2b";
   sha512.doc = "2dc4e7d3615d8f185bf1bcfeb5a90d51f362538691444355ad6820f8bdcfcd68f1dcc69486c0b630d1141db1b4bc10bd17abcfb93cf37b778266090f29ec946d";
@@ -35610,6 +38625,7 @@ phfnote = {
 };
 phfparen = {
   revision = 41859;
+  shortdesc = "Parenthetic math expressions made simpler and less redundant";
   stripPrefix = 0;
   sha512.run = "c184623f226f9bc9926eef0b5e23443bec20e66c6641196bc90daf27a648d9f0db70ad176488fe061d44746b6cf46a3217eeb42f6a95f2e37c20d641ba2838c6";
   sha512.doc = "5c34575950ee1a9616408f293319eb0634795e07173677cae112466a298dbfa5cc18fbead8e92e459718df91326d27cc7baf0414a1f1e8613a5c115c070b5016";
@@ -35620,6 +38636,7 @@ phfparen = {
 };
 phfqit = {
   revision = 60734;
+  shortdesc = "Macros for typesetting Quantum Information Theory";
   stripPrefix = 0;
   sha512.run = "604093594d05e5f331d27bf5b0d6c40b631934a2872841f2534f69279542a6bd26ad758712b9b24c5490c4e9396ac147f46a9d0790cd29f56c0d2b13d876bd56";
   sha512.doc = "738e5f61c0318f331ea2a7f1e0d5d019969636917fcc18ca19a72ed42b1207f4025c58ea886c4758b64c61cb33faf8ae5b4d5f2f7a55a9ce9758b9fec00508ac";
@@ -35630,6 +38647,7 @@ phfqit = {
 };
 phfquotetext = {
   revision = 41869;
+  shortdesc = "Quote verbatim text without white space formatting";
   stripPrefix = 0;
   sha512.run = "809820fd3108cb5b33c5f3129fb3ae8251476161aca5936b966219a49a29204107375a33e6bfc452d2aef8b0cefb30f8ab0e53984f39d5c3228ded25ca19c37e";
   sha512.doc = "501d652782670318fdb45368e01dbf76de7cb46f0f1584bc7dbf1242a71a42e7bc870c5cbf7dcb33d41463c550a0803226860a0aa64e75952f717436e8f6501a";
@@ -35640,6 +38658,7 @@ phfquotetext = {
 };
 phfsvnwatermark = {
   revision = 41870;
+  shortdesc = "Watermarks with version control information from SVN";
   stripPrefix = 0;
   sha512.run = "38dae3ef3fe183bf5149b91050afd5bc9c934d01332b021ce87e9ea412008bc22d42d25a389e82b02ccc4cc4820a10d821c228c02c4f08fdca89ebde69c6e2d0";
   sha512.doc = "7f35bcb41618c7e14e7e9f8fb289231a8032f7f1cd2e6333982a346c5f8dd24e5733f70c03ddd183d170361b2b3af4115f6fa9b788c4dd2a020020ba525aff18";
@@ -35650,6 +38669,7 @@ phfsvnwatermark = {
 };
 phfthm = {
   revision = 60735;
+  shortdesc = "Goodies for theorems and proofs";
   stripPrefix = 0;
   sha512.run = "2a608898b9038cc46e4720423a42f403abcd105700e20e90274ca6e01ed3c4428a443466d0e32b0cf0da9735c0b7ea74b82e90a3d0b72583d38fa5a14094f806";
   sha512.doc = "bb0c2da2d17b0c3c3550569428fbdb5532d1fe79b325289d71f35659d749fb952bacfa6140210ebbbdc661dc445ae8add1be6cc79b77bf6346fadc70553bf189";
@@ -35660,6 +38680,7 @@ phfthm = {
 };
 philex = {
   revision = 36396;
+  shortdesc = "Cross references for named and numbered environments";
   stripPrefix = 0;
   sha512.run = "0b6ce5d281836926d6807dda7a8a4eace43a25160b8bdfaaded7ef9838f933db7a7bd4859019555002b662ca01800e64c4f6228427b4f40c9a79e71759aca6e0";
   sha512.doc = "ec8eafe3e1b5e7cdeeb2554c3e34036c808f33b4f4bd2e5fb8b2e10e4366f51db02b2bf3dd52e46c92d600cc092f30c4db6cb6f69cc66cafde5c11a53a883839";
@@ -35669,6 +38690,7 @@ philex = {
 };
 philokalia = {
   revision = 45356;
+  shortdesc = "A font to typeset the Philokalia Books";
   stripPrefix = 0;
   sha512.run = "6a7b76995074ec233d4922de96f727ed031b21abbaf1a423bded6bcd964e8e503d7d3d84d8d4eb1ca42ebd99e1af50a244238f668db245ff4810176abefb0976";
   sha512.doc = "8cefb15592711d19d3fbe5fbbe6efb219ce081dac6d8bfb12ebc57ac807a30aefbaa37f371e70b7141876333ef408ae5fde177add749faf2302b2d7f60a1bf00";
@@ -35679,6 +38701,7 @@ philokalia = {
 };
 philosophersimprint = {
   revision = 56954;
+  shortdesc = "Typesetting articles for \"Philosophers' Imprint\"";
   stripPrefix = 0;
   sha512.run = "8b4a1b9bebf971b0963fd20c01807d5d541a978b88a1b07bdb950c1e39fcb20b8750cc0c78bb97d663c00bac2a714fa95f0a088a1c84f371261d236c941cec4a";
   sha512.doc = "9c6d1f01b2e815c4c33c4e95be40d1a7819568bbf22edacc202c3346ac4f7373ce4b6e8316ed194a32551f07296628d1d8f971ea856ddc33c1d964efd6388d4f";
@@ -35689,6 +38712,7 @@ philosophersimprint = {
 };
 phonenumbers = {
   revision = 63774;
+  shortdesc = "Typesetting telephone numbers with LaTeX";
   stripPrefix = 0;
   sha512.run = "328a221086c26804d8655bd38f4a302b9d76b25e1a6238395f342bba8d1f6206b1d64a7a2fe4de41940015701e8fb8bcf33a0ed5d7298b8c7642429d93a85f8f";
   sha512.doc = "ec94445c39683298feaf57ac7d074147fa094aeb3fad983b85fd922ec8baf533160a865997c246a62677ba79bf85ce8f385ede4bae159667ecae6eec2cf84824";
@@ -35698,6 +38722,7 @@ phonenumbers = {
 };
 phonetic = {
   revision = 56468;
+  shortdesc = "Metafont Phonetic fonts, based on Computer Modern";
   stripPrefix = 0;
   sha512.run = "655dda5113926fe28ee0695d8d87a18c1ae63599a2d476f7d9b3e3a28bde475cfe33fd06aa70d709fc05a2d43026e91348bc0c5435f4a9132859b7afcdf41a7f";
   sha512.doc = "626ca0614b723fc3e4b75ca977c7a12e77908ca710ec52994e62e9e89e2064f973ab2bda3182a3b466eb2df2bdf030e0e6432cbf9f984bd7316b483f9c310b47";
@@ -35706,6 +38731,7 @@ phonetic = {
 };
 phonrule = {
   revision = 43963;
+  shortdesc = "Typeset linear phonological rules";
   stripPrefix = 0;
   sha512.run = "0465e183077f7daa57d2bbc5f1a76afa72770718d2dc969ebc3078b213738f5ae3919f3ebbee04ae54ff7b8ad6e35630fb22293b5cdac31ee5bf31680433ad15";
   sha512.doc = "80ea19243537e769c49a3411e036c5811b19586fda3878894126a151af4ddff46a554db7bc07f488f692fe9efd0934149c8c94cde75b92c880bfcc28218ae5a1";
@@ -35715,6 +38741,7 @@ phonrule = {
 };
 photo = {
   revision = 18739;
+  shortdesc = "A float environment for photographs";
   stripPrefix = 0;
   sha512.run = "11727df46b85be20802588a6c5743a9ae70a89ea73b5f16b8a4a3d3f1d3a9ab3194f56f0ef9d79947b14fe3f6b3e05cbd291dad8346cdb128b4d1c8c22d50bf5";
   sha512.doc = "037466dff8edee9f6218b1fddfe579b2f82491746e22886ea5f8496b5f564084d81e35ed549ddfc42855c850913cf8c587806d71b7a531ec3ea3056962c54e48";
@@ -35724,6 +38751,7 @@ photo = {
 };
 photobook = {
   revision = 68313;
+  shortdesc = "A document class for typesetting photo books";
   stripPrefix = 0;
   deps = [
     "adjustbox"
@@ -35762,6 +38790,7 @@ photobook = {
 };
 physconst = {
   revision = 58727;
+  shortdesc = "Macros for commonly used physical constants";
   stripPrefix = 0;
   sha512.run = "3655aa79c067d01831e6f30d85f13ba7b06742d4731f2f2bbea8066205256fd4f6a5d3290812e667bde8805b9bcad82c4713d49e3eb357cde56a1f50ad065877";
   sha512.doc = "1824589dccba975de608260ab460a8a6be0d8aecb099571fb9e088e0ecd53f2f6e854a3f21eebacafd06717bfd53290ce23fbdc85467798c8f9b1189d64a58e9";
@@ -35772,6 +38801,7 @@ physconst = {
 };
 physics = {
   revision = 28590;
+  shortdesc = "Macros supporting the Mathematics of Physics";
   stripPrefix = 0;
   sha512.run = "e394a7f8eda4583cf196dccbd9d52122d0ee630a411630f11d432018c5e9696a9b3feacfa2f881d82090df165a73ee0fa610ad86422123a9e1502ccf4b695be0";
   sha512.doc = "40a85407502116954024d51361dcbfdf36cac07aae382ada1f96d413f9b838ea5a11d7014722b5641a75b6c9bb8a5c6c134c8c0d424788f47f45fc80b277b3ca";
@@ -35781,6 +38811,7 @@ physics = {
 };
 physics2 = {
   revision = 69369;
+  shortdesc = "Macros for typesetting maths faster and more simply";
   stripPrefix = 0;
   sha512.run = "1a598dac27ac5e1fa163493c307e48ff2e8c31d9c1c51a676a1b05bfde7af2a558fce4bf410a2c70837d128121331d6aaa393c6e7a84d8b98f9e271184e78a50";
   sha512.doc = "0627e9882b0ff31f2d6db46a9437c536c29aff39a1a1929784fe4bb16dde1a18aad351819d36a7578bc71664a4313c918623a87cbfaa36738b19ee9a9f4769c0";
@@ -35791,6 +38822,7 @@ physics2 = {
 };
 physunits = {
   revision = 58728;
+  shortdesc = "Macros for commonly used physical units";
   stripPrefix = 0;
   sha512.run = "96f700e6dd103f768383a78645cb32e363b83c459a0c764a77d127bbf2aa7c143105752ef9910a2d9d6e659547931b01a2bb0683b41d8870c0fd850d7e01de3f";
   sha512.doc = "e0a3fe337242d4da26153258f16dd8f71c2a704ed89fea8dc0f58b1fca7ecbf9fb168bc05adee988aca61883bf94272ec2f1ed841d99e47f0992b04f6c5bc371";
@@ -35801,6 +38833,7 @@ physunits = {
 };
 piano = {
   revision = 21574;
+  shortdesc = "Typeset a basic 2-octave piano diagram";
   stripPrefix = 0;
   sha512.run = "49c3b29f48211ac6ca04ef8f9df74cd3f4673a84e9d84c2a9b06bbc958abd640116673abd751be40adb470907bcf65a42756c22996f0adc4e2c0dbf3d6afeca4";
   sha512.doc = "50609a17b51de85d5f9df4da91c0c1c421a86ff222d08268fd0145e248eea740c68445724fee425a2adbdab85e0cf5b4a9bb4ee5cf3bfcb4a3d5cf4f1868df47";
@@ -35810,6 +38843,7 @@ piano = {
 };
 picinpar = {
   revision = 65097;
+  shortdesc = "Insert pictures into paragraphs";
   stripPrefix = 0;
   sha512.run = "114b1e715384513f87f2a6772a6176ade44ac7053a8eb19410fb92862e721865dcc9350f08d77874296ae6402eb8d8da4b4b26ff4a96d035666814a3d3e21682";
   sha512.doc = "3b972c49a8c2ba7de3e21c065faef96125b2b275b25f7e8a35c72e28f27156414a558e290ed4b84d6ba49921a0c858867a0a7cfd5db87a501b3ac1a0ee6594a9";
@@ -35819,6 +38853,7 @@ picinpar = {
 };
 pict2e = {
   revision = 56504;
+  shortdesc = "New implementation of picture commands";
   stripPrefix = 0;
   sha512.run = "04c4fc0ea9647c0a434be2ba709f539392685233adc92da262fee4d081b6d31bfe88d8c537c19a102bc7200e2adffac4f7a4cbb3a7a47ca47c26e93e96772e6e";
   sha512.doc = "90fe6e6d6fce7d2a679bb511e2b0bbca2edc42f332886962aa227536558083897e1e3425b6c7efadaee6aa46d1e404ab5d4c18e21db52e723be8d4f0566eb5c5";
@@ -35829,6 +38864,7 @@ pict2e = {
 };
 pictex = {
   revision = 59551;
+  shortdesc = "Picture drawing macros for TeX and LaTeX";
   stripPrefix = 0;
   sha512.run = "cca6216568bead5120ef39eb2743897ad97d285b55e7d9b0723b3f6c7fa94ab17cb8cecb946845aefc57eae3c69305de6d839feb9df8212be83d2c7f242c2fd4";
   sha512.doc = "e5bdad8dfdeaf3e3427d37b35641f37c8bb8005aea3773a914967a10b2583e1721fe0afeea0b8cb7f230edfa7b7d33c2d6fe023c229de4a27d6c979f6830088a";
@@ -35838,6 +38874,7 @@ pictex = {
 };
 pictex2 = {
   revision = 15878;
+  shortdesc = "Adds relative coordinates and improves the \plot command";
   stripPrefix = 0;
   sha512.run = "26b608cc8409c62f4c0130cc032f2ca5929886fafb9d22d93aa23af5a6dee62bbde83926bccbcb4fbd3d86a43810d751eb43a2a94be9528e1639c59fb61e5446";
   hasRunfiles = true;
@@ -35845,6 +38882,7 @@ pictex2 = {
 };
 pictexsum = {
   revision = 24965;
+  shortdesc = "A summary of PicTeX commands";
   stripPrefix = 0;
   sha512.run = "a24861e4b6184084fffa783918db485e5c7cacf7a6528681e7d8d4212287f1f6687604bd4f347e9e34ab7d29867dec2b30c9871a13b9bedae31b5dbb82ba1ed2";
   sha512.doc = "148b7c29cb8189174442b95cd39b0d5fdf9f937a7a44a17314b93cce555cf3db459e21ae2c4eb9098c15551bd7aada2804855d68f9408fdbe974f6c12dd724a2";
@@ -35852,6 +38890,7 @@ pictexsum = {
 };
 pictochrono = {
   revision = 69865;
+  shortdesc = "Insert \"chronometer pictograms\" with a duration";
   stripPrefix = 0;
   sha512.run = "3c6d73efad12ff4b3c10c1a09e36fb489a75998e556f6042db8f11dfd157cbb27a488eaa1f12f7c72de5d2ea5deff14cb8d2659b1d4618dd91e5bee84f72eb82";
   sha512.doc = "fe015528ac5b4c2f2f7f955d23372c1a3066e0569e50a9e38699e44c305d588727f0570c265c79aec82f8f8c02f6b671183426c3a58f6f1f339ca40415967b24";
@@ -35861,6 +38900,7 @@ pictochrono = {
 };
 picture = {
   revision = 54867;
+  shortdesc = "Dimens for picture macros";
   stripPrefix = 0;
   sha512.run = "9dbb4e17b455a6a18bae6309864412b975d07a1a11e908e1023ab8e990ded0956ccf3826e72d9878f3597eaa4d185c8b147d2c7d2149618bdb0b09fce8e20e90";
   sha512.doc = "ce60fbc915b3c07db6ebf4bccbd0e2e8ed6f38fe0c07075af2c433b2bd7f82cd191c314ef3ae1fe9b4a02c2c27d75e97a5831c45b833a33373d545a977a162d8";
@@ -35871,6 +38911,7 @@ picture = {
 };
 piechartmp = {
   revision = 19440;
+  shortdesc = "Draw pie-charts using MetaPost";
   stripPrefix = 0;
   sha512.run = "e4ef7bdc43280c4311a6e8abf2719815196fb0ed0a8450501061e0b3b0bb44cd60947d6d623ff753c5ad1384d98219df695865e6459eef02b2b96f00906d023a";
   sha512.doc = "f74c3c34d37eabc3b5e857a90e8da2c6ffaa3b4a6974c6b1127f898fb727ff18f0f399e9c4ccde8d4d198bece0ea83fbbac37a1ba1d381576166b5a2742113c5";
@@ -35880,6 +38921,7 @@ piechartmp = {
 };
 piff = {
   revision = 21894;
+  shortdesc = "Macro tools by Mike Piff";
   stripPrefix = 0;
   sha512.run = "79b804dfdbb12b8d2e854341062f2a149f9b0e061385a30650c39b877cce72d1af4ad1644d73fb3ca733a171aa61d1b533295818dc10a92eacbce2ca60722de7";
   sha512.doc = "ef9d14cf4a38315e4d523082db9baf8d0f89e5963001d12ba7ffe260ca2255a6aa99dc38392a6ceb0fe24e6abb8c77b9343f29300ff5c814c01adfff3321923c";
@@ -35888,6 +38930,7 @@ piff = {
 };
 pigpen = {
   revision = 69687;
+  shortdesc = "A font for the pigpen (or masonic) cipher";
   stripPrefix = 0;
   fontMaps = [
     "MixedMap pigpen.map"
@@ -35900,6 +38943,7 @@ pigpen = {
 };
 pinlabel = {
   revision = 24769;
+  shortdesc = "A TeX labelling package";
   stripPrefix = 0;
   sha512.run = "56ed76be6c634b3c1fd3f83e12304d0d0e078e027754ac7619d680d2072ac7b67c527a4d23dda8feb6496e3808b3414bec65a48d4750d44405fa4574f122880c";
   sha512.doc = "c56fad48b7cad065196cecdb64e501555d2a8f3ca098f001123215f8e21968cdec2da28f2a68f7e07ee9b1c2d961a82590aa136b15bdc87e9176462cd706b0a2";
@@ -35909,6 +38953,7 @@ pinlabel = {
 };
 pinoutikz = {
   revision = 55966;
+  shortdesc = "Draw chip pinouts with TikZ";
   stripPrefix = 0;
   sha512.run = "88ecb08a15725e4afbd296cc7eba16583cbe260989784e625eecf008441ac54ea53cba81801d77ab8439bc076c32d6c09d62305ef589d739ec1ed59e1f907755";
   sha512.doc = "9fb1acfa981b7d38b312d089be9b9d5dad22334960133377b06910cb0df39c8e556ca86d5f9b959b27ef4c7fc2211b97507b138f026df58d439fe3ae9fd3f420";
@@ -35918,6 +38963,7 @@ pinoutikz = {
 };
 pitex = {
   revision = 24731;
+  shortdesc = "Documentation macros";
   stripPrefix = 0;
   sha512.run = "dcc4280ef914ba66210ce471dc276042070b3246bc95ecb93b3d8af55393f49921a1d5e6851223299831344503dfc77fc2893f4cf1b78351dad40058979c20aa";
   sha512.doc = "c3765f6acd4a147ffd2c216b1cda58e5e6ac8dc1202b444fe80d0dd69449b01df3eb17069842ef745e76e88371bf71c178d06c5ad2bc85e3427726bb30b74002";
@@ -35926,6 +38972,7 @@ pitex = {
 };
 piton = {
   revision = 70446;
+  shortdesc = "Typeset Python listings with LPEG";
   stripPrefix = 0;
   sha512.run = "c6bf65efaa6dbab5d75aa789df37c823a8b2bcaf28a42e476ee5cc7d36c5a3e830407bde7ac7c365e4dc31fb14b873e2e25aa94f7867fd73c6f8e16d25610f08";
   sha512.doc = "3b5d8305bc3fbab8e3805a9d7f9a5c76c6ea1d6cf45ce31a121c2071fb0de71d275acae3e2225e85aa78c3d24dda559b52842072e917d07788c25b08dedf9066";
@@ -35936,6 +38983,7 @@ piton = {
 };
 pittetd = {
   revision = 15878;
+  shortdesc = "Electronic Theses and Dissertations at Pitt";
   stripPrefix = 0;
   sha512.run = "5bd78a90b4c7b9cfa8fbfad66e0de79d09762e06d3bb35a7aaa13ef8ba73aacaceafd8d5b5468de8fb59c6f4c76d364af145e101543c7ef2089dc9fe00e5e9db";
   sha512.doc = "e72d325fbfd3159699621fd703fd539259d1b13ae69d00e771291e156e3ce6cc15a0d7e4d2e74a3ad3492c39c67adfdca5491b68dd6e8ac78ac1213400f091fe";
@@ -35946,6 +38994,7 @@ pittetd = {
 };
 pixelart = {
   revision = 66012;
+  shortdesc = "Draw pixel-art pictures";
   stripPrefix = 0;
   sha512.run = "0643246fbed81ac008f675b9cff8d3194f8eed02937816c41887ad84268850cab50e5c6a7c8df5148f04cbb43c6ab80d5fa4d960d541b42f505f95f554fa0602";
   sha512.doc = "2823d82ac741954d19afcdf74a1b2071591a904183877ee54e8eb9a4dc2d63716f05bd1886691e87d36010fffb929e9d31aee05ec707a929a5fc74c01ed6077d";
@@ -35955,6 +39004,7 @@ pixelart = {
 };
 pixelarttikz = {
   revision = 68520;
+  shortdesc = "Work with PixelArts, with TikZ";
   stripPrefix = 0;
   sha512.run = "c3aff99cc3027fc32f191f6a3329b397d23a11267e9fb89cec0bc5ceac875144375b3b16cdab42b471f16153cb75b21cb25cf38a74eb22c9ec0990f062245827";
   sha512.doc = "e06e2dd718c81822b0701390d8df193ce68d491138e75e929ea0c75881466b4e190cc52cbb58d69e2f3619b1f2ee4ce8489ceff9a35170256d02057cab6b9483";
@@ -35964,6 +39014,7 @@ pixelarttikz = {
 };
 pkfix = {
   revision = 26032;
+  shortdesc = "Replace pk fonts in PostScript with Type 1 fonts";
   sha512.run = "b4d374e5b771e131075ec59ef6713c6433cc3cefb6331a933e791c3774a9d54d6c8427d70a4aadb2c6326c3733abdb562ca103f0b6a9dbcafd87856d20b18a24";
   sha512.doc = "c6819c63aa4cf7df5879a796e08299f2fa132e1244648d17a7fb0b3c28204b0641e56fe4661887c257ca4f5998786c31b1cae2aa64e3163340f08d02fda4c8d4";
   hasRunfiles = true;
@@ -35972,6 +39023,7 @@ pkfix = {
 };
 pkfix-helper = {
   revision = 56061;
+  shortdesc = "Make PostScript files accessible to pkfix";
   sha512.run = "e5151d85d2db65f41b69320ad92611adcc8d211719aa06f39488ba75972f6bd4eda3a9ebd9f13e8889eb84451a640bbdbfd8862c95620304917cca3dcff4a194";
   sha512.doc = "50103799bbfc18a728b6510f9cd3d9aa4cbafaebb1e68f2f3280b3a57efbdbf75ff68f36e72b4442e49bbb04801795250fb3e2d0728968e30c1e70fc5b7d15d0";
   hasManpages = true;
@@ -35987,6 +39039,7 @@ pkfix.binfiles = [
 ];
 pkgloader = {
   revision = 47486;
+  shortdesc = "Manage the options and loading order of other packages";
   stripPrefix = 0;
   sha512.run = "2b9af06a79f484ce948b98d8ac09f3327a64e2299770ae6746d9762fc6b339d68aa3ad2abc5e67dc385bf4675cf406f170ef706fc101e87f6b58c839b6d3a3e2";
   sha512.doc = "231038d0af3e7293cec5b5e3a9835b1ddfcb60d5c8006009998e5a04638e0ff818ed36abcb2326a56149af0884297059577a3437e9bb144264cf42feed055cb6";
@@ -35996,6 +39049,7 @@ pkgloader = {
 };
 pkuthss = {
   revision = 70496;
+  shortdesc = "LaTeX template for dissertations in Peking University";
   stripPrefix = 0;
   sha512.run = "ce10fdec461d1de90a7b3256db0c29c508427c4b21ae77ed7d08b75d3c95b46bea27c7ed869c1bc8828d40cba05ab84fd7288fa6ae553d786e1ee18e3c468b8e";
   sha512.doc = "7093f5e5d39576e9b57b08d528675d43460713050af48c77f9b7db78be74b16490dda55f1ab8fa425436d59f6428a3e244ee9490d22ca70eb141a68fe14835c2";
@@ -36005,6 +39059,7 @@ pkuthss = {
 };
 pl = {
   revision = 58661;
+  shortdesc = "Polish extension of Computer Modern fonts";
   stripPrefix = 0;
   fontMaps = [
     "MixedMap plother.map"
@@ -36018,6 +39073,7 @@ pl = {
 };
 placeat = {
   revision = 45145;
+  shortdesc = "Absolute content positioning";
   stripPrefix = 0;
   sha512.run = "476dac5b149811659c663751478f9f224e209dd63954cb88baadcc94c70a4861673512e01c4a5f30097d242f56f1a6edbf4fc225f8b561e49a4e60b02020488e";
   sha512.doc = "0fc82d9b448c85eb3d77a7943b9243720f41894f062d9723b3dd56f2d3e9cd8fcb87a3d57f387f1c87b3ea132fee2e0e08962d9044aa7c756f0db979f4c06a3c";
@@ -36028,6 +39084,7 @@ placeat = {
 };
 placeins = {
   revision = 19848;
+  shortdesc = "Control float placement";
   stripPrefix = 0;
   sha512.run = "618eb33f1fce0b089fe111b083b0153c146e0d8abbcfc235a86dc6a698a2fad080f8ac38e04037e06b0e1e2782291ca6d01ae69922d181b26b4c809d6aba262a";
   sha512.doc = "2ac2312083ae8abd3fe3f85da7dc65032a4c6bed4d1778c058120b48292f459d1b77d40e4eb6f0afaf88a5160d4fb0eb7f353ba1d93b7ec672f054e58de4d6f5";
@@ -36037,6 +39094,7 @@ placeins = {
 };
 placeins-plain = {
   revision = 15878;
+  shortdesc = "Insertions that keep their place";
   stripPrefix = 0;
   sha512.run = "ba143fda432b8ff9f96d48218ea3b3d29308db3a403c64af5f4a89b8305ff835481d9e0e77bff92530207359115f6a44b006cc58bce99c0f7d3924d1134ef60b";
   hasRunfiles = true;
@@ -36045,6 +39103,7 @@ placeins-plain = {
 };
 plain = {
   revision = 57963;
+  shortdesc = "The Plain TeX format";
   stripPrefix = 0;
   sha512.run = "0010ad47f363ddad3a0433fbc48f4e39950eddab3d08e2eaa6d5eacdc620265d45b09ca23c48f92ac8bedf222f98095c4f91d424a27ef0e8e50ed6d673780c57";
   hasRunfiles = true;
@@ -36053,6 +39112,7 @@ plain = {
 };
 plain-doc = {
   revision = 28424;
+  shortdesc = "A list of plain.tex cs names";
   stripPrefix = 0;
   sha512.run = "bae58c957de52e1a45f91d8ea49579ea9c5b50b641331ae8d27146b6bbda1cf93e09abe58a011164ef99e5513cc32d346da7d693e975271e1892674aa5799406";
   sha512.doc = "03f17a65680e4fedd76abf2ec46dbac4b7871c3106c74d3d7c7f200bd6124146b2f78848a3761eaf63b2c909eb5925b78441d73a48a4437ef496b8643777d847";
@@ -36060,6 +39120,7 @@ plain-doc = {
 };
 plainpkg = {
   revision = 27765;
+  shortdesc = "A minimal method for making generic packages";
   stripPrefix = 0;
   sha512.run = "aa1158f3958013b133dd3f9308063543268181296274a40e2ca606c8e684105e89b79cd9bb45d225e14865ca0e998e0412e8edf8057445bde549f249a6d69b2e";
   sha512.doc = "684b4f193f29336d5bd2c494c0c447cf0ac28090a156ae286437033e14507607582b3b9b40bc7b82fd92661a4bdd75f953e7c0b675f46418bb585b6a9492eaa1";
@@ -36070,6 +39131,7 @@ plainpkg = {
 };
 plainyr = {
   revision = 52783;
+  shortdesc = "Plain bibliography style, sorted by year first";
   stripPrefix = 0;
   sha512.run = "a42c5fc8c9a530f91d467ab3707fbec05f49764e85b906510f4605749c60bdda224a4ba23be85acd722f48b0958ed7184b4bfe88dc7c3fea4a64e70f9407afc6";
   hasRunfiles = true;
@@ -36077,6 +39139,7 @@ plainyr = {
 };
 plantslabels = {
   revision = 29803;
+  shortdesc = "Write labels for plants";
   stripPrefix = 0;
   sha512.run = "7e1724b32035ee32325c491bce57ead23f40ad7377b4c1d5572499fef920b874bd57298e654429203cbea726b8d645a0899807547db80825be163538c1d91537";
   sha512.doc = "999f132df73c15a7b3501487f350e48777543745c5cddbbaf314bcb62eca9b3ba41b51324b61d04e9f1d9cef4b9b8ab851d3528f8893bb21e612a7f50511da65";
@@ -36086,6 +39149,7 @@ plantslabels = {
 };
 plantuml = {
   revision = 67097;
+  shortdesc = "Support for rendering UML diagrams using PlantUML";
   stripPrefix = 0;
   sha512.run = "97af8222b28309bd5d8ce5d083ab54bbf550b6327d463de8b481cf4a5f62c0c82b33718b5c95301204bfe8e4858039a0811f491d97c02079d723e66c3549c90b";
   sha512.doc = "b76c635cd30ad2638619b1ded721d468eec92033206cda03cbb638b14be082de1360efd2048f2cb1ac787a4c9232416cd18a82ad7b261ec785468ffdc003b86c";
@@ -36095,6 +39159,7 @@ plantuml = {
 };
 plari = {
   revision = 15878;
+  shortdesc = "Typesetting stageplay scripts";
   stripPrefix = 0;
   sha512.run = "86e91b884be131df6b4da6441a9fbeb872e0f345eed49005ef74d58eb3ef8a2724da98cc810a51b58d45047d77545ac6b9512612b5946ba29d443dd14bbdb263";
   sha512.doc = "befa46f8ef7c4c89e18339ececbd53341aa50d6bfc8927001d17395cba42db0f0ca3414619c746c78e4f5f4f9cb1f6db813defc7b89299f5b29e9c0866852c82";
@@ -36104,6 +39169,7 @@ plari = {
 };
 plates = {
   revision = 15878;
+  shortdesc = "Arrange for \"plates\" sections of documents";
   stripPrefix = 0;
   sha512.run = "f662191f6a053585bbcf5a71635b6f63ee5d713086bd24f3c879f73868b5ab42b6434860b68408fcade7b7ba448845d1dd6a5be12b10bc25be8032b9dcef9615";
   sha512.doc = "12779b285951d5e3d7a0f9d3ded736d5368291b678fd884262908897c4e32bd5fdbdd6bb4eeea59bf922555d5dc8daf6b0e06a174fba2605d4357dcf1f09c6d9";
@@ -36113,6 +39179,7 @@ plates = {
 };
 platex = {
   revision = 67315;
+  shortdesc = "pLaTeX2e and miscellaneous macros for pTeX";
   deps = [
     "atbegshi"
     "atveryend"
@@ -36159,6 +39226,7 @@ platex = {
 };
 platex-tools = {
   revision = 66185;
+  shortdesc = "pLaTeX standard tools bundle";
   stripPrefix = 0;
   sha512.run = "87646f8cd885b75c3e7dc0edebc32675afe2d02f87c37ebf6abda7b68256f002440fd1a94f3f13dffbd8a7b694f3813d4115621f931b9a3a9d73491bda7c4296";
   sha512.doc = "cf04b2c5d4df6d68bfdc3b0a3a8dc0f988cb0549252b3a6ccba58df685c41a9312197a63c97c3ff63c1ec15177a43d1e8064fd449054eed3df968fe213703552";
@@ -36171,6 +39239,7 @@ platex.binfiles = [
 ];
 platexcheat = {
   revision = 49557;
+  shortdesc = "A LaTeX cheat sheet, in Japanese";
   stripPrefix = 0;
   sha512.run = "1409c7311eaa82811236d869b04e9f55fa2a96804faacef4820072a4813055e70ecce0e8c155ec19016f1ed4e57bebe0b362c5457d1258f317a40fc475d42aff";
   sha512.doc = "bfe47b947a915099de15e5519a3aff201b327c31d29c1966d4fd3e9b73581792d918b461ed1944aaf5e8a5eb7956c38579a3fd972f189b1e3abb903c7c904cbe";
@@ -36179,6 +39248,7 @@ platexcheat = {
 };
 plautopatch = {
   revision = 64072;
+  shortdesc = "Automated patches for pLaTeX/upLaTeX";
   stripPrefix = 0;
   sha512.run = "1313cf815568dc385d5d1691bba7e57e246c45e71242acb94904ca0fe796940afb59bd3d07f728a9e407a9a0914b3890a7e7dc3c8bde3ddab7b36c3ed9ffcefd";
   sha512.doc = "e4bcfbe263cd17dcefdc239f06f1287ff8d936f0a6b5ea89f914d7a4254e08040c076be0317f4e3cf2aa96542878e1c93fd3ad5b9633f4c3c3d85ee9d719f4d2";
@@ -36188,6 +39258,7 @@ plautopatch = {
 };
 play = {
   revision = 15878;
+  shortdesc = "Typeset drama using LaTeX";
   stripPrefix = 0;
   sha512.run = "040468367a783e7bc49dd4b51e22a72c41ff2985a52e2551b3be6780767e17c8d11178f097cc66f5683033eb03cc2ebc2c08c1f4477daa7b8f9e22d8a40dd385";
   sha512.doc = "97c882b12ab350c5b0fe066e04ea7c2c136b1dc7ca29e51d8f89ed695769c9ef1ed255c3c109ff71838bde91d25167a398230cd25809f1374ca306fbd9ae68fa";
@@ -36197,6 +39268,7 @@ play = {
 };
 playcards = {
   revision = 67342;
+  shortdesc = "A simple template for drawing playcards";
   stripPrefix = 0;
   sha512.run = "3c7b076044328ceed3005de84d628d6d926f93c1d759982c2e37c8831093aa12c0dbff71f8b8bfdbd171dc545f313729c7c11086a3e529858086896bb64899f2";
   sha512.doc = "396118759c2f02c709ede5e6b4be042d2348cc38ce4783fd9f612a6bca887f9237f86662b8ce84a78a6abbedc8e2ce9e2c61be2f2c818e262c693149b7125019";
@@ -36206,6 +39278,7 @@ playcards = {
 };
 playfair = {
   revision = 64857;
+  shortdesc = "Playfair Display fonts with LaTeX support";
   stripPrefix = 0;
   fontMaps = [
     "Map PlayfairDisplay.map"
@@ -36217,6 +39290,7 @@ playfair = {
 };
 plex = {
   revision = 69154;
+  shortdesc = "Support for IBM Plex fonts";
   stripPrefix = 0;
   fontMaps = [
     "Map plex.map"
@@ -36228,6 +39302,7 @@ plex = {
 };
 plex-otf = {
   revision = 68238;
+  shortdesc = "Support for the OpenType font IBM Plex";
   stripPrefix = 0;
   sha512.run = "1dadbb3073ccdf40e496f89cdbd31af8ef37e810178eeb7aee49e9c1abdef42f28e58bf12988a59b9aee95384de842cae8a827e8ad8968c7ef37e8442e596d21";
   sha512.doc = "226ddb9c201dabf158e0e9a5480995539d20d14ef34f5ea9498f9fe5966a1f7eaed00e1bac62fe17eeb710d0d3f68f9397fa568ee1a91076552130661dd6e3f7";
@@ -36237,6 +39312,7 @@ plex-otf = {
 };
 plimsoll = {
   revision = 56605;
+  shortdesc = "Fonts with the Plimsoll symbol and LaTeX support";
   stripPrefix = 0;
   fontMaps = [
     "Map plimsoll.map"
@@ -36250,6 +39326,7 @@ plimsoll = {
 };
 plipsum = {
   revision = 30353;
+  shortdesc = "'Lorem ipsum' for Plain TeX developers";
   stripPrefix = 0;
   sha512.run = "203b9cf56acbc53b2a3c195ba0a27728c93db91bd4be48441e61967fd0488cbc4ef96485ff0b567be64ddba798bb44308cb7cfabd2a2ac89d294203d93ff4d29";
   sha512.doc = "6d5c77102abf42304f8480f74a073ba25b8cf317c3a6cf4c22af6035b17b07ac213866a10ead2a53d033b214e4a6d6e642d043d847e61fb165aa8a02ef90f7b3";
@@ -36259,6 +39336,7 @@ plipsum = {
 };
 plnfss = {
   revision = 15878;
+  shortdesc = "Font selection for Plain TeX";
   stripPrefix = 0;
   sha512.run = "0ae352953c5981b791379d9da9b61ad8837c22053f3371f351152078f4dce6b12615ed771987115cc094613ddeb0c275568e1d7404f321516418d218d9c68473";
   sha512.doc = "9569a4f77dead68ad8c76794f03e6ffe147e1801324291fc13487b05051fcb7f307971e65edf66024c169411cee9b2940eb4daac4d073773e67f2f303b364870";
@@ -36268,6 +39346,7 @@ plnfss = {
 };
 plstmary = {
   revision = 31088;
+  shortdesc = "St. Mary's Road font support for plain TeX";
   stripPrefix = 0;
   sha512.run = "72d54627fd8a10215ae9fe417423c46240997f865da8b4f4b976290ded7fbb0360477db27f140bed0ceb4dfc57c42a23fe5ce780ec5eeebb9b3e30b372adfe9e";
   sha512.doc = "6e5c425b7d484bbe187eef030fbc9d6a0ad50d6d8e22c5f08d3762cf8082b434de8a4c5d13251d90a016715c9a85aa82dd2637abb6e17a6973a08514baeef7fd";
@@ -36277,6 +39356,7 @@ plstmary = {
 };
 plweb = {
   revision = 15878;
+  shortdesc = "Literate Programming for Prolog with LaTeX";
   stripPrefix = 0;
   sha512.run = "1899a3498d10950f67d24d2d7bf0488cd8867bd862960fa892581137bb1fb3426dea9e193f8993ffa93df11684dbd1f25bc79a98489317998936ab4186e9a22d";
   sha512.doc = "9a510c4fd534c9451863a47fb8fa3911cf5199b295b1e3e2739cfc37ca0351d28fa1876e5456cf05ac7cc05f9f60761578ba6d77841ca575908cf4f0c9f0e3bd";
@@ -36287,6 +39367,7 @@ plweb = {
 };
 pm-isomath = {
   revision = 60368;
+  shortdesc = "Poor man ISO math for pdfLaTeX users";
   stripPrefix = 0;
   sha512.run = "89e11156c2a4b7d05fc3404b4badcbac94ed190db4c215e573c84cdbc8fd46c5775b19272e423df1806e8a38d61d8c071aca7d38380637c79f06c411a05ee468";
   sha512.doc = "92366bb3963f1615de3cba205345d5d799fac04bf4935574868be140109756fe9a9a2d7cf7a685918018919ae2350e9ff717cd898fc0404205f21d56a359ebd0";
@@ -36297,6 +39378,7 @@ pm-isomath = {
 };
 pmboxdraw = {
   revision = 53046;
+  shortdesc = "Poor man's box drawing characters";
   stripPrefix = 0;
   sha512.run = "d229b15e57fa76a9e8e9b903b5fbbb99d81d3c8a2b1818d71c103df7f2a1e9bcf79aa8396b6ab7a2ce054371d212375b968a4a5d572fa8686223baa8dccf4eff";
   sha512.doc = "42a439f2f88235faf7302400432d49166861476cdc43708f84780d153bdcbcb55dea1a6b31cde2045d0b99d48c2a4f51ddae8bdee08937308c5de02e9b16a523";
@@ -36307,6 +39389,7 @@ pmboxdraw = {
 };
 pmdraw = {
   revision = 69366;
+  shortdesc = "Draw elements of partition monoids";
   stripPrefix = 0;
   sha512.run = "ab2b72364f2833ec7362d7284bfc10033e72c3f20c1b4f6ff7a89a8368bebd5aea2120c5cb82c27bf924fc1342030d83e61a8b4b0343aacadd09247890495325";
   sha512.doc = "60a9292a2705281b8f32a2789b34e0dbc46cd8d475d7c946e00e8f0951b5cdd5a29cc145e0cc270ed87b52a23f819552081fd78f99fcd529aea57027d4d71b23";
@@ -36316,6 +39399,7 @@ pmdraw = {
 };
 pmgraph = {
   revision = 15878;
+  shortdesc = "\"Poor man's\" graphics";
   stripPrefix = 0;
   sha512.run = "b6e9f00789ad102b6cdcfb0fe48e5ca4f6976a7c207088c0c3e8b0c2d4fa376bbb932500d42133571a6e18747615c77eb6df2b4872ba86f853e3069ef198a671";
   sha512.doc = "35f45f43c95264d4dbac5d12a71270fd15280f9008d204e12ab0a3bc6a62939e6de87233c94eeb7cf9627464d5f383c3d8c2cdeaed6eed9473a3e5fe380cc5e7";
@@ -36325,6 +39409,7 @@ pmgraph = {
 };
 pmhanguljamo = {
   revision = 66361;
+  shortdesc = "Poor man's Hangul Jamo input method";
   stripPrefix = 0;
   sha512.run = "099517421e9590597157121de5d53eccaae0784969288762ebd8e35a31eb12ce6d5466f890204bbb69d0d9c805c314b6a475653a1cb26ef270672683e2625a24";
   sha512.doc = "12f324ea6c852b134868f4365a53c2f434adac235d01efdbdad0d5df138587acb28fa7324e10f5fc996c44f43289322bdbaf764107cea4e66d7f999b71807384";
@@ -36334,11 +39419,12 @@ pmhanguljamo = {
 };
 pmx = {
   revision = 65926;
+  shortdesc = "Preprocessor for MusiXTeX";
   sha512.run = "433287732fbb2cb47886c6c78c923d5b6a1b5c1e71e3990084cde9bb288a282fff7fb9134a5165e0fc0908b8e60547e23cb900bc82b99717133d7600fa17dc31";
   sha512.doc = "dedba4570b68a8628442716dc3a9b1699e5f531aef2737e4b3f47862a91ba69bda91d6fe6692914d2bd7b8fe3188a83fdfce8bdd219ab7c4f238a9c6ec273ffb";
   hasManpages = true;
   hasRunfiles = true;
-  license = [ "gpl2" ];
+  license = [ "gpl2Only" ];
   version = "3.00";
 };
 pmx.binfiles = [
@@ -36347,6 +39433,7 @@ pmx.binfiles = [
 ];
 pmxchords = {
   revision = 39249;
+  shortdesc = "Produce chord information to go with pmx output";
   sha512.run = "0a8f4a88834eb22d3f11ca567f37189af7834370530c6dbca4d83482e94cfb48b128bc1290e7f3ee718bffb4df445a300ddf5081805f88002f53bcf8b434bb3c";
   sha512.doc = "d4075306620fa1ce037a37b9d2646d197348f6482e1286ff6fd99641a8b441b3d830a1420dbf6c025b8d11af78363b717a1acc7ea6b9e2954aa4f11ef04452ad";
   hasManpages = true;
@@ -36354,7 +39441,7 @@ pmxchords = {
   scriptExts = [
     "lua"
   ];
-  license = [ "gpl2" ];
+  license = [ "gpl2Only" ];
   version = "2.0.2";
 };
 pmxchords.binfiles = [
@@ -36362,6 +39449,7 @@ pmxchords.binfiles = [
 ];
 pnas2009 = {
   revision = 16287;
+  shortdesc = "BibTeX style for PNAS (newer version)";
   stripPrefix = 0;
   sha512.run = "5e20303db90b2db63a3d6026db582026df8b9e910942303c952753d5dc27928ec70a8dc21edaf44cd57e04d25e93a87a5f28caa769a0425b47c78ea9d56ffa86";
   hasRunfiles = true;
@@ -36370,6 +39458,7 @@ pnas2009 = {
 };
 poemscol = {
   revision = 56082;
+  shortdesc = "Typesetting Critical Editions of Poetry";
   stripPrefix = 0;
   sha512.run = "e9bba80cd6fcd7b1e7b0e46fe594b3e25986dac5fe39d329ed4b8e15bc6b542e033a392abcad4e0c67d5401066703a1a89658ebc612d2adcf846de81b34fb78f";
   sha512.doc = "e8e3ffc366be12ec5273c85a352a6c44ee22af072fdc9e63db390c0d3435e390c28ca83279a1a54f95af991890b7e47ba896612407ed605e229ec184cb1e5096";
@@ -36380,6 +39469,7 @@ poemscol = {
 };
 poetry = {
   revision = 53129;
+  shortdesc = "Facilities for typesetting poetry and poetical structure";
   stripPrefix = 0;
   sha512.run = "1f618b339fecd44d21029ff9ecfb95a97e47fd5d20089a2115d70c8336738c794e1c639c78a16b5756d591fbe3ad52576e3923f6f86245fcc9f7501008382eb6";
   sha512.doc = "540a209251cebb31bdc87143fc8b60627a9296f488f58a81faaefb3c3cb66517e8a670e81b4363840cfa1220697d26517fc1bebedf43f62a4f1c18e3e14a8d65";
@@ -36390,6 +39480,7 @@ poetry = {
 };
 poetrytex = {
   revision = 68353;
+  shortdesc = "Typeset anthologies of poetry";
   stripPrefix = 0;
   sha512.run = "f56937e0c18fcc1db0872ed27d3ab9497e42186552f5eb26015f7c28f1d38091544212767de088e8d94f6d1e15a5ab973bb1b4960f8d4633964ad9aa295e3b87";
   sha512.doc = "3db45607b5d95695c3f54ab924912c39ed3c06d956374039656d2a2d3c25d1261541124d7a89ba05cf935ddc4b36b7cbf4c907d02a6b774748ae96d032b30d4b";
@@ -36400,6 +39491,7 @@ poetrytex = {
 };
 poiretone = {
   revision = 64856;
+  shortdesc = "PoiretOne family of fonts with LaTeX support";
   stripPrefix = 0;
   fontMaps = [
     "Map PoiretOne.map"
@@ -36411,6 +39503,7 @@ poiretone = {
 };
 polexpr = {
   revision = 63337;
+  shortdesc = "A parser for polynomial expressions";
   stripPrefix = 0;
   sha512.run = "4d04a0a61b5f50c61eef41360aaec305b727e6d8686e8ef1742098a7980a6508e3455a8282a9cb0b4549d7dcd49cf065c49bbb7e710ca5120cb32567fd58fb8b";
   sha512.doc = "d2477a275477b6e47461e769fbf43abfc746769582cc916eab153fb7ee19e85285561601169dea0335d0c525b79c5435ee2d44ba931739eb9d903a3f2e3b670f";
@@ -36420,6 +39513,7 @@ polexpr = {
 };
 polski = {
   revision = 60322;
+  shortdesc = "Typeset Polish documents with LaTeX and Polish fonts";
   stripPrefix = 0;
   deps = [
     "hyphen-polish"
@@ -36434,6 +39528,7 @@ polski = {
 };
 poltawski = {
   revision = 67718;
+  shortdesc = "Antykwa Poltawskiego Family of Fonts";
   stripPrefix = 0;
   fontMaps = [
     "Map ap.map"
@@ -36446,6 +39541,7 @@ poltawski = {
 };
 polyglossia = {
   revision = 70496;
+  shortdesc = "An alternative to babel for XeLaTeX and LuaLaTeX";
   stripPrefix = 0;
   deps = [
     "etoolbox"
@@ -36464,6 +39560,7 @@ polyglossia = {
 };
 polyhedra = {
   revision = 68770;
+  shortdesc = "A TikZ package for drawing polyhedra";
   stripPrefix = 0;
   sha512.run = "26169961ab8e21114a4c44470da03fa510822b495f36afaad745c0324d45d5bd64e4e5587b7601fbb97156ba02ff18a2c253e175296f15f2fb3915f7bc15e060";
   sha512.doc = "6a083101ebef3810467cfe377a820ff178e752c62655462153c661222da3c75034a1735a4a39d76e963fc6773441df423444d40e040f39d73dccb5adc6fbc34b";
@@ -36473,6 +39570,7 @@ polyhedra = {
 };
 polynom = {
   revision = 44832;
+  shortdesc = "Macros for manipulating polynomials";
   stripPrefix = 0;
   sha512.run = "bbff103f5828757f9c58c768ba46dcd9197629273b12d997e80e299dc1cf6a34e851fa4ebe088d131781eb6efc1fbd39cab602ba23b791c68fdb0e12f69440aa";
   sha512.doc = "b0fdee90082414d88469ba5067f1c16279ddfc8c13627098bb3c2adfaded3c355cbb161193160fc5b9682d45a10216c56fe2613855528f9f4965479c681e6355";
@@ -36483,6 +39581,7 @@ polynom = {
 };
 polynomial = {
   revision = 15878;
+  shortdesc = "Typeset (univariate) polynomials";
   stripPrefix = 0;
   sha512.run = "46324509f078d9e83f4d94893454061636fd1148d5a2e9b59af640f617d82ba1d7397c7f7bb68ac99a83945354c875d3f29853e5ba38da59a2812f5f45ccacb1";
   sha512.doc = "b570f3abf21a480e0bce2c08e44d97b488e9a0758d712cfde3ccbc45348eb95486c121662e296049220dd2802edb387651e839c2a819058111a2839049fc5964";
@@ -36493,6 +39592,7 @@ polynomial = {
 };
 polytable = {
   revision = 55837;
+  shortdesc = "Tabular-like environments with named columns";
   stripPrefix = 0;
   sha512.run = "2ff55bb460357dc11b274ad3233e5ddd67fbfe05e60d25bcc69f1d06f9b0f247831cb5db4123b7ff859dfa88bd56fd5bdfc24aa992e98f5a17d0f883b40fcd2e";
   sha512.doc = "5bdc4a4c8f95255343fccb6db79da434a6b883e0e2a769eac5c8accbb6343d3f5b8de2fd465c5e229ca0ac3e9964fbd96c50062440970921ebf70f01a3097943";
@@ -36503,6 +39603,7 @@ polytable = {
 };
 poormanlog = {
   revision = 63400;
+  shortdesc = "Logarithms and powers with (almost) 9 digits";
   stripPrefix = 0;
   sha512.run = "e67561e7818e8ff9e02a43c02b8b992a26bef477176ce36eebaea37f56ea182bc9bedcfa56ffd8581b5d696698718d87f5319ac93d79032c4c27780ceb964851";
   sha512.doc = "7d99c4036411bd892bc0a520a42c5e2a1c1077c89e58e1be8a9fc991b87da3d22871e75669c814358701d17add447a7e6546a33a8ada55f55ce0814296273f91";
@@ -36512,6 +39613,7 @@ poormanlog = {
 };
 postage = {
   revision = 55920;
+  shortdesc = "Stamp letters with >>Deutsche Post<<'s service >>Internetmarke<<";
   stripPrefix = 0;
   sha512.run = "1b7ebc9b82ae1dc0a642892b6d74ef94ff0810ff3dda1628f741244dd17dc8d5013b42e2369c1dd6c27e65b965a1482814c62eaef582cd3bcb4c945fe0aa76da";
   sha512.doc = "5f0d2dc0a4986509862b17af55f590f110b3dbdc697ed4cc704d31215945e224a0029087e04cc8602b059455447fa9214bede0aa63509958972c9dbe2cc4a0e9";
@@ -36522,6 +39624,7 @@ postage = {
 };
 postcards = {
   revision = 21641;
+  shortdesc = "Facilitates mass-mailing of postcards (junkmail)";
   stripPrefix = 0;
   sha512.run = "0e358697b47ee74afb9fb6bd339ea4a76457c78a76a37de6039ac44cd9ce1fc28a3866c42d988ccebf025d0e08c4c092a2b647cce4841662242f740f12297338";
   sha512.doc = "936c1f923bea76aa323d2c8ce9949cea3364eeb1a145e735ff5bdf609de4c54cc78125392e9e3cc914180815bb9dd5bae63e50c0000b2143fe7de94c199bc50e";
@@ -36530,6 +39633,7 @@ postcards = {
 };
 poster-mac = {
   revision = 18305;
+  shortdesc = "Make posters and banners with TeX";
   stripPrefix = 0;
   sha512.run = "f685c2c6d7d2795cf80702c0f8b4da6661a6d076dfbefeeeb071f21ffebd4420c7777681e550ed8ce05726a4392f526da42cecd6e3f26b5dc8ba775494589297";
   sha512.doc = "d06f06a4432638ce7780923818cbe638edbb21f836566fb984353aff0bbfbe0905adfa39cc69fc59c87c9e6f7f2c3c268b7f2ef9a55a0f0a2bf0b5212d9e2124";
@@ -36539,6 +39643,7 @@ poster-mac = {
 };
 postit = {
   revision = 67344;
+  shortdesc = "A LaTeX package for displaying Post-it notes";
   stripPrefix = 0;
   sha512.run = "cb825667ddd1379b07870c388915abf36efa1249036795d3cd5ed7f41a87c046c00c7e292e542dad6a8b3b3090f327c5cff5e173220d49cc829f0fe206676aae";
   sha512.doc = "2754e847a190afa3ac22166365a0ea12557d939fe4d2f06dc0c34a518da82dfbf7ab33c8ab1ddea5d3d95dae13c013f238abcabcf6444d956393fe61b00f4a6d";
@@ -36548,6 +39653,7 @@ postit = {
 };
 postnotes = {
   revision = 69102;
+  shortdesc = "Endnotes for LaTeX";
   stripPrefix = 0;
   sha512.run = "a2b8a54ad8062e550af61a6f51d816d11891976525aeedc5267923665ea63967a388bde67dd2ad537b2c4d8fc3ffc738f05064d2fd26b0fbf7328eb806dfc0c0";
   sha512.doc = "28537fd0437da707dfaa5dde2fdc92d11d4de5bdf99e8fc7655cc60533d8ed5bd5b9e1d680f0269b2d60e498fee577a3b069957c6a5ba41fc55dfc1631297853";
@@ -36558,6 +39664,7 @@ postnotes = {
 };
 powerdot = {
   revision = 59272;
+  shortdesc = "A presentation class";
   stripPrefix = 0;
   sha512.run = "c8ab1d65e2ac0695cac0e8a0a683fe712ba51e8aa028316901e1ab6e31b0be68348066fcf290b03321c0bacbf5c0b16265b28022ef38137a3d89bd25aac58dd7";
   sha512.doc = "99e602f4f96d6b805a8cb255d72f49c62e75543df2348471e31952a2588125724dfac07cd82865e9559220ef98a7b8847ab9ebd1ab803d5e155804f3669abe3b";
@@ -36568,6 +39675,7 @@ powerdot = {
 };
 powerdot-fuberlin = {
   revision = 52922;
+  shortdesc = "Powerdot, using the style of FU Berlin";
   stripPrefix = 0;
   sha512.run = "73026a8e853bb9141ef3d8915768ca07a9f5caba4e810cf08ab2f41b8c6ee42071065e347ecdc1da070686765591d5cca02a372bd256fc1f9871547a7e1657a2";
   sha512.doc = "f2011b2d9362cdd1006714e71c3178b279cf764dc82f10ac31370d197de98a5131dec0c64bc17d4746a554396687e115e6880ae6940d902b34dbd91aa75ba308";
@@ -36577,6 +39685,7 @@ powerdot-fuberlin = {
 };
 powerdot-tuliplab = {
   revision = 47963;
+  shortdesc = "A style package for Powerdot to provide the design of TULIP Lab";
   stripPrefix = 0;
   sha512.run = "91a8008d0675ea36676682d741ffad1e2f842ae37b47da628bade8391b2c775d7a756d31d5169e087ca0c4c0b0e958a2bb34d5143f905439e9572a6e72c4dbf2";
   sha512.doc = "5805d79f125ad94bc0818f52d31e14d786f4f032e03a89a0ec8ae69433d56654b6acc864563e3273664576a59880bf86de81756f76cf9b920a21ca8331ce117c";
@@ -36586,6 +39695,7 @@ powerdot-tuliplab = {
 };
 ppmcheckpdf = {
   revision = 69527;
+  shortdesc = "Convert PDF to PNG and compare PNG files after l3build";
   stripPrefix = 0;
   sha512.run = "9c6612db37dafa8ab2771e42443f528806542b0c949b67adc861440bbcc85492a726524f543406daadde3d66d20bd32eb521cb96c719f948732c3a84e4702d7e";
   sha512.doc = "5bf1e2df2c702a3b447787cfdc77b243578f6c59ea4c46ac352628dc647e55da9837375d5d960e17d8baf3d1fe538abb81cd33f08e6b0f501159be8f84131ef5";
@@ -36595,6 +39705,7 @@ ppmcheckpdf = {
 };
 ppr-prv = {
   revision = 15878;
+  shortdesc = "Prosper preview";
   stripPrefix = 0;
   sha512.run = "4bbd2404d9cb4bee9de81d463a6f4966e28409b07aa744e155f398f07e513dac4ad262fb3ac81717dafc9dd9abaed2789c08d0cbf0ce29137739886b2ad1dc74";
   sha512.doc = "b8228988551d32a5d5b3ddfc59dde6af1f48aece8f5c0f8889fbe479db6c962d77b687fb5593079796393a255350dfc90965fac07e241d4f0a48027927065e67";
@@ -36605,6 +39716,7 @@ ppr-prv = {
 };
 ppt-slides = {
   revision = 69568;
+  shortdesc = "Good-looking slide decks a la PowerPoint (PPT)";
   stripPrefix = 0;
   deps = [
     "crumbs"
@@ -36629,6 +39741,7 @@ ppt-slides = {
 };
 pracjourn = {
   revision = 61719;
+  shortdesc = "Typeset articles for PracTeX";
   stripPrefix = 0;
   sha512.run = "ad416756dca8491f2920d13b8374157bf1b49f236cf2ce1f66d6415c8de7282801645f5cedc31f2652304b1133f787a32ca4afa9f0e65a8bd5cbde956e54b82d";
   sha512.doc = "2cc3efac5b128bc6873034fc451124cbb9d6c4040d9d1c1053367aa99d57687eff642cc55a52d833732cfe88c5e139c67998020ae220a1657744140745ffec30";
@@ -36639,6 +39752,7 @@ pracjourn = {
 };
 practicalreports = {
   revision = 52312;
+  shortdesc = "Some macros for writing practical reports";
   stripPrefix = 0;
   sha512.run = "71b180b863f5405c145fde98bcae5942ed186de52654dabda4ef1a859ea292e6c2e6f1a29fa4c4320f2f9a442699844d4268fddf0200281c0f1a7477b49d9f5b";
   sha512.doc = "48159a00f0c64c6a05e56d9c01b1e7c1fcc8342df3f762775c33377d45b0621e0e933db3097a5d489ddefeed1e0c155893e99ebf98c98fdd11df9b33e05e113c";
@@ -36648,6 +39762,7 @@ practicalreports = {
 };
 precattl = {
   revision = 63967;
+  shortdesc = "Prepare special catcodes from token list";
   stripPrefix = 0;
   sha512.run = "35ce5ceaa53d3edc0fa92c8d9e5979255fa94bfa6818f8100b29f6fddda22f947c0fd2899efa5b4c72bb124fa5edd4f25b512460e7d370068eeff3d0ae0cfd2d";
   sha512.doc = "869b3ccb9aa47107b759fbaab3980168332d51eb07e4fc77f5fa31056f1260e5d89ed54e4a3329afeb828445dec17e43df899358e7880ebe364705006a3571ab";
@@ -36657,6 +39772,7 @@ precattl = {
 };
 prelim2e = {
   revision = 57000;
+  shortdesc = "Allows the marking of preliminary versions of a document";
   stripPrefix = 0;
   sha512.run = "9f9fa79056db5be108c3b34b2ad61d964ba35fc1b6f7e9375c9e2ccbf66cd2028ef9e6689751c90c9ca236719ed1a001ae26753305fa3454bd88650cb12ae82c";
   sha512.doc = "196640bfbf73f3f269f5b27f024f4c1e677b61b6cc452d796f025196786c166f60bd2f41ad83ac6cc6b9eca56778a07b77af05fc68f05330f14c92cf391bbbc2";
@@ -36667,6 +39783,7 @@ prelim2e = {
 };
 preprint = {
   revision = 30447;
+  shortdesc = "A bundle of packages provided \"as is\"";
   stripPrefix = 0;
   sha512.run = "66ef40f1f9bc1ef3348923e781ad92dd0174b9c45e16c97662f30971a449dd74580391e1f23fed031a41995e65ff90a6785328de0372cea53e3ce946da469d60";
   sha512.doc = "b5e5fa40832249c5a0faa24c26e8b3a2a73036ef007dd3a61adb6a7989926c80e018fba52a66078c3d7b39e76901cc041ebcb9985ff29b53ade2c057abaf1376";
@@ -36677,15 +39794,17 @@ preprint = {
 };
 prerex = {
   revision = 54512;
+  shortdesc = "Interactive editor and macro support for prerequisite charts";
   stripPrefix = 0;
   sha512.run = "4238f65f9ef42d218f092bc436fbbe95ddcbcee44a9032b74020a989696db3ce1481460162171f5feeb16f7507a41643443429afb8000d5bea0d7bf16e8dee96";
   sha512.doc = "af17b95e20638fecfe6d431cc320b6d3207dd739779636206899d7bf39c26018718521dabf76adab33db28f975e99d2b2dcd9b13a164dc24927d2017e947bdba";
   hasManpages = true;
   hasRunfiles = true;
-  license = [ "gpl2" "lppl13c" ];
+  license = [ "gpl2Only" "lppl13c" ];
 };
 present = {
   revision = 50048;
+  shortdesc = "Presentations with Plain TeX";
   stripPrefix = 0;
   sha512.run = "b22c0bb6803ebed5cd26aca4a9b55f2c7b506cc7e8910346a07437d60007310a3d2e3549040ffb2616df7f173279342f2334100aab14b589d0cc9e710ea89369";
   sha512.doc = "e43a5de9c4bcf9281416963a898e350ba0a0b2d1cad92cbc97d99e2ee9d25f8407a09f024ec5d03a43fd3eee58e1c40bf99ebfff13913bbf85465588b4cf9710";
@@ -36695,6 +39814,7 @@ present = {
 };
 pressrelease = {
   revision = 35147;
+  shortdesc = "A class for typesetting press releases";
   stripPrefix = 0;
   sha512.run = "0f983d4f836c03ede4ed6bd8c2c41dc69ad75a28d9006ff7ab534c6e483e84e2151bfd93fefa43ca327fbeec14787b43205457a9cf1e733f8a4c3a7c561498fc";
   sha512.doc = "f107b506ba50ba8ed1b655f13049210ec4b90620348ac708afbba4d992470dd5aa8eabe84e2c0b926a55afce49e0a2cee28ecb3877550fe81099f7e5b40e9f40";
@@ -36705,6 +39825,7 @@ pressrelease = {
 };
 prettyref = {
   revision = 15878;
+  shortdesc = "Make label references \"self-identify\"";
   stripPrefix = 0;
   sha512.run = "06e3ee942b9a30ff866abf8f6a46b6960321c0aaf2516ce48f587a55ffcb66f158887cbb9a476bc6323e90edd22766fec19d0cfcc2be8805eedd175fdf08ef42";
   sha512.doc = "abcd8cb7e7ab78511d953d95699060581844dda67b3489317057782d97388f7cba990735b395e9563e15fd1fee137a86e8198d2d545f437a2d105bfd3e95bc12";
@@ -36715,6 +39836,7 @@ prettyref = {
 };
 prettytok = {
   revision = 66884;
+  shortdesc = "Pretty-print token lists";
   stripPrefix = 0;
   deps = [
     "filecontentsdef"
@@ -36729,16 +39851,18 @@ prettytok = {
 };
 preview = {
   revision = 69470;
+  shortdesc = "Extract bits of a LaTeX source for output";
   stripPrefix = 0;
   sha512.run = "b7ed05c49ee852d23da47c4dab53e5116b1dcafe4ae404220e10fb9622ee6a593346ed7474a2d13c64d6d3782b5894f01758cd267bfd269f54778d2af46e8bb2";
   sha512.doc = "d0f797210790ee1ed8a80df8090f9273cdab22de2bbe8d72b609385ff2f0e2004dcaf2a91d0ebe3fcbf0693cf4f83b2a978f7b02744185ebc9c803205e88d7a0";
   sha512.source = "e2dde7963e5337c8d0b0f0fd2a7adee2f09e8bd3900d2d8d6cca7d612e3401fd6567a42141734e72e6cdb043aa1fd786ca0dcbf42a776880447f81d0ba4e8838";
   hasRunfiles = true;
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
   version = "13.3";
 };
 prftree = {
   revision = 54080;
+  shortdesc = "Macros for building proof trees";
   stripPrefix = 0;
   sha512.run = "d73717b68ce3d12108a76a3850f3a09b9e1100969e79c745b7b08340175ea9599f10f928809fcdbf8ffbece3a60baa41d84dae182ace8b85ff511082f1db70d4";
   sha512.doc = "3b4d81db24039d15e76e0b237ecae6454d54b452b542e26ba8e0c45faf4f512124f0c1d1f5fef3ca6e6dcb3c7cc09eead3003a53a59a689e5e917583585c045e";
@@ -36748,6 +39872,7 @@ prftree = {
 };
 principia = {
   revision = 66625;
+  shortdesc = "Notations for typesetting the \"Principia Mathematica\"";
   stripPrefix = 0;
   sha512.run = "ef88cb4dd25ec8cd3d50a7f152698e771c8b5f1fa18adad21d55bcd3a8088a38b09eb19873c6a3d1883101d27f318bc092c9c1219a2be76bbc07bfd2eee9711b";
   sha512.doc = "8dbf4e19a3c688278c52299731ca24fef83d08886a179f15cbc58038fe92d5ddd6e57bce1451a0af686593f98adf9ed3f52ef0b20cd68f65df52b8b6a2576dc3";
@@ -36757,6 +39882,7 @@ principia = {
 };
 printlen = {
   revision = 19847;
+  shortdesc = "Print lengths using specified units";
   stripPrefix = 0;
   sha512.run = "bbb48c169f31a1f93024195056c323ce67afa1fcc00f309ef1b820dd40e0b86ca98d05f6cd4af66379682813a3807f24295a803fdc91d8b9f19972e1520d5eaf";
   sha512.doc = "25d00eec6c6bd069675cf7d980886b12444e41d18a83ed8e650923d839da8dca21dff65b110105458767b95c50b52a0143b2f7d88b6567ab3aa9953f4ec32a88";
@@ -36766,6 +39892,7 @@ printlen = {
 };
 proba = {
   revision = 15878;
+  shortdesc = "Shortcuts commands to symbols used in probability texts";
   stripPrefix = 0;
   sha512.run = "33ef76474e7183c32b5f982347ed414ae7616484ff5a5d8564574220d3757688a3a47aad000c5b0a66a39dbbef20c789dd1445d872b025c274585248176c86e7";
   sha512.doc = "960887501b74d2c5e8a00c09464ff17dc9c733dd663fb35c32b34bd8b79b2a813536b6c0f9c5df4340dbd3adf1f30f569aac678e90d5f328e1c33130767fdf21";
@@ -36775,6 +39902,7 @@ proba = {
 };
 probsoln = {
   revision = 44783;
+  shortdesc = "Generate problem sheets and their solution sheets";
   stripPrefix = 0;
   sha512.run = "f0c63a327569410af7eefa9f87fed56a6a2db78b05133c417afd245958a7f10dac965270fe00e7fe5de6ddfcc4a1cec446df819728e76ad347c7664fcfe849ec";
   sha512.doc = "c79babc397260f03e2ad66556230966d1af97bbd5703c25cd09ff3aaad48b49d464672c501df047cf5226370b80588705c59212e75d0d1970337fd446d86e70e";
@@ -36785,6 +39913,7 @@ probsoln = {
 };
 prociagssymp = {
   revision = 63242;
+  shortdesc = "Macros for IAG symposium papers";
   stripPrefix = 0;
   sha512.run = "f85716931c9fb7ac695db838d5e76160c485dac5f5f6a8f1c27cb7e375d78b385dce513103fdef30eca238fed78734661e192d712e74d948fbce0ccd209a1066";
   sha512.doc = "9d7e118fb0b704649176bb51f523d8a64ed11fb8e58cd1cafc7ffe3f4ad5005366cf518df9d7a4577b600524e19f089a4086d46f946668e82a1272b28c750f8f";
@@ -36793,6 +39922,7 @@ prociagssymp = {
 };
 prodint = {
   revision = 21893;
+  shortdesc = "A font that provides the product integral symbol";
   stripPrefix = 0;
   fontMaps = [
     "Map prodint.map"
@@ -36804,6 +39934,7 @@ prodint = {
 };
 productbox = {
   revision = 20886;
+  shortdesc = "Typeset a three-dimensional product box";
   stripPrefix = 0;
   sha512.run = "9b243f6558dd449ddb9d9190ea53a71ed5b28d25f5fddc64eddb194144aa688e8d8e946c53f115d40813d0933b77d5d2c78023f24a1887d8eeb70e6c1ad0bc1d";
   sha512.doc = "73f8e1afbbfd9d4047120280e746ae1349225dfa84b98b288e23f477d2eb83310271610d6f4e40cdeb0d124788a97c1f8aaeb182a03cf2b1311e286f7299aa45";
@@ -36814,6 +39945,7 @@ productbox = {
 };
 profcollege = {
   revision = 69539;
+  shortdesc = "A LaTeX package for French maths teachers in college";
   stripPrefix = 0;
   sha512.run = "37e807c9a37384e55c799156dd3af4124345b46d0a25af7e878d675701715bcd8bb5809d5bc9bee6e31377e3d8c16e43cf0f99c4b8f9d16df68c299c04e4ced9";
   sha512.doc = "666699cdcb971ec304455569fbf8138fabae13a0edda0af06d50eb15ba54b68f90a9d83d4062ef6641476192ea0187c66e666a2098245a49231d84e4a925e59e";
@@ -36823,6 +39955,7 @@ profcollege = {
 };
 proflabo = {
   revision = 63147;
+  shortdesc = "Draw laboratory equipment";
   stripPrefix = 0;
   sha512.run = "7270b65b821c303e84eec760126ad421dd65fbb5ff81309142690f8820c4865c3b1ff39b22b2cf700a10920b973e18085a1e73ea3f6c9d90da984d48a19bbca7";
   sha512.doc = "567ba9cd2d7eb724fd4ab20ec417f6804a795ff506bf8df582df9d7ace7ef2c5a8f95b46ff374391fed44918c6a536f6b14348ea3e0f3ff149fbe4fdafba9fa8";
@@ -36832,6 +39965,7 @@ proflabo = {
 };
 proflycee = {
   revision = 70513;
+  shortdesc = "A LaTeX package for French maths teachers in high school";
   stripPrefix = 0;
   sha512.run = "e71feda42148721f3605c48271f51db60fc8826401c97372794b799d24183da186ac33d352534d216d642ba85a4a62606ae893ee11414144eca7aa9fddadd162";
   sha512.doc = "ecda097d113be20b48dcf933647d9e7d2adb6589b1d27058ff06f6a984b0b109fa383d406207119348388a50ce33521432960bac27f91dcb27561e09f0bd8e22";
@@ -36841,6 +39975,7 @@ proflycee = {
 };
 profmaquette = {
   revision = 70496;
+  shortdesc = "Use exercises in different types of documents";
   stripPrefix = 0;
   sha512.run = "17223e35f30ac30274ab96d236903eed3343e8c8b7ce9915d82e430fecd36c7d8586fdbde6ab0f3e91694bbeedc9fe1e1c084fb8e47f08af53424452732e6f94";
   sha512.doc = "0c93574c3090cbe5959db0b3eb9ed46a45f5256bd8ac3915155b4e7fe44391dce10f6ef6d380da1340234c2fe341ab6bed3975743b4eab3794b4b48db5922b75";
@@ -36850,6 +39985,7 @@ profmaquette = {
 };
 profsio = {
   revision = 70211;
+  shortdesc = "Commands (with TikZ) to work with French \"BTS SIO\" maths themes";
   stripPrefix = 0;
   sha512.run = "b4e8dcaf48a7b9a6e5cefa8b188e36d4f017afad476f6441e0718d89a497d2bdff06ea3380917a836309de371446602bdee51fe12f42aee0fcbe189b4c1d57cc";
   sha512.doc = "846703236b09ec68c49ec05c5fc817e109914d6f2449d652876371e92ea1e5c0ac98697886ca81d2bfe6bbc7deb6537f5d828140d380e459f706c9f902dd1502";
@@ -36859,15 +39995,17 @@ profsio = {
 };
 program = {
   revision = 44214;
+  shortdesc = "Typesetting programs and algorithms";
   stripPrefix = 0;
   sha512.run = "a9ef7d68ad86b42657681e2b798899b5c7c472c5e272a9098a1424a35a109dc4a946be54c4007db73edb861cb475f293e404cee9fa0dca8cdf086eb6c4790319";
   sha512.doc = "4213b5bc9cd6b2604bf1c667dd123729c0674d1c74338ebeb86b1551af14be3e24c4e94b4e5cc2c06a25ebf934d56eb6d3b5ce80e452798ea02fbb0ac6533580";
   hasRunfiles = true;
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
   version = "3.3.14";
 };
 progress = {
   revision = 19519;
+  shortdesc = "Creates an overview of a document's state";
   stripPrefix = 0;
   sha512.run = "df21ec7e4adc36a420959550376fff5b8a55fb7dccc064476b2306226c1776fb2075994d9ae63bd5bde0b68571671bacadf9285f53bc9e639c2afd59e5b6814e";
   sha512.doc = "e88280bb1a93d34dd5597627d763d1b2a21a56990ede2e029246dac84f3bb22e05a08a9a94c0790a9c8a87698684816ace02149562785cf36f2b6af82f89c130";
@@ -36877,6 +40015,7 @@ progress = {
 };
 progressbar = {
   revision = 33822;
+  shortdesc = "Visualize shares of total amounts in the form of a (progress-)bar";
   stripPrefix = 0;
   sha512.run = "d12161aa891ea45cec2a4511c48a1c338de5acd512e426a24988b79b7d9d1734479a1cd93e3e8ee11da67858d97260b71ca35a3a7a3dbbcd2bae746221a7bafa";
   sha512.doc = "a60ee29da0517d6769e09f12af7b600284f32478aef1d28cdf167610c45bd87f841500c2bf718ff9b6678a171f3138f4a7a6ac45bd41500510f509e8e7067efd";
@@ -36886,6 +40025,7 @@ progressbar = {
 };
 projlib = {
   revision = 70327;
+  shortdesc = "A collection of facilitative tools";
   stripPrefix = 0;
   deps = [
     "create-theorem"
@@ -36898,6 +40038,7 @@ projlib = {
 };
 proof-at-the-end = {
   revision = 69602;
+  shortdesc = "A package to move proofs to appendix";
   stripPrefix = 0;
   sha512.run = "7859a8ab78c39680922e7131f2b95ca1b253b5e1252aa14fe219c3c7fe9c4357ab30d4b58a54e84c3188fab87de9cc14a23925dc1fc1563a7efec400481d572e";
   sha512.doc = "5c3e4eacadd2aafe86c231d44a340b2567ddcd9d9b737739c3b2e2ed69c0e14d6966174e3026cd10cf4ca4696af61cf305c25584e0df959e49f01b2d95a3f9ed";
@@ -36907,6 +40048,7 @@ proof-at-the-end = {
 };
 proofread = {
   revision = 61719;
+  shortdesc = "Commands for inserting annotations";
   stripPrefix = 0;
   sha512.run = "79787978d7888ba127b9b72ea38f0f3e7ef9d427cf8e493120849cf7c2852ffe79b5fbf349160bac419be0725a9d79f33a00c13d6b3eded2cf0600b7d0994513";
   sha512.doc = "e33aa6e720a22bebe6f64d90b00bc4e01b0892ae66c5f9c4dc8758e6494fe2bbb9ba84df442471b9db652223fd3e7f40fae486f09c7500095f7a2d1cb2280b3a";
@@ -36917,6 +40059,7 @@ proofread = {
 };
 prooftrees = {
   revision = 67399;
+  shortdesc = "Forest-based proof trees (symbolic logic)";
   stripPrefix = 0;
   sha512.run = "ee4feb832296a512e180b4d38e5989a87d6884c3c84ea2b224754201e42fe2fb6c4f68461a0cf3d3cda10b263c88c6da9e082572093f53ce2e8c62473d4707a5";
   sha512.doc = "67cbbd3068410bf152d54c2f25821b5672c33b68e76fc7ebe02f0df160cc658b20e072379035f090beb34a7d4d5ca21809965bd8e44a554e5ae65039a12f4850";
@@ -36926,6 +40069,7 @@ prooftrees = {
 };
 properties = {
   revision = 15878;
+  shortdesc = "Load properties from a file";
   stripPrefix = 0;
   sha512.run = "3bde5cf132c9013bcbb0eef439e61725ea41a09720f98bb53f8bbf39d56d6cde34ed1613b001a86b40221a36233b1d5c226819c94b41d49211065e1477a0bd42";
   sha512.doc = "eff6b91e8fdd7b0a6b0526c7dd2243e32586a5ce12071130f388a911fa34cbac4681d4118b601b9eb979a272bf89b82f00f8ba509fa996521e8a2861f8e84a80";
@@ -36935,6 +40079,7 @@ properties = {
 };
 proposal = {
   revision = 40538;
+  shortdesc = "A set of LaTeX classes for preparing proposals for collaborative projects";
   stripPrefix = 0;
   sha512.run = "d9a352995030efd57ecd46028147a6326ede0695545194a01846d4a3e2d29096ace9e6f69900766906f3ecfa05ce566ebd1c2c5f76a3b2b2646c1e0f865093ba";
   sha512.doc = "53c1d47f2f42c9ceed73f350c2aff9b229d6dc8dfde9e3fb8109971905c5d6430ca52d72551d540f5a1727a767d6cf485d8bca2489f301edfbf964490ecfb5a2";
@@ -36944,6 +40089,7 @@ proposal = {
 };
 prosper = {
   revision = 33033;
+  shortdesc = "LaTeX class for high quality slides";
   stripPrefix = 0;
   sha512.run = "bf2285803a71b00c67a9e64ca5e51bdd880856338b0bf3e95bfb2ff2e78d5cdd0617424ed95918b5982d5befa71476b89567b2107eb0c206f9a9f53966a983b6";
   sha512.doc = "21593ccdc8231e37f0b2938d3978205ab3ed61f74a6e8a4b1dd2cf82da552bd920a7711c025964fdab5661207cbea1aee04244c93552e20d10df338c7dc5c138";
@@ -36953,6 +40099,7 @@ prosper = {
 };
 protex = {
   revision = 41633;
+  shortdesc = "Literate programming package";
   stripPrefix = 0;
   sha512.run = "be8ea34f282fdd739f72f9b33375bec3be5055bc953c7a441d769ac1e7568af9327ae6030f67a805188dbd485ee8223936921590ec86269e371da6d3ee353afe";
   sha512.doc = "95746823c32526fb5e2c9968749a7da2149d23c2ec9f1ced2a655a4fe54ad272bb414abd0be0d78775b0ac95e6440d9b6ead609de7615dcceb0186e4683e4138";
@@ -36961,6 +40108,7 @@ protex = {
 };
 protocol = {
   revision = 25562;
+  shortdesc = "A class for minutes of meetings";
   stripPrefix = 0;
   sha512.run = "e9555a25b0051592bd700df5b7335ad07eff024efd1efc4ef620fe7ad37866aa1edc8f354a7c772b3a298935bcffa9b5b2b49c2b0a14c868ae744cb9165bfd19";
   sha512.doc = "f047068c0b9176087cd56530c9b73d30bbffb0d4b958cefae39f1f3bc924fbe705e81b5c867735715566b674379d1731e1d58b123dbbda3686a2b84f42674338";
@@ -36971,6 +40119,7 @@ protocol = {
 };
 prtec = {
   revision = 51919;
+  shortdesc = "A template for PRTEC conference papers";
   stripPrefix = 0;
   sha512.run = "06e946526f194e36b55c91c46615c74a255411ff3de2fba005a672741830a5bfc162be122a7f03d00374917ab70dd789549a2976280db8c8106999ab7e0854e4";
   sha512.doc = "fb299846eca43fb054ff441c2eed6f87382cbb58419947092d04bfa99102e3db7a8395c9b974395b579f6b5700f55c2c730c162bcd19e5246fbc64b80acf5681";
@@ -36980,6 +40129,7 @@ prtec = {
 };
 przechlewski-book = {
   revision = 23552;
+  shortdesc = "Examples from Przechlewski's LaTeX book";
   stripPrefix = 0;
   sha512.run = "18b9546576957553b477a1c5a90e6780770f18d6aced92b17017c44770b6bfa9c3cf928500a9e56c6c67f45d375bc12ad8ebc97eb1589f3cf7b5b3ed2f7b55c6";
   sha512.doc = "0441621561c2c4208d083f84eaf47573de94248cc1aaf027061de636c1a65f35a307260eaf390257bd02acac34b42963f96030ee27c83650deb11234edec89bf";
@@ -36988,6 +40138,7 @@ przechlewski-book = {
 };
 ps2eps = {
   revision = 62856;
+  shortdesc = "Produce Encapsulated PostScript from PostScript";
   sha512.run = "c43ba33d29d5b23ece2add44310b89036d5c4725ad76da1ed6e17bb93d0e7d103549f4a7e7807f89cdffcb19a95e0df2fe7851989b8a3b691aacfebfd41044ae";
   sha512.doc = "0194c8634c5d31cf441fb3d7fa171d85358db9831c03cc77bac37272ddfed81d8296e9b05eb4daa7c8012f3bad1a01625aeacb2232989969551e01a92912c409";
   hasManpages = true;
@@ -37001,6 +40152,7 @@ ps2eps.binfiles = [
 ];
 ps2pk = {
   revision = 66186;
+  shortdesc = "Generate a PK font from an Adobe Type 1 font";
   sha512.run = "764e6dc186bc0e9c1b5ee0a3c5a256e9d42d81645477bba49c59baafec55bc9af63124f77227ca5b6516bf3fa2bdb8d201af813cff09ac9da4574e70351922ce";
   sha512.doc = "032c5ab3442cf668d6b40851bdf710b4e4b9eca701bf04c87359c579a5fce52bedea15ee5dc9e4c5967fcc0e3b84805450987b73c204e0df4708b65a7cf74c13";
   hasManpages = true;
@@ -37014,6 +40166,7 @@ ps2pk.binfiles = [
 ];
 psbao = {
   revision = 55013;
+  shortdesc = "Draw Bao diagrams";
   stripPrefix = 0;
   sha512.run = "eb391c615ed622d928725b3a227ce0141e75ccb49a0e2e915d41bf12e343a9622d9032c4c3d6935cdf6e36c6afb4d3138d5acf17febe4691fa6e5c34da01c2b8";
   sha512.doc = "8fedc9f84eb5f640ff9644c933b5eea71c1d4f9e03f861ca7e8820a582cb31f38e3a9e4625fb1b28ff189f02b3546734eb71e1491f63d4508d3d7b5f7ac635f4";
@@ -37023,6 +40176,7 @@ psbao = {
 };
 pseudo = {
   revision = 66638;
+  shortdesc = "Straightforward pseudocode";
   stripPrefix = 0;
   sha512.run = "223e02f58f4b1cb137241a273cc6aec3c2923ea49bc74fcc220df449d01e6b3009ac6303a99a5d368ab3cee62d6542707feddeee30f527c2be1ad8771244ca85";
   sha512.doc = "573b023b0d9604ecc98b774f77016fcb971c7c5dd508fd272169ad5d3da9f5273d78c07801257cad5c1461de2ee425f036afdbc827ae343e9ae151a63c86db73";
@@ -37032,6 +40186,7 @@ pseudo = {
 };
 pseudocode = {
   revision = 54080;
+  shortdesc = "LaTeX environment for specifying algorithms in a natural way";
   stripPrefix = 0;
   sha512.run = "8335336bb46c0bc362bb10b6bed547d95230a29ba8144549476ec984323bc79475b11afef91409761e4f651dc4c28669639106d14c4dcceef7f90290e5f77b12";
   sha512.doc = "ad53ed572d7d79caa21baa8c34482ca6032369824967e2966479e85a95d140a6477acf0e69ca7bc2d6dda6f8b161253b1afd43cc53ce4d44641dda64d82abe13";
@@ -37040,6 +40195,7 @@ pseudocode = {
 };
 psfrag = {
   revision = 15878;
+  shortdesc = "Replace strings in encapsulated PostScript figures";
   stripPrefix = 0;
   sha512.run = "71bf5c02e7a8a17eaa891f15c88777dcbbfc3ecf8b4a72dea49683f061bc86427ab813dbac5f5b8ab4742edcb92cd32d510675a80b0b3cdff2dc2cf127ee89fa";
   sha512.doc = "072210deb2635a2032f6ac2d100ef72aa4471f69dec03fbb25fbb0d78b89aa2df0972b244d4335e8ed16e1a5f0cb8e04d22ad44dd5740fda59f9a4e5300befaa";
@@ -37050,6 +40206,7 @@ psfrag = {
 };
 psfrag-italian = {
   revision = 15878;
+  shortdesc = "PSfrag documentation in Italian";
   stripPrefix = 0;
   sha512.run = "4d26f0191ffbbe7fa6a9aae1ece6e72739925b59a1a1db5ad3cbe8f2b3ece92ec8265f008e91fcabfe2e04863300db833eff3104486e9c33985ce5c7f8dd7543";
   sha512.doc = "7a513ff265d259adfbaee9ffb47856602004f19679dad1316f04d36848f2e22bff8c3164ba9b045e7a4a57df76c2ad17b071a9cac68d4b92cff57a29f1e99f55";
@@ -37057,6 +40214,7 @@ psfrag-italian = {
 };
 psfragx = {
   revision = 26243;
+  shortdesc = "A psfrag eXtension";
   stripPrefix = 0;
   sha512.run = "b02063b8c1df58133b951eb10763d3b9099376a473dc980fef801ab565326ac1c5539be3ee94ee5c79837c1e6265cf41d6554f66e8900df2663d5d7e727e0df6";
   sha512.doc = "863df965aa6abb99c115b06ed7d1b1660345e9bca0d0f5d62b6a7ffb55391688a92114edae7bd28ef8b715515c8bcf3c5b4fb4970cc1b6bd9cc068b09595cb10";
@@ -37067,6 +40225,7 @@ psfragx = {
 };
 psgo = {
   revision = 15878;
+  shortdesc = "Typeset go diagrams with PSTricks";
   stripPrefix = 0;
   sha512.run = "75791ac8c340cd72139c50b2e2a05f6001edf2b79bbb9fcb4c9118f2acbc67643469c8f6da34122bf001e85af60b5b0050bf3c7b5bcce7c393e7930e3cfe7eaf";
   sha512.doc = "9d061c884f76eb87e86cb441ebb693a9c64daca024c35dd631d660f3d1f8b1541c40e285d5f4115b36e2b02b7640ea7be70f4527e7ae92c6d6173625b215b7cc";
@@ -37076,6 +40235,7 @@ psgo = {
 };
 psizzl = {
   revision = 69742;
+  shortdesc = "A TeX format for physics papers";
   stripPrefix = 0;
   sha512.run = "7dce0f9b7781ca89ba93c1607acc0b440ffcf482a1927d0709aa0e914531e250a4f1ef24b64ee63008351c7b206fc092f9211966fb92bb6e0214f296da872677";
   sha512.doc = "c337900dc35cf0e02667d0eed6ac28aafc5336fa39bd7cd90dcf910ab27ebb741abe0ad7b0182fa8018c945cf9d4951db062d1ecfa9a9758e6e9940a0af0b0b3";
@@ -37086,6 +40246,7 @@ psizzl = {
 };
 pslatex = {
   revision = 67469;
+  shortdesc = "Use PostScript fonts by default";
   stripPrefix = 0;
   sha512.run = "b08cbb8ed7a4b89b9018b5b31bbaaf8ae9c520ffbf47b54d239b30ca67a26e138206c1f2f9951f8cc5da49357c0eca9a3df9eda4f02119355cf2be0a85c3a825";
   sha512.source = "9943941967009a9d3cac0841318c6a31818f7496ded89fe6cf4d6ee8718913d0145497443762d55e4f80a1fee496b5170ff4b6c13266f04e6ce4c5bc2bdb5728";
@@ -37095,6 +40256,7 @@ pslatex = {
 };
 psnfss = {
   revision = 54694;
+  shortdesc = "Font support for common PostScript fonts";
   stripPrefix = 0;
   deps = [
     "graphics"
@@ -37116,6 +40278,7 @@ psnfss = {
 };
 pspicture = {
   revision = 15878;
+  shortdesc = "PostScript picture support";
   stripPrefix = 0;
   sha512.run = "139d160fa67dbb7cc932fc75dba80dd46a55a1dd5973b27a6a5dd38a6035cb367441b178acaf3c11859ad60103283774ee5e2623a083a0336d5c2ff74a7b82fd";
   sha512.doc = "a743397a0d48c587b60db5f1dcf9e1c22f67ba15dbbce241a2584c95456b3546aebdfaebec9fcfb3dedcac65f7f053ec52cb479d726e5e3fbfe042efcf1ad702";
@@ -37125,6 +40288,7 @@ pspicture = {
 };
 pst-2dplot = {
   revision = 15878;
+  shortdesc = "A PSTricks package for drawing 2D curves";
   stripPrefix = 0;
   sha512.run = "3109c2709323906ec39bd1be6e7c9151b7b07f9d2dafd5f7af61d3facd3e37ae35bd8bd923968102fc702f35fa4a903e9a50d3a7a85a1c088017aababd16d969";
   sha512.doc = "f46a0c8c94900d180fac92e7b393672d010388fe80867f01125cdc7c486eff97ee36cab1aeeeb224b9ab80739c2ddd9e89b84926948acaa8b2b0ae08457ac0ef";
@@ -37134,6 +40298,7 @@ pst-2dplot = {
 };
 pst-3d = {
   revision = 17257;
+  shortdesc = "A PSTricks package for tilting and other pseudo-3D tricks";
   stripPrefix = 0;
   sha512.run = "dfd8a2b79d308cf4ae3bdcd438b967446f8601509fd4afb3f090d946df0cc2d66e9b7071ce33e51ad4cd53b7e62dbc02d861d46a302bfe2c901d1d8c82ab0649";
   sha512.doc = "e8355b936fbc1685edf205e88f2793ab298aac4e4c06de10dddbe1587b5401ba8cc4d2a01dbad3ad56da5eddb27bd6049a41e6da8c139727d36fcc94d93ac554";
@@ -37144,6 +40309,7 @@ pst-3d = {
 };
 pst-3dplot = {
   revision = 68727;
+  shortdesc = "Draw 3D objects in parallel projection, using PSTricks";
   stripPrefix = 0;
   sha512.run = "1fefbd8b34e49b7cf6bc35bb761ed9aa49d062d81f280936b86b58f123cf6023e038308f066a2f9e62c2fbd4181d3dad781525f289a9f5e58acefcdd344fd69e";
   sha512.doc = "7e15351efd6190ff52e10287a7797a6ef0944561e381793290fbb56f6f2f174447343d10c9cfbfd0f61a62755ea0b3eb7adf52dfacf1b0b7ef2ec159f393b4f0";
@@ -37153,6 +40319,7 @@ pst-3dplot = {
 };
 pst-abspos = {
   revision = 15878;
+  shortdesc = "Put objects at an absolute position";
   stripPrefix = 0;
   sha512.run = "b56bed1fedb14fe7cc455fe4e87ec51085e8e09132ff5dbe52083701cdd0d63f2e6dac2ab55838fbefd8e7de9666d0239e9fba712573a51dce2804d31ab140c6";
   sha512.doc = "77754a1c27c083f60c2836483a60bfb6b4c826783d5acd16b1eaa9b7fe7aba8820886442ed28a5b334929a3f21f0f1b4487c7403f8dbfc3ad3cfc08407e35229";
@@ -37163,6 +40330,7 @@ pst-abspos = {
 };
 pst-am = {
   revision = 19591;
+  shortdesc = "Simulation of modulation and demodulation";
   stripPrefix = 0;
   sha512.run = "a5f466dacd393ed7243fa2cb43aed0a5bb8469a51aa82fac4b53c47a474a1d9758db4d7a001cee49716714049499339567cb62a66f2731ffc7646fecc15c7784";
   sha512.doc = "edea0ddc3f5472a86706d1823fe78459d2908724daf2b9bfe44b41e749f2b41483000602817a45a5e41869f86d4034ea52640bdffa334af54e4964510768152e";
@@ -37173,6 +40341,7 @@ pst-am = {
 };
 pst-antiprism = {
   revision = 46643;
+  shortdesc = "A PSTricks related package which draws an antiprism";
   stripPrefix = 0;
   sha512.run = "dc93e3a8a040a2712f701c2fa89924c45749824d20ad814a9f04aa423e15caed3a457b762dc7d30cf5c9e3afea378efc303851af919831c0969cde50b9adea57";
   sha512.doc = "df528e5693cbbdca80a88d02e2b8487b70c188109825da66c9d9042056c6ba62e361fcba2ac747d69a08a4c8d78f27534640ce55c583289c3f12c2eb4c57d861";
@@ -37182,6 +40351,7 @@ pst-antiprism = {
 };
 pst-arrow = {
   revision = 61069;
+  shortdesc = "Special arrows for PSTricks";
   stripPrefix = 0;
   sha512.run = "3e928de0ec8f1c9dd80143e35e3dcc9d51ff106fa12193798f5d2a77f49b3049f042273102b3dfd1460de68814ab32a3aa4eeb14daad846d729e7f6ddcdaa5fc";
   sha512.doc = "19878f237410d2db75096be382efef2ab1c5d169b4bf48b393956bf13a697d2c96b0da528c1044ee9b36ca8231ba4ad2b478bee24402033ebbcdf2778e4128a4";
@@ -37191,6 +40361,7 @@ pst-arrow = {
 };
 pst-asr = {
   revision = 22138;
+  shortdesc = "Typeset autosegmental representations for linguists";
   stripPrefix = 0;
   sha512.run = "c5ae73e1553b564a90d2c77fa434c360fe2858657fb5ff4c6ce1cbb46838fea9c0dd7a8d92e2048a8ed0d748839518b461b0727db3b7937c4e39edf85277e081";
   sha512.doc = "560ea68a6f02dc3b79c64554652a9efd52c7fb00d07e7ffbc9b92ffab251854e07e87642028b94fc42bf7d01fedd82bfd50913f9c42d1c37d76c1eaba761ed00";
@@ -37200,6 +40371,7 @@ pst-asr = {
 };
 pst-bar = {
   revision = 64331;
+  shortdesc = "Produces bar charts using PSTricks";
   stripPrefix = 0;
   sha512.run = "a4ca273cf21aade2adb15a8fae3d7aae9b24f4cc4a81002cfe0471aed7b5cc7be516aae26151a8bd2d98171f5524686105f3576df8cb0ecc6e16d690907f7156";
   sha512.doc = "7b090d51bd669c3b252f002855d60f008054f12966d01cffdf6163e4360fd88fc064459d42d756737b1a915d87ffb8f789900be480eb7be1f3925389e2873f58";
@@ -37209,6 +40381,7 @@ pst-bar = {
 };
 pst-barcode = {
   revision = 64182;
+  shortdesc = "Print barcodes using PostScript";
   stripPrefix = 0;
   sha512.run = "c79fc6d5ff483278210e654a3b325a6acd2492d6cdcb8958d5e4802bcec6aa119887bacb82a91e312c39ff5ac12a62d28c04528439684bf000dc1f1003ce8651";
   sha512.doc = "ff4d449709479f9e1218a2fa3ba642660b09556c96cc94a1b65984ae0723e8b730d09634053feb256bf196aa183e4f8a46ed3efdd9d91dc5a03b4a6d4d59c0f1";
@@ -37218,6 +40391,7 @@ pst-barcode = {
 };
 pst-bezier = {
   revision = 41981;
+  shortdesc = "Draw Bezier curves";
   stripPrefix = 0;
   sha512.run = "e2277175eb2087e13ee0a1100d602730514e1e5bb023d4db7163ba4113f69c9fedf74ff50369298ed970b89425b824cb8619e2cac4be463589edbfd747ccc6c5";
   sha512.doc = "5126769fb89900916a52135af0ba459651083b01db466471cc984b6dc837686cd780bda7c3295b6afe9a7bc85180b3acd95c015084d49f46049adb2fd84b5748";
@@ -37227,6 +40401,7 @@ pst-bezier = {
 };
 pst-blur = {
   revision = 15878;
+  shortdesc = "PSTricks package for \"blurred\" shadows";
   stripPrefix = 0;
   sha512.run = "5726819bfa08fbf6e9b5a2c6f93008e468b759a825fef04739a47e756d4b12a99aef604d64618081b1788b5fed9247c75dd3580a899771b148306880341f0444";
   sha512.doc = "5e483141d8f5ad03421d9c7c5feef8baaa3b522385d307022dd617af0889bf57d1cf603a1d519a5d17d8dc918441ca3310d766e4dddb7ed6b8155985186b5e7f";
@@ -37237,6 +40412,7 @@ pst-blur = {
 };
 pst-bspline = {
   revision = 40685;
+  shortdesc = "Draw cubic Bspline curves and interpolations";
   stripPrefix = 0;
   sha512.run = "1f39a02cb0d56b4fcb8ed3a3768b59a9d14ac14769783dfde7108d86a8c6d68d79342df501c60efcfb8aca4c7f97fffecfe4cd0ea0f4fb76e528f696180b6dfc";
   sha512.doc = "1f2b8c3f5d85db4215cb11fcd663c33fc1e34e764432a2285f879ec8bf7acb9d09368c6a9910618ee99c3305d701aff5e5d401c227d0c1db9028be3690b5216c";
@@ -37246,6 +40422,7 @@ pst-bspline = {
 };
 pst-calculate = {
   revision = 49817;
+  shortdesc = "Support for floating point operations at LaTeX level";
   stripPrefix = 0;
   sha512.run = "b40a89c1e0152459e9dde468379b1a848955d40b9d9e05223544347d6057affac092a503e6307904e485a81de781eb9455abd948bef7f343359d44abf37f93ea";
   sha512.doc = "d6e936e7bc53ae3296812b1d33ecf6ae890599cbb9fa6afac719d8ebcca4516772ff6c18f27e8d825ab959d430cbfe8876b2bb97e480bf6464690b28cedfc2bb";
@@ -37255,6 +40432,7 @@ pst-calculate = {
 };
 pst-calendar = {
   revision = 60480;
+  shortdesc = "Plot calendars in \"fancy\" ways";
   stripPrefix = 0;
   sha512.run = "0e9bece02b9deaf677ef2d6f02999d3b4b7bc7028ec768fb57e69fcd3c1c26d1ddee1c261cbdce8eb8cb18c647dcdbca1448860d6139f01e17f234b3a8a0e793";
   sha512.doc = "07796be64b64e6c8eff2797d145933bb45c0e3ec0ba50e6fb41974d2dcabce09f2f781f989a62a5c5fe6295af3ddbce10ab811c2abeafe2d8b56b7a603f27412";
@@ -37264,6 +40442,7 @@ pst-calendar = {
 };
 pst-cie = {
   revision = 60959;
+  shortdesc = "CIE color space";
   stripPrefix = 0;
   sha512.run = "fcddc7d04c259132a45fb30850c02b613ca71e9c3df26729166b142e953e997d3c618d835be472d98c0aa7a50caeaebaa5631cfa64cf132aa35c2d29be59c63b";
   sha512.doc = "431f1d8306bb623834ef5f5d732e8fc413947b5f3d31d07874fc9d7ad0897046a4cf919e6e2e520b23eb9f268cfbdaf547dfe7e8e72d44ba92ba9cf3b7a4fabc";
@@ -37273,6 +40452,7 @@ pst-cie = {
 };
 pst-circ = {
   revision = 60464;
+  shortdesc = "PSTricks package for drawing electric circuits";
   stripPrefix = 0;
   sha512.run = "2335b728be1227d4631e09c3994e9e1f559839e871e29854e700ed74b9031a7d2ea58cc744d20b459c99f1954b7faaecc2ced19c449e98b97fe26b2fa71755da";
   sha512.doc = "c2eb37603cbba656eb1282130e112d0c3bbb49d4b3703c3d9b19d0d250d272d31fd19d2790c97cf8cd5226b0735e8466eab824a35754f41d7584208e606a6ce7";
@@ -37282,6 +40462,7 @@ pst-circ = {
 };
 pst-coil = {
   revision = 62977;
+  shortdesc = "A PSTricks package for coils, etc";
   stripPrefix = 0;
   sha512.run = "bf6e1671f6c1d6d7fe348958042892a10168cf96e8626e4d15cb34089110677ede3535abf96e76847b6ad8d3ca910030e975e7b52fe8b168136c98a05f6915f3";
   sha512.doc = "84fb627c91d56e1553325c8d87981ba6ab1001b8f0163b45bf1a7352026853c8d086350191a4f98c01bd6d59bb5f4b638275c38b45eae6d360c8dbba1a5b8867";
@@ -37291,6 +40472,7 @@ pst-coil = {
 };
 pst-contourplot = {
   revision = 48230;
+  shortdesc = "Draw implicit functions using the \"marching squares\" algorithm";
   stripPrefix = 0;
   sha512.run = "9930e77c3ac5adcd9e3f14c4785a52a79fe5068b5ee239d1c9f052181657d2c5f16b082a8900b9571094ec83b7326be28a567dd39876332e5f68aa6b1c1b7083";
   sha512.doc = "1a52121a22c829c9c5423810f529cbc4cf3e49a805ec4fae123dd795dfc8fc87bebb13653a9d173ca962bba716c8428effa4410e48085af4bb208331e4e89bce";
@@ -37300,6 +40482,7 @@ pst-contourplot = {
 };
 pst-cox = {
   revision = 15878;
+  shortdesc = "Drawing regular complex polytopes with PSTricks";
   stripPrefix = 0;
   sha512.run = "b7e0e787e5a6d825383a5c06d7aba34e5d7cb12258925b7f0384ec069e873a6652e421f963147648903f6bf063d9592089adee5b043f24dac10e30dc344f0608";
   sha512.doc = "1de830f83253ef11f092c9ec0e698ff36971c7b6d4237c8eb9f6712bde051b9302d657faa21bf56d34287c838453c611ef1a7c70c09e55ea647bad48ca216e1e";
@@ -37309,6 +40492,7 @@ pst-cox = {
 };
 pst-dart = {
   revision = 60476;
+  shortdesc = "Plotting dart boards";
   stripPrefix = 0;
   sha512.run = "f8d2665eefeb791672864ae5fe17aebe6b83ca776a6170c46672cce02ab639fcffb011afd922b1dc9abb98a70d6f81cf4b00321e2b69542d532c3c72341e28ac";
   sha512.doc = "a0c747f8736607f920174b2a80ab07563d1cc7114d6e2e751f7e2d9835eed9f656f4b57b7b9061ad8501f4d6ba26c1fad37825b3819be1060782050ece94199f";
@@ -37318,6 +40502,7 @@ pst-dart = {
 };
 pst-dbicons = {
   revision = 17556;
+  shortdesc = "Support for drawing ER diagrams";
   stripPrefix = 0;
   sha512.run = "a09ba8f72ecc1b58298b436c47d3922b494337179bdf789468aa3a2236a5e2bd0f9ddd9b491c1a2eb181d08090cc1c6d8c4a0e9e56cb8619a65ce168d7efd355";
   sha512.doc = "fc0a74b0ca228ff598f3f88840ad1b87654cd7205afb757e6eb6d98abb0cd56cea0ac3ad7b3464a9a5b09d3d4f3a8489228b19c78edc8ceeb8b10f5d40e18540";
@@ -37328,6 +40513,7 @@ pst-dbicons = {
 };
 pst-diffraction = {
   revision = 62977;
+  shortdesc = "Print diffraction patterns from various apertures";
   stripPrefix = 0;
   sha512.run = "15db0252472e17f5d4d702d98961babecacaf7753c15ff8e615199f868605e133188c996756cd6cb5b379616a494454dadeef36678709eae8128b0c69623f417";
   sha512.doc = "a90ff70c942ccf4526ad82b83c0666db05b3aecec3e3b00fc572a7aeeceaf6487407b178e00b929c6d3402752d0b96d345735c5731ce2046fabb156df2703c07";
@@ -37338,6 +40524,7 @@ pst-diffraction = {
 };
 pst-electricfield = {
   revision = 29803;
+  shortdesc = "Draw electric field and equipotential lines with PSTricks";
   stripPrefix = 0;
   sha512.run = "db9f7474d8290640d960f411574b6dad9f9b705eaf68644e001ebfc5050328673f0c1c31f925c6a2cd2279b9bb7ff89cf8d21e71a99e4b937137af404d046df0";
   sha512.doc = "9d89a2818a56bed9e3cda9069f91cb49beb0182e0b24474051bb28c4299439a7b5477d09fa1caf23b855226d4d4441e48c9fba4a4dd1cd5eaf044a608876e5ae";
@@ -37348,6 +40535,7 @@ pst-electricfield = {
 };
 pst-eps = {
   revision = 15878;
+  shortdesc = "Create EPS files from PSTricks figures";
   stripPrefix = 0;
   sha512.run = "90be1124bd22958b0a9cbb45a3b76513e514131c416c98d7f70ca101e7841980c33bd8380e888054cedb873143aad168b0dc25918d9e241f763b9be3ea1a76d6";
   sha512.doc = "70542680c550bc11bef851cfcd12010e17f35dd75adfa390ffadc7b920c2b357594ca514fcdeaafcf1bfcf1b9e622b23c680adbc64ae4787fa96ff94f9a62add";
@@ -37358,6 +40546,7 @@ pst-eps = {
 };
 pst-eucl = {
   revision = 66924;
+  shortdesc = "Euclidian geometry with PSTricks";
   stripPrefix = 0;
   sha512.run = "9310a2ce965b8cf9b03aff8c505515cbe386e12fc5973a4d8f26bcf2541a856605c8f14849baf649b1d1c24219dd4fec6ea5375ea43e8ff533171dde4e7d5ea7";
   sha512.doc = "1054740975d1be6100ca269221925af22fd1760a5f88ad942be398a889f59209da79e31c53c702a02fe639d218d80820c3f1d1033349c283e9fb6e05c7e7643e";
@@ -37367,6 +40556,7 @@ pst-eucl = {
 };
 pst-eucl-translation-bg = {
   revision = 19296;
+  shortdesc = "Bulgarian translation of the pst-eucl documentation";
   stripPrefix = 0;
   sha512.run = "ba2a7a76db77f4db3a548654e53d587b8f5b3dab9fef56b1f8c2640bcace64237e0bea5129025a07a490a2660ccd019fc5e83e3db504c6cd30b12b19df755f8d";
   sha512.doc = "9f6d0153e79a205d0fce5b289fa43317ded0b70abc06139a503b98199584e8cb12b083c8235b6b53ff2a80cf249a4a43cefd3e0b39a9a406c62c1e684bcb35eb";
@@ -37375,6 +40565,7 @@ pst-eucl-translation-bg = {
 };
 pst-exa = {
   revision = 45289;
+  shortdesc = "Typeset PSTricks examples, with code";
   stripPrefix = 0;
   sha512.run = "af3bf68bf2401e0bd7023762748180bbedae1a34fa749b02cccd6b498f1f7ed0ca0e929e1b290f9b4f56b7f30718cc602d54b348e23f73c4cfb4d72ea22ffa4c";
   sha512.doc = "9f0310ad130ad4693575e33bb2f2deb795a8eb4cc6b3f5fa946095d979ad8a1a348feca0ee5421b4831fd16a1de23608013b69d027b0dd37f782113e7de868bf";
@@ -37384,6 +40575,7 @@ pst-exa = {
 };
 pst-feyn = {
   revision = 48781;
+  shortdesc = "Draw graphical elements for Feynman diagrams";
   stripPrefix = 0;
   sha512.run = "c1ac123bac3f92fd92321387be28f519963ab196fde7ead8ed6b4c93ff9fe5cdf07bfee65bef67b9cd70d020adfa99c72592df9be376d69c5dadcb8bd0d6963b";
   sha512.doc = "e30fc57ace8fb4f0c36fd1a07415e894abe6840592a9a62b9e45c0663281a79532387f5d37136e9cb5e7b27f4c0d7722e6d1a9779e1a57a2fddbd8d0324d1424";
@@ -37393,6 +40585,7 @@ pst-feyn = {
 };
 pst-fill = {
   revision = 60671;
+  shortdesc = "Fill or tile areas with PSTricks";
   stripPrefix = 0;
   sha512.run = "5fa4ae2e862a9297073bf0559dc46d44109d1153571eb8538650410c96f5c43a9a8c85a379690820f63a5198ac1983fdeb514bf4b1342349352f1a16ef3ee375";
   sha512.doc = "ad51d3aba8d9ee19b4a53081a5956e8cf26f2673faf521af088076c6a356e321ca2fb9a0b504e61529c5a2ae49480b3918bd12235a66ad5c45035ce92e2eae92";
@@ -37402,6 +40595,7 @@ pst-fill = {
 };
 pst-fit = {
   revision = 45109;
+  shortdesc = "Macros for curve fitting";
   stripPrefix = 0;
   sha512.run = "ede8c3503963f44d65caf46975cebdad296576742a771243914b49c6d802deb2f24e816dde7fd9a4bea7fa0c39965693575676ebeb648da099d88ee50bdacb8b";
   sha512.doc = "c8619c7c98cd42884637de98c88d916e18db273371fd64090d5e9789570153b2508f0adb90fbec9c5184f6ef1ab24559b04daccf8dae7c5f65453044b9bfb73e";
@@ -37411,6 +40605,7 @@ pst-fit = {
 };
 pst-flags = {
   revision = 65501;
+  shortdesc = "Draw flags of countries using PSTricks";
   stripPrefix = 0;
   sha512.run = "142a1d78f1423474a935bcc977964eeec310f0e8d8037149f4f5fbf691789f0a9f2986630f629cacf319e34ee640902556b0b59145ef2a763006618c65e21f49";
   sha512.doc = "4c8bed4fa6f527fd5e0262692cf4acfd52d36bfe8461acb97615c127ab54336ada7a274ed9e5a7a75d26cf764c2f63734aa75d5bc45ec833f3b77b6179fa74fe";
@@ -37419,6 +40614,7 @@ pst-flags = {
 };
 pst-fr3d = {
   revision = 15878;
+  shortdesc = "Draw 3-dimensional framed boxes using PSTricks";
   stripPrefix = 0;
   sha512.run = "ccd418ac7ac5ee1885cd2b7008e867c08cc0fc13fa97e264377446d301cef1caa82b8552731a4c7d3131f0e2ddaa0267276d5b1726998a0be2f149ac67bbffcd";
   sha512.doc = "48c559c27999b06d63ab5c33c9779d0902e05c80c51ba9225f0def724e02892557deda44add976bd5fb73403bbc2615854ef9ea398b830357f0fa5be12702e74";
@@ -37429,6 +40625,7 @@ pst-fr3d = {
 };
 pst-fractal = {
   revision = 64714;
+  shortdesc = "Draw fractal sets using PSTricks";
   stripPrefix = 0;
   sha512.run = "c52e3684398956e0cb1c79c9d1fc145e3b012d011d60bae1a756686529cff076331bb1e8d1895fc2dc46fbda8616a1ecf5c30991778b6041cd40e79fcad32f25";
   sha512.doc = "657b15f4342764d64aa54c1bf8a86be16ff859c7810e86f85db0b5c5a32064b1caf57944cea09a267f7c5bebad9db7ffdbce5d33a57c65045dab7f3c1d5eecd1";
@@ -37438,6 +40635,7 @@ pst-fractal = {
 };
 pst-fun = {
   revision = 17909;
+  shortdesc = "Draw \"funny\" objects with PSTricks";
   stripPrefix = 0;
   sha512.run = "68d0c52bb40354a72b2eb14d2c10a18266badedd452a57e4c2a9aaad343b94f5c13f89853962e85c94ebed9274e87c44cc4ac1fd0203ec54097f71e5c4a15fdb";
   sha512.doc = "b4f498e3f9d97be8fb8918abe5139d431656b52ac592ce9f3155c6dc7afcea17e51996dbb275968950dfae179b336ef923b2d88efb4b77506c64b5c775920d38";
@@ -37448,6 +40646,7 @@ pst-fun = {
 };
 pst-func = {
   revision = 66845;
+  shortdesc = "PSTricks package for plotting mathematical functions";
   stripPrefix = 0;
   sha512.run = "28c50cbd77b2400cd262b8156c01c2adf655da279a33703502d79590174824b0470a788db1a04c7439c63d1870eefa19a559f6f76c0c80c076cfb259eb920970";
   sha512.doc = "b25be44e2e42b35ac48730aeb2d705082b99d5bead17119e1c5e353790f25aabd294043f753291265dd102ad7d8448c1592e5fa486fda317c1e8bd03aa1a3ca4";
@@ -37457,6 +40656,7 @@ pst-func = {
 };
 pst-gantt = {
   revision = 35832;
+  shortdesc = "Draw GANTT charts with PSTricks";
   stripPrefix = 0;
   sha512.run = "61b59f922129de60bf954145a0c83a5bb4c0232270b8213b45856a69ca56f32a9525d70ba86e51f95fa1c8836d4922a0dec971dea16f13f0c2f83c80fbfefc56";
   sha512.doc = "950a55218077d7203988c42c83445bfb10f53c7292cb85bb4178ab20b9f1404ab4a864266e52c3af074c45cc27b6777dae71af41caf270143160d3d59e222731";
@@ -37466,6 +40666,7 @@ pst-gantt = {
 };
 pst-geo = {
   revision = 60387;
+  shortdesc = "Geographical Projections";
   stripPrefix = 0;
   sha512.run = "4e97b80679129df2cf52a8998e1b131b7ed5ebd21046219843af1ca81272a84c3a8fca72810622a7215385207eb541cd2bfac65b791920da61c233f969423c3b";
   sha512.doc = "7dde4c2584eb3c538a21fadfb9c49db02ad190b0778b64a4a51be7b777b4971302151a4f6ee7c5fb29f6c156c34a420b1734471f550d541bd2eb87877ab1543e";
@@ -37475,6 +40676,7 @@ pst-geo = {
 };
 pst-geometrictools = {
   revision = 61430;
+  shortdesc = "A PSTricks package to draw geometric tools";
   stripPrefix = 0;
   sha512.run = "838ddf95e3ba7a13fcdb5cf97d85647cb6b15bb6735947d26e358af83a34a4d5bf55530c4624f006eff4a9f0794d1fd7f5a3ed351607243e31537e36bda33b96";
   sha512.doc = "4b7d2316dff80420ed5ce03046115670a4ad51c705dd960f56f6e7debf20b0d3c86030d93cc635410e01535aec1b42dd3497d18126e6c86bb9304c5cd506306d";
@@ -37484,6 +40686,7 @@ pst-geometrictools = {
 };
 pst-gr3d = {
   revision = 15878;
+  shortdesc = "Three dimensional grids with PSTricks";
   stripPrefix = 0;
   sha512.run = "85cbaa41c3cce49aeda36ef55a89122370fc23dc91c5e5e63790aff2b8b748eb6a13a9a921836b2a471ab2deb9577ecf59be0bc6dfa4d2f1ddcf17bc33ca4264";
   sha512.doc = "bd9026c7730dce9c09a092cc420fa7ca8d7c85db4a1f9a665a64f933595b43397027904c08311ab2301305f79a426a1b726b8df2c237c8a545726fadf9b8ed30";
@@ -37494,6 +40697,7 @@ pst-gr3d = {
 };
 pst-grad = {
   revision = 15878;
+  shortdesc = "Filling with colour gradients, using PSTricks";
   stripPrefix = 0;
   sha512.run = "f98fe4e4996e20947d90ef24d6825d72a8ceb6bbd586b0de9b90d5d73208816395e5b195dcda2816c8e709fa4c408f3b814c02911488c83a207039d28654b9e3";
   sha512.doc = "11f4a4de67f92bb2ba77457b5940e2b848985de111e3307215981e6d39617b8590316de5cb6e5002748d9e951be405e3f938d1708c28a7970be53808688c10ef";
@@ -37503,6 +40707,7 @@ pst-grad = {
 };
 pst-graphicx = {
   revision = 21717;
+  shortdesc = "A PSTricks-compatible graphicx for use with Plain TeX";
   stripPrefix = 0;
   sha512.run = "0d3f2d072a7bbb58ff555add4df7347a4dcba929bfba49d25dbf6b95956462a3fda07818135fe40f737151f323a27225983f656389f9a91a8295145ebf2877a1";
   sha512.doc = "8deba57cafa74987ff7dd22b52db699fef2067dfb62e8e2c7e8e17b662f1d7644278272ee97209b3c109345ae8c295e125d1b195ff68cdfa8362eb3b7ad1bc84";
@@ -37512,6 +40717,7 @@ pst-graphicx = {
 };
 pst-hsb = {
   revision = 66739;
+  shortdesc = "Curves with continuous colours";
   stripPrefix = 0;
   sha512.run = "d3eef4f4672b938b84d1fafbf22889f9d7116af9a0574a95bfe2a7225d4a7185abcfb862ba7309fca924993f9665f2086a35edde97306c4b2311cf18f1763929";
   sha512.doc = "a2664b558f51c43ead6c078f0895f4a6c5c55045b8485e7f564bac10279b997fe082279e3cf2c35a7f47f78fd826ecc5a65daff112dc8659768c3b6275b7c854";
@@ -37521,6 +40727,7 @@ pst-hsb = {
 };
 pst-infixplot = {
   revision = 15878;
+  shortdesc = "Using PSTricks plotting capacities with infix expressions rather than RPN";
   stripPrefix = 0;
   sha512.run = "a8e69a4bc20752d5f6d455f34fc4810e569a5f444de257c1b50c76d567a23d868b0e19c9f4656370a12d3a53ef35ad43e7dcc946782c19ef76091634bc2440a0";
   sha512.doc = "0b6958f851af834917ab04f39bf60d50e26eb61ea52c9dee91274714ec0a87519323b1f9ef7d665f0a6d05cc97e6f8b1bf51617f2c57a5d80ebb96ba1aa94306";
@@ -37530,6 +40737,7 @@ pst-infixplot = {
 };
 pst-intersect = {
   revision = 33210;
+  shortdesc = "Compute intersections of arbitrary curves";
   stripPrefix = 0;
   sha512.run = "847a2532362e570d3e14ac4aadedf0cf1ac0f2da1991837abcb6cbfa607357d8a451d852bec9be50ea8b2995716613475c4c1ea1c3766169902eb82e70aaba0c";
   sha512.doc = "e8775b9d8adbab9e7ce63d595cb70747dc3d850c4b43095e1a35f6be8093b61ec92457c7fcf6565484e62b1aa7bec82700d8ccb2dc8dca0089e56bc8be5e762a";
@@ -37540,6 +40748,7 @@ pst-intersect = {
 };
 pst-jtree = {
   revision = 20946;
+  shortdesc = "Typeset complex trees for linguists";
   stripPrefix = 0;
   sha512.run = "9947e00e7fdac25f25f1f828ff5b9a3b962b1d033c57232d2d47736ee7a675ee48367aa934153ec17ae3f2eaa763044dc067d83b2248c5f42a93eb5d9a79e292";
   sha512.doc = "4d0a2432e9880a71f1d7b6a9965dfacbebeb44ea2586fd428fa58f634d7670d763e9ac293aeec6adda6cdef98736a7b5d341ec41d89bf3999c4cfee9066001ae";
@@ -37549,6 +40758,7 @@ pst-jtree = {
 };
 pst-knot = {
   revision = 16033;
+  shortdesc = "PSTricks package for displaying knots";
   stripPrefix = 0;
   sha512.run = "f481b82e5d21dd86eef3cf64ecedc45420b33e43619574f072a050fd70a6446ef8d527607ed5a929443ff6976cc94a03817837c8776bb2ee9794fec80a4c0751";
   sha512.doc = "a8a82ce955b707c6ecb319783cdc4fc8406411dc8d711321919413d84ca42197828e69ae2b6b368a4b5b326650caf5393cb2214a7cd8b7bc0cff742b9b0d977c";
@@ -37558,6 +40768,7 @@ pst-knot = {
 };
 pst-labo = {
   revision = 67147;
+  shortdesc = "Draw objects for Chemistry laboratories";
   stripPrefix = 0;
   sha512.run = "d04fe4359a34f466d306265919bb13483d5105d6c77c8e297f1f964fc8224b6923773c4d3a0c58f8dd9b809deddb4dfd4f99f205f09de6a9e64a2398b17b7ae8";
   sha512.doc = "98d55a590607e78c55402af375fd25dbe1d44bb4793d5dd3327311f9e9457e8b6073cebfa3dc993560d5144426e8195ec450b030a8897c84c8b711afa28a3f91";
@@ -37567,6 +40778,7 @@ pst-labo = {
 };
 pst-layout = {
   revision = 29803;
+  shortdesc = "Page layout macros based on PSTricks packages";
   stripPrefix = 0;
   sha512.run = "6d4c06efe0d0095ba52eeee25ffdaf44f836e1e41840d8098e25c6fd3b5ee79d28663ef7f02ddd7d1ba21228bf4f9bd5a66548e3aef642a49cc9aab5b4b24fba";
   sha512.doc = "fa32cd065979fcaf2105372155ae8debb399a0f930d6b85e7ca4a69d8b76bc0d7fb717ebdc8fa4c9794ea03268c2079b93e0bd6453155bf5925defb75cf05e08";
@@ -37576,6 +40788,7 @@ pst-layout = {
 };
 pst-lens = {
   revision = 15878;
+  shortdesc = "Lenses with PSTricks";
   stripPrefix = 0;
   sha512.run = "406bc53d476d47d464f7fb318e75a5aeac85cf4239ab916e91728f5d8c0c05a9fd4c4fbc24b4b058f1c15d1ee4c6a0d45511b8cf6b288bf10163523b2bed0f37";
   sha512.doc = "8d29f5014e0bae5d1fb22483ca3231e3631c76820be080b3a588660f868ece861c2d816291656a45c8a33356b992cd6e2396e9d73f4ab316b877b2ed8b778f7e";
@@ -37586,6 +40799,7 @@ pst-lens = {
 };
 pst-light3d = {
   revision = 15878;
+  shortdesc = "Three dimensional lighting effects (PSTricks)";
   stripPrefix = 0;
   sha512.run = "2bcfd2835e20302ec865667a44af8dec63c6c006c8a3e39b048464e129ef04300d0d7c2e23f324a8acee0e1ae1439e75ce642f7b76a8f1958d600546ac7c220c";
   sha512.doc = "166f47222230e24530508e3ca66c881dcc844cb8cb35b92fdbeab164b964ebf2928df3068d79467fc8a9a8a4db81d2be48350036169605365bda116cbd86d095";
@@ -37596,6 +40810,7 @@ pst-light3d = {
 };
 pst-lsystem = {
   revision = 49556;
+  shortdesc = "Create images based on a L-system";
   stripPrefix = 0;
   sha512.run = "0da3611c401895f508b6963c46f781863ab6b42ced2addf3413b74ff1c14daf42cdfb5c166072e18427871ed6d06c5cfe3b185f0af30cb25db2f346828ee1682";
   sha512.doc = "0b277cd979f4a12abb57b8e6d2562b156bba74e0ca46da10da17a6bc505c6747592b5f19c5a3e9b72f99bffabcb45298663c6dca33c875c923408646c4c5f6d8";
@@ -37605,6 +40820,7 @@ pst-lsystem = {
 };
 pst-magneticfield = {
   revision = 69493;
+  shortdesc = "Plotting a magnetic field with PSTricks";
   stripPrefix = 0;
   sha512.run = "c0260df43810caa61a033b835e1e60544421e008832091ead56fde4140234a878ba31dd5e98777fc3a58b3e6247daef9a80da63d7131a717e73f1c935db7fcf2";
   sha512.doc = "98f0e0464e41b12474bb5b5c6e931d7da60206b766a39877f36d3d8f68a016ed7c9772483b1cf30d46a83a9a05576093b2048579ae8d4133806198602f3aaf10";
@@ -37614,6 +40830,7 @@ pst-magneticfield = {
 };
 pst-marble = {
   revision = 50925;
+  shortdesc = "A PSTricks package to draw marble-like patterns";
   stripPrefix = 0;
   sha512.run = "e16ea0ed61c6548d43746f251bf8581a00863370b73d46077e5510fd167d63a539ab4543f0ad7db704571b5274cc5756fb713e5182c8abea404708215a98849b";
   sha512.doc = "5684abd4913353b7a4953ed1b5878183f1c10dcc1bdecea6f3e9e6adef7c73c7f16cdade2b5e18f4a645c203dfb15a3917740a7638c410002eab892bc5ca6acd";
@@ -37623,6 +40840,7 @@ pst-marble = {
 };
 pst-math = {
   revision = 67535;
+  shortdesc = "Enhancement of PostScript math operators to use with PSTricks";
   stripPrefix = 0;
   sha512.run = "12bd81bed4fc5de91cd4db49cb97a9911848c347a9a9325cb61637368bda4e0f35f9c5c348bd385d46907b61aa06682ae1a9d70616d4c5c81659550064d4cc0c";
   sha512.doc = "1b07b3086fa3e1d12f255632ceddf5b30c219472763cc43c0649b669a6014bb76e3a0fe7c182d0ea24c54fee8d2efe8399867321992e20f7f418d28198661bd2";
@@ -37632,6 +40850,7 @@ pst-math = {
 };
 pst-mirror = {
   revision = 60506;
+  shortdesc = "Images on a spherical mirror";
   stripPrefix = 0;
   sha512.run = "316a6cd32fb2b8c59f554a49695ad097627e641982d1a6a8b1e5db12949c2cc84dd150a190834604d57ca10735779cb09983c28e7339e92f3cb82d642dc9b61b";
   sha512.doc = "f577868d1cf76a372a3c248f6dde28ed423beaa5e445a6a343d9b5e4c2ab9f737e4266c12702fcbf6dda91a6639624ff99b4cba29d65ebd4c7a0c3f3ce1323b3";
@@ -37641,6 +40860,7 @@ pst-mirror = {
 };
 pst-moire = {
   revision = 60411;
+  shortdesc = "A PSTricks package to draw moire patterns";
   stripPrefix = 0;
   sha512.run = "60fb7e65170ec16f08f4109794afd657436fbb42a18feaff2997fdef20e18376810c3b34e0e341a5e577a6d08d6bf6314adfa51611d83a4e66245f112581d678";
   sha512.doc = "f24fb6a5a34a09f7b519f864c40d4bb4afd4b37f12280877fa9e6edae48a655c12bdf13eb7d13e9ce43ffa849a183c6a81b8040f61d90e9ec514b07352fced3c";
@@ -37650,6 +40870,7 @@ pst-moire = {
 };
 pst-node = {
   revision = 61838;
+  shortdesc = "Nodes and node connections in PSTricks";
   stripPrefix = 0;
   sha512.run = "663d072baef5277519157175183313c9b80385d1574dbbc1502b60aabd111688286499426e88d28b3b5252b8ff23b3d325981b6e14b846fce3b92ff391ab5a7c";
   sha512.doc = "5cf9cb60b0c36915945a4e2fb4e79a35e2ff9e957df1b1e39d8158560843fe1dae6867aa6270e70cf3ba387b104e9dd8b6965434168d89748e65aa77368a0707";
@@ -37659,6 +40880,7 @@ pst-node = {
 };
 pst-ob3d = {
   revision = 54514;
+  shortdesc = "Three dimensional objects using PSTricks";
   stripPrefix = 0;
   sha512.run = "19cdca2466071a1c6236fd4c149d4962dab3aa0b0c097fa408ea60c2bb46011173033bff02d33f596c8a413ad781c14f785b39bc28be4c85aa66480cb8a7e295";
   sha512.doc = "78ea80a6d63ccbc69640e6e18e8ef43526fd4d4b51a63dccd23429ea44843a0f99f522bc34a7cc88d6ffe48843313da64c550464f28ad48726554bf74b9e9cc5";
@@ -37669,6 +40891,7 @@ pst-ob3d = {
 };
 pst-ode = {
   revision = 69296;
+  shortdesc = "Solving initial value problems for sets of Ordinary Differential Equations";
   stripPrefix = 0;
   sha512.run = "1474e118f16c644c7d63ec89a42ea598443cdeed56e965fb85bc75adea4a8d5572a49f07417786682844523d30438a0a2798e9e5635879891f039453e53c4264";
   sha512.doc = "f46dfac052060fbe8f41d74a59e85c3f7b0d0d25bf2b65209e7bb53d6478947fcd4a2af9b5e68bbe585afe94fa53ccd80aa80f2e1e21b68210d38fbd114b217b";
@@ -37678,6 +40901,7 @@ pst-ode = {
 };
 pst-optexp = {
   revision = 62977;
+  shortdesc = "Drawing optical experimental setups";
   stripPrefix = 0;
   sha512.run = "a72c425dc808ab5a4507691c9a86ad2193c08f8e88d62ea558d2559b68e18e9dfd8e0295bc18fd66e3cf41236c17b85086dc218e46317c09867b5eaf024564fe";
   sha512.doc = "6c4f4427b023b6dccaf75ac2cab2c22da32d0fbe6007c68e05b9ced31b11da91e5537ae4dd174a726b36ff2657113bc07e1b054e9dff344a9dd99f3039be97f6";
@@ -37688,6 +40912,7 @@ pst-optexp = {
 };
 pst-optic = {
   revision = 67052;
+  shortdesc = "Drawing optics diagrams";
   stripPrefix = 0;
   sha512.run = "132b3eb936678d51a4581efc14998c794047959f89789ed22098326912d00eaa0e39396608d3c1aa78f1fe8bccb21ba2ab454bd2b3744ba252c24f164c58e23c";
   sha512.doc = "a7169c870dbcb336025aec5d475afa9691ee524b35ef3404f2e3244c4e4c0f08def16a8eb458eed1a8ebce27c969ec80004904484615588fdbb401b863052efb";
@@ -37697,6 +40922,7 @@ pst-optic = {
 };
 pst-osci = {
   revision = 68781;
+  shortdesc = "Oscgons with PSTricks";
   stripPrefix = 0;
   sha512.run = "c888d41f7e14cf311b359fd37aa0557fc9fc639b76dd5db782099f6d307c4e5e3214df2a670fcdd3625818e461c34ccc0e50ba617714e58aced1c71b484b63d8";
   sha512.doc = "5abb2eb53cb6cf1492c9bfad164ef8ed1088e6b6cbe1f0af6bf0ec10b34de3c5b17163e2bcfa52bf0b4394f3945887ed0e532fdc6a8497189325d10db50f4577";
@@ -37706,6 +40932,7 @@ pst-osci = {
 };
 pst-ovl = {
   revision = 54963;
+  shortdesc = "Create and manage graphical overlays";
   stripPrefix = 0;
   sha512.run = "e3349edf9643e5d9e370b5dbf1c4dc3078ec82520c943a81ae353e1ccd0e2476105813b0cbbbeb707de5419035edcc39748c7e86a69cb90f8bc0d61d70f553c5";
   sha512.doc = "755c786cec204ad3dd41043d8dd1bebb33ebbd889580a0a85390ca8efc318076ec9300a8e38b99788bf348a49dbda8ba5f3c758ace788bd9de47c251dd4e0407";
@@ -37715,6 +40942,7 @@ pst-ovl = {
 };
 pst-pad = {
   revision = 15878;
+  shortdesc = "Draw simple attachment systems with PSTricks";
   stripPrefix = 0;
   sha512.run = "cf519f69dfd1003ab17a4a67f309336442bf35497cd0102e346ab8537865540c314666fbf01cf6e3e106ce922fd8922ac4bbb5b20ee90a7ce24a7a98ee974006";
   sha512.doc = "0a2206d3ef84dce88d3e0ea7899fb623d12f7f6a820298b031ff76044eb9ec49bb09f70f6ee0b00018fcc02f6260d67ee58c8a06a48ddbfd2e5b17f52d374830";
@@ -37725,6 +40953,7 @@ pst-pad = {
 };
 pst-pdf = {
   revision = 56622;
+  shortdesc = "Make PDF versions of graphics by processing between runs";
   sha512.run = "5f5850f0e908bf6b10977bf616aa82ce05d1f0afd4127b5db14379a510ca62614a3552cc85ec0136805fb479201c817442872f9d1074fa6cc1367f41403476e1";
   sha512.doc = "eb5013040f3774e81d019c0010e8fb507d22cb2fb9c74e75f2c14aa0e4edd20245ddaaa3744fec7204c607b5f6329425f8f2b6e09bd153e6df6a3ae39d1e1625";
   sha512.source = "1c353ad8d3b62fd5e5bb8746f69f00b8df2c7b53dd558ec8b24d571b1fe84fdab02daa4d7193f67a258c7390d50f25cd5270578d742b085634980eefc744b09e";
@@ -37737,6 +40966,7 @@ pst-pdf.binfiles = [
 ];
 pst-pdgr = {
   revision = 45875;
+  shortdesc = "Draw medical pedigrees using PSTricks";
   stripPrefix = 0;
   sha512.run = "c42b723e2739eb3a70f7a984d45b6b738a1dab1f4f3bb7311850c344be736fbc97ababb6f744539deddc7d1cbde47830e81d1bfd42f705a7287b1fb970664823";
   sha512.doc = "006395a2e1caebf8c86f4eb41eeb03a35d47b82e65e18ce4045eb22f93bc78a38f7611a1328216712d29be852fa3431876254f3b41b8b7a2a7c453f32a8e1bf7";
@@ -37747,6 +40977,7 @@ pst-pdgr = {
 };
 pst-perspective = {
   revision = 39585;
+  shortdesc = "Draw perspective views using PSTricks";
   stripPrefix = 0;
   sha512.run = "b1c6c1313e0f87d7c4dbc7122d09777f14f02ad0908c6151fb5da905d908a9ca2d905c5a9e3fb1e54deb0b7b91dda1488de0b96ff40683488947985d68e2d331";
   sha512.doc = "df82bc95d3720f7da3c23736d83fbaeae5132f7b84aea9f2fd8ddf925f919e5d56f6701bf5b541446c024e8d2f6a5875d562d96cdb1564dae92d6ade759671cc";
@@ -37756,6 +40987,7 @@ pst-perspective = {
 };
 pst-platon = {
   revision = 16538;
+  shortdesc = "Platonic solids in PSTricks";
   stripPrefix = 0;
   sha512.run = "8eade14982b0ffa2c5e7d5c68a91d4159ee6f3317b20836c3f470ed68940a522459bdce54b1e1dd4068173e50b0c611531d1210b1651d805602f952a1696626c";
   sha512.doc = "7c252b535853c4941fc4cdbe504a3c20ece2c04dd15e2bc5ea0c88928b5fdd7063035c329dccb7ed04d71606e70f632fc1d66847dd35ea46a4626c04070974be";
@@ -37766,6 +40998,7 @@ pst-platon = {
 };
 pst-plot = {
   revision = 65346;
+  shortdesc = "Plot data using PSTricks";
   stripPrefix = 0;
   sha512.run = "a273a0999f14697ffec4165c8f6013821f9a3439bb7822963e79d4b362a89334090af54d591f7cbff1f59d0e15e9b18dbc3ed9d711ba90162913098dcec67684";
   sha512.doc = "870ef12eaebc4078ac0906cdfc225991714a55dd674cf7b757ab7b7925728ab771bc63612c61e26a997d900f8c03ec4d439d767b0a83fa54b8a65517399fbd7e";
@@ -37775,6 +41008,7 @@ pst-plot = {
 };
 pst-poker = {
   revision = 65818;
+  shortdesc = "Drawing poker cards";
   stripPrefix = 0;
   sha512.run = "850b8302f7754e90559ba43ff3cd7440866b23cdbf7d3d577a75a232533d750917d3dc7ee9554ded07e6cc38346905da82e49bb90bbbe4de0f02c40fbebd111f";
   sha512.doc = "d021da1775a7f91968490bb4e2ef5fc8eac114fe33810d069882e72e381ec94e0cb81f4ea213edd394b5919e07873838996b3aa0f043fcc41814969e59db8a21";
@@ -37784,6 +41018,7 @@ pst-poker = {
 };
 pst-poly = {
   revision = 35062;
+  shortdesc = "Polygons with PSTricks";
   stripPrefix = 0;
   sha512.run = "badd0fcc2b439ba270d5375703f91df9009fb7eae920915eab8757185da0c6665c34d530d9b4d8bf469767dd79ee834ded104a0fd98243a1e8a17cda47be0f79";
   sha512.doc = "0facae2d565a22853a6e455534065f5954571311898e0850fcee7b18909f1cd0fe06b116138faedda6767d8514d44f7d843c13985f8723ccb8ec03a81bbaa46a";
@@ -37793,6 +41028,7 @@ pst-poly = {
 };
 pst-pulley = {
   revision = 62977;
+  shortdesc = "Plot pulleys, using PSTricks";
   stripPrefix = 0;
   sha512.run = "e9e3f27eb01146a6aac0f9479f8c7bf120845a9c728f7e08296d95dc3cbbfd7d4eac6cadc0e7195848157929d5001fd9a1a7b9c2daf4ad97e28e0007ba8a22fd";
   sha512.doc = "f7a0820425a1d785a91ed2cd070fb371b6503f1116e1e08a6e97509133ec8d4892bf546deb5b7d3c0fcb343a65f2b41c1e2c2400e23ca8dacc075e2dbd27c3fa";
@@ -37802,6 +41038,7 @@ pst-pulley = {
 };
 pst-qtree = {
   revision = 15878;
+  shortdesc = "Simple syntax for trees";
   stripPrefix = 0;
   sha512.run = "5bbb7fdd477850e4e6c2bc395665c50668a427cbe176122d160fdfc2aa2f322ed83ec43929dd185fa1dec439bec3f5de719aa8d640d0bc498aa7ac9f9089cd5b";
   sha512.doc = "4a0bba9fa7072e5860403c3b22a23947045106fd4b89781af848d17afbc5ac456c77617979ebcb80afe07620ab8b990e868c688301c4637804d32790fa4bd7f4";
@@ -37810,6 +41047,7 @@ pst-qtree = {
 };
 pst-rputover = {
   revision = 44724;
+  shortdesc = "Place text over objects without obscuring background colors";
   stripPrefix = 0;
   sha512.run = "3bd94d3a37fc8bbabba547a0072618c6e2bd2f6052f95cd4dd8cb973f64c4e97d0c7ef72fbe425df032aacbb8cb109b0eb06ee304b725ddcda6489da2c893934";
   sha512.doc = "16bc8c2500c19cdaeb701da98e4de0ffdc13116a0ed5802beae395e9664ee16acc6341db7d2c3ea7b2a16b0afac35503cd5a53e1ce1fbd67598be4c890b317d9";
@@ -37819,6 +41057,7 @@ pst-rputover = {
 };
 pst-rubans = {
   revision = 23464;
+  shortdesc = "Draw three-dimensional ribbons";
   stripPrefix = 0;
   sha512.run = "360f1a04170358b976bc8b6d4d4ee138398f6b018b5611811fc41d90475c474e89fed214708d11b47bdb58cfcf983b37c3338c4d5b13b13825f3388d1562372b";
   sha512.doc = "086f80c0b99a0043769b159b6f52de125f01e6c3b00189b0924c62961b934121b09a2f1634fdeef737b2fc468c392051f8b117e1de5d7e6d223e79ff443c2cae";
@@ -37829,6 +41068,7 @@ pst-rubans = {
 };
 pst-shell = {
   revision = 56070;
+  shortdesc = "Plotting sea shells";
   stripPrefix = 0;
   sha512.run = "e6c12f5a1c8eb6b521e6bd3d76609a750bc12633de1645f6991a177d633043f1c5597091b34639079bd007d81302ecfb6715f826ec42353720863885e1d3a1e7";
   sha512.doc = "72185b764b1c282e772341b9c616b27252759f8e0ca3a776770e976a31d160cea7ac74f23a982e088dee50a86a9af73d19f3f695a24f13381e88281c8c33577c";
@@ -37839,6 +41079,7 @@ pst-shell = {
 };
 pst-sigsys = {
   revision = 21667;
+  shortdesc = "Support of signal processing-related disciplines";
   stripPrefix = 0;
   sha512.run = "db3d3dd31c4166a132a174cc9b2a86fb226496c663c1ba95b36f6590e18799c5eb4e8587ccc3db5de0d3833729ffa90080cf037519b2a7ba24c70fe381aedad9";
   sha512.doc = "ae2869eaa649898daf057875d28fef1be5f20caf0b7385ba7723e9be51e534cc69b953bba8ad4fa6d04a0d67f85659c82ec08043ba760279a6759c20a2c27d0f";
@@ -37848,6 +41089,7 @@ pst-sigsys = {
 };
 pst-slpe = {
   revision = 24391;
+  shortdesc = "Sophisticated colour gradients";
   stripPrefix = 0;
   sha512.run = "43905d7525acca6d10261e169a1c1ec1ee0cf0d4b7fcd05643dea3f705331588d774649ad5ca560111269025e92a1e91796693c5246e4d2b2816dd33d4eed87b";
   sha512.doc = "377a89c5dcc49e587e3e2d2e1221c289da9dc6b3cc0565bd182d0ec356835309c12eecf68680ac4083c906701365de0068608ee1e49ea9fb95c866a188931a67";
@@ -37858,6 +41100,7 @@ pst-slpe = {
 };
 pst-solarsystem = {
   revision = 69675;
+  shortdesc = "Plot the solar system for a specific date";
   stripPrefix = 0;
   sha512.run = "8c977113eb47ea9139cdffe297f0b4e333ddddd5c7f54e2cab2dc29d65c11616e938d9d79a4362901b1715ca9be104ecb6eb72f43b779cb11644520306d8ba7b";
   sha512.doc = "3714132e0ed6d7fecad9215e6ec13af2a74576c43b21faa746adc6caeba16af479e9f35c7d3948ca69a82092d8d6ad2ca07b1b3ba9614dfdd043db1c57cfbd0e";
@@ -37867,6 +41110,7 @@ pst-solarsystem = {
 };
 pst-solides3d = {
   revision = 68786;
+  shortdesc = "Draw perspective views of 3D solids";
   stripPrefix = 0;
   sha512.run = "fef032b9aa9a87711e2c09e0a7213a2c3e70451e64060ba9fad81beeeababdc622ec46107f077ad2869a8ba9420fd81e3e9df96ba60f98530fb3238d4bec45ee";
   sha512.doc = "3bbdf115c8cb4e0dec4deebb1bf8af6317eb0deafa19054404f992f79361a913b26e1523a31105b7fe0addcfef438a016d6b5c5780da564fc108a58f449ee86b";
@@ -37876,6 +41120,7 @@ pst-solides3d = {
 };
 pst-soroban = {
   revision = 15878;
+  shortdesc = "Draw a Soroban using PSTricks";
   stripPrefix = 0;
   sha512.run = "c21d3f0e19c4cfcf79563e23e760178de6e39f1f42147f534946fef315c0514968548b30d24eb345f4f2c5cb7807fef4f0d45d8e345e9523806ce1e054d8cf11";
   sha512.doc = "b7c1422ac43df949426581f7dbe749300093ce2d20145df768e21e893b9d2c419ffa8ab16c60fa509f09317bee4c7f80bed4920b92a5f9f2e9289eb93cec5eec";
@@ -37886,6 +41131,7 @@ pst-soroban = {
 };
 pst-spectra = {
   revision = 15878;
+  shortdesc = "Draw continuum, emission and absorption spectra with PSTricks";
   stripPrefix = 0;
   sha512.run = "325e4f07e9c2788d571c6105e1fdc3a097881d1b472b038c365c65a84a4e69e15866750720b2c86f5b20e00fc3a054f619e79b6564fc3712194a1a5d05edf248";
   sha512.doc = "f3655f399c4986b122253c4849bcb15d0ea4d2390b0ec3b8328d8255e5e2d44481198d63c6ad9dc10365095414267285ff02a944c1bf5bfd8c458d1a7cd5a0c5";
@@ -37895,6 +41141,7 @@ pst-spectra = {
 };
 pst-spinner = {
   revision = 66115;
+  shortdesc = "Drawing a fidget spinner";
   stripPrefix = 0;
   sha512.run = "ec6925c95e398426089234227b29a2129a58097d1536b0f1569c4a0e6b4d7deeb0eaf7d9d5ede851c93cff49da05772b6113ad7ba0cbb34b854e3b2261bdc41b";
   sha512.doc = "1cb4907c6b5feb39c947361176edeeb4da560935d53b3b56507642142f3dd61d98caff293c0d686bb33383c706f1cd865dc3644379564310b141c3f0204cdb57";
@@ -37904,6 +41151,7 @@ pst-spinner = {
 };
 pst-stru = {
   revision = 38613;
+  shortdesc = "Civil engineering diagrams, using PSTricks";
   stripPrefix = 0;
   sha512.run = "bc0961c1f9afb68f66c4af9aa9d37cd8cc7c6047f55920d12cfb14a18b2c2288c8468c8d9f0e21eb7e395eaa884f0216b37a6fa947fb2c5ef51d57996ba8bb5f";
   sha512.doc = "b9352eb01e9d80049a474e0b5a513bb8835be16af4226b4f4269d9a94d64b81a842e640ab316f066595b0b6053080042deac4b0cce1bbc602ea0e029f7809cd3";
@@ -37913,6 +41161,7 @@ pst-stru = {
 };
 pst-support = {
   revision = 15878;
+  shortdesc = "Assorted support files for use with PSTricks";
   stripPrefix = 0;
   sha512.run = "05ddd6f09d603a2a6887f03aa3da0374ad061e2ab52ad25f0036192179f985f3695b0248c602607172c94c55cd9d2bb453e8f145d73f133bf79a881ccb1daacc";
   sha512.doc = "ab2adb2c06d4f7f4b4a4fbfec59e1fc8d6b9f4ccff5aacc29f0a1524759fc1f0792640e8cc301e614477ad45261bbedb3ede93de2463e0a655aeff846561c185";
@@ -37920,6 +41169,7 @@ pst-support = {
 };
 pst-text = {
   revision = 49542;
+  shortdesc = "Text and character manipulation in PSTricks";
   stripPrefix = 0;
   sha512.run = "6cf40d3dffb7803959a187f6a19b137b824d46ea73bd31430e983abec0b828d49c6d404287382242ad224e2f51feae74b3bee374443e9f421ae70d1ea2c0c3b6";
   sha512.doc = "87f213f037227c05ceefbcee7ab8a316b88ee6f9ddc366c40cfa7676a714ec6802f3781db8357224769216241feb9171668184534572ebe5c5776c1553c1b62d";
@@ -37929,6 +41179,7 @@ pst-text = {
 };
 pst-thick = {
   revision = 16369;
+  shortdesc = "Drawing very thick lines and curves";
   stripPrefix = 0;
   sha512.run = "5eab2dfdad0c9fad21cbb7d4484f9701bd48b225e881e0c86a2418afa143582aef160bbf4cc9f5a773aea97d2c12c7f614f41fd87f0ff2952c27ddac91f75905";
   sha512.doc = "5d75bab3e4b5c18a14e7348dd97a3f7e0895a2b44111a72d87ff8ce7c7c0499062f61b4ff38b2d36b0632719fd58a33c91f077edc269d74fa58281a83752e9d7";
@@ -37939,6 +41190,7 @@ pst-thick = {
 };
 pst-tools = {
   revision = 60621;
+  shortdesc = "PSTricks support functions";
   stripPrefix = 0;
   sha512.run = "591dbff503faef5316eda8364a422d8810524775e6c6b59569d24928c8702c54463e4433a3c28953d2f36c873aa6a6e52c71dd9cdcce5bb0c362ab2231f5a165";
   sha512.doc = "f61816b6be166d85ae238cf5651e2e1960a5303b3bd3c643e4fdbcc779b5e59f49ffbe53bd6e2830b2bc28289baad3b089eb01ccbd7bee4eb9805728cda4309c";
@@ -37948,6 +41200,7 @@ pst-tools = {
 };
 pst-tree = {
   revision = 60421;
+  shortdesc = "Trees, using PSTricks";
   stripPrefix = 0;
   sha512.run = "39d6f88d9b0dd4280cd08cad6524fa693cf727bdbacf16063d76e100e16f957602124ee71421e88f389a7ba5070a932d779a2abbb64d791bbc071398f09a8708";
   sha512.doc = "6ac862eff40eaa1a8cacc5c1a1d4886e82dee53046d3fbf631ec23bfb59490fe89bdde5f2767cba35e8d0439fa7b7688669b50ba3ce81698c34bcfc9d010a7e6";
@@ -37957,6 +41210,7 @@ pst-tree = {
 };
 pst-turtle = {
   revision = 52261;
+  shortdesc = "Commands for \"turtle operations\"";
   stripPrefix = 0;
   sha512.run = "df30018ed03f10edbb9e215879f041ed6eb0db48cf0e7e2b5128cd3339d1005ef074aa0631c84bcfd2c8f9c1a1a69a26cac36248f3971a3b3302e2f763af750d";
   sha512.doc = "22c14f1eca2aa764bfc250d8140f0a24f3dab1cb8e755180167ddcd1ac9224aca07fb41408823b8933b73293204053f7f139513781ff37a67ca9e0ee7bec4fbb";
@@ -37966,6 +41220,7 @@ pst-turtle = {
 };
 pst-tvz = {
   revision = 23451;
+  shortdesc = "Draw trees with more than one root node, using PSTricks";
   stripPrefix = 0;
   sha512.run = "79e206f5e4154a797cf168b1b490cac8e1ddf98a79de6ddbd9dc98cf53eae01301c034643f6660708b58e890ca94b7235e5b0f48e53136f32c12c0adf5749179";
   sha512.doc = "ffbba30214dce83e7f00aa7c6e126919cafe341dc727736e27a5af8ae212dc66dafa49afba553079d6857258ca72577950c06ba2deb21ca3c1b13231d1909935";
@@ -37976,6 +41231,7 @@ pst-tvz = {
 };
 pst-uml = {
   revision = 15878;
+  shortdesc = "UML diagrams with PSTricks";
   stripPrefix = 0;
   deps = [
     "multido"
@@ -37989,6 +41245,7 @@ pst-uml = {
 };
 pst-vectorian = {
   revision = 60488;
+  shortdesc = "Printing ornaments";
   stripPrefix = 0;
   sha512.run = "e3898a6b489afe685bfc657760702bd5e2e44fce2ecf6e4af28c1a6eb36173fc653e003af7b7879fbd3a342adfb89b8cf47168b1f1868815fa44050495d15f54";
   sha512.doc = "6bdc368c391d12e6fb54740867631c7ba62b66a889e11dd40668dc7bcf5f9846e4414f84b706010505d3032b132735a9247e25193b952bd3272590d47d59172b";
@@ -37998,6 +41255,7 @@ pst-vectorian = {
 };
 pst-vehicle = {
   revision = 61438;
+  shortdesc = "A PSTricks package for rolling vehicles on graphs of mathematical functions";
   stripPrefix = 0;
   sha512.run = "1cec74ed600c4c4df629942b158d47b33f26e3a38d3d363cd506e5dc7c9673e0da1af4af8bbf71bf735693d15f0b02a36d8b148e07405ff4181efc820e73eeaf";
   sha512.doc = "e252811d71bc400b3cb72a29fd9099247044cb1d1c79676cf4319d58cc60293839b022a73706a9685434d338c9daa24e8b9bc5b7390a75870379385dde0d9c7f";
@@ -38007,6 +41265,7 @@ pst-vehicle = {
 };
 pst-venn = {
   revision = 49316;
+  shortdesc = "A PSTricks package for drawing Venn sets";
   stripPrefix = 0;
   sha512.run = "63baf8075ef294bc3a909b3160fa7868a7f179c832d680728fe463f8b1c058411a1393614ade666824fa3233d6617b1dd4e0c50c299a620bc459104515c85727";
   sha512.doc = "e332f8ed24744c03c32bfd139a38dabfca1c6eaf9c5c4624d1579c16feda26e42e81b39dafc98527e8bdaacc2e3ff2d246c6f4b88d89bebfaadd57454e08af7e";
@@ -38016,6 +41275,7 @@ pst-venn = {
 };
 pst-vowel = {
   revision = 25228;
+  shortdesc = "Enable arrows showing diphthongs on vowel charts";
   stripPrefix = 0;
   sha512.run = "6ee1dd91b42e319e3a88966fe4cb7327211e5859ae9bc9e262afbfe1fb7f143386ecb70a71d6b24cb0c794cb0943a6cbab4eb40ac683c55a7ef1fbafc118e132";
   sha512.doc = "4fd8ba42b0d4ed821abe52e5848af0d19fcf12c2b9660f09a502561fcfbeffbe38bdf2a0540ee79b99f50cb3c783ab4b5d003a59cf84b3066c364daa7dca0eea";
@@ -38025,10 +41285,11 @@ pst-vowel = {
 };
 pst2pdf = {
   revision = 56172;
+  shortdesc = "A script to compile PSTricks documents via pdfTeX";
   sha512.run = "a266409d6740653bacb23e83b98e545dc462ed879299b195d65761b10e4700a797005ca231fc24e37a42591c09ba93b5ea6b8b82ad8b14a29a7649cdb3f39b33";
   sha512.doc = "5805c535c8a043fea721093a4b7d2ab06c86c80d4a45eb3d603986b898b6d2053d041b638874e53c79e2d815a929749e02ca0986a2f8cbb400a2fa87581462dc";
   hasRunfiles = true;
-  license = [ "gpl2" ];
+  license = [ "gpl2Only" ];
   version = "0.20";
 };
 pst2pdf.binfiles = [
@@ -38036,6 +41297,7 @@ pst2pdf.binfiles = [
 ];
 pstool = {
   revision = 46393;
+  shortdesc = "Support for psfrag within pdfLaTeX";
   stripPrefix = 0;
   sha512.run = "a97af35dfce4a137af97071b49e58c31739e6f271afc62a455db473e573148d25fc27937ce680c6f400a200151ffd73867d5dd8781b12a63c68b7bf256cff5d1";
   sha512.doc = "613cc4899b1d76e0686cd269568cfc0dda437cec0e50571086b3d44659dc4b3e3d567dec88b5420e4c802d676f21c2428b3930fb6bb3f7d7faa14c029d35d43e";
@@ -38045,6 +41307,7 @@ pstool = {
 };
 pstricks = {
   revision = 69674;
+  shortdesc = "PostScript macros for TeX";
   stripPrefix = 0;
   sha512.run = "8c9d0a2c8355a338f459a34dee22893acd54fc314ef588a8fc6a727f4dc0d6fc34e64059479c096e490bb2c90d627b555d5052cbf871089099acd18fff0cebfd";
   sha512.doc = "10946b40abd2e00549abdc0e3d9067c74756785571b4f75f6baf6e6155f90087cba7eb35427f159571a04ba92e1819cf92ad12d9b4b02119ab957bb4b77da1d9";
@@ -38054,6 +41317,7 @@ pstricks = {
 };
 pstricks-add = {
   revision = 66887;
+  shortdesc = "A collection of add-ons and bugfixes for PSTricks";
   stripPrefix = 0;
   sha512.run = "073ce9b5f97c4432d87f51a3b239c758e2840ec894847c334dcd206433e6c0a45575ed2214c00bd013f9ddc0945a696a8eb45b2efc62d8425d1c9607da658850";
   sha512.doc = "552fcc2f0d448bd1d7f643a5c9f2521f72fd61a653363eab3bf6f31bae306a9c6694ca8d64ad5a5997adea9b92978aa366ece8bd7966c9d129942f8f487b99f3";
@@ -38063,6 +41327,7 @@ pstricks-add = {
 };
 pstricks_calcnotes = {
   revision = 34363;
+  shortdesc = "Use of PSTricks in calculus lecture notes";
   stripPrefix = 0;
   sha512.run = "1b17e544484b71f3c29e5c3e1bed6021658ce7b9a256c21c004113b722a85be7ea6861753230910771b7c900184ca8cce146408301e75de79e0c2bf8939c49a6";
   sha512.doc = "bab8492549fd268f856e11f5f6db4e1ca878c67634387e7295bc163cd17080ee6b685893ddc85a882bd895adf3689639bfa7fc7d0da5e9916ef305c18d94ad65";
@@ -38071,6 +41336,7 @@ pstricks_calcnotes = {
 };
 pstring = {
   revision = 42857;
+  shortdesc = "Typeset sequences with justification pointers";
   stripPrefix = 0;
   sha512.run = "d77c937467a9cd16f24fb1374a0d797db04bc301fa8a677712e09d83b58df6fd12aad8857dd83f4d5278d799a0d1d52ef12106e8106921d1ec1453ff6692605f";
   sha512.doc = "51c316c27c3d4083696dd9ee86e378c83ed09c75c632a7f0a580bd84d0033c7776008056a4b26d7835a4974b879c0f2b0389ae83c70cbd6ab093bc8b2add9ed4";
@@ -38079,6 +41345,7 @@ pstring = {
 };
 psutils = {
   revision = 61719;
+  shortdesc = "PostScript utilities";
   sha512.run = "1489c9cd3ae9e1063367301f038cd52f0fd7f5b2d548ea78c06a2bff56100aa613cd01026ce601527b6a32f88b6ed1df96f9c8c6a591d16a63dccdc8e32d6969";
   sha512.doc = "8b4814c2a769b1ea8831aa945352f31125267aeebedd8dc8abf6381928707799bcb1eb29214930152046bab63b1a56179ea035ae6568595fd5ac83bbbd22f588";
   hasManpages = true;
@@ -38099,6 +41366,7 @@ psutils.binfiles = [
 ];
 ptex = {
   revision = 66186;
+  shortdesc = "A TeX system for publishing in Japanese";
   deps = [
     "cm"
     "etex"
@@ -38133,6 +41401,7 @@ ptex = {
 };
 ptex-base = {
   revision = 64072;
+  shortdesc = "Plain TeX format for pTeX and e-pTeX";
   stripPrefix = 0;
   sha512.run = "b937359bde7ade3645edb6435a824ee6af66e51e7cb518694706224e63e4d92391911f01745d331cb92e62c34c085aa5f284babacf6f7ab0a0474cbf06b00859";
   sha512.doc = "85b6422630754144e4f9c552899e588f1650af2837cf88e8f47106e2919bee8dd956002e102f83dd76107edb0e61e2a6d4ebfaaf6fc06289942fdb32385454ba";
@@ -38141,13 +41410,14 @@ ptex-base = {
 };
 ptex-fontmaps = {
   revision = 65953;
+  shortdesc = "Font maps and configuration tools for Japanese/Chinese/Korean fonts with (u)ptex";
   postactionScript = "tlpkg/tlpostcode/ptex-fontmaps-tlpost.pl";
   sha512.run = "b864c185b5718dfa76e0d4385654ca8e319ab0cbb59911defbec8d6198879265d064087df233d9020f3abc4bebe0742530f40b2ae6e584dbb4f5b6ed7ff28d07";
   sha512.doc = "4b21fe546634aad338630520bf68fce2a83f8e6fade99d170ef87a92c8308dd289ed130bf67bfc88419f8752454ab04730bfaa68de90535984590ce8435d87b5";
   sha512.source = "028304d777bfd5155baf89fcd4003bec43e5a7f3009aa9250cfd13277d085cbe52cf49511cf664efa0c886b1681475b0c25eaa65624bf0b77d4ab4403ebb457a";
   hasRunfiles = true;
   hasTlpkg = true;
-  license = [ "publicDomain" "gpl3" ];
+  license = [ "publicDomain" "gpl3Only" ];
   version = "20210625.0";
 };
 ptex-fontmaps.binfiles = [
@@ -38158,6 +41428,7 @@ ptex-fontmaps.binfiles = [
 ];
 ptex-fonts = {
   revision = 64330;
+  shortdesc = "Fonts for use with pTeX";
   stripPrefix = 0;
   sha512.run = "d625f45f7211eca1152a16814ce87814cc19eb7d6646d4f66971eb08eeec50bcf91ddcc253f4ffe24418a3e2a989ce10c03a3536730ac286980742cdfa22fe67";
   sha512.doc = "3a07313f79f31d09bf96c78a574d00d57641df75b9eeb89c76425ee3d6cd51d1e6ad6574fffdeb834d2bc2fa8c41511561aec34ca6be2be43d55da6227d19a19";
@@ -38166,6 +41437,7 @@ ptex-fonts = {
 };
 ptex-manual = {
   revision = 68147;
+  shortdesc = "Japanese pTeX manual";
   stripPrefix = 0;
   sha512.run = "ffad7c7c67e7c6c92ec7b814cba8ca8cd7fc9935d5b6c7f685ee83b97cca56ac410ee2c15f8d86f4bbf443508f2e2224603c9abc64e734451ee94ce968425d62";
   sha512.doc = "dc2643c258a98410d9a456e16794d70bf6de6e1a40b8db2bcf7fb40e20953bbe482cb26cf3e65b0caa19806e915cfdd3787ddcbf69108e2af0d83e03d3b0104b";
@@ -38186,6 +41458,7 @@ ptex.binfiles = [
 ];
 ptex2pdf = {
   revision = 65953;
+  shortdesc = "Convert Japanese TeX documents to PDF";
   postactionScript = "tlpkg/tlpostcode/ptex2pdf-tlpost.pl";
   sha512.run = "6a4246d9fbc7cc6f37319d338df8320769cd4b1f0247186beea117b8bf228263f3a330146cf251a9e8e8c7232eb894ce6dad9eda840dd4a154f2502eae4c0f57";
   sha512.doc = "5635ead2dfa20ce9b616073272452de5c68c55104d88b2362b87cafe4762608d681b0c370169bff78466520d14f9055e509efdaa4ecdb083c3c3111ad829978c";
@@ -38194,7 +41467,7 @@ ptex2pdf = {
   scriptExts = [
     "lua"
   ];
-  license = [ "gpl2" ];
+  license = [ "gpl2Only" ];
   version = "20200520.0";
 };
 ptex2pdf.binfiles = [
@@ -38202,6 +41475,7 @@ ptex2pdf.binfiles = [
 ];
 ptext = {
   revision = 30171;
+  shortdesc = "A 'lipsum' for Persian";
   stripPrefix = 0;
   sha512.run = "ceb8844ff23034bf730823349e6251ef0c7f208ef74c3ed61fa212af89a3208e8f9f1b74b7877698d4459047b64376faea647a919b340d306d54de43ee9617a2";
   sha512.doc = "31ec6dea18c99aac831f4f180ccce47781ce98b2a8859bb62019cdffd690a8b803cba66728d1a9805a8a39de9ef43e357be8fb6a16e0602cf67f7f9dc6cb317e";
@@ -38211,6 +41485,7 @@ ptext = {
 };
 ptlatexcommands = {
   revision = 67125;
+  shortdesc = "LaTeX to commands in Portuguese";
   stripPrefix = 0;
   sha512.run = "2a2924af70b0ed8d76f6062482a500371d67d5a3bc0b87382d76626b34da9c1acdf9c123ebfdab2e5e79041b10d0e327e9cd732781e5fa1620247bdf02dc21fb";
   sha512.doc = "5b9fc92a4cb3597c0c95936d5fb6ad475ca4f9896f8165a0e391e591bb3fc9ea75ae79c14ee62197200d69d577df8025e6017960beafe6bef0bda90a6a615118";
@@ -38221,6 +41496,7 @@ ptlatexcommands = {
 };
 ptolemaicastronomy = {
   revision = 50810;
+  shortdesc = "Diagrams of sphere models for variably strict conditionals (Lewis counterfactuals)";
   stripPrefix = 0;
   sha512.run = "58202171aa08b297e2999554d8b6ee43d4c5772e2f28fcf73c11a00ff8476dcdebfaa5352c7d248720feab2ba642947f07362cd9124dbed27e22086123da3de6";
   sha512.doc = "04997eb4bfd5c5e7789b5db02e9c27a9eb4d65e685be1428c5b81199957dff5aca626a76c719d871217ccaa2a6e6eef6c17ed94f4ea161f581b77a22306d61f3";
@@ -38231,6 +41507,7 @@ ptolemaicastronomy = {
 };
 ptptex = {
   revision = 19440;
+  shortdesc = "Macros for 'Progress of Theoretical Physics'";
   stripPrefix = 0;
   sha512.run = "a2c31b2e039c198d3c3c84cb58cc0b9326bcf11b4c361c1d5c9b8f5aa4943f14b30e722bc2425a38b69935f4c88c67439747ffd65e0a194f2e5dd54a6448bbde";
   sha512.doc = "0e754625fb8507591f21b860901de1b06bcb31f5c0b2fd7df1fa5257c7c611bae4f575f7387362bdd21d826a329a8af3ba00fd30c3bc9d91be7dea5d66e2fdae";
@@ -38240,6 +41517,7 @@ ptptex = {
 };
 punk = {
   revision = 27388;
+  shortdesc = "Donald Knuth's punk font";
   stripPrefix = 0;
   sha512.run = "a442a536dbdaff9dfa9d1cdfe1a084d0f4e4e28174a424cf59a1da94013e115b9fc6294ea3362c85cb770028c62b21f7f7fa9817dbd68787498199ce585589dc";
   sha512.doc = "33842d1fb46a78654d7351ccf88b40b87e6e03d83598f661ac21ee99d45156dd8b37a652c5c8e55506f95fc57b83e7f62f6c90c3fea5443dc5bb6590302b3e7d";
@@ -38248,6 +41526,7 @@ punk = {
 };
 punk-latex = {
   revision = 27389;
+  shortdesc = "LaTeX support for punk fonts";
   stripPrefix = 0;
   sha512.run = "e44098c082465aa620d436a41306c9a1f36075c2612aa045e7c958151fc62e9a740584d9a9dd94b0c5631c00d406762a8e35f672931cccd3c09fe95850f3a2ba";
   sha512.doc = "36a3341d2dca08941a923a1f407b422e96438e79ba5e3911a89f13d48317ec5aa0f5afccc7539b0882996fb872b38bc3653f1e5b088805e5ef7c9d96a4546d01";
@@ -38257,6 +41536,7 @@ punk-latex = {
 };
 punknova = {
   revision = 24649;
+  shortdesc = "OpenType version of Knuth's Punk font";
   stripPrefix = 0;
   sha512.run = "bcb37b02258ba406e8ef3965619c99193c08a4e1d11f771b3c6b06716eac16134be81585220a581176d9e8b4d7f488730ada3b5963238ff982be400cbb41d888";
   sha512.doc = "64df58c8996563a447ed7a012c6dd8f5248c8a7db06089d776e8ce64d516b4a0c4bf9042f587c996c7ab61582bba919551d352c9ca75f8696bcac5ad0e34866c";
@@ -38266,6 +41546,7 @@ punknova = {
 };
 purifyeps = {
   revision = 29725;
+  shortdesc = "Make EPS work with both LaTeX/dvips and pdfLaTeX";
   sha512.run = "79d99ef7ebc462c7c65d03f23cc85b9f136df2b0c9d647fc0672584fa57bfb7447f6db0e6d6b11bfc738cfe8c8658f45fe0b4059ff00f355e4b21d44f0d4102a";
   sha512.doc = "3f9fadfb35596835b250cab98b0d1e3c6d537cfac5878e0b9788aeb5cc7ef455ce3d44f7d0f03e9002796a162d374f6aa8f9bce5bd4c3f0e8937040de0b82a8d";
   hasManpages = true;
@@ -38278,6 +41559,7 @@ purifyeps.binfiles = [
 ];
 puyotikz = {
   revision = 57254;
+  shortdesc = "Quickly typeset board states of Puyo Puyo games";
   stripPrefix = 0;
   sha512.run = "635d17a49a905c99e895df3e777eed02f4c5e91a38d083e57890cd13c927bc68098d5f0864d6e32b2585d288091d15e5cc1303e04e26b2267d7e78a07f77ea0d";
   sha512.doc = "64750274694fa8c7fc792d6f5ba19ab756366eb87668469aa6da9df74f4f7bc571772cc6a406f7c3453f306f36516aca9c2444ce126ff4968d1cc49d2c4585db";
@@ -38287,6 +41569,7 @@ puyotikz = {
 };
 pwebmac = {
   revision = 69027;
+  shortdesc = "Consolidated WEB macros for DVI and PDF output";
   stripPrefix = 0;
   sha512.run = "aed495ad3c056a34f63416e570db395125719e9a9cb05c5043bd4f0d58713c28ee548c931a5c18d316d0a2a39c81671788f87b422f01148cf9ecdb52ab2a87d2";
   sha512.doc = "0312806d06b3db91d2e0bf3df2c1f3dc8620c1f6b59e4e968232631edac217e99bccede5d9cf133f52409d8a664f69dfa072ab5d205f67fabafa0ee74db90d20";
@@ -38296,6 +41579,7 @@ pwebmac = {
 };
 pxbase = {
   revision = 66187;
+  shortdesc = "Tools for use with (u)pLaTeX";
   stripPrefix = 0;
   sha512.run = "34fef6f30f53ea2c67394f931168025f7dae7f6e12904b862ef821040a15eb3eac0949ebfab7b1b3dfae8e9944fdb85b99294fc6214df0ce8c1b82eac2702ed2";
   sha512.doc = "4e1fd7e88d8e17dbc4f65a7dab0f3c4bbcccf3b24b55085fafc9f393cd99a653ec2c4fa41ca85760436a1c7c6121848c57912ff649c302db6966a5c907dc0209";
@@ -38305,6 +41589,7 @@ pxbase = {
 };
 pxchfon = {
   revision = 68103;
+  shortdesc = "Japanese font setup for pLaTeX and upLaTeX";
   stripPrefix = 0;
   sha512.run = "c79d32b99873e5262d3497846af0fe8c327d574ac61030241a8a1d95e4439794439cd3fb75cdcae51206e76bd4218a6778717492c036ab71aecd8e67a0040990";
   sha512.doc = "1f50dcd95cf37669330d426238d398d5bfb2503e4db06287f7a361ef87136547d1020bf1d35fcd9504ea5017dc9ec0a0cb8f9298e4d178ec4c7cd426d91f1d6f";
@@ -38314,6 +41599,7 @@ pxchfon = {
 };
 pxcjkcat = {
   revision = 63967;
+  shortdesc = "LaTeX interface for the CJK category codes of upTeX";
   stripPrefix = 0;
   sha512.run = "81a71b6cfdd280f65f392ad602291d468a8ffeda440609f513166b88bc1af298d6be546e953e4f3a9abac3f0bae235c12b124e11258c53c1abf778f3f78f3559";
   sha512.doc = "69fe6721aa9aa17aa1aac44680e7a520b7fd002c8fd06d2ccdde0e4d20a17875b9b585394159528fb9bf2c6e817c8e3762efce21a938217a199e49094592ec50";
@@ -38323,6 +41609,7 @@ pxcjkcat = {
 };
 pxfonts = {
   revision = 15878;
+  shortdesc = "Palatino-like fonts in support of mathematics";
   stripPrefix = 0;
   fontMaps = [
     "Map pxfonts.map"
@@ -38334,6 +41621,7 @@ pxfonts = {
 };
 pxgreeks = {
   revision = 21838;
+  shortdesc = "Shape selection for PX fonts Greek letters";
   stripPrefix = 0;
   sha512.run = "d3f8ff3c975643d74dd92e749397d01f8d3fd0087a838271a491791fa4bb2d65c852ff5989f79952d40547a601c97fe0274ab4407a8e73aa047221934b9b2e9d";
   sha512.doc = "22239223646ea121422016119b6d0edce32d002bf361d096c173857b36ce324ebe2e4107bc0eae650b50d0e94775c84f480768246ee65f975ad5a24af0335158";
@@ -38344,6 +41632,7 @@ pxgreeks = {
 };
 pxjahyper = {
   revision = 66272;
+  shortdesc = "Hyperref support for pLaTeX";
   stripPrefix = 0;
   sha512.run = "f6e62e0dd4a5da2e9c702fc09c311a0661d58668c4999eaf5209792d3c88001b9e7d80cc1a9c259ec5e2668a7139a4fe90dac2b23ea756f238a387a6c7e66772";
   sha512.doc = "f08af33a25f837e86dcd6dcd0f96d9f7bb2570eeae9011201468fdc9bac50bb8ea72d4f069753bb0c93aa9d61952cebfbbe936f65220167e4648cb206b901aae";
@@ -38353,6 +41642,7 @@ pxjahyper = {
 };
 pxjodel = {
   revision = 64072;
+  shortdesc = "Help change metrics of fonts from japanese-otf";
   stripPrefix = 0;
   sha512.run = "a44871d5c059df8962a135b6f40c3ab4d5d751bcefa5565e428d4efd8f242f34bdbb142a065e011065a8791a141dcef022d5e6ddd6d22cf78e369413b62f046c";
   sha512.doc = "3a85af8fe9f557ae10468e5aab8c6a19c45cc1f99dbae5a3e66530484074ea91f152177ae3ba54cbff8869178055e53b7282674eb748d82d789e767f16e075e3";
@@ -38362,6 +41652,7 @@ pxjodel = {
 };
 pxpgfmark = {
   revision = 30212;
+  shortdesc = "e-pTeX driver for PGF inter-picture connections";
   stripPrefix = 0;
   sha512.run = "eb341eaebbe2fca860c2592c0d24f6b5c4ef0f1e6b2bd731d48c1994ded7afa01bd5cb365d3f30147f68855777defc3384038aa652240178fc948b5225cb4c08";
   sha512.doc = "8a80eade76fa7b5e5b919136e499eddb5ff534042fc56eb8223e80124bde97a39a65d31370037cf425042a1ae516e5888c8751388899ae65a8b561f091693c97";
@@ -38371,6 +41662,7 @@ pxpgfmark = {
 };
 pxpic = {
   revision = 67955;
+  shortdesc = "Draw pixel pictures";
   stripPrefix = 0;
   sha512.run = "4eade52198c6ed8a9e04380cab15098435b2e158f8662d32c88599e02e49a2f7f6257bbd6fab8d3c660e61ff679aefb38d29b4787fcef0a3510776a21707526a";
   sha512.doc = "28151cfd56136ef07c9402fb8f4e0da4a2694164a38e7eaeb5045845731b0b204813b9c0f2b07f9998619feea24effd049cb42a0057841a6a3b3bd998dbc0124";
@@ -38381,6 +41673,7 @@ pxpic = {
 };
 pxrubrica = {
   revision = 66298;
+  shortdesc = "Ruby annotations according to JIS X 4051";
   stripPrefix = 0;
   sha512.run = "0ffdde0f17b1bcb90a858d6dd6ca204eea552b49e91cdc797e6364e8b59cca4808a293154426f9c3f52dd2bdc27e93c091bbddbe6c15862fec144b9e4cd6ea9e";
   sha512.doc = "e2a217a5029857d66882fb5a626e7846a2cd282b9cb2f5a65e6a61919bc7ce23a16294bfc27e9b189a8aee6bcc95cab24a94a6dca221f63d650f38c5e5fce28b";
@@ -38391,6 +41684,7 @@ pxrubrica = {
 };
 pxtatescale = {
   revision = 63967;
+  shortdesc = "Patch to graphics driver for scaling in vertical direction of pTeX";
   stripPrefix = 0;
   sha512.run = "5198b276ba052495662e7adfba51b039bfc355edc01c206b6b5745338dc43e977ce7a48cd11fab3a71f6e8683f554920bfa41a427d587742d2f64f18e058c5b5";
   sha512.doc = "e3e3cf332727476e80c65118da7e7ad55f9f1c1f6658d2919aa37622bdbbc082858eef4ab718e0632752032e0f4e315c28ab8a218902509b3dbcc32377a02994";
@@ -38400,6 +41694,7 @@ pxtatescale = {
 };
 pxtxalfa = {
   revision = 60847;
+  shortdesc = "Virtual maths alphabets based on pxfonts and txfonts";
   stripPrefix = 0;
   sha512.run = "33dfd01f714a662f351fbd3a0e0f36c413360adac666ca5665c628bf5d3acf732cb61e18190d340d144e146fa04116373259403b9eca314f48dba5ea4e6aa032";
   sha512.doc = "f547cbd3cc4a0e09034e98a27bfedf41e2e2ab9b6561e441d7656b99b6b883bb51f9fa24d731d403133358917428c53489eacf8c7ede08a963ff06c3d0404c1a";
@@ -38409,6 +41704,7 @@ pxtxalfa = {
 };
 pxufont = {
   revision = 67573;
+  shortdesc = "Emulate non-Unicode Japanese fonts using Unicode fonts";
   stripPrefix = 0;
   sha512.run = "370d82da425014bc4464415b4f0fe6fa1cb3375979734731ea829942ead4289e1ac6fc47c1b5c42185c97b9013da2e779c90c10454ea2e4b6e5d65540ce4179a";
   sha512.doc = "551f14e0603c0ebd59c1c250a1f9e894683f69d22de748ee6cca05ee78c75899aec8671fdc784ebc5219163068dad7a98cf94c831d81091892a72e7777bba5dd";
@@ -38418,6 +41714,7 @@ pxufont = {
 };
 pygmentex = {
   revision = 64131;
+  shortdesc = "Use Pygments to format code listings in documents";
   sha512.run = "097a1eec7e6a969b0c2aef3915d8231d7e6b6c234abe79caa7f7325df22f4976d1bcf2b111c87c9b457250a2c89b5b0a29afd7deb81ee309753901768fb3fd08";
   sha512.doc = "050bf2576a7305eda104ac928cb332e6fd1437e1852726442694fb7ec88ebe7fb9e7e54987a13b76aa103afcc446019a57b8e011f4e638469ea34a9788a8e7cf";
   hasRunfiles = true;
@@ -38432,6 +41729,7 @@ pygmentex.binfiles = [
 ];
 pyluatex = {
   revision = 69372;
+  shortdesc = "Execute Python code on the fly in your LaTeX documents";
   stripPrefix = 0;
   sha512.run = "7d400d0cd1af26732effc31e2b7a7e0cb501d712230805204362bb5fc456d379258ca2075f4c902dd6d4bb6004ba154d47ebd6cbbc5febae8d07c113987b1a60";
   sha512.doc = "3dea8e36fffdc92dd5dc68279e61d0d1bfa374373ada7236b1717b5df7c5cd1baaf2fe8fdfa02c5f64fb8ddbab209055cb707a72ca839e63ea00ffb480f6613f";
@@ -38441,6 +41739,7 @@ pyluatex = {
 };
 pynotebook = {
   revision = 69990;
+  shortdesc = "pynotebook presents (raw, Markdown or Python) codes (and execution with LuaLaTeX) as in a Jupyter Notebook";
   stripPrefix = 0;
   sha512.run = "221b2167c77db3e434d253f04536398501e6bd9682e09c1984db040b9822b191366413f5dae85c84dfda5219f84d4f32dfa1366a5da6ca6b2dfc8a55389ce725";
   sha512.doc = "61d565169841a001608af347596e4a91f207ac65c45020fdf6b3a91d29b2c01192161ae1d5d274651ce90c017e27ac3d9e56041a4c2158bb43df2d07e6a9e3f4";
@@ -38450,6 +41749,7 @@ pynotebook = {
 };
 python = {
   revision = 60162;
+  shortdesc = "Embed Python code in LaTeX";
   stripPrefix = 0;
   sha512.run = "3b2b55d1c8da0c253711ea5d6434ffe3537baf273d8a6798a5455b3170601aec0dfbb418969bd9d79f47ec502a73fa5bcbb3b74bbdd77d242859c0f7496bf8d0";
   sha512.doc = "c6785b22dc6820a84a9edc573e308a79991b4a67ff1c5b17553c05a75155ea9b981380098335162a6a7c3c25d2dc20665e35b9cf74317b5c865bc6d4fbed7a8b";
@@ -38459,6 +41759,7 @@ python = {
 };
 pythonhighlight = {
   revision = 43191;
+  shortdesc = "Highlighting of Python code, based on the listings package";
   stripPrefix = 0;
   sha512.run = "1018d4383ba04f92d383d2c4f51d30f091528f7a89ff23614e0ebc9e488ef3cc8167de12a42e6a6465c2b3937d849bd5eecc94cab0a9b8003569b06ae2c91632";
   sha512.doc = "31297eb541060d760fd61ebe169b840cf182f8f857986aba5a2a578373037d3c99ee12ec9c707ab1f9d29564925821665997ea45f728273007f61a5f0bea5180";
@@ -38467,6 +41768,7 @@ pythonhighlight = {
 };
 pythonimmediate = {
   revision = 69487;
+  shortdesc = "Library to run Python code";
   stripPrefix = 0;
   deps = [
     "currfile"
@@ -38482,6 +41784,7 @@ pythonimmediate = {
 };
 pythontex = {
   revision = 59514;
+  shortdesc = "Run Python from within a document, typesetting the results";
   sha512.run = "2e67beb9974eb9a567726d8a68f7d565aeca97d20484ef6e36312100411eef9d9de937297399a98f367a756f6679314cc1a25201ff11936b8a61f8f1f148830b";
   sha512.doc = "3ec2fe0f095384734575c2c9fd1bc9d485b628485c8ee75cd8fb9ebd6d1f56edbec6f378c7c9e1d5ba9c10c4bbcc3934ddb957dc47a258ac81ca89b5ce3a2e92";
   sha512.source = "8a3cf562716df588d4ada0273c3340b73e16a01524e02a9c83c4ca781b8dd1763a1deb9e303635878721831e0d57b780c0666b694629106650f639061d2f32f4";
@@ -38498,6 +41801,7 @@ pythontex.binfiles = [
 ];
 q-and-a = {
   revision = 69164;
+  shortdesc = "Typesetting Q&A-style conversation made easier";
   stripPrefix = 0;
   deps = [
     "einfart"
@@ -38509,15 +41813,17 @@ q-and-a = {
 };
 qcircuit = {
   revision = 48400;
+  shortdesc = "Macros to generate quantum ciruits";
   stripPrefix = 0;
   sha512.run = "72dc726d377bfa13b30d5440f65e3f451a717c32785c9338bc95107a3fd29326d5011ea31a6805fd751e276279b8bb577f2b4a488ad0f380ffad84fbe46e272e";
   sha512.doc = "cb4d00d575ed8f859722b97af7f15323af85e69b7276947c05770a6c745dbf0e4b3aa1546b3cc82d9555a5ce839b142ea8edd3da166d2c109bf6b829b2ebb74f";
   hasRunfiles = true;
-  license = [ "gpl2" ];
+  license = [ "gpl2Only" ];
   version = "2.6.0";
 };
 qcm = {
   revision = 63833;
+  shortdesc = "A LaTeX2e class for making multiple choice questionnaires";
   stripPrefix = 0;
   sha512.run = "f14457229f0cd0a291482b1fdab1970552257cc65955c9df43485c5af5a389d5323073c70b18ba0a6729ba4c7491fa4b2966f341b04ca6ea454d9e85e21ea904";
   sha512.doc = "f60d3cf3581f7f2fbf7a4fc18994bfdf77b3ff16d148f6036694e477f7b8945b25bffdb107f4fa11d90b65498f8abd034e24a73fe8bf3e610e2d158a08ed429f";
@@ -38528,6 +41834,7 @@ qcm = {
 };
 qobitree = {
   revision = 15878;
+  shortdesc = "LaTeX macros for typesetting trees";
   stripPrefix = 0;
   sha512.run = "cd229c1611f269f904d73d276b8b36fb60a373130a3b5bf78508daf85d5ce50cdc4841a25e30c5a0925344eefd93f638e635be2878478f575f32fc458fa9a0dd";
   sha512.doc = "b3b587bbe835456cb6298804cac2a8d61c85d4bad6550cd355e6a9ba155e7b691c5b2f5f919ded355b21dde9c4009ee30466bcfc5cb6d81e0af0fdeb97aa3b64";
@@ -38536,6 +41843,7 @@ qobitree = {
 };
 qpxqtx = {
   revision = 45797;
+  shortdesc = "Polish macros and fonts supporting Pagella/pxfonts and Termes/txfonts";
   stripPrefix = 0;
   sha512.run = "7387592a338e7ba10942e4ed96364e36ca325040bff02cd69bf0f98d471775d38bd63e54bad494f64874e2fd0462762595c5796d7453aa6909fccc2d9d6bd27c";
   sha512.doc = "6b6fc20f5ec1269d318813b1ad34020e2b5341ed8891c11d2eda6b84884b3782e992dd9dde16d14b2030f2b57e1146fb6da6e761a35b12a3d88e8d865285668d";
@@ -38543,6 +41851,7 @@ qpxqtx = {
 };
 qrbill = {
   revision = 67724;
+  shortdesc = "Create QR bills using LaTeX";
   stripPrefix = 0;
   sha512.run = "61a65a020fb5cf012cc08d6d852481ce8712c214fa7cc446ecd0d5a68221f29ecfa710e81889cc92d3f3895105f153ca5fd54b798261ec095a5f06ccc75cc4e8";
   sha512.doc = "e348c90fb8ee446551fa2747763ad611344279ce00e0b8fc3772f1ca0b9bea674d1d759fc26b8955261d853b264d9e598862f0bf80561f23b4d3eb038a45f248";
@@ -38553,6 +41862,7 @@ qrbill = {
 };
 qrcode = {
   revision = 36065;
+  shortdesc = "Generate QR codes in LaTeX";
   stripPrefix = 0;
   sha512.run = "65ecc00d46d06f8a36cb1f170c12692cf7ef8c0cf9e68bbdc6a7da6b0a7f5fcda6a2e065b8a474609556518ab07c2d12f19a9fdaa0b6339aba94cf35184e26f9";
   sha512.doc = "406d1cf238b397412a57ed695a39af0ef32de007b94e8650cf591c63882d05d7df18061fbd2b350347c052091202a38de1ceef19f61fa58de38c2e73de6b01b2";
@@ -38563,6 +41873,7 @@ qrcode = {
 };
 qsharp = {
   revision = 49722;
+  shortdesc = "Syntax highlighting for the Q# language";
   stripPrefix = 0;
   sha512.run = "29aa0808112111d088f8795ec87ca3df6f2e10f0a8e91347ddc7101733aadc72ba90356f7e4b39fce6484e04975d3e151205a5d5272789ecd414cd0a6afc243b";
   sha512.doc = "69d74a3ed755d16957a2a844ae624a15e18813fdf02595c2e4ae2dc0cf13b20a1db1c4f49c20db3e4d3343c586411a88c7ecfe6367c4c1efea1a8cb2730cf8f3";
@@ -38573,6 +41884,7 @@ qsharp = {
 };
 qstest = {
   revision = 15878;
+  shortdesc = "Bundle for unit tests and pattern matching";
   stripPrefix = 0;
   sha512.run = "1461a7e5a88a75d1976b8bf0b6b9a685c7e68bd5983ea1549b277627e20b8e7d0b890536c8e8357e168914220c168cc2be2e9a688b512e16d613107c50622f79";
   sha512.doc = "a2e138b5de9012b637cc98b18e5aa64b2c9384f03beceda724c86f1e81e03b6da6b19de27fe15724463edc61520d035495f2f039a2d541b4761c44c55473d1c9";
@@ -38582,6 +41894,7 @@ qstest = {
 };
 qsymbols = {
   revision = 15878;
+  shortdesc = "Maths symbol abbreviations";
   stripPrefix = 0;
   sha512.run = "b910db8e0e33bbc111a95db914958a3261fa89061677d999876b026d25609326b83444a7c6b77ee4a39d60eaedff448ec662dddf9511e99c826a3bddbf0b2861";
   sha512.doc = "c633094c09c291666f1953d8d8d8570d71b773e70f90c805cb01981117ea4212ce8cbd4ffabd9ca5aaee07637d19c6e627856115b3943f9d5c414034eee500ea";
@@ -38591,6 +41904,7 @@ qsymbols = {
 };
 qtree = {
   revision = 15878;
+  shortdesc = "Draw tree structures";
   stripPrefix = 0;
   sha512.run = "9f381007c2526f51483d7c190cd7cf86cb399e95475841900ffa8f522d3da71f4f451b42562783d756e252e513ca1f9e9e8586517057a8f6b881cbbecb5c3987";
   sha512.doc = "c16142acf0c3f9e4f347c9ceff7a6c29557c0c2c4d2232ce9df146279b3cd4e1019e703479f426709a3feeb6ac46fb91f7dcee8cad35b19c83c9893661322f96";
@@ -38600,6 +41914,7 @@ qtree = {
 };
 qualitype = {
   revision = 54512;
+  shortdesc = "The QualiType font collection";
   stripPrefix = 0;
   sha512.run = "c507e8b712f2ce40474ebf2c072654f00d71f1c21156cecced7ed40ea9beac07790a67250ebb7a535c19a266573edb5dbf8d1fe4d661b7828428cd1c7574a1c9";
   sha512.doc = "20ddd865622520e4f9a7a1472c03f3c18bac039dbbe10849364a8ae1d0ee7d8771f30a02511a701962b2db25c79c74d3c2aa14f42951c7df9c0feb199092d510";
@@ -38608,6 +41923,7 @@ qualitype = {
 };
 quantikz = {
   revision = 67206;
+  shortdesc = "Draw quantum circuit diagrams";
   stripPrefix = 0;
   sha512.run = "af7a59b5fa4111199351b3ee6a14ecbcd6f6e86041a7f516c97f0cd4349a2d96935f138969e0029e4f5f8b8650b7efcef9554bd631c1231d371ec323d7b41024";
   sha512.doc = "a5efd5af9c89a13afd29a06215becf7544e9643697759695f8be2ea39bd62f99748369591cdc619c18b2bba9f0a0529ea6ba0a7be1d9b4ea1c9a8a8042ff4426";
@@ -38617,6 +41933,7 @@ quantikz = {
 };
 quantumarticle = {
   revision = 65242;
+  shortdesc = "Document class for submissions to the Quantum journal";
   stripPrefix = 0;
   sha512.run = "432dd6c4365dd1e6dfbd9ea4de2f29f0bf0fe3bb7f29b110354ad7d42c4675acc4df84cbcdabc8a476ff8de260e083d32c1b3e63bf7b6122dbc0d5373847bef9";
   sha512.doc = "791b37745fd91a13638cd1689478a35272e4b1b04ea1fc5dfe16d8d320576fbcfaf8b2929b3afa12e783fa148cf3d5f422354d8de0976d808f0921839ea3659a";
@@ -38626,6 +41943,7 @@ quantumarticle = {
 };
 quattrocento = {
   revision = 64372;
+  shortdesc = "Quattrocento and Quattrocento Sans fonts with LaTeX support";
   stripPrefix = 0;
   fontMaps = [
     "Map quattrocento.map"
@@ -38637,6 +41955,7 @@ quattrocento = {
 };
 quickreaction = {
   revision = 66867;
+  shortdesc = "A simple and fast way to typeset chemical reactions";
   stripPrefix = 0;
   sha512.run = "9915f2032b336f50f784dddf14f69df6bf59ea0c1df668adbd36cbddf98df601605ec6a245e3fc2011742f6349c830add2ffadd49e4389c088bd15bf5bbe7a7d";
   sha512.doc = "c71b5b5a52e12a50cb52632225e9c70acb40ad4796b4b8a922d810e8d5d34da532e3f2b0b708a7a896756f18edc2c39376eef4748e80ebde5869ec44e6af0765";
@@ -38646,6 +41965,7 @@ quickreaction = {
 };
 quicktype = {
   revision = 42183;
+  shortdesc = "LaTeX package for quick typesetting";
   stripPrefix = 0;
   sha512.run = "4950c1c7a4536cb64d70fe8c08a69fd9336825973a7c8a669ba48bd66476888775d1ad288d34d4b83a9d674624960e3d17de1c972f52bd7f329eff971ec0f185";
   sha512.doc = "6e43ad0d932eb2237106fd991dcd25e5bd536cb64db5988c958b138af294fbc777dc6ce2c2b791e3875a2bdeaf5a10be7d15585b44e7487017925e0068e898f6";
@@ -38655,6 +41975,7 @@ quicktype = {
 };
 quiver = {
   revision = 67779;
+  shortdesc = "Draw commutative diagrams exported from https://q.uiver.app";
   stripPrefix = 0;
   sha512.run = "b7eda520bdfeebff570458d36e22b1779bd16c14070192072987c7f1131efa33c6f1e7ff8c16f73c338fbfe6ef80e656c2ef061ad9ee15885b7f5e8f1195ffc0";
   sha512.doc = "42bff285adfadd6655941b0221b2cf0d9a457a638997591220b564040acb94b4c57bb9dfccf90679c81e301618e8e4b5ea19c1dad9fb478dbabe1c2dbe4da991";
@@ -38664,6 +41985,7 @@ quiver = {
 };
 quiz2socrative = {
   revision = 52276;
+  shortdesc = "Prepare questions for socrative quizzes";
   stripPrefix = 0;
   sha512.run = "f4fba8eb850a90288a9b3e7f4571f5df560e09e7cba608f7bf2bb3090db5a2c6bc7fc7240ef2e3cef9d37fe1a0105e74c4c63c39a7c1793a1fedc6f86772eac5";
   sha512.doc = "a51cc19b7d13c0bd4f1ed07c6292940176104b5fb381dece7709a5bc1332edb4606cdd4a66ee5a4e4886754c4d274aeab40666eb45328dcc6c465a29a1c4ae29";
@@ -38673,6 +41995,7 @@ quiz2socrative = {
 };
 quizztex = {
   revision = 68823;
+  shortdesc = "Create quizzes like in TV shows";
   stripPrefix = 0;
   sha512.run = "dbf234ba1d366bdd2a1be442c4bb670efe34d67584386ab1dadfa8afa2ff8551ff03ed9c441f6dc480bfed36ea79082048aa6f0e182f4b9bb5dbce7782c81391";
   sha512.doc = "5c9242df37a22ebdc33d834acd95f760681eebf32516857d6b7ef866ebd00060017ec058c7a628239aa65cfbe62d0335ec00d786d4f9558ec754687b161ea017";
@@ -38682,16 +42005,18 @@ quizztex = {
 };
 quotchap = {
   revision = 56926;
+  shortdesc = "Decorative chapter headings";
   stripPrefix = 0;
   sha512.run = "7d94162630e53133b79e33b60abb7c4664d3e486da611e37d48593757f39b0526831cedd0c236ce9b4d8ffc85b35734acadc98236435345180b999d7ea68c1f9";
   sha512.doc = "e2fa71ee21ad019ef785a3c74ddab5f232d3a6d1e9fcdcedb34c216eb5e6d44abbafcaae5d1c4557bc1e4aae92561a75ba2c3723707328a12cdb6ff4c1b72dbf";
   sha512.source = "eed36464f1b04852e8af08c5fd91c42ccccbbaeccad565e6f338ed5c87b003b2dd1704e1dad0ce0e49651461b637e8ed613399a0ae8122081e9084e47704665a";
   hasRunfiles = true;
-  license = [ "gpl2" ];
+  license = [ "gpl2Only" ];
   version = "1.3";
 };
 quoting = {
   revision = 32818;
+  shortdesc = "Consolidated environment for displayed text";
   stripPrefix = 0;
   sha512.run = "44a9c726a5a9158fcd13fd93785101d2a9a940f34da3d52efd5be1a0467cd76aeaf4706b945a8de0b4e0b4a90740567cfad87f08aaa92e7d4eeae8eb9f7bbc73";
   sha512.doc = "b3990965effff7529a7c18cdd3a08af337be3766ffe535feaf54db504a47b0f054af41511a635c3e70c34d3025df419af702d319240ee673f7462d2cf4ccbbc2";
@@ -38702,6 +42027,7 @@ quoting = {
 };
 quotmark = {
   revision = 15878;
+  shortdesc = "Consistent quote marks";
   stripPrefix = 0;
   sha512.run = "9f21ef20aa9354b1347f00a52df65ea691fe4a00b05b794815279c070d05544611ccd8773cb7c9f8146a3a135f3100a06aaec48acacba255bae9a0654a2a9b53";
   sha512.doc = "6507fcf8639e780ab844700f6356abd8eb69df6158ee638d8471a112159f95a3df8f358fa40479eefad0cf09c34fc37d9292904ae159f2a79fea5acb93f6e542";
@@ -38712,6 +42038,7 @@ quotmark = {
 };
 quran = {
   revision = 67791;
+  shortdesc = "An easy way to typeset any part of The Holy Quran";
   stripPrefix = 0;
   sha512.run = "d725825669bce286e05ba5a6a4034f2a485434d40cd32d7f9cad42c1bc7e74001a0a0d1784b5af73c1075166835042406c42839bdd6fca40cbb06b349cc685d4";
   sha512.doc = "1d706f0ed780efb7529eec16dc9e76182c584113f6d5bc58521de023611401963636e6370c8e06082548da191c4523c7017c59f164d1cf5b234fe7fbd4522689";
@@ -38721,6 +42048,7 @@ quran = {
 };
 quran-bn = {
   revision = 68345;
+  shortdesc = "Bengali translations to the quran package";
   stripPrefix = 0;
   sha512.run = "24694bd309d78e2c0315d60027502a93f3beedc436e3b5dbdb3491d9320ff4e2439914a3d3b84c70644ccab3858d184d948a006b13e622af5cb6c1211cf6f5d9";
   sha512.doc = "d82f949a61f668b6577527d8ee329cd7e23fa7d584eb1c7258be3afe819d6bcf249d9db9778b6da4f57cc1f239d0340cc8b64855eb25d5825d47cf1e298dfb80";
@@ -38730,6 +42058,7 @@ quran-bn = {
 };
 quran-de = {
   revision = 54191;
+  shortdesc = "German translations to the quran package";
   stripPrefix = 0;
   sha512.run = "d969c3fd171102e4c47bf4eca383a22498fb6e95a5f8be288a137e12e1c92adda9e92587c402ccf87fcb116597c6074e64eb70b8249b208e7d1bd684d6ffd6d3";
   sha512.doc = "4a371576e7754789ec67cde04f533ade561d770cbf410e31c8fdb737d127dd36e0f8f6a233512b147ffd5692acecc43e1977c76efe04b1a65de3c6297038a954";
@@ -38739,6 +42068,7 @@ quran-de = {
 };
 quran-en = {
   revision = 68790;
+  shortdesc = "English translation extension to the quran package";
   stripPrefix = 0;
   sha512.run = "75ed9751d6d9517970ca0cf842eca390a172ae24eb12be04a2b97ee1d2673446064489bf594a172677cd785c05ca31587db8b3f64f8d8a1080ce0be0bf191356";
   sha512.doc = "7e5999f4378a32dca0b47ebe63a1fbaa331110d638f1b2d3308964a1a61d4036967aa1712e1c07bb0d3bfaa2106abca72302df06a811b1412d5029fd94588d2b";
@@ -38748,6 +42078,7 @@ quran-en = {
 };
 quran-id = {
   revision = 68747;
+  shortdesc = "Indonesian translation extension to the quran package";
   stripPrefix = 0;
   sha512.run = "88328a074b74b6197079c9fbe92170989a1c4ba139e2a84ae96f803ca5805000e11024861e9f033fcba5f346b6bcf38a59231b6849fb4af586eab33795efe7f7";
   sha512.doc = "42d6c03ff54e65e94196ea0b66e77921dc6bfed3f45605835fd6721aae3b97ebb69acb2362bf0fb6158348fedafb8d543f32602358f3466ecfd89cb56650a074";
@@ -38757,6 +42088,7 @@ quran-id = {
 };
 quran-ur = {
   revision = 68314;
+  shortdesc = "Urdu translations to the quran package";
   stripPrefix = 0;
   sha512.run = "af8d0d7c10d3b9dea55cb4339982196d5dc33204fb9ff368591e50f48b8fd5ea741207466f158a4ce7da1125cadb5240bda38cd4bc5093966fb42f7de77beed0";
   sha512.doc = "17d660971e942478baabe2e98eec7da096c37b13f9da24a8e8e4139d0dffccb280b0a464a0fe76f47ff39f899e8ae0d9a582a01be927ff8529e14c097b81090d";
@@ -38766,6 +42098,7 @@ quran-ur = {
 };
 qyxf-book = {
   revision = 56319;
+  shortdesc = "Book Template for Qian Yuan Xue Fu";
   stripPrefix = 0;
   sha512.run = "be1be15996d6db58200ced70e6b17d29ad015bd1f1ae1dccb7cb50e225e9150db76511fbec37d17711e10104322782f92bf9fedecf990fb4358fefc2df7a78e8";
   sha512.doc = "5bd3f6f9576ae2cacf3351db9cfe59ba519953a6e25e32b2ab4215a928d7a0f2903a9c75f9432c8fff3d9b7221d6ea09c439421eb5c5ec6830665d89836b9d63";
@@ -38775,6 +42108,7 @@ qyxf-book = {
 };
 r_und_s = {
   revision = 15878;
+  shortdesc = "Chemical hazard codes";
   stripPrefix = 0;
   sha512.run = "86b219305e4e085af2a22d34bc586253b5674abb18e257fa96bab1d45695f841020c0004f1da51fcfca0fd0b325e4043f2e368740841a5a2e8db774711ac6348";
   sha512.doc = "26e227f106bb9303c4823f0230b689d6ed883580051e1bd5ec2e16ad796a3e33df2caa389c309b21b010bb43b07e5ec1027d6c046af55193deb0e4d975288846";
@@ -38784,6 +42118,7 @@ r_und_s = {
 };
 ragged2e = {
   revision = 67441;
+  shortdesc = "Alternative versions of \"ragged\"-type commands";
   stripPrefix = 0;
   sha512.run = "363d952daecbd0c4d57e7d2aa5bd28e32bd04efd1b26f5ab65c4874fc65948fb4258eb430560bb8d294406cf314778047b0027a45c21cf99f77119519878e368";
   sha512.doc = "be65fa8afee57fb8044ad9ec3ae1ee05ebaf0d8b40388f9876de7c25f6bc6b3a78221b393442e1c3bfe69450eb3c98b276b569540ea8a154a5297560f8a972c4";
@@ -38794,6 +42129,7 @@ ragged2e = {
 };
 raleway = {
   revision = 42629;
+  shortdesc = "Use Raleway with TeX(-alike) systems";
   stripPrefix = 0;
   fontMaps = [
     "Map Raleway.map"
@@ -38806,6 +42142,7 @@ raleway = {
 };
 ran_toks = {
   revision = 59515;
+  shortdesc = "Randomise token strings";
   stripPrefix = 0;
   sha512.run = "25b78e30d7e6a2f082a7740fcdb968cd4032e6fd612bafdbeb58613f45882e788809457d0fcf29af76d3eb82c57d8772960ad84f9ed5940fe670f8662853364d";
   sha512.doc = "7e837aba73d0d578494845f038f7616a64eaeecde059655c8ce3ed5a5bc2c5910086c955b6a16a42abd09dbbafb71409387959eaf2378618532d2e494bba42d2";
@@ -38815,6 +42152,7 @@ ran_toks = {
 };
 randbild = {
   revision = 15878;
+  shortdesc = "Marginal pictures";
   stripPrefix = 0;
   sha512.run = "b4fac4fe105366ae1047a1d4225bfbe8ecfe6e05c29e955bc91d591f25ad6a8ba0e2b81848f27af96a1509a278864393c8874b14f30e64c8d5b69b9db811ec41";
   sha512.doc = "fd8f83db389fa62ae8dd63a2c3bc8e4feb9beb6c56d7579fbd9e9065c399a73ad19563f22cdbe1dec78bd1c33056ed1cd4d9a534105b34a2ceae0cd8592326df";
@@ -38825,6 +42163,7 @@ randbild = {
 };
 randexam = {
   revision = 69965;
+  shortdesc = "Make an exam paper and its randomized variants";
   stripPrefix = 0;
   sha512.run = "bba998f59e869c81278e5a174d3f7e66c6534531064e30152c3a7819b32f81ae2e75b11ee8190772c282d06f0b3b1aa84de2fd730f18edb8bc4244ee31eb60f5";
   sha512.doc = "251e4e88983af9bcda1024e014fb587ee6ae03840b0c59b141dca606271c582a1085b8a985a1d138781f9a3b6b629616ff4d6827a61ed95284a61dc123c39a41";
@@ -38834,6 +42173,7 @@ randexam = {
 };
 random = {
   revision = 54723;
+  shortdesc = "Generating \"random\" numbers in TeX";
   stripPrefix = 0;
   sha512.run = "a93eb4d5b526285da18105f67bef5cb4451b7b71be50581936a4718ad99360dfd8141ee9437d374c56eb3db3aad9af4ec8e1555a4a5b8654711bf64aea3f419b";
   sha512.doc = "f2aa83c5e34707ce9f7cb46e6f3b1632784ec741a68ba9faec0d323aba2054de55f184aa9f1120491bbc60db2040087c4b2dadbb9a4b3763b84358c1855974dc";
@@ -38843,6 +42183,7 @@ random = {
 };
 randomlist = {
   revision = 45281;
+  shortdesc = "Deal with database, loop, and random in order to build personalized exercises";
   stripPrefix = 0;
   sha512.run = "895eb116868ced533e23d398d0f17bda2f55a2cea52ec46bcfca4004b9411fade8817af4fc9d3d91b2ab2959ea24027266d8fcac0c77a64d2a4b88fbed5d56a4";
   sha512.doc = "4c0ebff9275bbd1c8550902735b4ef0d04dbd688bb1abdf124560defd2e5d0cc23171e8034fc67b5379d0ec30395b4433ababf3c3a244cbb5ca5f15005057f58";
@@ -38853,6 +42194,7 @@ randomlist = {
 };
 randomwalk = {
   revision = 49513;
+  shortdesc = "Random walks using TikZ";
   stripPrefix = 0;
   sha512.run = "3a1f08f41864cc3b855fc4a9f8aba298d92505231c728381f5c5aa29f21c73d6e10834ad589c114ae26ba97d092b33e9c83a30518a7f289aa0ec96c933471afd";
   sha512.doc = "00c23d42132d4a47973871bb9a2054385681898d6cd7e0a7a47337808187855812d98535428f6e37a3eb2da13680ac4128fce38db670a87a66483f6ece044c8a";
@@ -38863,6 +42205,7 @@ randomwalk = {
 };
 randtext = {
   revision = 15878;
+  shortdesc = "Randomise the order of characters in strings";
   stripPrefix = 0;
   sha512.run = "6cd20551f4b48d30d4c830da395873bd20e11b930336f4fac0f0ccf09c9a956d18107c45aa2b1ecea51d1fc4b0c0fabf06d436e247aac6ff58548cbfd31d35b2";
   sha512.doc = "3bec31ca40816e7e86642e080021ab5faabb19656a15463f712e111485f1de00d698816e84b1ed7b63ea9380970d4e80b04aa0cf79442c7d1d77d5fa3f4d072a";
@@ -38871,6 +42214,7 @@ randtext = {
 };
 rank-2-roots = {
   revision = 68161;
+  shortdesc = "Draw (mathematical) rank 2 root systems";
   stripPrefix = 0;
   sha512.run = "c15a31fc178dbce9a776c8409d0df18e4ac05e2786aef486bd9a932c64ee6482ca15d6ca10eea70b98f9444f01d292a5e1032fb924cbd1add8e8bdae7a1bfe8e";
   sha512.doc = "b5b2bfdea68db76c4d52d45613cdd45d91e684f24739024c53a2e6efee83660c2534cc88d4aaad5b1e2c203cebf2244ccc4331935142661090b95e29aa4e9240";
@@ -38880,6 +42224,7 @@ rank-2-roots = {
 };
 rbt-mathnotes = {
   revision = 61193;
+  shortdesc = "Rebecca Turner's personal macros and styles for typesetting mathematics notes";
   stripPrefix = 0;
   sha512.run = "15e5b0c52a70b406cb6de6ff55740206dafb75c8cc20dd45820059dcdb112c03ea0df0884b6caa12db0f792b97e0507f90d06644a8f78cd7569f9489a896b3cc";
   sha512.doc = "effd703a23c4eee3ecb385cf8ca891c50e373fdb91834f45f7ba414d6e69b5fbef8a1833db4cf76e27dc316b734b714926078e4d92de08122dc79948ba928f77";
@@ -38889,6 +42234,7 @@ rbt-mathnotes = {
 };
 rccol = {
   revision = 15878;
+  shortdesc = "Decimal-centered optionally rounded numbers in tabular";
   stripPrefix = 0;
   sha512.run = "0a712f0918b4c0e4cf8cc2a0d442a681c6cd4d00b50478751512ed4588f070566f005717196f694c8d07e79f8ab6a49be6ddbda8db71af65e30cfbbceeab6d2e";
   sha512.doc = "56c43ee9f49764ce50da6b1b4fd736cfff16a1cf3907fc7189807e5c946f1c25c593ddc1aa22c2ce2e0799f7057efe2df35bfb9aef0fa1c31724110a352fe4cd";
@@ -38899,6 +42245,7 @@ rccol = {
 };
 rcs = {
   revision = 15878;
+  shortdesc = "Use RCS (revision control system) tags in LaTeX documents";
   stripPrefix = 0;
   sha512.run = "4a9d7cbc5c16163a5866bcc3c9fae95d8fc42b27d0d8dd8ceaf32e2b568bf9ac6b710a4124cbd255f1f2d18fbcf66ae020cca58ce6d16c6c5eb6e0a85e288419";
   sha512.doc = "71430d5e481dac53c3b1d5f86ec589fd855c244c6717f31c16e2fe00507850779fed3ef43db2deb546ec5b99ffe775a10711f1fd59c022f4223a8d3327424cdf";
@@ -38908,6 +42255,7 @@ rcs = {
 };
 rcs-multi = {
   revision = 64967;
+  shortdesc = "Typeset RCS version control in multiple-file documents";
   stripPrefix = 0;
   sha512.run = "597d15909aa4525608f649c08dcad66ea3e7bc41a5d3003c1fc2582ca459dab58bf9e8a909f92b3a5eb40397a2612d26601ef33fae3d151b7e5188a39ed3780f";
   sha512.doc = "7ff57e19f66f665b1b2e35b32f109f091b21300495177fdd63e60b26a8c8e1d7532e40bcdb2e01d3499b753bbb53b1dec6f70ed3273c43d3fd541a1fe63f82f8";
@@ -38918,6 +42266,7 @@ rcs-multi = {
 };
 rcsinfo = {
   revision = 15878;
+  shortdesc = "Support for the revision control system";
   stripPrefix = 0;
   sha512.run = "6070a3f0b434b5339e527161b7c1e18dd21b23a9b57817a2699bc13369bf35110868e38d3e487b7b0b58ddb12699599a6e8ac4314b150ff2c8049ade5124f786";
   sha512.doc = "c7d149405b9824f7fb9a453386477ee3ebb7e265b29a004eeab687695667a9e8ddd7ca91ffdb4fe7f60716e6c1f2b39004aae82777c58cb60532bb2ace2bc846";
@@ -38928,6 +42277,7 @@ rcsinfo = {
 };
 readablecv = {
   revision = 67986;
+  shortdesc = "A highly readable and good looking CV and letter class";
   stripPrefix = 0;
   sha512.run = "bfbc2764d56277d9a215d4366f812e53361faabd136ae86ae8152ab763742f51d27e9b61bf4a1d42fe2f14a90d5d3d0cf6cb513b3c6f5990ad34abeb26c22d44";
   sha512.doc = "6a337934b2f52cc8543ac0bee5dd52d2deff2e3fbf192977937c8331134227d816c846845923ead87615ddc117b44fb141239024e766e17e1896cfa1c4afbb05";
@@ -38937,6 +42287,7 @@ readablecv = {
 };
 readarray = {
   revision = 60540;
+  shortdesc = "Read, store and recall array-formatted data";
   stripPrefix = 0;
   sha512.run = "615f0be7efb7cd6954d36ad1dafc9f0f0a1632159247e7d6feb064e272c5753b26c5e07af709240a6e5f8bd7ceb7ca2c2c29842a5bd6e9e9efae2470f7a94107";
   sha512.doc = "d9f87dc14d40c33b06591b611e8a79df95fc62c32d16f72cff96222e7fe48f4c09c95bb0b02a6acddc8b4630158ed61c9375dd370c2f2d21ec8a9328f63fff47";
@@ -38946,6 +42297,7 @@ readarray = {
 };
 realboxes = {
   revision = 64967;
+  shortdesc = "Variants of common box-commands that read their content as real box and not as macro argument";
   stripPrefix = 0;
   sha512.run = "2705000ece0e4bdc9b96929e853733eb594d6d12b1bbee97b3068f46ba2c6c3b2d06ed0f0eb5e34bd3e26e331722e51c1fd98ff36fa5c53473e99a7fb1610c22";
   sha512.doc = "aa3d6f25505cf1dba7c5ae5c364524cbed6c6a588073fb29e7d9b14706b8ffbe5998dca4f17e1039aa242ad4bbc29871c72686f920610d8662491e1c91e339f5";
@@ -38956,6 +42308,7 @@ realboxes = {
 };
 realhats = {
   revision = 66924;
+  shortdesc = "Put real hats on symbols instead of ^";
   stripPrefix = 0;
   sha512.run = "9cd41126ccfdffe1322e0b49af113b65761a34fd8bffb96390f7c50d78739be06605fa2e16347a226bb7fba47bb832b1bfd19c8d836dd557fb41ae5dd0281d5c";
   sha512.doc = "94fa596ae22d6c4f75276b30e5fa0f0d03d575f01ef2d6e6a18454bce3c0328a8dd7b804d586af57363ca1c5eaf3c57a4d021fa37327920f123e7b8b2ab55df6";
@@ -38966,6 +42319,7 @@ realhats = {
 };
 realscripts = {
   revision = 56594;
+  shortdesc = "Access OpenType subscript and superscript glyphs";
   stripPrefix = 0;
   sha512.run = "fc0c686971c536b3490438e74322aec06371857a987bd70a6def7310441229fc4813d2080c5aa9b5e22cf78dc8ab1c3ed75b301acd987117d3e6f1f589f78981";
   sha512.doc = "bddc4958f2c57e5e05fa31912a6c19ee123be463527f2e1121405194ac47b6a806790c204268bcf590785c927808b75305079ed44537ec84284c594d691c906d";
@@ -38976,6 +42330,7 @@ realscripts = {
 };
 realtranspose = {
   revision = 56623;
+  shortdesc = "The \"real\" way to transpose a Matrix";
   stripPrefix = 0;
   sha512.run = "413eb0a65d79521c81417afdb2d7f0ed8bc625d107d2fa19db84ae04a1f27f2da8f07fea27139dee411e1850d8646d63412eb581b08a9c4dd69c886457027cd1";
   sha512.doc = "a2382dcfa84f3a2773ef6cfdd5a10bf23cd541927e2844419d75be6206ff5b42f37243ab2157ed5765c0f9c090340b6b75b35271157daa3440ee9d81ecdff9b7";
@@ -38986,6 +42341,7 @@ realtranspose = {
 };
 rec-thy = {
   revision = 63982;
+  shortdesc = "Commands to typeset recursion theory papers";
   stripPrefix = 0;
   sha512.run = "0497b8d382cf239b6b8d2f4bf2aeb3af34c8d1f1ad94640f930c316f9b7bd7e6a150c3d344a555313a88cc848fdafb3e392ff6cec0caf72d3517dd1db4b7c2c5";
   sha512.doc = "0733917542d683cddfe9651bc9187d2dfa7a57e2bfbfddca687a5bda10609451a3f58cbfd7f5308647f9a3014f0a4adc36e9075cfc1a5b7db48c7d1063cc9b5a";
@@ -38995,6 +42351,7 @@ rec-thy = {
 };
 recipe = {
   revision = 54080;
+  shortdesc = "A LaTeX class to typeset recipes";
   stripPrefix = 0;
   sha512.run = "03e9e48a2e423f36ccfbeb2e61ffc7c3588658a158c1729f697ce44d98079f104cdf1c17d85ffd5700a7532f762e22da0c4388350007eb13226cc0da43b08678";
   sha512.doc = "4dfd27cfbb4f5f5f45a5fce25fcbee4c9881990dba1009337f41e4080686e993246189595a7c28b8d56bdd2e81a70e9c6fefcfef0897736d5400888bb9fca210";
@@ -39004,6 +42361,7 @@ recipe = {
 };
 recipebook = {
   revision = 37026;
+  shortdesc = "Typeset 5.5\" x 8\" recipes for browsing or printing";
   stripPrefix = 0;
   sha512.run = "c030f81bac27221f24b275d689fc7cf80bd6d97ccfecb0c5d51876ae825871854d7729e123caef3735a7b2a5608f070ce170709c8a1723b5c740f05371c82154";
   sha512.doc = "0c9d803360e1ef65b38f5b66c6d3eba6e9c38c371a430e2cca371594935fda16a051d6d1ee33e787114747b9efc36475c6c92b2c8b199aa1a5b48e214f7a4643";
@@ -39012,6 +42370,7 @@ recipebook = {
 };
 recipecard = {
   revision = 15878;
+  shortdesc = "Typeset recipes in note-card-sized boxes";
   stripPrefix = 0;
   sha512.run = "62778e7429aaa8e4bed6546c748a7e135c9edc4909508723e7931284c619d502e9efb0e6fa54c8c1d242858355c6d95bdc87959400c18a5648ef105035ace26f";
   sha512.doc = "0e62ac28631ee072c9b0b5dfe9995744c381f17b14da5e9c8f4159fb274cf2a7662f0eed8f728ec5990a6a957de051304601acde2d171e696e79284ab2faeff3";
@@ -39022,6 +42381,7 @@ recipecard = {
 };
 recorder-fingering = {
   revision = 68595;
+  shortdesc = "Package to display recorder fingering diagrams";
   stripPrefix = 0;
   sha512.run = "1a97324ac1264d293a05207a667255e5711cc13b6acc02acd5a170d776d357dae9158491bd0adf96a11e17fbdde1d24809940d323f417f31c5b73c55c7758031";
   sha512.doc = "ce1782952b53171c686d0f76d9f48a127e6c6bd6c1c2b0eccb00fb8968f31c809118f6bcce0503a61997907feb7d677ad23692c68427bf8666124bb0b040585c";
@@ -39031,6 +42391,7 @@ recorder-fingering = {
 };
 rectopma = {
   revision = 19980;
+  shortdesc = "Recycle top matter";
   stripPrefix = 0;
   sha512.run = "17a297d7862eeb8c48788e40fd761fd42b37fa7b49b7447e00e828f1a7e0f2e411eee357507d79bfe0441c7feada9e06fb18ee5ce0af87e7aeec7ae618e22d83";
   sha512.doc = "27ae9a381a685373a980e13b9b5c3f6057f98224a7c9659edc0c056a6292e7289ed9772f3a503e8de3ea93b796f271dafeba57f6e240caaf738003e1ab848e46";
@@ -39039,6 +42400,7 @@ rectopma = {
 };
 recycle = {
   revision = 15878;
+  shortdesc = "A font providing the \"recyclable\" logo";
   stripPrefix = 0;
   fontMaps = [
     "Map recycle.map"
@@ -39050,6 +42412,7 @@ recycle = {
 };
 refcheck = {
   revision = 29128;
+  shortdesc = "Check references (in figures, table, equations, etc)";
   stripPrefix = 0;
   sha512.run = "46dde83ed04d4586eb6a2af393ab925aa7238a30c23f49ea33f0da331e2a5071447c5df22b31c2cd9b10bd37458794fe15e53e0e79f002bbcf95b0471d6a7d02";
   sha512.doc = "a87b6ab25848571770bc8a7ac1f47e139c7a2abebf36b9c72b65bc66e02c14b23f7b0d2246c7160b7669460f52afd29063449c6659336f01f3e99df53cbb4428";
@@ -39059,6 +42422,7 @@ refcheck = {
 };
 refcount = {
   revision = 53164;
+  shortdesc = "Counter operations with label references";
   stripPrefix = 0;
   sha512.run = "da914e64de5b70e124d9eb62148f5650c9445d2fdb94272ce622478b9aa50a4c7625be9c2152fffe9ff9fd87ee19319a0bc31ec5fd82839a479faec687de4af4";
   sha512.doc = "5324828978e3c8c14e9a28b86cbf87de175b9908f460ce6090bf19944557cfe82b112c6543d2878b54f4a16b1a9f3f3ffc66eddf1234c04b8852dbfa3ebaf27e";
@@ -39069,6 +42433,7 @@ refcount = {
 };
 refenums = {
   revision = 44131;
+  shortdesc = "Define named items and provide back-references with that name";
   stripPrefix = 0;
   sha512.run = "7113ba67dcaf3ca2a070e42b4fa9660889bdf7803401cc0f8c3f9f62c59e467d9f637c526712bf9aa9fc7ac3df3c550a41f419de9cff375e24e68d102207e8af";
   sha512.doc = "3511419e6507d2c5a7b48679e9220e63643b38f803e8a5d7046a55ea6b6f4827fdfabb74336fe61ba35628868a7f042ad472567e73351d13ab9568c508468a97";
@@ -39078,6 +42443,7 @@ refenums = {
 };
 reflectgraphics = {
   revision = 40612;
+  shortdesc = "Techniques for reflecting graphics";
   stripPrefix = 0;
   sha512.run = "ad670c699d958eaf103db1ae65d79bad78dbb0677c7464144739fd67b63dc5acd3c298f81c81f258de477fe9f2d4a4177de887ce1c031ac9c701662167c1a5d6";
   sha512.doc = "78717728d537cf0dacaee67151cd7f19fef6fa031a856ac49a58bb576337690df4323c80e1ff0f318a4eda3689fbdbc2aa5a3bbcef69b957fc4615ff825e1e0a";
@@ -39088,6 +42454,7 @@ reflectgraphics = {
 };
 refman = {
   revision = 15878;
+  shortdesc = "Format technical reference manuals";
   stripPrefix = 0;
   sha512.run = "45f51a654703a7e749e7dbb08fd0ccedc86b5f264ce08b504ed11827799202583f81a4f3fe32dae0794e20cefe2e6bbd0ff8563955c3a85eac2642c307aaf332";
   sha512.doc = "560d70322bcedfd0ca6a10c161d3930d389e77fef25ed568f5a68ec87eaa63efd4f7dd2363bab283af00a49719c3c8ba38e8a35ca011ea349dd854a0698ec79f";
@@ -39098,6 +42465,7 @@ refman = {
 };
 refstyle = {
   revision = 69680;
+  shortdesc = "Advanced formatting of cross references";
   stripPrefix = 0;
   sha512.run = "05e95688dfa1e8a8a3be6937cf5c36c315371b66c14d5dc0e51862db7a5aa0307bda55848806c259b68be64bf2b36e6cdf6c328b41b84f839ec67abf2fa949dd";
   sha512.doc = "6b71671a5a7b472823e805f5559acdfbab76bbc06a063c7efec468122b3884dbe5a6229c5ed7ab4c0e1aecd304c3333a58fc5c75c22a66739fe0ca16b5c686b9";
@@ -39108,6 +42476,7 @@ refstyle = {
 };
 regcount = {
   revision = 19979;
+  shortdesc = "Display the allocation status of the TeX registers";
   stripPrefix = 0;
   sha512.run = "6481e37b45ec26aa270637b465d9fabef010c6717c0a402f0bc2afaf5dfcd877e46fd8699ff8fa39d80218e6f319e09acec1417a47fedefe6da5d90a81b2928d";
   sha512.doc = "19215d4d4e22777b236f4226d82cebb1d0f8ced841cb33a4b275f0cb558c3addd4a1fd76d3aae9cac5e275695e197574145649be5f767372bd1bff13ec76cbb7";
@@ -39118,6 +42487,7 @@ regcount = {
 };
 regexpatch = {
   revision = 58668;
+  shortdesc = "High level patching of commands";
   stripPrefix = 0;
   sha512.run = "80b3be47155c8cd654d1b3ff7a1e261da826d97237b15733e6f63f6e3e9f1e40fb8f1cfbff48b38c4ca3acabdd3209147664aa8aa408b4601751f58d596c0f38";
   sha512.doc = "7cb6eaa1ba3e7ffcb80001b2380171204059907fa5345c3c684eb84861340f70590a8b5f1f3fb30a84516ccb2d49b3245a6a697b328157f7ed09bf9caa80982d";
@@ -39128,6 +42498,7 @@ regexpatch = {
 };
 register = {
   revision = 54485;
+  shortdesc = "Typeset programmable elements in digital hardware (registers)";
   stripPrefix = 0;
   sha512.run = "709694065b22e33c9d3f8d859ba8632672bd5e3fcf6102d0915c203b4fa6773e0e78f02b1af537b3ff2eabab5dffdae40e0dce63232037c37d4e50ff325e8116";
   sha512.doc = "08ee956f1f667245f3dc63a27f10b898a03929302f68f1fe19bfa3cc923a890ca72795d4500b16da31e7f69d375fc60e5023ebe404f3ee8b0ecc289fb7a6af5c";
@@ -39138,6 +42509,7 @@ register = {
 };
 regstats = {
   revision = 66795;
+  shortdesc = "Information about register use";
   stripPrefix = 0;
   sha512.run = "4eaec929726cc9bce1481d4edd4222468c05aa30272b24e26b0c9737154316430ef91203531fbb94e3432fe06042de22d30a6253c1eaef6f1c9287b4f0049460";
   sha512.doc = "8c9f9156e513a4f29c7d362146056fd69f7eabac72e2747c1c93821c9ed69753630da257e1a250b415074c21c1793e4f5c57ea4022338b104871379717da37c3";
@@ -39148,6 +42520,7 @@ regstats = {
 };
 regulatory = {
   revision = 69611;
+  shortdesc = "Flexible drafting of legal documents, especially in Dutch";
   stripPrefix = 0;
   sha512.run = "5225692577191c662f7eabb217b9c969cd410e75f07f0ab6b2b8e7745b873249f6b56ca8b6f1b8be8fa538f566ace75af847b272045186487212d452dce9f007";
   sha512.doc = "ac792ec6ee63c2c69cd54fcbaf11e78c49fa819f3dc3bf3eca072ae76fce168c3cb5d3b26f3b0c8e31ed6118eb7787b6a043f0bbec298a80b129314d332c9a2f";
@@ -39157,6 +42530,7 @@ regulatory = {
 };
 reledmac = {
   revision = 70207;
+  shortdesc = "Typeset scholarly editions";
   stripPrefix = 0;
   sha512.run = "a342f8a3e20265013b493836e5b4297c847718bbf8a8cd0eba4e8efee53a2ed6e937766f67ea6b1dd3f09ae03d670f2e1bcb5bb9acb2d751d63264f1212266b8";
   sha512.doc = "45172bbd27094522f440d6df80826494381d876b715b849415fcbc13e4bc4a78a937b3dce3387540f514b9627413a3c96cfdbe390b101ffb2e2662a7ff716cfd";
@@ -39167,6 +42541,7 @@ reledmac = {
 };
 relenc = {
   revision = 22050;
+  shortdesc = "A \"relaxed\" font encoding";
   stripPrefix = 0;
   sha512.run = "d638db869698a6b564f1482c3ffbda561bac0da00e008b5b3ddcbe267587813042bd3d578ea871f5ef48a27309baf8e290413b65f99daa26ba7a8b2a1dc62050";
   sha512.doc = "b5e81a7edf8e7d0c3be9ea46ffb2a43af5d58153ee91d656faba600d4082a8982706744ba1991c82ce8c119fd12fcc0eaee30353135338154b0445e48f33472f";
@@ -39176,6 +42551,7 @@ relenc = {
 };
 relsize = {
   revision = 30707;
+  shortdesc = "Set the font size relative to the current font size";
   stripPrefix = 0;
   sha512.run = "90a4829b63d86214c44cadab6b9c9c114d6abfbd72dd4cd8bddb18add9b7fede2867f39d57b03ac9e7762950db71664767554b515b5409cc873d8b31aebb2c1c";
   sha512.doc = "45b6e38a14c31d7387a99d78c395fd0cdab5ee8bbbe72f840d511d14f6af73f749649b48977e8a995c2ee375358677b31a97646c8162c5fe2ee6c286a05a20b8";
@@ -39185,6 +42561,7 @@ relsize = {
 };
 reotex = {
   revision = 34924;
+  shortdesc = "Draw Reo Channels and Circuits";
   stripPrefix = 0;
   sha512.run = "e97663d414291b3d0a009143ea370676bdc69b1897492ef86bd2092e47fcead566151f175676b4a19e196054ecd4a41706a74e9d4e6ba353d9e346786d04a2d9";
   sha512.doc = "fbdfd00526129921896db36234343d991bba29b68adfdd06d9fce262a58b2cc544dbe49d28cb9722eff1fd03ba3a765e38368baeddff18e36bde436c56ce538d";
@@ -39194,6 +42571,7 @@ reotex = {
 };
 repeatindex = {
   revision = 24305;
+  shortdesc = "Repeat items in an index after a page or column break";
   stripPrefix = 0;
   sha512.run = "f700f201ff05d25fafde3eafd63ddb5aeba81dfe8be0dc4522a08459f35b3ab78cd06d215477ef5bd59c1dd6d1a05361ddfdc21159f3b6347f5a8271c4193192";
   sha512.doc = "031a5113799f662b88b2275f2f82467e2fd84ae58d18f4cb69e090aad7f2c8cb44eefc4c43f3fcda9e92de0c0027fd4ecaf9f152d33b73ebb69f06e6b4c8c1ae";
@@ -39203,6 +42581,7 @@ repeatindex = {
 };
 repere = {
   revision = 66998;
+  shortdesc = "MetaPost macros for secondary school mathematics teachers";
   stripPrefix = 0;
   sha512.run = "502e1948f22a70003eb5ff4b6eed2790e28cd5acdadcaabcf1f0be699026fbb1cb7144bbb15f230a25f85abf00dc1de075ec44fcc6fa10e26550f85b50a272d2";
   sha512.doc = "c16864711c87f2632cfa56ba06968ed967874ca25139360476f6fa2bb7bd89b900ff8a98c4514b4664e5d623c9d29437e375284bfd0073b2cdda0eae13e896ca";
@@ -39212,6 +42591,7 @@ repere = {
 };
 repltext = {
   revision = 56433;
+  shortdesc = "Control how text gets copied from a PDF file";
   stripPrefix = 0;
   sha512.run = "a5deadeab45a6a2ab4732e91c26da32f276e2d5b35ff357faeb3361c917c3b47c81e59cb6934d052d3525df2a810510e6fa7a8b9e9d6d272c91b4b558de7132d";
   sha512.doc = "0694a76754c98bcfb6999ddb96c368701556eb1de025af1ae32ab8e39361d18405fbd2c1438c1ebafd2cb06f2d9884afc08e1c94f57eaa89313f54d58a289808";
@@ -39222,6 +42602,7 @@ repltext = {
 };
 rerunfilecheck = {
   revision = 63869;
+  shortdesc = "Checksum based rerun checks on auxiliary files";
   stripPrefix = 0;
   deps = [
     "atveryend"
@@ -39236,6 +42617,7 @@ rerunfilecheck = {
 };
 rescansync = {
   revision = 63856;
+  shortdesc = "Re-scan tokens with synctex information";
   stripPrefix = 0;
   sha512.run = "4ad1b90e89a005930d1ad5500418c0d867a1100d21429af64edcc803811e29bf4cd79815fc0018505c8d9504069f7f17bf6e09465484bff5ddb3dbc79f54aab1";
   sha512.doc = "602eaceabe16b326a1e2546b3fea21f22c17b92d01500dfc30f0659f0cad8d93c4e919a18af4a96e8633afcc4c08346dec8f5e84f55fb1f54cc2067e2b54ca42";
@@ -39245,6 +42627,7 @@ rescansync = {
 };
 resmes = {
   revision = 65375;
+  shortdesc = "Measure restriction symbol in LaTeX";
   stripPrefix = 0;
   sha512.run = "b55b0ed4883dacc78d7d4406fff05ac80421259e85297ae8050b6a77539fd38655caa6afe6afb7c3d8654d9da0d965d7cfe52cbbcc6ed9f7be4d87aa9cd6abc4";
   sha512.doc = "f2faf70d393cead42f20aeb5fef487870c69c8fb557fcf6dc3c589fda448a73b2ca0a0a39e4d963e67a0b38f976cefe410b2c983f820dfe7aca2c255a24f4bbd";
@@ -39255,6 +42638,7 @@ resmes = {
 };
 resolsysteme = {
   revision = 66192;
+  shortdesc = "Work on linear systems using xint or pyluatex";
   stripPrefix = 0;
   sha512.run = "b4d196ea41fd5f4c9d78df932516a8f1bcb2a8862a4b367a8a288678213fe7a7d6fa8f4ee531982dec11bf04576cc5836bf47368f282cd939464ea6df748eccb";
   sha512.doc = "3fe3d927326acf296c5cafed3c7ab5902ba7c8c943e6bab280b1e0f0a997f90c3e2676522f3dc7dae0436845b4caeb2c58804280d546dd4e6223bd1984659aa2";
@@ -39264,6 +42648,7 @@ resolsysteme = {
 };
 resphilosophica = {
   revision = 50935;
+  shortdesc = "Typeset articles for the journal Res Philosophica";
   stripPrefix = 0;
   sha512.run = "0ed9a50305132206585f322ba68fb514e0a4d566fc703a617cc6eda1de23b53820ee45231167f8b81aac826de732763e3c141a9ab65d13fac5d76e92d2101cde";
   sha512.doc = "30739549cd7295186c10a54232e4ed57d6c2a589acf6f27ee758a40880e7a4178375835662b88bd78bd50ed0f695c71650003ae5ea78c63f5dcbefa15c5dd770";
@@ -39274,6 +42659,7 @@ resphilosophica = {
 };
 responsive = {
   revision = 69147;
+  shortdesc = "Responsive design methods for LaTeX";
   stripPrefix = 0;
   sha512.run = "13fd41361d1770d9fc58f1834adb312bde154800e5b1b6c39cb7c0b50dc5623ae3970d5d6fd179c706bcc6d92512f1af88b9dfd78440d47a9e330bff568d5ef4";
   sha512.doc = "840556a6a8ccce54850efce732e63e58078e12740c39c8b81ed47c470d39fdb8a9cd27dca9abb5380fe2d9afdc41c801d2beab4717933bd4ac110c26491ea082";
@@ -39283,6 +42669,7 @@ responsive = {
 };
 rest-api = {
   revision = 57068;
+  shortdesc = "Describing a rest api";
   stripPrefix = 0;
   sha512.run = "a5a8f299d6feaaf4079e4a99fb84bdf7752016c92aaca0d0060692c13a7656c230e611e06bdb805712e7427d2e6cb599b96bee77e0c51ed769c4bc49cec32f1d";
   sha512.doc = "b823828c122f971101a161168cfbd489985c159278de80db86647b0c0adff207747b6877795ca97b27f541c7907aff90213feee61d4b039dffbb8b7514923e54";
@@ -39293,6 +42680,7 @@ rest-api = {
 };
 resumecls = {
   revision = 54815;
+  shortdesc = "Typeset a resume both in English and Chinese";
   stripPrefix = 0;
   sha512.run = "1ee39179bba50d32bd3d6d9a00dc9f77a9a2b1822e13958b15804307e36ca208eed327f4f8ac144418e2ccde8d9e248dcf4c72bd137bf440f956d60d0bb11634";
   sha512.doc = "23a3484a598f3b18763443fd4131a2e0278f17788aac6b640b00f0935c43ee7c3da5850892b525eb6bdbb9fb01d543f7a22b93cd5ffc64290ca0fa4f41a31354";
@@ -39303,6 +42691,7 @@ resumecls = {
 };
 resumemac = {
   revision = 15878;
+  shortdesc = "Plain TeX macros for resumes";
   stripPrefix = 0;
   sha512.run = "f944441058cbe8468ed6646dcb10e09cbac78d5c7408c2a81f2531491739034e47da9fe8f45583008892740a57a2d36bbd1417f05f8d998bd79f886bfbad87bc";
   sha512.doc = "5b89a7684cbe4da1c653d4a6253f82304b7b3634a9dc973e5f7da41967bdb034597e64a4fd82a922fac5ca62ee40e2ce35be6234deceb25000ff9103859e165b";
@@ -39311,6 +42700,7 @@ resumemac = {
 };
 returntogrid = {
   revision = 48485;
+  shortdesc = "Semi-automatic grid typesetting";
   stripPrefix = 0;
   sha512.run = "751eddac662b8ca6d61edde7a25b11c357c497743aa0edff92be2a672fa13e4a92e6aaf40a8ed69853db642d656c3f54ad0af6cb35c94fe59cd540fa19f7b964";
   sha512.doc = "6f5eb1997e25ceaa7a8956ced78c584058cb8f9fc112f98c350ff996826188f9b7748b7bedc6c19ec0912894500a4743dc7542532317016ef3d295563c450889";
@@ -39320,6 +42710,7 @@ returntogrid = {
 };
 reverxii = {
   revision = 63753;
+  shortdesc = "Playing Reversi in TeX";
   stripPrefix = 0;
   sha512.run = "28117df00d778cfcc2ac035545c561ba1f078f024a8676e32d339f4c47b2206e2711474edde9c15987c397dc192528c8a584dc6bd4121e6da6588dc1a2bed71c";
   sha512.doc = "4d47dde91731affbaaf168e1a3ed79160312d9533636a95c6f9736e6f8c01f2514ec4e4c015bc9d68d0abf637b39fc063820c856693e8876ff7aaa1935f009f9";
@@ -39329,6 +42720,7 @@ reverxii = {
 };
 revquantum = {
   revision = 43505;
+  shortdesc = "Hacks to make writing quantum papers for revtex4-1 less painful";
   stripPrefix = 0;
   sha512.run = "0e69ce3a2a4a1c289d494e081cd28e9c14c84a45717880e92292cc94803783a350bbe33426c4f5e7ebf64e5b28876e656ab2f1ce681b86c27c7a3c6700563a41";
   sha512.doc = "16b8ff06bbc2155a853a26a0b622e3f89bb7d35439945948128fb37d342d293951526d415a3da9a01381f841dd61287317e52dddda8e8fa6e0eaa5d6a0006dc2";
@@ -39339,6 +42731,7 @@ revquantum = {
 };
 revtex = {
   revision = 67271;
+  shortdesc = "Styles for various Physics Journals";
   stripPrefix = 0;
   sha512.run = "3c0c008929457a405cabd699a6bdbb0c4ad2afde1c7155b163c52e9564f15718bddec782abfb6336e55c77ba1d0d0d88a1da39420ed1116f21efc1e4c93d4751";
   sha512.doc = "de2053c650920b4e83183883b4fb15f25abde4210eb0c0a81adde4838c76db8e755a2afc74c8f3cafc0819d57b762e701380687e589ffc785cf6439d120c1474";
@@ -39349,6 +42742,7 @@ revtex = {
 };
 revtex4 = {
   revision = 56589;
+  shortdesc = "Styles for various Physics Journals (old version)";
   stripPrefix = 0;
   sha512.run = "cd1f83a7f2664c6002b93bf7ac3b5dfef4767b79f66cd03ed738e395027736d062d23f1a6a9354834093857d467664168295e615ed1c734b708c098943d7bf87";
   sha512.doc = "3e74689745c65b4ae0aa5afc946983aad0507de7cd382db5cddfad6bd13e1414d5f72d7fa1308b3fb65b34eca82ae632b772690a67c643eca6a26490508f7597";
@@ -39359,6 +42753,7 @@ revtex4 = {
 };
 revtex4-1 = {
   revision = 56590;
+  shortdesc = "Styles for various Physics Journals";
   stripPrefix = 0;
   sha512.run = "8c3e7c3845cd070ec51430a14a5b2d6f5b49821a837a6ac1f3a8889b353324479cf6121de0084b021c46722c425caa997b1b14df454f70bf7201ae4884de0f33";
   sha512.doc = "d17acddfc14e54d74b874d6d7599a3d20a2e314072a760b0d03ae7e17184e0264fc2d98f0d3b32109147f9b4e0a099e0c7f7e8747730a567d3a2b44d4e4d22f9";
@@ -39369,6 +42764,7 @@ revtex4-1 = {
 };
 rgltxdoc = {
   revision = 53858;
+  shortdesc = "Common code for documentation of the author's packages";
   stripPrefix = 0;
   sha512.run = "85b9166bb4408d3b1091b033455650fdf53b24c2fce821c872420191390a1bfbf457326a1a85aab1bf0d6c15765275337764f87adcb393464f2533e2462f10c3";
   sha512.doc = "5e35c6d1e6883c895d031f047fff1ededd4629158a8958b61fb6fcbd885c57797726f595894081b4933c78e5f346289a020424405e0dcae6df40b279b86395cb";
@@ -39379,6 +42775,7 @@ rgltxdoc = {
 };
 ribbonproofs = {
   revision = 31137;
+  shortdesc = "Drawing ribbon proofs";
   stripPrefix = 0;
   sha512.run = "88d1ea87819bef7f8e70e0df273315981c28ffdbc00247431afb8b92959aa2e0a3e489b01f7571d30ffaf3606d240f25bee6487fc704f39417146a93403bcb3b";
   sha512.doc = "d0efb33c19d632253384182b562cf0e0aa10be81ce2336992c83ca7d25abce37c44b152cc8e928cdac90709cb99a4a5caf3ce8a631b13762aee7b39ad92da3a2";
@@ -39388,6 +42785,7 @@ ribbonproofs = {
 };
 rit-fonts = {
   revision = 67659;
+  shortdesc = "Malayalam fonts by Rachana Institute of Typography (RIT)";
   stripPrefix = 0;
   sha512.run = "6f9be849a018d8714d30dec2d9d745c745c48ded444601bf64136580999614b514ab23468a440e8811ffcd114d0968606bac269cc3bf27feb9a5cbe51a68810d";
   sha512.doc = "bcf029e75ed4d8fc403d8868bd8e01df2ca6c292766750ecd0e7c32ee6ac2e3a48527e321475c8f56ff7f38541aadbbfd8461fa59ec1ab911891bc73fcae1ec2";
@@ -39397,6 +42795,7 @@ rit-fonts = {
 };
 rjlparshap = {
   revision = 15878;
+  shortdesc = "Support for use of \parshape in LaTeX";
   stripPrefix = 0;
   sha512.run = "9a7f5f821635f110d9bad0015d9fdf489f836cc6ec0c101f63a3bf5bf9235d7446dad98db1325b0720bab85d68432f4cbdbc6dfc78456329a8c48b47d9212abb";
   sha512.doc = "73987b63cd565766586dff08144bb9cfab13b7251053d5f008ccb7dd3091ec9d3bbe8ed92fd8e7dddce93afd13a649e68826468b87947a036a054fea76225921";
@@ -39407,6 +42806,7 @@ rjlparshap = {
 };
 rlepsf = {
   revision = 19082;
+  shortdesc = "Rewrite labels in EPS graphics";
   stripPrefix = 0;
   sha512.run = "198037c1fd20eaa28b727054607241b7ada10c9dbf4d48cd36f295a8b51a7d4f94859d2349d3d4e831a74e0da025ccaaf91fb53a3074a704f7a3216bb7df0cf1";
   sha512.doc = "fc06c857011fe01b07180c9530a334e021f5b9c034c65e15959e173a409670947c7aa406bf751d64d5d77d462139f4835824aa53203381d27d4ecb0e51463e7f";
@@ -39415,6 +42815,7 @@ rlepsf = {
 };
 rmathbr = {
   revision = 57173;
+  shortdesc = "Repeating of math operator at the broken line and the new line in inline equations";
   stripPrefix = 0;
   sha512.run = "d1394e40203bc7a0adffd26587870ad4aca0faaff6226047cedd5ece5e55e6a99e56829a38ce40b6736c1f9a03b9bc4b337a0e4f9eadf0617ddc385a60372176";
   sha512.doc = "e7c8d4f198399ac35e51a0d1c2c6ec420c746768de362a8179c0208325a45b11a8ba6445c2b7a433e7689e677505e3baa4b87d48a749bea5f3243d10f43deb83";
@@ -39425,6 +42826,7 @@ rmathbr = {
 };
 rmpage = {
   revision = 54080;
+  shortdesc = "A package to help change page layout parameters in LaTeX";
   stripPrefix = 0;
   sha512.run = "13c05ff27a2b5979102c80bf30cda04d72fd144ecf43359cafd427417ed9f8921332a0cbba704061847c9f1d740f795ee1135f6ba2ba183311496884189e3fec";
   sha512.doc = "e4de990151be0c984486b833b9f883d1f3412371fdbcc09900b89849b943800cb269fe0164695e95472b463bb4dc81b92fdc532dd59a9c3ba451fb961b89211e";
@@ -39434,6 +42836,7 @@ rmpage = {
 };
 robotarm = {
   revision = 63116;
+  shortdesc = "TikZ powered LaTeX package to draw parameterized 2D robot arms";
   stripPrefix = 0;
   sha512.run = "fa60eb073a9a47690935403a13da3570a4aa44e9ee13c12c5a4ff93a1f02509ab35b5f64a03a67be74190420d0b174fbb4b9a34070a646ea557f03a584fd354e";
   sha512.doc = "2d2838b21c1b0c8201375e0e4e4599c7ca11bfbf05a55e070db236ddd3793e51d1f809cb9c5e92bb9faa2e3b90b01cdc9579bbb44c653294e384c66b7628ae5e";
@@ -39444,6 +42847,7 @@ robotarm = {
 };
 roboto = {
   revision = 64350;
+  shortdesc = "Support for the Roboto family of fonts";
   stripPrefix = 0;
   fontMaps = [
     "Map roboto.map"
@@ -39455,6 +42859,7 @@ roboto = {
 };
 robust-externalize = {
   revision = 70605;
+  shortdesc = "Cache anything (TikZ, python, ...) in a robust, efficient and pure way";
   stripPrefix = 0;
   sha512.run = "d4abbe1a409b7f282985986d75032361a1c5b38fde2494a8249423edcb304c6aad8dd45484c2d3d7cd56dac9462226791cd73549b0403feb578d18032709662e";
   sha512.doc = "330f8b74e7514fdecffd7c2749fe29bebec019e69f2368b15d180c775ed85f61c90a1b59192c34d3b802dbe1cb45cbec6955e8d91e11ece6df1a1755c1a7aecd";
@@ -39464,6 +42869,7 @@ robust-externalize = {
 };
 robustcommand = {
   revision = 15878;
+  shortdesc = "Declare robust command, with \newcommand checks";
   stripPrefix = 0;
   sha512.run = "806f997cf6c0eceec0c8d9b8f8207014c4ab9243f8007fc688674af2fd778455a787b9cf998262fb7d0a92ba8e2ffb597d61950c22a6122ad957a62ea54d9a42";
   sha512.doc = "4d5c8a994edf816d39af12d7881793f0fda0223a3545559255674fa5a08f2d0fc9ad8ea2779b3c8bfe476966045f996b8b8f5da6fdd028188d28ae724c24a222";
@@ -39474,6 +42880,7 @@ robustcommand = {
 };
 robustindex = {
   revision = 49877;
+  shortdesc = "Create index with pagerefs";
   stripPrefix = 0;
   sha512.run = "3aeac1a43261302532d7b5ee309d6cd94f54a2b17954c023bc6a94fa89c51291f3c4fd3276b03aa3ec65f4e21556d302c81aec107fac5dcb477941cb474dbbf3";
   sha512.doc = "aab461e990176e1d0cb82573edcfe11a4bf668b2d09edff05f673fa20d24ec76464495bebc64086fe3bb4411d5ec9590f43cd57949bedaa3366f6c7313359f56";
@@ -39482,6 +42889,7 @@ robustindex = {
 };
 roex = {
   revision = 45818;
+  shortdesc = "Metafont-PostScript conversions";
   stripPrefix = 0;
   sha512.run = "7df2224f9970b72cfa1474898c057799fe42d717876eed864f35aab113d01dfb483edb71f7f4a0a98b6762bbc309ce6fb51e41dc222a6f19be2025f6448fb1cd";
   sha512.source = "d89d02dd79142344334678f2d8ec4f34eb825532e8be9260cd08a43b28e1aa94ff5655c1c1eadb2f9a365e51693f6195a4851e1420072c867d8b2c0f1cbcbbb4";
@@ -39490,6 +42898,7 @@ roex = {
 };
 rojud = {
   revision = 56895;
+  shortdesc = "A font with the images of the counties of Romania";
   stripPrefix = 0;
   fontMaps = [
     "Map rojud.map"
@@ -39502,6 +42911,7 @@ rojud = {
 };
 romanbar = {
   revision = 25005;
+  shortdesc = "Write roman number with \"bars\"";
   stripPrefix = 0;
   sha512.run = "205ed0508765e58397953f28e6a1172d8684f8063fbaaf4d741f4f092e1f652879b414a3225c87bac01e4d41f01c2b0a44632e0cb3088c5c174fdbe42cf25272";
   sha512.doc = "a5fc8c5d6e6a584de4394c59f9bacddc23fbec8d4639a0476cc0814404f1413774fa2d6bae3d8438cad2eeaacb56405680c0c6bcc152a5e4155ecb73de72f07b";
@@ -39512,6 +42922,7 @@ romanbar = {
 };
 romanbarpagenumber = {
   revision = 36236;
+  shortdesc = "Typesetting roman page numbers";
   stripPrefix = 0;
   sha512.run = "7c8fbfcd5e9ec9e306e7ac836fb4c82db3bc42179bf77502b5299c17c4d3ad515b9397016d600011eb24c5d9f2eda23a485634c5aca3a765653cce32d7bf82c5";
   sha512.doc = "a46bbeef023b74c576da84f9791d4d6d47a08091b43c6bf6936c4e17ff54ab2bf5b517cbf1d07e59c077e0981ac989570265df1fde7237ff24727e33d6f1b71c";
@@ -39522,6 +42933,7 @@ romanbarpagenumber = {
 };
 romande = {
   revision = 19537;
+  shortdesc = "Romande ADF fonts and LaTeX support";
   stripPrefix = 0;
   fontMaps = [
     "Map yrd.map"
@@ -39535,6 +42947,7 @@ romande = {
 };
 romanneg = {
   revision = 20087;
+  shortdesc = "Roman page numbers negative";
   stripPrefix = 0;
   sha512.run = "4195303ca32b46d722bb148ce4079bbea7cec08fc74a7b0cb6232dcce517b7b5a10753be22fbaab62ec11d894955e1368f3a6dc2a2474cf9b9450e035bb73c11";
   sha512.doc = "cd583b94911ed57e6c61689d437fb4a55a868813fad5791dfa7231b4cbd8b7d22cf4e6f3fe90e2cd36eb08202f4058abf93b5df2d74e1841070378dc9c31db64";
@@ -39543,6 +42956,7 @@ romanneg = {
 };
 romannum = {
   revision = 15878;
+  shortdesc = "Generate roman numerals instead of arabic digits";
   stripPrefix = 0;
   sha512.run = "06fb28ffcf6c8212ba3bea5e3fd93fe4a5394ce1cd3977556bdebb982888c2c0f7e45dc751f94b1ecf921c701fe6783166e73a595d5da55e874359b7a4065182";
   sha512.doc = "60caceb87b6d866c905685cd180f0deb73f400b33007e0589e1aa5a0b42ed948d88c672a620ebdd4d78bbf92aa81c1094e4d4d6afcb981747e65596711e112be";
@@ -39553,6 +42967,7 @@ romannum = {
 };
 rorlink = {
   revision = 67461;
+  shortdesc = "Create ROR symbols which links to the given ROR-IDs";
   stripPrefix = 0;
   sha512.run = "6dcdc3e26fa093346bb60d2346af7de4cae4ebaed024fa21de1f28cc462b956bb21e946e189804a69420ed26fee38b3a3f8d45cb5a04d16c2859f4f0e0caf8ae";
   sha512.doc = "cc711052ab363104748b944b0f9d32e6328e2613a100871a53a2b9464e4e4d16b6cbfa4c42bbbd5cd093bfac1518e605af4b43205fec40641a0e2465b50f7728";
@@ -39563,6 +42978,7 @@ rorlink = {
 };
 rosario = {
   revision = 51688;
+  shortdesc = "Using the free Rosario fonts with LaTeX";
   stripPrefix = 0;
   fontMaps = [
     "Map Rosario.map"
@@ -39576,6 +42992,7 @@ rosario = {
 };
 rotfloat = {
   revision = 18292;
+  shortdesc = "Rotate floats";
   stripPrefix = 0;
   sha512.run = "2976812ba6d6bdb304d56c9f10f08c02aa8acceeeef6eb05ccd0ac7b3e3b86984794017627d8f939994ea0228bef5e9d6cab0b08843e87a840ee5c2390dd0bb7";
   sha512.doc = "020e080e047f20db45bf83ff32c267f5a10b7790adb64495d09ebb3795a55d953154b8afedcfa0214a77f11c35287b18949b8f1fb89b6ee51aac12a04832e922";
@@ -39586,6 +43003,7 @@ rotfloat = {
 };
 rotpages = {
   revision = 18740;
+  shortdesc = "Typeset sets of pages upside-down and backwards";
   stripPrefix = 0;
   sha512.run = "a206e4147a68ad0ae750e18ee6a360d6ed2ac91785b75f8fecda4b63db695a36a9602da8dbec1310feed4072f952dc49f4d2c5d2817fe74477759aa55246177f";
   sha512.doc = "2723d32029abfc773de8f26a1f08cb3535c5878f63effcb94fcc6a2f98f1a0f9ff3c53df8a4d9c1ce1f99b52b9fd7b2f5c919dd9cc915ea8266835aa85ddbda2";
@@ -39595,6 +43013,7 @@ rotpages = {
 };
 rouequestions = {
   revision = 67670;
+  shortdesc = "Draw a \"question wheel\" (roue de questions)";
   stripPrefix = 0;
   sha512.run = "7eaa938339d1e59241b85cbbec4238be4fe2aaf4dbb3544c6d1511723c62b96dc5fe38c4fae062dd2d61760739caf0df3652b710546a6725d072969df8e68b0b";
   sha512.doc = "16ea492fabb90e0a649d5ff8e13b358a4ff7a612df34cd60a7023a1572337d237b87bdd5deadd206513562cfc1a3b27e834c49fbd5204277d38dfcf3a1e4e586";
@@ -39604,6 +43023,7 @@ rouequestions = {
 };
 roundbox = {
   revision = 29675;
+  shortdesc = "Round boxes in LaTeX";
   stripPrefix = 0;
   sha512.run = "078938229ca1ccba4c26f97eae59376afcee469629a7e8704d6e376d5bb256e8991ee1cff17f24e362772b78ed800b57bc6018b10e897daa73c142fafa1f62c7";
   sha512.doc = "cf0f56e42a82d6ab36fe6af2ba690024cb555192780c04ef1a01e71fd6cdfb803b0129aa95e304de4fc8c1e2d1015b14dbb6631d9773bdf463fa52c22209501f";
@@ -39613,6 +43033,7 @@ roundbox = {
 };
 roundrect = {
   revision = 39796;
+  shortdesc = "MetaPost macros for highly configurable rounded rectangles (optionally with text)";
   stripPrefix = 0;
   sha512.run = "01cdc4c8443c50a91dd408c52122e8ae65257344176227a508cb082f92d61bc02756d47e27f75d7862d3c87c26add2003604956ad00b448f63b4f6417c520ba6";
   sha512.doc = "35289692327bdc68acbd442588fbd37185f9e00e3e4ca78fe500474c53ef96542042cebd18cba7720bdca0b72f19384fd3b8afcf45447644bb3c560a1385595f";
@@ -39623,6 +43044,7 @@ roundrect = {
 };
 rrgtrees = {
   revision = 27322;
+  shortdesc = "Linguistic tree diagrams for Role and Reference Grammar (RRG) with LaTeX";
   stripPrefix = 0;
   sha512.run = "cf80b48866e36b983527f0646c94fc9776ea799ac475a2c5879a4dcb3b3b0d052e061f871b6eb0a8c0fb1153c0a9f6f0ccfcfb1c6b8f3ff4839c3d454ea3e62c";
   sha512.doc = "71992711c27e741403c5f7cc268e8597e2ea17abe42d953bf0c3caf255c0a8673f6210bb808fc70b741c694778f7cc7a45435afe39939b1377951e8e2343d73e";
@@ -39633,6 +43055,7 @@ rrgtrees = {
 };
 rsc = {
   revision = 41923;
+  shortdesc = "BibTeX style for use with RSC journals";
   stripPrefix = 0;
   sha512.run = "abd1d24110722545b93cc16ff35b70c87f467193a33e8da2a04eaff354d89782911e42a46da5d380b9406f923c6fc48d38950d7346cfc799abc0660efa23db8b";
   sha512.doc = "8569a90d7f5c532e366901d8bd2bab3d5a32d5b6d1c4cedcf179d1ae96a6c34ef5d294392f93fed589a55baf3ffddee2cd35a67c2aa8fc7e0477b47ce92eb411";
@@ -39643,6 +43066,7 @@ rsc = {
 };
 rsfs = {
   revision = 15878;
+  shortdesc = "Ralph Smith's Formal Script font";
   stripPrefix = 0;
   fontMaps = [
     "MixedMap rsfs.map"
@@ -39654,6 +43078,7 @@ rsfs = {
 };
 rsfso = {
   revision = 60849;
+  shortdesc = "A mathematical calligraphic font based on rsfs";
   stripPrefix = 0;
   fontMaps = [
     "Map rsfso.map"
@@ -39666,6 +43091,7 @@ rsfso = {
 };
 rterface = {
   revision = 30084;
+  shortdesc = "Access to R analysis from within a document";
   stripPrefix = 0;
   sha512.run = "3c3cd754ab17d03d50c35ec9824b76b9d4528276fe2b5a882d35df5537ca12f83956b2c596a269f9961f243bbd5e8c394c6f1bd508d07cecae50fa47bf05fd86";
   sha512.doc = "c8c38026ce2bf2a996ba40062fe3bce797b381633e4aac50ec438bc9fb567f73ad1c4e764af3cdc816e62713d4f1dd8bf2ab1814b50d086811359e999103c7bf";
@@ -39674,6 +43100,7 @@ rterface = {
 };
 rtkinenc = {
   revision = 20003;
+  shortdesc = "Input encoding with fallback procedures";
   stripPrefix = 0;
   sha512.run = "a1f31a946838123b65124fc7220e77283cf89105ae439f1e851abfc3c30b6a6b7c83bebf676fe47de1dfa9668cfd22c638567ef9a097aa97dacef1f0e3ba1eb7";
   sha512.doc = "f3e7b1e7c95af7bf89b58ac949ab5b3fc12d991a436e28196f748ae033c46446a0cb885943777f44af1fe5ad4aa579e0fc43676c44812b01cc64d85e4ae15e4d";
@@ -39684,6 +43111,7 @@ rtkinenc = {
 };
 rtklage = {
   revision = 15878;
+  shortdesc = "A package for German lawyers";
   stripPrefix = 0;
   sha512.run = "6e39e34a7c293f503949da66f1d5ebc65ae0388dc56e87992e9fc4daff1a250196afe68150be14ee2ec3242393ce9e5ea7b681cba31b7ed1c2d58526f6506554";
   sha512.doc = "550c21bcd8af04041f1fac11f2be3ae2a1f01265ad6bf31243569820c7b8d83f32ccd0cdbcc4d5a7a5905ae9aa0512a449a1b2d6923affceb344152e6c12d72d";
@@ -39692,6 +43120,7 @@ rtklage = {
 };
 rubik = {
   revision = 46791;
+  shortdesc = "Document Rubik cube configurations and rotation sequences";
   sha512.run = "67931287ea126947b5b2d567ba355d44ce094b2b527288ce32329de4a73434be9a43cd520e6c24ef570a46a16c0edcf12212f46228ee1bcd2b8a8be7f9db3a7c";
   sha512.doc = "33d5c8210600cb4ce7b1313d1046f6644f0a6648f7ee9676d4d628d042f6501b5e92f2b56a31fbad6f637dc93a460a568be9e1335bd52bcea825f5772b2a9d51";
   hasManpages = true;
@@ -39705,6 +43134,7 @@ rubik.binfiles = [
 ];
 ruhyphen = {
   revision = 21081;
+  shortdesc = "Russian hyphenation";
   stripPrefix = 0;
   sha512.run = "d681972cad53b86167f4800f78b5d25de305d2f3f604e6b41b481c432bb9f09a964720fed5b5052cb8a30148da1bdc76306d8edb2139018d83c331d3439de958";
   sha512.source = "df587bb8c81e73f70a93146d6c3a50c2a66b16084e8eab0b01e0aefb3ce073c6b6e812cfd8c5a1520f98ca58e2e2e0634877ca2987742eccc4d7340a7d62e23b";
@@ -39714,6 +43144,7 @@ ruhyphen = {
 };
 ruler = {
   revision = 54251;
+  shortdesc = "A typographic ruler for TeX";
   stripPrefix = 0;
   sha512.run = "a0ac63735eee4be96fc368bece6eed80058b79689954780990e1da5632448203c4f99d9b13f541a89e523f4a531983d5fefd836b99ed64c2f177723c822f8749";
   hasRunfiles = true;
@@ -39722,6 +43153,7 @@ ruler = {
 };
 rulerbox = {
   revision = 50984;
+  shortdesc = "Draw rulers around a box";
   stripPrefix = 0;
   sha512.run = "197588dd36056d6b6e9f7772205cc44e81734cf63dfc83a7c987209df0c2b47f91f460d322df05f123768f3d10d9af8bcdda6619da394fdaf3367be88821a135";
   sha512.doc = "b4de5828d5602845217726ded4d56ce6f4008a599bb1ddba89745ab39bfc2ba9ed3fcd1f636cff4743252a975a18ba07925f1e78f81fc8cc2ded80a7cf8b74b2";
@@ -39731,6 +43163,7 @@ rulerbox = {
 };
 rulercompass = {
   revision = 32392;
+  shortdesc = "A TikZ library for straight-edge and compass diagrams";
   stripPrefix = 0;
   sha512.run = "8f2e8d9a4d61c3c79e3ef29ae554db2696b9c374fe10f59fe2a4baea33c679a0678a95c30ea1d4310662bb5af6a1b02d88db7bb43610545b1ffb39fba19b5001";
   sha512.doc = "6077a3c137269e5be37b62879c394d800f4bc80cacd1d9600b2aa81503958e2fa29f0364db58c1418bc206db916f84f46cbcf70d0f30a9276a6e78d154150425";
@@ -39741,6 +43174,7 @@ rulercompass = {
 };
 runcode = {
   revision = 69471;
+  shortdesc = "Execute foreign source code and embed the result in the pdf file";
   stripPrefix = 0;
   sha512.run = "bedab511e29b368c929f688742dc59c36ee6416a8f362c2a24847dedf0eae472e64c060f26287c55b9b881804213ec57eb04249d9c031458fb3d642c01255e03";
   sha512.doc = "fe6b6af9efe7564e6c3ac6040f08ce30f17159b7a56ca983a9e8f97217706d75dc481daccc0c2594422d3c578edf0f00e5a72f5b06f7eecc8ea81f79ad27ac4e";
@@ -39750,6 +43184,7 @@ runcode = {
 };
 runtexshebang = {
   revision = 68882;
+  shortdesc = "A Lua script running LaTeX document files with TeX-style shebang";
   sha512.run = "8e681e06b29e235d76b21370614c22ba57cf69debff19869f3589ac5a1342f368621083a17b7a1ddc1ddee37478bdb9b81f4050bb9a2f7d28a7d753909238233";
   sha512.doc = "4f2754641930105b1bd70a0a116e724e019c1930ec49e27c3ae895c35b7840c54082285cb6241554915234c16a59dbcea9ee07c509d09d5315ff6f04e0137168";
   hasRunfiles = true;
@@ -39764,6 +43199,7 @@ runtexshebang.binfiles = [
 ];
 russ = {
   revision = 25209;
+  shortdesc = "LaTeX in Russian, without babel";
   stripPrefix = 0;
   sha512.run = "11bceea67aae767037d728ab7892eedab312e9477f1f9f7501f9702fca4ceea4e21bd575b1589fb545abdbdc5f5f5315243f77adb4c9b9a2507fb255481c5541";
   sha512.doc = "876cba326071d0f347d9a1a4c1eca692ca743729b9604a51bb5b53de96da6006ff24168040e77df60b1999cb22901b7318669c32378a869081956dde40974802";
@@ -39772,6 +43208,7 @@ russ = {
 };
 rutitlepage = {
   revision = 62143;
+  shortdesc = "Radboud University Titlepage Package";
   stripPrefix = 0;
   sha512.run = "fb7d3aa93191c443ba31e1a366f34efa7dfcc896c534d3696002ebc54f3b24cb34131c50fc7d584f4b725d3b56a323628441398b2e1116789437460b97e21fc7";
   sha512.doc = "f8293227a99eb022a2c3a3ac75d7e8ba6f61880b62f5cce11eb791bb489386de93cefcc2b607cd4880ca58bb933328af66ad93b4c6ce0e16a842c56fed231206";
@@ -39782,6 +43219,7 @@ rutitlepage = {
 };
 rviewport = {
   revision = 23739;
+  shortdesc = "Relative Viewport for Graphics Inclusion";
   stripPrefix = 0;
   sha512.run = "eb4bd4e75f021db40119cb4d4334611fa80d26885dd4229ace652bf8dbd7b4647a6dc4f45c8be78ad8db0cf1001b7117ce3c38de2483f0dd96da05473543ac10";
   sha512.doc = "10f94dd8b29d354eda99e8c0f15b53baef80714f7212714a94070061e403d45fc5a97d25174f268a14b0f4c924af9b25c81131929c08be1ed9a4e62204f17c22";
@@ -39792,6 +43230,7 @@ rviewport = {
 };
 rvwrite = {
   revision = 19614;
+  shortdesc = "Increase the number of available output streams in LaTeX";
   stripPrefix = 0;
   sha512.run = "c187dcb7e1c72b727cfd0827a55d721c6a094679c1dae27438ed030209042b49c646af20e158900543369ca8ceee9896a9f36de76607f8514004df80e3be15fb";
   sha512.doc = "545e5b96a2bb3646a7b4a6eb31d5192ef85dee9ac0b6859f6b414f26c5235651294f486bd132af112a2c6021d6843e6ffef8a8f79b7389b974227bc1eee16230";
@@ -39801,6 +43240,7 @@ rvwrite = {
 };
 ryersonsgsthesis = {
   revision = 50119;
+  shortdesc = "Ryerson School of Graduate Studies thesis template";
   stripPrefix = 0;
   sha512.run = "0846fb24c6b96cc30edf46d1311809e1170d3feb13b3c26be4dd330ef8dd856771f257ca197f562ed409815f0edb7e8ea744a38b9098b86a325eda9cd4ad360f";
   sha512.doc = "b0d57ce3dcab586fdc2e15f6c2291560c43dd772b693ec11e0678e083a1475c21b55601878cf938e666d0f8a5464ffb0b79281b62f4859200fc6cd67b33b8779";
@@ -39810,6 +43250,7 @@ ryersonsgsthesis = {
 };
 ryethesis = {
   revision = 33945;
+  shortdesc = "Class for Ryerson Unversity Graduate School requirements";
   stripPrefix = 0;
   sha512.run = "63988ab74eda81270f0e470f3b1d1c772b17668fd9c6526fd8d53f588da8e52d3690b4c3ee898f2b460f83ac44ab4c528a0c6c48abf1a1cbe21427fb4e678a1a";
   sha512.doc = "03ef086a51a97ed93038338b99a516ba2898a0097326f4cff3c650c7035acc4bba7ee2fd6458c579a9f1af4ff31334dd22cc23b7004d08e58a259306ee1fbd8e";
@@ -39820,6 +43261,7 @@ ryethesis = {
 };
 sa-tikz = {
   revision = 32815;
+  shortdesc = "TikZ library to draw switching architectures";
   stripPrefix = 0;
   sha512.run = "e30f8b6dd6f082bd127077fc5040ffef53e2c2fe43afd023bf0fa9dd8094769e2d40734dcf412d477989b746e1e5141cc42cc082e9f5b26e5986cc91f8336ec1";
   sha512.doc = "d6586a6196fa9ec8c70ff6410873604d987394ff09e93462548baa202f22bda479fb4f76f66fb710b8daeb7b34e455225c997f07cc9360a09c5cbc4c45697a5e";
@@ -39829,6 +43271,7 @@ sa-tikz = {
 };
 sacsymb = {
   revision = 65768;
+  shortdesc = "\"Sacred Symbols\" prepared with TikZ";
   stripPrefix = 0;
   sha512.run = "59c61767c7f9cc782ca1a9cff78c0226f7860080453a772172f8dfba0c1deebfddba701704d15a2d05cfd010b4baae553d30207ff4701056a263a51f5a4e03e8";
   sha512.doc = "135724503c2c646bd49ad1e434f5e4c20335f23605839847b3c6729945e4550b6f855ea015e5020ff9de7ca4bc5a46d70e99dc9f372e6fbd2cbe8aaf55683984";
@@ -39837,6 +43280,7 @@ sacsymb = {
 };
 sageep = {
   revision = 15878;
+  shortdesc = "Format papers for the annual meeting of EEGS";
   stripPrefix = 0;
   sha512.run = "d8e107109129636cf68d88c96a36de87b95dcfc4e154dae51a1145d7a0c58a17ca12e95b1b2fa1312c6c50c5cc02be35b23168d8eca69a7643695c38c5d0bcd6";
   sha512.doc = "7f92c14d432ca5960669a8faace80ff6d4e97d9a021281c847b7f19942f4c1a06da3657e8992998e91bd1d69398b3fe379da690f81be28cb4ddc3980262c56b5";
@@ -39847,6 +43291,7 @@ sageep = {
 };
 sanitize-umlaut = {
   revision = 67126;
+  shortdesc = "Sanitize umlauts for MakeIndex and pdfLaTeX";
   stripPrefix = 0;
   sha512.run = "2f9514b9424a72762c9b4bfbe2bceca10dfe4e75a42e9fe2e26d6808d14fa2aab62a03f26becec8e80b00c658d4452e95c3b84bf692d64cc287693b2542ec3b5";
   sha512.doc = "2de8f2935de490e127f19b50f10698ad323e823ae4bcb7b357b6cfe084c9f6a48d2314889a54974a4b58275667da4eac89cebfac5c25e570c0172ecf9ca44af5";
@@ -39856,6 +43301,7 @@ sanitize-umlaut = {
 };
 sankey = {
   revision = 61874;
+  shortdesc = "Draw Sankey diagrams with TikZ";
   stripPrefix = 0;
   sha512.run = "8a77f2ea3b4c2167d823a839fe2fda2c633ffeb775678e6fa9cb84558dad547f4fb03c3fda6c1f85c4984628ce1515ec874482e8a223385bf1c24b2c30dfb362";
   sha512.doc = "a3d18d1a43f22470ea5498423c10246c780116769b0493356174c8e9acc6d9aaa32657f7582b795d2cd720fdbb6786319090303548661f899a650da4a0442629";
@@ -39866,6 +43312,7 @@ sankey = {
 };
 sanskrit = {
   revision = 64502;
+  shortdesc = "Sanskrit support";
   stripPrefix = 0;
   sha512.run = "85b4c707f00cba5b9be49f228f0466e3f0482562d481763b9cc7f269e84e4018e3c00668483b6ba798b0336781555e45c06a6be116c2c4b23a978defa8c8141f";
   sha512.doc = "16643e1c8e72e37ecdfae0176c415fd655619121cc75fe573dddf4a07a64161050a681f524747868101e72ee655de6935d3c21f68e74c31bcb7113d9942c818e";
@@ -39876,6 +43323,7 @@ sanskrit = {
 };
 sanskrit-t1 = {
   revision = 55475;
+  shortdesc = "Type 1 version of 'skt' fonts for Sanskrit";
   stripPrefix = 0;
   fontMaps = [
     "Map skt.map"
@@ -39887,6 +43335,7 @@ sanskrit-t1 = {
 };
 sansmath = {
   revision = 17997;
+  shortdesc = "Maths in a sans font";
   stripPrefix = 0;
   sha512.run = "075b9a32512f191767bfc739b833497eed371c2078fc8511ba507b19e2744675bfb3caeda40da484ae559aaff44aa4f6b2f7f5baaeb0c30076654593216fa5e4";
   sha512.doc = "7923dcfcf20c945dc61af747000694c59c61982417307356ef2ee335f7a3eac7e44974a334072125ed4a3ec3b29caf342f15dfda1fdbc348a5e2cfb8a4dc2469";
@@ -39896,6 +43345,7 @@ sansmath = {
 };
 sansmathaccent = {
   revision = 53628;
+  shortdesc = "Correct placement of accents in sans-serif maths";
   stripPrefix = 0;
   fontMaps = [
     "Map sansmathaccent.map"
@@ -39907,6 +43357,7 @@ sansmathaccent = {
 };
 sansmathfonts = {
   revision = 68777;
+  shortdesc = "Extended Computer Modern sans serif fonts";
   stripPrefix = 0;
   fontMaps = [
     "Map sansmathfonts.map"
@@ -39918,6 +43369,7 @@ sansmathfonts = {
 };
 sapthesis = {
   revision = 63810;
+  shortdesc = "Typeset theses for Sapienza-University, Rome";
   stripPrefix = 0;
   sha512.run = "14ae91cff0c5487a6751d92f1ac4e252ba53feb74883c3e0f078f5269845fd85c906a4f962c4309f6765fcbadf934877a183659d68a88e1050fe636c0e5d54be";
   sha512.doc = "04c294886ecc33f3725222d9a44953dd2c4be7a5dcc5c9d08d8cc05c2d8dc9c003bfa80a7ec027956b1e680a555b1fa70af64a91c27833a77ad4469a1cbc6111";
@@ -39927,6 +43379,7 @@ sapthesis = {
 };
 sasnrdisplay = {
   revision = 63255;
+  shortdesc = "Typeset SAS or R code or output";
   stripPrefix = 0;
   sha512.run = "5f6483d066775682cd08b9f68b7f31f5e8bedaf9248b7345dd23a950d5e61e3d2664dc2cffe2a86b35273044f8d8df2694d4d3598d70b974d38e02ae8343a844";
   sha512.doc = "a99bda8628ed2b4cdc0ba24bdb0f514ecac643481d9d866c2992df131354a677ee6fe0244285ee4d9029eb10b219c9fd9dc5f7f93a01414a3db2cff8f58e08e9";
@@ -39936,6 +43389,7 @@ sasnrdisplay = {
 };
 sauerj = {
   revision = 15878;
+  shortdesc = "A bundle of utilities by Jonathan Sauer";
   stripPrefix = 0;
   sha512.run = "a4fe5bad7f3d5c895d6166846100cabb1b59e5f37c06d21e451acbaeed0847ab93d9995e70209ab18cc55bf8c78a6c83cbbdd49a45a4cfe511cdad41baf3ddfb";
   sha512.doc = "3ec0f5c2132a809b4f2f945255f0806508a3dfa3733119368ba59e4dcf5304ac9876ea5f05912faf926db651d1aaf4a3a1c40744fe7d3a077d8bd9dde2676754";
@@ -39945,6 +43399,7 @@ sauerj = {
 };
 sauter = {
   revision = 13293;
+  shortdesc = "Wide range of design sizes for CM fonts";
   stripPrefix = 0;
   sha512.run = "17fc32a3dae358be5215301abe13d9e865ff9f52f58cdc849d5fc80aeb1a79723d0a39282383086282fbddcaeda0fe586cd3043edd582e0addc0b223bc3ee756";
   hasRunfiles = true;
@@ -39953,6 +43408,7 @@ sauter = {
 };
 sauterfonts = {
   revision = 15878;
+  shortdesc = "Use Sauter's fonts in LaTeX";
   stripPrefix = 0;
   sha512.run = "4d7e491a7a6a22fd6ad8f407cbc8c041434466850e2e5efd46897843281cb71e046fc6cb849cb091cbf05191c45c52a6cb3e0d806eccb9133fddda9c8f305969";
   sha512.doc = "16647b89752d1871c798f80be91bacf375ae9a4d5199ef7417edb4ff019d7aae548fbbbbde47f84cd5c7c36ec4988ad1df82735f4aeaeb40180b07a86dceb5a7";
@@ -39962,6 +43418,7 @@ sauterfonts = {
 };
 saveenv = {
   revision = 65346;
+  shortdesc = "Save environment content verbatim";
   stripPrefix = 0;
   deps = [
     "precattl"
@@ -39974,6 +43431,7 @@ saveenv = {
 };
 savefnmark = {
   revision = 15878;
+  shortdesc = "Save name of the footnote mark for reuse";
   stripPrefix = 0;
   sha512.run = "2d39c1246bc9c5c28222a6ce96b93bc0c1e93c3155f68f44843b5560b548191ad3b608f24b5c444b834fc441238a0d2174a9a8ec006f01b160f77159decfeeb0";
   sha512.doc = "9ca251e6d17373e5d6f308d2e75896aaa3e44d0f5883be65f7629f922f0eda296c963530e8fc1c80073e0706c2c72f97d062cd731481654c0564cdb695eaa86a";
@@ -39984,6 +43442,7 @@ savefnmark = {
 };
 savesym = {
   revision = 31565;
+  shortdesc = "Redefine symbols where names conflict";
   stripPrefix = 0;
   sha512.run = "212ea18ebb424f9b64ca9c75a783dee9ceebac09adcd6ff6c721d90796bf4121aa8710935529451e6f9a4de9c3cb5910b6c07d6fd6b7093c4b9904348f43a1fb";
   hasRunfiles = true;
@@ -39992,6 +43451,7 @@ savesym = {
 };
 savetrees = {
   revision = 40525;
+  shortdesc = "Optimise the use of each page of a LaTeX document";
   stripPrefix = 0;
   sha512.run = "f31ac72f12ecbe2ab05bde14de907707988d6b9ba20414543b9176b71d2a0d5358a34348177857c56b961301678b612ee6f767d1b9cb671b9bab344bb8230e6d";
   sha512.doc = "3e5cfb62d4020d32d9bab01b3df2ea1cb485240aea5eda3541d29cbe38487ed8b242a1eb2b9d15d08bd742390a8d8a25b584e110145dab330580e69e2287f181";
@@ -40002,6 +43462,7 @@ savetrees = {
 };
 scale = {
   revision = 15878;
+  shortdesc = "Scale document by sqrt(2) or magstep(2)";
   stripPrefix = 0;
   sha512.run = "2d090a08c8f7d5d9b332f390b29b16e911f339071579cc09b954b2978df4b410ff3c47afd6b8bea0ce7eabac551b94f8630fdb7aaa4ef39f793748925157a19d";
   sha512.doc = "aa41f6de8baee992b123ed40086dd5d0aff63c187858502c66056a52f3b8bfb12a5b7dd15ae9279a224e9d67d717f3927e97f5879ab09ded9e0960a3eb910a90";
@@ -40012,6 +43473,7 @@ scale = {
 };
 scalebar = {
   revision = 15878;
+  shortdesc = "Create scalebars for maps, diagrams or photos";
   stripPrefix = 0;
   sha512.run = "1e367f025943a56b6592238e2961f967beb1d5ff5b68ee83565b3926a392214557237e482ba0b174ddb2e6861e4690e636edef1a5fe0473c465a0deaa1e1bd0a";
   sha512.doc = "cada3793771a28c3ce30439c782d245b6b21cfa426d2268e7e072a8559a81692b6c4e9e26a8bd452fe5882f39e55fd061a1af4e9be362bdcdb1f6ff6bba781e2";
@@ -40022,6 +43484,7 @@ scalebar = {
 };
 scalerel = {
   revision = 42809;
+  shortdesc = "Constrained scaling and stretching of objects";
   stripPrefix = 0;
   sha512.run = "0b0a996bbed0fc185714f84e32c76e5a9277137d3d8dcc6b12b516afa97f3c80b2684c3c22af8717bb3e6acca267a3862c1244df7cb71eca61b10074fe1c3a89";
   sha512.doc = "1533997bed3ce5499a1285a6db03be20f28fe70b1ebbac5d117e692c53068ecbe7f8082cd5f93c753bbfc1eb4fb3b78372c7b14f5e2c636398f37dbc17972d97";
@@ -40031,6 +43494,7 @@ scalerel = {
 };
 scanpages = {
   revision = 42633;
+  shortdesc = "Support importing and embellishing scanned documents";
   stripPrefix = 0;
   fontMaps = [
     "Map scanpages.map"
@@ -40043,6 +43507,7 @@ scanpages = {
 };
 schedule = {
   revision = 51805;
+  shortdesc = "Weekly schedules";
   stripPrefix = 0;
   sha512.run = "c7d58c5e4ecdef504e1d32934ccf2c71cd36b073af4031ee83b0d0a3b3393a40acc26dd4e057f426561903d0d08297bb2a9849cad2cc5a11b02e15a3983f0e1b";
   sha512.doc = "ca5f9e2b27f0b01531e82e64e99f816aaa52f5f340bc2fdefac367918d50c564cd178709428554a908951c117dbcf3d24753f84d864fcdc546129c3de25d7e77";
@@ -40053,6 +43518,7 @@ schedule = {
 };
 schemabloc = {
   revision = 68445;
+  shortdesc = "Draw block diagrams, using TikZ";
   stripPrefix = 0;
   sha512.run = "7a99b1fee9c4436371f5228e969786518f55aa65dad3cc540be912d6123efbb5a25634d337bcc9a3f626d37f3408b08999378bdc9d32e1e1db2549499b59b1cb";
   sha512.doc = "eca5a57f53615a486b21fbc2a0870c5816decb97a1c6bb004d5a6f6faa89f1cd8c7a8a51135904d2ab53076b6ac239f3192c976b54672d45d1eeaed353d07055";
@@ -40062,6 +43528,7 @@ schemabloc = {
 };
 schemata = {
   revision = 58020;
+  shortdesc = "Print topical diagrams";
   stripPrefix = 0;
   sha512.run = "d3c6418c699bb624287d7de3d64695e721fba3e44eb99df02ef58c02c7478f12ca329153295e076a126748239a483e941af3e8d9ade86e3f15a134424c6f4e5e";
   sha512.doc = "9f71ea989942daea92cce48f3a013fc1eca84ef4a36856e28f280f04efd21a0dd3cc5799f9308fb8fafe803c23106544ea85e2d094bf21f178158e30eab35b06";
@@ -40072,6 +43539,7 @@ schemata = {
 };
 scheme-basic = {
   revision = 54191;
+  shortdesc = "basic scheme (plain and latex)";
   stripPrefix = 0;
   deps = [
     "collection-basic"
@@ -40081,6 +43549,7 @@ scheme-basic = {
 };
 scheme-bookpub = {
   revision = 63547;
+  shortdesc = "book publishing scheme (core LaTeX and add-ons)";
   stripPrefix = 0;
   deps = [
     "barcodes"
@@ -40114,6 +43583,7 @@ scheme-bookpub = {
 };
 scheme-context = {
   revision = 59636;
+  shortdesc = "ConTeXt scheme";
   stripPrefix = 0;
   deps = [
     "antt"
@@ -40142,6 +43612,7 @@ scheme-context = {
 };
 scheme-full = {
   revision = 54074;
+  shortdesc = "full scheme (everything)";
   stripPrefix = 0;
   deps = [
     "collection-basic"
@@ -40189,6 +43660,7 @@ scheme-full = {
 };
 scheme-gust = {
   revision = 59755;
+  shortdesc = "GUST TeX Live scheme";
   stripPrefix = 0;
   deps = [
     "amslatex-primer"
@@ -40229,6 +43701,7 @@ scheme-gust = {
 };
 scheme-infraonly = {
   revision = 54191;
+  shortdesc = "infrastructure-only scheme (no TeX at all)";
   stripPrefix = 0;
   deps = [
     "hyphen-base"
@@ -40240,6 +43713,7 @@ scheme-infraonly = {
 };
 scheme-medium = {
   revision = 54074;
+  shortdesc = "medium scheme (small + more packages and languages)";
   stripPrefix = 0;
   deps = [
     "collection-basic"
@@ -40269,6 +43743,7 @@ scheme-medium = {
 };
 scheme-minimal = {
   revision = 54191;
+  shortdesc = "minimal scheme (plain only)";
   stripPrefix = 0;
   deps = [
     "collection-basic"
@@ -40277,6 +43752,7 @@ scheme-minimal = {
 };
 scheme-small = {
   revision = 54191;
+  shortdesc = "small scheme (basic + xetex, metapost, a few languages)";
   stripPrefix = 0;
   deps = [
     "babel-basque"
@@ -40332,6 +43808,7 @@ scheme-small = {
 };
 scheme-tetex = {
   revision = 59715;
+  shortdesc = "teTeX scheme (more than medium, but nowhere near full)";
   stripPrefix = 0;
   deps = [
     "acronym"
@@ -40399,6 +43876,7 @@ scheme-tetex = {
 };
 schola-otf = {
   revision = 64734;
+  shortdesc = "Using the OpenType fonts TeX Gyre schola";
   stripPrefix = 0;
   sha512.run = "3a59203e6586f2cdfed6d5a948e5c150da934a809c12ef7d55f04ba8a8b95b0f1365fe7e0d802d8097f48dbad753ae481c3e27d580eb050f75956d4d04ad10d2";
   sha512.doc = "14f9cc49ae04ec2f9d5ccb48d5267ef3843bf66a288e0dbc4e7cfd00b52331216e7ab179b506acd799b4031ef11feb7c333faebdafe9a3a94bf31da442bb4129";
@@ -40408,6 +43886,7 @@ schola-otf = {
 };
 scholax = {
   revision = 61836;
+  shortdesc = "Extension of TeXGyreSchola (New Century Schoolbook) with math support";
   stripPrefix = 0;
   fontMaps = [
     "Map ScholaX.map"
@@ -40420,6 +43899,7 @@ scholax = {
 };
 schooldocs = {
   revision = 69659;
+  shortdesc = "Various layout styles for school documents";
   stripPrefix = 0;
   sha512.run = "eb9f95e2026935a9fde3c6a72600a8eb6683ae68ffcb48798c05f3cdcc4f1064fcfd72738dd734a1561de563e044913aa82294b88984cb84ae49947387592f4b";
   sha512.doc = "c67955fe6568f0a661a2b6ea4b186d133f393420ce20c2d38dc461ee0d551ec91eccd0da94492effe4faac8c5934dd6e59853af07dae9d415073874fcb8e8fdd";
@@ -40430,6 +43910,7 @@ schooldocs = {
 };
 schule = {
   revision = 68483;
+  shortdesc = "Support for teachers at German schools";
   stripPrefix = 0;
   sha512.run = "6fd063de94d68e80b5e3d2e9699330453f82f43ccd059770e4d73097c1172ec0733012317aeba7bc5e55ed322936c20f97c6f53e9d7aed21a29e07151ec54d7d";
   sha512.doc = "6763529c688e540d937af7548a7e0b9003e5df74d643c3870a016bba105782435146d5771d4d8b69cfec90ece084c245a1825c5f3ae4a5429ad0626b07a9e4cc";
@@ -40439,6 +43920,7 @@ schule = {
 };
 schulmathematik = {
   revision = 69244;
+  shortdesc = "Commands and document classes for German-speaking teachers of mathematics and physics";
   stripPrefix = 0;
   sha512.run = "3258429a336a133334b5f170178b72e39fb3e63ca053a8b541136cc89e88caa991afa86439acffdd99f25a12b7b430d9ef45cdfa7c4ec6545fd1af2efba857c5";
   sha512.doc = "82ed02e73e3db3e2055725a4d5e11dc8f370ac4787e30987320ec52deefb8de75eecdfd2adda5e76d77cfd8bb1e749b4d0e6d6a75ae2f6ffb3201f193cdd5f86";
@@ -40448,6 +43930,7 @@ schulmathematik = {
 };
 schulschriften = {
   revision = 59388;
+  shortdesc = "German \"school scripts\" from Suetterlin to the present day";
   stripPrefix = 0;
   sha512.run = "d24778c0ae93d06b42bc8d7eb8d84ab6e0f42b33352f2dbd79586a4ed9bb21fe99a61dc0eab375e56a20624fa5ad63ade3446d685dcf063d46c0f60264c431f3";
   sha512.doc = "c9b6b43bff7a90f158b0a10c431cc52e65c4c2d49c773aafe7e54d1283d97c3badfca5315ff982cf0a524b514594faff5666063164483987973ce60d2edcadb8";
@@ -40457,6 +43940,7 @@ schulschriften = {
 };
 schwalbe-chess = {
   revision = 63708;
+  shortdesc = "Typeset the German chess magazine \"Die Schwalbe\"";
   stripPrefix = 0;
   sha512.run = "ad2f033f018767556e8e4c2b76f1d2c80e14780cc4b483e73bd165c0cfab11453514065597fd7dbce05e8acfd4c307219156abcbb3d59ccead70df61a128961a";
   sha512.doc = "2df38380cc26d4321d8b18facdc6c427d1986143ae1ef8227a2d536af2fda5f6bfb73ccc395156a7f018c9c9af20b3b89bc994d9021bb9ff3fe5d771f3a6bc59";
@@ -40467,6 +43951,7 @@ schwalbe-chess = {
 };
 scientific-thesis-cover = {
   revision = 47923;
+  shortdesc = "Provides cover page and affirmation at the end of a thesis";
   stripPrefix = 0;
   sha512.run = "2427c534ad767f1e8f319aa24744346d4a0a39f73d93c779dc89d3cd0abfd683d7a33c81026c4a5823ad686084f026193c917ff173d639dfac2c99350a819c59";
   sha512.doc = "31bc280c96b87b079a7dfb6a0c2ff1a03f80c5a047bc2c11b9fb192c50b8e51a65cb3fd5c043c37124afe2383a611f38accd91d6202416451b3eb34bfe855077";
@@ -40477,6 +43962,7 @@ scientific-thesis-cover = {
 };
 scikgtex = {
   revision = 66764;
+  shortdesc = "Mark research contributions in scientific documents and embed them in PDF metadata";
   stripPrefix = 0;
   sha512.run = "32433b1c031747037fa329d8b8048563cb53af867bebde85bd5fb95abbdfbd67434595d5fbe682f1247c23535d75929f341668fba9a02221b4864728a5f3cee3";
   sha512.doc = "217da3550e3752fe239831790294d158dd68d16545e5c9ef3e047bedcbe82acee7e34d4216ef843363979e269e03180f20ec9e83b033b44f28acabb67ee26f74";
@@ -40486,6 +43972,7 @@ scikgtex = {
 };
 sciposter = {
   revision = 15878;
+  shortdesc = "Make posters of ISO A3 size and larger";
   stripPrefix = 0;
   sha512.run = "1a4292c9fb6dd8a8780968c69ee70a88dd5d1c5d81df9a32e22e08c9115528d8af634a1681fb1672664d57f80ab333a1b811a9c0e17597afdc358988e14fae93";
   sha512.doc = "6ea102c2318e30080224684693806e16008f946a01fe9e1d232a871f231100d1491324a3ab0260746a61a10125afff6b20072c1a49c8da279a4c0b477361e46b";
@@ -40495,6 +43982,7 @@ sciposter = {
 };
 sclang-prettifier = {
   revision = 35087;
+  shortdesc = "Prettyprinting SuperCollider source code";
   stripPrefix = 0;
   sha512.run = "77f8909b870fbaa4f1a0414f75f08ac602051d26c0c935be8661be8820a0b77734b614b9f5c8333b1f1fd12f57a6ee3c4c403f151bc60300e454673a2a4235c2";
   sha512.doc = "7680fa17762f17d2d7f3c9d3062bd194394bbbfbee36e4704e8b95b2be568cab51fd1dac9d90c6034919b3ec61f75f0f7689478c16f53ac7b4ee820768eaffa8";
@@ -40505,6 +43993,7 @@ sclang-prettifier = {
 };
 scontents = {
   revision = 62902;
+  shortdesc = "Stores LaTeX contents in memory or files";
   stripPrefix = 0;
   sha512.run = "692fbbe0cfe9153bb4782eabe8f1713e646d5a93d4b1b2fe0f7662bd995bfae25b8200acb9eccd0057b53bff7c33c0f9ff621cd37596e9aa4cd51f84c2a30dc7";
   sha512.doc = "f978650de27e8306d70612331c2c98b5e0c047bbf91908c9968c6d613311c034dd00816afdc30b63d7673a8627651467af64a99fb7fd3978947113f8fb6eb563";
@@ -40515,6 +44004,7 @@ scontents = {
 };
 scrabble = {
   revision = 69599;
+  shortdesc = "Commands for Scrabble boards";
   stripPrefix = 0;
   sha512.run = "89ff7d5440c04e7910d3c001be2d4df7d08a53a47d05b161545fb8446977a8f2695cc722854ef040b59b334804297005baee9f2d3572b767d680925191abf101";
   sha512.doc = "e3d922722c51b71f9ac74e914cf189ffa8e8f53fea4eff7addd2ce5c7d99ac3ab360b50a3212a9ebf353114f1dcc82cedd5a9315b48f4828b1340a9867ef69fc";
@@ -40524,6 +44014,7 @@ scrabble = {
 };
 scrambledenvs = {
   revision = 60615;
+  shortdesc = "Create and print scrambled environments";
   stripPrefix = 0;
   sha512.run = "075792b5d0fc5201d672e622a958c600ff479caba2920a32ed3d3f469c525d799d8bdef20b3a08391a22ed3eead6ab3f30cebbed36c469e423e2ea844c170651";
   sha512.doc = "339d1cd398e62d65c1c92927a07dd4bed740916f2a98dd8ba2d913976d69a70b0340b9cab35250ac3ee862f4572438f87562cb6f7b2031cbe0252d8cc781009a";
@@ -40534,6 +44025,7 @@ scrambledenvs = {
 };
 scratch = {
   revision = 66655;
+  shortdesc = "Draw programs like \"scratch\"";
   stripPrefix = 0;
   sha512.run = "bee431e5f45ef9f5dca39b7ed439dbf141141e4b0f40642c0fdec1650dae9f0e50353e21b58307e86f34e501e06083a6858c140c870752c45138ac6788080023";
   sha512.doc = "a93b672fe46f97c1311d79de5a9304111bb75983b6151e63276a0b84a660e7b917c36b1a99a28a0b6a268b3498dab9897980aa4ca161dd4b9d59a7b2baaa3be5";
@@ -40543,6 +44035,7 @@ scratch = {
 };
 scratch3 = {
   revision = 61921;
+  shortdesc = "Draw programs like \"scratch\"";
   stripPrefix = 0;
   sha512.run = "f33f18d725253b11097443116e6c0cf4930b7718a5f8678b0d8fd97d8e4854efb31bd016a40a7dec2701a99bf2b5ac6136a856798ead314a8c21cf38013bb513";
   sha512.doc = "97a8e684ff98c9aca2ab57cf93be2cf8bb4c0464fa772828c033622860e46d8c61bf563e346aeff1123665c878bf3fc68c58727ec2c1579e815c7a8ece078ff5";
@@ -40552,6 +44045,7 @@ scratch3 = {
 };
 scratchx = {
   revision = 44906;
+  shortdesc = "Include Scratch programs in LaTeX documents";
   stripPrefix = 0;
   sha512.run = "793c4e96cedd97ca37b7906b6a9e78bb06f39572ddfb57d8e4b54dd9b2846b31bbdd835fe1a93517d1430448571a30d26fa8ad7cad0aa3fab6ca526bacb605b6";
   sha512.doc = "c87994e90a748fa8afba91b443850a2d9f555ff4ac6b264107b42981e078b6966e8cbffd75f071f3f69a78c9b9aa10db65c3e855a4920f3b732446df01da7d6c";
@@ -40561,6 +44055,7 @@ scratchx = {
 };
 screenplay = {
   revision = 27223;
+  shortdesc = "A class file to typeset screenplays";
   stripPrefix = 0;
   sha512.run = "d14dd76c4b1abd9ff7adbef7e4c3bc1f732156dc2d989787bed7382e0288c44dcde18ce05143e6af03ebe83c753bd2b6682cb4f56c73934ca4209a114eb9e3ef";
   sha512.doc = "ed723ffc17a98c8d4a8c960f56a3550ea74db84fdd06d26b08b5c46b12310fdb9b7b7719ffa25e8ddd21f17642f5f64f1c96327066a131c468cee8ff185cb199";
@@ -40571,6 +44066,7 @@ screenplay = {
 };
 screenplay-pkg = {
   revision = 44965;
+  shortdesc = "Package version of the screenplay document class";
   stripPrefix = 0;
   sha512.run = "974795ca0b4a286077e38f4b3b120cf9fe243d450b87b8397adec2c5425b865cdfbe70b86b815d513edb6ae7051d9ad3003fcd6a15b5b02b624dcd4ee0534164";
   sha512.doc = "9aa4407d1b317442dd76f762af5b673460bbbcec89e47835521688085183e00ba9dbb70dc9e86a95235bd9a32da701c846ceb2985dc70894ca8abe334428a532";
@@ -40580,6 +44076,7 @@ screenplay-pkg = {
 };
 scripture = {
   revision = 69232;
+  shortdesc = "A LaTeX style for typesetting Bible quotations";
   stripPrefix = 0;
   sha512.run = "3b3e30f0c5bbc99a49c9aec873f2ad93535d8c1f3fa79f91619d30fdca347dcf1bad30485463ce875e4511ed857e358824197059732c2538bffebd97b017554d";
   sha512.doc = "1de0de0b83915b59b54b234daf51ea77aef3bc58a80251c7b055708b7eb8d457806d2b897cd3771f6a303e8137b5f5543dc06c97be94142edf44558cc92a1277";
@@ -40590,6 +44087,7 @@ scripture = {
 };
 scrjrnl = {
   revision = 27810;
+  shortdesc = "Typeset diaries or journals";
   stripPrefix = 0;
   sha512.run = "39198edddb3a3ce24bdc0d9cc6f5d7ff204b142c200a9ce36060bb016f1e1e1750b83210a91f1eec90a205c5a4923704bdc0e44876c462eb768355407597a05c";
   sha512.doc = "bf6dc1704ce60f9323b68d39502fe95d4eaf8409bf65c278e64deb1ff80aaa84f16e294ab08629466b6f8c0ca02ec03142abdf3fe0a43f862352d0ec55dd410a";
@@ -40600,6 +44098,7 @@ scrjrnl = {
 };
 scrlayer-fancyhdr = {
   revision = 63844;
+  shortdesc = "Combining package fancyhdr with KOMA-Script's scrlayer";
   stripPrefix = 0;
   sha512.run = "4cd49bec1f3bec3bef5c54964b06fa78cb21cfe431a05741e69cfac59577a2d24cc5b32b6abd739a96a93441e8cab0db80640e5015dc70729ff32c27d26805f2";
   sha512.doc = "d4711f5178d0e654f80d2771519d6ddeca8b883f9bf3d0ba6e9524ad4541a9fbf9179fb69c356d1ab0050b051c28cb074680a6322fef41ee765ebef8fe476651";
@@ -40610,6 +44109,7 @@ scrlayer-fancyhdr = {
 };
 scrlttr2copy = {
   revision = 56733;
+  shortdesc = "A letter class option file for the automatic creation of copies";
   stripPrefix = 0;
   sha512.run = "5b2f1c1c86a8b3df5bb4d5edfc002ff80449d2cdcf6ec7aea3732d0ba8e6bcaa105675f9f37dd5280d3b9061400d8edc0c67460ac9f1541159484aa51b851fc2";
   sha512.doc = "04728375909e27e0814f9c2dee14697711ceba7b132ee6de63f257e2a6c3eff11a8e808d7929bbd0c9346b459afec57dd62d523314381c0c19a5e2b8b3650f20";
@@ -40619,6 +44119,7 @@ scrlttr2copy = {
 };
 scrwfile = {
   revision = 66872;
+  shortdesc = "Use LaTeX .aux file in place of \newrite files";
   stripPrefix = 0;
   sha512.run = "b4d306af1e0d3dcfa59ef14250f14125bfc4a0b9b0f3e6ab32b809f2e729cfa45e27549c8cb9c2dde2819d328c1a032eb6aae6f123f1c71efeba4c9d16611a34";
   sha512.doc = "6aab0a6af0c3f989788673c44bb8a885ddb259f0be3f69f0a32b0bdebdc8e607b32c8f8530cb99d59b1c7739b2c33446f8b7c832384d07158c90bd347704a1a3";
@@ -40629,6 +44130,7 @@ scrwfile = {
 };
 scsnowman = {
   revision = 66115;
+  shortdesc = "Snowman variants using TikZ";
   stripPrefix = 0;
   sha512.run = "2335082e981929d24b2dd327db68f101a93b0c2b9176c116d6ca9430ea45bd85c9669921980090554406a658821f3c68305250894fd710058e15ac6aa8ede1c5";
   sha512.doc = "e883b300888ebdf62af976a94ff29a3f621a92420c26553ca16497ffb57db0d1cec7f8a38a1996e080b660ee3ae0b7245688a7732c141b0a680b864f527069f6";
@@ -40638,6 +44140,7 @@ scsnowman = {
 };
 sdaps = {
   revision = 65345;
+  shortdesc = "LaTeX support files for SDAPS";
   stripPrefix = 0;
   deps = [
     "environ"
@@ -40656,6 +44159,7 @@ sdaps = {
 };
 sdrt = {
   revision = 15878;
+  shortdesc = "Macros for Segmented Discourse Representation Theory";
   stripPrefix = 0;
   sha512.run = "6faa9948e5bb4369fefad7d2b1a5f2bf39baf8b98e8ad3b8f61ade2001b431894ddfbd61e2f1ec73ed767b102f79f8357d965a5c3805c082d8d88bda29e10c6b";
   sha512.doc = "570795dd0c4fe0450e628f61e43d05f3e969488890eab2ee1364712e812d839c7b3185c7ddbd27c44c486e234afe36aceb4824e828cb0c9253e8e5479b0b6c15";
@@ -40665,6 +44169,7 @@ sdrt = {
 };
 sduthesis = {
   revision = 41401;
+  shortdesc = "Thesis Template of Shandong University";
   stripPrefix = 0;
   sha512.run = "10f1c0a749b9b30dda0e1c7dce4ef2fdd29220b4d77d03b8e71d8c3a460a73c98f8d16e27e6bbab07a66bf7a23cc9d3bf2b12db523232df1142a8563e0068ed8";
   sha512.doc = "afa02606e7df5655ef46b59e92dc54bec9e8f05deb1d9ecd8a0546ee068f2595620cc8dd39d04ea8db53ac7f2e9983ff01ac2646b6946fd3619db64a0bdad332";
@@ -40675,6 +44180,7 @@ sduthesis = {
 };
 se2thesis = {
   revision = 70117;
+  shortdesc = "A Thesis Class for the Chair of Software Engineering II at the University of Passau, Germany";
   stripPrefix = 0;
   sha512.run = "4dd20b0d80acfe324039946be7383763bc704c5e468b79edbb079993ae89bd98fd10113c97075e2b2afcccf6c75438ff62bd32f509e0040a64de69fe4fa77784";
   sha512.doc = "42a8c89d3375e35454975b087a8670cb2cc95e29e130bdfd41afbe902b0dbb66e3219dd8873fd88970a6d4cf155d077e0b4a50755cf278cbadf71718b05e6f0c";
@@ -40685,6 +44191,7 @@ se2thesis = {
 };
 secdot = {
   revision = 20208;
+  shortdesc = "Section numbers with trailing dots";
   stripPrefix = 0;
   sha512.run = "7fb101dcd377cb5e3d1dca352d266af419c6fd83e4f2d1701a3d598e69e8e7f70afc9791a76337f4833da612cf07989ef244af1b24eb62ee59dd5f76225aa037";
   sha512.doc = "7ca1b4102c6f92bfc6dd0571c489852dc5c1df4a58530aea490098192ee256a4df7e0bbee20adff78c2b35dfe39b8cd3f821c5e45dc6d78ab4865b6f08ad8488";
@@ -40694,6 +44201,7 @@ secdot = {
 };
 secnum = {
   revision = 61813;
+  shortdesc = "A macro to format section numbering intuitively";
   stripPrefix = 0;
   sha512.run = "543d290e5ae38ac65cd22217aec417f4c1098d629ce9acfe03340b529a7bb89ca012e2edf5321fd90331d79bd87cb5e6f15eef3e599857c2aaaad22bdfd1be78";
   sha512.doc = "da4ec2a79e7a04bbf4296f1fd0929971bd577cf4f55d0852923a0bbb73e78e28eba392d203f1abaad1fcbcdffa9e2206fb7d78003b10a2ed428c87562b01de02";
@@ -40703,6 +44211,7 @@ secnum = {
 };
 section = {
   revision = 20180;
+  shortdesc = "Modifying section commands in LaTeX";
   stripPrefix = 0;
   sha512.run = "8b3eaecd49f8b7046bc35df079541121d76757bc2a1b6a6ffa24357a20e9ec4bf5a7b65fae1673401ebf363e46ecffe3c64a2de9aac104594b2b111cd10426f2";
   sha512.doc = "91defb5391b9e607cfaf74ac3abe53127ddec379d7a7c052f5c8f776bcef1728010a94ef7b590ddac8df140ee11fff4fd843bdbe1a13efd322a9a939ea2df39b";
@@ -40711,6 +44220,7 @@ section = {
 };
 sectionbox = {
   revision = 37749;
+  shortdesc = "Create fancy boxed ((sub)sub)sections";
   stripPrefix = 0;
   sha512.run = "d1a4da6a59c0411baaa785c58350c1d5be9c1081e0344d8a61fc009f49a1b751a09f358ba1baa3b645de4eff7d69e3781d8b44d90738105c0f56723da36efdb3";
   sha512.doc = "80ae58336eabd8169781c3c30b42b2583f78ffa4093a7d3f9d9e9c6e31a3fb8f457fd42d56f2ff75b2ff3c38b537642dd6f254e54b3112538657a37b3b4e0410";
@@ -40720,6 +44230,7 @@ sectionbox = {
 };
 sectionbreak = {
   revision = 50339;
+  shortdesc = "LaTeX support for section breaks";
   stripPrefix = 0;
   sha512.run = "4b2c26642ba346acce5aff9678bf94f76d85005464f80eaae862a522bcbfa34c1671af79671982a91208ef104a21a532d851dcc785b5c40de4fe462d12488832";
   sha512.doc = "a98eede394708bf612f593e00c58b5500a35b5173381c1f149d0be29b49fe95f5162602177b7d4f23c5b5312d7cdf47ea6ced8bc285853d2b7d77926a6ca66b0";
@@ -40729,6 +44240,7 @@ sectionbreak = {
 };
 sectsty = {
   revision = 15878;
+  shortdesc = "Control sectional headers";
   stripPrefix = 0;
   sha512.run = "7e164b14f29a385f8a97e09ad124c347a154e316ac2eb41e0bf9f161d44f2782995fe271b5472ef90dfa4ffdd5495de81090b44f5777243ea76c9f75fcbde2b4";
   sha512.doc = "69d7fc032c06d015d7a6e6d2273c5240b146062565882fca0ddf5b7b795b788207bc9b478366a0a40e4acf223b07482f5cf41a65dd9b37047bcbf12566f6a826";
@@ -40739,6 +44251,7 @@ sectsty = {
 };
 seealso = {
   revision = 43595;
+  shortdesc = "Improve the performance of \see macros with makeindex";
   stripPrefix = 0;
   sha512.run = "4d52687aa57245d3be55bf486b100d61fe2e2d979447c2f123f566c3aeb13657e531ace55fe5d00eab57cebe89cfd3729a71dc7177831b5192b8c0fde452d7df";
   sha512.doc = "6baba95b6b08ef95f2966d227161ea39a4084b46371967057266ddae155b115fbe4fcf148e1afc4629e33f54d0329ebb6169f1be4fdcb801d869b212d056cc61";
@@ -40749,6 +44262,7 @@ seealso = {
 };
 seetexk = {
   revision = 57972;
+  shortdesc = "Utilities for manipulating DVI files";
   sha512.run = "1f217550f7455a82dd1771556045e10a39138eebddc90f4d38a274d56d9072501d94476c6045012f3c5cda43aea71924268fd222895079b225d893df3b78fa97";
   sha512.doc = "1b36ac131e25541123a7d18e9a5e3cb1fccab04ffca1b0d1e5a036a26de99fb05e6745d43cac6dc76a295eac5503f90eafdb2b40f96c88836123b5b599a47e2e";
   hasManpages = true;
@@ -40762,6 +44276,7 @@ seetexk.binfiles = [
 ];
 selectp = {
   revision = 20185;
+  shortdesc = "Select pages to be output";
   stripPrefix = 0;
   sha512.run = "1674c9c9d7afbc851f8c4fad1b46a1ec18161eb48375d892c947416ee97791addf92f75a69090c95a0f08bbaac1a7a745af93a7bcf91e2e0f8117ed3f3106dc9";
   sha512.doc = "7c99f0400841cb1d88af4c239f43eaec7c0b2358c2e581866d4361cd86b9eff413bc9e07d8df630ddff8d4f37193896bd430f4c357d9cc04591295f18ebd09aa";
@@ -40771,6 +44286,7 @@ selectp = {
 };
 selinput = {
   revision = 53098;
+  shortdesc = "Semi-automatic detection of input encoding";
   stripPrefix = 0;
   sha512.run = "41888a394e4c9adc60242e4c689b272a7b4e2a2db2e4824e0068a305cdae59c1edd46b0a9e45909cf29381f240693234330fb3488be68831136f8f04a72faca6";
   sha512.doc = "918b0b2bbb8230a482418c56de8081bb455980e178843b0ea84b18435c1fbfcd50a71cd0491b89c5797a374479060175219333bbde2ab28b5147cb5c3fd65ff3";
@@ -40781,6 +44297,7 @@ selinput = {
 };
 selnolig = {
   revision = 68747;
+  shortdesc = "Selectively disable typographic ligatures";
   stripPrefix = 0;
   sha512.run = "8dd7baa476f72549830f2571615af2374b9d74da69c16f2999708201b7404c46118e7a6046ef8dff39935d3b94373140819497508b2a8982cc928a5dbfc6eaac";
   sha512.doc = "c36e55066eadd959f625fcb72fb89ab2ca51f3411ba9bc81c38d2ac3f18ffd792fd95c33178c0607e3958cdbd81c031193d1b6c712906a2c9cdac4178ace6ceb";
@@ -40790,6 +44307,7 @@ selnolig = {
 };
 semantex = {
   revision = 65679;
+  shortdesc = "Semantic, keyval-based mathematics";
   stripPrefix = 0;
   deps = [
     "semtex"
@@ -40802,6 +44320,7 @@ semantex = {
 };
 semantic = {
   revision = 15878;
+  shortdesc = "Help for writing programming language semantics";
   stripPrefix = 0;
   sha512.run = "d49c22d4982a33177fdd73c5ff15a68e663c3ff1ec9a45a40e5a8364371a25b536dd6c1dd963296ae998760178833b5f2c357119f41e7bb5a72061f0f9ad23fa";
   sha512.doc = "21e9a7efd9fd6dc28be30f284285cc8c13b266eb03c9212b30f97b761c1383e1fb84a18e92437d331d3963068a68c61276cc1fd3446807bedc954a490fc490aa";
@@ -40812,6 +44331,7 @@ semantic = {
 };
 semantic-markup = {
   revision = 53607;
+  shortdesc = "Meaningful semantic markup in the spirit of the Text Encoding Initiative";
   stripPrefix = 0;
   sha512.run = "f795c901ec0b133520cde8e269364977638d410d6d06207d868e6151e7f43a4d3c54a73780237e2dfb86b9077b0724fccbd7e9121d51a64034f4bd604a38008a";
   sha512.doc = "f1498e628054e91f7b0ecc0fea7c926aa55d7bec56c3c13ebcc5073f96df84e8c1e255532f9ec72b8133d21511e4f5f2996d95c39c15cb74ae39fffa87d5a785";
@@ -40820,6 +44340,7 @@ semantic-markup = {
 };
 semaphor = {
   revision = 18651;
+  shortdesc = "Semaphore alphabet font";
   stripPrefix = 0;
   fontMaps = [
     "MixedMap semaf.map"
@@ -40831,6 +44352,7 @@ semaphor = {
 };
 semesterplanner = {
   revision = 56841;
+  shortdesc = "Create beautiful semester timetables and more";
   stripPrefix = 0;
   sha512.run = "26c7b18796dee2f703f22ace3aae21b38f98d9250b1896a3cfe5214b42551ae3fe4accd9e8bf905109c05169370317608e23363f4bb512e794cfaa528b645119";
   sha512.doc = "32c29aad8acf63e60f07262930f267a295daf9498621c48f0b9697fe31e4dffc63c8992b5c5f60b1d61188de893421906aa3abf160a79c6dd5429eca87c03fb1";
@@ -40841,6 +44363,7 @@ semesterplanner = {
 };
 seminar = {
   revision = 59801;
+  shortdesc = "Make overhead slides";
   stripPrefix = 0;
   sha512.run = "28795c64e4af5296e228986c28115305cb76087d241e91312cfff351f7e51833a0d76b2acd667fc5f7616dcb1685cd02b2d9352ef7f0e36d5bffdaa5f421e6eb";
   sha512.doc = "8b7364dc568d1fd78cce21ff1846a6369fe3fccf07bf16ece8383c941492404d6fdf3be1607aa2279a10d670803536474d7cc318b9b3dda24142fbcc69fe69e0";
@@ -40850,6 +44373,7 @@ seminar = {
 };
 semioneside = {
   revision = 15878;
+  shortdesc = "Put only special contents on left-hand pages in two sided layout";
   stripPrefix = 0;
   sha512.run = "cb3f20a7f766681f9b7748ea3a816fcd477e6685a159b071502716c708e0e1d5a2a33a5b210cd1e2a684a288d07079870ad243218dd74e80853a227fd445c884";
   sha512.doc = "8d6b1ada214f99028ea9843b4d5a85a8a974a9ab52e8a7d9338d25341282d6f1c8ca4e7a24271ec20bc4be781f418f2ffb558ef4fe6e6f42d165bb24650b54da";
@@ -40860,6 +44384,7 @@ semioneside = {
 };
 semproc = {
   revision = 37568;
+  shortdesc = "Seminar proceedings";
   stripPrefix = 0;
   sha512.run = "ac78e19197af3c72863ee4ca94842d596189d37c2d559ac1254f70fda1011943ddd7ce17b48f183b839a6610f8d7dbded2a0f2a18453823a0c0044a70841dcf2";
   sha512.doc = "2c7e2a40348b098037001928d6f21f5a66c23967dc63296ce26736b006a46f9d9536fae9480c1f0d0db72ed59973a6140471bb110702fd5cb997fafe03133dee";
@@ -40870,6 +44395,7 @@ semproc = {
 };
 semtex = {
   revision = 56530;
+  shortdesc = "Deals with stripped SemanTeX documents";
   stripPrefix = 0;
   sha512.run = "10d2b93b30581cede982f5d7ec1ee5bf6f60406e27e1750f2bc6b6dfe0f683ca922a762fafac0d5d037687c0a98188617ee48bb51ea132ccde7cd1c33bbdf273";
   sha512.doc = "316df9ed5f2d058e6c28e5e8e5f4bc3ed64439409d1ae1c608b2a75a23c40d438b657642093cb723b23da4f14382f1080aaa3a9a49d8ce143e26e494a3e7b3e9";
@@ -40879,6 +44405,7 @@ semtex = {
 };
 sepfootnotes = {
   revision = 41732;
+  shortdesc = "Support footnotes and endnotes from separate files";
   stripPrefix = 0;
   sha512.run = "a7333a9779ebca371aeef0a1348968d8b4649ca037e88f6e8a6f5224d13265202c8de8d2ce5dd89de170ddc348cfb04f5df92e249c122a608efa8fbab4daba98";
   sha512.doc = "eb7d70eaec4bf58c85964f7a3692da09894c898f712a119fc0ffa42429be2e53b96ed6f569fcd37aff170d2b953543992bcc693e264ee1ec542c435be2723414";
@@ -40888,6 +44415,7 @@ sepfootnotes = {
 };
 sepnum = {
   revision = 20186;
+  shortdesc = "Print numbers in a \"friendly\" format";
   stripPrefix = 0;
   sha512.run = "4ba90558d397f0c047ffeb01620d2d5ed4bc38431ddbd75d9a381fac58360d78270b8f22e761693a8a39176d1ab92c9da3b6bf92aaaa90b8ee20490f5b70f50d";
   sha512.doc = "080b081b101ea57480e4c958e997f5b10d22c5de56a60c1f415248ba0564046560650ae589b29c73d185fa88334a26ca3412e996fcc1214ef0b9d20e71bf18fa";
@@ -40897,6 +44425,7 @@ sepnum = {
 };
 seqsplit = {
   revision = 15878;
+  shortdesc = "Split long sequences of characters in a neutral way";
   stripPrefix = 0;
   sha512.run = "02413d104e12aad40f093731e2d28d0354216d3d57e6f811609f398b8122bdbf906f78cef38f355562efb4e7df6dca314f8548d8d8c03a2a9404addc42f0e1f3";
   sha512.doc = "0c49425b619ac62da4eb2392c51cb7726d9bab008910a88ec36b866717c8ac341be0903e3014ed36a30ac701fafc453a0e319470f2f65eb6775d6ff52b9f07e9";
@@ -40907,6 +44436,7 @@ seqsplit = {
 };
 serbian-apostrophe = {
   revision = 23799;
+  shortdesc = "Commands for Serbian words with apostrophes";
   stripPrefix = 0;
   sha512.run = "4e3998b6c3f5578929204c0b5f131b0ad4526057b50811253b6a90367327c63af5bec386aef54ae6c80be7a1ecdcc6875bbdca532fab864e61837cf16855750f";
   sha512.doc = "38c8ac74b304ac992bad807f2727a3e75a727a77c5bfe5042e24a39ad305162e828ca0333963a3f91c5f26ca0324e7feea97dc6ab84c1cfdb6c26b05ed5f4fd5";
@@ -40915,14 +44445,16 @@ serbian-apostrophe = {
 };
 serbian-date-lat = {
   revision = 23446;
+  shortdesc = "Updated date typesetting for Serbian";
   stripPrefix = 0;
   sha512.run = "420b77a36a08e75f8020edffed704ff0398115a6bfe694fa46957ad8b35c58435ecde4c16176a72bbcbcd16139502f8fb679399852bfc9000df6d5f305fbb04e";
   sha512.doc = "5c10fe13a4e1d6117ebfe8d737d50047dc97483c7a0cc287a9e79d367af50ec1cbdc0800161919b92c6d82774c9e756970db71344259028c254fbf2c1fe86219";
   hasRunfiles = true;
-  license = [ "gpl2" ];
+  license = [ "gpl2Only" ];
 };
 serbian-def-cyr = {
   revision = 23734;
+  shortdesc = "Serbian cyrillic localization";
   stripPrefix = 0;
   sha512.run = "6cbd1da1160519914db1a2269a54f1f81442d84750b15179e4a0f4e5373512c959542a789ef39a2803b68030bd6a8001fde777e907e85852703ff696ec9e5113";
   sha512.doc = "0f2a2fb44eaef8e0eb01e12260fa310d661501c3e1dacde2882199ce4bd5323c837704fd50e8db5b4ba567a38038b37be28fd834874262de2e3ad36b65816498";
@@ -40931,6 +44463,7 @@ serbian-def-cyr = {
 };
 serbian-lig = {
   revision = 53127;
+  shortdesc = "Control ligatures in Serbian";
   stripPrefix = 0;
   sha512.run = "d9b5d42c565d5704ab516302534238961ad42e971d3c3b4b4672d4cc19927ac22a871735d88c362b753640d457597911fa269ec30edb5c1c0af96820299c6720";
   sha512.doc = "6ed0551c176ddd34e1a4eb4449fd78ca38c166efd41b31c78dc1e192a714fdc81b195cf83587f256462b610681136b69960867d5f1a571a5b1b47256fca88f05";
@@ -40939,6 +44472,7 @@ serbian-lig = {
 };
 sesamanuel = {
   revision = 36613;
+  shortdesc = "Class and package for sesamath books or paper";
   stripPrefix = 0;
   sha512.run = "bb7b38ff9e6494fb3150602008a66df5fd8c35dcb52a2da196cd177bcffeb40e284fa493b296f01f22864a5bf25d89fb4c079ff4d9fffacdf37dfc9de9256518";
   sha512.doc = "cd144c93693367bdda658fb1ecd424715849fa57f0aded627125db2703947c8b5886df9ec08595592b6900327b42e8cff00f0c69967075321bd7cd1064054f3b";
@@ -40949,6 +44483,7 @@ sesamanuel = {
 };
 sesstime = {
   revision = 49750;
+  shortdesc = "Session and timing information in lecture notes";
   stripPrefix = 0;
   sha512.run = "5c5ab4808645230c6563a08b8243f27fad02a76fa56296f4c7e1b17d2140ad0c9ab0b6ed02e27240f596113019afbed52dc5a9f5efd874ba7783c921b81416c9";
   sha512.doc = "93b986ea6853761fae06b297b951a7a46ffee403a4fc980aa1afb7cc42c15fe753797eecbacacbfb49b0119ac9e24dc105975acf72852eb0265dc4586f397bc2";
@@ -40959,15 +44494,17 @@ sesstime = {
 };
 setdeck = {
   revision = 40613;
+  shortdesc = "Typeset cards for Set";
   stripPrefix = 0;
   sha512.run = "817474bc928883f4bbe97391a477bf492a4e339879fc85d7aec3ca932f9b46c310f8fec5b732deb2196c705c2bd3a22721376ea8289a1bbdc12555447f12f757";
   sha512.doc = "c27f7ab563f35293ee6019560f643d562ff2bf06747402930c767031a8dccffac0ebae9cd16b9e3009b5883f594c541ccf4c38883aa89f4256f7db83e378e1e9";
   hasRunfiles = true;
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
   version = "0.1";
 };
 setspace = {
   revision = 65206;
+  shortdesc = "Set space between lines";
   stripPrefix = 0;
   sha512.run = "9462cb011a2a13a962c08d7d962c120f2b459630f8ec1f96704c2878facf01a37118e9c94ff9cefcc9ac0e0e3c1bbedc158aaca24dcf13cad0973a6544e79651";
   sha512.doc = "0ff85289fb5ed620f208e3ba84e82efacc91da32611e95a4a99aa5c939c0400ddd3a118d460ef65d77b483678e5ce8c71b901ed0ee1f711cfaa29f26141089fd";
@@ -40977,6 +44514,7 @@ setspace = {
 };
 setspaceenhanced = {
   revision = 68493;
+  shortdesc = "An enhancement of the setspace package";
   stripPrefix = 0;
   sha512.run = "594fc089440a356201122b33160a16785dcabbb2eeb1fdb2fdbbc1e53c83f0ffcbfc7b9c6be623e6a5e4ff23b933f25120ba1ecce72e73d8e32e1939a2744f8c";
   sha512.doc = "d9356a26bed9405fb9cb45eda3769dd5360418c02fb6442cb4dd64da5e70e9785b167e8406fc772fb7ca1cfc574b23a375916d0c5dd6a1afb09668f5e6c743e0";
@@ -40987,6 +44525,7 @@ setspaceenhanced = {
 };
 seu-ml-assign = {
   revision = 62933;
+  shortdesc = "Southeast University Machine Learning Assignment template";
   stripPrefix = 0;
   sha512.run = "929cf4aa8b1a55a74cc13e4f823f6d814fadb425f7a6ea53c18cf4244a14b9bee8afd8c06327add62b016ff36e7ecfddc29323105362a63342d382febbabc428";
   sha512.doc = "fa1d6be46bac0c2075b8e43c1f39d74092cf86b975b4c281c57b778ba16aa6345258261e26690fc84f79fdfd57082eba64d894002a723ee8bd821fd9d99e7774";
@@ -40996,26 +44535,29 @@ seu-ml-assign = {
 };
 seuthesis = {
   revision = 33042;
+  shortdesc = "LaTeX template for theses at Southeastern University";
   stripPrefix = 0;
   sha512.run = "a36006ff6a093cd589a0e328c60e7e78afc160ab45746e562a43a8944b2ab331643261f56890497b70449f76be43c0b226642cc5570dccfe0d6240181b20bcb3";
   sha512.doc = "5bbc5770bc42c62da7ca569b10558dc02bbe7fda2a463a3a2a78bc76fda3f1d0e7023c311f62a91bef73ae3c4026561403284404acc6bc72cb2e308ad4092ab8";
   sha512.source = "a442b5ca4e1e8a4a3f8d331e5575066a8c63d1521d1f774fa7d386a8e42b09a2c4727fae1f0a51a31c6a98c173113349738caac8991d50e4459082a874fed1ad";
   hasRunfiles = true;
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
   version = "2.1.2";
 };
 seuthesix = {
   revision = 40088;
+  shortdesc = "LaTeX class for theses at Southeast University, Nanjing, China";
   stripPrefix = 0;
   sha512.run = "8f2aa388faf3fc41cdda54ac44631dc2f0737b727f3af27c41bc268223d2f3f6353dc24f067ec487fe5f3ced5c7837ee6f60d46de3950a3a3c9573df77cc725a";
   sha512.doc = "1d54dacc742d558af5fb006cb4f26e073bbf6a3a572b7e81fbacf691995a4a96c72251225fb7cff598c930a4c9984d0d01d080c797f202f7e30aced20b8b3e5b";
   sha512.source = "fbc848315e2b76ac915aa6abc0a9e7bf2f63c4af716ccf65c9af3ae05e049952703c1f86db97a5825b92f43dc2d1163e6544c30fcfce4b672272b4ba9057c171";
   hasRunfiles = true;
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
   version = "1.0.1";
 };
 sexam = {
   revision = 46628;
+  shortdesc = "Package for typesetting arabic exam scripts";
   stripPrefix = 0;
   sha512.run = "60fc18bf706b787b9bc59d1ff12e62fc3b69f5c6815a629f6743c8ff3fbbb2948c145278805888b235756beac5dde5613c10fe4ce20bb6536b4a3d77a2713569";
   sha512.doc = "0d2d5e2e5214622ea6b398c0b0f7a297a3f247ef3df0ed696c6faed94527b2edb6564c917d182177f8f3b44d7cd0e14ef4ac186c89113ad74e3ea70475ce1179";
@@ -41025,6 +44567,7 @@ sexam = {
 };
 sf298 = {
   revision = 41653;
+  shortdesc = "Standard form 298";
   stripPrefix = 0;
   sha512.run = "c9a262481a01019010a645c321c675bc93e3e0c6627b693bce53a808bc9366d7915c19f97871786001fbf61b589f2cef274aba005681f9b32094644568d0f2ec";
   sha512.doc = "03b1d51626e6ec0b076f4c2fb5b34daf490a671df69edef7235a6c8c77b2475e79604c7d49aed3c7d756c9fb781a7398a27596ab9b183b942119ee86385ec612";
@@ -41035,6 +44578,7 @@ sf298 = {
 };
 sffms = {
   revision = 15878;
+  shortdesc = "Typesetting science fiction/fantasy manuscripts";
   stripPrefix = 0;
   sha512.run = "ea7fbce545b9e9dc8b804e293239fdd491bf1293875fa841afc5a33ddcac7acddf243194e36f8958df4d23c71ad9b83348fda57dc261f211b49fc137b66ff6b2";
   sha512.doc = "e1702249f2516dde93887403833f9261f73e90ce04bb97d4052de1a28b9f5bcd5729d1d9a68759ea92271b46cbbebed39565e8c30248af4c894c347e4b9b75a9";
@@ -41045,6 +44589,7 @@ sffms = {
 };
 sfg = {
   revision = 20209;
+  shortdesc = "Draw signal flow graphs";
   stripPrefix = 0;
   sha512.run = "d90305b5fbac3e06bc3195b802b4ef78f7c6cfb4f0592dfd300839dd608150e1ad08fc7479fe6d8df4f2429ad6b7f81692d9723dde198991fc9626565cb38578";
   sha512.doc = "26c17b606f0cfb4e199755f7f16eec16cbe379a786a88bec2d77d983d17107d86bf8da23474bc3450f8467d18028f2f41a314c83565916cf3ac3e97c5c079267";
@@ -41054,6 +44599,7 @@ sfg = {
 };
 sfmath = {
   revision = 15878;
+  shortdesc = "Sans-serif mathematics";
   stripPrefix = 0;
   sha512.run = "7ba73610785c9270e8741ba0137701677575e38cac79976d89e2f5768804ff52117c5fcbaab9b260be522f174458a18d2d70d82c2da201e7fd6a91fe4bbdf6fb";
   hasRunfiles = true;
@@ -41062,6 +44608,7 @@ sfmath = {
 };
 sgame = {
   revision = 30959;
+  shortdesc = "LaTeX style for typesetting strategic games";
   stripPrefix = 0;
   sha512.run = "60e1c4d7f68bd6d39e081d49bfa1ecfa7dc56b940172719b4d6d0f2e87456c4b511ac29bb1884f7c290e7b226eb6ecae8f2ce4de3f7f5fbbd21934c440395ab7";
   sha512.doc = "29f4ee374c7b9d07274fb6f622c0769ff6977ce522ae25fa24571c0b7e60f1e120e4e26d37c6c340372fc0a2dde71a25121fa9538a35aa100e21637d5c79c874";
@@ -41071,6 +44618,7 @@ sgame = {
 };
 shade = {
   revision = 22212;
+  shortdesc = "Shade pieces of text";
   stripPrefix = 0;
   sha512.run = "968be382e1f82029e7e06f5ed34473fc20fd38dc758b97fec6dbf015ca13c3604dd6b7638dcad2f80be474ad001c47ec86e75e8d9947bde26053873376e9e068";
   sha512.doc = "0c9ec337ed4c9bba949e6b449368868856d652b2f5ac7c70dd08a9daaf8a3ed3be4008a91c003c731c97f7e4132f571c44ea9d4a4529f7b0ac9be11a673310ff";
@@ -41080,6 +44628,7 @@ shade = {
 };
 shadethm = {
   revision = 53350;
+  shortdesc = "Theorem environments that are shaded";
   stripPrefix = 0;
   sha512.run = "b9e15e017332eeadd3324afb858ab15a820e23da59f5bf7ea57dac719b9864304effd092c3cb2f25a6f29f22dd2b6f2585279edab4d77c62256582c66be550c3";
   sha512.doc = "c24f37f7f864283f9ced1da1728dd7ae137395ecda3010aeff8ad778b96723224df77755f8f71f7672f5870ad6832a22bce47bec88ae51d0992e39c0a00c8caa";
@@ -41088,6 +44637,7 @@ shadethm = {
 };
 shadow = {
   revision = 20312;
+  shortdesc = "Shadow boxes";
   stripPrefix = 0;
   sha512.run = "885bca1090b93545f59b387e952998f65dee0931fb5b680d06667c3bb8172e2aad37e840942b9495134b421bb40b871633eb5de941b3a257618751e789128ca6";
   sha512.doc = "402e64195e247cd2c5106e3bd621705b80c006b2f6cf0b1da14ea459acb7dd97e2ebeda87ec118be3e73bf76edebe3067330498a2875c52c4248add70d7a0a25";
@@ -41096,6 +44646,7 @@ shadow = {
 };
 shadowtext = {
   revision = 26522;
+  shortdesc = "Produce text with a shadow behind it";
   stripPrefix = 0;
   sha512.run = "59ab708b0f8987838cafe864cdcd68aad5aceb7cb4b3ab2b479ec4fbd15e268ba4fdd1b0143b7c247cc186a825d99ad810839221a391eafd5146f0a46865e23d";
   sha512.doc = "a89bd6ab160e364af06e26d9bbb88988c286befb5dfe4e4bdfc7c511811ef4a1ef630708d4a7ff32cb0ab6831dbee54d49a84376ee9366bd422d5689d86db404";
@@ -41105,6 +44656,7 @@ shadowtext = {
 };
 shapepar = {
   revision = 69343;
+  shortdesc = "A macro to typeset paragraphs in specific shapes";
   stripPrefix = 0;
   sha512.run = "24975c53f9b29ae8302dc4e169d7d176c4825a0033764c8a08aa610c184e79d249e849e2ac3ddbeccb3bb80a4a5e29ae1c474331de68000de1a63951079acb4d";
   sha512.doc = "69a5f9dba1683ed0302a3dc4edede537986ea473357c0c8c454c26eeceb2c51d31d87d139bc3eed39ef1862c2a6feef0e570e9fb12bf88f15ee7f34280f7daf2";
@@ -41114,6 +44666,7 @@ shapepar = {
 };
 shapes = {
   revision = 42428;
+  shortdesc = "Draw polygons, reentrant stars, and fractions in circles with MetaPost";
   stripPrefix = 0;
   sha512.run = "4e082b6b61ae9f2d02c6bdf7fe5beeb6b6384b2718c1644b945b175bc17c951ec7890fe7e81eb59faea4ae86da93eaf51467450cd61d223e734408e624bd8abb";
   sha512.doc = "2c295a28748f8df117a5abf16a758b079d7481f579e1bb571fc758bae505860e1a1b82f9615259b14359eb4ea8f43be82de6ae6d761225ea76bc0da167b6786c";
@@ -41124,6 +44677,7 @@ shapes = {
 };
 shdoc = {
   revision = 41991;
+  shortdesc = "Float environment to document the shell commands of a terminal session";
   stripPrefix = 0;
   sha512.run = "e72e5d88966ab88ce2ea331f2989a949f3da30cb1066a0501fe8770f077f8aaf15803d9337ab266374364fdb7b35507c6d3cd181e1fb472f6d39b6ef94c08c1f";
   sha512.doc = "38c3a7302edd2e38e3196b4d3935bc001f83fc71ed50ca8c3563ccf82e9e0729c65baf0b95db0ac637cd037cd572ba557586bc85230ff6014f63a8fe0602d9d1";
@@ -41134,6 +44688,7 @@ shdoc = {
 };
 shipunov = {
   revision = 52334;
+  shortdesc = "A collection of LaTeX packages and classes";
   stripPrefix = 0;
   sha512.run = "e31326135e93eaddf9f07eb0a746c83b9b6b7a7569daccc2b4ae0439664ce4a9cb2edaedc0e3ff727a4896fea43411c9cef0f3fb8455b1616de04e03b54b257a";
   sha512.doc = "3c04f8dec84f3ad87572f6c180ec783f9a879b887b4c7f860097ac03b297dd7c4a4385cb402ea0b7f09176d711050ca7813e51607cf7bba871e191ec35d9af88";
@@ -41143,6 +44698,7 @@ shipunov = {
 };
 shobhika = {
   revision = 50555;
+  shortdesc = "An OpenType Devanagari font designed for scholars";
   stripPrefix = 0;
   sha512.run = "86050c89e5939b8ffc2148f9269a48dc66f8adf396cb883a7018a1a8f123cb602f216f652f56715bebbdb7b0577a8d0cc799c847898543a4cbd22e478524b127";
   sha512.doc = "f5d9d05f54876bab260043e698fd746c95b59b04ea5b2df7244b11af30bb78e5cbb6e3511bb75d775e1bc649082575192ccbcb68fcd32b9816879b5cbf3277ba";
@@ -41152,6 +44708,7 @@ shobhika = {
 };
 short-math-guide = {
   revision = 46126;
+  shortdesc = "Guide to using amsmath and related packages to typeset mathematical notation with LaTeX";
   stripPrefix = 0;
   sha512.run = "6e2c131cb3a2ce85a6718a8dab1cc52fa5dab7a3db34575dcfb0a33e6a3f3ba6025eccb82a2e07a198243bd24c5070a931e591003a768c4a057f70659e442155";
   sha512.doc = "0feaf4b3cafbac8fc78855250dc39858b0b8326b803c851efd831f36476dac2f1ce86083c11476e36ac88b44a2a8d25094f9203c774044306536fcb2b261a184";
@@ -41160,6 +44717,7 @@ short-math-guide = {
 };
 shortmathj = {
   revision = 67201;
+  shortdesc = "Automatically shortify titles of mathematical journals";
   stripPrefix = 0;
   sha512.run = "a8ec0460d532b657c6237d5d321852b0c8ff0807d8cf73a02e0d40bc6c86b2c776dbbc5ad694d3fe022f851f049dbba6fc11d57d5d6fdb8f168a935f9f443269";
   sha512.doc = "a1fee222b86efa1cdd1d35aa2eeaf84df25db25b1a68d56863a370fef11ae62a6a21ed2ecf0f563d8c00c38759008d26e7c43988538bab6ad6b2a52c68c74c46";
@@ -41169,6 +44727,7 @@ shortmathj = {
 };
 shorttoc = {
   revision = 15878;
+  shortdesc = "Table of contents with different depths";
   stripPrefix = 0;
   sha512.run = "6e78bca7425e0b23d7520af19494d9de303b86fae7a013ef85b2d512ee86be1f478ede2293650b435ab579811e444b570995e2ae8720afc60b42c0c26d7489a6";
   sha512.doc = "03090924cdde619877b271fbd70761035b5da1f2278a3642b471a86e83559da316558a752d85716242001f40ca403a985d036750218e78d873a4920905c5a652";
@@ -41179,6 +44738,7 @@ shorttoc = {
 };
 show2e = {
   revision = 15878;
+  shortdesc = "Variants of \show for LaTeX2e";
   stripPrefix = 0;
   sha512.run = "702d0913a299b68bedec15c697868a70f058957dbd3a2dd2c503bc21c8a250dc7601e6348080bb394a38108bcd2f5ee67796a888183aa181c9f88a72e7666580";
   sha512.doc = "a427f7126ded4251c255fcaf2c381f7c00d0d0e55253804cbe631ac59be1bd51e7ba2ee51110af86bcee27d73698bb7baa323fef8e23a41000928b242b0be282";
@@ -41189,6 +44749,7 @@ show2e = {
 };
 showcharinbox = {
   revision = 29803;
+  shortdesc = "Show characters inside a box";
   stripPrefix = 0;
   sha512.run = "9cb18e80701d22e167b026767068e0fc0a7b6c4cdbc9014991f10ecd76d37614983591c931972584c50e0d6e35abee70ae3079f7dd8c855d33d1e4ea06693d25";
   sha512.doc = "47dc7121ed852931bdc5bc38b7fb4dfda6616b8b0ce649d90da71c7a4cb6084ddd69e07596dd4179b5654fa9a54fcedef6949ac4778b449ad14740058e237dad";
@@ -41199,6 +44760,7 @@ showcharinbox = {
 };
 showdim = {
   revision = 28918;
+  shortdesc = "Variants on printing dimensions";
   stripPrefix = 0;
   sha512.run = "07c409f3d30def6894a787d9c2f7366abf6ee4248386e9d5b2e4f7858d692c7cd3e72871ff02c73a39a190ac36ccbaf5fe16e8e1b7b328be80a9ba041d12feb7";
   sha512.doc = "ba76568009149bec7484b4dbe7bede8e516a2c2ad20c77c70f0357e865c66751aa4f3d8c92c59effa1ac12e03b3b8c500c65708547ddf52458b0ce90def8fc98";
@@ -41208,6 +44770,7 @@ showdim = {
 };
 showexpl = {
   revision = 57414;
+  shortdesc = "Typesetting LaTeX source code";
   stripPrefix = 0;
   sha512.run = "d42f5d3570f252295a25c130c9ec9a94abaf9f28038fca163423a0aa44afee4f354aa2dced3ccd173e698a5da6ccfaa8284096742ba04b03f5aebf8fc502426c";
   sha512.doc = "a3f12a43edc3ffa5556bec25b8527fdb039aaa704b2ea37c723cff367d453b0ac53b14c1eff41bf6d3961cf1d4f11b70349c03d253336421031ef0ba81b56561";
@@ -41218,6 +44781,7 @@ showexpl = {
 };
 showhyphenation = {
   revision = 67602;
+  shortdesc = "Marking of hyphenation points";
   stripPrefix = 0;
   sha512.run = "0a3ca7d966edf0f4221dea2c084b428c9e248b3d223b57f3f210258918593d93518a5ebdce7d9de6b88ab040c0f2b632039e23f3339a729d1fe1391f8a51d4eb";
   sha512.doc = "9d7263e5f285f5d29738c7ff578a0bf9256d67e56b882e41f0578bf9b594225a6e0711d9fd05bbc89a03cc0bb56b1ea8c3ccb1f4bc4f91ad40dbe55849b20c99";
@@ -41227,6 +44791,7 @@ showhyphenation = {
 };
 showkerning = {
   revision = 67603;
+  shortdesc = "Showing kerns in a document";
   stripPrefix = 0;
   sha512.run = "37a913fa403c9760fd150cac3fb88e349e8c1109f51768ee202194e72232d6e16d8dac529872dd1df7896a40a79ddb72d65c9191f72337c806de307808d80532";
   sha512.doc = "39f8f12a70550a5864956c6145a2a19555c18ce60084b66d2b69b6a2ab8796ef2b911be39c59e736534749b42930bd055969ced8eb5cc03f1e5f2796a0d0b3e5";
@@ -41236,6 +44801,7 @@ showkerning = {
 };
 showlabels = {
   revision = 63940;
+  shortdesc = "Show label commands in the margin";
   stripPrefix = 0;
   sha512.run = "285389ed8ef5efcfc4855e2b8003cf94275de536c8f28a237fbdf856947d55c935bfde721a00eb3e2a0187bfe552ff97671197bf1c40492a2e5e700f9536e3e8";
   sha512.doc = "0e624e36f96b8f0d06abc41c301753e3d71671daac4ab01a3914cbd45a5b07f4574011f93c5ce62129fbd77021712fb39364c240eb9b394b204597033ab13df1";
@@ -41246,6 +44812,7 @@ showlabels = {
 };
 showtags = {
   revision = 20336;
+  shortdesc = "Print the tags of bibliography entries";
   stripPrefix = 0;
   sha512.run = "b70dc03f22838dab65631d39d8690897d4a5c71b5451775e85cdc3ff600d63afc29bd28e49aa64a5a2467143f4a84d62f5a2a9af4a8365e0a867d6a46e9de93b";
   sha512.doc = "3e1efebe8edd469e66b18aea9d9a3614b753a43ac61f5a31b57fccc1b45047aaaee8f80d156932671f9ae7457fc627732f1f72c65fca42946280c1182d8960de";
@@ -41255,6 +44822,7 @@ showtags = {
 };
 shtthesis = {
   revision = 62441;
+  shortdesc = "An unofficial LaTeX thesis template for ShanghaiTech University";
   stripPrefix = 0;
   deps = [
     "alphalph"
@@ -41287,11 +44855,12 @@ shtthesis = {
   sha512.run = "da3b02cc3558a337d7d35018fad00faf6d9183f3f4bc5b5b31e168a11dcfa705a77cad6c42f3fe3d98ce67f50d94ca1f75a82999d5a27837ea8fba6c01602594";
   sha512.doc = "04f1ccf2bef9e11364d7f066ed1a7fc218e39ef7a08824eb65537d88ed03097399eb01d07ba6d0a34e7456fc6de1291ea4f1c9264074eecd2e1af341c42e9197";
   hasRunfiles = true;
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
   version = "0.3.3";
 };
 shuffle = {
   revision = 15878;
+  shortdesc = "A symbol for the shuffle product";
   stripPrefix = 0;
   sha512.run = "62b456ae961d34908fc25cc085bfa04d39e70f2641d65dc8e0eda419ec96a328798cc258162ebe065285f3ee1088e6076525ccbd8c0f7c0800024f371bdee65d";
   sha512.doc = "1b6427fa0cf98651a219f1cf6f15a400c09ea924bf0dcea7d48ce0665a5f1828ad64513f87089ea48d02d489d8020c90c661bac60c069601be437c77364813d4";
@@ -41302,6 +44871,7 @@ shuffle = {
 };
 sidecap = {
   revision = 65618;
+  shortdesc = "Typeset captions sideways";
   stripPrefix = 0;
   sha512.run = "3133ceaf7db89d57e7dbdabc016491795b2dd67ecd614fc4125f41dfd08ba0a03371c446d1fd7e22d1c491ac3ba6ced2856c6c3c9497304f4c041c21c0c7f558";
   sha512.doc = "2ecf3e41c8840ab87b49f771d590f8ba0d05d205bd435571dd71f2ad1d1aa727f7151b9bd913c4d33ec16ccb5cbf513bb170e59e600bf64b7c69a08273580eef";
@@ -41312,6 +44882,7 @@ sidecap = {
 };
 sidenotes = {
   revision = 54524;
+  shortdesc = "Typeset notes containing rich content, in the margin";
   stripPrefix = 0;
   sha512.run = "6cf38305b919deca31761f1420c18a0ffb5ba18e045515af058e9b7d73535730117f757f16a8030d97247378efa46428ed9f28757524b650a96133aae6fe4e11";
   sha512.doc = "db5f8666987eeb2c8e29426a91bc731f8c380176b3f0285c4c4ca8554b91c85af52d0ebe16d57cdb558d8c7d1e97c6f169addb12a57a107c00ff36486dd2d218";
@@ -41322,6 +44893,7 @@ sidenotes = {
 };
 sidenotesplus = {
   revision = 69176;
+  shortdesc = "Place referenced notes, alerts, figures and tables into the document margin";
   stripPrefix = 0;
   sha512.run = "d7d7be2971798a869308564095617484713471f4b1e46b5729f40871eaa3216285cb063d19a7d85a6db3f4b492c4af290c3c6d392d7a7fb78b4e7761255c0a83";
   sha512.doc = "d712e51374969ab345d8f641e4ee860bbd72e5f4aa759b0b00cb538c768f9e790265074003715252f8e6c8a6ca56a5513b0f4c2dc0c3d55214aa80a994ff5c08";
@@ -41332,6 +44904,7 @@ sidenotesplus = {
 };
 sides = {
   revision = 15878;
+  shortdesc = "A LaTeX class for typesetting stage plays";
   stripPrefix = 0;
   sha512.run = "739e26e0c0b77d75e91f2a3a18996aa55ee1163a2bee6d489db4ba3b0864b51572c55ec53441946f16cb87694425d09e613abd2223fba2941fea4be137341b10";
   sha512.doc = "653a8472a278bb1d33d9f86559398b62e32b521c6ce8dd977dbbc4f44183e37b95378ea4b29356948735c42925f9ed25153cc6a9009341ff01d80befe2bcddb3";
@@ -41340,6 +44913,7 @@ sides = {
 };
 signchart = {
   revision = 39707;
+  shortdesc = "Create beautifully typeset sign charts";
   stripPrefix = 0;
   sha512.run = "d379bb1a9fecc06f4e48419d0f4f49e50b6b276e15e64992ee7e154154eefc24e71c060066de3bf9e97da6c8e62b78208f3a01918150cd2ef51231b5abaee44e";
   sha512.doc = "7b140f890f3342ba6b2d25385dcae6925d8e445a862af703578f455b73c69cb71f4b9b5a933ac8b1a16178874f71c80d124c352b5aff4d7bf3dad6f1aa5a3874";
@@ -41350,6 +44924,7 @@ signchart = {
 };
 silence = {
   revision = 27028;
+  shortdesc = "Selective filtering of error messages and warnings";
   stripPrefix = 0;
   sha512.run = "95f4f095e0f70dcd11482be4f6d52c5ea7a06ad820c08386ad956b9bb9ad593410e59fe9bb5904c3242594d466c495e7793718d4cb707ed3edd1d17ac3c1c1a8";
   sha512.doc = "988df943eaf9337145d081de38ac22389bbffd3e94408b1cbb5de7605cccb47e2fa837813d4647c339d978b5b9b3e82e6d9859b840e89c09c95dd9572db0601b";
@@ -41360,6 +44935,7 @@ silence = {
 };
 sillypage = {
   revision = 66349;
+  shortdesc = "John Cleese's Silly Walk as page numbering style";
   stripPrefix = 0;
   sha512.run = "5ca2f89c924dadaa727aee6b6bf5b0a3c06fe1d841ec37cf1a6fbb7d3516cfe8f4e2823ad8f9acbdd85a333e3736985d139e44b907d3bcf793340d49a164405a";
   sha512.doc = "fd4ed28957de74aac2f90d2aa37e5014f423738f783f837fdea9c28db0d4b9ebc65c8017fbcb596f86610f712dcd38864356838c1e8da123c2eda1be4932b936";
@@ -41370,6 +44946,7 @@ sillypage = {
 };
 sim-os-menus = {
   revision = 68843;
+  shortdesc = "Insert 'terminal' or 'context menu' or 'viewers' like in an OS";
   stripPrefix = 0;
   sha512.run = "565fce3e9e13d14f7f52d3390e407b03ec680b21cef37e68439095d9e7cc813739853c9e3307dae040dcf60c6a6dc4934b0d8bac68b258af4c14aa22d8d9aadf";
   sha512.doc = "b2392fac63c75de85b89ca7037f495155cb749b17220cdc3fb2aca368bdbd593039425bf21a0341a4160935fba94d0a9bf5fcfa6c7d686178a715aab44a28ae5";
@@ -41379,6 +44956,7 @@ sim-os-menus = {
 };
 simple-resume-cv = {
   revision = 43057;
+  shortdesc = "Template for a simple resume or curriculum vitae (CV), in XeLaTeX";
   stripPrefix = 0;
   sha512.run = "996341ce711f6f9a68ccd7e0b315da98eed8f4737d44b8dbd9881c2a76c8ef2d04b1c956333b0e33997d57e0b62bcb2485029283bb4f4711c2f8e38c177755d7";
   sha512.doc = "a380b2a498bde69cef1ba2401e16886d35edb40e3338963bcbd6e862da3e54f547e7900a18f668515b3ff178462a4ea0d41bc228b6b6e7ea8b0693e295231e92";
@@ -41387,6 +44965,7 @@ simple-resume-cv = {
 };
 simple-thesis-dissertation = {
   revision = 43058;
+  shortdesc = "Template for a simple thesis or dissertation (Ph.D. or master's degree) or technical report, in XeLaTeX";
   stripPrefix = 0;
   sha512.run = "201826e649acbc8dde933da3d141408ef3e4f3bc5daffbd520a19885af612f17de2618fe7e8c78a419b6e5e4eeeaa36a2fcb3db6f610df2189e01e0b4a66e9e3";
   sha512.doc = "8dd82147b1096f728fd52a56c39309d0f421abdd972a1297b88b516e0a5ecf8387a3accc508047bcd3996ab81d778dbdd221934e2bb4c96e1ef2a59cd0fc6995";
@@ -41395,6 +44974,7 @@ simple-thesis-dissertation = {
 };
 simplebnf = {
   revision = 68959;
+  shortdesc = "A simple package to format Backus-Naur form (BNF)";
   stripPrefix = 0;
   sha512.run = "87c6838d1a31f3a617752f428fdca3ccb7af22daace3caff307760f24fcf3092cff324db6357174599985bfbbba6a8c0f31a498481da3a7790ac653043c0683e";
   sha512.doc = "bfb6dcf8e843a42b5e7481e3ace572f55561418886cb0ed562fadd79a72eaac6c505b9a52ba37f0e3c2bfec7723a7334e81ab2dd6dbddca47ec2339f8a9b64cc";
@@ -41404,6 +44984,7 @@ simplebnf = {
 };
 simplecd = {
   revision = 29260;
+  shortdesc = "Simple CD, DVD covers for printing";
   stripPrefix = 0;
   sha512.run = "5fe4024ce7991242fd60b8a87c88605f68ef9595895857b56981b35dabe96c97f9af684fc5ca9c3089ba96791e076512ccd549ce70071d215eaed4e731145b30";
   sha512.doc = "5cd208f8869dc989542bf028c216fbddec5bfb285ffc18c25cfea928035946e903cc2b61de630125d8e8deea772f7f20cab552505538eaa5d3aecaef8192abec";
@@ -41414,6 +44995,7 @@ simplecd = {
 };
 simplecv = {
   revision = 35537;
+  shortdesc = "A simple class for writing curricula vitae";
   stripPrefix = 0;
   sha512.run = "c67e9200925ac86386efaab35a8edbf20f0fda700c00c3b0350eadbe62f39fc02f502493a73acc768a4727ad1162561d7baf38193d57d1fefb4c8083ebe38c35";
   sha512.doc = "dbf087e0659f11b4dc0cf40a6826cc45f48b8155d9148262877a0d51f5766888780698d792f055666766f029ac6f5384b41c0fc41e1c84548582e665eccc0f20";
@@ -41424,6 +45006,7 @@ simplecv = {
 };
 simpleicons = {
   revision = 70519;
+  shortdesc = "Simple Icons for LaTeX";
   stripPrefix = 0;
   fontMaps = [
     "Map simpleicons.map"
@@ -41436,14 +45019,16 @@ simpleicons = {
 };
 simpleinvoice = {
   revision = 45673;
+  shortdesc = "Easy typesetting of invoices";
   stripPrefix = 0;
   sha512.run = "8d3d905dd9dc418503bde7cd51c90ff6fc6f688502ff871040f9eb6bf96b6c1ef999d3dd98b16c8739ce9518a22a8e99a23b5cc66c437504b3837c30ea19cca1";
   sha512.doc = "81e5ff2bf76f2b35549feb9b6336bd04b9273d4e6b951ee327101d4e5a5d3c429276735238b63c3b2ee03466b477ca2d7990a68615c1d0eee4f12a37d6b65472";
   hasRunfiles = true;
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
 };
 simplekv = {
   revision = 68439;
+  shortdesc = "A simple key/value system for TeX and LaTeX";
   stripPrefix = 0;
   sha512.run = "16b0136de5c1c97ff19beca9f9488768adae2ce7107310aead9f9da82230e9d9cbec62badeacf66175fbaa181d691558dc4203e848b979dcbc23f8cf9bb8e669";
   sha512.doc = "586321e8c1597582d3be117e74ef97bfb0be59a75aae1d5bdc87b2a481b80cac350958ca77aec34148d5e54cd22a0b0b11306f445cd5abe5f1868ecb357862a3";
@@ -41453,6 +45038,7 @@ simplekv = {
 };
 simplenodes = {
   revision = 62888;
+  shortdesc = "Simple nodes in four colors written in TikZ for LaTeX";
   stripPrefix = 0;
   sha512.run = "e92bb0c87e0c490702201fe8328f065d4307f4adfbc06a2e9dd74ee698434274ddbc065a600c5c0a36bca0c55b9cdcd7e3bd469af276585c09ba7d918b711e51";
   sha512.doc = "df7900304a63225b51ceebb02d387f172cc415c09a65209cc850485668f893e4effb3befe424164dc291e283f80054eb6ae18785024278e93739e9d98562eb21";
@@ -41461,6 +45047,7 @@ simplenodes = {
 };
 simpleoptics = {
   revision = 62977;
+  shortdesc = "Drawing lenses and mirrors for optical diagrams";
   stripPrefix = 0;
   sha512.run = "2b53c2ccab2dbece85653ac4d40802a41c7dc9aabbb16022f08e351e77e7bd464e47a54005889707de15041a5f3565f40c97355dc3953249a951dd984311121b";
   sha512.doc = "36aa19521be45853d96c9a0406afa60a934ff5a701993fb33d2c4070e3e99822097b9daf100e9364f80a0779158a81f5acd6904f5050dc190fe22eb4ed65deca";
@@ -41470,6 +45057,7 @@ simpleoptics = {
 };
 simpler-wick = {
   revision = 39074;
+  shortdesc = "Simpler Wick contractions";
   stripPrefix = 0;
   sha512.run = "2bead248c2380e19fb19012ba2cf7a41fdd113f48a372011c27ebac0820236500c5e49e5235e2c52fcc5a0f9c79f61cbf76a5d6de86322bc40382f5499216783";
   sha512.doc = "d8a45e06707d3e6c39e36d83020f0a2d4654cab508d91e47022320e67454d08958cfd6d3872c5ae40539f29b03080915e136746452afb9f2e74fe8be2ec20bc1";
@@ -41479,6 +45067,7 @@ simpler-wick = {
 };
 simples-matrices = {
   revision = 63802;
+  shortdesc = "Define matrices by given list of values";
   stripPrefix = 0;
   sha512.run = "859e5e8c221deb1a40f08a0cc2ac6949cbb055791ae5435f97675aff4bb1e97caa2fa8c49b5735d31ee7b11ae8638af839affdd795d052d022890b267131dc75";
   sha512.doc = "8350ce5c4b504f955e7e2b214dfc7938e010ae440b0e51389f2013b8c9229db362938743e8da08d7fafaf1be67d29231d7fe6f92507399b838c65ce3890ec29e";
@@ -41489,6 +45078,7 @@ simples-matrices = {
 };
 simplewick = {
   revision = 15878;
+  shortdesc = "Simple Wick contractions";
   stripPrefix = 0;
   sha512.run = "86aab23f8d19e9fa5a6251f8f725ada87b66a71a3024253d8b56f3edcc20f26695b2194b710f691ff9ed0713c993a8652447674ec84d4084c3354791244a6f10";
   sha512.doc = "bf0c3b8724ed8cc41635f45001fa04f655a7b37792c5b0e632578b066649c3bde1f894c3ab739ea2bb49f6e4f65e63fd7cd7d515ea15b53ab5894778a7918d13";
@@ -41499,6 +45089,7 @@ simplewick = {
 };
 simplified-latex = {
   revision = 20620;
+  shortdesc = "A Simplified Introduction to LaTeX";
   stripPrefix = 0;
   sha512.run = "31313aede3900675d183bfcff0045df5fa7719b982df1822823c15d645c7ef64c0b46e0f1690d98d30b2a6057e082684f23cb61a490fb2217887d0f20231ce73";
   sha512.doc = "f5bf92ed89cfc83f306cd4b2599446a11b73f73a0b82afbd0f441e26d837e6f436913bd2df18585c5e215fa0504bfee3d5d4f5ef4da8925161f85c70c14045e6";
@@ -41506,6 +45097,7 @@ simplified-latex = {
 };
 simplivre = {
   revision = 70317;
+  shortdesc = "Write your books in a simple and clear way";
   stripPrefix = 0;
   deps = [
     "minimalist"
@@ -41517,15 +45109,17 @@ simplivre = {
 };
 simurgh = {
   revision = 31719;
+  shortdesc = "Typeset Parsi in LuaLaTeX";
   stripPrefix = 0;
   sha512.run = "11b77f831aff6796e41ccf2024496ae1c9d4b9b5f4c029daf33e0eb4b4fd3d1e5c78137b945e3c9fe7a16380365fb88165a46e614dc3078657ce025a55f90d44";
   sha512.doc = "30ddd7a9bbf3f568ad4876336228842651d8f95eb5f21df81ac524b99a7a695e68e0469f79867668dc3b9913cf223b72a22f6a0d0c818233c081ba90ac67de1a";
   hasRunfiles = true;
-  license = [ "gpl2" ];
+  license = [ "gpl2Only" ];
   version = "0.01b";
 };
 sistyle = {
   revision = 59682;
+  shortdesc = "Package to typeset SI units, numbers and angles";
   stripPrefix = 0;
   sha512.run = "0423402d3fea5dbbb60abf6c763bd037982479557b84b6ff38f795168234cd3dc6eb0708fb7b5e76abb1f68560a884e7d8b4e3a256d78b23aa81dba9b6e70d4d";
   sha512.doc = "94fea0a472ccd43396921d957544ce6b0a1d6b9ca5ee63a01fb0f1fdd61e1cafeeca4c85366302117d852f20798c51b76966097bee3c2d7f6509e339720b744f";
@@ -41536,6 +45130,7 @@ sistyle = {
 };
 sitem = {
   revision = 22136;
+  shortdesc = "Save the optional argument of \item";
   stripPrefix = 0;
   sha512.run = "64a34fcf0769ed4ab4b201facc056b890a89009e1847e9ca65fb405e1c1144225e8fff59c1a906341521bba5d39e3338900a9a35aff5bb716a5aff5e6aa4d49a";
   sha512.doc = "af74d7b4f4dfce45e543494344fa32f4f4d55435034cc1b23b24b333f89d54d0b8c9d0a1247561bb7182d3841fb04b7b3531be847a6fed3db212497ef2ccec3c";
@@ -41546,6 +45141,7 @@ sitem = {
 };
 siunits = {
   revision = 59702;
+  shortdesc = "International System of Units";
   stripPrefix = 0;
   sha512.run = "01b2b83edba4482a6d0434efd4590b3b0fbbb596da6075632a215d60a16cc48d66f0f47d3ca61a0e73290e933952cac15fa2048f6ac12112dc603956f123f5b2";
   sha512.doc = "d6c34f20671b68a1ffdf47b32e037d7660b660fb8a8e3768083ee7e33b08e7c313eb5f2c585657dcfa258f85574bf6b13a86ef81e49c2ed1b407e4dfc8dc5d04";
@@ -41556,6 +45152,7 @@ siunits = {
 };
 siunitx = {
   revision = 69922;
+  shortdesc = "A comprehensive (SI) units package";
   stripPrefix = 0;
   deps = [
     "l3kernel"
@@ -41570,6 +45167,7 @@ siunitx = {
 };
 sjtutex = {
   revision = 69967;
+  shortdesc = "LaTeX classes for Shanghai Jiao Tong University";
   stripPrefix = 0;
   sha512.run = "b9c366d594492e128f183bd1805626fc9cd7a226cfb2e8839047a7299027515213b279aaa46e51d3828997685625e5111d8da71b4f80e8063887612891594cc4";
   sha512.doc = "b996ff331e0522e6b95cdc17f289f50974d62983976611b428bb49ef170e12a94784f96774e99e6488c88749fd78cf304ed7bd041970e14a65c40531b4f71f73";
@@ -41580,6 +45178,7 @@ sjtutex = {
 };
 skak = {
   revision = 61719;
+  shortdesc = "Fonts and macros for typesetting chess games";
   stripPrefix = 0;
   sha512.run = "df1a6adea32b01c8ad8ad7509c68e025ad2e1005d9aaf26cc35c67f82d21f510d1e414831f5df0a2f0703e295fb4c187d359ef7dbfe8afd76a8ce75a90f3b4bb";
   sha512.doc = "ffcb56dfae0a0ea91e716b99d1d91d4f20fedab8eb7b637f62630dbc4a8fad0562120cc02a754df475dc16c4b1a09fb2da48b8a9e22112d0c69550016026f76f";
@@ -41589,6 +45188,7 @@ skak = {
 };
 skaknew = {
   revision = 20031;
+  shortdesc = "The skak chess fonts redone in Adobe Type 1";
   stripPrefix = 0;
   fontMaps = [
     "Map SkakNew.map"
@@ -41600,6 +45200,7 @@ skaknew = {
 };
 skb = {
   revision = 22781;
+  shortdesc = "Tools for a repository of long-living documents";
   stripPrefix = 0;
   sha512.run = "5c2e0e7310898e258505cf438ad91650fbcef6b720e9d05b9ddd241ceca3eea0ccc3a71b6ac38acee58d8e205b8352ad7abbdc277596ac74f6a5cf0ca805a0d7";
   sha512.doc = "29aa9629f84a481cee1871b92b49e1a34683092759864f1e612ef4f7b3862a9ddf567b2d20fae3f99d5946de43055de2dae8ad326000e344383c854eb9ff4f20";
@@ -41610,6 +45211,7 @@ skb = {
 };
 skdoc = {
   revision = 56950;
+  shortdesc = "Documentation and extraction for packages and document classes";
   stripPrefix = 0;
   sha512.run = "d00944f58e9842c0d1841b73fb1936dc14655f07d51c60140581d597a93a0e9ce9fe65941cc343979e549620edec6a8339cca6089df068d932e1344556c3449c";
   sha512.doc = "481e590c14396f3318999524157f8e5a8dafd0b6f553414d3ee09cb0dec6d356c2b422b6598b613ec4d29b35f27a59024dc9e5bcb49ea2643205f37c616788d6";
@@ -41620,6 +45222,7 @@ skdoc = {
 };
 skeldoc = {
   revision = 57922;
+  shortdesc = "Placeholders for unfinished documents";
   stripPrefix = 0;
   sha512.run = "2bc1374e969e5b32e9a88b8240a94eac90066514c8dfcb91196a13a3774d200cb8a412fd490b581ba18e9e0047596d30296206b0607316554a361b6103ee33f3";
   sha512.doc = "13cb76835ff1eed119d8514aae495d6adaf8b4c3db17c660af29624247cba9c37d4f6991d6a99c566972e4032f14d62c21fb4f31b856c49de40d0a87def1cf95";
@@ -41629,6 +45232,7 @@ skeldoc = {
 };
 skeycommand = {
   revision = 24652;
+  shortdesc = "Create commands using parameters and keyval in parallel";
   stripPrefix = 0;
   sha512.run = "0aabcf0a47ffbdaa2f88bfb970f844df36cfa30f2e5ff02cbd9dba2179fd871c2ae1f979a99e70f3f7f2ab2589b7ecbaa6f999352559100bfaefcbe7f6ec16a8";
   sha512.doc = "26f7e544e9b1b75fe7131d409c3083c39914424c66051e46535de5415383d82e48a3e2c1d35e34e5bac624a034f2e14623c8cd5b6844707b09fd531daaf7c544";
@@ -41638,6 +45242,7 @@ skeycommand = {
 };
 skeyval = {
   revision = 30560;
+  shortdesc = "Key-value parsing combining features of xkeyval and pgfkeys";
   stripPrefix = 0;
   sha512.run = "151a705f5e62dc80e8a470a7ce39cf197933452a35b296e70790d7ec0f6667f24acbc0c643db6c402ca1e9b9735f34be388efca5a5e5951725e8f00bb8d2833f";
   sha512.doc = "97bf20706cd14e0b479221c6ed96e56754aca13d7b72f1d7bedec6117d159caca2a4e9a931d3d8311f593a538985d8e4e5bb9d5a76a653d72aa8d094a66e9e92";
@@ -41647,6 +45252,7 @@ skeyval = {
 };
 skills = {
   revision = 56734;
+  shortdesc = "Create proficiency tests";
   stripPrefix = 0;
   sha512.run = "0719d385343a79a261409a07d659c0fba4f861e69b082278b1442a12408bc3601de789575fdf566ce280a2699dc10b28aada80d490396498fa9a6bbc8d064eb9";
   sha512.doc = "9b2339a50fbc759d9e5bc907a4d8dca2f06293d5a5f38602213a859dfc34da1715105b2b5a46e82a23f71b741e4db713b0044f345767a1f87c32526b57fb0103";
@@ -41656,6 +45262,7 @@ skills = {
 };
 skmath = {
   revision = 52411;
+  shortdesc = "Extensions to the maths command repertoir";
   stripPrefix = 0;
   sha512.run = "6cbc67d9a6fb9cb6a3d8da38ff83bbb6dbd28c5e3e81a07a1b7292472d9064f321206ebd4ac1917d80f138f9b9cf91c008b8e3eac27ef0a77ff2073cab08eab1";
   sha512.doc = "ce579b82a84f81169bf1a6cc37fff0c2e7c4e1570d0cbe2eb143dc8ac6dc082fa3cdaecae5a31791aa590c89fb74a58a4451811ec66d38eaa146520ff16e7471";
@@ -41666,6 +45273,7 @@ skmath = {
 };
 skrapport = {
   revision = 52412;
+  shortdesc = "'Simple' class for reports, etc.";
   stripPrefix = 0;
   sha512.run = "60ee0f76dbf9e1539c08a97cf25cf14d2fbf02527facc3764c57cf0812a67d740d5c3148a4a7e76a6880717166c935b34bcf38de0b4f7d02df9c1ab50046a2ed";
   sha512.doc = "986bb0ce679b69bd9a0958b6d4d1a3fac49ac6a5e31bafa5d556ac28c2bc3d0d8c892e998791e74172ec86c5899acba2cbd193dfc685e7dcb0b5d47b4c2e3576";
@@ -41676,6 +45284,7 @@ skrapport = {
 };
 skull = {
   revision = 51907;
+  shortdesc = "A font to draw a skull";
   stripPrefix = 0;
   sha512.run = "261ba31f30fa26e25f82dfe60ff7600c71db51f1dee68a5c094fa8a746995ee9031e41c0f24a4e83aec52c603cbea71a0773cae63481f167b81abdfb0ac3f782";
   sha512.source = "3967550eb9af93aaa3fb9c623437e2c6ceb90f52f20533832aae3be91c719a774e3fe6a51f4d1543d6547479a2efa6c1965f0870174cfcd5c93cef0c20aecddc";
@@ -41685,6 +45294,7 @@ skull = {
 };
 slantsc = {
   revision = 25007;
+  shortdesc = "Access different-shaped small-caps fonts";
   stripPrefix = 0;
   sha512.run = "45d92cb8f2a5aeaecc9945ce2778f2fa330b703ea0efb2deb4407ac17d30ad3a3e1ae7966474af28a7816dee18254422fe7c72c50f11f47cd52a54522f05fec3";
   sha512.doc = "8f856a45e3088d2047157bc87d60a16b6c6e481334f4ee81a23e4cb8ecf53d1113849877ffb24ee4516dfba228c10c9974b0b0a148020d64e3069ed7a2d12750";
@@ -41695,6 +45305,7 @@ slantsc = {
 };
 slideshow = {
   revision = 15878;
+  shortdesc = "Generate slideshow with MetaPost";
   stripPrefix = 0;
   sha512.run = "f7bd44c9720512297f15ff6cee1c49ca52c29fc206f739e6aa447e778fed00a64e282aeab9d42b215cac69a64ab39f3919433bd0640d30d55ac540e2dde07967";
   sha512.doc = "d271c1f9e7b9c45694463982da8c9542fea326d7e191a705e92f5b423e054c3f926768d2209844ddabbe75eb610d4a5cb05ffd53098cdca9e35328c865027eff";
@@ -41704,6 +45315,7 @@ slideshow = {
 };
 smalltableof = {
   revision = 20333;
+  shortdesc = "Create listoffigures etc. in a single chapter";
   stripPrefix = 0;
   sha512.run = "50a4878bddc55e1b05ede3e770aad31f6c56b81f9e6d0a536ece25729e3c5a9a1720068534f26a9c224c101f0e0d833478f1a5c3b12759d7c3ffce027bbd5edd";
   sha512.doc = "ca62aa29f6ad62f149dd9c5077ee2b14ed69d8a750f33d3de274ae275e5d1528482e58140a78b0917cf02a879206194e24a6beecd33060544abb50dd6fc564a6";
@@ -41712,6 +45324,7 @@ smalltableof = {
 };
 smart-eqn = {
   revision = 61719;
+  shortdesc = "Automatic math symbol styling for LaTeX documents";
   stripPrefix = 0;
   sha512.run = "03f69303ec66b59a7425e06a4e8941a5c93414514b5f80cbc138a75a5619791dfa3ff2f1435ddbfbe7fe5af298a1af5325f279f36d924e97a5074ef930b42997";
   sha512.doc = "85eb6e8ccbea66cb6e30f862491adc02316af9071753459eb56e8f19011e9ab7865f87868ed348e5b0f6192b2305dffe5272d885486b881e2d286ceb211c77dd";
@@ -41722,6 +45335,7 @@ smart-eqn = {
 };
 smartdiagram = {
   revision = 42781;
+  shortdesc = "Generate diagrams from lists";
   stripPrefix = 0;
   sha512.run = "322589506d1cdaa30dd9f97b419347fba0d617a3ad35fd15fe91611b10382c595598ce1111a287f5b1aef617595cba77b53490da7744b23942f072f522a68ef1";
   sha512.doc = "1cc7abaed3dcdb11fca675bea8e458f1879bda4ac72278566a9247ec2cb0016f10467e3120e9ef688c5674af05559bff39862d4b3292596f0dafd5e13672a14f";
@@ -41732,6 +45346,7 @@ smartdiagram = {
 };
 smartref = {
   revision = 20311;
+  shortdesc = "Extend LaTeX's \ref capability";
   stripPrefix = 0;
   sha512.run = "149dd95ca0677a4e273df64a589d1424b8dd89983adf3a3ef81f8236d1b594d35b851b4255fd9f0d05b4feb82db59d816408e3ca59f2b86b73a5724a8e937367";
   sha512.doc = "07eaecd9e924e5912e8e3a3ba6479412282e1408cbb59699b9e83006768c4042b173d38da2e8dd2c707b392cb48d99e4be25985023db4de80d69450fe95a338b";
@@ -41741,6 +45356,7 @@ smartref = {
 };
 smartunits = {
   revision = 39592;
+  shortdesc = "Converting between common metric and Imperial units";
   stripPrefix = 0;
   sha512.run = "d4c23a39d79cb5c0ba700da40b916ac6072e612d0e5b8ea1c189100cfe56fe77c9d1ff742d92fc44450255048d96f2e1dc2b5f0e098e56aad5efcdd423fec608";
   sha512.doc = "e85b83a090b3e352a0faa61ee0f3dfc84d3f2fad8f1ef503aef7bf571e706575b19c1da394b09e69968b10fff2542b5b749a895eb17e84ce1293273532d2e241";
@@ -41750,6 +45366,7 @@ smartunits = {
 };
 smflatex = {
   revision = 58910;
+  shortdesc = "Classes for Societe mathematique de France publications";
   stripPrefix = 0;
   sha512.run = "3723047537c97c42f23eaf15dd95941092300a86a5072cf261c2d9a4fdc09d17e3c09cefc6a1f632996b45300cfc5e3266dba4130decf4f6d33063b0b7f45d0f";
   sha512.doc = "a0ead1f76c26126c3cf00bd735ae8002648ac874511de92a73b756197328af3d81d66697c0fb3d210047570dd267b5c975b26a7c6e42b0fa61b9b77a29bbf113";
@@ -41760,6 +45377,7 @@ smflatex = {
 };
 snapshot = {
   revision = 56735;
+  shortdesc = "List the external dependencies of a LaTeX document";
   stripPrefix = 0;
   sha512.run = "2b9bba924070f81319758c4b8a8e85533ff5099e901598248d5a645aba249e7158587e7d90072d3e8fa4d544d09f800b94aa415117683a8bb8c6d7ff642c313d";
   sha512.doc = "b1dda7b3fa9195e5d0e425a4b7facc75f8737446b65b29cd5f3c954dad348055c8544968b3c68f9b2256e8d827ae73b54b765d23b958abc383bef072d9eacfe7";
@@ -41770,6 +45388,7 @@ snapshot = {
 };
 snaptodo = {
   revision = 61155;
+  shortdesc = "A todo that snaps to the closer side";
   stripPrefix = 0;
   sha512.run = "10d9e3d154a3713c1f494ae626c61a1275b902892ad7cb34f41c65a36335a7ea21bc9d7d77d00845c2e5f270edc91d1be5bfdfa34189a2ac6bd88ab83e78212b";
   sha512.doc = "ed3df0276b44e2539b9b8cd0b5f6b46f86b18723d0913ed29fba45e30a132b53f8e0206add2d31bc152c78f319b8f7671ea000a1f344dc7f7d80ad9de32cd66b";
@@ -41778,6 +45397,7 @@ snaptodo = {
 };
 snotez = {
   revision = 61992;
+  shortdesc = "Typeset notes, in the margin";
   stripPrefix = 0;
   sha512.run = "8e827171eb8ae6281d0be97bddd251db57349f935ac6309eace72396be37c33e8bd79d792701f56a5e338eccfae452411de520bdab5f5747e6fb741e5215c1bd";
   sha512.doc = "230cd4f3f8922fe520c7b476f8f7b31e3965029e72e58828107e5f7c761b87a64f5c5df9faadb610277d45ff95052878c070e690932759850da34fd82fb028d0";
@@ -41787,6 +45407,7 @@ snotez = {
 };
 songbook = {
   revision = 18136;
+  shortdesc = "Package for typesetting song lyrics and chord books";
   stripPrefix = 0;
   sha512.run = "06f81b35318ee9844565f622b5ecfb0f323373f14acfed3fdd042a244537c313fcc974c8cc556011baed16c5a7f90b8163342d36e360749db240e6eb639351b0";
   sha512.doc = "a8d98e2d3b90ebfc4e8df53ebaf92f2d0deb95034bf234dfeaef1d38213af9a36e38d48599e6e78a7e87fb966de87db821f4de7a6fd50f57c1afb515050bb510";
@@ -41797,6 +45418,7 @@ songbook = {
 };
 songproj = {
   revision = 66704;
+  shortdesc = "Generate Beamer slideshows with song lyrics";
   stripPrefix = 0;
   sha512.run = "7c6341931e78dd362cd67062518f7f6d1725c239f20f65a7e345fed03787381af08b18102f671be4913ed53aeeb669f3744330d2eb2681878939a813ade2f1ad";
   sha512.doc = "1d219f70c51484b321b6c3b8fb63a81aaa311cecf5abdba6b5cc2662d528ce5fe78a400d81dd3dbfa0e3616a65bf124e3eb78ae94e57e1a87dbce83ba32b3b64";
@@ -41807,16 +45429,18 @@ songproj = {
 };
 songs = {
   revision = 51494;
+  shortdesc = "Produce song books for church or fellowship";
   stripPrefix = 0;
   sha512.run = "dd1309fda1a7bff1236707cb45047dd5adc582d3e3f509f211af7a30c0469cde704773af48fed379a29307201d9781150487821219f76d45d556f1d27e420c08";
   sha512.doc = "72c374aab68334b050a5d801299179c8484b6fa46db8c8e20b9fceef3cb9a8c0c1dc51de93f34115d4e34767233179c5872054cd03ea3e622abb63a49ad81f24";
   sha512.source = "016d389033589ab9334180edf70321858ba3b6000d8f560a18631e13ef28130f4b39aed81f7ddf0a178540a463789955d14620b37b7979ac0ea6abeec77d29bd";
   hasRunfiles = true;
-  license = [ "gpl2" ];
+  license = [ "gpl2Only" ];
   version = "3.1";
 };
 sort-by-letters = {
   revision = 27128;
+  shortdesc = "Bibliography styles for alphabetic sorting";
   stripPrefix = 0;
   sha512.run = "41e7db4a4c5242493aeb099ca103f4540e038b1e91ec0296629f4dab1ad013f98b26b664c7d661dd2f53c1e5c749509763c46f51bb823225a104c125a9f75f4d";
   sha512.doc = "e2b6c68a42b9364d44dfa06ea93d8c8ea2444d97a3cf3c111065b720d3706b36315a7c8650877f1d6a2a72c1aa42268af4f17fc4632032e1e3c0a2d0fa08e577";
@@ -41825,6 +45449,7 @@ sort-by-letters = {
 };
 soton = {
   revision = 16215;
+  shortdesc = "University of Southampton-compliant slides";
   stripPrefix = 0;
   sha512.run = "59e9e0bd127e44e1a80ff7dccf1fecb18b34a54c379a46632b13f82d80648229daa54c4655575c52ee718b02277c4e2b264451f8d3fe58abd60e593d0826c97b";
   sha512.doc = "de9b03e8626535d2633af3884e373d8b25fe6d203af75382cf329aeb7b79c745f94c6d08d49a69b42172f4bad3cab2048fadcc4ad826a1c1126425a40289ecdc";
@@ -41834,6 +45459,7 @@ soton = {
 };
 soul = {
   revision = 67365;
+  shortdesc = "Hyphenation for letterspacing, underlining, and more";
   stripPrefix = 0;
   sha512.run = "233f1178521296d5cccc7db50c98425995b8708c97d750a5c24f698bd0de2e54ed5c57f9641f402bb8a42721e348355e6f7e9092b4056999b032d001c8203aba";
   sha512.doc = "c734b198050f5fda61e0477e7cadbb6f6f9257a0fa41babed664621d7b64c4971412d831b350879a5405976d4e35a11caa0519fb67f308bcd622f0c72f431b4e";
@@ -41844,6 +45470,7 @@ soul = {
 };
 soulpos = {
   revision = 60772;
+  shortdesc = "A fancy means of underlining";
   stripPrefix = 0;
   deps = [
     "oberdiek"
@@ -41857,6 +45484,7 @@ soulpos = {
 };
 soup = {
   revision = 50815;
+  shortdesc = "Generate alphabet soup puzzles";
   stripPrefix = 0;
   sha512.run = "478c8cba8623b184db1c9237b7a805219bf1ffb7ef45280fecf7cd75a1720ca0ea2e1e1ad73465ee20dbc2bbaf14667d4707524edbc073dd4fbd0537dbeca8c2";
   sha512.doc = "318cb98167123bf8d9a5f80db8e31a31f6f61536e938da3b68efc0dfec6722bc898d8295d32896c24d2842b262f22f70e08014c07755b6728dbb2040f64aef5e";
@@ -41867,6 +45495,7 @@ soup = {
 };
 sourcecodepro = {
   revision = 54512;
+  shortdesc = "Use SourceCodePro with TeX(-alike) systems";
   stripPrefix = 0;
   fontMaps = [
     "Map SourceCodePro.map"
@@ -41879,6 +45508,7 @@ sourcecodepro = {
 };
 sourcesanspro = {
   revision = 54892;
+  shortdesc = "Use SourceSansPro with TeX(-alike) systems";
   stripPrefix = 0;
   fontMaps = [
     "Map SourceSansPro.map"
@@ -41891,6 +45521,7 @@ sourcesanspro = {
 };
 sourceserifpro = {
   revision = 54512;
+  shortdesc = "Use SourceSerifPro with TeX(-alike) systems";
   stripPrefix = 0;
   fontMaps = [
     "Map SourceSerifPro.map"
@@ -41903,6 +45534,7 @@ sourceserifpro = {
 };
 spacekern = {
   revision = 67604;
+  shortdesc = "Kerning between words and against space";
   stripPrefix = 0;
   sha512.run = "005bf533b88e602779cb71c0ab7720492e5302f6c9321ef8d68cbcba8f4f9a0c7839c5408ff6c2a5f72c18c5bb5c8a7d41a5500aeecd29ba898c209c83dea6ea";
   sha512.doc = "8c24513b5f81d1f2df44a707a5e2ee6baf66af594507a545ff0c5e0fb90412b6c03831d73cb473dd32168a6f55f110fa699f941da0626aa0b3ce35bbbf1d9e26";
@@ -41912,6 +45544,7 @@ spacekern = {
 };
 spacingtricks = {
   revision = 69048;
+  shortdesc = "Addressing various spacing issues";
   stripPrefix = 0;
   sha512.run = "df9b7518565ee8f619aaedc82384497dfbad69911c66dd68f306010cee603ab307c3af89cc3f9901585de03e1796da3d8b96380e454ab0d3d24171187e39872a";
   sha512.doc = "76ebfa44b0f992db86452e5ca6bff7b4b5285e743de595f6963afca7eb0e80f287a1eb71b2f287edd33acbc7a9f24fe1876ac6f62d2812da2f1fd89c9650f814";
@@ -41922,6 +45555,7 @@ spacingtricks = {
 };
 spalign = {
   revision = 42225;
+  shortdesc = "Typeset matrices and arrays with spaces and semicolons as delimiters";
   stripPrefix = 0;
   sha512.run = "6e00399e0940778a6ed8326abce14f15836bcb69f8e7c67d06cdf8567330ce0482a213c7b65c2662e0fddc47ce7b684a640e133017eca314b59eefc278eb6425";
   sha512.doc = "534f2c39076a6ff243a8e4cffe353a569b493b90fc1bdcc3db43229dda3955f013de15ce1db7beb38bc9b8d972c7430a24d64c263041c82e84c799f446faab0a";
@@ -41931,6 +45565,7 @@ spalign = {
 };
 spark-otf = {
   revision = 62481;
+  shortdesc = "Support OpenType Spark fonts";
   stripPrefix = 0;
   sha512.run = "787774aebfb3834f1477a8afc61d2f81c32fca5f69e5828b403b58a60c2047a5afb79d50f33be0376cee57fd30ee1c3af2a6428c08abc9a058e6a3b04b8fee0b";
   sha512.doc = "69fa7131b247a93b26fb98a8a4fc69b11fc8f9f05905948f530d78abebea76852baf4535768ea925839b0e3332fe9ac61e94ef7b10762afd61024bfa934f243d";
@@ -41940,6 +45575,7 @@ spark-otf = {
 };
 sparklines = {
   revision = 42821;
+  shortdesc = "Drawing sparklines: intense, simple, wordlike graphics";
   stripPrefix = 0;
   sha512.run = "5dc74f46a819a6539034d570d4bc11403cb9f4617e2e6e373cced6cf335630e4e5a3d919041ac67a8b114b2d53c56871239b67a6acd6bc47f8c6130171d84824";
   sha512.doc = "4db42aec14145d4b73fce7940563f6771c3d994955006cceac7c93c9d5d5e2200fddf6d83d15e4dde0385f982c0ee85fc844914d80aa249c3ac2e86a49369b38";
@@ -41949,6 +45585,7 @@ sparklines = {
 };
 spath3 = {
   revision = 64818;
+  shortdesc = "Manipulate \"soft paths\" in PGF";
   stripPrefix = 0;
   sha512.run = "c066ebfc25685d450caeddced161ad5b4170453307cfd21fc2c85c113bab3271b001514481827149757e536863fc2bf9814e03720d9a934c4df02321d6c5bbd5";
   sha512.doc = "ce6fde7f6fe42711a2c685582dda0bb9a4715b12a43483a76824361561cf1f20b40bc85a3c2facc90783cbc46b632848a9701d28381f0eba343463ac03ac443d";
@@ -41959,6 +45596,7 @@ spath3 = {
 };
 spbmark = {
   revision = 69927;
+  shortdesc = "Customize superscripts and subscripts";
   stripPrefix = 0;
   sha512.run = "5734970852cffeddd5e926e407b15bb1058d010098a19ff0f96f5b292ad9b87a81e608400779c9b827e78db768a24f719f382e159ae1a472ebf1e7b7a2644aa0";
   sha512.doc = "17281bda5938984885102aad59bc815c0488277bd5e4b0dfa7f0c48f7ecc613b7b6716dddebecc97586e18059ec06ca95f6757ef3a355252f5d2b8cfd7b62f18";
@@ -41968,6 +45606,7 @@ spbmark = {
 };
 spectral = {
   revision = 64528;
+  shortdesc = "Spectral fonts with LaTeX support";
   stripPrefix = 0;
   fontMaps = [
     "Map spectral.map"
@@ -41979,6 +45618,7 @@ spectral = {
 };
 spectralsequences = {
   revision = 65667;
+  shortdesc = "Print spectral sequence diagrams using PGF/TikZ";
   stripPrefix = 0;
   sha512.run = "797f7ded1824a025337a12b47a8b85d16d69b8e0f7999015c0b8618ce639f97a5883f1a694a22b56de4a237901e1a43b7cb0f387bb02f567301e59203b16d31b";
   sha512.doc = "4c876bfdbdb40b6d1b58d1640aa39f02a29097f0ddc1015bbd6b415d0d7aa88c90c0d45edc444c69baeeb68741320745157466bff3242daa48526a1ebe21eaf1";
@@ -41988,6 +45628,7 @@ spectralsequences = {
 };
 spelling = {
   revision = 30715;
+  shortdesc = "Support for spell-checking of LuaTeX documents";
   stripPrefix = 0;
   sha512.run = "ec32c627f52e1cc08f893aff21d43519ac30169772e82793525cfd61c302883c9c0c8444f2d51cd03a94f55e1ad589afac1a404a47b87ebbe7855acde887e511";
   sha512.doc = "a51b8fb45701d318dd9b9736830b83ac34c84b781d61a3a247263167d527aad7cdb6e1917ce260d09e0304fba38bb2e2a25288f75aa2335bef479918036e1221";
@@ -41997,6 +45638,7 @@ spelling = {
 };
 sphack = {
   revision = 20842;
+  shortdesc = "Patch LaTeX kernel spacing macros";
   stripPrefix = 0;
   sha512.run = "b2cd588384770e0d95bf6e5c6b67df0ba8160e0a01e3f64932d67debcf9fa836212aafc78c79b8d28aae8124a25aff73f4846db514dbfc0a65a519eba75fc52a";
   sha512.doc = "6b490ee2e736a6bf1ddf32d5db605ab5fe77f079d585c2e377bda73a688a7de575b99d56c6626d9888c395f6a4d181cd0b42e77dd5673c8456bb0e029510b8d9";
@@ -42005,6 +45647,7 @@ sphack = {
 };
 sphdthesis = {
   revision = 34374;
+  shortdesc = "LaTeX template for writing PhD Thesis";
   stripPrefix = 0;
   sha512.run = "44c467fc1de689bc198acfa224aa1109c47bcdfce8b161673752f73d59877465b0c4b87f1fcd4a8f589a78fb05ef5efd42edaff2fbfe7910a1ab7b409d9a7e5f";
   sha512.doc = "cfcd8c02c68a990cda426d737914d195c78d98e0b8c9765128aa8319d47d27163e7d072ea50d312a394b85e8ac1e580dcbd204fcf6b670b4dc519d1f09ce8d72";
@@ -42014,6 +45657,7 @@ sphdthesis = {
 };
 spie = {
   revision = 15878;
+  shortdesc = "Support for formatting SPIE Proceedings manuscripts";
   stripPrefix = 0;
   sha512.run = "282ee645ea5022fc0e325bf211b358236f07c6509883a254fa4e1ca0728fd73a4be8889e4919eb5e0ea9c203300359808b4d141d71d0c158a71a3d10d982264f";
   sha512.doc = "1242f49f1499b798977eace516487543c23dca36471b1e49a2b1377a84083f40a3d5a2e316624f8ac458b61c2cfa406fc3580209c9629739dabaa2fa35e6b806";
@@ -42023,6 +45667,7 @@ spie = {
 };
 spix = {
   revision = 65050;
+  shortdesc = "Yet another TeX compilation tool: simple, human readable, no option, no magic";
   sha512.run = "e0447cedced73a9544b837c555f3d42995b5fa5e23ba737b6794e11e7fa391969c2156ae89d6e7e18140dae0e0c9b0f2d5d6036c4fda3d236790abb21fc8d9ed";
   sha512.doc = "b783636e01e976f3a0020d6e5b8c87918277fb0caae09057e68b2e216e504618f0b784b1214fdf99fde79cae5a6169c585bacf093de149a99534ef7069e6cb2a";
   hasManpages = true;
@@ -42038,6 +45683,7 @@ spix.binfiles = [
 ];
 splines = {
   revision = 15878;
+  shortdesc = "MetaPost macros for drawing cubic spline interpolants";
   stripPrefix = 0;
   sha512.run = "f040046978cf51bbaf3347406e224fe60a85f449c1fac1703e7a2d936140b099c14ffd488ebe4c3d932b35a8380f943250734a054ea5165ed26b2be712ad577c";
   sha512.doc = "08532f43fb7aac979e78d30f27f36047d7b70733ef6bdd65d26a40e6818f2b73852d4a6ac5eeae8cd29fc86e1630d2ba068b9707666f66a13e2090a6da81ac25";
@@ -42048,6 +45694,7 @@ splines = {
 };
 splitbib = {
   revision = 15878;
+  shortdesc = "Split and reorder your bibliography";
   stripPrefix = 0;
   sha512.run = "2936732fdcebff683e240e139ba6e1e4268dc72e427bd30af0590cc3dd7dcc8dd49eaf6f007e549efc5c429fbcea2b37f9e68040d1ffb023162c571341abdb40";
   sha512.doc = "df266ae77aaccf91b08931c57b01a9eefffe6a469c4cc549ce41640dc9c9041676539e1302aecfed88d19baef277f507ede8ba6f794dae6ea4745b1338459d14";
@@ -42058,6 +45705,7 @@ splitbib = {
 };
 splitindex = {
   revision = 39766;
+  shortdesc = "Unlimited number of indexes";
   sha512.run = "858033eadfa82b4e40a388356f64002370a5f4fc2c95565eae90c68373f708a3c9827fc4e0ba8094659382aba4e5925cba86632733b15d85ea6a82f73ace8737";
   sha512.doc = "c8dd92e955fcccf71b412d9750fff7b6f214e929ddf194a6496a79a146f4837af3d773ed3f2303546727cc4a8fb9d5366dd75b64d3877e6121ce20315f71997a";
   hasManpages = true;
@@ -42074,6 +45722,7 @@ splitindex.binfiles = [
 ];
 spot = {
   revision = 22408;
+  shortdesc = "Spotlight highlighting for Beamer";
   stripPrefix = 0;
   sha512.run = "95a7bf0a9e04e7157fe27499a7a2d2bf3e8d86f284e9c2d150c40b5efc1786d4820af20ccde7f5b649a775d7a13d25a78347138a200335fc0b9e4165dd3e1f0e";
   sha512.doc = "26ee8b13622a46078e8199c818dc353801af36afdbf67707a6942202fa458e7cbe9a000a4ea022d0dc4ec6ddb3a63c6adadf240cf207778765e47b2db636ea5b";
@@ -42084,6 +45733,7 @@ spot = {
 };
 spotcolor = {
   revision = 15878;
+  shortdesc = "Spot colours for pdfLaTeX";
   stripPrefix = 0;
   sha512.run = "6748982e7007323414dd8ca5f1ede105bb2bfd0b0f8d2f83c8731926628c094c8c08f0cf4ddadbaa209e182f8af83ed6fb761142ecbb97371752473b33c44ffa";
   sha512.doc = "4055f42161bd45dee74974358eabda875e9a3d62690fec0486748cd7fe974af133c24e56bcfd240c6928334fd9c7e1e6a6935c45b974760b41f7ce080d44f568";
@@ -42093,6 +45743,7 @@ spotcolor = {
 };
 spreadtab = {
   revision = 68256;
+  shortdesc = "Spreadsheet features for LaTeX tabular environments";
   stripPrefix = 0;
   sha512.run = "f808d82cde55b9b8fbe0cafe9f2e67acb19547e85f8d48965ecc6c8ea70302b9ebcf4097330707780fddaf1d9b2a2a12512fe4026a0d660c5a376fbcffdb6f19";
   sha512.doc = "a2b57066ab198d88be6736572276593cb2b31a9c6392f74c68358d39a8c88077266b2138730225b6ef54245a6f084aa73dad5bbd31a77fdd8b60f53f7342e25f";
@@ -42102,6 +45753,7 @@ spreadtab = {
 };
 spverbatim = {
   revision = 15878;
+  shortdesc = "Allow line breaks within \verb and verbatim output";
   stripPrefix = 0;
   sha512.run = "0b26e941f77264ae2db7cdcf2c4459c26601f6079e0bad24a3ea0edbd22157c324bbf50426a794655dc1aee710092cd9b662bb401838186e42657fcef5c1121f";
   sha512.doc = "245825f18ae835b984eb6474b927a579f80b6c6feefbfe02a53f8b7ea5a48023e1bdb43b39f090afe4ae42937d053cbebfec6ff97d7732d754287401a95fc641";
@@ -42112,6 +45764,7 @@ spverbatim = {
 };
 sr-vorl = {
   revision = 59333;
+  shortdesc = "Class for Springer books";
   stripPrefix = 0;
   sha512.run = "8a9b0833bc518b12019d2d474a70760e3b44766751485215c746b8a7c3b9ee1f9e92a5cee09c5f961fe97387855627c6a385b7484564556e0901c08c922410dd";
   sha512.doc = "774c91361a95510a356fb7fbb70f753954d30d1ac309c1cf09727a2c9ea647b65f046d3eded8e631b512190f5705eab020abe8b7923ee9d6230c6c9fd782dea5";
@@ -42122,6 +45775,7 @@ sr-vorl = {
 };
 srbook-mem = {
   revision = 45818;
+  shortdesc = "Support for use of memoir in Serbian";
   stripPrefix = 0;
   sha512.run = "5cae41da74957078b2b0ed38c9fa4186006f24abca804b879641b4bff5324950b1a59296c5733fcadd2ef05661ff1dba8cd7d9a2c5f9e2a5c6bc1e6d993ff218";
   sha512.doc = "5e06fb85b3398cc65372fc0c82eaae3d807c6c908eedbfa8f4ea593ea6213790c3fe9c5142990a9b7d4c267ed01cd61aef4fb950a0c2b51424b0ef5e1f2aa520";
@@ -42130,6 +45784,7 @@ srbook-mem = {
 };
 srbtiks = {
   revision = 63308;
+  shortdesc = "Font STIX2 for Serbian and Macedonian";
   stripPrefix = 0;
   fontMaps = [
     "Map srbtiks.map"
@@ -42142,6 +45797,7 @@ srbtiks = {
 };
 srcltx = {
   revision = 15878;
+  shortdesc = "Jump between DVI and TeX files";
   stripPrefix = 0;
   sha512.run = "2edad3f8b56fafc034d94a3e3240190a8f4f1a1054c9b81d6dd9fa5426abaec0b29118f7bbec909ffc3534693b8941fd4e44b6670d7dbcb852fa3a056ba63fad";
   sha512.doc = "1f8428bccf142790a3221d470fb66dcfba40552da0d8aeb9cab62732c5a5ee0af3a565774e29822ebcf0c1e4d7a2bfffc61a0944b762ffbb7ff4e8901a61ab48";
@@ -42152,11 +45808,12 @@ srcltx = {
 };
 srcredact = {
   revision = 38710;
+  shortdesc = "A tool for redacting sources";
   sha512.run = "9e11ed88fbbfc0130f43fdecd8fb0b3eecbdf50eb33bdca57bd34c860cdfe84dcd560371efba4cb261e65aaf4577306f478d1c43ed89152e7e21fd627eb7328d";
   sha512.doc = "dba9916acf75e800af1e581b4276e82bfe4c421a500a400773354766b37849568c1f19752a75983374ca41f793903f9776423888215f00376db1e0f5f3b3dbbc";
   hasManpages = true;
   hasRunfiles = true;
-  license = [ "gpl2" ];
+  license = [ "gpl2Only" ];
   version = "1.0";
 };
 srcredact.binfiles = [
@@ -42164,6 +45821,7 @@ srcredact.binfiles = [
 ];
 srdp-mathematik = {
   revision = 69288;
+  shortdesc = "Typeset Austrian SRDP in mathematics";
   stripPrefix = 0;
   sha512.run = "168efb5c07ead0dc00c318928d717b2840e162517486ce1351412d7cf5f5cb8807d8016799510c6db48210fe517485fc344eec8f3edafa587cc55d1e6e60a005";
   sha512.doc = "318b530ec453df35135ea57a514574f71c83fca3f63c85e36405ed20f84a2438951325d9a30bb9c5abf2dbfcb5b2829811720b7031a68b2ecf9d19170e4ec235";
@@ -42173,6 +45831,7 @@ srdp-mathematik = {
 };
 sseq = {
   revision = 31585;
+  shortdesc = "Typesetting spectral sequence charts";
   stripPrefix = 0;
   sha512.run = "25d3d2af859d8ce83f7449470be02bc4bc77b8ac49c4e10f49fdca51b0a85488f01cbf5f826b07fba12806c932125a35197be2c7bcc330f9b6f51a331fbc77c6";
   sha512.doc = "3b5516fa412aa19fe8f3d23706b3046b6af698e8307db32cb895fb13eb876032c5c3fc908a69f0e18efc2ac5802a95957246d58248dd05e1fe25409d46a8bd20";
@@ -42183,6 +45842,7 @@ sseq = {
 };
 sslides = {
   revision = 32293;
+  shortdesc = "Slides with headers and footers";
   stripPrefix = 0;
   sha512.run = "5809b9968b16d35d5f76f185687c683512883942f8ff3537a7dafef3a76e5fb017a4bed36dfd102fb5edb93648148861c78f6f7e93aaea8c5cbc8113c05278a7";
   sha512.doc = "4a0fde19b43390f80d6d671933ba51b0be854d774d6f35f3e8fb33653ef7784df85871dc4fdec03f2c734e819af6c1098e8be152e0bd42740ec2f4ae53c38f4a";
@@ -42191,6 +45851,7 @@ sslides = {
 };
 stack = {
   revision = 15878;
+  shortdesc = "Tools to define and use stacks";
   stripPrefix = 0;
   sha512.run = "897ca71e1a8531485d9807743e4549a994f5e6e22dbb9a958466d4bfc7fb1b4579af0d7ef701146b8142c394fcbfca70bfdf28779530e487a0ec868c77985c23";
   sha512.source = "d10c0b9555df5643d266cfcbc51970cb7d606c80053225e4c3891b49f59fd9831c89f8be97d41e3e70b8855defb2af709190631e71a470a061959486162d5ed1";
@@ -42200,6 +45861,7 @@ stack = {
 };
 stackengine = {
   revision = 60019;
+  shortdesc = "Highly customised stacking of objects, insets, baseline changes, etc";
   stripPrefix = 0;
   deps = [
     "listofitems"
@@ -42212,6 +45874,7 @@ stackengine = {
 };
 stage = {
   revision = 62929;
+  shortdesc = "A LaTeX class for stage plays";
   stripPrefix = 0;
   sha512.run = "8472bc96265ea7fd3be748f147238b6852079ba002f9c7548f5a5e8cb0f34a8155a799635ee5e31b22bb30554795a6fd08e62312b25ce83e727e10f6ccd13f37";
   sha512.doc = "82df4a8fa154a09cd8231c21f3a450a089796306e8275b17291bfc903ef00b316a1ae0a4175637294ecbed0dd6eeffa7baf134d60352284aa07e0a1a0224c205";
@@ -42222,6 +45885,7 @@ stage = {
 };
 standalone = {
   revision = 64677;
+  shortdesc = "Compile TeX pictures stand-alone or as part of a document";
   stripPrefix = 0;
   deps = [
     "adjustbox"
@@ -42239,6 +45903,7 @@ standalone = {
 };
 stanli = {
   revision = 54512;
+  shortdesc = "TikZ Library for Structural Analysis";
   stripPrefix = 0;
   sha512.run = "2273ba6dc99762490a0cd7af09edd5c4a511ace7317e62874535946bafa69c14f02663afa21fbc54753d1b5d3884858ae93e4790de7dfe4a829e4cc4ecf4e004";
   sha512.doc = "e4405c8903478ad2b8a5c524666e2fd4aa99dc34dae2d15ace5de7ca4713a6964467f18d4ae2b73c02316bc7d0e51f12e82312544e2e44d50eb3e4ca51671ebc";
@@ -42248,6 +45913,7 @@ stanli = {
 };
 starfont = {
   revision = 19982;
+  shortdesc = "The StarFont Sans astrological font";
   stripPrefix = 0;
   fontMaps = [
     "Map starfont.map"
@@ -42260,6 +45926,7 @@ starfont = {
 };
 starray = {
   revision = 70604;
+  shortdesc = "A structured array (of properties) based on expl3";
   stripPrefix = 0;
   sha512.run = "69d5bbdd999a47e4dd15d01b9b34bbf4bcede27dd60e19c7c10b4d85257ca38448b924e900c109d2d40e5ddc1b7a0e1b9abf76248a60d08c44805c1d1ac7d814";
   sha512.doc = "1fe545c98ee814c1f6955a1b75ffdab665cb18b071bc1c833c9a595983c15eaa211b990666768ce0e4eabb336ec11876ebc72141e3cf9aca2dd9d6686d5476ba";
@@ -42269,6 +45936,7 @@ starray = {
 };
 startex = {
   revision = 69742;
+  shortdesc = "An XML-inspired format for student use";
   stripPrefix = 0;
   sha512.run = "65d5b1c2f5b49f3ceba1fab6021ea4445aec25f302145586331468d727a9cfd992e444b0e53f3aae132308492f15d8f76c5c18cdcb405d9d06dcef6a443a4e23";
   sha512.doc = "a4693b80da94c5644e85c43b93a73ca385097fd2b395856d497e5a138b54063d98d59a8957937d2e2e6ef8948f59d0b1cf74defe50de0b7c5c0fe3c1da83c9a6";
@@ -42279,6 +45947,7 @@ startex = {
 };
 statex = {
   revision = 20306;
+  shortdesc = "Statistics style";
   stripPrefix = 0;
   sha512.run = "66fb0e346ddd4902ac98a90fb7d0b0193d8c8166aa30774dca1f5b6007a3e19c3b98e25bbc88abc379e199720b6c9a2c73caabbc515db2a54b2a8b437c5b270a";
   sha512.doc = "9851bb7e2e9af03affa1f4b5750817543be9e985e02d06ca4908ee1ebcf0eea2b8d75a25cefdde3492efc52d86be5bde6fc2f6a99f935c183cf3fc9041ee0e25";
@@ -42288,6 +45957,7 @@ statex = {
 };
 statex2 = {
   revision = 23961;
+  shortdesc = "Statistics style";
   stripPrefix = 0;
   sha512.run = "dc823a25cdc70bac79c69e721feba69883a99e9e0a5b211398ff0682af4fe4bb1c4a7feeaecfc7c12d2df876b8aab6be0cb8868df8b8eaaa10850042615226a7";
   sha512.doc = "6f0b45577bd4383359dbeb592c3f9e3c1a66d1b2540cf6027ffaa20f8f644316cf2feb0e585f42801b43b529632efdea52fc2c83f2a6d9347cd443da27259646";
@@ -42297,6 +45967,7 @@ statex2 = {
 };
 statistics = {
   revision = 67201;
+  shortdesc = "Compute and typeset statistics tables and graphics";
   stripPrefix = 0;
   sha512.run = "dc3e9516f7bec533adae533d73583871101f26a42a96e6e0afc99f57b2d11797c1850113630b128ead90997fcbacca1bdfc17ed70d4854756cb3a14fa4133d99";
   sha512.doc = "239231ce3eb6e75450e4eabd722a6fe2149e7825236c2d028a0923ad53ac4bfc2296a5d4d8f80b70bc24276f77f9b6b79f2e33debc03106b5915cacceb4d7040";
@@ -42307,6 +45978,7 @@ statistics = {
 };
 statistik = {
   revision = 20334;
+  shortdesc = "Store statistics of a document";
   stripPrefix = 0;
   sha512.run = "2d2455227b5db15235763c4fa677b549380d66f2485d1d53c2c607f96bb4b4a176ae9868419351f691f3efc3117e6e54be3317040f2a6f8d1d105cb86709f86a";
   sha512.doc = "88b28820b5d2a4a304c26658e27da7d673bf430a6be3ddf46f5eb3103abb7e8d20b03e30b65b88583960f9cf3dbebb9088330621b99e1eb9f2f28c0684638240";
@@ -42317,6 +45989,7 @@ statistik = {
 };
 statmath = {
   revision = 46925;
+  shortdesc = "A LaTeX package for simple use of statistical notation";
   stripPrefix = 0;
   sha512.run = "128532a808c4f8cae9ad03d19d9f70673427f9335d298d4840776ecf59a78b0051de64093f00510ef34c61d3e2ab900d4494f800eff8183a4c8451bf90a1424f";
   sha512.doc = "14754afa159041c359c85d31d8cf3483789b02a7057f59f6772455ff7dfbaaf81e793db3bbdb8d1a67e25de7a00f32c22089e2cc908cb1c2e0abf6a17eceb7fc";
@@ -42327,6 +46000,7 @@ statmath = {
 };
 staves = {
   revision = 15878;
+  shortdesc = "Typeset Icelandic staves and runic letters";
   stripPrefix = 0;
   fontMaps = [
     "Map icelandic.map"
@@ -42339,6 +46013,7 @@ staves = {
 };
 stdclsdv = {
   revision = 15878;
+  shortdesc = "Provide sectioning information for package writers";
   stripPrefix = 0;
   sha512.run = "88d8abc04d10f029a9ce0fe9025497afe3eba3dcc300631fd37baa8174bdec8dff44fbde07599ac8dd6635be27294c359c77178690a4e6c97f41d15f9d2abbd4";
   sha512.doc = "8321d823ffa159071f66d87d38fa38ba3af03f6c69999a041d765f0fda8549547da4b8eae86efce82109679284dd912f2c5494b5ef6e76c73c467cf4eb87aa2b";
@@ -42349,6 +46024,7 @@ stdclsdv = {
 };
 stdpage = {
   revision = 15878;
+  shortdesc = "Standard pages with n lines of at most m characters each";
   stripPrefix = 0;
   sha512.run = "a3835f211b744dd88e0238a01f0a5f960305f7eb92bbd9e3437474971173e66c84cbee1d5ab3f1aa1097a262a258b79085fd0d86884bcf3acc4017e7885968cc";
   sha512.doc = "77510670a49db00b185e6b502d07bd85f9ca18bedeed86277c7d51abb582f40c793c665f2ab87435e90380f7f6f740b64c937d2171531a419ccc59bed197b90f";
@@ -42359,6 +46035,7 @@ stdpage = {
 };
 stealcaps = {
   revision = 64967;
+  shortdesc = "\"Steal\" small capitals";
   stripPrefix = 0;
   sha512.run = "483580c347831e7623c75dd087fd6ce57f3af84d0bc28afb5a95f5193ac4e4594f8d9b6a45b8b62e988519208510e0acc7e32f720df3e1f90065e90d06b33900";
   sha512.doc = "3fea8ed1b6a50a2f5a95da2d9d65e26688886b55bad60e71404af7fb8d83664383e3e0b19cf3e52433ddad75da57a99abd16b6b40a89d620464b5cc4a64347fa";
@@ -42369,6 +46046,7 @@ stealcaps = {
 };
 steinmetz = {
   revision = 15878;
+  shortdesc = "Print Steinmetz notation";
   stripPrefix = 0;
   sha512.run = "8ff095645447f9349d2b35ab5ccde72109eddcd85ad3c9de262833320ffcbe94c2fb08df5323c69fc64cdf173ee7193ce2ce887f1c033997455a33f290cf1884";
   sha512.doc = "e409db74c366c5f49011a6e21355150e3e97d16c1e3a7fcbf06cc8aa0db2c01288dfc60b3c79e539936077e452c40dd601490be8976c57d01f9a5a88a3798093";
@@ -42379,6 +46057,7 @@ steinmetz = {
 };
 stellenbosch = {
   revision = 68039;
+  shortdesc = "Stellenbosch thesis bundle (legacy version)";
   stripPrefix = 0;
   sha512.run = "8e368dbba7713051fd9a834223848a2dbce700d9ea8cfa2ccd04a3f2e88cb15d5ab1d881d4107dedc72bfe4e6876e5b7bfbd019cbf5d9d7fa152f4e6343b5aba";
   sha512.doc = "0996a6932b4a6953cac70299ee655349f6b7723b416e3fef10934de92844de2dc4da42dc5d3c3a3939edb0cca087c2fd28b0d222641197593e9697891891da20";
@@ -42389,6 +46068,7 @@ stellenbosch = {
 };
 stellenbosch-2 = {
   revision = 68183;
+  shortdesc = "Stellenbosch University thesis bundle";
   stripPrefix = 0;
   sha512.run = "ff82ad0faba3b5742d1f31d22820cb4998e88630067dbfbdaa7bc01fe4927fc0d8f10afa1713551759048a9166bc6d86cf52561f72bb743197b7e5fbf911cecf";
   sha512.doc = "9314fac0288fcd9e0e6040b3fe3276d52848693d33dba16af0b2e6f4bb79a2ea3258dd29e5b62bd90b25d8a02e9cf160833750b0aa99b8d09acefb6c8727bad6";
@@ -42399,6 +46079,7 @@ stellenbosch-2 = {
 };
 step = {
   revision = 57307;
+  shortdesc = "A free Times-like font";
   stripPrefix = 0;
   fontMaps = [
     "Map STEP.map"
@@ -42411,6 +46092,7 @@ step = {
 };
 stepgreek = {
   revision = 57074;
+  shortdesc = "A free Times/Elsevier-style Greek font";
   stripPrefix = 0;
   fontMaps = [
     "Map STEPGreekTest.map"
@@ -42423,6 +46105,7 @@ stepgreek = {
 };
 stex = {
   revision = 68569;
+  shortdesc = "An infrastructure for semantic preloading of LaTeX documents";
   stripPrefix = 0;
   sha512.run = "dd17faf11269dc6dc5e6068bb956a36b2af86775e296b15110d0c9b6e1e8b8410b936deb690c7a89d604c012b5643849e8abd317ca67cd872469f863511deeb4";
   sha512.doc = "0a8571fab8eaefb365c52cdcca251f2582d4581f6243e678db90c2c05789cf55ae077ba3216a9318a1bacc172b259ec444b35d8de1622435d4a02b5611d141c9";
@@ -42433,6 +46116,7 @@ stex = {
 };
 stickstoo = {
   revision = 60793;
+  shortdesc = "A reworking of STIX2";
   stripPrefix = 0;
   fontMaps = [
     "Map SticksTooText.map"
@@ -42445,6 +46129,7 @@ stickstoo = {
 };
 stix = {
   revision = 54512;
+  shortdesc = "OpenType Unicode maths fonts";
   stripPrefix = 0;
   fontMaps = [
     "Map stix.map"
@@ -42458,6 +46143,7 @@ stix = {
 };
 stix2-otf = {
   revision = 58735;
+  shortdesc = "OpenType Unicode text and maths fonts";
   stripPrefix = 0;
   sha512.run = "b966a7d18a471f13b5eb85115566ef4aa7c894b142561a46144e5cda6a0198dfcd83b776d19d605cffe482d07a4ac9d80acde7879892381e1a266e7af4f9f72e";
   sha512.doc = "15e370d490eb01022877ce01cb8e9954af89553bd0cb2b404820c8744271d13ea32c75d2971abed4cc64a692184fb0fe369bc97bf870524599b2011fec3bfec2";
@@ -42467,6 +46153,7 @@ stix2-otf = {
 };
 stix2-type1 = {
   revision = 57448;
+  shortdesc = "Type1 versions of the STIX Two OpenType fonts";
   stripPrefix = 0;
   fontMaps = [
     "Map stix2.map"
@@ -42480,6 +46167,7 @@ stix2-type1 = {
 };
 stmaryrd = {
   revision = 22027;
+  shortdesc = "St Mary Road symbols for theoretical computer science";
   stripPrefix = 0;
   fontMaps = [
     "MixedMap stmaryrd.map"
@@ -42492,6 +46180,7 @@ stmaryrd = {
 };
 storebox = {
   revision = 64967;
+  shortdesc = "Storing information for reuse";
   stripPrefix = 0;
   sha512.run = "8f414a7bef1e3b2be8c526e67dcec5a5878430891323ad5c4820e0b304fde35e9eb8ca69e2d1c6dca623387220114f7371ff54d2ba4297b8e7d923354d6e5ea5";
   sha512.doc = "09b0b2914d8cd87b6cf070d012a5e9581a399cdee4cf73e38b5f53dae613b3957a8fb8e0a2df6ec2953038ca984e3800b7ebe839ca01af556c655ec5e27f3065";
@@ -42502,6 +46191,7 @@ storebox = {
 };
 storecmd = {
   revision = 24431;
+  shortdesc = "Store the name of a defined command in a container";
   stripPrefix = 0;
   sha512.run = "1987e3cffafe007d9f3cb9e0d53fcc648eca40140f5188dcb0202a0916296651c1ab02fc589339fc51999b56bfa4a06b29701aa598ec03f51d7b1ee66ecfde7f";
   sha512.doc = "feacd83403672380cc2cfe90ada2704f98bef63e905740f8f8d50767f86ddf95478efc38fb38fccadad172f27db56045f50a6af4a487f0c5cd2b6ebb5e7666f7";
@@ -42511,6 +46201,7 @@ storecmd = {
 };
 strands = {
   revision = 59906;
+  shortdesc = "Draw objects constructed from strands";
   stripPrefix = 0;
   sha512.run = "bc902fcd06413468d2dd3f23aa774824602a910749bc2b2cc8d4c24decc184a088190422c0f2ea58995fe627f855f6fa6e0b5ad0490b1084fdd122abebb77cef";
   sha512.doc = "95cbfbe360a515fa94d0222eaaffc2cb5920a8a2f5b0ca0a052f29f7237b58214c8f39288d08db88e97ba0694f3ac6793c7c8c90d47295841e009db46b037b91";
@@ -42521,6 +46212,7 @@ strands = {
 };
 stricttex = {
   revision = 56320;
+  shortdesc = "Strictly balanced brackets and numbers in command names";
   stripPrefix = 0;
   sha512.run = "5e823dde4f0b902f59327be2f41dabbe19f569d5d05941deda33b44664b736c9ec687e98a04635c6f2af2a0f894ad162bcc4b866e52b88e5db55228d4a35538a";
   sha512.doc = "9853efc6722d028c1ccbd90bdba2b4045c45b384e7fef1949ab51b7d2e6d29f1ea2c55c3a4a580a42faae9e03d38de258528af3e37c78f61ef8704798be5ccb4";
@@ -42530,6 +46222,7 @@ stricttex = {
 };
 string-diagrams = {
   revision = 67363;
+  shortdesc = "Create string diagrams with LaTeX and TikZ";
   stripPrefix = 0;
   sha512.run = "9f05bf09bb74ab07ecf1a4e6aa1bb16db06961b1caf87c73f48fe33e8174081c38eab30b0249e219a936499a533d441b092e642c88a996193900fb0000708c35";
   sha512.doc = "3c692dbd5835abd3bb87cdc8b3abbfdcc63d233cd3275d92d5073772979349c759c391f254bab3f670d65ebb55b50b4d7024b748b538349428033971beb09bbc";
@@ -42540,6 +46233,7 @@ string-diagrams = {
 };
 stringenc = {
   revision = 52982;
+  shortdesc = "Converting a string between different encodings";
   stripPrefix = 0;
   sha512.run = "a776ddb2378bea0880d7c17e1a87db5f66645c5856243e49de1c56bc427213098afbca34773a44ad955a0014b969c59454d3a0c0ec371d213481668f5f784ca4";
   sha512.doc = "a4f182559d37e45ca8b6c50656d2d520e3f0bf1ab63dc6477cd6e3abe6cbb5c4b89d779c380997b167019aae6fb12ae68d5fe37ea0c08945e3383f5d9905bf31";
@@ -42550,6 +46244,7 @@ stringenc = {
 };
 stringstrings = {
   revision = 57097;
+  shortdesc = "String manipulation for cosmetic and programming application";
   stripPrefix = 0;
   sha512.run = "fbc29bbf65e7d4a1fd367b03490f73bf44349427f6c1a7e826135ee9092c9b592a4cf23454919e0bcc74dc59d3a6ad072dea16096e4850780ff295dc3caacc48";
   sha512.doc = "1779de4af914b69ab258bc1f69a807c12f750e5919936c78ace4496f86200bfc4c3146dffbb27ac5977c2e8d41ec8d0139cf2a2560ba7c627dacd70b34cc69ea";
@@ -42560,6 +46255,7 @@ stringstrings = {
 };
 structmech = {
   revision = 66724;
+  shortdesc = "A TikZ command set for structural mechanics drawings";
   stripPrefix = 0;
   sha512.run = "a92eadf53e3bad0a1e54246b75b10c99d84dc509ea31cc9fb30ed5541e3d757afcb60aab7fbb7515be335a2caa2f29d7fc211b561f073e25a8a1cdbcf90d2d5f";
   sha512.doc = "e3ee8640eb6650f1cd18bc111d0e4f9b6e3a8cc8ac480bc05ae8251b0e620223aedbf59a54e16953edfd4faad8b05c78a51d5756f7b8660c612b5eaa32defeca";
@@ -42569,6 +46265,7 @@ structmech = {
 };
 struktex = {
   revision = 47931;
+  shortdesc = "Draw Nassi-Shneiderman charts";
   stripPrefix = 0;
   sha512.run = "3d81817eac5cc8b8bd468537406db6a26fecdaad1db269c2ceed582cae84fc2b549eaf527d4c356be7d4f2f16f9db4746251e9b69db0f0fc3cc8acd9f39d1f50";
   sha512.doc = "261a9f7ef5036bc8eebb87ba503b604b158647e82e88844758be506ac5d389103661f681689a836c0048529446bad0d6537a6fc6ba273dd2ed29abee40336360";
@@ -42579,6 +46276,7 @@ struktex = {
 };
 sttools = {
   revision = 60736;
+  shortdesc = "Various macros";
   stripPrefix = 0;
   sha512.run = "4e52219c4d3d668dd52d9a1e8e0de4f547871efb9f5515851b44e1c968cd564080c87c631d8cb53c76cdcfb8df884af0e9ea1492228929098a390b6184f5ed37";
   sha512.doc = "c07922c52f57ffeeb57a9bf3b444e251f01f859f2218933889112b86d9dadc5791d7d926091eb3a2753a6ebebe439bc7037ef857b6d19a1e6e7b516fe879f4d4";
@@ -42589,6 +46287,7 @@ sttools = {
 };
 stubs = {
   revision = 69128;
+  shortdesc = "Create tear-off stubs at the bottom of a page";
   stripPrefix = 0;
   sha512.run = "fb8276d461883c289329a74f1ba3bba5e64acaf199f7739b013f32a4fd84ab5e2d94d73482a3b70c64e156ff9332b3c81bcfa74854edcf6cc3fd6ac89df595ac";
   sha512.doc = "b2822ecb49ccd9c707cf731490c628a75b278848dcec31283c782ba72a12da8e8b7282ddabe38939e5b0c01afdd222be6991618d4cf1b73a2e06b875fab4f82d";
@@ -42598,6 +46297,7 @@ stubs = {
 };
 studenthandouts = {
   revision = 43516;
+  shortdesc = "Management and styling of student handout projects";
   stripPrefix = 0;
   sha512.run = "2a7d8cab28b58a26633fec5845498a2987763f61b896fb747d97521b569786f114d80979956a9b9c2b94b61f01677101248a1a4c1735415703398b57306b6c15";
   sha512.doc = "10e3ff558cd5c544d82a61bc67be8b7ed0c9ec9b01550bd3d1c9d3265d1de7153832983593c0be6f5a990d33063b065b397e4ab6b7ed12b0ea79e9e49e0a68f6";
@@ -42607,11 +46307,12 @@ studenthandouts = {
 };
 sty2dtx = {
   revision = 64967;
+  shortdesc = "Create a .dtx file from a .sty file";
   sha512.run = "f95ad4f6260657ce329c10ae1306e5ec50965c2766c3c28f5a6dd77f4884637c36ecfae28b7853dfaf4e2e5bc256713abe4c8b3525e194fed1eccdd1ea24e1ac";
   sha512.doc = "1bc66506350b07341c8c4b858c6b1c637d9f0bf48323714ee7dedd701faf20e3cadb318f56bfb1a05f4fcaf84cdd6e9db18299801a69e0359937d7852ac6a824";
   hasManpages = true;
   hasRunfiles = true;
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
   version = "2.4";
 };
 sty2dtx.binfiles = [
@@ -42619,6 +46320,7 @@ sty2dtx.binfiles = [
 ];
 styledcmd = {
   revision = 70496;
+  shortdesc = "Handling multiple versions of user-defined macros";
   stripPrefix = 0;
   sha512.run = "59af3b3ab6b045533167dfbecc3a0a124fb3f8098112ab9b80cf49a3c5c20323122a488019ec3079dc596029a38e45ba679c2448611a8f90108f8b2b59f5568f";
   sha512.doc = "0c096994a7027873f97ac1bc5f9ff1439b32cdc9b6255e4ab9fb955b8c4e60406b152a56c3a6dabc0f5bc41b26fb60ee0ba94e4d9c0202d93d5bd8f0e422ac7a";
@@ -42629,6 +46331,7 @@ styledcmd = {
 };
 suanpan = {
   revision = 15878;
+  shortdesc = "MetaPost macros for drawing Chinese and Japanese abaci";
   stripPrefix = 0;
   sha512.run = "a9fd27694ea7491321580ee325f8b151bbcfcf6da14ecce85b6d4e68b09cdf125c810a5170aacc966835fad8f2aaefd78916920cc3e896cad7738d026450ed83";
   sha512.doc = "667d3c5590468170acfded106a2a468d9abe7b4b34a9b56d153d401a60e8f24bce99a4f6c5f2761572a42b85c7faae5741ee5b6f22c3f1004e6d6685463b9350";
@@ -42637,6 +46340,7 @@ suanpan = {
 };
 subdepth = {
   revision = 15878;
+  shortdesc = "Unify maths subscript height";
   stripPrefix = 0;
   sha512.run = "7328742873abc42d2b9916161ca43e339e03ac1fd34479e93d9eccc98a065e95cffbc920395dd6f90d90989d29840cbdf2ca87dd1d0b293dfae66abbdc6e2d3a";
   sha512.doc = "6bda8b822a4f1ac2a181ce34f739449bfb976a4450a54589e0cb4a64a0f1ff358a469fc88a37639104f731671ec474088968ab3dc95552a2d92a073d91857668";
@@ -42647,6 +46351,7 @@ subdepth = {
 };
 subdocs = {
   revision = 51480;
+  shortdesc = "Multifile documents";
   stripPrefix = 0;
   sha512.run = "a38c6e9bad66582914ad4acdae213e37c2bd5658d5e16482a1700f5869762b489f85b61fdb70c04578319f2772c974267b7c9a4e302c34df87f3a01128caf949";
   sha512.doc = "46bde174536e96bb78ba40990ae3b4b8cc1fe2ef26803b193afe2fccfc05bdb6644a548a712522596786847a8fe6071a52599a17ea52134bbed2e5495bbc401e";
@@ -42656,6 +46361,7 @@ subdocs = {
 };
 subeqn = {
   revision = 15878;
+  shortdesc = "Package for subequation numbering";
   stripPrefix = 0;
   sha512.run = "7d04ceeb8f75cae074f9bff3e8d0aac4b529d199343c59fae7715d1023aebc3cbf2b45614e0d5ef0a95ff9bca4ff9e8318c4ddd86ceaec42d271f8c0f71282cb";
   sha512.doc = "09f902bf3b4c8e2e1f9d805102c170b2bf2f4de067cdd590b22fde6b58f4e3042d0b14d362e0af587f9fff9e2c8789bb8af4b329bbfd721ca7dce8af01612c50";
@@ -42666,6 +46372,7 @@ subeqn = {
 };
 subeqnarray = {
   revision = 15878;
+  shortdesc = "Equation array with sub numbering";
   stripPrefix = 0;
   sha512.run = "846d822661b903328ee7b199df6bd7fe5b606c13a185cbb6e6fcccf3b009f2b94396bfc3f9e4b8eb5052688536867dee06c6b9571e051d477415e1ac999fc162";
   sha512.doc = "9f47b8fb760b51a87ce5f9728e9ff76dbbc10ae009e04c9bc0c91133941e5b528e09e5034156b1dc5ff9a0c74446b548bb69c389486e68a4b8a79a7c9ed1a7f7";
@@ -42676,6 +46383,7 @@ subeqnarray = {
 };
 subfig = {
   revision = 15878;
+  shortdesc = "Figures broken into subfigures";
   stripPrefix = 0;
   sha512.run = "ec7ae149b99fecae3b4ee7cf600811dcec9bc44eac762b5480c6df48b725db3c08a87922edb7a524d7d2b748bf7d25482e155fd40080cea9ac62f2575bf61d15";
   sha512.doc = "8cb67139bc1063fc4d5482b51f1c3ad690c85d4f7e022a99059a7b20176bbdc97a44af23756fa220b3f7f7afdf039c4a7b672700012e96b98ee25ebb9e5c99b5";
@@ -42686,6 +46394,7 @@ subfig = {
 };
 subfigmat = {
   revision = 20308;
+  shortdesc = "Automates layout when using the subfigure package";
   stripPrefix = 0;
   sha512.run = "d607d2e79b3b0d6e99c8577daa577aa25a0a7d9aecc00c8b7026ef3a923b0e2815837d257599dcfdb1e5320305f492bf17845f5c6cd487b476e789c5140e01c3";
   sha512.doc = "6cfbc274a466796ed0478e9c43cf68d51bbf5379691ea6848968c48cabcfd54525075727463905e48b64946df9822cd10903c562a2f7d546b3d2cd2e9ef11db4";
@@ -42695,6 +46404,7 @@ subfigmat = {
 };
 subfigure = {
   revision = 15878;
+  shortdesc = "Deprecated: Figures divided into subfigures";
   stripPrefix = 0;
   sha512.run = "d4ca2ef4c52c84ddda85ee95328c9d3e97ef601db4f08ea508bc53393e3b2722224273ac63f749d6a922c7b42787e932d7f60ed3ceb03667fcf8fc591d4ac97f";
   sha512.doc = "46c2950db73fb557e81887f605b866827b6ae7e027a684f0d24cb3f9d5962a3d83aad97b84e61617381af8d0949057df17ef45d629e992e51c80bce3474cc742";
@@ -42705,6 +46415,7 @@ subfigure = {
 };
 subfiles = {
   revision = 56977;
+  shortdesc = "Individual typesetting of subfiles of a \"main\" document";
   stripPrefix = 0;
   deps = [
     "import"
@@ -42718,6 +46429,7 @@ subfiles = {
 };
 subfloat = {
   revision = 29349;
+  shortdesc = "Sub-numbering for figures and tables";
   stripPrefix = 0;
   sha512.run = "d5bd48fe7634ef6deec540595fd23aea21d95d7c68d053bc65eeebc950e35064add73e5b81e92d3a3d4a4dc938448d9c9a27bd0f1a625e4a9f425d4e2d55f237";
   sha512.doc = "400b9b272e51cd9fa7370f1cf7cb354dc1235fc41d57fb07061dd08b44e06cfc17d38c1be3fd5bafb5ed6bd0404660c46c9bbbfd2fb852297f283be85424c088";
@@ -42728,6 +46440,7 @@ subfloat = {
 };
 substances = {
   revision = 40989;
+  shortdesc = "A database of chemicals";
   stripPrefix = 0;
   sha512.run = "c7e3d72a506242b79e99c531bc550c81081d59c5a850af52ca3b86054a5eae42f9f1ac5c7808f54c404bee829f4cafaa1807c46ac7b994cd0f88ade1aec94c5a";
   sha512.doc = "b2900ddbd6f8618522db171c5fb8b35ce5e5ab6b51fde609a18e6b5656437709772dba683767ad23ce955463a869c483e5e3fe81e1f9b5f7523f4f0cdb87a4d9";
@@ -42737,6 +46450,7 @@ substances = {
 };
 substr = {
   revision = 16117;
+  shortdesc = "Deal with substrings in strings";
   stripPrefix = 0;
   sha512.run = "979aaff088f7bd521e2af3f008fd6fb9dc908ec7c9f3963ab7b6338ece92b2a7eebbf9b4974ab87f73cc71ecf7ba92c25d22be8d1fdd297d066da72f61ad1d4f";
   sha512.doc = "97adaaa986a8540364cd6901448eb47bfbe9d53842f412100696621c55d2209807d0d527c8126d9df7b5b38b0ba2f0598e79a467934d9069fe96a2d9125b701f";
@@ -42746,6 +46460,7 @@ substr = {
 };
 subsupscripts = {
   revision = 16080;
+  shortdesc = "A range of sub- and superscript commands";
   stripPrefix = 0;
   sha512.run = "a1578fb66e6068955c4aa69b8ccb951e79fe55616ceaac8d5f01b62d8c6e862d816e0e1ff6c387bad8b8416a3993699872b0ee3df4f432a733ded0eaa60424fe";
   sha512.doc = "b1424b69633b1c09fde52a38c2e50b6c744671292875688b295586bfcd340283c03a122c83298e8be9bf714201db35f0000c41720a6db49cc09591ae69a3d176";
@@ -42755,15 +46470,17 @@ subsupscripts = {
 };
 subtext = {
   revision = 51273;
+  shortdesc = "Easy text-style subscripts in math mode";
   stripPrefix = 0;
   sha512.run = "0ab32328d346bddddd37094ec086727222bd386bd24c1aa164aaa0cba85d60cf6be2aa26d64bd0bcf63f49b0188e79a7212e8b98d2d7400f828ccf10f60272f3";
   sha512.doc = "cd3fdf312f2bd7d30c3aee67309220e8e75d20ea69ffcb17106812f0423791dbeb26a8ddd3621cd48e6b3cab5c910083f49aa18b439d9f8114c08002cdf8826b";
   hasRunfiles = true;
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
   version = "1.1";
 };
 sudoku = {
   revision = 67189;
+  shortdesc = "Create sudoku grids";
   stripPrefix = 0;
   sha512.run = "0cd82916142b881bc4ea7fb9885de56d3ee724fee637eab5f1bc6bdc6891360680132cb2c3d52028cc0ea9670efdaa4666d59a853ac3f850f2642954962de22a";
   sha512.doc = "6b44d22aa120727f8a7a55adac7bf71eb1eb57ea1f33d597f06923bbb50d88c088d431f463951c3db27c2c1d68024b44992e47c83eddce98ffbda054cf98a4e1";
@@ -42774,6 +46491,7 @@ sudoku = {
 };
 sudokubundle = {
   revision = 15878;
+  shortdesc = "A set of sudoku-related packages";
   stripPrefix = 0;
   sha512.run = "da5c7954dda7fb8076d9b2fbd8a379e416a162ce0039a0566799bba0ddea975f3b951b7615cf50819440b46c419277a080b6e1c3c514e73483b4f81420a4b6d4";
   sha512.doc = "6878ae9a2734e5efb51f04fe24cc30546a2c812ccfd5ae62cbbbc94496a081b03f7d2bfcfa6c7edd610cd6eccd741c3dcc3441a6d437eea5f310865dd13d30f9";
@@ -42784,6 +46502,7 @@ sudokubundle = {
 };
 suftesi = {
   revision = 68204;
+  shortdesc = "A document class for typesetting theses, books and articles";
   stripPrefix = 0;
   sha512.run = "627d002ed932ed3f55382b50e4f19c2e98284602bf3095f352f1ad3120f2586b7ebf12653279a98c794e34b97829bf30bea4fbcd06c4657c94cec96be233b3b7";
   sha512.doc = "af2b5317858ab9d19723c668fc6af548fb4bac805cca26e7dac31872e54c35c768c228763681db34722f2a1c4222e2f1fa45e5263b183ddd51e848e643b7f47b";
@@ -42794,6 +46513,7 @@ suftesi = {
 };
 sugconf = {
   revision = 58752;
+  shortdesc = "SAS(R) user group conference proceedings document class";
   stripPrefix = 0;
   sha512.run = "db7082941e64a24fd7b04fd48dae2b78d67314f7483256278a8d8eceb5aeea77e24bea7e7ebb9e3742fed7cbb4add6a5d97281819ccf307b102b8265d00723f6";
   sha512.doc = "4a64c9ff5c9350b80601052093baf0d9ebddf24de17c9ded5cffb299b94cb6b4e6f0beb03c058b8a7a4c4f7cfea118cf8e95b797881ad9f77e879b228ecc2165";
@@ -42802,6 +46522,7 @@ sugconf = {
 };
 superiors = {
   revision = 69387;
+  shortdesc = "Attach superior figures to a font family";
   stripPrefix = 0;
   sha512.run = "50c352d7ee3b267ff3c25f93d5ad9d32a80f0f09cb8e802f6426e9d415ebfd8a54d3d07425c2908c75f328309e4d21173feb768c63e931658d151274ef6f953e";
   sha512.doc = "da35e722be66689020ec2052f4e096502ad63121fcb3a55ffdb724d1b557122a401e7bfa8c4c0ea2c6881b0138bd155b1e5baa7886c2e0c7d1b693e56c9e7dc6";
@@ -42811,6 +46532,7 @@ superiors = {
 };
 supertabular = {
   revision = 53658;
+  shortdesc = "A multi-page tables package";
   stripPrefix = 0;
   sha512.run = "68ff94c82b9986983b0a8b0c1e60301067aa20c92c2576e6d0a9b9060d4db48e2770334ae941b6b7fd1a4914098e2125f324e0d5284da52b523a7616552604be";
   sha512.doc = "0a36abcb782ea20b3c45d5c42a55fb41c04c3707c9c5b0166f90b7494032376d6756f827f1293cf998b56a84192aed36b6224e4abe14646557d130427f3bb63d";
@@ -42821,6 +46543,7 @@ supertabular = {
 };
 suppose = {
   revision = 59281;
+  shortdesc = "Abbreviate the word \"Suppose\"";
   stripPrefix = 0;
   sha512.run = "b78fab6e7784cec1ad8c44c0ea6b2dabf7aeed133ae5dbf9c8044a5fd8af8509b68a1fb615a8bc33459676e4eb6f6d13f097cd689c35acf37beca4750ee09c36";
   sha512.doc = "c59de255274f2a8fb961b57e4c59e7020f990b15a54ef008b251380b63d3564cfab7ce434a3782d3f467561557eca9884745e12f3886416967ad26b0a95b1f5a";
@@ -42830,6 +46553,7 @@ suppose = {
 };
 susy = {
   revision = 19440;
+  shortdesc = "Macros for SuperSymmetry-related work";
   stripPrefix = 0;
   sha512.run = "406a172dfb787c833d8d71e74cde627fad5dc168a1be7a71c4d0006e2f0a6625738ec11f99c9215af6973b101e17abe8eb8355206bdaa18ab3fa6328d7ea42bd";
   sha512.doc = "f802ccdadb5ac2bd96ff27396b020798ac023889f751bc3a286392f62341ee6ac50486899f4e633b90b85320f1bbb679dfba98aa3746d01f0220f07cf65549f6";
@@ -42838,6 +46562,7 @@ susy = {
 };
 svg = {
   revision = 57010;
+  shortdesc = "Include and extract SVG pictures in LaTeX documents";
   stripPrefix = 0;
   sha512.run = "fd2c051969ea85b2e5c2818292128044038003456f8019efc3c6decb7e811f3eeeed6f3505cb661ee2b4768fa7715f5b3aff4583124d6cc99fef5c5f6a2fed77";
   sha512.doc = "84f35fd26786e57a8eea08af996d6edc93116529ab364e2b2e23ea6826748435d8487264438f7ff6b44b6d6975e0f18b1f27599e0e554b3d664055296e8fb0d7";
@@ -42848,6 +46573,7 @@ svg = {
 };
 svg-inkscape = {
   revision = 32199;
+  shortdesc = "How to include an SVG image in LaTeX using Inkscape";
   stripPrefix = 0;
   sha512.run = "e1708206e6fe85271e729ee8c9bf952f45af662a54ad2e816b449fed263fefd8527529ea777b85a50f736d0ec7875afcb3059ed2ac81afd45c54ccdc687c3979";
   sha512.doc = "609d1a7d2256461a749c3a74ac5dffdb7efec999faa15315872f4e61884933cf47c380bfd8eba53de491494cb498a45ba263dc889fa0fd337c48f82842fa6bdd";
@@ -42855,6 +46581,7 @@ svg-inkscape = {
 };
 svgcolor = {
   revision = 15878;
+  shortdesc = "Define SVG named colours";
   stripPrefix = 0;
   sha512.run = "617a880e8e94e781819a8ab3a169325e667a18afd83a10f070a56dd9f1813153d8f52cbc3322c264ee249c0e70080421a9e1debf844ecbc7ea6c2368a6ac67e2";
   sha512.doc = "02a28da03f72cd85f30f73282558bd3aa05a82318cc90f56af6ff8ae29e1f205d3c05553598b88ea13206b4d54f64ca36d5a6a8d6f8913e08c185c7bce6011ea";
@@ -42864,6 +46591,7 @@ svgcolor = {
 };
 svn = {
   revision = 15878;
+  shortdesc = "Typeset Subversion keywords";
   stripPrefix = 0;
   sha512.run = "a64768b2c5931ba6b9e0b910d7bdc1473a7dbc01a70e41fbda46b4064ca1c41592f3d704496199e41ff27ac4d0ccfad56d9d89e536176010e35c1c8f56312454";
   sha512.doc = "123ce3eda16e4a1c44a85c6d2ef2bf4e5f6b9e9d939cf66eee52ad1326f06b35c457f4df054956dc16c169031909f2ea93aca380d2ba080f6049795a841dc34e";
@@ -42874,6 +46602,7 @@ svn = {
 };
 svn-multi = {
   revision = 64967;
+  shortdesc = "Subversion keywords in multi-file LaTeX documents";
   sha512.run = "cb2b1c9a95445b1b2cae4b4f8b7d22a417c766b8158a229712a2ecf8b5b2c731c4c4ee348e626a734406487327d7e0288df458329d1231aaa9c63c1283636930";
   sha512.doc = "6fb5e19bc88ab89fb7363587121374f08ebac0d3bc2868e27c43a8deb986cb5b1e82a665adfa56810ff70a49104007b056aefbb3e55cb821e0039eef0bf941eb";
   sha512.source = "b50a0401ac6e0f056fc029ae78ffd8cd4e64bbf677b654c0462d1d160d8f4b2a2895594b8f591fe6aa4acab0c01aa5633af9d9f7a24fbd6f177d2a717cd0f2a4";
@@ -42886,6 +46615,7 @@ svn-multi.binfiles = [
 ];
 svn-prov = {
   revision = 64967;
+  shortdesc = "Subversion variants of \Provides... macros";
   stripPrefix = 0;
   sha512.run = "319bd5de2870a3c8237aa5013f7807bf3c2c5ef7fa4618a400cd5ab60ec8cb88b94510b0129862c5d98a11e2241f9790f8c84473447df8e21cbe711d52268e98";
   sha512.doc = "01cfb48533e07065f477724efe4c3fcff13691da0393a0d8a9dc9cf4b5d3e3953ce233f8331c1e5857c2259ac6dd7e4859793bb194d750f35ecf3723dd7b4b0d";
@@ -42896,6 +46626,7 @@ svn-prov = {
 };
 svninfo = {
   revision = 62157;
+  shortdesc = "Typeset Subversion keywords";
   stripPrefix = 0;
   sha512.run = "ca2e0a3d0a5f4ab6950d5995b39f785ba071294134d947a47ca3e1f7e0bedc69398f9d0fc2162f349a635aa19ce8c963ec7c88d4bed2100d8f3da05219235655";
   sha512.doc = "aa4bd06d31bad0a2441623b80f52702d67fdef03912b6f96058f3a89d00f4601cc4bae76a24f49540169ad30883177d038ddc7dedabd8d643b59df5c94be4a65";
@@ -42906,6 +46637,7 @@ svninfo = {
 };
 svrsymbols = {
   revision = 50019;
+  shortdesc = "A font with symbols for use in physics texts";
   stripPrefix = 0;
   fontMaps = [
     "Map svrsymbols.map"
@@ -42919,6 +46651,7 @@ svrsymbols = {
 };
 swebib = {
   revision = 15878;
+  shortdesc = "Swedish bibliography styles";
   stripPrefix = 0;
   sha512.run = "c34174a73f2264bd0963bc6932f6ce840a84d3c48ec9aeae9f7f92ce25ce5f55dc2e4c05d1eaee54c18b4c0ef9adcf494310cdf0a3e1d73031910b75a6db30c8";
   sha512.doc = "a3db201554a0b828cfc72d47a22b777fd7b44b25c361a4d8f032cc62658780628e83f6eabfbf342b867fda335c1ddc228347f5fc66651193c8229e0bc6e46f67";
@@ -42927,6 +46660,7 @@ swebib = {
 };
 swfigure = {
   revision = 63255;
+  shortdesc = "Insert large images that do not fit into a single page";
   stripPrefix = 0;
   sha512.run = "0cc77bbb379aca7561a6cff50be46dc43a1e064d6d4ea5f5b2115dc5907ceabb012d951c7dc5ee33bf0c8e824eb51a3eac54cd1b31e4dd974d226eb4bdb5ae52";
   sha512.doc = "64f3f91acb388322ab4ea30d4f0c65e029b1c32755e7769d7d4388d4971f518459106acbde1b4c4b0cd3d4796769289aecaac34be32383778d913cc628d9f57a";
@@ -42937,6 +46671,7 @@ swfigure = {
 };
 swimgraf = {
   revision = 25446;
+  shortdesc = "Graphical/textual representations of swimming performances";
   stripPrefix = 0;
   sha512.run = "d4bd2097892db6467ae1c80032e4ff5f39e3da81f45ecf472d350297687609ff37b8498de9e44405ad9c7dd7b483599c844672233d289c6cc4ed1e2b9e2bb842";
   sha512.doc = "2394080a393e2a0cc8e8299dc4debbcc7548186a714454c87662c22a371308c7e8e6705c9dcbf6eca632f2f80788a733f9d5a9f3fddb2f46167fd50654c5bcdc";
@@ -42945,6 +46680,7 @@ swimgraf = {
 };
 swrule = {
   revision = 54267;
+  shortdesc = "Lines thicker in the middle than at the ends";
   stripPrefix = 0;
   sha512.run = "fbb2a8fd060e41340a876595310b54d069cf808d4e2eacba0d913732fe45a3cea698c1e6e229dd152666f7b509eca424d17378c74ad14edd0d5f08ec85c6c65a";
   hasRunfiles = true;
@@ -42952,6 +46688,7 @@ swrule = {
 };
 swungdash = {
   revision = 64204;
+  shortdesc = "Typeset a swung dash in LaTeX";
   stripPrefix = 0;
   sha512.run = "fbfef096e662d2987dd9e4989fad28a93387722b29bf7974e47cb3a5c13b535df63113cfab6883d2c3c98cfb4b3272ad1de6c961e2818dab5e59661ca5d14630";
   sha512.doc = "6bb0c45931d2d028d5b337b7295e5645fb709eee6c30c3cf3bc539c7142cd8fa4a9543ce70a54cec9b12e7cb565366df674da7b85d32a24839d8bdd0d1cdee10";
@@ -42961,6 +46698,7 @@ swungdash = {
 };
 syllogism = {
   revision = 15878;
+  shortdesc = "Typeset syllogisms in LaTeX";
   stripPrefix = 0;
   sha512.run = "6f74e300794afa114da0f498bf70a389500bd2346bd0bd3d9ecf0f30d6167bfc9ea094024039775c649f5feeaa4b62384072ff26fc0c0fb426634912f440999a";
   sha512.doc = "1d2f3cfb453a4964b0e64a486a7c466731fec93e3a4210b216ebe9bc311923f055bbb903c26b5177c34a16a343e5f4e1a0643c7f6bf635dc0762182185f6e362";
@@ -42970,6 +46708,7 @@ syllogism = {
 };
 symbats3 = {
   revision = 63833;
+  shortdesc = "Macros to use the Symbats3 dingbats fonts";
   stripPrefix = 0;
   sha512.run = "bf967082ea372ad1c752b6f4bc4201c0617390f23517cfc00fd5fc802d6e728f4ef81c1787fa86bd4aac4f8adeff89127b6bf1615b70f4733bd8d5b203b8a033";
   sha512.doc = "e7a1a3f915000ad773f47a5529fc0aa97fa6dc2a56feefb8ae55815580301704a3c49eb7ae92b7f1248fd7115d7d55a54a6f2b38f05825be57b1e155ab8997ee";
@@ -42978,6 +46717,7 @@ symbats3 = {
 };
 symbol = {
   revision = 61719;
+  shortdesc = "URW 'Base 35' font pack for LaTeX";
   stripPrefix = 0;
   fontMaps = [
     "Map usy.map"
@@ -42988,6 +46728,7 @@ symbol = {
 };
 sympycalc = {
   revision = 67087;
+  shortdesc = "Work with SymPy and PyLuaTeX";
   stripPrefix = 0;
   sha512.run = "98c46fc7727bbb8fdda4038f56482d5fbf1c88e3e869b5865f45392dfbeb5be545f754e6ba109b55e66c96d6cf733ac97b472edbd38e3c21c2f937ac9136f19f";
   sha512.doc = "52d163772f25442b32a5ac240d15ab2d606e4907c79682cd37ff45389beb41fc2eaefec9b85d0736e3490d0f4cd1d60a42091cf24aba1ede8aded1cf7a786a0a";
@@ -42997,16 +46738,18 @@ sympycalc = {
 };
 sympytexpackage = {
   revision = 57090;
+  shortdesc = "Include symbolic computation (using sympy) in documents";
   stripPrefix = 0;
   sha512.run = "9a1fa177703dbed088861ff47e5b53f3c0f433abe15d471d181368c52e0cdae7350090ce5cb3c25d4ca816d1132eb009359977ada3f3c0b5c3b80bc0873f8110";
   sha512.doc = "0013c9c1e21f70e36e6b30f12d777f9f78b727ee1beb2f893133248fffb75f0bc4523c0787c0e292f197ce1c01b5f37b34c33ae97ed713bd900848657d803c59";
   sha512.source = "45df3251efd8a8e5669f72b83fc8c07c9df777ec90bdae9b8a92ff3c1875fe623574365f69162cc4c2f89e4fc7ea32dd1ac0ce164ee804799496be25466a12bc";
   hasRunfiles = true;
-  license = [ "gpl2" ];
+  license = [ "gpl2Only" ];
   version = "0.3";
 };
 synctex = {
   revision = 66203;
+  shortdesc = "engine-level feature synchronizing output and source";
   sha512.run = "cbe1f8c6d64619f742003c01566d55b675724f5d03681ad53dc1f58ff7314af88000ba25ea74e4fcfb07ece6160be6976ac8e69a9a1b524f223f5b80f350deb0";
   sha512.doc = "14e1f266182ee0be47a7b3841435f79594cdeb959245e6226520e81248691beeaa73f365c1112ef3bb4eacf4ca77e55265bd0d13c190858144bdc3064fa88a59";
   hasManpages = true;
@@ -43016,6 +46759,7 @@ synctex.binfiles = [
 ];
 synproof = {
   revision = 15878;
+  shortdesc = "Easy drawing of syntactic proofs";
   stripPrefix = 0;
   sha512.run = "934235e8eb4ca51a906ca287c5524cc3b0b69c649b47a9fa0fc2c9fd664199eb6fce835d435e97e0b24bd0662ee68b8db471e3546c4bdb402bfcc19b1fd02c50";
   sha512.doc = "9a12fab29c7c0118bd97a7af1585ae97c5086e7a1e9529624b7fa43a723151e00537b9488a42628d7f6e93b87d092fe0dd18476c7d232e3ee74597186a92585b";
@@ -43025,6 +46769,7 @@ synproof = {
 };
 syntax = {
   revision = 15878;
+  shortdesc = "Creation of syntax diagrams";
   stripPrefix = 0;
   sha512.run = "be1e049a98cd7e45cec9675e707575107af9c613028012b8fbfa658c6c9cbbac5782d3a7111f37edc719fb90e7c168c9a98a3d30a4c997b6ac4ed0691fc7fdc3";
   sha512.doc = "7d0754c08081abc9867d0d40fc910ae5f8b34518004bf698dddc184f0b514d75a7feb3085870cf8322b3d6f3bc4c32ab50acdaeb56b574bf41604a18c23a6656";
@@ -43033,6 +46778,7 @@ syntax = {
 };
 syntaxdi = {
   revision = 56685;
+  shortdesc = "Create \"railroad\" syntax diagrams";
   stripPrefix = 0;
   sha512.run = "79d5df672a25ed58919b7e054be992986edc8484348388d5eb318dfa99fc55ad3c452d6924c857c1bfb46361d59fe1d4e38cf84c9cfecd241f7d0c9d184f7995";
   sha512.doc = "a7c370c6b6c3877098e5cb216c4e82d382dfba0627de6abbca8f4e1bc6f94f53f11bac7456be213fa632d501dbabe910ef94680cb2cb20549c292ec5ffe79451";
@@ -43042,6 +46788,7 @@ syntaxdi = {
 };
 syntrace = {
   revision = 15878;
+  shortdesc = "Labels for tracing in a syntax tree";
   stripPrefix = 0;
   sha512.run = "613c70859eb0c710c43fa4a62fe8b8d38a407ffe94c532d80927d00fd47c17b6570040f5d9ace5035f4dc53deef97419f52ecdf021ab11d5629445153b85ebd2";
   sha512.doc = "0349aba5e1455a6676cda43c7981677cfadf77b9898a79d90104808e77cd351f219392a91f83b670f7f1801babf53854f8719c32b8da112fde849b7b120e2327";
@@ -43052,6 +46799,7 @@ syntrace = {
 };
 synttree = {
   revision = 16252;
+  shortdesc = "Typeset syntactic trees";
   stripPrefix = 0;
   sha512.run = "3fa23536373a41957d985e5a0aac744473459d195c1e7e00e60f2b4aeab15d8f150bc76fab05068d5ae4994ce52ba4dc35380ab042cc9917a23962b2f0a7094a";
   sha512.doc = "164c74dfacdb0cafab112d270b15ad0b7c58be0e8d65c5ce08f80182971b63026584c5c071988d9b7053f99b9d81c893f8b103a3145f1128ffad880259a16264";
@@ -43062,6 +46810,7 @@ synttree = {
 };
 systeme = {
   revision = 66655;
+  shortdesc = "Format systems of equations";
   stripPrefix = 0;
   sha512.run = "ed93847bd9d5b9158026e364d98f7102e4040d19f8fe198565b8e6a9573ba1796a89b69f76dae76c40acd9ac96392aa75d2ccc006f8419b699f8f4c7b35c737a";
   sha512.doc = "97bc9240c34251e6b3cf0fe53fb5c5914e0bfc2cf852ca70aaa72213ac9e5ac7d55738f63e73aa8ebc4e320a3874b3ec84c3a0465b188c2fa263648306faeaee";
@@ -43071,6 +46820,7 @@ systeme = {
 };
 t-angles = {
   revision = 15878;
+  shortdesc = "Draw tangles, trees, Hopf algebra operations and other pictures";
   stripPrefix = 0;
   sha512.run = "dae9953288c0067e233ca26d2d5e7ea32207790eb16bcff2f0f56180dd9a65e70c234de48652d053a858ec92940c3c5fea10c699c697b65a249a8c84fa050b71";
   sha512.doc = "32dc9adfda93bee5e61eb062e6970f6e093a09016a6ddf32f82d110b7717916fcc92f961c8be682958d1f3f345e02ad49cde4a85ad4a0d0add08a0bc80109d8f";
@@ -43079,6 +46829,7 @@ t-angles = {
 };
 t1utils = {
   revision = 57972;
+  shortdesc = "Simple Type 1 font manipulation programs";
   sha512.run = "9065b22ec60747b603c758c3bae67ff06759ebf97c979028ac940a1b773e3a20f5f249a4a61b7564038dcda3c72ef635315e64a3b8692501cc8f6c30ff7fa989";
   sha512.doc = "34eacd2f14282108ba41d49cc68c066e12383c4873c9cb8a2389300f9c5685b3f3d7d0626e33008d28c229f8311daf2404b2bfa164fa550184f1e856163ab386";
   hasManpages = true;
@@ -43094,6 +46845,7 @@ t1utils.binfiles = [
 ];
 t2 = {
   revision = 47870;
+  shortdesc = "Support for using T2 encoding";
   stripPrefix = 0;
   sha512.run = "9a47581909735a9ba582b71a132c925beab45cbfeb0201c93d138c35670fdf65580e6dc20d9498458e01eba7088c81d67cce329465e4763235e3f3404959c5c6";
   sha512.doc = "8c30658eab02eb576963a6a2f722b143444abf5d286473f165b6cab84c75ef703462a1841121a5d12cf822b150ce8c23a96256754a2d662fbe6c451a058333ef";
@@ -43102,6 +46854,7 @@ t2 = {
 };
 tabbing = {
   revision = 59715;
+  shortdesc = "Tabbing with accented letters";
   stripPrefix = 0;
   sha512.run = "dcb4bf112afc6a2221030ee7cf0f0b3043dd12a178195ba57afd10702b3efd65948d58607334dd9445270cf69862011d97b72a0f8ca5868748174b1462988132";
   sha512.doc = "e056f857e62c1fe3f6b0183c0929e617525586068c62beee604b904695274d4c271d4b973a8a8c9b046792227df389a61591b528a8a4c1cb5c9916618206de48";
@@ -43111,6 +46864,7 @@ tabbing = {
 };
 tabfigures = {
   revision = 25202;
+  shortdesc = "Maintain vertical alignment of figures";
   stripPrefix = 0;
   sha512.run = "d2a1fe985a74427888995437beaafa62b5def851d6f2a7788ead9cddbfcefd7206366a6711f29e85d2705c0d787bfc88accc56c93b827fa372ebd9cfc562f2c6";
   sha512.doc = "5b2c7c5bd350c3dba68117151f3cfd6eac8f0e7ed602b44406ff9d15a79dd7de7e0ec303b1163e3c882412c86adc48afac6c9653cf1fbff86e7cf6a7ce852c94";
@@ -43121,6 +46875,7 @@ tabfigures = {
 };
 table-fct = {
   revision = 41849;
+  shortdesc = "Draw a variations table of functions and a convexity table of its graph";
   stripPrefix = 0;
   sha512.run = "a6300b1989f536fecb27d300bc0b27afd93f7f72b894fdb87bae5b0756ab241985ee2e5b4c0b68d1b2cc5611aafdb62b300fe40e2a08df5f6b11774f13309756";
   sha512.doc = "a9108cee93e6c7250643636619f923659d468a2148f5b04168fb08738d85e794c1050fef8152fb95d114551f6967c955f3d6f548e1ede37711b98b1362e9910a";
@@ -43130,6 +46885,7 @@ table-fct = {
 };
 tableaux = {
   revision = 42413;
+  shortdesc = "Construct tables of signs and variations";
   stripPrefix = 0;
   sha512.run = "1846fe9da749b92700be07c094556fd296d47123df3a5d6823570056e6ce2ca8ef365b70f6ab2a8577602d1be338867fd2610403f89729dd51632d404951f84f";
   sha512.doc = "cfa58a8e76dd61659f6c13ea6b3f97ae484715b735028c513576312dfa7dfe92c8c15a0858077e3ff2399807274dd5a836182ea65b948a976f6384bd8d1b19d6";
@@ -43138,6 +46894,7 @@ tableaux = {
 };
 tablefootnote = {
   revision = 32804;
+  shortdesc = "Permit footnotes in tables";
   stripPrefix = 0;
   sha512.run = "90812cecdbb464592b17b8faf4d81b221844a354b0a3d3ea30cb72d0b56c4ff7eee701caf113e13586315ce846d30de6ce8d5028966f2c310527e34e8ec90464";
   sha512.doc = "712c1ab696f5924058f4ea6ce12e3ff14fcbf79a78328259c4b9acfdaad33e9e4dddf36dbb322598f09a8fa3ca75d68b474fe1a4bcd4d25752704e0c4e6ba5d7";
@@ -43148,6 +46905,7 @@ tablefootnote = {
 };
 tableof = {
   revision = 59837;
+  shortdesc = "Tagging tables of contents";
   stripPrefix = 0;
   sha512.run = "e577e1e8df3fd1ad12a2cbfcd05ffb1184fcd3555124986481c62a33ed7f5789bf1858a1370888887d2aae0d2a508a891e5e67bb0a4a1d9a924b3817c2d9e234";
   sha512.doc = "bd568b16c6e708e4d0ee9810ba97f8363c842c22156dc90a257fdb0319eb49cab4f6ac9faee0700687a8a6ee54ea02b9660635cfeddd5275365d9c7f38218784";
@@ -43158,6 +46916,7 @@ tableof = {
 };
 tablists = {
   revision = 15878;
+  shortdesc = "Tabulated lists of short items";
   stripPrefix = 0;
   sha512.run = "ed0ebef871c7bdffe93e2cc38b823dd13376c53e4388daa8aa1198cb213010594c9bfe468ec0e42901df2dbd1b938e7f037cf49ef2cf6d9ff3bc53502b220a14";
   sha512.doc = "afcfa520702fd873b4deb7c4acfbd4290262a0df133c87f01698d20b8d17fd5b5932384124f49fb4d90155da284b873bb3ee1a2281955449f8ca2f278c38d39f";
@@ -43168,6 +46927,7 @@ tablists = {
 };
 tablor = {
   revision = 31855;
+  shortdesc = "Create tables of signs and of variations";
   stripPrefix = 0;
   sha512.run = "64169a74a787f8877d41d5e32c42e5659950854a1e20cc05103b3ed58c54fb800a9af0701a40a6c5b75553b86d675fbda51948106cac464785c3d46aac77c979";
   sha512.doc = "77a6d1b47337f015dbfd39074e1dae417c3bea3c9635955c6518d691ff336854cdd7587af54640282b45f5bf3885044d3b6789a0a73f39a726aeaf0afd27c883";
@@ -43177,6 +46937,7 @@ tablor = {
 };
 tabls = {
   revision = 17255;
+  shortdesc = "Better vertical spacing in tables and arrays";
   stripPrefix = 0;
   sha512.run = "1a341985ae61f047694470d19d4e192b4f4e01c0bb595d91b1f80080eed3077be4e40b431cc05b1bb482f18c30bf36e6076542f2cf37a49dd6b065b0fe044bca";
   sha512.doc = "f458058964660b2b1ff2a61ff8ff2ffcfe7ab103e9714cb1e7c307a8bd39c5a1a6990683c4ed7aa401cbe9b9dcc083dfbadd80a5aa00bcd64c0fb72638cf71f2";
@@ -43186,6 +46947,7 @@ tabls = {
 };
 tablvar = {
   revision = 69212;
+  shortdesc = "Typesetting pretty tables of signs and variations according to French usage";
   stripPrefix = 0;
   sha512.run = "0ecb62b92529825d893d5ae686aa7d66576da1915ff760ae80466e9c76c2951f1300e72b3bf039a61997ebfaa9f72a8c56fa58f53c65d0a75bbac71d830dfcbe";
   sha512.doc = "7cfea26a1abda9aa3642c5d48c763184fc0f7a18b77fb72b8083c7271847b6d7ce3bad33fca96f082abd171f5f013eafbed51bd84b3ec046d82be13c11043f2a";
@@ -43196,6 +46958,7 @@ tablvar = {
 };
 tabriz-thesis = {
   revision = 51729;
+  shortdesc = "A template for the University of Tabriz";
   stripPrefix = 0;
   sha512.run = "b1e93632159fa6b5ce46a13b6d2bbd3115a09fd7c6908a8465934e37feb0633eea827fa1ba8521d91a0d30492135a428463f6aa99cca0c6fe7db640d1310c6ae";
   sha512.doc = "e56f4a93c7cdc68c227791a21fbb06e44193e9681e677f383d19994c714bdb8d0487f9550c0c94a78890f54c7342aa777349770b4ad04b58e191fa62b31a3462";
@@ -43205,6 +46968,7 @@ tabriz-thesis = {
 };
 tabstackengine = {
   revision = 46848;
+  shortdesc = "\"Tabbing\" front-end to stackengine";
   stripPrefix = 0;
   sha512.run = "2f6245d65a7d711d598b894c8acfd8d2a032ae210eabfa219934e8fa086bbe3edef81e73092234e5528f9f62a6856546aaec7eafe5572eded155ca8fa5fc3999";
   sha512.doc = "6ce0b2ec254e44bca6f6cb746d4e3762735e9bb85e561df7628d3a2e2e35ddaac1635c825f27900d06badeb310535e73c84495e24748c1181825fd61fb03105d";
@@ -43214,6 +46978,7 @@ tabstackengine = {
 };
 tabto-generic = {
   revision = 15878;
+  shortdesc = "\"Tab\" to a measured position in the line";
   stripPrefix = 0;
   sha512.run = "5b3bd8081ec6800c96ce4b4cbdd8091578ad1df2b625fb2792202a6c31f3f126d612f99f04802d82d490cb529e03e63f98b01c7842ec0df69b48c2fc289108fa";
   hasRunfiles = true;
@@ -43221,6 +46986,7 @@ tabto-generic = {
 };
 tabto-ltx = {
   revision = 54080;
+  shortdesc = "\"Tab\" to a measured position in the line";
   stripPrefix = 0;
   sha512.run = "8654a7e3b49bbfe6e861a6f757d8553f78149e7187809b03f6854f2173143e10195385d9e8b35510e49a5f941b27a5796070d6db1183b58e4eb71c452d4a34e7";
   sha512.doc = "35e98681472b9d6fefa25a534385133d630f072a75a045c9adfc4b0e775095609ece27322e3fe8af451db03c0ac3b63141c3cc7272924ff758a8985389040a31";
@@ -43230,6 +46996,7 @@ tabto-ltx = {
 };
 tabu = {
   revision = 61719;
+  shortdesc = "Flexible LaTeX tabulars";
   stripPrefix = 0;
   deps = [
     "varwidth"
@@ -43243,6 +47010,7 @@ tabu = {
 };
 tabularborder = {
   revision = 17885;
+  shortdesc = "Remove excess space at left and right of tabular";
   stripPrefix = 0;
   sha512.run = "a30f668ea84238df674c079fea6b05878776b26b4f6465385e26b01b16181825a8cc20767fa45eda8e7870d272875bc9664aed145885dd655d15258aa072ebb7";
   sha512.doc = "f0376dfe99c68523332be0e83c0a186d7e3051862fac22785b4ba1273673fb9b1776654a127ba1c617af67063763e5837723ca2f23b3f7dd012628bd40ad0604";
@@ -43253,6 +47021,7 @@ tabularborder = {
 };
 tabularcalc = {
   revision = 15878;
+  shortdesc = "Calculate formulas in a tabular environment";
   stripPrefix = 0;
   sha512.run = "7535398538d6802c4e70858028ce6e7414aa8a88336e71f90f7f909d015bf896eeb5e6652cc5bc5a2bb384bc25d280d8cd6506f7ba05823c20dda04fb3adf0ba";
   sha512.doc = "7e35cad1507cfb62117aaddae77c3faa5d19c4e320193afa0054415e84d49833ba64afdf743b6241d611dbb4d45c6a532779293924f20b6c748659a361d6f30d";
@@ -43262,6 +47031,7 @@ tabularcalc = {
 };
 tabularew = {
   revision = 15878;
+  shortdesc = "A variation on the tabular environment";
   stripPrefix = 0;
   sha512.run = "512851ce7641e0904dd25ab8a5cd5ac0dd281154067e09c4389fa3d6f330d30099dc60b252de4ebee52a2cf28d6b7d10bcf63fe4ab1472238db35754adc1dba6";
   sha512.doc = "4b5b8aca9d9be8cc6618d9393278f8da2069341a982cf6cda9e561b64bc158e5c08cf9257b592f82134cd74ce0b69682e15339d9068d9fedcdb26626dc2b8a7b";
@@ -43272,6 +47042,7 @@ tabularew = {
 };
 tabularray = {
   revision = 69926;
+  shortdesc = "Typeset tabulars and arrays with LaTeX3";
   stripPrefix = 0;
   sha512.run = "bfbce523764d979d0ab24992be6b0c79dcc20dabbdab195496f11e21f01c349fcf0dff8f400b6833dc046a74e27468b496b99fb65d1aeb820d7c4077b21525ee";
   sha512.doc = "2b58577fde437018269468d81a9f50e39b6cd36803874dd2f09e7fe0ed0fc2f63c6bc195fc433b997e65dd43ae15cfbfeaadee8f46fe63bd32bc3ddf91fd8507";
@@ -43281,6 +47052,7 @@ tabularray = {
 };
 tabulary = {
   revision = 34368;
+  shortdesc = "Tabular with variable width columns balanced";
   stripPrefix = 0;
   sha512.run = "2c873a3840d8bf06a095ff3106b317ae6acfb8498d47b0229a37e247e0e0a9df80300759d65d13ebc9defb15d1cde0aa1e956d2f88bebab3311af459be47df0a";
   sha512.doc = "b619c6b3dce1421ad4f06ab5e6f0ecaa6dc4f55076b66303a4e5409b42a4a9e34d218251177234dc0f3dac13046638a75623db0094978badc4db93083660f5e9";
@@ -43291,6 +47063,7 @@ tabulary = {
 };
 tabvar = {
   revision = 63921;
+  shortdesc = "Typesetting tables showing variations of functions";
   stripPrefix = 0;
   fontMaps = [
     "Map tabvar.map"
@@ -43304,6 +47077,7 @@ tabvar = {
 };
 tagging = {
   revision = 52064;
+  shortdesc = "Document configuration with tags";
   stripPrefix = 0;
   sha512.run = "8947ad0dc443891e0b5a395a27d2857acb5879821443ff64cb0b15b99eea7a69401ba165b26565bac1b0036032d49241504ea2e008106a85cdd896aa28abd9e4";
   sha512.doc = "06d470576136a96edb69bf595e55f16416da552a5f4a84980ff5393689cb58246d4fbe62b979c22b85c5abc58b926d9be63cd0ec734b43c653a0d0a5c4b04d8a";
@@ -43313,6 +47087,7 @@ tagging = {
 };
 tagpair = {
   revision = 42138;
+  shortdesc = "Word-by-word glosses, translations, and bibliographic attributions";
   stripPrefix = 0;
   sha512.run = "146c2e957965fb7ad9976a4b3b6c40d28b8d0cdaf0c8b9627f51dd55ba88b32ad7490bf000bb853a416b5dcc091243b9d6e92999431327a05879adcf89809d7f";
   sha512.doc = "af9dcc1c1dd0a5e44d3f436569cf5d36f8154b70219340dd914feb3d8c036164f1bd70eeb6819bb51a06c0f5c5dcab1b3ede8be4b4d22b2536529474d0d841ab";
@@ -43322,6 +47097,7 @@ tagpair = {
 };
 tagpdf = {
   revision = 70259;
+  shortdesc = "Tools for experimenting with tagging using pdfLaTeX and LuaLaTeX";
   stripPrefix = 0;
   sha512.run = "cf20cc71bb96599498e470f62f125a52f8457cd6a5f150a171c51c379c9d75d6ee3116d09a281dc0c2a079182a3ccb70c8eb12d5f8679b4f8839f63ce4da95fe";
   sha512.doc = "41c3de45c71f44af9c022c0a329b9e6e34956f15884d6da96373dba008b14058c851f7c51265b0f408f5154233a9e84979395a9a970aee36ac4d465209572722";
@@ -43332,6 +47108,7 @@ tagpdf = {
 };
 talk = {
   revision = 42428;
+  shortdesc = "A LaTeX class for presentations";
   stripPrefix = 0;
   sha512.run = "371c640254994616744b2bd0c9b4040415392bb2a3adfbe5f4656faaea5bf3e7d2d4ab35373a65a857fd57112f7fc628321492d5bf7c5b052e0026c277663d7d";
   sha512.doc = "d6a641789923559a94b0077d718e56258804caa1dec0c9ea0f9d010e92ffc361884664ac22b07b95d20f464d18ac76301a718430d8f1ee30172489cae3b844ae";
@@ -43342,6 +47119,7 @@ talk = {
 };
 talos = {
   revision = 61820;
+  shortdesc = "A Greek cult font from the eighties";
   stripPrefix = 0;
   sha512.run = "50a35159c65afa43900ee8633d2b86effa5aec6a430f2e8fa85f77442da35b140012b27959155564e29286aba465d9bab17c9f5ce5ec0a889ec4ed5dff1b4dcb";
   sha512.doc = "9bdbd72f86e0b957580bb008ba349eb428721913010e9fe2cd9ee9b01733d6259914712b60a4a7f0f5804041e6cf876d8bdda2910de1b191715c1d9c8d8fbf77";
@@ -43351,6 +47129,7 @@ talos = {
 };
 tamefloats = {
   revision = 27345;
+  shortdesc = "Experimentally use \holdinginserts with LaTeX floats";
   stripPrefix = 0;
   sha512.run = "bd45962a9caa5b098b6a6a5c0bd3fb964e13cf2744a5fc960a97910183799d532aba24d5f4774ac29eef14bf1439e285010b2e22641167c826d5a36262fc39ef";
   sha512.doc = "2b9d013fcb93682e9be0fb1758fc871b4784eef72a0892383a35073aa177ac29acfda5e54b6a919379b43a3dd0fb0b22dd44476857665efb59b2e9cf27bb679a";
@@ -43360,6 +47139,7 @@ tamefloats = {
 };
 tamethebeast = {
   revision = 15878;
+  shortdesc = "A manual about bibliographies and especially BibTeX";
   stripPrefix = 0;
   sha512.run = "75a71590f1d905bd2a78b508d66936975eeacbfa32e850f599e94efa92da2b043edb8b0899b7027268fa131d94283c13432d4c4126afb79d1615bd538af52436";
   sha512.doc = "0df79f434714deefd60b9b9d32dfbd47ac7e560c26ec0d02465538eefbc779f0252aef235ae2e0a2d2d634d618bb52c73b31c229b5245866239776c742ebe69a";
@@ -43368,6 +47148,7 @@ tamethebeast = {
 };
 tangocolors = {
   revision = 66733;
+  shortdesc = "Use colors from the Tango color palette";
   stripPrefix = 0;
   sha512.run = "f33e7b7bf60f7e10f6b58e24a53c374ffe84a48a44bd6e0259dd741c91f94e61f71c6e6689e204017eff1b0050aba4e6eb5715b3978ec633ab0fb41317b1c835";
   sha512.doc = "051a1f028e4e77eb78a11dda00fa950f9405a4703dfde7fa61318482ece12ba16e16ed0dd035532cd272cf3d66efe03d212f44c03ffa342db76ead6de1a5a2ef";
@@ -43378,6 +47159,7 @@ tangocolors = {
 };
 tangramtikz = {
   revision = 66183;
+  shortdesc = "Tangram puzzles, with TikZ";
   stripPrefix = 0;
   sha512.run = "81446f01dd97ef332003f8cce4becb670fe3fa284e540c0dcefd6627b03efcc87874d12c7c7e399947a269cd4fd66deff2064cd1ba64cd34d6cac2b4c587e802";
   sha512.doc = "45435423e7b0a7d7aaf9db5cdbc682b9f62721b7fb333c64cd76a773fd67bb7faebe1bb11a6424c15a495f2c2269a78698a7846f2e8902c16023f2af91c9be9f";
@@ -43387,6 +47169,7 @@ tangramtikz = {
 };
 tap = {
   revision = 31731;
+  shortdesc = "TeX macros for typesetting complex tables";
   stripPrefix = 0;
   sha512.run = "07ca34ae47976c65deba5443052001406390befb6dc675af7651141505f088e2f67f39648f14a94f70788eda79221efb05c2246d1991811e697e88c7408f6cf6";
   sha512.doc = "a61b861cdac25c0d8c7d48f67abb9eed88458d0d55e8afb706adabfbed0d1e7c7159fcf000b8012885f82f849ee965bf6a2607f1b67f2d9191f59f8538147230";
@@ -43396,6 +47179,7 @@ tap = {
 };
 tapir = {
   revision = 20484;
+  shortdesc = "A simple geometrical font";
   stripPrefix = 0;
   sha512.run = "f3d93c9ad813008fa72cbe317d244bca9a70855c20f327d22d1720b79d70019af0f5d8aef237fc78a598a545f44a4612f1e5a7622b34247044ab230bd42eed5d";
   sha512.doc = "a32573ba9df3d0b30e796f7bdd03e63ba8a96559380895b8db2d33fd9812c8b781b75d19a12a24405c52df13acd9a5f2e925da64b019e92a124d143345bb5bb9";
@@ -43405,6 +47189,7 @@ tapir = {
 };
 tasks = {
   revision = 61541;
+  shortdesc = "Horizontally columned lists";
   stripPrefix = 0;
   sha512.run = "0625dd459eaf53f842f6c36a550808c3efa8004a76cf25bc892b4c50a640ba588c2d069ce8df10f5c8febf5461390517357040b8a472532fd1f9b9ceddd9e5c3";
   sha512.doc = "a3240edd6bd7e87b7e1b6292fc227e166b54cbda7f130dc5f03c92707577a9b51f4da5377375419feda6a91a710f48b787dc3da90a1befe1d1328ea9a799f649";
@@ -43414,6 +47199,7 @@ tasks = {
 };
 tblr-extras = {
   revision = 69776;
+  shortdesc = "Extra libraries for tabularray for caption and babel compatibility";
   stripPrefix = 0;
   sha512.run = "d47a63520ae3b3d8db6054357bace701b890d2b6c325d620d69d3185867b3c0092dc9702fdea4a84b56a3e192a9e01c083d3c449cc597877a8efa1abe9f6784c";
   sha512.doc = "c4f99c06e5ebea7bc88806252e8182cff3282ce6d3eb0a1a71cea97bb132304049a4077c57d0a0d0bc8ea20c20e63b4299cad0d9c06b49157ebcaa2e85d3af5b";
@@ -43423,6 +47209,7 @@ tblr-extras = {
 };
 tcldoc = {
   revision = 22018;
+  shortdesc = "Doc/docstrip for tcl";
   stripPrefix = 0;
   sha512.run = "82348df3f6dcedc17a3cd50f709d01b1f2b0e4be9345e63d40ee6ad2aff908f97c7d19d586431e3fe8399a8d076505ceaadb5afe0116093240a6e59a335934c9";
   sha512.doc = "61f24f628c2b62c02e08e1a2a3a2fd917d057baaf977e7837b1f62e4331e370b83f8a0b00e679c86ddb1893d21af13211185502ed7bb19699d4f33356d3a3a0d";
@@ -43433,6 +47220,7 @@ tcldoc = {
 };
 tcolorbox = {
   revision = 69370;
+  shortdesc = "Coloured boxes, for LaTeX examples and theorems, etc";
   stripPrefix = 0;
   sha512.run = "f62323c290e39f10555df66bfe43a3a199f99fd5ee81c13e450cab4736c805a21cd3d85ae710ccbccbcc552d5e0370245600a5e58e605d6b3d35a3fefa2a6fe0";
   sha512.doc = "7f4f312fee029753decd7456a6e2d8bc829484282f93d245e73a3ae706f7c948091694c05bd2b4f18982b4ed11662ec1868ef0dfd7bab3f35c15a1c1d486f41e";
@@ -43442,15 +47230,17 @@ tcolorbox = {
 };
 tdclock = {
   revision = 33043;
+  shortdesc = "A ticking digital clock package for PDF output";
   stripPrefix = 0;
   sha512.run = "29e2e50d9fa432b08ea730b8a12228cd2bd3eefe61946e576a262bab06a966c0b28c13d48b1074a838a1a567f9797a943282d17e936db146f15e7631261761fe";
   sha512.doc = "139c82690e2c9b695a10a6f3e6f94a54c3ae4d4a929ddc18763e248114926554206fb4c007ed758695476de3750ffc1dce3db75efdf2598434f27abd1ac84baa";
   hasRunfiles = true;
-  license = [ "gpl2" ];
+  license = [ "gpl2Only" ];
   version = "2.5";
 };
 tds = {
   revision = 64477;
+  shortdesc = "The TeX Directory Structure standard";
   stripPrefix = 0;
   sha512.run = "b03911aa9711eb5eeed77c026c4bbcf952da80322b855ac631e78c07a48ad2ff1a4afdd6e25a00257d1b70e054645f07f65c98fe74f6b1389be46625f5eb8487";
   sha512.doc = "f4078e3b1693fedcbe139b67c50824845644a2b1e57dd27f9e46e44504d8fe8ac0ca706590e9149c06e71794a188b20777bfd6bf1afe85f16c806ba4f9b99cd8";
@@ -43460,6 +47250,7 @@ tds = {
 };
 tdsfrmath = {
   revision = 15878;
+  shortdesc = "Macros for French teachers of mathematics";
   stripPrefix = 0;
   sha512.run = "f2c7a19dc327230f46320c695eaf40e9ff17088a709e38ec7f8de23f5c0cbeb18f606bd41625a1229734dacc80edba9d052c21620f7cdf213f60e915b6128010";
   sha512.doc = "9b0e747f90b75f372f04eddfb1c17dc73c3ef6a95d576077790b23bb496cee07afd3af5d1a53581872255c4e71b933949beae909591d0e1c407d9efc3f1d227d";
@@ -43470,6 +47261,7 @@ tdsfrmath = {
 };
 technics = {
   revision = 29349;
+  shortdesc = "A package to format technical documents";
   stripPrefix = 0;
   sha512.run = "8eb9eab801bd83fbf0d9365c36a202f909cbcd49b8da6887f3e26aa3fcd047b8085e0b405f0f5fa7f2b5ea0ef21a9956114ecaa7934e1b46b1abe55583d5e759";
   sha512.doc = "2158bee41c25a1fbbf8c963e3364cf7d08e160aa895f54c77ceeaab7da6963232af61b4c7349d1be7f0aa84097bc7c00cac7748bdb8ba523a899b9e7cf6ed11d";
@@ -43479,6 +47271,7 @@ technics = {
 };
 technion-thesis-template = {
   revision = 49889;
+  shortdesc = "Template for theses on the Technion graduate school";
   stripPrefix = 0;
   sha512.run = "5e9c6bd47744601258bef52102acdfc744e0dd1219a7236a5710d6dd98ba5ebf1061bd6070c5d02707a7c8b895e362db51f48ee081126bcd9a99e523c6b9e5c0";
   sha512.doc = "bcc290eae933b00cb32af0da6d31c6190f3b38d02a599fec7f8cbfcdb6f8737380d4c440911b08de5d768d9925526a63521c97c20a8c075ce8e9500dd3a62c24";
@@ -43488,6 +47281,7 @@ technion-thesis-template = {
 };
 ted = {
   revision = 15878;
+  shortdesc = "A (primitive) token list editor";
   stripPrefix = 0;
   sha512.run = "42b0fcded19e05d5cf316fdfc0f1f6474816b656a57bfb5214a76f47e644bc16a42bfa95a21b80251723e2c30651a284d873d898e84c277922120a9169d274df";
   sha512.doc = "a36387e2520d7afadeb270f7393ef45ac1b26673840d541a50ecf864304d529b24be7d107070c96cfa123801284ffc53c9daa60753640fcd2ad6367f88887069";
@@ -43498,6 +47292,7 @@ ted = {
 };
 templates-fenn = {
   revision = 15878;
+  shortdesc = "Templates for TeX usage";
   stripPrefix = 0;
   sha512.run = "cc61496f15f9c4060c8d42de23e3bf6f6d2be02d3a8b4fb761f2fda4a9c3565d74bf1f107dd9371e096bef79ddbdef56d2e696cd84cb4fe39a41986b8ffbbc78";
   sha512.doc = "2a96b0963b2d09edd3f6a6866ae298001e6ccd4e96b98a9002df6e6718284a786b63761441c287ddd63dd5eba636fcb8ce9769d498962ffe2565e771902755e1";
@@ -43505,6 +47300,7 @@ templates-fenn = {
 };
 templates-sommer = {
   revision = 15878;
+  shortdesc = "Templates for TeX usage";
   stripPrefix = 0;
   sha512.run = "55b47c4718786fd4910d099878d5808288e83714567adbdbceea32a76e92f7e36c3f850d8597b297445a6ff428d1d0dbaf9209a387485eca0fb1a85f4909ed59";
   sha512.doc = "543b5cce4842dc6b084d90f9bf4e3c19c18a690ebe85379d9d93a5998fed06272bcac4cb3ae44f965614962827b9926fec3439322e38a720c134133a88cd94f0";
@@ -43512,6 +47308,7 @@ templates-sommer = {
 };
 templatetools = {
   revision = 67201;
+  shortdesc = "Commands useful in LaTeX templates";
   stripPrefix = 0;
   sha512.run = "696727231a51c33d10ca7c18690d2f960cd01a72b4e928c581e2a7ed26770bf5ea18bdfbdfd56372fc7289b59323025ea7d30f208e991e1c6c89a659a240597a";
   sha512.doc = "55c03f8cf8313aed72c9434eb26b0623e55a5644a22914ed82c64c07834258f0d2f9f7c083b22677be854f69bcc6d980e45158caa4a530df517083c1c590089e";
@@ -43522,6 +47319,7 @@ templatetools = {
 };
 tempora = {
   revision = 39596;
+  shortdesc = "Greek and Cyrillic to accompany Times";
   stripPrefix = 0;
   fontMaps = [
     "Map tempora.map"
@@ -43529,11 +47327,12 @@ tempora = {
   sha512.run = "0e1cc1a13f7937e5497f454b15ca66e0975b784b80223a902bf12a9587abdfdb56116b100e04306b1999e053b7c3716b32e1183dd7e6624162611f3b70388df6";
   sha512.doc = "18259e25b2c9f2a9cfbce9a9303d8827af069bbe2a7ade5c14518ce2c19dc973a86fadaa99b2abc8bc65644ee5371c745abba03cca76a685382b7d8b6d20bc6e";
   hasRunfiles = true;
-  license = [ "gpl2" ];
+  license = [ "gpl2Only" ];
   version = "1.05";
 };
 tengwarscript = {
   revision = 34594;
+  shortdesc = "LaTeX support for using Tengwar fonts";
   stripPrefix = 0;
   sha512.run = "c6a29d928b1f25dc4b8893f9fc803f3a5deef9e8e9aa4803153fbae5cdd7170eea819eafba8a165203e48c8b2f443c55ce682df9f7e968ab621f2cf7eb082108";
   sha512.doc = "35825a4c1cac91c088daea643e8a8901f0c3ea15c44e8a9328883c22c1fddab95fb32a65372af3979698f81e68d77b34764a1c5748460a28396480075cb594d1";
@@ -43544,6 +47343,7 @@ tengwarscript = {
 };
 tensind = {
   revision = 51481;
+  shortdesc = "Typeset tensors";
   stripPrefix = 0;
   sha512.run = "fc20b6f6b705218b82b5788582d8b017be783e42c87b3f35e7aa99a8215ab0168b7da899c73ef1ebc282bedd5c715e69ed9e1c19b94d9b6369ba8e9986b5c5d6";
   sha512.doc = "12e443e2ffe876732759ddf91c8948e9cfcebc3c1c96949c51f090e15dadfbcaf801e488c8d043855b576404207612ae91d982279cf0b29bd73d4a5d1528bb6c";
@@ -43553,6 +47353,7 @@ tensind = {
 };
 tensor = {
   revision = 67667;
+  shortdesc = "Typeset tensors";
   stripPrefix = 0;
   sha512.run = "4e19620df8703906c539541afca09ef871e1cf6a20315b246ebf758c5a0ff5f2095c51d312b19f818e89c9714a79a32fbee708d4ecd0a0b0257546b0d940ed1a";
   sha512.doc = "f60b5bdde9a29bf6a13ee94833b0d1fdaa1e7958d01a6a42b20a995263f398f7fbd761150b71f66490ece636ad2aa2c69a8ac9447a0000265ac480396822db2d";
@@ -43563,6 +47364,7 @@ tensor = {
 };
 termcal = {
   revision = 22514;
+  shortdesc = "Print a class calendar";
   stripPrefix = 0;
   sha512.run = "f28ee31f06cf2b3119df8010aa6a8312d5365452e19c3a278db7bee3bdeafe9ae0d3b07decdf1a104d8eb763abc5e02ff0e6c7030dce924596ac89d8e9508e13";
   sha512.doc = "44f54dedd59afad78eea60ccfd43805dca1a4dc87a3d827e0fda26db15505dec18d91cf0629ec937dcf3eb14d1244f80559a0fa1ef09b30288bf687099fcec1f";
@@ -43573,6 +47375,7 @@ termcal = {
 };
 termcal-de = {
   revision = 47111;
+  shortdesc = "German localization for termcal";
   stripPrefix = 0;
   sha512.run = "9d4d0be3e26dc69fa3986fbe41099330e97cdd4d3aa0b12a180657577ef839878aea9e546a5651cdd0ea45e7af3968c5b83b509ad5bb3ef210d42af5c00fd91b";
   sha512.doc = "48f0ec01526f75e9e2b8369f8b30bbd8e4f093cc91fd5b485a36e225de35fa0afc750508b6533f2ec82ef123805788e40e98d5459dc85a73bef675162e682fa7";
@@ -43583,6 +47386,7 @@ termcal-de = {
 };
 termes-otf = {
   revision = 64733;
+  shortdesc = "Using the OpenType fonts TeX Gyre Termes";
   stripPrefix = 0;
   sha512.run = "df52961346796914dca6c8f7c45671aa5da8c8ae4d55b951b5dcec6168c90082c02734db1133a119c951e50507ff1edf777b8976e34da1fc1cbc7ad783d4ae4c";
   sha512.doc = "221decd0f8193912d30032544095c3f30c4d8fd3b52ab74dd167bec1de528c8c9b753681985259dba859f8fd3d06ba239665bbdcc93d80904235c6f62685dba2";
@@ -43592,6 +47396,7 @@ termes-otf = {
 };
 termlist = {
   revision = 18923;
+  shortdesc = "Label any kind of term with a continuous counter";
   stripPrefix = 0;
   sha512.run = "799d5fbfb9b055e8674a244ecaac65c2f0412a4c173e6608fff946544142d851d8dbba02505fa8be21bc37b15acc2ba99a6f0dc77a13dd241fedea1c1b38dec9";
   sha512.doc = "14add37c32500f246eea2a3219b58a232c9a8f41cf3cf5a0d1d2aaf4cba4d700c1ba5379b037fe10cfc06385ff0a7d0925b46beeef15dff2502142e56f37e597";
@@ -43602,6 +47407,7 @@ termlist = {
 };
 termmenu = {
   revision = 37700;
+  shortdesc = "The package provides support for terminal-based menus using expl3";
   stripPrefix = 0;
   sha512.run = "5c3d4ac4a2bab5e18453b9de0b372b364981444df3550c3a195a8fee841a6d76e73835096ff1b71a37f5e5acf0fd2777dbc8846be9345f99b004adb560ced517";
   sha512.doc = "029f4ae3b57e0b226883e66030db2d3c41cffc0a4dbd4f8b3662562fd566d8a09b7aa0c83d98f7fb0cdfbd1226c5dde9c93211565292f037e5b5554e9a5d02b4";
@@ -43611,6 +47417,7 @@ termmenu = {
 };
 termsim = {
   revision = 61414;
+  shortdesc = "Simulate Win10, Ubuntu, and Mac terminals";
   stripPrefix = 0;
   sha512.run = "132615cbdbe257f2c7643414ef4b577053425e457a2e2ee2a9b4d8d56a7e6758db587b7f5223ef1a324931f5468ac5365b7dde7b971312bc8b8ea069ee5efb9e";
   sha512.doc = "af5047a490608fbb5769b6b4d3dad3fac6b9b20abb5dbaf20d08a633045ea45ca1a01f572d3f0701567a91a8429ae0c7279fa82f054e6fe0802d413765c46ccc";
@@ -43621,6 +47428,7 @@ termsim = {
 };
 testhyphens = {
   revision = 38928;
+  shortdesc = "Testing hyphenation patterns";
   stripPrefix = 0;
   sha512.run = "c16a9299721c571ce9bdc91e4ed4cc54c973b43fed5189d2f377b2a9143d94d3eeba6bd6b728e3df92a5436b3e2c5e07a21d4a6af0210bf87784d40d96caa42c";
   sha512.doc = "44cc1d9afa4e12ef2dc1f7be2d7718fa33b80e5ee16c7396053690bfea6246f444b50cb044d314ec677436a3559ff1ba9fa227acb446db37bacaa2829c309b2b";
@@ -43631,6 +47439,7 @@ testhyphens = {
 };
 testidx = {
   revision = 60966;
+  shortdesc = "Dummy text for testing index styles and indexing applications";
   stripPrefix = 0;
   sha512.run = "e4179ab827eb21f27fabdd06674302ac141b6abf889e87c4183b4d86253ae35b5ea277ecb8ac36e66d51a4e25556fae092f98bfdd768d34728412f3bb8b5faf7";
   sha512.doc = "60761fa19984e3ab2a0b5420320a43b84c1174a4e6722c75523fcaff43206ca2bd01f24af74ee307b5cd7d12196238f86539f8cfafc27168bf134df74e2736df";
@@ -43641,6 +47450,7 @@ testidx = {
 };
 tetragonos = {
   revision = 49732;
+  shortdesc = "Four-Corner codes of Chinese characters";
   stripPrefix = 0;
   sha512.run = "dbb37eec17d41633d951b3202289289bffd9bf9a8f509cfbb7f98baab9b7e684e7d7fbfb5f50ce41251d09d9f0ea81fd9e68fa91984e788e5e43f8e398463fff";
   sha512.doc = "f55cba055574e78934b8766f02de08f417f625042627c2c1e64cb7fe39ecb1e3553d5b862afe521f4d65805713c856ab000e3db3b7fc906266886f2ebec490a6";
@@ -43650,6 +47460,7 @@ tetragonos = {
 };
 teubner = {
   revision = 68074;
+  shortdesc = "Philological typesetting of classical Greek";
   stripPrefix = 0;
   sha512.run = "c5f03b824d75099a38f8d203722d0edc4136392ff282489f6473a83dc178f536eb972ede3bd9371f47f39dfc2dbda6b4db78d282642889b4036dbbdb8e49a473";
   sha512.doc = "f1d7123e4438f781f6f4f7448119c7dc968be54888c027f8a7c95e5c70f06adcb58d127de21679bc125355f85f82ec94d2537cb0467f7c285427fba6b8f50775";
@@ -43660,6 +47471,7 @@ teubner = {
 };
 tex = {
   revision = 66186;
+  shortdesc = "A sophisticated typesetting engine";
   deps = [
     "cm"
     "hyphen-base"
@@ -43683,6 +47495,7 @@ tex = {
 };
 tex-ewd = {
   revision = 15878;
+  shortdesc = "Macros to typeset calculational proofs and programs in Dijkstra's style";
   stripPrefix = 0;
   sha512.run = "9850acafe002f1b6b147d00aee55e4cd9c1813edbea0f570282119fd8b2f134d3a48c113cc9957c69905c4e88a06097c45829026342d7ec88838870eedd7fc44";
   sha512.doc = "05f6414dd2309401d1800e2b053d7907703e144f829c2e7623a7c98c1313da50c0a659c25fa0d9a0fcb8b50891c575b47d8fb8a90b925e105ed9a6f8c45b8667";
@@ -43691,6 +47504,7 @@ tex-ewd = {
 };
 tex-font-errors-cheatsheet = {
   revision = 18314;
+  shortdesc = "Cheat sheet outlining the most common TeX font errors";
   stripPrefix = 0;
   sha512.run = "403b4faae7b16b1eea5a4d2a7d77bcd8a6e7a7b5be54299b79635280be8f82f59d281380754a0bd1b9e53ff4fb534fb3bca0cf8bbe1cf0ee88ee4d925fba103d";
   sha512.doc = "adc72626fcb4c5a9285ad4a7cfd1c6b984f1aa26c7732f35cdc241f7b00d623f6b646e878317f30d10b9f47f4eee33e923538be58f3c15bee668f4fe652f0170";
@@ -43699,6 +47513,7 @@ tex-font-errors-cheatsheet = {
 };
 tex-gyre = {
   revision = 68624;
+  shortdesc = "TeX Fonts extending freely available URW fonts";
   stripPrefix = 0;
   fontMaps = [
     "Map qag.map"
@@ -43719,6 +47534,7 @@ tex-gyre = {
 };
 tex-gyre-math = {
   revision = 41264;
+  shortdesc = "Maths fonts to match tex-gyre text fonts";
   stripPrefix = 0;
   sha512.run = "a50a9eaa30cfd7754ae702a3bd6fced2d07fac858215b913945665940c71a0aafd2b59a0d0baa0fb9d5090773ef69a86864cc11126a5e30adc3d0e94cdbd2594";
   sha512.doc = "cd346226dc36bb4fb5324a43dfab7790cd80ec6bba992849dfcca74ea6fe8d85fe7e0ac66408a41ac1ef644e6b32c9b06d337c4f394fbfd8fba4153fbc1abfe9";
@@ -43728,6 +47544,7 @@ tex-gyre-math = {
 };
 tex-ini-files = {
   revision = 68920;
+  shortdesc = "Model TeX format creation files";
   stripPrefix = 0;
   sha512.run = "58f8b1dd44be6ea67dfaaa67a4f7c6d27d222ccc7c7898c31ade4f23ae39a9a5aace902f05ff48bb3f6d63eae38f9db93b75c4d2efeacd394230694eebc33fa3";
   sha512.doc = "9caf187a5589e49f946a7fc5ad332073dd2a90d82f71587a57ee9d62e365321fbf14e69e3e3448d85302cf5418a2eb7d94a114f95c575867b52579f6c35d5e48";
@@ -43736,6 +47553,7 @@ tex-ini-files = {
 };
 tex-label = {
   revision = 16372;
+  shortdesc = "Place a classification on each page of a document";
   stripPrefix = 0;
   sha512.run = "513310d4dc5240d0b290d0acc941455ba64e069d19c223670d05a632033aba8de367d5dce6acf073af4df476876d3ee414dcf9f1f579738bf9bdfe6738c19d36";
   sha512.doc = "bc705cf6812515923d60cf44b75830bd3ea78f078c9ef88ded3e94f060155e1fbf5dc1485cbaa8530e1f10b41b421e70bcec6c61066ee98b498aba7ea8799dc4";
@@ -43745,6 +47563,7 @@ tex-label = {
 };
 tex-locale = {
   revision = 48500;
+  shortdesc = "Localisation support for TeX and LaTeX documents";
   stripPrefix = 0;
   sha512.run = "0e3aca622bb6fb49a06a3aea1d997414add9272dd39c10c3a1d80956dece59882993b24366a1126acab80f8a7c8328a30756f727210f829f5eb838ac0b9cb1a6";
   sha512.doc = "d3898da3687603b1f1f3f2f5b203d01c985ab0c3e39eeb05dc7c855c14fad8b73649777e4a0b7844c242bc8946cab80b585987eda37a1c10e3ba75c6955fee23";
@@ -43755,6 +47574,7 @@ tex-locale = {
 };
 tex-nutshell = {
   revision = 70378;
+  shortdesc = "A short document about TeX principles";
   stripPrefix = 0;
   sha512.run = "46f2ee7186bbeaebf250eaf2b5768ef4827bcd3c87a037fff5bc88d45c749f65e25f60a02639bf793e50bc66a11d9da365f4b1068143ab5edbf11c59818da02e";
   sha512.doc = "cb3d558047b0737a0dedc904f615c309be9b13ae53f99871d8facc62c3efcd00b933a67f496d24d9d896c1b96b8f21e257487b610633a73b30017b87e98bf70d";
@@ -43763,6 +47583,7 @@ tex-nutshell = {
 };
 tex-overview = {
   revision = 41403;
+  shortdesc = "An overview of the development of TeX";
   stripPrefix = 0;
   sha512.run = "1217aeba55d723dad2843509ad3adf205090298f2362ba4ce23d73ec581e439c344f055281a95f82bd8cec298c77da012cf892e60369562238bba7f8b8d258a1";
   sha512.doc = "0cd9941afc0e50d3d936f5ba1f9d2c7f16244899982ff7eaa44bb019653b5e4e142edc1ee608ca1664636c77178dd8a02f4625a2216a019e770651a718f0a27b";
@@ -43771,6 +47592,7 @@ tex-overview = {
 };
 tex-ps = {
   revision = 15878;
+  shortdesc = "TeX to PostScript generic macros and add-ons";
   stripPrefix = 0;
   sha512.run = "cc616b501be7c0724646d5e0f326a5729df8f4cb0c4070f92bdd3b5b370e496efd6208b3ec8b2387713810b9764c75525689f434b7f482a83fb0b8e9b0383cb6";
   sha512.doc = "2f82f63954c1407c2caa9c39a538ed1cffeabfde8ac0506906f0f28430d12e18d858040ee66f2326cad3fa758c23d1ed490b70c5d18eb68b699b7ddd0afd15d1";
@@ -43779,6 +47601,7 @@ tex-ps = {
 };
 tex-refs = {
   revision = 57349;
+  shortdesc = "References for TeX and Friends";
   stripPrefix = 0;
   sha512.run = "aa03714a0ebb90c7431935608851c504080f8985db3bbba98cbfa9b957e0a3fbb87de8e0119bfdcc996d664aa46bb943c6f90b36c4408a42f14fcc8387508df6";
   sha512.doc = "f033d8d8bfafdece7b79c8417bce19dde484adbaa958497c0b4426448e6ebbfe8dcda07a34c336c3abe038447ea9e5177bce4660c9b8be36b0f94d02fc7a41d5";
@@ -43787,6 +47610,7 @@ tex-refs = {
 };
 tex-virtual-academy-pl = {
   revision = 67718;
+  shortdesc = "TeX usage web pages, in Polish";
   stripPrefix = 0;
   sha512.run = "23005895f708b07162b2b251be125b70dfa8ef6add8ef7c5dbab2c5a2e211f65fce8432cbf3ee324a9b72c2296d5dfffaaf5a52d77425e4d6fc3c042397d6bec";
   sha512.doc = "fd22d5a6c34e5ab7859bbb515d54e822eb5167853abba3e25d5137df1bc34f0bad9892c16f7ed5dfded8b90651551e1ed84a00d561c561ba18f50fa04e7bc7af";
@@ -43794,6 +47618,7 @@ tex-virtual-academy-pl = {
 };
 tex-vpat = {
   revision = 66758;
+  shortdesc = "TeX Accessibility Conformance Report";
   stripPrefix = 0;
   sha512.run = "918054527c2d325ac0c1bdd621014fa4c79d7c6cf4ec8b5ac5d81dee84b9159fab0cc0047ea35eeb2de4460952126b3bdcd03395c29379e9df517ed7243206f0";
   sha512.doc = "f16ad935930ab663bb2e5b486c4fe53b3bd9e883c660d97893c4aa86bfe22f7ffed77dc66d88060f7eabb1daadd2dc77742c1d9604ea94d26594aba340693f35";
@@ -43806,6 +47631,7 @@ tex.binfiles = [
 ];
 tex4ebook = {
   revision = 70117;
+  shortdesc = "Converter from LaTeX to ebook formats";
   deps = [
     "make4ht"
     "tex4ht"
@@ -43824,6 +47650,7 @@ tex4ebook.binfiles = [
 ];
 tex4ht = {
   revision = 69739;
+  shortdesc = "Convert (La)TeX to HTML/XML";
   sha512.run = "c78b1daae522e9dfb8a0c3b49e04cfa57d68bf96555cebb5ce2700f87748e7c7f5092ad1329f9bb03d1c3f2f11eec58653a66aaa51e295b8aeb7f3606d7d87af";
   sha512.doc = "135b1475d6b4f8650a6e9363caeed0c769ea6ea2512a585b19767ebd440123f39206ebf80b708c37dc3f269b9dbec9bc91a306c36055324e883f679338fcca16";
   sha512.source = "1366b563e320f55c4a005e25520b942c9d4e6a1dc6204a3f4e5416fdc6d682cf1b3829233780f4fb7ea81881b3b32f741ab87c2496bc75ef45993c4769fccda7";
@@ -43849,6 +47676,7 @@ tex4ht.binfiles = [
 ];
 texaccents = {
   revision = 64447;
+  shortdesc = "Convert composite accented characters to Unicode";
   sha512.run = "5a2a79c9faddebd523939cb3cf42236b1d2c441a036cd7fc6f6f62422e5142cdbc0a45ddaa9e642266c41c9fe5b723fc440d0372639cffd399a89d489bd11b66";
   sha512.doc = "87bc11f186513adbf32c15af2f1c1253dd72802fb2008b76b9d7d67fc0a039aab0d2424fb853b6bd8e968cd4e9c1cd93bff786fa07e84593fbda99191b053eaa";
   hasManpages = true;
@@ -43865,6 +47693,7 @@ texaccents.binfiles = [
 ];
 texapi = {
   revision = 54080;
+  shortdesc = "Macros to write format-independent packages";
   stripPrefix = 0;
   sha512.run = "e964e090b4bf4e924166d0fbd8daa2087a300d4da9d993bcabc624dc78c3f2db9984f2aa851740e61706af213d112cb32e80795ec2cd4e23a69c13ed92fd91d2";
   sha512.doc = "0f3886e76090beb0dcf295ba875b9ddcd950da4d50da710f1b4417ffc7c1ceb48223a20d7cc93cac3cbe2f19edcfaa74c801096fce33c55e9fbc6c57b1897b22";
@@ -43874,6 +47703,7 @@ texapi = {
 };
 texblend = {
   revision = 68961;
+  shortdesc = "Compile segments of LaTeX documents";
   sha512.run = "fc2026a5b2487af785957873f20fb91045262df7df2a2a71777da76727c054cae19b1e005d30b2616469cc009f680973091a7ce6d291d2ff29b3bcc8a47fc12f";
   sha512.doc = "936b56f3823567252297cc3a659d951b501a5f60b2d43f6d8b19fe803ce651d67363d026bd97d0aded3320148dc230ff81e8961cbfbdb5c9a822da94070bb945";
   hasRunfiles = true;
@@ -43885,6 +47715,7 @@ texblend.binfiles = [
 ];
 texbytopic = {
   revision = 68950;
+  shortdesc = "Freed version of the book TeX by Topic";
   stripPrefix = 0;
   sha512.run = "d2418ef6b672e82c08b2f7b7f0089a9dea1f514db584662351135b511912faab828956fc252cd854fd2bb1243bc0e1af428e294eb92935cb63b38e73078858d9";
   sha512.doc = "787b12bc92a17a00fd8278138d0e36d94be377fc23401c4bd677c372dc1d19b4b88c12395366b8ba5d766fbd7bc364588986d7528572510a43ba48ee0330b787";
@@ -43892,6 +47723,7 @@ texbytopic = {
 };
 texcount = {
   revision = 49013;
+  shortdesc = "Count words in a LaTeX document";
   sha512.run = "82f51346d9474270af6374cc1619ca005206b1bd729ce1559b8b66e361b184a192c7fbe085216a3a64e656197756593f7d76e52437ac562fd33bf09504b0f58f";
   sha512.doc = "5141bdf4378cf87a19933945d6742427f4467dc73d92f4a470e34474232dbb2f60c4d8db065f812481520f1aa2f8a90d7e97dfc83f0f089d10386847f64f4d94";
   hasRunfiles = true;
@@ -43903,6 +47735,7 @@ texcount.binfiles = [
 ];
 texdate = {
   revision = 49362;
+  shortdesc = "Date printing, formatting, and manipulation in TeX";
   stripPrefix = 0;
   sha512.run = "c6f34d5ab0c54f799669c4c44e8c6e00381796ca76b9d2e8352a749effe65b9ffd6ebd139998ab9267d1e54da6471f5f38cc6931f7ff046882261cd5e5440bc7";
   sha512.doc = "2338dd99b32a1b2e04326e888b718f595a26848bbef17206f92a0a0f26556edddc3e0a06327d86e72fcb3e55270bcdff846cab3bfc37cbd61115b601164fc10e";
@@ -43913,11 +47746,12 @@ texdate = {
 };
 texdef = {
   revision = 64967;
+  shortdesc = "Display the definitions of TeX commands";
   sha512.run = "ad6b67da367b1cef01db4e7d912685ccfde58babd7dc4868325624114d85e89f5daf3a47fd855dc084ffff66e332ca85c5d77f682d7bfe1b507c43e0a0612977";
   sha512.doc = "bf84f04183654db606a7ebcd30d4986bca69e633439511cc7d9cf57a3a1210231ed158d2bcd86c5014065d355ec94faf3d5f9ab08be568eadc6637ae9cb72aaf";
   sha512.source = "d8c20d77f5b5c68e0acf2fc26a8a0d142aec1377554c3f6b6cf469aef28ae2b82ab4c6844ed8414cad073dada8a035175d6e48b53699daf029ca181cea41f112";
   hasRunfiles = true;
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
   version = "1.9";
 };
 texdef.binfiles = [
@@ -43926,6 +47760,7 @@ texdef.binfiles = [
 ];
 texdiff = {
   revision = 29752;
+  shortdesc = "Compare documents and produce tagged merge";
   sha512.run = "26fa84b3090d641efb186947ce4d1d89c30a2c224cfc8fa759da3ba7ec9cc113c0ed4afc1c3d0fa5f9d0a88af4f9b3001d57651df6b5be6e0234fb78ec4f252a";
   sha512.doc = "d458fa8db6433b4c7fbd23a16f9be53c2c822e396e7f50844cfa6acdd2a08acf8efdd0bd946c8fdc09ca8aa28d1eb25708d3719184634abced92ea5c94d9a948";
   hasManpages = true;
@@ -43938,6 +47773,7 @@ texdiff.binfiles = [
 ];
 texdimens = {
   revision = 61070;
+  shortdesc = "Conversion of TeX dimensions to decimals";
   stripPrefix = 0;
   sha512.run = "737074790de5c16de0e30dd6f708d6b8ec43e8d387ced2dc6b16b64f38854fad7367884abeab71fd41eaa79dc0c5939904314deed97331f9919a1fbefb0108d3";
   sha512.doc = "3ab30a8de33cedd4bdb9aa0a84104eb5b02be164de9f6fb81a51dbaa6caabe0029228c311970a3287cfbcf270a5430d6883756e9c28fc924a3286d76bb71217e";
@@ -43947,6 +47783,7 @@ texdimens = {
 };
 texdirflatten = {
   revision = 55064;
+  shortdesc = "Collect files related to a LaTeX job in a single directory";
   sha512.run = "3cd6cf4d9ff3a1a3daef0bd5a998417696f6645cb54679e99e5424ebbe3926c45acad7b999ee4371392a7ba13fe3f2899438ce66efca7829c7aa1eaef84aa6e5";
   sha512.doc = "1114dce13ac47c4352e968f42e89582b62b2702bc25ce3a9a4fd766b3bd63607e11eab52d19bc9f809b2b67cd92153c4f591632cfc72dcaf1c0a1b1cfb416b11";
   hasManpages = true;
@@ -43959,6 +47796,7 @@ texdirflatten.binfiles = [
 ];
 texdoc = {
   revision = 70583;
+  shortdesc = "Documentation access for TeX Live";
   deps = [
     "kpathsea"
   ];
@@ -43977,6 +47815,7 @@ texdoc.binfiles = [
 ];
 texdoctk = {
   revision = 62186;
+  shortdesc = "Easy access to package documentation";
   deps = [
     "kpathsea"
   ];
@@ -43992,6 +47831,7 @@ texdoctk.binfiles = [
 ];
 texdraw = {
   revision = 64477;
+  shortdesc = "Graphical macros, using embedded PostScript";
   stripPrefix = 0;
   sha512.run = "f4d160e494b1579743a83b2a0926df9e8dd69fdaa79d3f4f97e0ed5f4ece31ab380ff6994a1c9015e0af9b842bdfb9b066442ca4b3018df6659922af9f746b0b";
   sha512.doc = "e177209a937fa1d9d683eb805e9e8929612b4b1ff750955d38ca681b657662712a59609990f77021063a223ce61a92fdd567eee91376ef4b67fd3a322db09463";
@@ -44002,6 +47842,7 @@ texdraw = {
 };
 texfindpkg = {
   revision = 67027;
+  shortdesc = "Query or install TeX packages and their dependencies";
   sha512.run = "a6fee1faade94bc462dd4fd0e567b7716d0dd057e0c973b9a498949e701bd054fa4fce1cb8717f1d052ab03ef9b894e2f222e2e9a70957215f7266bcbef15f57";
   sha512.doc = "452df8270ee53864594cef99a7ce0fbb6b325547de0ebcecbecb4463646706fa9e726fd433f31c4f6c44d2bb915431aecd7150921043e50f6b3a2ac5e51eeb70";
   hasManpages = true;
@@ -44010,7 +47851,7 @@ texfindpkg = {
   scriptExts = [
     "lua"
   ];
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
   version = "2023E";
 };
 texfindpkg.binfiles = [
@@ -44018,6 +47859,7 @@ texfindpkg.binfiles = [
 ];
 texfot = {
   revision = 68110;
+  shortdesc = "Filter clutter from the output of a TeX run";
   sha512.run = "0886ab706ce0f18b0eab304afa1d570fd55b57bc02c8b3b1aacde77c73ee260f688bd395b2e362cb998cc1aa9a2d1e228b118f5234eb9c40ce867a97d86f4ac9";
   sha512.doc = "d652523552ad401598c68227b3e0e11c84261a3a243afc731f54892fc971c8f22e74bb58b6eb45ac15f70c8789e5a4a9c4dfca81a3dc304762ab97c8bc74e3c4";
   hasManpages = true;
@@ -44030,6 +47872,7 @@ texfot.binfiles = [
 ];
 texilikechaps = {
   revision = 28553;
+  shortdesc = "Format chapters with a texi-like format";
   stripPrefix = 0;
   sha512.run = "b65e737c138a176e6674612dda6b066a9953d8b737fe2e947eb10c058d6b67eb27f154a3ca4f346481f4dc077fddc2c95cc302762a9e9eaa2f0f1d23160bd4be";
   hasRunfiles = true;
@@ -44038,6 +47881,7 @@ texilikechaps = {
 };
 texilikecover = {
   revision = 15878;
+  shortdesc = "A cover-page package, like TeXinfo";
   stripPrefix = 0;
   sha512.run = "fc73ce5601a10d638ea78fe815978d395001a73be75084539498644ac7f3fea0f3a57e95bd80e5f38659891adfd9c817e6068acfe04972a836938d733e0d4382";
   hasRunfiles = true;
@@ -44046,6 +47890,7 @@ texilikecover = {
 };
 texinfo = {
   revision = 69818;
+  shortdesc = "Texinfo documentation system";
   stripPrefix = 0;
   sha512.run = "5a87395dfb732e8cd213d50c3bc3079c4c6dd6a070e1be580dbe45c02b2c9f0f3d5590dc36222d0833c262c6412024e55f0881e92358715a585dda064b964e2c";
   hasRunfiles = true;
@@ -44054,24 +47899,28 @@ texinfo = {
 };
 texlive-common = {
   revision = 68510;
+  shortdesc = "TeX Live documentation (common elements)";
   stripPrefix = 0;
   sha512.run = "1d56101ace5038cd3b8d36c90e026a1c26363535fffbe1ffab64dfbd01408e7cdfb66045e11b13e22491f238e2d3a7015fdeb9bf75fa56f581d2ca5da8f1a01a";
   sha512.doc = "c9832e8249440656334db12b6ee54b467fdebe1194b6adbb8d28ee375250bc6458e8c1b48b5684eab0ff2f0b55db4f4ab6e77679df447a01070a15c1243e5d83";
 };
 texlive-cz = {
   revision = 62854;
+  shortdesc = "TeX Live manual (Czech/Slovak)";
   stripPrefix = 0;
   sha512.run = "5491e3ebe9c70887450f8404b64c01a8f4c4c54314d2acf3d33b8921f088b8885074d53bdb42351198daa9cd2c72b1ef97b1e9af5092aabded700ea6f2b995f1";
   sha512.doc = "ff1124b30be77782b5c5a1b80ae69c852a5a9e81446c0574007bc28910ea6202662514a34a85858c577bb528f9fbcc11f798614d11914876151d5aeadb3fcd7d";
 };
 texlive-de = {
   revision = 67108;
+  shortdesc = "TeX Live manual (German)";
   stripPrefix = 0;
   sha512.run = "521ce2f9dce3fb329de464ee847c077d449885869e964648e8f89d920231a68bf0d3562e5b54b3cf36716dc3d85b4f0d0591e06843796f216670f963c7191324";
   sha512.doc = "30eeabe60126b3cc7fb8bd400613a9a5cd0484ea73a8fd0e4c3ec7edee5e985c64c8073cf2b121446b9ea1b60ee54609687c168a75198408a30cb221d4a0ffc1";
 };
 texlive-en = {
   revision = 67184;
+  shortdesc = "TeX Live manual (English)";
   stripPrefix = 0;
   sha512.run = "d77184250d7014dc65e74baec435fe42e784f80349df81782e8e1f7681cd14e3cc99313d61d72c010e5ffb33a0de06890c359e7b582e94662f253f8ed29cb7eb";
   sha512.doc = "9da87903b5ebfb7ae0ea257ecb77654fe53d93b86fa73d8089b5b2adf46183862e6c67d3b93d6e112f750cbb4af6d6b034f35a1628adac413b61857a91dd962d";
@@ -44079,47 +47928,55 @@ texlive-en = {
 };
 texlive-es = {
   revision = 66059;
+  shortdesc = "TeX Live manual (Spanish)";
   stripPrefix = 0;
   sha512.run = "d055fbb5a4cee9d207f60ee27033534917a0e91dd2e37791290737bd2727b47ccbb3199c0e18f4a564f15e5dbed3599203a7b3611558a26f784713714262311c";
   sha512.doc = "f124848f80289190abadca35a259d60781b5ae75771687ee44e863ddaace61227217a7c1ba888a85afd28583f1eadd4c91b03e224f5cb1b4516772243ac0fe63";
 };
 texlive-fr = {
   revision = 66571;
+  shortdesc = "TeX Live manual (French)";
   stripPrefix = 0;
   sha512.run = "2b5f6f94f9e9b3af2a18de94b85615bd09cab31d9e3f01b9ac78df5d22fae6ff84d300cc39aa92d1dac02d858c69e86d9d3dbda422574a4c3ce4652b08990090";
   sha512.doc = "5463c1ecd592e7d304325276f950964cb52cedeab20084137deb0f4b7de1b17b536e4b030cd0e961191d61912f9c4db27f16e6e196104c84ad16ff7b545a7e9b";
 };
 texlive-it = {
   revision = 58653;
+  shortdesc = "TeX Live manual (Italian)";
   stripPrefix = 0;
   sha512.run = "22874afcd046572176439818fd3a1c2200d00c0e184adc4fcbfa90b2ecc88dac7f5b28eb95c74bd546fd7472fcfdb2c5b74e5b1b5d08ffe4d4a5aa5f924da698";
   sha512.doc = "0c0d3585bb2c12476751bc5dafb5ea5e10dcaf5149b98e823e607d7a99e5bd9dfd698d73950ecb1efe353435ba2f88be2c45e18c6cde2245df90cebfdbad4417";
 };
 texlive-ja = {
   revision = 66482;
+  shortdesc = "TeX Live manual (Japanese)";
   stripPrefix = 0;
   sha512.run = "92f3767daa4e88bcbcff86aee215bac0ea945645a626e9612e033ad12513e41d15ce8074c22cd39b0fbff9d951608bee799dbefa431c31ca9e8f4681f15242fd";
   sha512.doc = "464442dd7f1e77598e7bdbb6884453f5a4a2f57d5d8b028d0126e5bed50b3c19f9fefe13b602ad1aff3334e45e8082f2a1328f884ade2ea92ba4b054a41c4b5a";
 };
 texlive-msg-translations = {
   revision = 69796;
+  shortdesc = "translations of the TeX Live installer and TeX Live Manager";
   sha512.run = "470b395fc5ae1271c39ca5e85d7432e46ee2379a338120fb442542fb3513508dfe8c1326cf60148a4a3f58cbc990913dd272661c6b9a942f167ee6d6d15ac7dd";
   hasTlpkg = true;
 };
 texlive-pl = {
   revision = 66576;
+  shortdesc = "TeX Live manual (Polish)";
   stripPrefix = 0;
   sha512.run = "b43de2e6d5fe66c53370a4c43ab1a66cb08f353944f58756debc40d6651cb5df11824d1eb4ec79890b449ed611b8674c0773a4e477ad4abf30f162906c1f75ec";
   sha512.doc = "09319f848fe28ca344367f70c826380b3927aa26df7eeb195f6eb176d4951ded181cc47c772f401e1e7936de5fb3a9be3339c69f5bb4e8a5f9785f7313e6baa8";
 };
 texlive-ru = {
   revision = 58426;
+  shortdesc = "TeX Live manual (Russian)";
   stripPrefix = 0;
   sha512.run = "7658ab0d98a505eda9a86e9ecd64b0e35d9cd332b03066b46825c2a6252b9aa8edb24eb4af2bfc267127b349f741709ada836104dbfc2becadfd97d22e737365";
   sha512.doc = "40e8b29f29ed61addc2b9e7ce4b73d12bf2e59f1c50c65e59e9c8cac5e6c3ef264ce2071b0d54e15f5029c101a51d0efcda0144e113aaedc714eb1300aa9635d";
 };
 texlive-scripts = {
   revision = 70585;
+  shortdesc = "TeX Live infrastructure programs";
   deps = [
     "texlive.infra"
   ];
@@ -44138,6 +47995,7 @@ texlive-scripts = {
 };
 texlive-scripts-extra = {
   revision = 62517;
+  shortdesc = "TeX Live scripts";
   sha512.run = "46ac37826d3c60de6c9260bf83d6275d49a35cbde88fb03481a050f92e87b698e9a94b2e520a74edc0417419f5a2dee53000a529b9c81ea6f6244a83480e56e7";
   sha512.doc = "22cf59bf4dafc7ad9425086bc0aaedb2bf5f7d8aa6ea9c65abde2d523be37665b9c9bee4acb399857eae03613e7241ca1d6099f43cab77a95c10eced8813ad80";
   hasManpages = true;
@@ -44180,18 +48038,21 @@ texlive-scripts.binfiles = [
 ];
 texlive-sr = {
   revision = 54594;
+  shortdesc = "TeX Live manual (Serbian)";
   stripPrefix = 0;
   sha512.run = "de99d6d13c6b68f8327c0b72dd3ab8aef92d07085f3eb59d94aaf8901d11d542c0795a33cb2bff1ff0dfb1acc99e43fc767150956abd873536a7d4e3b8f031f7";
   sha512.doc = "4e07f6f015a023af113822e409e03405f49b9786f854308c14f2060cac75d8420ddab090696044860be75f1337b6d3b6e7a45fc0d56969b0894efce3a8c60ae7";
 };
 texlive-zh-cn = {
   revision = 54490;
+  shortdesc = "TeX Live manual (Chinese)";
   stripPrefix = 0;
   sha512.run = "1a7e43528c2dac5c623943b1b268b99f0db6a4876f50c5386a8ea160b8b5e066604d34c0a53cee25cc3f839eb7f4be177e3d98ed51c83c77df6293c77a02e0ab";
   sha512.doc = "534c505455c5f9c73803c140a340df2882a97516e15f52c5b65695b7c626404336a0e4f6190155b5bda1b9a86d7f4d44ac294bccec791ec6701e56d13c00d71d";
 };
 "texlive.infra" = {
   revision = 69740;
+  shortdesc = "basic TeX Live infrastructure";
   sha512.run = "d3ef23150149d240d8b74f5b9f6126de90f44960238deefa94415310586790d5324f9fd83478fa4d726ef6dff516f5382222f56933599b384101521a66d0a248";
   sha512.doc = "fb06ad12bea2d062dd5e2049e74e096064198242f010cd6e04e2d4a92a7fc39ae829003c7ed3f8347f96c99c31e26ec44073b45ed3ebbe9e18fc78e801d00c94";
   hasManpages = true;
@@ -44204,19 +48065,21 @@ texlive-zh-cn = {
 ];
 texliveonfly = {
   revision = 55777;
+  shortdesc = "On-the-fly download of missing TeX live packages";
   sha512.run = "63353a768b700ea11982e9552046dfd1dc3d844883f03099833cabe2af5ccddecebd7ef737fbcd256c90304174165a4d283d4912f8311508e61c723d751619a7";
   sha512.doc = "46d57a6ebd68a56d55ccddc68006693fcbad8ed8f809243a3ffac7adb82da58cbc28239b57556d5d8d6388ea034b6571557588ff9365d4891145d5cc3fabfaea";
   hasRunfiles = true;
   scriptExts = [
     "py"
   ];
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
 };
 texliveonfly.binfiles = [
   "texliveonfly"
 ];
 texloganalyser = {
   revision = 54526;
+  shortdesc = "Analyse TeX logs";
   sha512.run = "85f491af4a3867283d56bc2d98ebcf491e622008b3a70bb2cae03b9deb38170e1c73088d109445fac11fcce6e10aac57f42f03066580a79c978dd19af1f74caa";
   sha512.doc = "8eb890f880dc56d37e29e2f0bb3228e36031d45010677097136d40959ba7ec0cdd10b5056169325f481318f137a9de2f180438f1716bfa12705fcf0db315e3cb";
   hasRunfiles = true;
@@ -44228,6 +48091,7 @@ texloganalyser.binfiles = [
 ];
 texlogfilter = {
   revision = 69919;
+  shortdesc = "Filter LaTeX engines output or log file";
   sha512.run = "cd70a50317af4ed121bfca914ea3083d11be2087b9507a7caca97238ca5f62df418b2e059feb1d24492c87f57096f3e3268ba4921f9cff1709d43bfa6be29f25";
   sha512.doc = "7d83863001f4c57018253fc1ddcb08abb847a76307fda75c85f991670fcd8de006cee3c6292696596fc7be5eb752ff38fe63215e2a80a51d7a35e19dd8702914";
   hasManpages = true;
@@ -44240,6 +48104,7 @@ texlogfilter.binfiles = [
 ];
 texlogos = {
   revision = 19083;
+  shortdesc = "Ready-to-use LaTeX logos";
   stripPrefix = 0;
   sha512.run = "d3b5f5ea0dd90e925bffc1ac0f790848d1c2abe50003e2591c8efb219b4a205d48e4420d2000b3de15b1ff9d4d0bd9e083ba1694d4ee34febd68f8db0df16ea2";
   hasRunfiles = true;
@@ -44248,6 +48113,7 @@ texlogos = {
 };
 texlogsieve = {
   revision = 69436;
+  shortdesc = "Filter and summarize LaTeX log files";
   sha512.run = "a4e94f5674cc2bb54f03e285aa18a19d3c389455f2ab15e40998aed6d211435bde3fcf549c989364673bc77a93458e4146b0e662d4bd139e18880a36d4445832";
   sha512.doc = "47d11f611bc3a440dab6dea06cc55053802d2b78133eec21af4eb8d44e74b013a4dd8df0667b946afcbdd8132821ab1429f30f74da610bc1e1283793d465c454";
   hasManpages = true;
@@ -44260,6 +48126,7 @@ texlogsieve.binfiles = [
 ];
 texmate = {
   revision = 15878;
+  shortdesc = "Comprehensive chess annotation in LaTeX";
   stripPrefix = 0;
   sha512.run = "52c35f096426385f229b7ddb66c8ec2a20539bbad6296f2bdd230c2da79edf5668fdde0fc7ebac7099a414b622b31309fa7f610564c8212602f71dca7193c597";
   sha512.doc = "dc1ca347bfb0ba8c54403e643b4052604f98b39ced23d092808cb221e930384f49d1c34794a933b0a05c7691ef04158688653ce69eb8a4b72e9172b4254954ee";
@@ -44270,6 +48137,7 @@ texmate = {
 };
 texments = {
   revision = 15878;
+  shortdesc = "Using the Pygments highlighter in LaTeX";
   stripPrefix = 0;
   sha512.run = "6b0bc365ff7ba6a8118a4e83350e73d5c4dc40e6c30a0ed3267f0f20178a08264866bd016aa3a9da72d4f27a20bf7e8f658417561468294745b78911ff46fd4a";
   sha512.doc = "67b7843546704e9b48f6ffe75a33ab68a5d8ededf3cd45ca329c6ca5ffcc783f4ecb9a663fc4eb94fb554e3c43e753512f82dc8f2f7924c1bf4bb8942aabf749";
@@ -44280,6 +48148,7 @@ texments = {
 };
 texnegar = {
   revision = 57692;
+  shortdesc = "Kashida justification in XeLaTeX and LuaLaTeX";
   stripPrefix = 0;
   sha512.run = "09e4b3753d99fb4f99c150da87f5602dad5a28778f9489e67f6e4e45d5f9dbdf0edac43826c1a162280e9399d28d050b5ff230713b2e45cc2804f21a76dba0f6";
   sha512.doc = "403e75ef47ffc6da77e4d61dcc95419932d2b62ebb0c107cf612a195b0e2a24862139a518ead801ee15f56546c44bf9cf0e56aad7b4d8a7ede8529063aa745d1";
@@ -44290,6 +48159,7 @@ texnegar = {
 };
 texonly = {
   revision = 50985;
+  shortdesc = "A sample document in Plain TeX";
   stripPrefix = 0;
   sha512.run = "a51d7288abaa3bd03e8f3816eaf2d7f8931340e95e3897ea4a63ae3d251277a78e71ae66b617da6cc81a8100c9ffe64a1c9142369c67d58daf200ab2ed7c9682";
   sha512.doc = "5f03987ce079f21801f08a7e325a36c6f1065f5cc32ff2dbec7989bdd3a6b3c54ade8f96a71e19553972d3c36454a08b007adf3287a7be7972a8b3ce6961778a";
@@ -44298,6 +48168,7 @@ texonly = {
 };
 texosquery = {
   revision = 53676;
+  shortdesc = "Cross-platform Java application to query OS information";
   sha512.run = "d454a95139920c24404a501ad3bbde4ae8e809e0f0b6b7c32053d375e0cac31d81087a53d65ab067c9c6dfd988ae90429adbc5d7cd2e1b23f41f46dbf6a25056";
   sha512.doc = "51bc4e5a9f62b4526198b380fa69dd2d79ff69ccf0915aef4269d890fed057c4130ccca65e0c279e58ebfb72347d627b186534138f9c4bc8d395677c73a2a0fc";
   sha512.source = "5ed0dddadb7e8f406635d7a2cc309a030826607a76b4520b1f47a07affb603d96577118ba1fb5b9797322aa49a68616acbbcdde39bc8538c54c5d2fa1aebe510";
@@ -44315,6 +48186,7 @@ texosquery.binfiles = [
 ];
 texplate = {
   revision = 67201;
+  shortdesc = "A tool for creating document structures based on templates";
   sha512.run = "44f2e0008d1b8629bfd15267e3add7490c9a21e28d7b29edc5e37ca51e60bfbc8b25035cbacb57bea5df762ff9783ccfdfe6d9244bced55961509c7ad97046ec";
   sha512.doc = "bfcbb319719b9f8d4473c50afcd435eaa1cfb906f6107dd7e859bf40a30b452dc135ea1ce0a733c297112647fbc76d6bef16b9474a65d85e6d93e5df96acc549";
   sha512.source = "e11a6716016b40525f3ecb4906dc1b54650177f28e7759499928ce78af410ea9a159fa3703cf2098aae227b6bc126cb4be35f8637ef6e15c7df94fb8ce4145bd";
@@ -44330,6 +48202,7 @@ texplate.binfiles = [
 ];
 texpower = {
   revision = 29349;
+  shortdesc = "Create dynamic online presentations with LaTeX";
   stripPrefix = 0;
   deps = [
     "tpslifonts"
@@ -44343,6 +48216,7 @@ texpower = {
 };
 texproposal = {
   revision = 43151;
+  shortdesc = "A proposal prototype for LaTeX promotion in Chinese universities";
   stripPrefix = 0;
   sha512.run = "19265b32271b8603d8baf8b16f043c3228606230c1151a33e243e493b6306faa839860f2b07ec9d5d43c57f49e984134e760342bc6302186924e5c95cc1f3380";
   sha512.doc = "70c04643ced459099ae095c88c0316e96c75e99bba0877198c7800d3b5cc9ac872f74b36adfb03dde968150abb3cb99131fb52ecaff56dfbf1aa85379718a74f";
@@ -44351,16 +48225,18 @@ texproposal = {
 };
 texshade = {
   revision = 69371;
+  shortdesc = "Package for setting nucleotide and peptide alignments";
   stripPrefix = 0;
   sha512.run = "28ec64b312161f1157511d4a4dcccb3378bd054ed6abe75830b2eb98b30c5afb2ccd1bc88b0ee0fb049a3610e97b4408b8e66675094a74abe1bde8abe5d1a1e4";
   sha512.doc = "e06fcb1e6d743561ecc1b6a1a14e252fa5a7eceb2bb0ceb27409dd52c62ec5a1397cdbde7bf61e62b143af2fe6787a49ad3b6b9117f8418e409e54b26deb2a25";
   sha512.source = "23bc248ea1ee572c6ac13fcf9697810ad6881530a44adf9a16927801b0a951c3fe012295ac2816c85f203fcadfb35f04460510ea7fbe2fd758b05098a4f06dee";
   hasRunfiles = true;
-  license = [ "gpl2" ];
+  license = [ "gpl2Only" ];
   version = "1.28";
 };
 texsis = {
   revision = 69742;
+  shortdesc = "Plain TeX macros for Physicists";
   deps = [
     "cm"
     "hyphen-base"
@@ -44389,6 +48265,7 @@ texsis.binfiles = [
 ];
 texsurgery = {
   revision = 59885;
+  shortdesc = "A LaTeX companion to the \"texsurgery\" python project";
   stripPrefix = 0;
   sha512.run = "39c270382bb228beeb9ec61f744f66805c76a7fb1522158a59daa5dbbf29b3f4151c20d7dbadf404cab8ca023456b9988d45e53f65a1396da9259832390a0980";
   sha512.doc = "76fe49291714772ac56097e5869f82868d149959bc091d3e9b1810013c92440c05825e2d585841a3e7fe015d66e09c3e8a92847fe7fbb8bfbe308c62919e8c26";
@@ -44398,6 +48275,7 @@ texsurgery = {
 };
 textcase = {
   revision = 67755;
+  shortdesc = "Case conversion ignoring mathematics, etc";
   stripPrefix = 0;
   sha512.run = "1a4a29b33270f5100109f42f4caf529d3203a6bd1a934a06fba6ed3ed082f0bbdeecfeb7ff158182c88ca7d724422c83be2d170bba78738cb7417fecb13f65da";
   sha512.doc = "c8b42e576dc6458441703344724bb1ee8f441e79da8d59b1ccb0b6280de878ae65ac48e628f3230ee2094ee285a58636a6e37c29e4458d5f164c36cf4ec93d6c";
@@ -44408,6 +48286,7 @@ textcase = {
 };
 textcsc = {
   revision = 67193;
+  shortdesc = "Simple commands for caps-to-small-caps text";
   stripPrefix = 0;
   sha512.run = "99429871433a809febd561793ae53253812792f7ff20f154cd9c01ae3df95c19b1927e677b686b7ef19c6e66cebe2047136810ad287a67ad524d905c6ccb20a0";
   sha512.doc = "a8b38f3c369c5603d1a696672fd8a2c7a49e1d60c011fd5d2158cb9daf37fb4ecd691d859376c55086f894a9a2769a1b8a78d6b63ea4243a27b02bb2247bfdd0";
@@ -44417,6 +48296,7 @@ textcsc = {
 };
 textfit = {
   revision = 20591;
+  shortdesc = "Fit text to a desired size";
   stripPrefix = 0;
   sha512.run = "96638c0bd5cb14b629f03e4b6a3266160c75bcf05d871ce3d4262ac1c070d9efc0532411f5d8774f97362b148ef6cd1c5dd5253e72e3aebb542fdf14aa6d78fb";
   sha512.doc = "b88df8c99662a182483fc6d12d33d0bac5f6a32c84be700146d048b799045800cbb69b21599e5debac122995800b0e48fd82395c498a58df503395fcedc92228";
@@ -44427,6 +48307,7 @@ textfit = {
 };
 textglos = {
   revision = 30788;
+  shortdesc = "Typeset and index linguistic gloss abbreviations";
   stripPrefix = 0;
   sha512.run = "1652260a3e946a8847ceb7f937893bad27a24737d9b3573466f7369ce9cdbf900af0ef6c7f0bf3033200664da736e8232c3fbf6db61bb7d51acec1010d13a3e0";
   sha512.doc = "922ce1569fce889bc4608e9a5da4a45b7c3d2e80303ac36167efe6767c266844664de00384447e288da70383fe91261e5914394a6fdf8644349f785600271e5e";
@@ -44437,6 +48318,7 @@ textglos = {
 };
 textgreek = {
   revision = 44192;
+  shortdesc = "Upright greek letters in text";
   stripPrefix = 0;
   deps = [
     "greek-fontenc"
@@ -44450,6 +48332,7 @@ textgreek = {
 };
 textmerg = {
   revision = 20677;
+  shortdesc = "Merge text in TeX and LaTeX";
   stripPrefix = 0;
   sha512.run = "5ef9048849bd2515c1af0ff41d0b5189715b375464c15d4708e0152d99f01839c462a0c9d0a9a12f401375d38e2c53a0f0c314e6905e1bfb3171296448bab649";
   sha512.doc = "05a087347db5dce688065f56c106d022f3ac30d27ee5d2f420e7658c5b81df66549cda86193f3ce4fb2cbeaad37abe7eb32b984d00d4f25dd0ad51433f8d7a01";
@@ -44460,6 +48343,7 @@ textmerg = {
 };
 textopo = {
   revision = 23796;
+  shortdesc = "Annotated membrane protein topology plots";
   stripPrefix = 0;
   sha512.run = "89a415b1040ff44f62c452e61abf9a5760929953ff0a4740080f79e8343b2b4f4eef9340e5a83fded39a000947dbe7f2916fb18624c4512c5ab58171708de268";
   sha512.doc = "80bd54a9843fae371884b87710094f72926d5ad8a7e40308e9aa753b01533d3e649ff94831ea75aed264b5f9f5df482e157a1563dc85ab2976cbf9260425c5ce";
@@ -44470,6 +48354,7 @@ textopo = {
 };
 textpath = {
   revision = 15878;
+  shortdesc = "Setting text along a path with MetaPost";
   stripPrefix = 0;
   sha512.run = "7780972480a1355a05cbcca3c46f3e5284b120a93ed2265f0fcceb6965f55ed793756cf96df63aa8da589dd12fe1b8127bd470077b9f9dda758238ced566b3e6";
   sha512.doc = "5507082be0235ec2253ddc0b03e239607b9d140952799684e5193e4d3d584846d33a59aa9b1630d058f17cacf7cedd2fe0a180b40207ea8f10947b534784fc02";
@@ -44479,6 +48364,7 @@ textpath = {
 };
 textpos = {
   revision = 63967;
+  shortdesc = "Place boxes at arbitrary positions on the LaTeX page";
   stripPrefix = 0;
   sha512.run = "77451d38b88f76b80b063267e2dde1e6e6c771c3e4b176a006d3e38351b823a9ac735455dffd6ffb3e23d6198ea7e2e7828c5d9a4e0b0bcfd5c07567901a05aa";
   sha512.doc = "0b17032df1840b6659c85e3d4801d36e3eb2c5887d03f6c37fcbcc1f030d75fb32991850ae39fccf4e2e9a6498500659ba5fbacad971071de608f4137900a392";
@@ -44489,6 +48375,7 @@ textpos = {
 };
 textualicomma = {
   revision = 67201;
+  shortdesc = "Use the textual comma character as decimal separator in math mode";
   stripPrefix = 0;
   sha512.run = "9437756da9639dc29fad64ea7bec0b2fd4ce783065ca00fb522ece24c33b99fb2f51f82564cb382f5f39ada825353f007d14a36ce5d9d5b1cc4015b71b8cd314";
   sha512.doc = "a1382aa53f3df15c57e391420e7f4164a3fcbc8e765cb53a87814a4fbff7e354268f8ff7e6bfb1113f269fa426aac480fb22c330f234d58492fc4f8960fa2960";
@@ -44499,6 +48386,7 @@ textualicomma = {
 };
 texvc = {
   revision = 46844;
+  shortdesc = "Use MediaWiki LaTeX commands";
   stripPrefix = 0;
   sha512.run = "cc149d490180e58e9796ae0bc962e51794400384671eee53c932acef88512a129dc3d87ea4378247813acbd3ead010014ab71bd1717b6edb0bef4b7856be8aeb";
   sha512.doc = "e8639a2ffdd2d40b27545c3f4265e473bfbd81a028632a082199fb0dba7ea0b0468bdae488a9eeea63578bdd610f7e16d4f4da846f9316dabf5645af95fc8cab";
@@ -44509,6 +48397,7 @@ texvc = {
 };
 texware = {
   revision = 66186;
+  shortdesc = "Utility programs for use with TeX";
   sha512.run = "532cf8cfb19ea5c8ed0fe6939fba0ddfaed58989a588acef18ef38c587d8485295e9d438487fd2225a0f68c12d0dd8c6263d597c2e94cbdc96ed074ddd296729";
   sha512.doc = "c4be0bdc3490a0bee08d6a99907f7abe1145ae8f8f89dd8665cf6a8738d07c7a537c0d7e767b56a6eed3a00ea169729b4d78208aab2aa883c9fb422e4dde3383";
   hasManpages = true;
@@ -44520,11 +48409,13 @@ texware.binfiles = [
 ];
 texworks = {
   revision = 65952;
+  shortdesc = "friendly cross-platform front end";
   sha512.run = "2d0f90699f7ee4fa6dfa9eca4a62c8deadd9ee8303e17603bd32d0b2cd41875e76d1cb28879139dd62e534575f1dc8e71d6ec401a65ecc333f5b4bb636ea5a67";
   sha512.doc = "767bca3619a0f645f23b029e1d8b84fd7333bfff5df073026423e83681abb2c3e60a50f843aeecf95aaa54b29018f145a7b655e2dccae0465626e84ca00d1b99";
 };
 tfrupee = {
   revision = 20770;
+  shortdesc = "A font offering the new (Indian) Rupee symbol";
   stripPrefix = 0;
   fontMaps = [
     "Map tfrupee.map"
@@ -44533,11 +48424,12 @@ tfrupee = {
   sha512.doc = "19da18d665a8369e58a26d4e979d5fd6c8b3187dfba97a281008627aeb8c5ee824dc2ad3f5c94c3b35c67fe28a646f44aa5f532912de5f5640b0a7d56afec2f8";
   sha512.source = "30133dbf65f1a33f79ad8b2c8ee84ff376b39d12cf0d48c4e72e86b393e0d55f5768c7af5f5f3f6ff1d78fe2c7d4f2b09d2980107dd5aa1d94fb5ea27545ee9d";
   hasRunfiles = true;
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
   version = "1.02";
 };
 thaienum = {
   revision = 44140;
+  shortdesc = "Thai labels in enumerate environments";
   stripPrefix = 0;
   sha512.run = "25f6bd1e6e9586b261721b66b6b193c07f60dc074f7b7b1911b0a8ba4f33815c86945bcb3946ffe153f70f0dbaeec4dca8e5574f8369c754a6151fc271029f3b";
   sha512.doc = "246dbb624a2e2e30bd5468c2596e7b3f7183c7dd9d03eda42fbed88fe51f16b53801ed39f85590d2739a93d48bc413fce5c52685d5425615f650b19f56013261";
@@ -44547,6 +48439,7 @@ thaienum = {
 };
 thaispec = {
   revision = 58019;
+  shortdesc = "Thai Language Typesetting in XeLaTeX";
   stripPrefix = 0;
   sha512.run = "02434f56fcc8ab499b4f80439fe9099d5dedef00d6dd295dfc47644a7b1397486a419e1ae2b89a0aefd9cb3a093974158a72a2eb2921d25df3231a7628897968";
   sha512.doc = "26b88ea1b87d8391b8864011449116df3fccbbb978aa76e6cc51dfa893eac87851ee10b1320350de57103b80c6bfb30ca97dd1cdf13014157ea35eaff780843b";
@@ -44557,6 +48450,7 @@ thaispec = {
 };
 thalie = {
   revision = 65249;
+  shortdesc = "Typeset drama plays";
   stripPrefix = 0;
   sha512.run = "695d16e6630efa10363d6c94f410cdf11947dd0c0e59987cdf01e0c699c53c994a702b3802b8830e38b6f5b0ce654af5710ef93b094fbc08954eb8d9bc5d2915";
   sha512.doc = "f2fce885e0aa65d42413ad7ba26a38ff787fed8c1ac5d6434e949e229d4f728a055a6a2ed80f36fe94f6fdf11cac3bafbd2a945cb9bf2ec0b436eacbe1ba58aa";
@@ -44566,6 +48460,7 @@ thalie = {
 };
 theanodidot = {
   revision = 64518;
+  shortdesc = "TheanoDidot fonts with LaTeX support";
   stripPrefix = 0;
   fontMaps = [
     "Map TheanoDidot.map"
@@ -44577,6 +48472,7 @@ theanodidot = {
 };
 theanomodern = {
   revision = 64520;
+  shortdesc = "Theano Modern fonts with LaTeX support";
   stripPrefix = 0;
   fontMaps = [
     "Map TheanoModern.map"
@@ -44588,6 +48484,7 @@ theanomodern = {
 };
 theanooldstyle = {
   revision = 64519;
+  shortdesc = "Theano OldStyle fonts with LaTeX support";
   stripPrefix = 0;
   fontMaps = [
     "Map TheanoOldStyle.map"
@@ -44599,6 +48496,7 @@ theanooldstyle = {
 };
 theatre = {
   revision = 45363;
+  shortdesc = "A sophisticated package for typesetting stage plays";
   stripPrefix = 0;
   sha512.run = "d450ef176d5543581316ff36590eba2ed829a3f2b8a019fa8ca379af0ae2aa4df4e4e3068b52ed91edec4df33d08aa78b1f5f21d0fdf33d0aa718704e3de2851";
   sha512.doc = "cb4920d5acfe0e1288c7d459d15b06b9ced1130b56ea92c9ed49376743cee7e3fbb694362bac51f2660269992d64717effc5d8e9f52a21337fe7eed51a4622f6";
@@ -44607,6 +48505,7 @@ theatre = {
 };
 thematicpuzzle = {
   revision = 69356;
+  shortdesc = "Horizontal banners in a puzzle style";
   stripPrefix = 0;
   sha512.run = "3dc42fb8b0d1b5aa3f68af6efa29a683e4a2d7b14f9e8b79aa56cecb15356cd8a9ad6487267b2ca978363ed7e8b5988f3efbfb2136774e8c5d9be25ef65f0bd9";
   sha512.doc = "cc3aad57de0a8f2ed5bcd46d391820a2d8d316d7fd75d5d4abb8a6532fcf05d6643aad83570413dae441d14956747265e7137b05fe5512423d8fb3c1fdff5f89";
@@ -44616,14 +48515,16 @@ thematicpuzzle = {
 };
 theoremref = {
   revision = 54512;
+  shortdesc = "References with automatic theorem names";
   stripPrefix = 0;
   sha512.run = "ed6990b6c7a9ec4e72770252bcd07ad5ddf4015cde0129dc0a89cb95bc96958963209fe46f0ba9a614ebc0cdb358d8125ee3eb22b9a4249367d975ec12250a3e";
   sha512.doc = "022ef42c6765c661f5828a8adcad7710d74f168b3a2dfad0e73218d1a5295b25ea24d5fa010a01151939e87989cfd6457917167e69cebf5ee5a364347eea5f2f";
   hasRunfiles = true;
-  license = [ "lppl13c" "gpl2" ];
+  license = [ "lppl13c" "gpl2Only" ];
 };
 thermodynamics = {
   revision = 69086;
+  shortdesc = "Macros for multicomponent thermodynamics documents";
   stripPrefix = 0;
   sha512.run = "0bae277827251a42a366ce85aee49d762e08025b96472f8102a54b7a9f1e74622bfa0064aeaa6dfee5248ef84977fd47389fc91049c057caf75c33930ade37ba";
   sha512.doc = "3e2ae382e61ec8734e6cffe6c4d5efbe853a3c6748e1d8e75c2e4fa0ed6e7ada7f8a79424f49c43a753bcf6ce867b84ee353c553ba412c0386d58d2d4f5f437f";
@@ -44634,6 +48535,7 @@ thermodynamics = {
 };
 thesis-ekf = {
   revision = 60228;
+  shortdesc = "Thesis class for Eszterhazy Karoly Catholic University";
   stripPrefix = 0;
   sha512.run = "7ef62e88cf25c1b7c37dcbdba00dca0fe522727cd6d1b5bf27cdea73e4638defd2430c2440879479427b2faea91315203179b8f45224d68067ad46810dfd6da0";
   sha512.doc = "50220e7cdded7a36703fe4e0965d19e18c6aca7a8f738b4808efc28d472f01522b456474bfb6c4d43ecc61d81173f0025918b302083829e849059fbcac5e096f";
@@ -44644,15 +48546,17 @@ thesis-ekf = {
 };
 thesis-gwu = {
   revision = 54287;
+  shortdesc = "Thesis class for George Washington University School of Engineering and Applied Science";
   stripPrefix = 0;
   sha512.run = "7001a1f11d069fd15894b34a2d220394924802c3ef1a37869e0d717bdb650bb53c01078dc14760f7887addece64bfb0f6662741bfb6dc4dd77d2ff1f3d0d7415";
   sha512.doc = "e53925a31286089cb5e8f051cdf969c6bbf29db0ae2629c1a584ead2885cc0e1f95c5b2cd9583056c8ab40b1c41d4f8203b876a1e6365d8967e3942440e04e2e";
   hasRunfiles = true;
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
   version = "1.7.0";
 };
 thesis-qom = {
   revision = 63524;
+  shortdesc = "Thesis style of the University of Qom, Iran";
   stripPrefix = 0;
   sha512.run = "71aab07394cd5e4a433c02d80ae1b81c059edaec926e242861bd9a902ada1af25352f660d892718c88f0de05c4eb4a4dfe2c07f68f63f8d28d2d0c2923949294";
   sha512.doc = "47148e246b917849db3c280a1b6af3485d24a5d809cb252c597b4c731a058eda5824c99374bfe2bdb199057f1c9493506ef757f6c25e3f2d38a11c8bb8a5613d";
@@ -44662,6 +48566,7 @@ thesis-qom = {
 };
 thesis-titlepage-fhac = {
   revision = 15878;
+  shortdesc = "Little style to create a standard titlepage for diploma thesis";
   stripPrefix = 0;
   sha512.run = "62cdba17287f90580fe6273d1ca9143c9fac01d7da214a20413995b925c6eced385b3a5c172e8bedb4f17396ed7e9b78e789ca475c5efe542283d9b421bd6ffb";
   sha512.doc = "13378f3ef37bd1033d009d03772244e048ff2a16b95ca8a0f14feeda8c44b29036276c41aae812cf1c28ac5684edad56b000f8a45576bd0065fb844f5b6dd189";
@@ -44672,6 +48577,7 @@ thesis-titlepage-fhac = {
 };
 thinsp = {
   revision = 39669;
+  shortdesc = "A stretchable \thinspace for LaTeX";
   stripPrefix = 0;
   sha512.run = "ddc80b4de32524ce76fe34e8f88d01e2db18a8bbf60a718454a0303aea8082fc2e495c89c2ad0a7459ed3151e890e30a1263267f249581e24bac87113a5fd266";
   sha512.doc = "b5b50522a4a7b5f7772118d95fdf42e2f570ac35c49a8690560df27df0754a170acddd782b516fa185c0f6ef2abb3ff8a9f366370c2ad46e2e4d32dba21e634b";
@@ -44681,6 +48587,7 @@ thinsp = {
 };
 thmbox = {
   revision = 15878;
+  shortdesc = "Decorate theorem statements";
   stripPrefix = 0;
   sha512.run = "83ceeb0cf84ff75afb734f41be5a5309692c6804a5a20627c54cc8760f8ac5e205cf1a24097c8b8624823668796092d620f5ffbc488f63b87e7cbf9365279aac";
   sha512.doc = "ad8e0710a15781eb3164527dd16ecc2050d3cd3317c386841ad8612a9ebc6055a1501272e3b01bcbc6a7f1ffa80455bf2ccdc0cc9ff4428c9688e9f6404a16ff";
@@ -44690,6 +48597,7 @@ thmbox = {
 };
 thmtools = {
   revision = 67018;
+  shortdesc = "Extensions to theorem environments";
   stripPrefix = 0;
   sha512.run = "7d150df3f868339c6bcccb2e881105d9eba11bab8cbbbf42d5a696a7496cfbb87f0ca848e5cf7a63239e563a75515b15d4acc4a72046ca9539c4597e077333be";
   sha512.doc = "939567cab1c401d0946de706105d23add703e991bf36dc58f4e1d40fa35b5b30b37a9e32bc2d252f247da1f1db654bf3aad460dd1882389c00a8e11106270840";
@@ -44700,6 +48608,7 @@ thmtools = {
 };
 threadcol = {
   revision = 28754;
+  shortdesc = "Organize document columns into PDF \"article thread\"";
   stripPrefix = 0;
   sha512.run = "e75f887dc04aa55834c285d5e36babfd0844b79b9d1cc5cfb2eb6412bde9f42b651bfdca9f6819b27f6615aff6f96031135f1a6af3b59503fda34e7566cdb01a";
   sha512.doc = "626ac69b0a26fdbed51876782a9ac2e3b0ab9b32bf3b2f32ce19cce080b5cda40a62160f453199a76b58903d762cc8085a8541fa2de3adc5fea6266592c06bdc";
@@ -44710,6 +48619,7 @@ threadcol = {
 };
 threeddice = {
   revision = 20675;
+  shortdesc = "Create images of dice with one, two, or three faces showing, using MetaPost";
   stripPrefix = 0;
   sha512.run = "66e6a27aa277b45b44c156d408c764da5bee6dc540f2058a783f02bbe806c95052267a5ed79ea49b5dc356d0f03747e9b186542640b34753a693ecffa158a6a4";
   sha512.doc = "c750497229b8bd41eca05b221ed2ca2ca49db8cbbff03bfce2712869d352ae0385e4c10e9730e0b2f8286db9af1e1b87f10d599788a3dfe8d41c28efb8b0e4a6";
@@ -44719,6 +48629,7 @@ threeddice = {
 };
 threeparttable = {
   revision = 17383;
+  shortdesc = "Tables with captions and notes all the same width";
   stripPrefix = 0;
   sha512.run = "f947dd01e56f6f3db8a4ed0b8f3ec564a38486fcb27f30bb3bacdf31af8360590e7e3886cc00cfbab813213974f4b335ff06ceb521d25519e8b95e345a002692";
   sha512.doc = "6b5eb1d6ceea740ec54ba935c45f03c2e6328140e86122a38b90d84e375382adfcfe14e2e9f56384f825c913140f01a1eb6266d2d46f6b813a34b4da652ee31d";
@@ -44727,6 +48638,7 @@ threeparttable = {
 };
 threeparttablex = {
   revision = 34206;
+  shortdesc = "Notes in longtables";
   stripPrefix = 0;
   sha512.run = "9dd33dcb7f9eebb9396a6a05ac20e9bb221260cd80f355b23f60a0466c64847ebacd8b0d19c75b3d9cecd9c522a8633468e7cc86121f7626141c066e12f977d6";
   sha512.doc = "3dceb0aecfa2ef09bc20250cd38dd698e35b2cd2a33fb446e78a39fa654899c4f6658a18b95b39a5bff2279a0cbeeda71bcedcdb7fa91d148290302b73e7a64c";
@@ -44736,6 +48648,7 @@ threeparttablex = {
 };
 thuaslogos = {
   revision = 51347;
+  shortdesc = "Logos for The Hague University of Applied Sciences (THUAS)";
   stripPrefix = 0;
   sha512.run = "584d8f130844ac834be8f061bd8078afcd8eae2e4d22e33d8a61dea8ea637476532181cdc7df9f1710ba5d8dd022a64dcb561f21334b830387e9a063ddbbe426";
   sha512.doc = "5a2298e713e4a0711b01fe7fceae12bf20d6a0fcf91cfda63313e74709586532bc407c07be1807eee5405a6b6de74fe976b2ac56fdebbc344d59255080d80224";
@@ -44745,6 +48658,7 @@ thuaslogos = {
 };
 thubeamer = {
   revision = 61071;
+  shortdesc = "A beamer theme for Tsinghua University";
   stripPrefix = 0;
   sha512.run = "8391507179c7237588645f08c0611ab441cb4f426808bece8122ddcccdec8c94457efb8db75f7078b6b2adb6430350d5279bf9efa091cecbc263d31fbbfc11c4";
   sha512.doc = "fb2383dc358f2d0990a3f697746b6941a04116af8f184dbc37cccb100bfb19fc72ecd876bc581234c6dafc2c897576992fe8f741fea07ee0889bb1f51555601a";
@@ -44755,6 +48669,7 @@ thubeamer = {
 };
 thucoursework = {
   revision = 56435;
+  shortdesc = "Coursework template for Tsinghua University";
   stripPrefix = 0;
   sha512.run = "6342b407dac5780e1e35f114978ed4466c547a49b1099ecec8cc6169817d3c1405be0edf5f7cd3d82e5d44f9a7e9d1ca762e82970898e92cc7ef06739eeb65ca";
   sha512.doc = "565d7846b45c8c0bece73da1010f835d5d54f9244648d61747c9fce7a8bc2559a3e53a2327e146f559a6df2809250d7057befbb6dcb9dd2026c76f1d1dd16fa4";
@@ -44765,6 +48680,7 @@ thucoursework = {
 };
 thumb = {
   revision = 16549;
+  shortdesc = "Thumb marks in documents";
   stripPrefix = 0;
   sha512.run = "30290cc3b8cc48de6c601fcb3d066f0533bb3f09f053d7912db7a127d8327c4aac0a96499b7eaed36b8caf4dcdda5c8f34a5430d69e1fac70510f426c92ab9f4";
   sha512.doc = "29abd2e57cf17edbfeea06c041666ba29e436defff1600df7222dca6160e7be740b64647d7a44a10f6f803011a1754abd693048ca36c4c372ee0da52df2562dc";
@@ -44775,6 +48691,7 @@ thumb = {
 };
 thumbpdf = {
   revision = 62518;
+  shortdesc = "Thumbnails for pdfTeX and dvips/ps2pdf";
   sha512.run = "74d1b32b1a48825c423d4346258f6f1eea60d2054ed38b3d9d4e207a3375e35b6e80d87706bc2d265f62606a449a0a665c8698f4e1615b39df98f6f54b309fff";
   sha512.doc = "26f698eef73b85181abbd155e8ec8f6057f7ec0c5ed1448a256e4fc2e41cffc77474fe4c3695d611e8993bbb1afdf238e3db3a90bc2b7af145535f726af027ed";
   hasManpages = true;
@@ -44787,6 +48704,7 @@ thumbpdf.binfiles = [
 ];
 thumbs = {
   revision = 33134;
+  shortdesc = "Create thumb indexes";
   stripPrefix = 0;
   sha512.run = "58e489402fc44cbaece118203bbe7011494b7ef16ffa0e5d60be2daaec0c4ef2d048a71f0d9373a1683aa780fd20e3d64330e199596effc7cf2fcdac34f1faf1";
   sha512.doc = "4c58ff61d64b841b3a3bc018f94c193730129edf45c87fcb9c85685f748ca3db1f7d51969dd25882848cec906485f739f8f07c8bb2f8bded580b59ea93032a14";
@@ -44797,15 +48715,17 @@ thumbs = {
 };
 thumby = {
   revision = 16736;
+  shortdesc = "Create thumb indexes for printed books";
   stripPrefix = 0;
   sha512.run = "485bb2670133c3c83f0f7aaa685defc6d36f5d24173652d869f526770e1f55c55a31f3a3180f115aef45fb824d9032ee915b91c1c59b9b33794c95c92f03c3e6";
   sha512.doc = "bac645197085968fe8a7bd41f4a9ec3c6e51e17e6750b87ca1a458acc9f6a4f244d1f3b36b9c622c98492b90abddf9a4df1636b1874c02820dcdb6340bad0910";
   hasRunfiles = true;
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
   version = "0.1";
 };
 thuthesis = {
   revision = 67127;
+  shortdesc = "Thesis template for Tsinghua University";
   stripPrefix = 0;
   sha512.run = "8a70b2f51275494437fde3ef83e0f0d901b7164cf9e330d19e00ebe79bb9b4215a6cb3e7137970eb528904e35ba7bee3329f32b9fee64181f57dd09883582207";
   sha512.doc = "fabb0e47004a0fd21f06f442d0b7eb5384242e879af7b7303a7c354d7226213df082d3c38ce24cc571d667fa2b4d978741fda5518871d727ed491a60f1f1637a";
@@ -44816,6 +48736,7 @@ thuthesis = {
 };
 ticket = {
   revision = 42280;
+  shortdesc = "Make labels, visiting-cards, pins with LaTeX";
   stripPrefix = 0;
   sha512.run = "cefb3e06df2953063e9d12f19f03e973212e784cebfd2d6628d2e9ddb443159b285b34f12238f6b77813cc48e86aae7018cb5bccc4fd158f4d891f05fc51dab5";
   sha512.doc = "fde4b06ad09837d1d6b6efb275800e32f617619f9c18d2dda5924b094f860492053c4ee361a2fded1c9f4509ba5e615601b183191c0cf064af24cc59cfb23748";
@@ -44825,6 +48746,7 @@ ticket = {
 };
 ticollege = {
   revision = 36306;
+  shortdesc = "Graphical representation of keys on a standard scientific calculator";
   stripPrefix = 0;
   sha512.run = "92bebbf5a5e7ccf7be09c205d9007a780422c625d9a308eeeae50b2ec4ba3cc6755a37fd8a49e24b7a381894cc3791fbf50f54348c3ac584a2c0d9a693f93a56";
   sha512.doc = "f0049064eab926eefcf77fe5aa0606202cbce79ed7f0e0f1bafb171ad82b72daf09fe2c0cdf79720834d6349d9190f1d3069f155df922ceb469ad3453a6389b1";
@@ -44834,6 +48756,7 @@ ticollege = {
 };
 tidyres = {
   revision = 67738;
+  shortdesc = "Create formal resumes easily";
   stripPrefix = 0;
   sha512.run = "6ae766645bb046c18c0ecaab4d567ed3b66800696a37e28cbc0100dd50db7d89e03b5f2bfb8073a1d819f552f81ff8ecb692889ab7e2cf28210474663d4943e4";
   sha512.doc = "53b927e92aae7d598eef4de6035b8165665a7ed06f37a9457ff16b92eca2c075045f528c62b179923f03d790f163741f5a900b505a50baa8b299d6fb2513bd68";
@@ -44843,6 +48766,7 @@ tidyres = {
 };
 tie = {
   revision = 66186;
+  shortdesc = "Allow multiple web change files";
   deps = [
     "kpathsea"
   ];
@@ -44857,6 +48781,7 @@ tie.binfiles = [
 ];
 tikz-3dplot = {
   revision = 25087;
+  shortdesc = "Coordinate transformation styles for 3d plotting in TikZ";
   stripPrefix = 0;
   sha512.run = "6d4aac2eaeebbe2a4827a5a40e8571c48ff4f5cc854daf130ec7f20f8fa06135bae1486a42b223410be848b72be2c19d6e2ed798694ef5dcdb5861846bd9c072";
   sha512.doc = "0fd9bde0f12ddf5a4bf6e2e1df66a9aafa42e81cd945b41e09e8d289c57b04faddd303a415c36239e6686be90f06e8a7cc794ea50d17ec54f1e25703314257da";
@@ -44865,6 +48790,7 @@ tikz-3dplot = {
 };
 tikz-among-us = {
   revision = 60880;
+  shortdesc = "Create some AmongUs characters in TikZ environments";
   stripPrefix = 0;
   sha512.run = "13e082734e52205e78e804b708c920836c04e9b11dac23e49a8e86d40209ce1e074ab5ff30d97b528c027fd45252824a41daa850d1a9669987a7a59210f7b2cf";
   sha512.doc = "6146f3ee670400e39771a264eaa81a9b4b701a47487c7a4f9ec26ef26a93641062bc61893f71c4f66c8a035d52d763aa94740d9a00f5ce5b402272d67af93ff7";
@@ -44874,6 +48800,7 @@ tikz-among-us = {
 };
 tikz-bagua = {
   revision = 64103;
+  shortdesc = "Draw Bagua symbols in Yijing";
   stripPrefix = 0;
   sha512.run = "bb9444547aee41fe90a4f8b8dbdff080b594d05182798ce87274dab5cf3f0510d428c79ee21eb90107ce9b98a0cc906376d1b49ffa80ea57598c4418152f9ac9";
   sha512.doc = "894fcec05e43df7fd13fdcd5f51e50128defa5a3ac67c2681f509740906449322862d885e5188861a1b92d6aeee9b6d4454ab1aefad74c5585efd937fa789e0f";
@@ -44883,6 +48810,7 @@ tikz-bagua = {
 };
 tikz-bayesnet = {
   revision = 38295;
+  shortdesc = "Draw Bayesian networks, graphical models and directed factor graphs";
   stripPrefix = 0;
   sha512.run = "b3c535af8afe86e311e4c7371addfa484403a0a9571a17d1cb8d39dd7242aa4798476352bb04a6bb214086f1ed4985595c502723444a032f9bde04423c26bea8";
   sha512.doc = "2bdd764163c606579e68099873844fdef6b9a36495f4117b99ca483bbe43334965a177f398da60e82c11035b5c7b9e0513ae56e6868d6238cc0c798f47ab37e7";
@@ -44892,6 +48820,7 @@ tikz-bayesnet = {
 };
 tikz-bbox = {
   revision = 57444;
+  shortdesc = "Precise determination of bounding boxes in TikZ";
   stripPrefix = 0;
   sha512.run = "e68c3c6922c8529bea0b7c25bafc488d7aa41ad81afacae0f674caf637a1638dc8666bd16628b123063d94031d4cd4691ca127bbb648c1fb5a20d72ca8a41fbd";
   sha512.doc = "428d94e87d51e000c5fed4f5b0bd87b8fdb261b9550e0c67e05a69fcee7a4ce3ee070f262d278e21cbdc5bfeea790c6d17450bc91e1e51250b572e754ded3df8";
@@ -44901,6 +48830,7 @@ tikz-bbox = {
 };
 tikz-cd = {
   revision = 59133;
+  shortdesc = "Create commutative diagrams with TikZ";
   stripPrefix = 0;
   sha512.run = "abe5952a90172dd74ddfd02834ec9fc632f26da00450c310eab2528d5b52750e80225219b75e778d1f87b2279e654bb743804da19ec7da91f12e4105f9ec3447";
   sha512.doc = "ec354963bf8915a0c0b68fa0223c48ac48fc0450aff936c34e4c95fe15641319b711b753da7da542352e0fc6e9bbeec627de5a3023b4b90828ee05a81ca5d255";
@@ -44910,15 +48840,17 @@ tikz-cd = {
 };
 tikz-dependency = {
   revision = 54512;
+  shortdesc = "A library for drawing dependency graphs";
   stripPrefix = 0;
   sha512.run = "f13e652066ed2237c22b397b76f628e9108a999138ab5d8349792551205cada4709031f5c4b458982618871d4d65abfe5623f700ee9d8f474c66b1e31df374b8";
   sha512.doc = "3ab32e535d11802b3a828b8b49e78f31df5e5d3c7c36509a3b8aa0d81c02c465ec84d45b9d951ad833dea705381b4df05fa3d9a478db9af0622bc0d69008b227";
   hasRunfiles = true;
-  license = [ "lppl13c" "gpl2" ];
+  license = [ "lppl13c" "gpl2Only" ];
   version = "1.2";
 };
 tikz-dimline = {
   revision = 35805;
+  shortdesc = "Technical dimension lines using PGF/TikZ";
   stripPrefix = 0;
   sha512.run = "c7a3b158a8acd100192b7dc936f2e452513125389f72c12f0c3818bb4e771abf0748338f13603765904adf1d808fc2b263d0f798999c52638e610d24addcc641";
   sha512.doc = "62edb9667ae4405c798a00c1d079ea9ed5bbdddd76e4a730aaf7405d175afa146fcb7bf43a551001eeff1f683ce3b47a0a79fab66b7410be59f18f4f6e409ef4";
@@ -44928,6 +48860,7 @@ tikz-dimline = {
 };
 tikz-ext = {
   revision = 66737;
+  shortdesc = "A collection of libraries for PGF/TikZ";
   stripPrefix = 0;
   sha512.run = "83094598e986b8225ba72ca5a151b8d7b475b3fe41199209e816ef9e7d7b3609e693a321a219968d38d78aafb5fe1ac6058e6860379687077abe4921497d7cb5";
   sha512.doc = "ca2e8a322e3f3a63084d2c0b79d3491fdbdd1b6b363e66d721e691ebb73241e96ac7f4ec352588f46a49ee1b16b4ea214d145692f194f67b5ce23d12701e1eb0";
@@ -44937,6 +48870,7 @@ tikz-ext = {
 };
 tikz-feynhand = {
   revision = 51915;
+  shortdesc = "Feynman diagrams with TikZ";
   stripPrefix = 0;
   sha512.run = "5dcaa2f5c846957f3583ac5bfba14c668cc855c6dd930eb5851c19d448efdd207ff34599b09379354d0c772cb1890fac375d75d61524e64148602f4b5dde4355";
   sha512.doc = "b0cf316dafb9494fc21d5657e1e3c1b4780b7c30e2fe93235d6d8538979471c31989e4203575dc66204fdb1cb11386d290feba3070e43a273b62ec59a73047d9";
@@ -44946,6 +48880,7 @@ tikz-feynhand = {
 };
 tikz-feynman = {
   revision = 56615;
+  shortdesc = "Feynman diagrams with TikZ";
   stripPrefix = 0;
   deps = [
     "iftex"
@@ -44959,6 +48894,7 @@ tikz-feynman = {
 };
 tikz-imagelabels = {
   revision = 51490;
+  shortdesc = "Put labels on images using TikZ";
   stripPrefix = 0;
   sha512.run = "b74cf7113b288af9e98ceb801eb4d72e4785ce30390718c4c0eeabae20c49ca8eba91342b89dda525f06b9f436a427277c4ae8415748f1487cdb073088ed26c8";
   sha512.doc = "843f943c4a0e12d1260ee17f9f908adee568100b1e415df3f1b383fd83d70065c57a21290b89923d7ee84819356a366a467e42fed61370b214621a9ee58ee97f";
@@ -44969,6 +48905,7 @@ tikz-imagelabels = {
 };
 tikz-inet = {
   revision = 15878;
+  shortdesc = "Draw interaction nets with TikZ";
   stripPrefix = 0;
   sha512.run = "0c4ecd55d10893ac8bca7b8ac38f2366f30cd989c5d6ab4dd501047f01c0285f8e4b78309dfce06525bf525cff77e2edd56429aa166f24b9a7e07586e3befe96";
   sha512.doc = "e61f0a7879dd0ec016b6c85d66e6ace6b953adc2b9abd87306dc4d071d82f44984e6e25530db3fc658650f5ca74e5c237aa64d18e60a3c5c8c7f57c6f42103e0";
@@ -44978,6 +48915,7 @@ tikz-inet = {
 };
 tikz-kalender = {
   revision = 52890;
+  shortdesc = "A LaTeX based calendar using TikZ";
   stripPrefix = 0;
   sha512.run = "8bda7464a62135fe2eb8739d428aca770ee6ba90d3fc08037ebd192f6e436116b59962ae7e0f0cce7addc6a44d0bb5eed47d8c0ff83371a070d3a5c0e8b1feee";
   sha512.doc = "d73e1427574212a2652191b0afce180155ff32b7d8d63f076f2b5dc71c64d1d8dd562666f8a7ebeff445409fb884ac79a66d0271582b0b6b72e84c5fe7c44f7e";
@@ -44987,6 +48925,7 @@ tikz-kalender = {
 };
 tikz-karnaugh = {
   revision = 62040;
+  shortdesc = "Typeset Karnaugh maps using TikZ";
   stripPrefix = 0;
   sha512.run = "aa7bb0cbaebbae2657002c01098e9904c21483bb9e67a415834d54b2bcdeae75514a2e98a53e98ba87996b3147af84226e43ec9d121eff52b4f77d57d1802db5";
   sha512.doc = "25ccf7b40c1e808bf5fc45241d3f811e603bdeb770b21e5d98779e04ccce1ff67e73012816b763a083d07f1c62a16cce8feffc0e1c87ced8b83339de84d4cd4f";
@@ -44996,6 +48935,7 @@ tikz-karnaugh = {
 };
 tikz-ladder = {
   revision = 62992;
+  shortdesc = "Draw ladder diagrams using TikZ";
   stripPrefix = 0;
   sha512.run = "c18340557f53f0617831e7e6dc904840e6f1e04938684a21f2897297c8a70b95cacabe4a00e66d632026d8ce7728334eadaf02cf5bfe4ffc0e746f3ceec36fb1";
   sha512.doc = "d77c8771b36df84e61cfada1f56300b10908727a164788b3c0665f14a26db5b03a3ea7f4a0fabf5ecc820e90a27a73c0ff0a7985e37e755852ac401b7143e7c9";
@@ -45005,6 +48945,7 @@ tikz-ladder = {
 };
 tikz-lake-fig = {
   revision = 55288;
+  shortdesc = "Schematic diagrams of lakes";
   stripPrefix = 0;
   sha512.run = "3c1c8d90d58c564f54abf0c34db63b3886f6e591dde8a2f7322f9ea2c6b51f10d1eba9d9f66cd1bf6e98e8ad57cd7a1d329e879381b164d4e1517331325ffa4f";
   sha512.doc = "86afa9db08487666cea340d81355e73e64f72566efed3d1fdc8dd86108eb4f82621850baab86e039572e0ca40d5a38157091fa15f7e1462cfabc73be2c5de0af";
@@ -45014,6 +48955,7 @@ tikz-lake-fig = {
 };
 tikz-layers = {
   revision = 46660;
+  shortdesc = "TikZ provides graphical layers on TikZ: \"behind\", \"above\" and \"glass\"";
   stripPrefix = 0;
   sha512.run = "900f3cba19f723cd75f59f2d3380ac96c6bcd53f4d80ce27b2d393d4728f37b9d9d2bae414f20d38e4b3b93769374281d4e741ac2480986b1662696e08a9a207";
   sha512.doc = "617f1a53fa77f4a766157e72013227e992589b0030ac90ddd181643b1ef212f7e83b8f84f2520d64acf53f2cc76e3333e7ba56b78984b28c3320e2977a87cd56";
@@ -45023,6 +48965,7 @@ tikz-layers = {
 };
 tikz-mirror-lens = {
   revision = 65500;
+  shortdesc = "Spherical mirrors and lenses in TikZ";
   stripPrefix = 0;
   sha512.run = "133199223a6b40d9f07dfffcf842bf3cc5b37f58858aaf96fc5304f72d590f7ea4c45349455fb41ecadcffbcfeb8dae2fcea79cc282038d2bedd589a3a7cceeb";
   sha512.doc = "6515311c8514384e205bb3f3f0859e33c05f3b4b1815c56d84c6c01aeaefce2fa9b4d8a87a882ab38afb6fdde7aa236966bc6ef775d4a29aa35fc8c1611d0eae";
@@ -45032,6 +48975,7 @@ tikz-mirror-lens = {
 };
 tikz-nef = {
   revision = 55920;
+  shortdesc = "Create diagrams for neural networks constructed with the methods of the Neural Engineering Framework (NEF)";
   stripPrefix = 0;
   sha512.run = "27ca8ead5ab99566c3bc398b52df4da6bda646519fc5d84d4a8b5476fbf0e86d8b405f2c88a9be56f6f6f4def0e5174ab0b2bc8100300d6b32bbe025dd7bf9c3";
   sha512.doc = "07e9b26ecb4b334c4d7459e636eb116dbf03f7978f88d29f462cd2f9ad81bc24bef57dd659d23c39e8bcd81ba4fa74214c7c399c104fb5af35bf18dfc3e4d1e3";
@@ -45041,6 +48985,7 @@ tikz-nef = {
 };
 tikz-network = {
   revision = 51884;
+  shortdesc = "Draw networks with TikZ";
   stripPrefix = 0;
   sha512.run = "e8100d04b9ef3336a514d18f43ffa6af5d4c2a2ce28663c9f4b40272f5619dbe11dc32f8d7399b7b730f8a90c5aab5fe18cc839d6736d7be6c8e37289e2dd30a";
   sha512.doc = "26cfe73177bbe885cbb224fcd9b4f136a224947a4d9000e24c7f4fd1c44194ab8d2e11dbfac558c68ce36a30c7a7b82f335e3275db22e599dfcddd48d91ab08c";
@@ -45050,6 +48995,7 @@ tikz-network = {
 };
 tikz-nfold = {
   revision = 67718;
+  shortdesc = "Triple, quadruple, and n-fold paths with TikZ";
   stripPrefix = 0;
   sha512.run = "d227be41f651a45240b3cb79f1aebea5015a06eb75c0a5aa69823731c69cad02c2f8b621de3d10d3b2a334781693f39c47f1b5b560c58ee9c5e7278258bebe5c";
   sha512.doc = "a6684f61e230a4de3cd1e4b0da5ce17aff301cd80c434b7c9375d1e4abf3d3b6f3295979153f957b1499894e59d1fbca23e639ee76db6ff6d719df425d1da56b";
@@ -45059,6 +49005,7 @@ tikz-nfold = {
 };
 tikz-opm = {
   revision = 32769;
+  shortdesc = "Typeset OPM diagrams";
   stripPrefix = 0;
   sha512.run = "eeb000cf28e2ff79106edd734ab71b9ec4ecb0db043a8b03764a98a33d3ef570711974bb13b58453362dd045b1019bfb4a1c1a856b74590110f7d8af308a3f01";
   sha512.doc = "a2ed9a4b52d34dece5b0007b9dc46cf8da8cee0a9288b8db79f38068db5227e35ef9e3fe1f93a4c53e994c06c2d5cf21257bcde24b02f1553cb21d9f7585751d";
@@ -45068,6 +49015,7 @@ tikz-opm = {
 };
 tikz-optics = {
   revision = 62977;
+  shortdesc = "A library for drawing optical setups with TikZ";
   stripPrefix = 0;
   sha512.run = "ac0a42947cf864f28d5bc23aef1163fdee23e05d54ae570ed28e3445a66cf3e9345d6be7aa231496ad86065731ff0a2afa7ad0ce53332fbb3592c07bd396e297";
   sha512.doc = "7b088c27e6cdb4c2b7b44400a31353963b0b45cb26251edc60b4b8eb54663ce2cb76784c9850349e50728d6e7366be22ee6d84a79fccd5791cf713133079a1ff";
@@ -45077,6 +49025,7 @@ tikz-optics = {
 };
 tikz-osci = {
   revision = 68636;
+  shortdesc = "Produce oscilloscope \"screen shots\"";
   stripPrefix = 0;
   sha512.run = "93711a01365e992d47306bd379ebc8f72296554288c855dc1f678232e5030894a9241d195cf949133da45ac8df2de1b55244629999f0c311b55d51a2083c4693";
   sha512.doc = "356d60c65bde0d61207df028447409827888a420300a4b27867561494917e4a45db8e6a6dbe291fd19797d64d912089bacda9fd18ff405a28ff2d6512b3b43db";
@@ -45086,6 +49035,7 @@ tikz-osci = {
 };
 tikz-page = {
   revision = 42039;
+  shortdesc = "Small macro to help building nice and complex layout materials";
   stripPrefix = 0;
   sha512.run = "be0e43fc329a014b11fce907c6b073f5f4be64b4da4b184705aff2c08d82c1e644056491d01d59ef0ef8a22b4b4c3f22b9012953e00802a9b697a10f0a2f4920";
   sha512.doc = "896da337485c89508e7cb2adf377090b768beded3360a730a5a9c2400db73866b01e0091aaaaf8ce25b7444bf5c5a243f5eeff444d4588a4f8f8b5ac8aa9cdc9";
@@ -45096,6 +49046,7 @@ tikz-page = {
 };
 tikz-palattice = {
   revision = 43442;
+  shortdesc = "Draw particle accelerator lattices with TikZ";
   stripPrefix = 0;
   sha512.run = "6654ca0888b9a4ac7106d5d275a347e38de7dfc342d7c6228670e51a0285937015a39fd34e83e42a5ab8c2f4341e7f233535308bb2cd65a55227dba2d67ad79b";
   sha512.doc = "8fd0a5a2ca4371e021ccceef41115b6520df6437198fdcba7fc37aa600821a95e91696fabb19cb0277639ff7664574cc56a62e1edcc96e58f26dd65ef5c82fa2";
@@ -45105,6 +49056,7 @@ tikz-palattice = {
 };
 tikz-planets = {
   revision = 55002;
+  shortdesc = "Illustrate celestial mechanics and the solar system";
   stripPrefix = 0;
   sha512.run = "e990d8a92d8f34f3042117e289d7c385e17b973954a2286629c84cc2f13397159b75ec5ea1b032d710babf5b31d58d5f2b23a101b535b9d88328d797a36b952f";
   sha512.doc = "c92e05217a4e4aa6f49a5a400f2faea365483257b61db934351b0ec4c932e1d4d88e313f443cfd726db2b1234d0bb66f4f70064d690c554dcf4c4f16672b0c67";
@@ -45114,6 +49066,7 @@ tikz-planets = {
 };
 tikz-qtree = {
   revision = 26108;
+  shortdesc = "Use existing qtree syntax for trees in TikZ";
   stripPrefix = 0;
   sha512.run = "5b00d147eef48e874d2d5c9b171e93703c728cb56f3882af4e63a41b36ebdadbd5bcae332bcfc8e091b16ee14a3a3e16c594b0f0879bdedeaacde1c1700c542d";
   sha512.doc = "0e2a19415d00cc6c94961dc2e8292038078334cbedeff63d889a3d843d9ca3e89533870cabe2068f5631b3f48fc456cac36b1720df175c20a9f6c986c388f799";
@@ -45123,6 +49076,7 @@ tikz-qtree = {
 };
 tikz-relay = {
   revision = 64072;
+  shortdesc = "TikZ library for typesetting electrical diagrams";
   stripPrefix = 0;
   sha512.run = "ac75431dfeae69fed707b99a42ecf64972436b22863e77586125fd6cde18e8e4d8bbdeaff839edc65aaedacbfd1c1e0ce776bde792b7613f810e7ac1f9102132";
   sha512.doc = "1194309c0892e7c35263389e96ec58121e9a82e887c4c702c69b381b75fd5f4f21df6c33440a746db6a944963d9a22a05b23e53f7c818901591499dddffa0087";
@@ -45132,6 +49086,7 @@ tikz-relay = {
 };
 tikz-sfc = {
   revision = 49424;
+  shortdesc = "Symbols collection for typesetting Sequential Function Chart (SFC) diagrams (PLC programs)";
   stripPrefix = 0;
   sha512.run = "f31541b2333c5d8343143aad3a260e528523f78636cd772deae6e0eba81957ceeeb41491279dad621e4476bd9f5125ad994814cb2ab691e5039b54f9fffc7cc8";
   sha512.doc = "caaa3c08f358b7f920322c553ff77e1f42414f16c67d2dd77bde8992e545366224cd7070e833268437332c080d6c65ab244678a3e9d5888fa97d21aafaa2d2b4";
@@ -45141,6 +49096,7 @@ tikz-sfc = {
 };
 tikz-swigs = {
   revision = 59889;
+  shortdesc = "Horizontally and vertically split elliptical nodes";
   stripPrefix = 0;
   sha512.run = "f1e10c9cc4625fd2e61113f7d5c1cd637efd35ab9b0ccb4308837af3e384ae412bf068140a0924b0bad29e305fd4ba5a0770fdc1467e82cf85dd8eea8289190a";
   sha512.doc = "3ad431f150914461149b85fbc7ce05213c5176e6eaee553ecbf8d150644bc36fdcfa2d836e5201d9a8aecb58751eedd8b98a06ff305c60688766ce8dd00c817e";
@@ -45149,6 +49105,7 @@ tikz-swigs = {
 };
 tikz-timing = {
   revision = 64967;
+  shortdesc = "Easy generation of timing diagrams as TikZ pictures";
   stripPrefix = 0;
   deps = [
     "svn-prov"
@@ -45162,6 +49119,7 @@ tikz-timing = {
 };
 tikz-trackschematic = {
   revision = 63480;
+  shortdesc = "A TikZ library for creating track diagrams in railways";
   stripPrefix = 0;
   sha512.run = "421966536c63307c7fe9c194ebd4d5f8a724f99b9baba20a44e867382b1c08f934c9e88d02d834221671ec6e18d392e6ef4595b5a7bec9a18da03b84bbe06a71";
   sha512.doc = "f5d6c8b60da94b9471adb5faa8d159ed89a8ed4742049ae55da2aa615217215fa1334648c974e148031741fea1407b64297bea8f681cedc770ca13975cf289c9";
@@ -45171,6 +49129,7 @@ tikz-trackschematic = {
 };
 tikz-truchet = {
   revision = 50020;
+  shortdesc = "Draw Truchet tiles";
   stripPrefix = 0;
   sha512.run = "74cc5a05cd9558c68cbb7987671fe1e02a9a076049aad96d4c95d7471ff04e48f03c500f58b85bd8eead46e1af592a54ffe1ef0b0ea0644f4479a332a63dec4a";
   sha512.doc = "7fb291a9d7309c722fe31cbcea7a4004d44552f547e4d71fdcd667efb4aba41b6bf0be0cb941dd16e425eedc668dc6de3d2e55f964146a62b861296b0ed18579";
@@ -45180,6 +49139,7 @@ tikz-truchet = {
 };
 tikz2d-fr = {
   revision = 67239;
+  shortdesc = "Work with some 2D TikZ commands (French)";
   stripPrefix = 0;
   sha512.run = "87cf1fd8343df4c6960e4bc004da9154f98146b57a723022e5a81db506805ebdd60db1edafc03d9d787f151cb333c1d141c5407023493bba316b8b41bc245537";
   sha512.doc = "4951babe22ffa5985e3533970b88a8a92f626e18b34e8f7f11051db21accd2977a926fd7e668ecd018324fa62c8b539fe52c279f8ceddd5a037b76dcf03f399c";
@@ -45189,6 +49149,7 @@ tikz2d-fr = {
 };
 tikz3d-fr = {
   revision = 67774;
+  shortdesc = "Work with some 3D figures";
   stripPrefix = 0;
   sha512.run = "6b60280f60ee690ade367eaa10a033cb9bb8452c5b5f6413b7ca4918d521638be357e6af6f760844046c15d1171f55b71f5210946ff4a6c6453a7fc332288b85";
   sha512.doc = "599bcf41c7de51c44c943d984bae860748324faf7981f754b44bf8125499822df505cebe2670229fd7429d5b6b0809f7c88649ad8996f8d2cac604b58c9e9522";
@@ -45198,6 +49159,7 @@ tikz3d-fr = {
 };
 tikzbricks = {
   revision = 63952;
+  shortdesc = "Drawing bricks with TikZ";
   stripPrefix = 0;
   sha512.run = "3ea07c2c6c3ac86d8fa0308e438956e70e2584f7995b3188904e7cce7d311ad0999635ce77c134046da711a723bd36b9602fb60c21a00970503f572baffb6967";
   sha512.doc = "ab32949ad9502bea2ed2951db41029ef02672db38e7a28f02e90099dc1c1dc9b740f1539c3e7c9163b8da7dc2fb4eb21048ca17a0ce2366a364efe66e2a47609";
@@ -45207,6 +49169,7 @@ tikzbricks = {
 };
 tikzcodeblocks = {
   revision = 54758;
+  shortdesc = "Helps to draw codeblocks like scratch, NEPO and PXT in TikZ";
   stripPrefix = 0;
   sha512.run = "a19ee68d5d59d936f1882bdf1de5851b9cac48debc4754025d214cc6838173fd7090631b08dd1916043520e97cd479087ad4548c991c0631856510ee912a42dc";
   sha512.doc = "b75b6ddf66fedf1d69611ca0b817ad9c5d7c0bc162cca2f04794bc3723135032908148baf4aae1b486a0b5af9bc335b9e585943a3a2fd73ae55a0702236f5142";
@@ -45216,6 +49179,7 @@ tikzcodeblocks = {
 };
 tikzdotncross = {
   revision = 69382;
+  shortdesc = "Small set of macros for defining/marking coordinates and crossing (jumps) paths";
   stripPrefix = 0;
   sha512.run = "d99ba25a95558629b611e7ae2e845c9b87cc8766f468be6160115a8b26cc648e83351cf233f946f47889773907023c061faae7744e140129930db481b460889d";
   sha512.doc = "c481b80b675bb9cef760157b7b9ea7c790dc42c75624687231b603b39f3bb9835f642e50cabf4a046df67e3698032b644cdd1495d6a9932acfa3532a66b3b031";
@@ -45225,6 +49189,7 @@ tikzdotncross = {
 };
 tikzducks = {
   revision = 66773;
+  shortdesc = "A little fun package for using rubber ducks in TikZ";
   stripPrefix = 0;
   sha512.run = "73675b3ee47740e0c54c352a9cf3349b563cd22756a33aa1f56b6282a9cb4b2da3b851705e7574d5591190bf2392f8900a477d8f93b9102d831c01b2a8650dea";
   sha512.doc = "23fa53a7ee87b26dde5f9832c8b0b23466baaaed4be3ac361659828af6d611ee742b92531ee977fa0341ee5c3058a8ff77cf6ec1a7c3076f6ae4145328320164";
@@ -45234,6 +49199,7 @@ tikzducks = {
 };
 tikzfill = {
   revision = 67847;
+  shortdesc = "TikZ libraries for filling with images and patterns";
   stripPrefix = 0;
   sha512.run = "4864d0859490cd07e123e1160a35fb7817c3ffcc1f409a8c61285823f655357473e0dc7ab92434b5b552cbfca3e88d9181e57cf944d2422467b466cbdcd743a0";
   sha512.doc = "f08d351db50d0ac3d6362c223e30b97b9a734a8b19fc426d5592a17692380667172ee6793064b8c2787ee9e1eaa1a38b70a821f53a2e0dc26316ba81f0549aa2";
@@ -45243,6 +49209,7 @@ tikzfill = {
 };
 tikzinclude = {
   revision = 28715;
+  shortdesc = "Import TikZ images from colletions";
   stripPrefix = 0;
   sha512.run = "1559c739ee5ce26c531ed1c989a2d986ee6da05880e6dcb8f14018c71c638028517d1c2374cb452421c92f5d430d4560ae4463732926c56ff33407941e70ffc3";
   sha512.doc = "9cf9e6f5e45f9dba8843684cce3ff395f18c485e30ad0d0566e947dfa69704cd99600f8673203ae212a1aaf77908715c2e5ddbaae0de3732b98564725297112d";
@@ -45253,6 +49220,7 @@ tikzinclude = {
 };
 tikzlings = {
   revision = 63628;
+  shortdesc = "A collection of cute little animals and similar creatures";
   stripPrefix = 0;
   sha512.run = "c838782065c705dfd919708c281d97f1e399df4775ed1410473d392b0f1cd2c8e293cf608cdde5e3cc50a26c51ba6bff3c79b5e02216ae3d3318ab92cc0d6a11";
   sha512.doc = "0a728af74191084ad20d20ad2165bc7690ee805831541b5f2281117961fb9fa54e6f214a4ad570b63019fc8e7dae57c6a28ef37b18088a37f4fb4ca580c37b6b";
@@ -45262,6 +49230,7 @@ tikzlings = {
 };
 tikzmark = {
   revision = 64819;
+  shortdesc = "Use TikZ's method of remembering a position on a page";
   stripPrefix = 0;
   sha512.run = "21196deccbed47e7bd2a95adbe92e197f1073afd26da98ab92494e46ab7cef325c6005d8bcdffaa53a42de440cdf10c5d20370fa0a5f43894defc1a01a284310";
   sha512.doc = "c8222246f56882479a84f834b47332fa9a66d0dbb21ee3fb4018835aa9fcb26fa2204d70ca17d7c4609352648d76b1bcb4dd5a32eb7cb504035711643c944141";
@@ -45272,6 +49241,7 @@ tikzmark = {
 };
 tikzmarmots = {
   revision = 54080;
+  shortdesc = "Drawing little marmots in TikZ";
   stripPrefix = 0;
   sha512.run = "c2ca7c1f66d070e1249b2ed9e88cadd482353140bc3add0146d7f67ffdd8c08cc3eb4b9c59f8e2d822000554a8bcf1e0f064c96ac0e002a6c80655c5eb909f81";
   sha512.doc = "03a4494458d7f053547952945e9ecf1c500dd3fafc665852498de05f38234c45f0972971e8278d279d36c81f2b920152f10ad1bda2c5b24e5957ad0846e77d9c";
@@ -45281,6 +49251,7 @@ tikzmarmots = {
 };
 tikzorbital = {
   revision = 36439;
+  shortdesc = "Atomic and molecular orbitals using TikZ";
   stripPrefix = 0;
   sha512.run = "cc0be76e583d67759d53ab89f777f137e7038eb8344e841a3a1c6e5327129063f2cdcb67c586546f8bec94e8e83d944ae864f291b5b7d384610f93c0ce604aea";
   sha512.doc = "676980e8772650f77ed37d545cbd4ac22af170e1a4541acbd0739f3b5c0aff91f3d48cd3b3fa3c562510c1c624f46de2218fe33a9e53532ca88ccbb929e3495b";
@@ -45289,6 +49260,7 @@ tikzorbital = {
 };
 tikzpackets = {
   revision = 55827;
+  shortdesc = "Display network packets";
   stripPrefix = 0;
   sha512.run = "65f07d48b37db0391081c8edeb97d59dbb7a261ad1320b3b018f14a2b4544bfad46964b82980b3135416ed75fd7f21d08df97179d1a3ae2fb55308d36e89d2cb";
   sha512.doc = "f669d0a09de871167915f4a6647791346703abf03b557c8afa03f5d3ed81754c4d175d211850b7d6f87c2b0a1077c8559093d9743130f10ef334c10df74ddc69";
@@ -45298,6 +49270,7 @@ tikzpackets = {
 };
 tikzpagenodes = {
   revision = 64967;
+  shortdesc = "A single TikZ node for the whole page";
   stripPrefix = 0;
   sha512.run = "f8e3258505ccb31b677212034c3300d442fdae73a45c0dc6e7bc0837cd716caa778ef9410f37ca1bd87c647d9cff28ec3d0f35496c8d1a5f940ce9e602dff475";
   sha512.doc = "daa0cc0d2125a41a6748a2b94b5f399c05d06c28479e1f1bcd188a647ad72048e17f1f851193dbc35bff58f6ed9696a4aa9885fdebadad3996d1e2bc9fda6347";
@@ -45308,6 +49281,7 @@ tikzpagenodes = {
 };
 tikzpeople = {
   revision = 67840;
+  shortdesc = "Draw people-shaped nodes in TikZ";
   stripPrefix = 0;
   sha512.run = "18621315d7bcec4bcca281b3c3410e281404fd29b0a5d2f4ad799aacb71a1c9d389db8bf1c9fc91b8cc279ec801f0cf8e31c826ded92d8476ce4ce5831754390";
   sha512.doc = "8b8ad4cbfc03663afa6064d4a81ea9c256b8c08522e455c5660c649fb9f1de7859f368d5252b348e0521d62fa3a446b6ef9ad2d1490f7afed8f5423a99b46d3c";
@@ -45317,6 +49291,7 @@ tikzpeople = {
 };
 tikzpfeile = {
   revision = 25777;
+  shortdesc = "Draw arrows using PGF/TikZ";
   stripPrefix = 0;
   sha512.run = "9da38e2e02c651e2f89a0e9ea917fc5147626026acc7302b7e32aa2cbee072f91311fbab73e44852a2c237290de76e560f2b45e88639936b542e6986d90a9b4d";
   sha512.doc = "a66c6ca303ab6afcea5d94b02936335d28077697d81632199de2678528100c3b5a754aa281fa83d93819a53eb2fc945ae899e254b6d6ccd926f8fbbd86d5ac2e";
@@ -45327,15 +49302,17 @@ tikzpfeile = {
 };
 tikzpingus = {
   revision = 68310;
+  shortdesc = "Penguins with TikZ";
   stripPrefix = 0;
   sha512.run = "78041352e86e68eb99f875a1c8bf7d4a50c527a4b405e4c93e9da6ecd716bbb0c5fad053fff80229723b4550345077371a52132258cb9d251c319f743767cb7f";
   sha512.doc = "1748e17af7b3190e19a0c446e78f5b40b6a135633850d610179f33927650c8cd92babca86e4fd10408586d1fd81814cbb54985ab0fadfbfd05219b033e4323c6";
   hasRunfiles = true;
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
   version = "1.1";
 };
 tikzposter = {
   revision = 32732;
+  shortdesc = "Create scientific posters using TikZ";
   stripPrefix = 0;
   sha512.run = "75fd7b71632c663329843a48bed32b2fd04cbac02d24271ff1a49bf03e2905ab8f94b5876ee68876bc6017455cc3272750e85eea6061dea57f47fe96ec9e1045";
   sha512.doc = "1bfdf7bc2aa38e876378a1dfac751a57ac93dcb0fc5abeff700107c8ef11423751dc69bd7502c9b2ad2641f7f760eb697a248833b6914111dcd86d7f8a32e9bd";
@@ -45346,6 +49323,7 @@ tikzposter = {
 };
 tikzquads = {
   revision = 69409;
+  shortdesc = "A few shapes designed to be used with CircuiTikZ";
   stripPrefix = 0;
   sha512.run = "104bdb76221a25a50644dd8c9a655d5adc4e6019a11c470fe24637a51bb91ac6fb718a4949bf940199aa47f43186f874aee59e5405db45a6497e45f84e69fd9b";
   sha512.doc = "5657179ce49163299bc91f3730dc3fcf77972597502f43822330199a20bc244649e6437a6bfb1c4e98bdbd02e30beee58b950dc73e8269b318801135025c6f1c";
@@ -45355,6 +49333,7 @@ tikzquads = {
 };
 tikzquests = {
   revision = 69388;
+  shortdesc = "A parametric questions' repositories framework";
   stripPrefix = 0;
   sha512.run = "616098fcc9f7867458edd525fc71d83786080b1f4ead9a007083d8347add52499b2fdf2c969213e06d43ffc59e9eb4d17bd7872404f1481138229c4f15c1aec9";
   sha512.doc = "433c1202106723c397b383edc37ecff762ce7910b4adf2e70a5ea2d2c823cac2f96147227eeffc71bcc2658b18ce875c780f91d8997f40ab823ab09eb1d84354";
@@ -45364,6 +49343,7 @@ tikzquests = {
 };
 tikzscale = {
   revision = 30637;
+  shortdesc = "Resize pictures while respecting text size";
   stripPrefix = 0;
   sha512.run = "73aa62d84417deec8085c3f46b1ababb756e32ae55c4af97def15816606df2b3df4a7735ab434d489d24dabf26806428d945ff3fced3c5eb7c19b36996f2f58b";
   sha512.doc = "d2ac9080a08d7d7e37ea2d1f801c4091cddf9540eb7c2cc2c0753ab0c07c2f0e7392742bc2e93274775c890184c126aa490c78fedf8827a6c787b951abcb6bf5";
@@ -45374,6 +49354,7 @@ tikzscale = {
 };
 tikzsymbols = {
   revision = 61300;
+  shortdesc = "Some symbols created using TikZ";
   stripPrefix = 0;
   sha512.run = "4e1a479e6e238026dfbdcf152d63c8b67419919f74bffe3c259828a5ab6bec62955cfe5f5a7f407646fc2e5b742fd009280ec4a57cf708317bd9dad95a35a1b2";
   sha512.doc = "7219e48fc2407bd44992378b24c5a1fd0b9c1a9a9c408de2734966657f83735b8cda336d207e9d1593afe0fc58aff7d83213a9ca4be61201df98757e2e4ade75";
@@ -45384,11 +49365,12 @@ tikzsymbols = {
 };
 tikztosvg = {
   revision = 60289;
+  shortdesc = "A utility for rendering TikZ diagrams to SVG";
   sha512.run = "0957b87c9a06771afab350de769e3fa9f97ec0aa09e4e740d0f916992948a65740a96446a0f8ac144273e94f228db2c6c0ddb22bd01ea9f0f66abe5adfe0125c";
   sha512.doc = "3d90c0963c570a115390603bcd5f39a224a155faea8ac6eec511b9689ab98383386d3d6e92076129e0f704d69bd18da52cf2f89f5db024a4d5c34a75c1edf279";
   hasManpages = true;
   hasRunfiles = true;
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
   version = "0.3.0";
 };
 tikztosvg.binfiles = [
@@ -45396,6 +49378,7 @@ tikztosvg.binfiles = [
 ];
 tikzviolinplots = {
   revision = 66659;
+  shortdesc = "Draws violin plots from data";
   stripPrefix = 0;
   sha512.run = "00fde57102ed13eafb247859de00c62829ce60de361794afb9103e501033140baf9b474fa147b7282727f7294a0b337897985460526f573532d90117d5f8e552";
   sha512.doc = "5c7cd0990935fb05fa418ace90299532e3dea64e74789dafdff6aa9306e417a3fb170a2b5068045fe5069a08c4ccd97bf4c98ebf5f2102a2c9ca2564090ee52e";
@@ -45405,6 +49388,7 @@ tikzviolinplots = {
 };
 tile-graphic = {
   revision = 55325;
+  shortdesc = "Create tiles of a graphical file";
   stripPrefix = 0;
   sha512.run = "b6235459600c5c8bc683c9fe778bf864f5ab3dfcc8c15afd7b997c45f349f05b57ded236daeeef1e6bbbb7e535a4f203625344a35d6e4de401c082a937090cfb";
   sha512.doc = "c945ece6ed1b83f4fd8923dd74d0c961c907071fd5d33feda3ea514beeb8b85878dc63011ba73edd1d4a62799ee2555cafe7d4c866d55d160c7e97168ab16038";
@@ -45414,6 +49398,7 @@ tile-graphic = {
 };
 tilings = {
   revision = 67292;
+  shortdesc = "A TikZ library for drawing tiles and tilings";
   stripPrefix = 0;
   sha512.run = "f0164d69df56b1b981aec352326eacdf0f79366852bba6eb010a3842c338c678f1f38d3a5b1043ac4ff681595cc4a14a127a40b383f7d5388d9c52776352ac13";
   sha512.doc = "13ac6a6e02a39420f0ed5e74d3f242561de4cd1e410fd6845e82b893c63d2becbf21064a676be29eed0c4b38251a78da55f43164eb2acccfb9f8d94fc72d6462";
@@ -45424,6 +49409,7 @@ tilings = {
 };
 timbreicmc = {
   revision = 49740;
+  shortdesc = "Typeset documents with ICMC/USP watermarks";
   stripPrefix = 0;
   sha512.run = "01e0e06769810e07389006e9443a836de76e95fea6133e7aab1f47cc554c3912a8aeb43bbf33d06cf9f3a8550a9eb9ec23830ab96ebbb84629ec957d7050e9a9";
   sha512.doc = "ebe4cf57814e6699127a30031c801efe583505098c707a97bece8dff93ff0cd4939cf047802ed38e645c339592e1a062c512dcb5d027192122e4c98ce41d1eac";
@@ -45434,6 +49420,7 @@ timbreicmc = {
 };
 times = {
   revision = 61719;
+  shortdesc = "URW 'Base 35' font pack for LaTeX";
   stripPrefix = 0;
   fontMaps = [
     "Map utm.map"
@@ -45444,6 +49431,7 @@ times = {
 };
 timetable = {
   revision = 15878;
+  shortdesc = "Generate timetables";
   stripPrefix = 0;
   sha512.run = "caee17cfe1a4bae7bae4479066e2f869e6ccee34d28a8952bed7a1409bd9ecb27adfd005f0e824d8ddacbd0e65762da79f9ea5b04d0332d643749ef36b908946";
   hasRunfiles = true;
@@ -45451,6 +49439,7 @@ timetable = {
 };
 timing-diagrams = {
   revision = 31491;
+  shortdesc = "Draw timing diagrams";
   stripPrefix = 0;
   sha512.run = "0c07a24aea43b0092610cda5878a7e2be95777f199c9983e0aad42d83c1a6bd96dd4ca4caddef6b61165d62e924033eb01524fc925fdc8a4fd4baf44f568eec6";
   sha512.doc = "1882008e990cd6cfea47b35bd70a50f22972dab0470ada417edf1aa236d2619d57bd3b1d4a149ecc08c1a196c36c9dbf97328f58ea4aa25acb0a6addfcfe8651";
@@ -45459,6 +49448,7 @@ timing-diagrams = {
 };
 tinos = {
   revision = 68950;
+  shortdesc = "Tinos fonts with LaTeX support";
   stripPrefix = 0;
   fontMaps = [
     "Map tinos.map"
@@ -45470,6 +49460,7 @@ tinos = {
 };
 tipa = {
   revision = 29349;
+  shortdesc = "Fonts and macros for IPA phonetics characters";
   stripPrefix = 0;
   fontMaps = [
     "MixedMap tipa.map"
@@ -45482,6 +49473,7 @@ tipa = {
 };
 tipa-de = {
   revision = 22005;
+  shortdesc = "German translation of tipa documentation";
   stripPrefix = 0;
   sha512.run = "45ce2504e63e517e76ebbd7b6bfc7b6a4b3a10d72747714c731b6af0b1a9de4d025bce996594449ea61e983097748389a6d878936078fb676ddd4d6f1f267425";
   sha512.doc = "c69333d9a7d335fb217dacb00610b9f0e5eaaf78e535d69998fc600fe53f0ba61c7e3cc1e82d75f52b435cd6945044560b2d275476e96d84d611ab4978c02e3f";
@@ -45490,6 +49482,7 @@ tipa-de = {
 };
 tipauni = {
   revision = 65817;
+  shortdesc = "Producing Unicode characters with TIPA commands";
   stripPrefix = 0;
   sha512.run = "4e628711f3f1efcf96787bd1ce489380a699c4f800edf79523c8d5929339db8ed2b7c2ba49a456bf71b8b280e006fc672ec186b92c35b83934adaa561ce9f296";
   sha512.doc = "9b4f7c48f48797bd4b40e3d823a0cc25f4edbaf1983067ec60ef1df6be58553c10438bca825c4315bee1098d57c8255e988b784660ab6c8ff9d34b11a42d3430";
@@ -45500,6 +49493,7 @@ tipauni = {
 };
 tipfr = {
   revision = 38646;
+  shortdesc = "Produces calculator's keys with the help of TikZ";
   stripPrefix = 0;
   sha512.run = "c8a8efbca7e1785dd81fd4695ed7e0c5dbe713d0a5632078bdba2f7df8e9358bc246d8f9d972ad3035106a7ef687f9229ed31bb630009eaec3b63170cf8933bb";
   sha512.doc = "bb739994051c5738ec0cacf1111d104b225593cbac1ee829057dce42017990483630cc062131ccd7d766d7400a252b1ff84744f91b77d0ca5a1f9ee195a28d5f";
@@ -45509,6 +49503,7 @@ tipfr = {
 };
 tiscreen = {
   revision = 62602;
+  shortdesc = "Mimic the screen of older Texas Instruments calculators";
   stripPrefix = 0;
   sha512.run = "00682d70199d66b3f6a759a32a1cad6b14ef09eaa541cb0ef547d86fd512ffd525f2b53a8c1a7315462aed33148a0b769eea70c5c42213d0731a1034cd96d6d6";
   sha512.doc = "58add8332b25188cc4d7199cabc2ca49e3d08598f6ee2511bc525500b1ab0dd7cf8212d5310ee7fc803bf06c09e4c248eae6c52c52e0a3b3a6694ec1d36ec57f";
@@ -45517,6 +49512,7 @@ tiscreen = {
 };
 titlecaps = {
   revision = 63020;
+  shortdesc = "Setting rich-text input into Titling Caps";
   stripPrefix = 0;
   sha512.run = "c9a91646115722f41a82e4010e2b95090447e66864e1b7cab57f24dd797e299568d3c5422b3974829112cd118c4e40a2b14c04eb0e141105fea7f6ef8358bf9c";
   sha512.doc = "5b22152e9e3deedd0e6e19bff817030287b81849e76d0b926caec947e315e0ddef533cb911e0fd4f91346b0c6cd7cb87ac10f33c64e3dab6b70de09613949f1d";
@@ -45526,6 +49522,7 @@ titlecaps = {
 };
 titlefoot = {
   revision = 15878;
+  shortdesc = "Add special material to footer of title page";
   stripPrefix = 0;
   sha512.run = "aee68d15213c20d9ba0ef6e3a95f111804e4438d2c80a6cd83ae67725c3174db7f38b0d4280b26f7119e9e1c6477a0aa04d3ee5877e15b05ff2742d94a720c5b";
   hasRunfiles = true;
@@ -45533,6 +49530,7 @@ titlefoot = {
 };
 titlepages = {
   revision = 19457;
+  shortdesc = "Sample titlepages, and how to code them";
   stripPrefix = 0;
   sha512.run = "affb8e221dd2ba1ad6e18d08dcbf3176bf65ae3006a732a7d2bf954fbfe90215175cd3de0dbb7546906b7d65eecb9aff06fabce86c46e88e5027851e11e52260";
   sha512.doc = "703f376c6bb2480f7a326f31ec277716073ddf67834930401c17627dba41c5321a0115e01ec73160917c68fb7ba4e0042e8ac40d968eef89f52b5dd27c2e0495";
@@ -45540,6 +49538,7 @@ titlepages = {
 };
 titlepic = {
   revision = 43497;
+  shortdesc = "Add picture to title page of a document";
   stripPrefix = 0;
   sha512.run = "753ff5c116f102ebd9fe59ea0ad1e80a7fd102f55588f9454fb3ef43fd5478add2d39984638e112dfcc5421f5f79b4c34c8c15d47845273744b6960946ad1805";
   sha512.doc = "6faaeeb6c7212e35c22321e279c08ac8a985ebb8ec66054b49456ee5a9491b88e48edcb20920d61a052b2df9617ddee7e40bb0e868fe082ce5889e63c193b641";
@@ -45549,6 +49548,7 @@ titlepic = {
 };
 titleref = {
   revision = 18729;
+  shortdesc = "A \"\titleref\" command to cross-reference section titles";
   stripPrefix = 0;
   sha512.run = "73905fbe96bc095f602339e0c943048d775bf2a89ef9de3b7149dae7b76aef04e5c77803555450d931f3a4dfef16f5e72597a4d06052d4a852623516edd978f5";
   sha512.doc = "70db133fb8a5fa38a6f0f82912d19afe84e0f68820fe62b3835a6d237582a32fe6c2ba5ad05e46f39540d52d0aafa5a88325e1050e6102164a5753fd9c68d6ad";
@@ -45558,6 +49558,7 @@ titleref = {
 };
 titlesec = {
   revision = 68677;
+  shortdesc = "Select alternative section titles";
   stripPrefix = 0;
   sha512.run = "b738823380d594dcef104e3b7fa05d9df233385ddbadf6fc6bb45e8346311f5f58f5f605dcb4b6541f88b57a27b73236eb77a1d128430c6ede675625e2ec051a";
   sha512.doc = "b29c7b4dbeaee946e404166a4b1f4848ecffc4cc238534cf0c7248b1964146893125a9f5f8f87d6c2ea21c1e61304454bf7eb57d95842397363b88d438636363";
@@ -45567,6 +49568,7 @@ titlesec = {
 };
 titling = {
   revision = 15878;
+  shortdesc = "Control over the typesetting of the \maketitle command";
   stripPrefix = 0;
   sha512.run = "2a321a17b1ff74f57e7bf3f9d72d1b66a0623ed286c8aa75df6d55f1e62b214954ff38456f27f172789bc4cb500688656ab156609933faef67e62954d05d0ce2";
   sha512.doc = "e69af16331da73c2a61b063ca4dc4c5f70f7958c366b06e96745a2bc92397f89210ebfe598f445ff33ce7705d0f0b56fc3a46f93bcc89145d50b92d56820f61b";
@@ -45577,6 +49579,7 @@ titling = {
 };
 tkz-base = {
   revision = 69460;
+  shortdesc = "Tools for drawing with a cartesian coordinate system";
   stripPrefix = 0;
   sha512.run = "a26cb6c8fda3baad6d455a989a4c0f46b5e3b1364acb8f32a866f5ed946344574d29b310c2fbf4e3534dde555d068ae588f9e04b430d15a59ccfdedfe31bd2ca";
   sha512.doc = "9da2aa2bad4901e14cb4c8fa747af000de891005c38175bdce88d706fe83166b534f0d5b39c8557e5ae5975b8b58212cfafee7d2d22c07e76d41ba77ce1403fe";
@@ -45586,6 +49589,7 @@ tkz-base = {
 };
 tkz-berge = {
   revision = 57485;
+  shortdesc = "Macros for drawing graphs of graph theory";
   stripPrefix = 0;
   sha512.run = "1772cc37537ca421022c5b68536ddcd6cf0d5e88d428cd7682e7773a8290c4b2ad90a11b07dd8c4a4edce69497b63d9a87b5f113bc5857dd8e59e7b80d1340ff";
   sha512.doc = "84b5524a8a0cbce6f33611b77c451fd9a75f0d60375e61e2064b27ad4f28a579fddc9a9dae538cd1f540cfe78f98fa62d9b2df979b9a1ca8e73245245ac35f1e";
@@ -45595,6 +49599,7 @@ tkz-berge = {
 };
 tkz-bernoulli = {
   revision = 68780;
+  shortdesc = "Draw Bernoulli trees with TikZ";
   stripPrefix = 0;
   sha512.run = "0824d03ce5cca5be08cd648ac3629094eb4607681601b5d75a56069df687054b5e88c3645367c0728de8f7cf43971b32286eff4b18dd094c620ce37e6c957880";
   sha512.doc = "ea1d787fc049cf42605d6adf107892aa4afdcceb32c874382453836d30b956e1599e2b9286a0e64b823d55005bf8ae2e81259d881b69172f6af5db4e01aab581";
@@ -45604,6 +49609,7 @@ tkz-bernoulli = {
 };
 tkz-doc = {
   revision = 68665;
+  shortdesc = "Documentation macros for the TKZ series of packages";
   stripPrefix = 0;
   sha512.run = "ba4c220f4a53089f8e6cde73cbdd7e1b8eb68f4828217dd5dbd3360086bb946fbfc30a993c678bb8c6e4987579016f610875fb2edc796fd19968c3940a0f4402";
   sha512.doc = "f4e798620ecafd750332e5ae7b3491eebc72c02ecad00e9a67247ed0eba56a537d8ea139bafa6bd9bb1c908dbcf0e13491d2c208805cce1f18db438e8da38a71";
@@ -45613,6 +49619,7 @@ tkz-doc = {
 };
 tkz-elements = {
   revision = 69715;
+  shortdesc = "A Lua library for drawing Euclidean geometry with TikZ or tkz-euclide";
   stripPrefix = 0;
   sha512.run = "cf3694ee7c964b32572bbba7f0f90f9705f546ca074ca566d7f9e104424d9f3a06c804dda89e83496a5749341778d676742ccd1d11fbed4267b025944d876a03";
   sha512.doc = "041eacf3a2657e364db72c12defc437ae336bf4f4250d35de3272f27821b01b4589f102cb4232c7eb1afbf3fa6474df022a0f40a79129b17d2325f81694bb4ac";
@@ -45622,6 +49629,7 @@ tkz-elements = {
 };
 tkz-euclide = {
   revision = 69702;
+  shortdesc = "Tools for drawing Euclidean geometry";
   stripPrefix = 0;
   sha512.run = "ad51786dcfc0bb75edc35b53f753972be5112443901d9e3fb42707c33b08ce2ee16e66443f59b6e6d84767fe48088c1ad0532a7c9fccb70da29888db607f6b68";
   sha512.doc = "8225a344b3c73e3fe4bf00d36517f3fce40cdac5580b605b3571568c58737d8981db8de1639fc5d5cab4ae881898dffd7799b390d6535dcbdcbd3f9264aebd03";
@@ -45631,6 +49639,7 @@ tkz-euclide = {
 };
 tkz-fct = {
   revision = 61949;
+  shortdesc = "Tools for drawing graphs of functions";
   stripPrefix = 0;
   sha512.run = "ce605595518cb9b400a5b49620b5f359de8e0fefbc939d88b8f5aa2113a856ce05f4e9f56bb149c73e5f46c65d7d340a65edd6f1b55f6cca68b10dfaf7e04a87";
   sha512.doc = "c2de4bd1cd9ebc5e0747608de7b1780ec97da00c512d3e1b2ce3150431c307c043f24b0bf1853d6c3e96203c33573322d66dbf0db7cd82f5b1a026ee5b7c6d77";
@@ -45640,6 +49649,7 @@ tkz-fct = {
 };
 tkz-graph = {
   revision = 57484;
+  shortdesc = "Draw graph-theory graphs";
   stripPrefix = 0;
   sha512.run = "04cf17f69862b2ec068dfc061fb019b54352cab3fdebb3111de3c28bf15047e06c236d979e9a9a92140c2a59ac9c0813ed7006d0411737b1f04f71c3a5916cda";
   sha512.doc = "df2a31047ece6f5809db42be2243d00b0342d54d3b864de6a32a43257b0d8525170e9d642db495f876c12adf4ae5580252c1378356acdc5f18531aa3099e76d5";
@@ -45649,15 +49659,17 @@ tkz-graph = {
 };
 tkz-orm = {
   revision = 61719;
+  shortdesc = "Create Object-Role Model (ORM) diagrams";
   stripPrefix = 0;
   sha512.run = "41263c9ad122a3cfce3eca3cd4ba8798e61ef662ebf7f00be99dd16a25b50f5419fb6c04a84bae6bd0ce2b349d4b3216a1a88c6e3d081d8a064ff561536a7e71";
   sha512.doc = "ba9a6a67384478cbcf5b76f7148f60bb0f2f1932033f95945b28794f146d89b21e82c4d59b87735d46bacacd10c1ddca2b19e2e7ae4045a331383f4085a99221";
   hasRunfiles = true;
-  license = [ "gpl2" "lppl13c" ];
+  license = [ "gpl2Only" "lppl13c" ];
   version = "0.1.4";
 };
 tkz-tab = {
   revision = 66115;
+  shortdesc = "Tables of signs and variations using PGF/TikZ";
   stripPrefix = 0;
   sha512.run = "cfd37929060d7213d2294708a38a0ba9df8847b0539ae105ec99b4171083877714dbb19ba2ad5d89bd3ad474573f51e263f42b8bf9866cf010e30bf481f75861";
   sha512.doc = "6356829dfaa331e2e0af9edd044168e07bb8608c28ff386001cd06288da0a1517f7b1dc4bea31e1b06d0715620a4bac80a138bc1228a3ab15f88fa706a9c4b18";
@@ -45667,6 +49679,7 @@ tkz-tab = {
 };
 tkzexample = {
   revision = 63908;
+  shortdesc = "Package for the documentation of all tkz-* packages";
   stripPrefix = 0;
   sha512.run = "d312aa7220166853d5960301b1aac7917969d6cc3859bff6766d366836255cf46fa24f66ad3401243a0cd63b719428b848969bf66d51e5946f56e672eb10b353";
   sha512.doc = "30ad76a0efecf48067e2027eb713dc9af4ff1b0ac50e6c8dc2213a848a41e83d6f53aaf70f5db8654ac4d60b196dfa2ed465cc434010f5ad457bed8cad15f319";
@@ -45676,6 +49689,7 @@ tkzexample = {
 };
 tlc-article = {
   revision = 51431;
+  shortdesc = "A LaTeX document class for formal documents";
   stripPrefix = 0;
   sha512.run = "80b2c0d5418e8061d07d502399895a8334003bf5ed574de8f4af0c422ff0d3a660a511b5064b48e65064a91ea0cd057c134f9651e001eb7d5fa9d981366374db";
   sha512.doc = "96535abc8bf54c62e22d4e47178c1cbbb1ca96bfca16df4cab37b182d50e872c57a2e6ebe65727121fd2682776905c962551639d9435e86ab3fbb5d3e05fb72f";
@@ -45685,6 +49699,7 @@ tlc-article = {
 };
 tlc2 = {
   revision = 26096;
+  shortdesc = "Examples from \"The LaTeX Companion\", second edition";
   stripPrefix = 0;
   sha512.run = "3ac7d28285b15d7e97839619a449c870b3f96e1c557470ba4bf680016c9834af9f09715e09525b00aa2b951bbe20e5d3b1d0a5e5f957de99c13fdb39f4267e3d";
   sha512.doc = "79eead14f268eab643f676c36b20ba89828928fb3b418956277304ac6cf7145d53b4f97c30605690cddce8660361614b58ac65e8454b7740dde17ff82a053818";
@@ -45692,6 +49707,7 @@ tlc2 = {
 };
 tlc3-examples = {
   revision = 65496;
+  shortdesc = "All examples from \"The LaTeX Companion\", third edition";
   stripPrefix = 0;
   sha512.run = "2bdb38f294d1737c73068fa9d768d9a8f96ae858d400f1f8b651c4c51427bdb0e4d623fb8b9b0c0ab2adfe8d55fe472ffa4a27e7064b51528f3eb03ace111a06";
   sha512.doc = "b5bbeccc60b9754e888a0ce457cb88f5c86a6b20c3cdc7850d28c85c409057391355551a97e49bc964521c3b4b498927b499e21bfdcaf15b8b8266c7316ebd11";
@@ -45699,6 +49715,7 @@ tlc3-examples = {
 };
 tlcockpit = {
   revision = 54857;
+  shortdesc = "A GUI frontend to TeX Live Manager (tlmgr)";
   sha512.run = "50817d4c68d4e302cf0f4075ff9321bde2fd26336923efd2fb39bf097090b617a2a67ce75d1a14d562939514acb17b2a356bc388f72049dbe52a868ff3d63ffd";
   sha512.doc = "d40cec8456db0d9fdd55b76c84b40565a8b16d7639084eaa5dbc61c3bd2ebd73fdde6f40b11007835be242a9103cdc5ecbbecb6082ad650663968db18cc1b04d";
   hasManpages = true;
@@ -45715,6 +49732,7 @@ tlcockpit.binfiles = [
 ];
 tlmgr-intro-zh-cn = {
   revision = 59100;
+  shortdesc = "A short tutorial on using tlmgr in Chinese";
   stripPrefix = 0;
   sha512.run = "a89c2f99ad63c8352462ef7139b36e8563e1db815dcb06bd2e0f8b96554c380b574f7d856aa6bffb3c972bd68e9505d7864d87cfb7bcfef1bdebacd10f14a96a";
   sha512.doc = "2b5a7672c600eb2f4cbfb2810090e4383a7032d851f35a74e36c75914d9813566603019f232715e2e39ab6d2f8a60273c01e5cbdcb345892b0bf8c99995e3d4d";
@@ -45722,6 +49740,7 @@ tlmgr-intro-zh-cn = {
 };
 tlmgrbasics = {
   revision = 68999;
+  shortdesc = "A simplified documentation for tlmgr";
   stripPrefix = 0;
   sha512.run = "53f7cc8c2a39ea21a8c5eeb57ae7f99759b364ff7f1b41e2f4599d464ce17920746b8a8e182a044faf0621fa3dc842e14cbe93652d351d9fe8e1fde8a7682daa";
   sha512.doc = "ee69a90ccf9b83396b0d9fdd5f030e673d00b2c372334378ad450089b40b93de8b596ed5bc8a459253689316a7219080b88248c1f65a475980ec270a6c84c8ea";
@@ -45729,6 +49748,7 @@ tlmgrbasics = {
 };
 tlshell = {
   revision = 66771;
+  shortdesc = "GUI frontend (tcl/tk-based) for tlmgr";
   sha512.run = "b514f1c41c464300eeff261dc46004963e9ae6133dee084c39d8d7354510f37c3ebd8481daa377e057b48cf805ca87e7f247abe103c3a6404294b4b308361b69";
   sha512.doc = "a4e686c57454adbbead87afc078720e294bd865dc5f77905e0f8e183efe83fcd2f0057336aac17ba6bc91eccf785bf1b3b47959359fc3ea49069bceae3d21d6f";
   hasRunfiles = true;
@@ -45742,6 +49762,7 @@ tlshell.binfiles = [
 ];
 to-be-determined = {
   revision = 64882;
+  shortdesc = "Highlight text passages that need further work";
   stripPrefix = 0;
   deps = [
     "soul"
@@ -45756,6 +49777,7 @@ to-be-determined = {
 };
 tocbibind = {
   revision = 20085;
+  shortdesc = "Add bibliography/index/contents to Table of Contents";
   stripPrefix = 0;
   sha512.run = "f373d6c98730e60d06790d1a219df26e60bbddd2aaffc3aefc5877ae6b2c10c1a08e21dfef82cc591e1c6f7c014e0843ae30be948b7eb55321dc94cfb7b16aa9";
   sha512.doc = "1521eaf8a15038a2a0b6136e444ac38d6033071b305f6de6db6a5f8ae34625a5b8bf654d7a97b5ebdfcf4efeae58c41a7c9c17005552314928e315295766c441";
@@ -45766,6 +49788,7 @@ tocbibind = {
 };
 tocdata = {
   revision = 69512;
+  shortdesc = "Adds names to chapters, sections, figures in the TOC and LOF";
   stripPrefix = 0;
   sha512.run = "b1d8fc5f578eb9507e1271fb19d2e024b272b0c23fff4ca11177c46fc2ec69777adca4329960787bd52c8d9862010547ca8b4378ad0b8986c503576be2930cab";
   sha512.doc = "6fe648771c02287ccacf991b7b0e106e9e3917e882993c6203314f97cb20d8e0ce873246abf7fe11d107a22cef0fdc02a7bc89278a6d0a14d48cc6838f17158a";
@@ -45776,6 +49799,7 @@ tocdata = {
 };
 tocloft = {
   revision = 53364;
+  shortdesc = "Control table of contents, figures, etc";
   stripPrefix = 0;
   sha512.run = "249b50b4dde3c9b14cfd3a7b00c441007643ad6638996b83a0274bf4126ca8a26f6cfff816c5efc9b6516953cfc29c18905138fe137877ae920e82376afeeab7";
   sha512.doc = "edd477e3c4b2a9f815c3e57a6b785c2237bc34435dd561d28b3e38bd8da5cc5d4d4de79a10dfbb55e920d69dab90d0a40efd3bcc44cad1c736a723b89f147af9";
@@ -45786,6 +49810,7 @@ tocloft = {
 };
 tocvsec2 = {
   revision = 33146;
+  shortdesc = "Section numbering and table of contents control";
   stripPrefix = 0;
   sha512.run = "685ff581b0cba155a763ba951b4f5b1e12a44741dc5245967cc2d2effad12127828e4d2f3adabb9fe3d126ffa1f76d43dc196b89faa39745ce85a7f96fb44017";
   sha512.doc = "9247adf45a6a8f18e03d7b93ea8de8decdd9f1ba15eed7ee28c356679a6f62bd8607b9c519448bae2234cec15b76a5155ad7efe99ceb9382022988a29c2ee85c";
@@ -45796,6 +49821,7 @@ tocvsec2 = {
 };
 todo = {
   revision = 17746;
+  shortdesc = "Make a to-do list for a document";
   stripPrefix = 0;
   sha512.run = "e3cd06aa47c36344602a0dccfb48e43c0639cadcb91aa9e787d552c6d3ecca95da3b0f3af8d0f479caad41f657bbcc30016dfd3f80f42285fe8ab02e0a904601";
   sha512.doc = "c747b4cdcbe8533338a9120b06120b0daa68940ace4cf44d87882d5b5a5a42e2c062c667d2e3fbf8979e1385cd55dfd8747f4fcb044a4112f4b2a79588d0463e";
@@ -45806,6 +49832,7 @@ todo = {
 };
 todonotes = {
   revision = 69319;
+  shortdesc = "Marking things to do in a LaTeX document";
   stripPrefix = 0;
   deps = [
     "pgf"
@@ -45822,6 +49849,7 @@ todonotes = {
 };
 tokcycle = {
   revision = 60320;
+  shortdesc = "Build tools to process tokens from an input stream";
   stripPrefix = 0;
   sha512.run = "fa7beb7d6dd1ee5a6caaa968d425143f946426e98a164d1f1b44288105a6c8f57d94931782616c3926493f0af9709c5836bece10aa7ed6c2f1623f8301ff9bae";
   sha512.doc = "dcae2b95cad3150dc8879061d8c546074116af04a970a7c2ad9a91292597f3c859927ebf56ffd58aecb995a9968fc8221b6250efddbdce80edce96fc9c906b48";
@@ -45831,6 +49859,7 @@ tokcycle = {
 };
 tokenizer = {
   revision = 15878;
+  shortdesc = "A tokenizer";
   stripPrefix = 0;
   sha512.run = "5174ea1b9c6c02fb8245db5315ccc7b65239d1343f719ee23428bd530dfd70edf26822bde25d672603d268a63360ba31b4a9fdcddf426b82eef440cd7f449d8e";
   sha512.doc = "4e978a368cd7e97a1300addb739b457cbf4810ecb2d4e1161d931373d858573d8fe1688629cd7d23a44a4d5403e5d8d9dc92869be9809bddc9110c55879c940e";
@@ -45840,6 +49869,7 @@ tokenizer = {
 };
 tonevalue = {
   revision = 60058;
+  shortdesc = "Tool for linguists and phoneticians to visualize tone value patterns";
   stripPrefix = 0;
   sha512.run = "052216e492b58a5e8ad4cb3f346815924291f3d24c995d42f22f189e6601a7b4236d434684d5777ea10d50a3d77f033b02ab76ad1550c0ba1ec275a6d22bf4e4";
   sha512.doc = "b9bafeaf2a089f3537767a51923ecb6d7008009f4fe2fa74cff71f7d7358ab52afe4f39951efc04d29e2bca5cfab4ae70cf35a9f1e895377be4cef2ef0c523d0";
@@ -45849,6 +49879,7 @@ tonevalue = {
 };
 toolbox = {
   revision = 32260;
+  shortdesc = "Tool macros";
   stripPrefix = 0;
   sha512.run = "af5320de678474075998f9497be0b766e826b0105b344939a66c5c1377e7c345623e2de18b73cb43f93c8edc241fca7a99fff1ca4b6bd3dfba52bf2ff476f18f";
   sha512.doc = "ee800bb98c9577b12bf20a0b19ce27d9c6900f66e0920c922626599986b887e34513cca8474456aab7ae59aa5d5fae3c7c323ca4cc21372979ab3d545921ed34";
@@ -45859,6 +49890,7 @@ toolbox = {
 };
 tools = {
   revision = 68941;
+  shortdesc = "The LaTeX standard tools bundle";
   stripPrefix = 0;
   sha512.run = "6da3f34edda1c3839737f6ce0db95a899af8c47fe9901a502dbc6a6c95ae9fbe317c7365d6cebe3a20bdce8af0e37b803480f8489de57ccc6daac8a758a5c9d9";
   sha512.doc = "614a64b6d5f25c4fd691d629f70f1fc0f614aa4ac1a1a5a6e06f6ab0edcc0a8e8cd14c2cce498aa75ef3320e493c7ef69cd6ac858505519e10b8414b9cbb13ca";
@@ -45869,6 +49901,7 @@ tools = {
 };
 topfloat = {
   revision = 19084;
+  shortdesc = "Move floats to the top of the page";
   stripPrefix = 0;
   sha512.run = "a4e4031292203a04a1df1dc5e6bd4f6b89c8806599d995707fa0dfc238bcb3dd1ecf185665db33a406302567607da5640f385f12cffb46f482993850b78155a0";
   sha512.doc = "6c37c3b9ad32a121eb03f23049e11fe52b7cf6d49353e94a18eb39aaed3c049bee86ef6c6984440c9700546f20023f7a71975591c1f3750d31e176e8ba4f4c47";
@@ -45877,6 +49910,7 @@ topfloat = {
 };
 topiclongtable = {
   revision = 54758;
+  shortdesc = "Extend longtable with cells that merge hierarchically";
   stripPrefix = 0;
   sha512.run = "3bd1bc743191a644cf9dbdd36890929003adfd8bc68372ff74882b3b37f2cbdfcd007222fbaadf4d73b5b1f919e1491edf8c25e9c69993be367d3816d06a6b12";
   sha512.doc = "c837a90b1c13f194d4bd41d1ef91e994c4027443169588622bab2613b57cc86c6a29b81178f257c2a6b36ea65c89e1b66791ed137c2b5c144deea8c7cb987a17";
@@ -45886,6 +49920,7 @@ topiclongtable = {
 };
 topletter = {
   revision = 48182;
+  shortdesc = "Letter class for the Politecnico di Torino";
   stripPrefix = 0;
   sha512.run = "1c583621d738ff203ef755c4ab6d4ad520fe25204c882b3b5b1dc719590cc4ae117502008f0b2ef67486f33127e6eab92a2177aed42a8e011c9309632ce1fda1";
   sha512.doc = "2fcaee9c15adec307e5cbbc4e71dadd2bfe2158f51d5bb842ea6faf1e10487f5881d171e29a48ac7c6c6ce52bae7bffee91772dd046311959167b11ddac8328c";
@@ -45896,6 +49931,7 @@ topletter = {
 };
 toptesi = {
   revision = 56276;
+  shortdesc = "Bundle for typesetting multilanguage theses";
   stripPrefix = 0;
   sha512.run = "be7a920e195b9ffd3fcfc0bbe1647d1b47fb98743ec69ea9b23783f052d9c10c26acdea42d4d2c7501bd57d3853f53642a5328a1c6954294a2cd38d8aeeaaac2";
   sha512.doc = "7dd70306861e8528cd4c645893a3cb81c20a6f82db2237e595573226c77f8df71ecfa57909b9675e19e441301fecf38f1b1c4bb7b4ed2705a4e132d4bf19b436";
@@ -45906,6 +49942,7 @@ toptesi = {
 };
 totalcount = {
   revision = 67201;
+  shortdesc = "Commands for typesetting total values of counters";
   stripPrefix = 0;
   sha512.run = "71523dddd67c44f4ef53c14833d4ea3f70603cc76f0495e5533e68eec99b1006796796b39deb40f6b36dd9ed03102ad859a7032bc6dd65137fd19c23c4027a07";
   sha512.doc = "2fb61446efe5fb3ca8c80099d19ecb7a281ea2ebfa756778e4bba8060e9331fd1b712b7b77c66ddbd3a5b60451d6007130803b6138f1eba466a5f210c1d3322d";
@@ -45916,6 +49953,7 @@ totalcount = {
 };
 totcount = {
   revision = 21178;
+  shortdesc = "Find the last value of a counter";
   stripPrefix = 0;
   sha512.run = "03ece717c7db3820cf41192e3bad2711e159fcb8a5a5a185e1c55335364917a515d9dd691cf1890421a8c62c9e55bdc49cb13718f7d98d9df34a2470cfff0daf";
   sha512.doc = "46ef8cd2317108d0896b32ba9104c69fb34a6d13d1e123d6b8f1648bfdfffa6bb21f17207433dd763451b1f6c104ae3532e7aac43ef2ba73281842f0a3bcd05e";
@@ -45926,6 +49964,7 @@ totcount = {
 };
 totpages = {
   revision = 15878;
+  shortdesc = "Count pages in a document, and report last page number";
   stripPrefix = 0;
   sha512.run = "8dbfcf7728690d6c2a20f661daf62e80c00d3f08fd00aee7a07cbddd31f6adf8f38e32623b2963748367ea08dd3c95919ab576b22d70214a2f5f4f07c40374f1";
   sha512.doc = "58cb9d30644402a68462e0b00b6175ec4a002135eae0bb16ad2cb5b919d1dd6b93583074a0723e1c55946e7d94dab506b8527a67d7d7b39be20608207bae5626";
@@ -45936,6 +49975,7 @@ totpages = {
 };
 tpic2pdftex = {
   revision = 52851;
+  shortdesc = "Use tpic commands in pdfTeX";
   sha512.run = "fa8689bd257b6336badb8e5a742d5c5f12d9088b33b43bdc41474feda62358c754db05735fa471baa307907bcd61f68e8d061e66c400198d6a1dc165f39d2226";
   sha512.doc = "f24f8508279ded0689bb9dda8c653cfbd903c46782744fcb8d004f50a771ca74b86549c86abc765a408f2be67334048390e407be9446faa476a02ce9c27d5547";
   hasManpages = true;
@@ -45946,6 +49986,7 @@ tpic2pdftex.binfiles = [
 ];
 tpslifonts = {
   revision = 42428;
+  shortdesc = "A LaTeX package for configuring presentation fonts";
   stripPrefix = 0;
   sha512.run = "0394101636f394f04c38b6677f921136f74e3c8abccff199d4c972ede085c3915e2fe9bbc5b239044dd8f24b405cfc34b5c736a7cd03b749b6aeaf7feb15f5e4";
   sha512.doc = "e5be9024a02669212044844ad0e99b72faae15c62fb0c9065c8a5e3beb852968cf4cd4744d01890534df5a540bd1066749d999e919afd7d791b4e9ca7dd3c26c";
@@ -45956,6 +49997,7 @@ tpslifonts = {
 };
 tqft = {
   revision = 44455;
+  shortdesc = "Drawing TQFT diagrams with TikZ/PGF";
   stripPrefix = 0;
   sha512.run = "0bd44773d17cdaac4e3490dbca1fe038bb18e50d057d6adee53b32d6127ec844e3ae9b8f0f671969c8a00e0df01eca9fd93f27e85fc1ebcf03966e6c82b53f8f";
   sha512.doc = "0b6c66aefec59955214299a99eaf4949900fb294e7f1eb904efdfc0de3aa85c5fa38961073ba3f7a3c60f26688c28e6f1bb5ea2c32751062fb3231edc4607f0f";
@@ -45966,6 +50008,7 @@ tqft = {
 };
 tracklang = {
   revision = 65263;
+  shortdesc = "Language and dialect tracker";
   stripPrefix = 0;
   sha512.run = "a8cb03ea2fd0063ad3e0784c1fb6085e623f08d2a8a8e1e5907a13b0d08c2a99c7e1f6d0e357dabdd4e655122b572dca2eee5855bb5fe9ca500715a4b8b4790f";
   sha512.doc = "42dd6cef4ebe9212277ed9cebdcf9875a73981ff88ebd19a5bb43296605087cceeb4095f5de1eef53b70f8edeea5268ce327d16545c55411c20880673f7fd651";
@@ -45976,6 +50019,7 @@ tracklang = {
 };
 trajan = {
   revision = 15878;
+  shortdesc = "Fonts from the Trajan column in Rome";
   stripPrefix = 0;
   fontMaps = [
     "MixedMap trajan.map"
@@ -45989,6 +50033,7 @@ trajan = {
 };
 tram = {
   revision = 29803;
+  shortdesc = "Typeset tram boxes in LaTeX";
   stripPrefix = 0;
   sha512.run = "4592a288c08f5bf6b41fdffee8129e08fec7397edb2b351617fe79571d2905be61cb776f87a5b152c4b62acefdf21ee2f0b293f210ce52f449d3b9e41833b2d5";
   sha512.doc = "bfc46f516c2f81530ed7e648ef6774443502b580cf580b5fd5ea9f7be0311b33fb14156aca3f36bb4d74cc165dd33d0b8ef3ebbab5624f38239c281c7d7bda09";
@@ -45998,6 +50043,7 @@ tram = {
 };
 tramlines = {
   revision = 65692;
+  shortdesc = "A package for creating tramlines (lines above and below a title used by lawyers in the UK)";
   stripPrefix = 0;
   sha512.run = "d30a7a7ee30f933163f5462ce00b63e82bbe65b2d08b2b530004c22f7fdd884c99d44423aa98ee4176f0d7cab159799984a399ce26315d0af6522babf7b3f646";
   sha512.doc = "209f4af2dbc0993c3f3b454c2d030c2f69e43403d50721a2c1e7159c1ed1cd95a01c76bd1821d1f281c4b1fd516b3084799d5877acb500453008c3e7e1b15b5b";
@@ -46007,6 +50053,7 @@ tramlines = {
 };
 translation-array-fr = {
   revision = 24344;
+  shortdesc = "French translation of the documentation of array";
   stripPrefix = 0;
   sha512.run = "d32d6b397916bf631d65171f4f7de4bdb6049eec5414d1a9adbbe88d147ce2e4930a4f17b70c5c12b7ef9c3300d9eb099d63fb14ccd5478c6bfcd0557074b343";
   sha512.doc = "7d9b2e43f4fde3e6a3b7436a55b2095fbc4ffa31223019c1cbfdf3d623c48be406858cdb96c8693e10fd0023050ddfbb09b463a9a3804879945ac0d6aa616be4";
@@ -46014,6 +50061,7 @@ translation-array-fr = {
 };
 translation-arsclassica-de = {
   revision = 23803;
+  shortdesc = "German version of arsclassica";
   stripPrefix = 0;
   sha512.run = "76ced8c2c93e35d6bee10f34a7de5709b8027f9d498f8fcd21ba776850c65e1e20eaf20528414b7d9da1891a2db7132b6e3b703c4f8d91f4ff0c69eb9159c996";
   sha512.doc = "58773adb7493e6ef31d8fd3854a51cd37921dd331f56f1d9eab5283c121fa8c3316ffc41242356a87af04bb6da68761ea15829e5e8555d2e6cdbb68833c8d313";
@@ -46021,6 +50069,7 @@ translation-arsclassica-de = {
 };
 translation-biblatex-de = {
   revision = 59382;
+  shortdesc = "German translation of the User Guide for BibLaTeX";
   stripPrefix = 0;
   sha512.run = "6256a868d6f6ea53107245574d3d7fe3f1b646cfa67dd456f88abbab980b4f9060c752faa14f185957762b76c159aa8d52b3ab8908c53c5938e415fa8e4d5f7d";
   sha512.doc = "e7e634d9d581f781f33ebcad17f4f496738d6364725dae75d7dae6d357bb7deb08a5e01de0e1ac6aa32cdc09ebefbf0190d9f6f11b286a20ce0fce23c0516fef";
@@ -46029,6 +50078,7 @@ translation-biblatex-de = {
 };
 translation-chemsym-de = {
   revision = 23804;
+  shortdesc = "German version of chemsym";
   stripPrefix = 0;
   sha512.run = "e23821fc1bbdee758e534bb52c4e0f348d6be3396ca2d8e3c11c9425132fc9c28f2bf6c98cb1beee9b23716cc1a75704561d9d8f16d2f4e94851fc2f88e0895a";
   sha512.doc = "efe9f711c42925fd035339c25284e09ca7a99c246bf70ef2c15c4f1149accf5bab09e396b94d6d59d4e8c303bfdb3f40570912713dcbd33e7ae360a6b21c36de";
@@ -46036,6 +50086,7 @@ translation-chemsym-de = {
 };
 translation-dcolumn-fr = {
   revision = 24345;
+  shortdesc = "French translation of the documentation of dcolumn";
   stripPrefix = 0;
   sha512.run = "8d2288707f13896dbb578b538b535efffc89991d56586f27a35b284b5be7c553df97a72ac163a625238e281bfe97bb79fa716855dc8e93f25f0a8af69674eb45";
   sha512.doc = "95d1633884f7237bf2a7abf8a43127ac1954fb5d0e308d676a7f4c3255d709496a382f01a8af6c28f793bcd1863e98f8ed1441e7cc288d3b8de3176631cdca1d";
@@ -46043,6 +50094,7 @@ translation-dcolumn-fr = {
 };
 translation-ecv-de = {
   revision = 24754;
+  shortdesc = "Ecv documentation, in German";
   stripPrefix = 0;
   sha512.run = "33998fcadaf7b42874968348ef4e3232652ea401410eea6a8011db146a4989afb102a2bba247df53b875bc02b1ea8f21ec5c68783ae43f36a3f175e77dde6453";
   sha512.doc = "a86784aaeaa786251f35ddf273050e9c981a68d060ba1a2f186379e04f89edc696090b44b402996c4f2422d1cbfd7fd68136c29fc7c74a2fd32d6d230eb2e489";
@@ -46050,6 +50102,7 @@ translation-ecv-de = {
 };
 translation-enumitem-de = {
   revision = 24196;
+  shortdesc = "Enumitem documentation, in German";
   stripPrefix = 0;
   sha512.run = "7018a95d7b68b6b736472d6f43d356d25d2a73df4a5dbc080485f3b4e747d122889788b3d1a75ec4c479a84a4453128104f01b2e1788e9dc50d09bda0eb53cfe";
   sha512.doc = "bee33ecf7a3045c382242f4b6ec9599f32fb254053a6417ceb514f3aad64b2bf51c50f660b562a2a3f0207f7bdc4676527627f432b1556362e3a9f5e9eda8694";
@@ -46057,6 +50110,7 @@ translation-enumitem-de = {
 };
 translation-europecv-de = {
   revision = 23840;
+  shortdesc = "German version of europecv";
   stripPrefix = 0;
   sha512.run = "6102a92b45fb7c19d2190bf4289e8b6b24ded67d0255ce2f483627bbdbee00c42c044be03bc10c9d0e23c2b911e781d21a7e6562e80988620a6da60562d98bf4";
   sha512.doc = "f50e761fc7925f0cf404788ad2ad70586536e1676bc7a026be5a81136a1323f011a281160a344c455346553e90cb632133668c2483200a05ecf961e46e50bfb3";
@@ -46064,6 +50118,7 @@ translation-europecv-de = {
 };
 translation-filecontents-de = {
   revision = 24010;
+  shortdesc = "German version of filecontents";
   stripPrefix = 0;
   sha512.run = "78dd9ee41d9b06438e01ec12f716929c4cf0fbf6ff209f45fadce9fad4bac0d1b31732b3f66896bf7526dac7532504e0913dbb69c3c7e13830e81297b2761935";
   sha512.doc = "17ed1c39c549b43c31c13dfd6ffbd968ecbdd3e64b00cbc66b0a8914726f4baa7faf98edf30c23ed81850cee98a732bbdd70ef667973163ccee0b35c160fdc64";
@@ -46071,6 +50126,7 @@ translation-filecontents-de = {
 };
 translation-moreverb-de = {
   revision = 23957;
+  shortdesc = "German version of moreverb";
   stripPrefix = 0;
   sha512.run = "6b11a1b522c728722d4d5d5b38dd453ec017dc053d360180b943778923ca9a23b3ebb92516c1a6880e507f5e8b6d8d87878c92762637acc5ac93f42ad790446e";
   sha512.doc = "955070d4e92e38712a5df837fd0df716d1a597780a4b06046d5aac5164efc0fec1121c51ea09c3ef1a090d51732f57308f4db386440118548e2167f3cafe16ce";
@@ -46078,6 +50134,7 @@ translation-moreverb-de = {
 };
 translation-natbib-fr = {
   revision = 25105;
+  shortdesc = "French translation of the documentation of natbib";
   stripPrefix = 0;
   sha512.run = "ff34cb7cece157b933117ba0e9aadb0e9caa759a406fabf7b0ebb89e5b03ee6db7aa493551816e9061ff91a460e46a58f1402b086d37c48863b4e093d19326a8";
   sha512.doc = "971570414f9705cc4026a21a557b2f1dfe8fc010feca4f1ada946d11aa30169746c2017fb3882e65e68520539974eaf2361ebab7bcd292eed177fa7f6eb7337c";
@@ -46085,6 +50142,7 @@ translation-natbib-fr = {
 };
 translation-tabbing-fr = {
   revision = 24228;
+  shortdesc = "French translation of the documentation of Tabbing";
   stripPrefix = 0;
   sha512.run = "76f1c6318cd964b94d5a1d836b1a40fc58de49566cdc30b1ea60fc29fbcc8c6b01a477f4739a5fd9bb24998325dbf42817ad016fff27207e710bfc4b51b29985";
   sha512.doc = "ae2f1aa60162512287f15c770a465c2e39abe1fa5d1223d96c524dc81bf065d62f307893d22dfc06fc50da8d63d817ed60c8f07fd4fede984b6febe9c8b7b710";
@@ -46092,6 +50150,7 @@ translation-tabbing-fr = {
 };
 translations = {
   revision = 61896;
+  shortdesc = "Internationalisation of LaTeX2e packages";
   stripPrefix = 0;
   sha512.run = "82d2a821c42bda66658f8557d85f2c52bee6324c88cf44e5440cac4de5bf7e938a3e37f7fe2371069a923c1f3fb794f8860274765054f902eaba560ea195297f";
   sha512.doc = "ab72edcca1d3407eaef679acd3f3d2a49f559e5ca6d9d1ad7221dd76152560be307722155cd4da54215e3b7f561f39e08ae737c70ff2e7fea1ddce2561b506fb";
@@ -46101,6 +50160,7 @@ translations = {
 };
 translator = {
   revision = 59412;
+  shortdesc = "Easy translation of strings in LaTeX";
   stripPrefix = 0;
   sha512.run = "5700b0b8a95b244c93f17c5e1bfc74d4defec842892eec358b308dc55f45ffd5bef050a1ed938c9100cad771ce5ccd53bfcc917083a9ba23a60a3b339d241f2f";
   sha512.doc = "abbe08cb16a39395b53d01f85172a11e339cd18f2c7f9dde8ab1d0cf353649c181f442fcb94c9add913b2b807ae9f6ba1ac54e9a6fed147cba1af335b6b73d8d";
@@ -46110,6 +50170,7 @@ translator = {
 };
 transparent = {
   revision = 64852;
+  shortdesc = "Using a color stack for transparency with pdfTeX";
   stripPrefix = 0;
   sha512.run = "58ffa6219576a994955be228a412835c8da328c351ca0cc5dfa9d3a9fdfe8b38324890ecde9ec8ed9ccc49231169786d704ef65cdd3dfd860f5aa761a18c57d9";
   sha512.doc = "73942fa07c9bcc6e8f08b91837f96a3c781f2f60443078b67232092b98e0bfaab07e57bd43e54345df7fbb9ea20bba8bbbc10c9dc58d5cf2d0b6f6bed469d894";
@@ -46120,13 +50181,15 @@ transparent = {
 };
 transparent-io = {
   revision = 64113;
+  shortdesc = "Show for approval the filenames used in \input, \openin, or \openout";
   stripPrefix = 0;
   sha512.run = "69d27356f57d5b610fc9e6e839f6df111f6b98b8bf446327ecfba473dea6bc997cb6802ca382b3438d44de85fd5f50f82bd4e5508bfa43d08223463b5436950c";
   sha512.doc = "2e54e51744c482f98c1b35588cc934ba18e3358fc2be043459d7e16f8c85ee6aae7acf4b6c3b329cdfddcf1b3126000c6559d41d5b2c4e88d5018844717cb8eb";
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
 };
 tree-dvips = {
   revision = 21751;
+  shortdesc = "Trees and other linguists' macros";
   stripPrefix = 0;
   sha512.run = "6153417c5d2677a56adf031c5f2f27e4c2bf204c0acef1cc5cd49355370aa336814bad7d2be00e95d22bcf73b9b69105a255d15f29ed650511c0eccc3c9bda07";
   sha512.doc = "8c507ec7719b92f2cf82527c7799b073ff2679cf820528b489eb7d8c83d28d098033760cf092bceb9ee7e28fec15eb580122c080b982dbb12e0e65176121e84c";
@@ -46136,6 +50199,7 @@ tree-dvips = {
 };
 treetex = {
   revision = 28176;
+  shortdesc = "Draw trees";
   stripPrefix = 0;
   sha512.run = "49202a38697bd9bd3bc6fcbf30d28047b8ddc4d737bfa68cfdb83197b484352997a33f55e195211eff1d548f95e2072f07ed18f1d7c6772a03c66a13051d1709";
   sha512.doc = "fb9e09bc2f6e45b854824c9c757733c2c17b4d48edc955ea48bea3ab3fb5dd914eb6427c8ae4f74ebc62b4715bada84c8f3fca0ee7d01f8d3c2526339a844681";
@@ -46144,6 +50208,7 @@ treetex = {
 };
 trfsigns = {
   revision = 15878;
+  shortdesc = "Typeset transform signs";
   stripPrefix = 0;
   sha512.run = "3607b6371c2dbbd93524f0811dbf14cd93cb2556fc217899ef3a273c27158771f743bafff0fc90a582d65da431efd7ccc1f07bf92a6600a7bc301b5b6a308325";
   sha512.doc = "9bac4f4deafd62a8b113107ce47bb5ea3afe05078a3c5083b1ed790ed690bc3d73066e0abadc5cb1a3d45246f759941d6e2389105632bb6592c32a08e7b7671b";
@@ -46154,6 +50219,7 @@ trfsigns = {
 };
 trigonometry = {
   revision = 43006;
+  shortdesc = "Demonstration code for cos and sin in TeX macros";
   stripPrefix = 0;
   sha512.run = "366a5e96499bd96d2eee38b78305d9fd7368d0b70f91acecd5a5337675002808a5695a525d011a1ab7b31ff34cc14c469970a3fe55c694f003d0ba7002795297";
   sha512.doc = "a9bd77bda2cca604a69ca1b60deeb8da3128c625b87d64ccf39aaae853a645e736b5350d3d575302ec2a35e9736e4133cd4ffd223b9bff6191b6fed9549a8092";
@@ -46162,6 +50228,7 @@ trigonometry = {
 };
 trimspaces = {
   revision = 15878;
+  shortdesc = "Trim spaces around an argument or within a macro";
   stripPrefix = 0;
   sha512.run = "09bfe50d1b14502311aea7a20df80e70c1907b1c8443aba9453aa0a3eb76cbd34728734b81df63bd5895a4a5a55ddfe6d0feedf7d5d28d6b5922a374bc550c9e";
   sha512.doc = "8e26064de0c14d6caa1d6cf625cbd2d598102056136dfa20d0a7ffb178c26829db0206d87893937b63f83171744a29bea3567e16e2a7a0d454734a0b72837277";
@@ -46172,6 +50239,7 @@ trimspaces = {
 };
 trivfloat = {
   revision = 15878;
+  shortdesc = "Quick float definitions in LaTeX";
   stripPrefix = 0;
   sha512.run = "25e07373c53a6d4c92a5f2f19fa0d70c86202435863b8b3cd036f2d12f74a477a33cca6508794f67256a877117bea821a11b9bff235e1a894c90b71810bbcca4";
   sha512.doc = "eb9fce19c495eedd728e87bf47f5d925a685a8b9e81e8de0e6c317f74af6c82352f403486f5a904849ed418722d830ae294a89eaa57bbff59eee8a03cf9b8af8";
@@ -46182,6 +50250,7 @@ trivfloat = {
 };
 trivialpursuit = {
   revision = 68971;
+  shortdesc = "Insert Trivial Pursuit boarding game";
   stripPrefix = 0;
   sha512.run = "62cc07c80aab3b4c35bbc5ec96d97204241b0e83248147b2875382657ccfe035567455bf8c689798b4c0dfe6bb8688da2ef9d4a89388521817dd09454867202d";
   sha512.doc = "59474350e6626440d5a5e4f5782135182c6c5e497a3fa6436264a6774ecf498f719b7469a69539766c5e0b10a13ad659e00bc5fec854d0e961032ea7ed13af71";
@@ -46191,6 +50260,7 @@ trivialpursuit = {
 };
 trsym = {
   revision = 18732;
+  shortdesc = "Symbols for transformations";
   stripPrefix = 0;
   sha512.run = "e571d1c0c042e2fe75b992c6e0e9e07b04f0368f1e74a51ba91c34a642be148fb817027931ec35831672970725377038b5cc80d34bdb716d936f4aa59075d83a";
   sha512.doc = "d6cd64c1c4bbc927f4154c2281ef4c13ab145b750d92561235364a35082e497afc5d8aa5806452757b499b827305a0a183723deb38272ba43bcc38eedc367731";
@@ -46201,6 +50271,7 @@ trsym = {
 };
 truncate = {
   revision = 18921;
+  shortdesc = "Truncate text to a specified width";
   stripPrefix = 0;
   sha512.run = "b676d65803577b4bce5f6240a0d05a306199f24c2b14402954f4430f07fed9a8af574c4cf9cdc233824bb1a285eee0c531aa40ae31c782a43afd678d6e44f27a";
   sha512.doc = "78e9a96fc2e635237cae9ab4d7ac30cfee8582dde13331800ac9079d1e0726c597accb598b5e679b6643d27b2a53fb367e740b76d59e9a5d27226a4c829e8518";
@@ -46210,6 +50281,7 @@ truncate = {
 };
 truthtable = {
   revision = 68300;
+  shortdesc = "Automatically generate truth tables for given variables and statements";
   stripPrefix = 0;
   sha512.run = "1f8ddc2aa2c8672c876794eae7266f8a4a02382ed61eb00af972a2adc732fdcba89a7a7579f07d755eb4ab742018240ea69fa214ff0393b53b9c77ba0179b0bc";
   sha512.doc = "462a23fecb4c1f4a793200aa45d42bd325fad9abf9ea6481fd2c9d3f3993de657cbb7651c7ac1f4aca6d97626c751bc6d66285b8b3e9c06bdd216fbb5dfb9033";
@@ -46219,6 +50291,7 @@ truthtable = {
 };
 tsemlines = {
   revision = 23440;
+  shortdesc = "Support for the ancient \emline macro";
   stripPrefix = 0;
   sha512.run = "d4b6a929a403ed7fea409aa618e7ca021c2c7138a6b11c980430ba18f952ffba44df951dbc7b7f3a5ffcdace3b5f3a455eedc2a50b6e0e003ae3e17e8e7f9969";
   hasRunfiles = true;
@@ -46227,6 +50300,7 @@ tsemlines = {
 };
 tsvtemplate = {
   revision = 65333;
+  shortdesc = "Apply a template to a tsv file";
   stripPrefix = 0;
   sha512.run = "36910e6a376f074b70f5fd35c8f9bf0ba1ea1f377d7b850506f8ade19e8442b8d9af3216485dd2ebac29534a5d5c59b447679a5e1a1e12c59f3661774d30b244";
   sha512.doc = "48a91c16fd0f819ae201027409e3482edb070762f446d271eabc7822938789d8eaf5255605f66c99c5a0ac303d1d765831ca980a3ed318064b8553d447e1c3da";
@@ -46236,6 +50310,7 @@ tsvtemplate = {
 };
 ttfutils = {
   revision = 66186;
+  shortdesc = "convert TrueType to TFM and PK fonts";
   sha512.run = "2e4eba2acd3b97297d2629ad93fdac4587afdfff30584ff77f69574efde4172ce60b904100c70d168016e8cb5c6407f4b4ef5ed7b3c83f942b7477af2f101be7";
   sha512.doc = "bac6812f37f1d53184a4944e91b06c4ecd6a03d96d78956781c4b01c38ec3b65b74032704d98a4951f8dd5ad84ff54d82891c12e7db99ac58e687e535758decc";
   hasManpages = true;
@@ -46249,6 +50324,7 @@ ttfutils.binfiles = [
 ];
 tucv = {
   revision = 20680;
+  shortdesc = "Support for typesetting a CV or resumee";
   stripPrefix = 0;
   sha512.run = "957485431ecbdd31f180b36e7519c4bee8379f477b765ff5cebe57ffa3c95caa5556ed057943eb052d61e720074dc78035fe05b0023115caceb05bd2c3757183";
   sha512.doc = "750f739c7cc244ce52b4838009666c9b6196cee234e9bbf0028e3316c75a435b5038269e93f42d99116b9db3d93dc4710c03705b924d62f09a217f2acfe36303";
@@ -46259,6 +50335,7 @@ tucv = {
 };
 tuda-ci = {
   revision = 69351;
+  shortdesc = "LaTeX templates of Technische Universitat Darmstadt";
   stripPrefix = 0;
   sha512.run = "d5a2887147c21caa4c3fa2d8f421a7e759998faa36ab2933b40f7ff43768677f982f5b730c593245c55d09dabdff7bfbc51e5765af897821c525c5510d513bba";
   sha512.doc = "c4a61e1ed259abea0d77fff546ba79eec85d0b5ec63422c8181ba5cae806b4180103361d3ed0eec3035279a13fe6e45166f6832a5de5a801e3b1564fba27be92";
@@ -46268,6 +50345,7 @@ tuda-ci = {
 };
 tudscr = {
   revision = 64085;
+  shortdesc = "Corporate Design of Technische Universitat Dresden";
   stripPrefix = 0;
   deps = [
     "cbfonts"
@@ -46295,6 +50373,7 @@ tudscr = {
 };
 tufte-latex = {
   revision = 37649;
+  shortdesc = "Document classes inspired by the work of Edward Tufte";
   stripPrefix = 0;
   deps = [
     "changepage"
@@ -46312,6 +50391,7 @@ tufte-latex = {
 };
 tugboat = {
   revision = 68694;
+  shortdesc = "LaTeX macros for TUGboat articles";
   stripPrefix = 0;
   sha512.run = "23c3ba2e45560d22a55c4eea733fbfc55466503631eb02c61527f0a73a595790ffe8c8143df2327af61ad8c23848309065fa69abcf181f584f64d03f437228de";
   sha512.doc = "d0482d7fe4ea30d21f43a9266c8ab4b85da66fbfabcf405ba8aee229c0081b623f1cb5862fd7e057d4080439275aa08212079bfed06f992553c4b0dec3a96798";
@@ -46322,6 +50402,7 @@ tugboat = {
 };
 tugboat-plain = {
   revision = 68695;
+  shortdesc = "Plain TeX macros for TUGboat";
   stripPrefix = 0;
   sha512.run = "e30aecd365721f9c986b70eedd022bde17ffcf348452d650144792bed0854f18547d837d0b3731cd0810d5f6f32f10778b1adf3b29eb07a8ed4d0765dd88cf61";
   sha512.doc = "c49683e2cef04b15c39dd275f950d602be8ecbc2e6fd644634a60100257f2367a623d06086558a69c469fb3597fd32e0a2ccee4ce9e90791daa8f8e67e1122f3";
@@ -46331,6 +50412,7 @@ tugboat-plain = {
 };
 tui = {
   revision = 27253;
+  shortdesc = "Thesis style for the University of the Andes, Colombia";
   stripPrefix = 0;
   sha512.run = "59e8af51c39984a42247435ad893c3b8e37eb9dc53634e0a5f30733ee0c973690b66d805079a0f5cf61762abe7fceb1f2dc91691df9be26f72a1a8edd2524ba3";
   sha512.doc = "b48d9811ac6414d96a7b5059b33c174464f262c721159552e48e6f5bcf5b969ae91bbac61aff6077304907d3d2bd8eb73774628458a7e740ea49fe433b9bbbc2";
@@ -46340,6 +50422,7 @@ tui = {
 };
 turabian = {
   revision = 36298;
+  shortdesc = "Create Turabian-formatted material using LaTeX";
   stripPrefix = 0;
   sha512.run = "fe4ec8291e8b1dfc6130bdc862384b8e7c6ea2d4db6baaf92e0b7b053ab8ed328ec452e0c1efc4da2eecc3f8b6c86e77cfd2100ea66e4f59276fb64683d55a92";
   sha512.doc = "3b4900c67c65ee1b20dedb2ffbc844ff22dc519dde0121b375dd13bcd80a0f2fdf5cef8c4e43a395ebe8fb4c82d463f18ca30ec65fe2be398c181af78ec0a0f7";
@@ -46349,6 +50432,7 @@ turabian = {
 };
 turabian-formatting = {
   revision = 58561;
+  shortdesc = "Formatting based on Turabian's Manual";
   stripPrefix = 0;
   sha512.run = "ebef1733d41cae66456e6a50c47ae0c66a7d7254a59e57f6af62e21cab73ae7a68092baa4706eb1f1e93ab152e0ab22550f0b4ce8cf9ac36eb3740530afe8499";
   sha512.doc = "6cac53c6fe5dd36702ec07e22a00871932dd4b2e421649d33e33f50e8b8b8cc57e42c752ff6e4e2a53610d28f42ddc68b0b6c1cddb0a7a045f3a547c04e77735";
@@ -46357,6 +50441,7 @@ turabian-formatting = {
 };
 turkmen = {
   revision = 17748;
+  shortdesc = "Babel support for Turkmen";
   stripPrefix = 0;
   sha512.run = "437ff775642326f25f260280ca8d846e546f0f4b3c3082eb1ebaadcfc6ca5196967f82a00237367754b3ff307f983a828dba5c8117539d65634379567062a377";
   sha512.doc = "39014c9049322a1966951a242152b8774b2bc914bd620b6eba8c97e8ec457a1ed3547f2c211b3bba333cab21bac98882dbc9a1e9028443e7365780cf4d78b577";
@@ -46367,6 +50452,7 @@ turkmen = {
 };
 turnstile = {
   revision = 64967;
+  shortdesc = "Typeset the (logic) turnstile notation";
   stripPrefix = 0;
   sha512.run = "164b6b8f053b2daf93e8253df850c4aad793521848a93053f6b3879db5badc0b88b5f8f44487e5525c60e7ba7deadce53b2cecb00b7330b22b0815e01cb68338";
   sha512.doc = "de25995e56ac3fd556aa3c50e8b041b201e2f881d38ec2183b55c5799bc0f110e12e2daf387dc9a6d72a9a85377c6e4c1610f6b54811abe617e8698a40e659c0";
@@ -46377,6 +50463,7 @@ turnstile = {
 };
 turnthepage = {
   revision = 29803;
+  shortdesc = "Provide \"turn page\" instructions";
   stripPrefix = 0;
   sha512.run = "446b0516264eac6b880048e16cf4ad7bb529718c726233fc645b8c32d625f3f6b505b72beef81994b61ddc77ec8ecfece907347be4f9e18a79fa36c2aef91b5d";
   sha512.doc = "4af8dc61e53df587f19b61f6260e7a7820a8334f2841a63f2ecc05b7197eb69596dc36163b39cdaff9258651241a334b6e3a814699065c8ce4f861fba6110f83";
@@ -46386,15 +50473,17 @@ turnthepage = {
 };
 tutodoc = {
   revision = 69343;
+  shortdesc = "Typeset tutorial-like documentations";
   stripPrefix = 0;
   sha512.run = "acd6fc6114ab1c25259485514b54d848b75cb5f45dc05cdb8324a91b127031c0db8c84c445b0e1b429dc1a5ca0a6a394987465363265c0f830ea60e72c6ab7de";
   sha512.doc = "8f58c8eaa4db17315d69088b9cb446b90504fe62395fcb07495742695f2c8e8215ab76596d4d98cad3c432f3e6079a2ec3088074345d0ace4d309db3163ce405";
   hasRunfiles = true;
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
   version = "1.1.0";
 };
 twemoji-colr = {
   revision = 64854;
+  shortdesc = "Twemoji font in COLR/CPAL layered format";
   stripPrefix = 0;
   sha512.run = "abc9583bbfd3690ff52b2341e74166fb70eb0f6abbaf99b01b0f24b818abbe3cd7556ef9cdc3cf58c056a038fe6fc3bdd45199c437a7eab99b300622e8d7308a";
   sha512.doc = "90e01641e73702fe012510bf3c9cf741bbeb594d528b2eb69487bd57beeff59c27ab397902b3c42d5dd1b5745e5b69d0db80b3b2d399bb1ba67e2c85d14a88b5";
@@ -46404,6 +50493,7 @@ twemoji-colr = {
 };
 twemojis = {
   revision = 62930;
+  shortdesc = "Use Twitter's open source emojis through LaTeX commands";
   stripPrefix = 0;
   sha512.run = "d9204536ff2cf76cfb341bf8096ea71571663527dea945de901758032393f6e4f53c88f0d274e37da4cccf6b61149cb64f19a8712df80523c2f921354155b797";
   sha512.doc = "3f2f3b13f898545a32aeccef972ed52c448f3547a6834c8cc1a5589e2ff8479b822591d20acdc41f1cfaab1e43469d75abfd0841baed7b1a1dcd4000b87d1045";
@@ -46414,6 +50504,7 @@ twemojis = {
 };
 twoinone = {
   revision = 17024;
+  shortdesc = "Print two pages on a single page";
   stripPrefix = 0;
   sha512.run = "ffb9610d416a15f664bfc34772651af63f76843127290bd64462991b3b892a8bbe9b5a8251e278ce757883226bc07f89f54cf94be08d6bdbe6f68c5841e3a282";
   sha512.doc = "5b79b0b235fda5e32680884702a16fe033f3a617daa765a72233d22df5e217f6d2a617a2d067f6a230985e5144e6e6d733ef6e7060f267c6d22bf5de39361d41";
@@ -46422,6 +50513,7 @@ twoinone = {
 };
 twoup = {
   revision = 15878;
+  shortdesc = "Print two virtual pages on each physical page";
   stripPrefix = 0;
   sha512.run = "b3734b3818498a7038d544304d27376ff481b81fbd776cc44b9d246c3e69560364a784d897755cb69f9608c51135a1fdbb8ed370d624db64dd7b5f18a48bf754";
   sha512.doc = "2bd34ca3274a229949c322a543c2e1fcffac7383edab2cbb7f0c74dd43d3b9531f9ade43f6d0126f5fd43371093f92170f69fdcbc4f69ba7fdca1d1fad167c36";
@@ -46432,6 +50524,7 @@ twoup = {
 };
 twoxtwogame = {
   revision = 70426;
+  shortdesc = "Visualize 2x2 normal-form games";
   stripPrefix = 0;
   sha512.run = "b2275f66d1e53f031b6c512754b7dd9fa2e7a078bdb08de64cfd51cb8c66919027397ecc6d740a7fad741b9468442aee0f93b7d9082ca75757d69437de05b001";
   sha512.doc = "1ea1154857058973b8ad02656caf68ffbec00ba7b3a51a985fb4367cf8622fc9a0d6848082c80cb2aa67fbae2fedb8d134ebf2361067704ece953c1b4651a17d";
@@ -46441,6 +50534,7 @@ twoxtwogame = {
 };
 txfonts = {
   revision = 15878;
+  shortdesc = "Times-like fonts in support of mathematics";
   stripPrefix = 0;
   fontMaps = [
     "Map txfonts.map"
@@ -46452,6 +50546,7 @@ txfonts = {
 };
 txfontsb = {
   revision = 54512;
+  shortdesc = "Extensions to txfonts, using GNU Freefont";
   stripPrefix = 0;
   fontMaps = [
     "Map gptimes.map"
@@ -46465,6 +50560,7 @@ txfontsb = {
 };
 txgreeks = {
   revision = 21839;
+  shortdesc = "Shape selection for TX fonts Greek letters";
   stripPrefix = 0;
   sha512.run = "05b24a0c9705589d2e04933a5e29b8a49de155ad0e9a4caa0c36785f7feafe475275b76c58aa50d9318df26342b800382d3c9e8164bd95fdf400f730191282f0";
   sha512.doc = "b671e433740ddc414e0a881d1f91a1311ab0957038ebeba23fe99d623a62e0499825548dd591d0adc67d32a5d7331cdcdc76be6ba87f77265bcf48758626919f";
@@ -46475,6 +50571,7 @@ txgreeks = {
 };
 txuprcal = {
   revision = 43327;
+  shortdesc = "Upright calligraphic font based on TX calligraphic";
   stripPrefix = 0;
   fontMaps = [
     "Map TXUprCal.map"
@@ -46482,11 +50579,12 @@ txuprcal = {
   sha512.run = "f6840ff0846b52130b65c81513d4bf358dfea413ac6d7f324eab592b96d5277d7036e5d991dbfc1ecf6376fd35baaf0351818eed69a21b6ba88e25f878a41ef1";
   sha512.doc = "f5bd216c689b0368bbbfe29f7fbd57bb7c02344d8696af488fdd7f1078fc5ad9ac7ad5565f1408b7b7d19224093d1418c1e3d8920b8cb0cece770811576c894a";
   hasRunfiles = true;
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
   version = "1.00";
 };
 type1cm = {
   revision = 21820;
+  shortdesc = "Arbitrary size font selection in LaTeX";
   stripPrefix = 0;
   sha512.run = "85a72c942e61dc0c0fd3fd7646d264ee692ecaf4e2badab4f68dbcc380a1c88a78d4ce066e23a08d1cfb29ed3af0115b08ea05a0e078283513eb14f9c6031863";
   sha512.doc = "6cd4061eced23057d860143dd7121b1e0ca1a17de1c2f08334c678c9623c0066ee77c1ab5036953ce390be7356d3fc0d155a5de1f0aa977e1e95296fe71d5199";
@@ -46496,6 +50594,7 @@ type1cm = {
 };
 typed-checklist = {
   revision = 63445;
+  shortdesc = "Typesetting tasks, goals, milestones, artifacts, and more in LaTeX";
   stripPrefix = 0;
   sha512.run = "3b8cbfe59d50498fa196655596660c7cab045734e1c2f03843696c35b71ff5bd4af738a7e4fab2272c021558413adc3205efb0ff918ebfd6e46ad3cb6407905b";
   sha512.doc = "5fa0547034644134f207beddf56d523eaec47c1a2f9e2be5bd9d0db17b07874aa08b86a6c059d71ef6e7918dd326171955d9dfd921b28350860710b2935ed494";
@@ -46506,6 +50605,7 @@ typed-checklist = {
 };
 typeface = {
   revision = 27046;
+  shortdesc = "Select a balanced set of fonts";
   stripPrefix = 0;
   sha512.run = "68a71a590aaf3c6defc28a52b47f38bd1d24ec034df904d7baf4e22f1d390ebbabe744855bda70e72986450b402f03295f772a9576a2bffcab5638f3f77718db";
   sha512.doc = "548caa57dcde46484ae947f46abbd8cfae54c0325b42cc32c23c092e23f7cfe6589b6ddcee1eef09ece3c5ce0328fa561c52234899d9544fdb86440c91c63ce9";
@@ -46516,6 +50616,7 @@ typeface = {
 };
 typehtml = {
   revision = 17134;
+  shortdesc = "Typeset HTML directly from LaTeX";
   stripPrefix = 0;
   sha512.run = "9a158c2fd4c16a5dda1f8828ba32e082f5839fb841a8479563828b0085db4fbe28cb91674c6f22ab4965f8bf6f6cdc0f5b3113743113ca0188ff8bb851845ae3";
   sha512.doc = "0001ed86af90c4fba458d299a2651a200ece010ec76bd8e934afcbacb7d7684fcd6c9514d280bac886a41eb38b4630fa52b1ea18da70ef9c29bc04618e392673";
@@ -46525,6 +50626,7 @@ typehtml = {
 };
 typeoutfileinfo = {
   revision = 67526;
+  shortdesc = "Display class/package/file information";
   deps = [
     "fileinfo"
   ];
@@ -46539,6 +50641,7 @@ typeoutfileinfo.binfiles = [
 ];
 typewriter = {
   revision = 46641;
+  shortdesc = "Typeset with a randomly variable monospace font";
   stripPrefix = 0;
   sha512.run = "f8b9edca6a860f0acf0d676fff381276594f7c13fb13da2e54caf5513a8a65fde378b4c16dc621d89d25d7492318b006d7c5d863c1f96a0a246064c0dad1f2d8";
   sha512.doc = "12376247fd8500e7c147609bf47acab379e36126976ea9f2dc0a352b8b0d779b1cd43bd1394f3961b1a7fa894a8b6448b0369f612d8bbf8d1bec3175e850f89c";
@@ -46548,6 +50651,7 @@ typewriter = {
 };
 typicons = {
   revision = 37623;
+  shortdesc = "Font containing a set of web-related icons";
   stripPrefix = 0;
   sha512.run = "38b0afff6e88635a2a27502f1abc279fd70e49f36d56bb44114895614cf80184ebf8b627bcd576d128b3557de08b3791c5c2e48f2adac9766f9a809ff0db3cba";
   sha512.doc = "36b9517833fa6c430671fdaf0ad0775813c22ea3b3f56fad96410dd90e052b76d81f0ecd411ec19b567cd664b7ca44b9268d05ce59fb9bea0429c8f91c3a4a55";
@@ -46557,6 +50661,7 @@ typicons = {
 };
 typoaid = {
   revision = 44238;
+  shortdesc = "Macros for font diagnostics";
   stripPrefix = 0;
   sha512.run = "56553f1ea620566efdcd5dbe3710627d4c1b0be0ee294d256cec8cd633a4b24048012c108eac867427ddda28614eadd73172fcd2c57ac702d5f5e5c4a40769bc";
   sha512.doc = "fd4809e02b1167e16bdb75cce5837f6202cfb44e7a0204900f6eb70173aac984eb35b14f00a9d43d4a61a4fb3a00298eafcbf71de15c7531f043e64cef418d8f";
@@ -46566,6 +50671,7 @@ typoaid = {
 };
 typogrid = {
   revision = 24994;
+  shortdesc = "Print a typographic grid";
   stripPrefix = 0;
   sha512.run = "4ef0239ae626245b25e43819bc05da7d22d89d1e33b94402f8bf2b24e2518bfa7ce6626d0c9deffba5d461dd65db0160bd9134b78cd9ba930d0e6315cd761b9c";
   sha512.doc = "d228343668d98616c6cab8a1c4b0cea313b4a7d2f25699a0f54f64b660b10869d2669d98f7f5b992ddff5a3202139ef1e278ebd40b3dd76466c6154a59804c90";
@@ -46576,6 +50682,7 @@ typogrid = {
 };
 tzplot = {
   revision = 64537;
+  shortdesc = "Plot graphs with TikZ abbreviations";
   stripPrefix = 0;
   sha512.run = "78d2a67470340caaf6ee286f0dbfb9b8706cd4b0a689a64592c11f6b8a5108a61d33a24d36262aa5b802b8893ba440365fcd1280eac4cf7d3e514f6820ad21ca";
   sha512.doc = "853cb61ef10c91e1392c23e2b4d389f0cf572b692a6eafb8bb9af35ad9b2f1e7a8630ec1df6faf1ac1bc83e88dca0146519f571917ed9ed57e6ded912fecd895";
@@ -46585,6 +50692,7 @@ tzplot = {
 };
 uaclasses = {
   revision = 15878;
+  shortdesc = "University of Arizona thesis and dissertation format";
   stripPrefix = 0;
   sha512.run = "4341612f18d6f5f4352ec0bf0018fe3115be73f479479586a81d7f994ec23adea7c38fd773022b4d81a126e43bcbfe5f97f4c36d61bad73509f2c1b97882c00f";
   sha512.doc = "63beb08274ed7db9a2d77761277d65f89988812765a2484d7db54a8419cf67dad3fbf76b46bdafd8bd7cf17a1d540deb83c00c7b6df01f6f023bbb5f098c2ab1";
@@ -46594,6 +50702,7 @@ uaclasses = {
 };
 uafthesis = {
   revision = 57349;
+  shortdesc = "Document class for theses at University of Alaska Fairbanks";
   stripPrefix = 0;
   sha512.run = "52e0fde63c966392a235239725e2db7cea70a300837cf53003f961d32f54787d8c4e70ee76577889ea543f884ed5ec281b345bc9e83872e5a131e55429f7afe0";
   sha512.doc = "92c2a15a214f42a9dad8c0c50a67c68d037980b813e8ea4f6067341628f19f51de36a20b0e0d8fc49acbdf6ff026a729dc86e65dd4b8fa148a541d9535db0f85";
@@ -46603,6 +50712,7 @@ uafthesis = {
 };
 uantwerpendocs = {
   revision = 66819;
+  shortdesc = "Course texts, master theses, and exams in University of Antwerp style";
   stripPrefix = 0;
   sha512.run = "88163f9a28d8027e1e223e551f1fb053751f849822727fde7e595423e6f10c67e2d389f515aeaec77a68a48d7b20600cf9cf3ae7adb02e72f45e4d6df48c2049";
   sha512.doc = "68dfb896b3b189ac38362a8826fb925c8e1af493029d04bf584a1a6e57c8e501689fad7b63c96fbec69d2aeb69965ff1cc7b544bf35161a6d90c4a54bc486438";
@@ -46613,6 +50723,7 @@ uantwerpendocs = {
 };
 uassign = {
   revision = 38459;
+  shortdesc = "Environments and options for typesetting university assignments";
   stripPrefix = 0;
   sha512.run = "3e61f381e23c30670fe78c4a54d99970bd05883e6fa03040e7123fb0936aabf51341d64aeff92109fdc33b7b97f40aa0cd81fd6624d9449584aef1fa3061070b";
   sha512.doc = "e6569cdac6854bc1856d6a4604589619ecbf317442018790eabc3332723dc167a879e7ca6be0da8c281847e757ddada005daaa3b8712f7697ea4052b9c9f7cf9";
@@ -46622,6 +50733,7 @@ uassign = {
 };
 ucalgmthesis = {
   revision = 66602;
+  shortdesc = "LaTeX thesis class for University of Calgary Faculty of Graduate Studies";
   stripPrefix = 0;
   sha512.run = "b836c6cd59559d6858b6ae98e04c8ac9734f8c9df34c103e6076911db5db6430d0b253c29414a63073216f2ec8e02ffafd69ea97750fa886859b9da1ca2cc07f";
   sha512.doc = "acd371ab0e495a664d37f5da31cfaa9d31edda71b2542afe9b4ece6e4845da19e16d4b84d64b0418b49696d080fc019e521874527ecc0aa8559f2c2341c80cec";
@@ -46630,6 +50742,7 @@ ucalgmthesis = {
 };
 ucbthesis = {
   revision = 51690;
+  shortdesc = "Thesis and dissertation class supporting UCB requirements";
   stripPrefix = 0;
   sha512.run = "b1a4258afddfb1283c3fa4f8e126dc63f1ac948ebee2d2fab3738e2f5228b0bda85e71ab3cc3ccfab0b8ae66b84547c5070e111e8c1516b54bcef721f935e63c";
   sha512.doc = "aa443fe9530f08dde9b0531e075052868524c7ff6052e8e93e384ee3c01a354fd1752664b602ff6c98ab5250d05eca910773236d55270c09a567c9b238fbcd7a";
@@ -46639,6 +50752,7 @@ ucbthesis = {
 };
 ucdavisthesis = {
   revision = 40772;
+  shortdesc = "A thesis/dissertation class for University of California at Davis";
   stripPrefix = 0;
   sha512.run = "ce8191ad81027361c23175194bf23284bc2e43407f0047586a4a89a2c51f9823356e2e571639a1f76f6a1f2b43c08eeb134d874c03f559897b0cf50aecfc94a9";
   sha512.doc = "26ecd36ab09467341868d0ad7d71f39728f23688053ad4b8a89339238da5c96fcfe504d8e6403663eb6441a14333163f8998e00428609b161c3e9665a4ef0bf5";
@@ -46649,6 +50763,7 @@ ucdavisthesis = {
 };
 ucharcat = {
   revision = 38907;
+  shortdesc = "Implementation of the (new in 2015) XeTeX \Ucharcat command in lua, for LuaTeX";
   stripPrefix = 0;
   sha512.run = "333e8f92394d89bdc3492606e467d4b664c5d87eb464e1c16ff293e3f87931c3c70308aeb523fb40f2e76e5d0aa2c1635402f40fc36ecfbb7ced98d232b8bcb5";
   sha512.doc = "b4615cefd26201509c908c2719519f927d61ad96367a612d654917819b2ac973fff85d081dad6e1d092e634388b16e83e440d3cbad4fc7c16f638f5e2853bb7f";
@@ -46659,6 +50774,7 @@ ucharcat = {
 };
 ucharclasses = {
   revision = 64782;
+  shortdesc = "Font actions in XeTeX according to what is being processed";
   stripPrefix = 0;
   sha512.run = "41e9f5323b62d529f0b0ddd1ae9c5d613df19190a2a666e1c1b35cadd8bd5411487ecee1419b7dc7f06183181f68ecbb8bf813537c6e711f926fa99fa74f249b";
   sha512.doc = "52fb328befc004024d10d4222eaa7d6d3d179523bfdd48ca8453d6023c118f328a1981b69c805660ee4ddef95df3b5b71e1c85f59f3cae92ac74898f50b52206";
@@ -46668,6 +50784,7 @@ ucharclasses = {
 };
 ucph-revy = {
   revision = 69750;
+  shortdesc = "Musical script formatting";
   stripPrefix = 0;
   sha512.run = "f9fb2dd19b7a963308e5c5058ac990ce3b944377ff6eaf52b26fcd7a12087c75bbb464e5e1155a1c3340e8fb3fca65b6d344d76f47a9a386fdb6e5425303f81b";
   sha512.doc = "0ad9f32badd36c033dd3d368e507518bd27d79e3bb94747b86622c2e41b81e87b5db673ddb4cebf7a88df4180b7cbb2bb0826ee19990e572c5e5ff33394c05f0";
@@ -46678,6 +50795,7 @@ ucph-revy = {
 };
 ucs = {
   revision = 68759;
+  shortdesc = "Extended UTF-8 input encoding support for LaTeX";
   stripPrefix = 0;
   sha512.run = "9adaa0a3fef64436b56d3e4e1c504b74c18dd795db15d193df0e0ced419490ab462cc61850d3bea6cde7928ddcd85cb872130d1dc9776aaf3bcd8f12cf144832";
   sha512.doc = "95dede76d97d0dce6cdaeb0acd128e89c2e98383e633925b40433c0d4e0e342fc3df94603f17370fb56b88c40effb99eacc4310e4de4231232a2be6892adbe87";
@@ -46688,6 +50806,7 @@ ucs = {
 };
 ucsmonograph = {
   revision = 52698;
+  shortdesc = "Typesetting academic documents from the University of Caxias do Sul";
   stripPrefix = 0;
   sha512.run = "e4375327eabb390842ae833bceea1a554fd833b656e0ede5d56b1bd48a070dc0b89eb878db0c77e92865760755c006fffab8a1d0627f0acb6cc1485aa9a13c6f";
   sha512.doc = "00cfc843b8377d9390806d72a78c5c7d219adc0312a7472ad764bb777200265b6f2d6757f98c44ebdc671671df38e920fe488a2cdea0dab0a3953856b5233b57";
@@ -46698,6 +50817,7 @@ ucsmonograph = {
 };
 ucthesis = {
   revision = 15878;
+  shortdesc = "University of California thesis format";
   stripPrefix = 0;
   sha512.run = "5409e366c69372dd3a93b3755d185e0b96edf71c7a8de4d6cc3d41850e5b9915d2bbe68d3265b5facd52e7d8c00159031737dbcc26302a1a6a89425ac47f443c";
   sha512.doc = "7f7ec44a55e2d712af2204d883a7136b44192a402daff4376cd6cb217419179d2b46bc083688d9be9ad85d2b3daeb00305f2253196784ffc9d72c039f0aca5af";
@@ -46707,6 +50827,7 @@ ucthesis = {
 };
 udepcolor = {
   revision = 69701;
+  shortdesc = "University of Piura (UDEP) institutional and corporate colors for digital and electronic media";
   stripPrefix = 0;
   sha512.run = "010172b3730b31b12a6f9e425203f9064b7c880e5abcfa0ed538ffaedf3517dd394030d55501b48c1582036bb78153d7d4f581cd2c396d658db58faaa00c0cef";
   sha512.doc = "33e7057cdbcb2ee342d061194d5b0e36a1e3e7fd48c7e1d728b6b8b4a2b6fe1c4b0a4a9185b4cfa3a483cd084f93ac905a98f7140bdc0a8e4f37395bf9a55ffc";
@@ -46716,6 +50837,7 @@ udepcolor = {
 };
 udes-genie-these = {
   revision = 68141;
+  shortdesc = "A thesis class file for the Faculte de genie at the Universite de Sherbrooke";
   stripPrefix = 0;
   sha512.run = "01422998b27a84f3b892114fe468bd57ecfe37dfda68ff84f2cb95fc9ba589d74fa4874bb35419403269685c74607e647d98b1b443d8739c5b4c3335820f690b";
   sha512.doc = "c962a955f1d618232196eab7c87b301dbf725f8ab08156ed98d4819ba3be5a6873b81dd7deae65c0a36eced5e42be6415b78b06c5fe945b4d4492e98487bb91b";
@@ -46726,6 +50848,7 @@ udes-genie-these = {
 };
 udesoftec = {
   revision = 57866;
+  shortdesc = "Thesis class for the University of Duisburg-Essen";
   stripPrefix = 0;
   sha512.run = "56171faa46267dbd99185807f619a673cc1ace837eea3c0e8659c4d7fb50aab7f8842e259f433070b8eb54390d3426542c3443a62d37a1aa9ae7029f4d7f022a";
   sha512.doc = "463b9ca1c153da84ed0045a2adbe8129031bab79d0a586710b6cbb9fca9b84428b7036848efee27a075b40f0cb015081c89e6e7f5588f1e2bd011d81f40be721";
@@ -46736,6 +50859,7 @@ udesoftec = {
 };
 uebungsblatt = {
   revision = 15878;
+  shortdesc = "A LaTeX class for writing exercise sheets";
   stripPrefix = 0;
   sha512.run = "e9ce935da13de8106d63f233349bd29e954538ad17de7505be14a4b5a2efa1e1aabd3ef46871e98d2f5d4730bcf6c49998187924328eed19a35a95bffdcb8d70";
   sha512.doc = "2853eae6fdddf889b305166c6c09351e8e7d7fb087c68a5ab9f4a7a282118200a5120c215708e7d2b9d4487457aa6330d11ec7f7a8e0139719b67217732f2633";
@@ -46745,6 +50869,7 @@ uebungsblatt = {
 };
 uestcthesis = {
   revision = 36371;
+  shortdesc = "Thesis class for UESTC";
   stripPrefix = 0;
   sha512.run = "aaeb270174e260230d527379ef0a7581ec9f78387aae8505ed5e88a04586dfbb1d90cb923181f34e92d5100bcece0da66e17452218f0c83bbb12b38cc517f3b5";
   sha512.doc = "e68e86bb446c1e79111948b004ece03e2110166d01966d562b1bac6c932385aeaa682f04262eccd822e01b93c66c77be53c947c1dbdbf5ce129a74efdacf5df6";
@@ -46754,6 +50879,7 @@ uestcthesis = {
 };
 ufrgscca = {
   revision = 70603;
+  shortdesc = "A bundle for undergraduate students final work/report (tcc) at UFRGS/EE";
   stripPrefix = 0;
   sha512.run = "4232e58cb76fc9e6e9a24fdc760dd189004dc20a10c9b27265a8d2449d8ff4f741ad745e52815e2b729d78896d682a9b11b96b3eb01bcca7ec4a4cc8f4a3c893";
   sha512.doc = "efbfb6a83e5fcc88ce59b8b008c961b3e7e84266ee7b8c8f5f129f3625c1018352b701ef6fb7f8c1f41b21655da6b26d9add397d54b7bab4fe7dd74c91e327d5";
@@ -46763,6 +50889,7 @@ ufrgscca = {
 };
 uhc = {
   revision = 16791;
+  shortdesc = "Fonts for the Korean language";
   stripPrefix = 0;
   fontMaps = [
     "Map umj.map"
@@ -46774,6 +50901,7 @@ uhc = {
 };
 uhhassignment = {
   revision = 44026;
+  shortdesc = "A document class for typesetting homework assignments";
   stripPrefix = 0;
   sha512.run = "a394f6f161cb72ba42eccdaf26f08b12048cee56207f754dac157a2eede1b0867fa0d5916a37d5e3dffbf10237178f156fd3cb33c88be6a926208ca8dcdd0508";
   sha512.doc = "21054dc051229a338d2aa954cbf80893e156236329206ff3cb63f47dceda4c35c6fbf6c2d9492551b7609aa88dec74c507094e2d96f2f96432436e74e80a9c38";
@@ -46784,6 +50912,7 @@ uhhassignment = {
 };
 uhrzeit = {
   revision = 39570;
+  shortdesc = "Time printing, in German";
   stripPrefix = 0;
   sha512.run = "7b5c732258e25ecc2d429b09349b94cc4f24de77e8db40add018f42bf7658868e9c3730f0fed86312ea96625556fe02a276535eb14416d06fa5fd2cc1eff30c6";
   sha512.doc = "76c7bdb6c74ac05fd9b51366b68b0dae8180da51f506ba1793765d25de29582c8eba51826d6d6c6d3c3c1793f10fda3f6bb75c82d8d454fb19e1339eb98a9eb2";
@@ -46793,6 +50922,7 @@ uhrzeit = {
 };
 uiucredborder = {
   revision = 29974;
+  shortdesc = "Class for UIUC thesis red-bordered forms";
   stripPrefix = 0;
   sha512.run = "4a398e734fe551f1636a63ab3ac8b851ff1e445c8b15b6e48017ed7a81edbcf042750919db790d7e2e9d6b08132ec5a3c04195854315ba1c1c8e8712996dcb25";
   sha512.doc = "6e1c91389897853bada4b52c8350dfbbc321395cf1ff7991d7f29d5e64119c86c4e07fdad889f2a4a149e0e2db1a1e5cd9a44cf6f905d5030afa25cfb14d1323";
@@ -46803,6 +50933,7 @@ uiucredborder = {
 };
 uiucthesis = {
   revision = 15878;
+  shortdesc = "UIUC thesis class";
   stripPrefix = 0;
   sha512.run = "565b499bcef08716d627e206a53f2f344a10a0e219876eaf4bd82a63accb2eb43c14c8c8b25236d336022900e9a7d5299b5a34d5e40eba0be6d7dc8ee4431490";
   sha512.doc = "798e7428988a622562b94bfd4ae389dcbba3524fda0d427aa4fbdaff0f1a437babb4e68b58350a3229fa078bf11e17af9f5eff61a5c9153960a941783cca623e";
@@ -46813,6 +50944,7 @@ uiucthesis = {
 };
 ukbill = {
   revision = 69362;
+  shortdesc = "A class for typesetting UK legislation";
   stripPrefix = 0;
   sha512.run = "45a1b6be9d4dbe7a9cf47ff7cf07cd280069203eb9e3a5297e699e84bdffaf845c92a32136ba7e2f61db613a32dec6d37af3eed1a8dd52fdc652af207ef16d23";
   sha512.doc = "ad3076413ae87035b82d913c3772642aef429c7cc0efd7718f3838a5c7dae52e3954d0566c23c57f2f25d51ee9904dc8dc78b3d8a70bbe6554ce0c74d8703862";
@@ -46822,6 +50954,7 @@ ukbill = {
 };
 ukrhyph = {
   revision = 21081;
+  shortdesc = "Hyphenation Patterns for Ukrainian";
   stripPrefix = 0;
   sha512.run = "043338c4e92d84bc2b7bd63610656b53b39bac225c5610089c0c8b58ce9bbe3f414129a6b043a5307ebb7b59cc062ade7bd803fb6949d06a0d0c87e2dd4a0bd3";
   sha512.doc = "a283d11ed922181d4f29f521e3019fbca2b1bba1aacb312e22dd8e69d05d7dafbabc5c23b63707f265bcd215d8f517f58ab2ffee2b87d9bc1a968d00e9542840";
@@ -46830,6 +50963,7 @@ ukrhyph = {
 };
 ulem = {
   revision = 53365;
+  shortdesc = "Package for underlining";
   stripPrefix = 0;
   sha512.run = "bb7fc8d93d38a847431f9f62f1447520890f3904654ef6f3cdffd14537600da35d54bd0839cd8fd8d26e1e3146463cd9ced79f706df54df075292eea8a40ed4c";
   sha512.doc = "153dcf2057d267c2f59c7705c4997752e902aa004201f97d52a180419d7c0fea4173c0b5b1a1c8a11bc1703226e55ea55721a4d18c265b30343a5812d1f4e0e7";
@@ -46838,6 +50972,7 @@ ulem = {
 };
 ulqda = {
   revision = 26313;
+  shortdesc = "Support of Qualitative Data Analysis";
   sha512.run = "228132cc464dfe171426fffec6103f0dd5eac61c112b03d64d98bc89a0af0ddb7f52f27f9bb5461c8be6f752ae30ef3d4c6b987e580d834eb7524d5c27d956cf";
   sha512.doc = "182dbcb73a25e05035f878696887ea219569a1a7ef44281bee14b4498b37e92346e0e97d187a5f3dbcd8d9783f260080ff10f58dfe41e69caec4888d901b9128";
   sha512.source = "352f1a739cb9c74c0dae529ff330f3269e763242af4dd1bc0aca963b3af03f02f5becad436cc3a93aa105359a1bf2f229b3cdb7175d539d58df67563b490de8f";
@@ -46850,6 +50985,7 @@ ulqda.binfiles = [
 ];
 ulthese = {
   revision = 60217;
+  shortdesc = "Thesis class and templates for Universite Laval";
   stripPrefix = 0;
   sha512.run = "23a9ad74b214612051104fb111808caf9c6bb2056f129265e77bc76370c293248a7903a5bc99183998061bb18409d86508cd488a4e82487726e17599f5948101";
   sha512.doc = "f7e062e470c524746898e88e2f07cdbcc58c1bd3dd5c04b1f0f1e7e7e6c9fe9968ff68ef2f2a95f25405c7901d937a32ed92b752b6c74fa228237b08645a757c";
@@ -46860,15 +50996,17 @@ ulthese = {
 };
 umbclegislation = {
   revision = 41348;
+  shortdesc = "A LaTeX class for building legislation files for UMBC Student Government Association Bills";
   stripPrefix = 0;
   sha512.run = "ea6a55698b51da3939a1bfc10963dd74d9e772ebd18ad9018f649077224f7ee30ca20f051a68c9bd8d8bac94baf1d0d28ab2f864419c61385ebf9bc82aacb7f0";
   sha512.doc = "d4d5f318baa1f1ecd446bb864d0670ed2dcd7208429bfd2ce587810b27dde22f49a6f7c072aad8f6515e721a98ea0ec356ee36eb970cdee385910a291d964394";
   hasRunfiles = true;
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
   version = "2016-6-8";
 };
 umich-thesis = {
   revision = 15878;
+  shortdesc = "University of Michigan Thesis LaTeX class";
   stripPrefix = 0;
   sha512.run = "52bb76c9d9e3bb742c2049495a74d026a1803396bc5064a10f4da2e80390ae6c9c9c74326b14966e989c9edd1e29b797b89413ed6e87e90527ae470a8b731889";
   sha512.doc = "db85abee0ad37ce814c645c072399a6ab7e3307c623bd402a1b9ee8b69a1c2a8aa782b5007a433ebe9eaba984432223bd78f247fdcd0c6f50edeccc87b874173";
@@ -46878,6 +51016,7 @@ umich-thesis = {
 };
 uml = {
   revision = 17476;
+  shortdesc = "UML diagrams in LaTeX";
   stripPrefix = 0;
   sha512.run = "b20da85c7166f8aec4309af3ab0b1319f37ada1513ff502555794b1721ac8c3f551afcdf49a58bf5c3c5e666e48962075f7711a45de003245584541175a6a470";
   sha512.doc = "d81393e3b6d9efc0177478e562dc0a22323e3e5913d7592cdb6ec595d525238e154d2a599380521652eda4fe75b12006cfdc907715b0a9d461f8df60ed27986b";
@@ -46888,6 +51027,7 @@ uml = {
 };
 umlaute = {
   revision = 15878;
+  shortdesc = "German input encodings in LaTeX";
   stripPrefix = 0;
   sha512.run = "35188d3930b11c0d1b52a5032bcf9cea21a22ce8ca2930f69ad4ab54bcdf56b73858168cc62581aac1173452dd0f7d0da3de8ac21b0ca2255ef324ff63c89091";
   sha512.doc = "89f28b3b90f63ea4f367019f0b65aa1f8e9489ff0d897af6ea29b7455948e3e75ef003a5a2d5b4a88e00a5e415d409a577c03b63a330f93ed6804c99f951c68e";
@@ -46898,6 +51038,7 @@ umlaute = {
 };
 umoline = {
   revision = 19085;
+  shortdesc = "Underline text allowing line breaking";
   stripPrefix = 0;
   sha512.run = "db3b8216d50288ec096f3dea9db24dfbad76848d9b8ccdc5d1310f4b8bb1b37ef10fed74ee5e6e0b70cc3e0aaa73aea87354ad731e4057c888031eb4e1940539";
   sha512.doc = "64d559300349fd75af4bd98f0841aee5c5d622791cdd03373ea1e7840989b5175e300663023d0f08636b86337f66c6668871387a51a9a28e079111087265bb98";
@@ -46907,6 +51048,7 @@ umoline = {
 };
 umthesis = {
   revision = 15878;
+  shortdesc = "Dissertations at the University of Michigan";
   stripPrefix = 0;
   sha512.run = "b2fb90713da6547b9d4cbea4f972144f70d7f1875e325225f0dfb90df1a04b4693c5a3dc651f0066ef7ba6456c7732aeb5272ccfd5e8edc24281c1b1bc9e4e32";
   sha512.doc = "fb43c7ab262d2a1eb70b80bf4ad66ae9e022c847451009372e1ee1fcc5250e93b0a4a2195f4208799ae78cbcb5fc24d48de0b2355884721918ae5d4c827c3507";
@@ -46916,6 +51058,7 @@ umthesis = {
 };
 umtypewriter = {
   revision = 64443;
+  shortdesc = "Fonts to typeset with the xgreek package";
   stripPrefix = 0;
   sha512.run = "e62f573d1dd79b27a9ed563a9081c94eeb483fe9904cf080209a198793bbd845e4ed29eb5849165a3880338a07dade313762c02a0e37c8b518752edede622950";
   sha512.doc = "8d8044cb196584c363006bafb7e31c023e1761bb23070ed56fa3eb84040861fa29cfae479ecad01050b9cea0f5ef408d551a34809362456e31fd53513d1bc90f";
@@ -46925,6 +51068,7 @@ umtypewriter = {
 };
 unam-thesis = {
   revision = 51207;
+  shortdesc = "Create documents according to the UNAM guidelines";
   stripPrefix = 0;
   sha512.run = "aaa8c4029cfb130798c5e9401fde5dbc7943d7cb89c9a620e050e619ccc1950593b1d10bf6300958aede043ed0e4fbef371d0c40f055b259284f008463a64c40";
   sha512.doc = "ba6897f0b31953cc60bb49430de1b77d10d7656363d596d4160f96189c70417227193ac7d3809e1bd7518b89a871f5bf4b18004ff8185b2a03e0226536dc6a3a";
@@ -46934,14 +51078,16 @@ unam-thesis = {
 };
 unamth-template = {
   revision = 68681;
+  shortdesc = "UNAM Thesis LaTeX Template";
   stripPrefix = 0;
   sha512.run = "c6b6d86dacb71575a7f76e33eac081f630b81815e3501ff5ba5a5e056d5bab76c709b19b8843adca39330fb644cc49e70c8687b5a66d0dc636caa74af6c3bf5e";
   sha512.doc = "e7e17ba71d47769db4766628d334ed66980d7f133ec0bf2bf21d7a00e92d661dfa624def736891c5d70f11755215bff47b8cc9ffaded3baebbaf52e0365227e4";
-  license = [ "gpl3" ];
+  license = [ "gpl3Only" ];
   version = "2.0";
 };
 unamthesis = {
   revision = 43639;
+  shortdesc = "Style for Universidad Nacional Autonoma de Mexico theses";
   stripPrefix = 0;
   sha512.run = "f48e7aab2c445c5e257bb39ea4dd880cf9334a5b1dcbf429e8d4420edbdc4621aa59548f31770d67698bfb4e59e239dbcddc959c1b010e012ad16971ee7956f0";
   sha512.doc = "240a697f242b880fd2436bbaa3752aae57ef3fd2e9ee63da173c78582c4bcbb1eb19e02a96607991d1d6a40157d52f00dadcd4956af230d429ad5223161a018d";
@@ -46951,6 +51097,7 @@ unamthesis = {
 };
 unbtex = {
   revision = 70325;
+  shortdesc = "A class for theses at University of Brasilia (UnB)";
   stripPrefix = 0;
   sha512.run = "0896c89b0fe51d943455fddd654f67b81aeadbc83d2a66eda450b9152f6d3ebceb4854c3bcb03c38f4ff0f0ced0b50c2e276b2ffb306ead72be05dc1eb02893f";
   sha512.doc = "e398de7bde9696776778314665d6cf37f55c0faf33cf3dd4acbd14d82d7d303d4a0750119aa0fc8e8b80288ae7219020ab43ac78c7d125a54845277a8ee2ead7";
@@ -46960,6 +51107,7 @@ unbtex = {
 };
 undar-digitacion = {
   revision = 69742;
+  shortdesc = "Musical fingering diagrams of Pinkullo Huanuqueno, Flute (Recorder), Quena and Saxophone";
   stripPrefix = 0;
   sha512.run = "933038ebcded30e59b2075a064c35a00e5523fae80a6a7091d8a0c44a043d4e9150b68f1cdd6814b3a0346286086b8f5af7b68b2de2c32be1c38684672afc848";
   sha512.doc = "bdb12e362af8ff816c0cc43a76974a8f1ab326486a6b103430fb2139f22cddd27514d2e486cd969179be75684bb6e5fc0bf959f8d8c868ce3d5fe466097a0224";
@@ -46970,6 +51118,7 @@ undar-digitacion = {
 };
 undergradmath = {
   revision = 57286;
+  shortdesc = "LaTeX Math for Undergraduates cheat sheet";
   stripPrefix = 0;
   sha512.run = "948d0f0ac20a63fb0c6de8003c572c11704d2016d2ddea6674f58742e997021d709d51806b5acb4716c79539b96086758814f4f5d303a257768c8716821e8451";
   sha512.doc = "6300a5d0781bae331091cfc8007e974ed3534ec3672dedc080c8e118e8526c98206438a6841d50d2e642e8d6c7859cabae14e140c211bc8175e7f9d1cba0ddfe";
@@ -46977,6 +51126,7 @@ undergradmath = {
 };
 underlin = {
   revision = 15878;
+  shortdesc = "Underlined running heads";
   stripPrefix = 0;
   sha512.run = "b3afaf4c51b3da2d082e2cc742deaabe70cfbea7425e0c57f0d1d6696cd7d8f993707a219556a5c5bca925ea63373e3f0a716a82ead647e09ef2f716535886d2";
   sha512.doc = "d296a04d3a24b463de3e4fe99c96a2fd8afa7c4ed2fa17d1218ac9e4c17455b4752176be60743211d59657045c709c8b4bd66febf10c81a41879e8c7a67e9958";
@@ -46987,6 +51137,7 @@ underlin = {
 };
 underoverlap = {
   revision = 29019;
+  shortdesc = "Position decorations over and under expressions";
   stripPrefix = 0;
   sha512.run = "3f94b5d33cfaa7f48441ba656e9498ea17ee5ca404e39486004e43bed71bab5f2140b391191e4d6f9575ca23e09b83bce343433c02cc394844270e563aab70c3";
   sha512.doc = "5214981a15d7f15cd361f007505a4a0060a2952d75ea28f4eaef01c19a5b79736512a2b0a8c5e6ece2d08c364780256963276a9bc9ea980e13ba292e3d0b8bc2";
@@ -46996,6 +51147,7 @@ underoverlap = {
 };
 underscore = {
   revision = 18261;
+  shortdesc = "Control the behaviour of \"_\" in text";
   stripPrefix = 0;
   sha512.run = "4fdc57d0a36aa5646c6b960b7579a8111441659469df32beaae06f54e6e835456810b1d9b5d36036510befd5e80b5b481b9179a6b24364bf8f858ebc97039ab2";
   sha512.doc = "e1f0730b39a5d25cc52160e090b797ed73a5becc16b6813cd0c2f4bf78696b23aec5c82367c347d0e734f3b92761ad2090e517bb6dd2a40879639f62149fdba6";
@@ -47004,6 +51156,7 @@ underscore = {
 };
 undolabl = {
   revision = 65846;
+  shortdesc = "Override existing labels";
   stripPrefix = 0;
   sha512.run = "7a2a13c7cf9a5920278bfcc57c6670a3abe704ffe01f3d90e253dc974c601da9a65366e7dc49785c398e3040771f45fa67365ba4e2b32426380c70556e4337a0";
   sha512.doc = "dff0446c4efbc3ea2a8e379718ec977c53aa54c46c6703cc774db74e9e3d85c49dc83cbe0f1d8cd6450899af5929480968fea873333aea321d8742cb328105e1";
@@ -47014,22 +51167,25 @@ undolabl = {
 };
 unfonts-core = {
   revision = 56291;
+  shortdesc = "TrueType version of Un-fonts";
   stripPrefix = 0;
   sha512.run = "5476421a802ec3daa8fcb8354924ffb090aa9ea337db315c813637fafa445ef82601edc61cb7aa424bd7e2deee7607902ed33f0cfe70c214901d4c52dfcff6c5";
   sha512.doc = "8f51172be1093ff9da6ebb7071f5fea435e2bdace5619faa24ebdef52b3e34197d91b8f9d302844d4e1377a2a4712247743172afcd4b01367e9f166bd76112fd";
   hasRunfiles = true;
-  license = [ "gpl2" ];
+  license = [ "gpl2Only" ];
 };
 unfonts-extra = {
   revision = 56291;
+  shortdesc = "TrueType version of Un-fonts";
   stripPrefix = 0;
   sha512.run = "9cf9a73ba3c2190da7999c3b770e92d8afb43c640d651173c126e930155e9f87f371392accd4eadae8922ee846a5e02c0eeab845561dea943b34b185164bba3c";
   sha512.doc = "6173d49bb64c9b162763ff08af445e518fa650fcc13e02f5c72454d335285d9c82347cf79f945fae94429f3a9d15f9c9b58ff1d175c8f59ea7b75766cd279303";
   hasRunfiles = true;
-  license = [ "gpl2" ];
+  license = [ "gpl2Only" ];
 };
 uni-titlepage = {
   revision = 68917;
+  shortdesc = "Universal titlepages with configuration options and predefined styles";
   stripPrefix = 0;
   sha512.run = "980f748d37b5b4a3118b1f34db2957b71cdb7551595cf7673e64d75b70688e882b90bd83132ad43bfdbbbb2bfa2752fc2028f3164fb9ee5e9565b84740b303eb";
   sha512.doc = "1198414d70aac8b31e23c73bd167586be5bf2f2745ad492fe516381a1e202e9e0720a389fc8c12eec2a21747f7e5c85fd754243b09dd5a008b2dcfa9a7257e57";
@@ -47040,6 +51196,7 @@ uni-titlepage = {
 };
 uni-wtal-ger = {
   revision = 31541;
+  shortdesc = "Citation style for literary studies at the University of Wuppertal";
   stripPrefix = 0;
   sha512.run = "d1b6186d50733f87576ef6509f7eebaa17651039d882f78abbfa8ae23ddf7b896a90065fd5ff83a2e216485c22e865057f715784fab37ad9440616297d67a26d";
   sha512.doc = "ffee19f2d4ac337f7615b99946287eb902d2841b48f9d5c49d51604b45b7eaa126538732d64b319a8ba320f1dcb9b62b45cf608dbb0059f37975a1220022c333";
@@ -47049,6 +51206,7 @@ uni-wtal-ger = {
 };
 uni-wtal-lin = {
   revision = 31409;
+  shortdesc = "Citation style for linguistic studies at the University of Wuppertal";
   stripPrefix = 0;
   sha512.run = "803107d89b4ce6fe120bb528c684a65db3a9c70433abfd6bcebe2a5d05e6c7680256a407ef5f0515a56915c5c1e0637a183cc866631558e32afd96a0e45139ce";
   sha512.doc = "e88b2c8364eeebf3768d0d562447d29233280daf685d56fe791d25b352cc64c4c95be3bec198aa6e5502287a654f3088e643a3a58edf7e55d0d899eed5b704c6";
@@ -47058,6 +51216,7 @@ uni-wtal-lin = {
 };
 unicode-alphabets = {
   revision = 66225;
+  shortdesc = "Macros for using characters from Unicode's Private Use Area";
   stripPrefix = 0;
   sha512.run = "5a4b043778811bfec1ecc847ee191dc64b3f99ae0adb8fda2b16fdfddabf195133d53acf295fb18dd70460e1c1d200d3e6889815edabcdd0bca9d007d7a309f1";
   sha512.doc = "ded2197bb621622c7f9947ce736814a6acb63ce86bd866792a8fe8e1f22a8131ee12c785a81c764ab707e5bf1b2c99df73c1214ff71159e3c9fdd34ee7aef7cb";
@@ -47066,6 +51225,7 @@ unicode-alphabets = {
 };
 unicode-bidi = {
   revision = 42482;
+  shortdesc = "Experimental unicode bidi package for XeTeX";
   stripPrefix = 0;
   sha512.run = "35e32b9959e698ab0d32ef578376fdeaac54c1acb9abc584e742a7caafbb2cf82364d58d73ad07de4cd273a5c9c60e4468df74fc4c21fb6552ddb5be725e384d";
   sha512.doc = "44b76c810988c541c5dc6cc85a56fb81e8c2aa97afb84192477e57f59423e508e34aaa0542009ceb5ddbf74c95cd662697544af1cdda1d0c114bb3f0507493d5";
@@ -47075,6 +51235,7 @@ unicode-bidi = {
 };
 unicode-data = {
   revision = 68311;
+  shortdesc = "Unicode data and loaders for TeX";
   stripPrefix = 0;
   sha512.run = "9e74ad2fd167a913e004aa77c705f0f8b3ab3d8e717384ee150db076660bda4e2651bea97292ef9e747d4e2519d9ffaa113947dd5241f830c3e4d653ee061d71";
   sha512.doc = "a8e147ba4d30bf80e1c1bdfba67bb3a0ff9f765c5d41734aca1708adb58c5c357a17401383faab827477fc837ac1dbbdcb55ee0b3146acc737c094d6984709d4";
@@ -47084,6 +51245,7 @@ unicode-data = {
 };
 unicode-math = {
   revision = 67919;
+  shortdesc = "Unicode mathematics support for XeTeX and LuaTeX";
   stripPrefix = 0;
   deps = [
     "fontspec"
@@ -47098,6 +51260,7 @@ unicode-math = {
 };
 unicode-math-input = {
   revision = 69591;
+  shortdesc = "Allow entering Unicode symbols in math formulas";
   stripPrefix = 0;
   deps = [
     "iftex"
@@ -47111,6 +51274,7 @@ unicode-math-input = {
 };
 unicodefonttable = {
   revision = 70354;
+  shortdesc = "A Unicode font table generator";
   stripPrefix = 0;
   sha512.run = "08b2d90bed46237ebfdf0e98c45696b4dc1ba7f6f3ba2547fab2b129d6dd96e836dc23c345ccb45bdbd370fcc706e7a127a10f43aef9ea08ad75227f0b6b2857";
   sha512.doc = "823d26c705d4b6154ddd1324ac6297f97ef3244b815a7da23b0079c5bd94ece9391407432cf66b7bee7422dd55514c033839b31ee04262cdc1a75e5e11726e42";
@@ -47121,6 +51285,7 @@ unicodefonttable = {
 };
 unifith = {
   revision = 60698;
+  shortdesc = "Typeset theses for University of Florence (Italy)";
   stripPrefix = 0;
   sha512.run = "98eba02a617fa5d4349c5b17bc971cc0241d6d41fbe82af1fcbca1bf44faf901e5b13e786e62f26413805acb8efc941c3f1481307c69712aff55cf17b100b5d7";
   sha512.doc = "82620cf7a81f8502876edcbce06699a05f0e580760caab77cf56db89a145a3264202c8ab193a5a56df2f07b2b29d7d814b851dec7413fe0285124920f54baae3";
@@ -47130,6 +51295,7 @@ unifith = {
 };
 unifront = {
   revision = 67054;
+  shortdesc = "Give notes a unique front page for every chapter and section";
   stripPrefix = 0;
   sha512.run = "da1d02f97f5893d6f51b833e9919979e489ebef273922a01d0f5d48ed86ba9c401c11d5641da82f55be782dd215537159bc2c689309d3a4f730b93f2b739e74d";
   sha512.doc = "f66a3062ccf5d1bbe11e88cabcf7bf907487993cd83bcdc9bbed927a9f0c7fe06d9975ae5006441b7b71969c436a0faa0fc8808af35ba0d381d1dbecbfe921ae";
@@ -47139,6 +51305,7 @@ unifront = {
 };
 unigrazpub = {
   revision = 64797;
+  shortdesc = "LaTeX templates for University of Graz Library Publishing Services";
   stripPrefix = 0;
   sha512.run = "e97b38083929bb67c306bb3c306c5293dd5a024ff58eef5d11d5742ae0cc2bbf39c8505c89014b4c0a769d0e923f91db39173da1a4b374f3d1179a017b8d6052";
   sha512.doc = "dd7a27267e4a7e16f9152ff393b15d4255aba7cbeeef7e5bd7211a8059dcf25473e244cdb02340e05324d982b4e973ac76a1812a82f787fa6bb504dc9713451d";
@@ -47149,6 +51316,7 @@ unigrazpub = {
 };
 unimath-plain-xetex = {
   revision = 66394;
+  shortdesc = "OpenType math support in (plain) XeTeX";
   stripPrefix = 0;
   sha512.run = "cca8482cad022f39faf3b0b0cdf20a7d209acf5041642bac0103a3dbd1dc832a61a17c442845752317515764ab3beefd6dfcabda8c3d03cdcb8471fdd3bff4fd";
   sha512.doc = "a9138d1b80d8d5db0f00682f213518df3a40e19b3e6f36a01e62ab020efbb9c468da282393cc43a515a39dd9ffb399801607e3ac59800dd7fef73f3007b137f5";
@@ -47158,6 +51326,7 @@ unimath-plain-xetex = {
 };
 uninormalize = {
   revision = 57257;
+  shortdesc = "Unicode normalization support";
   stripPrefix = 0;
   sha512.run = "b9b0e91a61d99005be4f37d2e5aababf70729c60d959cc57295a7197b5e360ed183bb9cd80bbb287508bf584db48f061bcbb25c6a5bfd0936923b106d9962f60";
   sha512.doc = "804c2e70ff09a677c30f531db5605512453506ab83dce8f9dab4bfbb5602f8605376becc8f65cf375b28c9d6d35ad9f3a92d6f185697e2e9f9d367638d58fb56";
@@ -47167,6 +51336,7 @@ uninormalize = {
 };
 uniquecounter = {
   revision = 53162;
+  shortdesc = "Provides unlimited unique counter";
   stripPrefix = 0;
   sha512.run = "9769fcfd787f210e0653c971872aaad6e0ef1e5a066e392e9d599f8fc11ab9f6587d21db1100b643d09d4850cfbfbbc1d32f01fd1e86aedab8c92da4f5a7d614";
   sha512.doc = "4dc74aabd9288ae881c4513886ff917e1e8bf08446d3b34c946bded6a6fa71ea7b6786bf432fec2661cd1db1af6b5875ab329708cc3c443499b83b0325645d0f";
@@ -47177,6 +51347,7 @@ uniquecounter = {
 };
 unisc = {
   revision = 63178;
+  shortdesc = "Unicode small caps with Lua/XeLaTeX";
   stripPrefix = 0;
   sha512.run = "41f9763e8d090ccf8669af560e53d0abdb4d3f81aaa8c88a97d3b72b8698e95b9ec3c81ebd7d863027f832a945fc11d7e225bb56711cd49b90d430107e9a1938";
   sha512.doc = "26e6907ee5f0d7e7093946cbb524e8dac63ed5c71f761875877a352f8f1454487a91ac46c6be16378c46540175d23d3d50a72eb32b3f3f96599fff9b00db1e48";
@@ -47187,6 +51358,7 @@ unisc = {
 };
 unisugar = {
   revision = 22357;
+  shortdesc = "Define syntactic sugar for Unicode LaTeX";
   stripPrefix = 0;
   sha512.run = "01dbe995d32b49121e28163c11f89e51d4c692ab864b3dbe6305a0e4364c025b13751c137df52d24160acc9a8080fbee56fc7a5af522405c3d0564486c151260";
   sha512.doc = "8e6fdec36271f3561c768acf095b6fc353da07864829322dd0b52b1784d74793828951e006f8c56a9c38849b28ce186682d906bd7bc906739b22782db2102021";
@@ -47196,6 +51368,7 @@ unisugar = {
 };
 unitconv = {
   revision = 55060;
+  shortdesc = "Convert a length into one with another unit";
   stripPrefix = 0;
   sha512.run = "2d1b66ee4ea2cc4bbdf18c5fb88a3f6c2ec438361d3e1cb058f9c3cde3272e40d471b48ec24749ab8fb714eca4b2f6e311c7af951744edcd04154c0f016ca1e6";
   sha512.doc = "f01593365b13c8447c6a0ca34027956c9eba7daf4921e5fc5815fead966916b70ba5d6429ab068b3f0bbe98dcec903a59fcd6982d41769b6ad5dc0db86d7b60c";
@@ -47205,6 +51378,7 @@ unitconv = {
 };
 unitn-bimrep = {
   revision = 45581;
+  shortdesc = "A bimonthly report class for the PhD School of Materials, Mechatronics and System Engineering";
   stripPrefix = 0;
   sha512.run = "595883fa58169e9cd7a860933f19847895ca02d3a684b71536dfcdff54c5fe6410e6cf6fab8ae9574cb9a9180ce24f3ddf41f817ceeab85d0c65684cdc9b3909";
   sha512.doc = "3049a0bfcbae6666f309979e2c2b8d52647d3c445992201afbbfa28684b83adb2a1ad5f227360c49826ba2de2cfebbc87195801c38413f5eb26bcd793b77ca61";
@@ -47213,6 +51387,7 @@ unitn-bimrep = {
 };
 units = {
   revision = 42428;
+  shortdesc = "Typeset units";
   stripPrefix = 0;
   sha512.run = "a1c3266bd95d8668d67e7dc451258f7a3a0362e4435ab70a574be5f7ac44bb5fbb7b30ded852602c73f227f57e8f7bf61af148070b9eae6103a982f726869a2f";
   sha512.doc = "e8a1d929e9817539a5fef6cd89c8d4daf60cc0495fc7698e4708eefbf60fd36daf88ee5cb668e9f1d53978d53253bb52ef6b3e6d1a313708022e5218c99e89d2";
@@ -47223,6 +51398,7 @@ units = {
 };
 unitsdef = {
   revision = 15878;
+  shortdesc = "Typesetting units in LaTeX";
   stripPrefix = 0;
   sha512.run = "048b2d4f3b160a359a8db5a66b9bc3bf68545384c39c7c4964521aa2067a35e4524734e082d5bedeaf3ff52b6a5043717ca6f510cce0d041b0968968ffd232b5";
   sha512.doc = "c1e6de470c8b290c66f71020794fa5a855a0c9b22d90f629c8ec0f6ab110ff780c0f39291f0309348711cc2acb60cf52f38538da8894803cfee54f9fd6fdc9c6";
@@ -47233,6 +51409,7 @@ unitsdef = {
 };
 universa = {
   revision = 51984;
+  shortdesc = "Herbert Bayer's 'universal' font";
   stripPrefix = 0;
   sha512.run = "f21f9bbc0c4e730cd1b115a5dbab22df9519d4a364045e292eae6b73741dabe0117c53759b7db7696c88241800970801335f7537e19d448fda6f72569c4eba50";
   sha512.doc = "3d5ae6da093d5671b369f7db4920baab6fea25e58e11926e2fffaedf1b0699885005f3d0158eb2a6afea9ac4f08ec63c577e99da7cbb75e33727f9a97c8157cd";
@@ -47243,6 +51420,7 @@ universa = {
 };
 universalis = {
   revision = 64505;
+  shortdesc = "Universalis font, with support";
   stripPrefix = 0;
   fontMaps = [
     "Map universalis.map"
@@ -47254,6 +51432,7 @@ universalis = {
 };
 univie-ling = {
   revision = 66728;
+  shortdesc = "Papers, theses and research proposals in (Applied) Linguistics at Vienna University";
   stripPrefix = 0;
   sha512.run = "5ba91b2cdb6001a42426b77284aa68b82575997ffe1c5c62afedffd6a74710dc0e4af25df1cb4025a8ffc619376333b318a8be828490d45c7b55126e4c7848eb";
   sha512.doc = "bd576c575776ae2467f146f2cb344c97db797babce5c06a7785449010187a6ce8217b082ae84e0d045b543a4f3ba204f207d8c4ee61b7115f2b484ed4f237e6e";
@@ -47263,6 +51442,7 @@ univie-ling = {
 };
 unizgklasa = {
   revision = 51647;
+  shortdesc = "A LaTeX class for theses at the Faculty Of Graphic Arts in Zagreb";
   stripPrefix = 0;
   sha512.run = "ac96ff7105cc0a6eefa7a797b325c6e3cd7a0e59d31a6ead1f715d37d326450fbb3d39d6bc5228df5861c5633ab8be027f7652426c10e0ab23a2c9ab68bcfd98";
   sha512.doc = "00e373b284ea78d596519d982efe8d4c8f59f8abbec67c314bf361b1744d35fe2846615b8cb7d38e1516503c6ed49f9ea38718c31a760f3d19ed4a7686e8bebf";
@@ -47272,6 +51452,7 @@ unizgklasa = {
 };
 unravel = {
   revision = 69308;
+  shortdesc = "Watching TeX digest tokens";
   stripPrefix = 0;
   sha512.run = "36afdd36eac84c2421e745b4f21dd1f00e357769df37482fbdd697b7dc27904234e89dfe7c3c61313307522c7c06264290c4e805651024390af7700379f71ae4";
   sha512.doc = "05f27d954122d3225e43412518e3c76be1c9ff4a93f9d27c06dd57bb2f42974608960f931ebf1e8f82dfc717c51f82bcff4b34a480aaa5d0fa90504d6c7a4130";
@@ -47282,6 +51463,7 @@ unravel = {
 };
 unswcover = {
   revision = 66115;
+  shortdesc = "Typeset a dissertation cover page following UNSW guidelines";
   stripPrefix = 0;
   sha512.run = "4080e5cb6621c3f265245540b22ae026e9c29c37739f7ae955a90ec107199bd2b52b9e2301330a630f535c05004ef762cf058b70ea5d44f65844790156379322";
   sha512.doc = "e3b10ddf23708fa8ea68a8d5d11152812a1832f4c8d87e03a697b81f69b94167d1ac8c70824d7434fdd022f4dc10bd823fa3c177a4f0a282cd60ec166ced6420";
@@ -47291,6 +51473,7 @@ unswcover = {
 };
 uol-physics-report = {
   revision = 65761;
+  shortdesc = "A LaTeX document class for writing lab reports";
   stripPrefix = 0;
   sha512.run = "ed6b2af5ee9c0ff53cd282b0a7c8cd26e07a5823f00abaa03471707f116f14e04c874548ccfabd2858ebb0c4bf56fe55d19f09dcf865521277cfa04491d3ea8c";
   sha512.doc = "117ed58415a3502e75d10d2f6d6a34d43180294ad9b3a33d12e971ac20e4092a4a50f815390c7f158e79b7f5cc246616cd84a07eb76a04be1286a54a78378883";
@@ -47301,6 +51484,7 @@ uol-physics-report = {
 };
 uothesis = {
   revision = 25355;
+  shortdesc = "Class for dissertations and theses at the University of Oregon";
   stripPrefix = 0;
   sha512.run = "8549715b39426264ae94d5618f13837bf20e48a350cfccc5642ff5e246ad84e04050e2def0780e8f3da69647d86b6795a009215da1277f43ab9a8a3b5acb798a";
   sha512.doc = "16af5c258ae738401885a1451675ace657e169deb37670336ab87ac39d30128c98bff91b5f9f6f2de9961d981b2719f94472692c5456913bada6e7ec6bbb60c6";
@@ -47311,6 +51495,7 @@ uothesis = {
 };
 uowthesis = {
   revision = 19700;
+  shortdesc = "Document class for dissertations at the University of Wollongong";
   stripPrefix = 0;
   sha512.run = "060684c777f377fcc98b371123cfcd9717a113deb0f7fbd99cdf6cec65e66b77fc44d50a3475c8b1e8071eec80c2e6b1c20437a4432d6d5fba208fe3f06fe127";
   sha512.doc = "00386265fd93cc89146fba04eff87b55fc250e3429ca5d769f006ee1e8c581fdd96702830a90ca4eeedd35e0d90305b5ce19dea6f16ef5600479d1fc1ab2e35b";
@@ -47320,6 +51505,7 @@ uowthesis = {
 };
 uowthesistitlepage = {
   revision = 54512;
+  shortdesc = "Title page for dissertations at the University of Wollongong";
   stripPrefix = 0;
   sha512.run = "3eca5009deb6ccf7daf6d31ffb5e6d3c08ff26395e03b80617411c4dc4049bb2ebd68628f285b95b547bc512fd1cc83246afd5513dc54cb1900edb813f77ede4";
   sha512.doc = "e5e2ec32edb38ea3960922c5f38c9dd9705914f49421b89cc1cb8e6f1d8213512c804c084f1883d1682d5c65b9c54511ec47cf700ca731c4bc352b0bc4e85ffb";
@@ -47329,6 +51515,7 @@ uowthesistitlepage = {
 };
 upca = {
   revision = 22511;
+  shortdesc = "Print UPC-A barcodes";
   stripPrefix = 0;
   sha512.run = "3423a3a7d42273bfb28642d250d5000fd55d5cfe2dfb5ba0c2f875ced6c6df344866a5512a624dedb12d6bb9357f02a831297f4aba463dbd5e69e5e8dd9941dd";
   sha512.doc = "f19dd751bffb9ee92ee80f74f692ac410781e87817ee841c01f37bac87fc770b9fc97d488ffbe97490206899653d329034d82cf649de0ee52cfa4643f956d7de";
@@ -47337,6 +51524,7 @@ upca = {
 };
 updatemarks = {
   revision = 69989;
+  shortdesc = "Extract and update marks from boxes";
   stripPrefix = 0;
   sha512.run = "7d2f78253c7afcb0ae7e98ca467e6d00dafb92bbe232e99cd11f2756c3277d4bca1688e2d88cbd214580c99fac539c9d01af50115647d5609f239be906c3ddce";
   sha512.doc = "03595b62f116276240b44ef558fcc164e49c8d831dd068280b5f8be70caecb9f165ae3340c2824803ac829f38ea3eb143955a59c3ef71ddde873a2a873185ad5";
@@ -47346,6 +51534,7 @@ updatemarks = {
 };
 uplatex = {
   revision = 66186;
+  shortdesc = "pLaTeX2e and miscellaneous macros for upTeX";
   deps = [
     "atbegshi"
     "atveryend"
@@ -47396,6 +51585,7 @@ uplatex.binfiles = [
 ];
 upmendex = {
   revision = 66381;
+  shortdesc = "Multilingual index processor";
   sha512.run = "947d733e5b96ee6a621e9686357b8c3f8638c0bc482f4efaac87a72117160f81ad7aa0d34088e61e67982b345b56ec478ef3b6a49865ffb3d5512a7bf18d2b8e";
   sha512.doc = "ec4d1670ff84680fcab88e29ca5f4306f44450ccca9cba06282ad34bd026f74b46d166724a06a313957ca8d798b0c296e848bb248ad416597a99afb16b4b5a0c";
   hasManpages = true;
@@ -47407,6 +51597,7 @@ upmendex.binfiles = [
 ];
 upmethodology = {
   revision = 64613;
+  shortdesc = "Writing specifications such as for UP-based methodologies";
   stripPrefix = 0;
   sha512.run = "97028afebe70eefb0d2776abf4c7a311b1d78fb1aaf7e19f625337669ef0f085c17f9d88c76c4771085eb4a2ca1a05ec04078750fffb2904ceed8210f78be75b";
   sha512.doc = "1931a840502d230b991078f5c35fa4dc482bc57c488b8941a5cf7b09a9aa98c6a993fe508227bfdcd0a03c421d498e3b6a3d8af23a200563cfb420cba019712a";
@@ -47416,6 +51607,7 @@ upmethodology = {
 };
 uppunctlm = {
   revision = 42334;
+  shortdesc = "Always keep upright shape for some punctuation marks and Arabic numerals";
   stripPrefix = 0;
   sha512.run = "522b68bd32887ba14ecd927c49c5fd57a84a1c0f9b8a0bfad65a4d377b68a7bd449754dd411a72fd83e5736e32e2c47cb1f54155f72395c465e4e09ad1d09dea";
   sha512.doc = "d0f67dba683a40a6392121cd53b58df6d7ec6ffd8bf52df60f53537fc1b389de178dfceb1e772dfc9e292cc543448dac3a85cc6b712283b384ccfec4655c988e";
@@ -47425,6 +51617,7 @@ uppunctlm = {
 };
 upquote = {
   revision = 26059;
+  shortdesc = "Show \"realistic\" quotes in verbatim";
   stripPrefix = 0;
   sha512.run = "06360c313124487f291a8daf7399a3139cec8c0a05be12724cedb3d60393ecb07aa31e34f9b74a83048f5752a8d826505f91f2c85d34348264975b48a1813fab";
   sha512.doc = "4b92923e8af2dcd65e82269994c766b88c6f78f6e7b8d10b9f44889832150711acb0cbaf467d595d6745863f385569f7eeccb4ce69df8361e56910969532e314";
@@ -47435,6 +51628,7 @@ upquote = {
 };
 uptex = {
   revision = 66381;
+  shortdesc = "Unicode version of pTeX";
   deps = [
     "cm"
     "etex"
@@ -47473,6 +51667,7 @@ uptex = {
 };
 uptex-base = {
   revision = 68298;
+  shortdesc = "Plain TeX formats and documents for upTeX";
   stripPrefix = 0;
   sha512.run = "793b51b536fe43860fa096d590bb64cc079f089effaead0d97262d1476442fb6212d30fba092a207797fd6508bfa24c3c3ab448ce4d531700fd8cfb08e4e8c24";
   sha512.doc = "93332d9861526dba5c338bd14a20cb7e6e95aa6666417aa92dfa99200ea735d8ee0b61d8da1eb09c758b9b179f613c51a725abc997275905b3a832580302df51";
@@ -47481,6 +51676,7 @@ uptex-base = {
 };
 uptex-fonts = {
   revision = 68297;
+  shortdesc = "Fonts for use with upTeX";
   stripPrefix = 0;
   sha512.run = "1802a5ff347ee4b9eabb93e4da5881a19b9861e3144009839d7779f61bf362dfa5be2a37b42b64041af7083ac756aaf788ad9a69cb4ba97887b21e78f6a794bf";
   sha512.doc = "5cfc4bbb9ba533d38bc52e5274c0cc42bca2a2cf6c3ddb623eb4f48c9a49275b2a6959311935fd3e1ca32ce775da6bf0c531542a49c31039c438000d1d15c8ab";
@@ -47501,6 +51697,7 @@ uptex.binfiles = [
 ];
 upzhkinsoku = {
   revision = 47354;
+  shortdesc = "Supplementary Chinese kinsoku for Unicode *pTeX";
   stripPrefix = 0;
   sha512.run = "03dcf2b73ca644f8e9e2589082d49a4d502adb51944fcd9ee5cf737ae782611b35ef2eda4242b7eec2b8033014ddbbbea3abb52b1bfe90be9cc1634345223d53";
   sha512.doc = "d4c038d864b40603281f3186e21110ec96530e84a9ff88be4241cad165d09cd091b28bd768ca8ca0a28575dd850bb68ff88ab553cf9caaee6edd8d311c6fc9e2";
@@ -47510,6 +51707,7 @@ upzhkinsoku = {
 };
 urcls = {
   revision = 49903;
+  shortdesc = "Beamer and scrlttr2 classes and styles for the University of Regensburg";
   stripPrefix = 0;
   sha512.run = "5b8c80a756e45e5b847c3b970005b866f6c498eff7646155c73a9b86585dffd73e8dc66d91583dd691c910caccab60ee22a1e9dbe3aa450290fb17f019477172";
   sha512.doc = "40b8e4ea2abcc82acb843c692d90e964932f1ad7d0e818d54eeec77340f49686aafcf2fcf3f8f4d942f7cd967754ab24ee2075c6906862266f5af56251063fee";
@@ -47519,6 +51717,7 @@ urcls = {
 };
 uri = {
   revision = 48602;
+  shortdesc = "Hyperlinks for a wide range of URIs";
   stripPrefix = 0;
   sha512.run = "402974f30df5a00118d4bd2e978f342cdcdb22119059dbd0c1b2111fd1ce94ab8a29ceff88672c80d18a669d5440bd48dfcd23fa07844f492e5f7e0eda1671a6";
   sha512.doc = "b2cc8cbcbc81f0c3db349952546e60c152044aae264d4b30aadb6b90b7aa5b304c89203b6219bb5161807bf1e4649235d2f98a60339a0cb93a588852a1755e00";
@@ -47529,6 +51728,7 @@ uri = {
 };
 url = {
   revision = 32528;
+  shortdesc = "Verbatim with URL-sensitive line breaks";
   stripPrefix = 0;
   sha512.run = "164fb94cb128e997031bfdf8c602892d78813694f39f4b95bfead8a5b7e3cd9a0d9596dbe697e012bdf84b89c2551c2f2f1c7f99d4543e357edfaf2076b9cfba";
   sha512.doc = "65596e0ce813233491959ef161be8570450c6c71c787b3253d0bce503558e63902137a6d337ad1e7cd2499feacbba4a93b7b75559750d05d7898ff2527f1240c";
@@ -47538,11 +51738,12 @@ url = {
 };
 urlbst = {
   revision = 65694;
+  shortdesc = "Web support for BibTeX";
   sha512.run = "25d5655fc01f98a1414aa962d8ad924464835aaed993e3bb5a749721034aacb559a4ca1590d353615734535ac91d31abf7b99004f6298525ac618f35bfcb0fd0";
   sha512.doc = "897c866ab03bdd5ab741537182788c5f484009681d6fb98f1149329068be707abae7ef012c0bd0170e2b4b673eaa63b46f5d0d55714015e8a451457f5a6c540c";
   sha512.source = "5bbad9719daeeb8c03e7db6ef956881994bc17d7ced9b45165ad45899a7230ea8c0ceeb23d209d36535d2081b6b611d46c19b1f0f03e8fbae1788f31ab09e7bd";
   hasRunfiles = true;
-  license = [ "gpl2" "lppl13c" ];
+  license = [ "gpl2Only" "lppl13c" ];
   version = "0.9.1";
 };
 urlbst.binfiles = [
@@ -47550,6 +51751,7 @@ urlbst.binfiles = [
 ];
 urwchancal = {
   revision = 21701;
+  shortdesc = "Use URW's clone of Zapf Chancery as a maths alphabet";
   stripPrefix = 0;
   sha512.run = "beb82950bda88e7170c7ad753e93859f96190f30e89fbfbe1cdbe37930b07740f70da40124639c6ab14be93fe79c5e87b35296b68c702888d3e9e25100e86a9c";
   sha512.doc = "8f218f76d45a2f3ea9be173ba1c6efcb8a7cff26a43149b7e0ef4fc535a4638cffe69358d8ccac44a3306044720958ea9189996e88a38d560d264f5fba6863ba";
@@ -47559,6 +51761,7 @@ urwchancal = {
 };
 usebib = {
   revision = 25969;
+  shortdesc = "A simple bibliography processor";
   stripPrefix = 0;
   sha512.run = "94e0ded0c7e7ac10f2d8ff9324afcfdd2dad8247cf31cd6b404d9c2b12e223e6f435ec9d3dfad0ab510b943050444f5206788540a948e44f44c5d011596cd34d";
   sha512.doc = "3b489185729ac7d93ebbfd632b77eeb865b39043b2b68d920a6ef561ac55701a44d362b84c1fb83a2f59770442a655b779c6e49287c9d2859c44140e61c543e6";
@@ -47569,6 +51772,7 @@ usebib = {
 };
 useclass = {
   revision = 70447;
+  shortdesc = "Load classes as packages";
   stripPrefix = 0;
   sha512.run = "d1343768b6e6f89a31c437983db7d2cf2e52eff35054604719b08c5ac9ce9ce936982ce7885010e8f4929208a944746e07f28090099eec3ac3955bbf6805c396";
   sha512.doc = "9904c849d24426fb3139d92a0a502af362e12bd8d7d993da422a0e5a0ac0984d3a6f8504d0fdf88e170244877300efa1b366ad11e2683db75edd6c7fdc8b2a1e";
@@ -47579,6 +51783,7 @@ useclass = {
 };
 ushort = {
   revision = 32261;
+  shortdesc = "Shorter (and longer) underlines and underbars";
   stripPrefix = 0;
   sha512.run = "2ece6efb162a13c37413e4fe2eed33ab7982d681fcd9435ce53248dc4c573cd90ac51293424385aac29b84159b34fb3f7fde2bc8d39eacc71f0ecc91c8db7af8";
   sha512.doc = "d262bb270e41cb7d9378d42ec075a81158d401b737acc7788722ea7e99d896de1eb98c04a65e733d6e83f6229a9703f72bfd0a11e36e52d4799e82e19c102d5b";
@@ -47589,6 +51794,7 @@ ushort = {
 };
 uspace = {
   revision = 63123;
+  shortdesc = "Giving meaning to various Unicode space characters";
   stripPrefix = 0;
   sha512.run = "cb830007a35024a6fb7817f186fd0c02270c1cc639240f2077b10193e411f207ecb744281540dd6cfb1cd830424d9a5256fc7cf5a315adcab082b6f69e7da1d9";
   sha512.doc = "894c14ae766ada6c0eec7b3d5a2c64931a011560057fa3732eb32de0bfabb6cfedcc27d73235dfe8616e9e6403cef563880bbb66f2ec2a1244da95c92fd2002c";
@@ -47598,6 +51804,7 @@ uspace = {
 };
 uspatent = {
   revision = 27744;
+  shortdesc = "U.S. Patent Application Tools for LaTeX and LyX";
   stripPrefix = 0;
   sha512.run = "fbcce7a06cc018dfba47aa7e9d572003136d5b179e957f10e2bb42b2635ef4cdd40bbef19e8f827963d048eadb23a1aeedcebc87cf128f5b28cb1ab281408b90";
   sha512.doc = "e0eafb5fadeab38da049d0d5cbadc8fa3dc3c335afe4fd5289fe30de38f0898cdd9dee091b703f6a853eba56b32b161abfe56b3185c71512c9374585e6d9784d";
@@ -47607,6 +51814,7 @@ uspatent = {
 };
 ut-thesis = {
   revision = 65767;
+  shortdesc = "University of Toronto thesis style";
   stripPrefix = 0;
   sha512.run = "a5a9c3028582fd2c379f00adb5d6abc650d0d89c3a802726c6e4c0e86f9083c445a9a431bec9be956ef242a0b3051f32eb5b63387e2fa380961195cca8d3832a";
   sha512.doc = "d1e28a7d927620e259caee4c4affa8af9aad67089a0886f098ff85d96bfa473863aa4c9f6ef225629fe3c97b7505a9bb73802ef861c4198002ae1af4456b1cbc";
@@ -47617,6 +51825,7 @@ ut-thesis = {
 };
 utexasthesis = {
   revision = 48648;
+  shortdesc = "University of Texas at Austin graduate thesis style";
   stripPrefix = 0;
   sha512.run = "829826bbc06bbd9b8ffe585705856bbe4bc99973bad7bedd489ff23fad9cc19c4f33beb88756644d76945126983586fdf78eabb305e353cb8bde8341a3d20fc4";
   sha512.doc = "65e3100a6acd2a02df2e95834e5e99d718cd0b73e20ef6da839cbc9831918f63a2f5b38ad888a5068b1fd87ad71ac480754d5e6b459465cbb6238d4a3b3c09b1";
@@ -47626,6 +51835,7 @@ utexasthesis = {
 };
 utf8add = {
   revision = 61074;
+  shortdesc = "Additional support for UTF-8 encoded LaTeX input";
   stripPrefix = 0;
   sha512.run = "988d720d5f4dac3d15e7483e1ce904f214055407c41c19ee7c2683db592ef870cc9a87d28f47092cd062b5ac5bd061b68738046dcea919b0aa9573b0c31a04c3";
   sha512.doc = "c1f41ca0ea536db11e2e6c1df561e74f8bc51da3147410f7f33863d0be1d38948bcb64d0f4d8c41737278435d2f88b8ad758d2c48f1672b682169de5e0099b70";
@@ -47634,6 +51844,7 @@ utf8add = {
 };
 utf8mex = {
   revision = 15878;
+  shortdesc = "Tools to produce formats that read Polish language input";
   stripPrefix = 0;
   sha512.run = "0cd4c549c7b00939dec5055705658f76f6ebbe5de70e082652b761673ba5a249924fb862a319512a9a124b9cdaae8906c74439bba97be8825d4d1ffc70642c8f";
   sha512.doc = "cd438089d90faa0e9144d23adb78ce91d85b80ce084cb92511cc23882c675cb654cb704aebeb623bb29c70b764c8a0ab19915607664895c457c583f376c1088e";
@@ -47642,6 +51853,7 @@ utf8mex = {
 };
 utfsym = {
   revision = 63076;
+  shortdesc = "Provides various Unicode symbols";
   stripPrefix = 0;
   sha512.run = "66dd74f22a26022eb13ff7a8807612d33a978070f86ee5e0eecd9b957684150985e6bd6bdb81c8917781926a0e8c13f9310aec36e12b0a896a353194f0a900b2";
   sha512.doc = "a70bd657812f64e79f028efb591888863ba5bbc0d7f16a9c70fc1614d21c0fab9d4de2545288b12c7d6c885f489b5b0062e739e531595b8673bdd4a7e1da653b";
@@ -47651,6 +51863,7 @@ utfsym = {
 };
 utopia = {
   revision = 15878;
+  shortdesc = "Adobe Utopia fonts";
   stripPrefix = 0;
   sha512.run = "5f58ac6dacaddf4110b2ac2f77fc0da90d5cfdff26d888b26af06cd6dd8f483c7a6a12e0aab3f50d4188aab9ab649d993ad89e74898d54c14b3de4948451279b";
   sha512.doc = "ba60eaf55cc08378560048ebc6f735e743449a18d2822e6027a86e595a9634461713ceb37d15b9f0c8239f1935f910bbdbd9a0d0d6fa1683174739f91c16a504";
@@ -47659,6 +51872,7 @@ utopia = {
 };
 uvaletter = {
   revision = 66712;
+  shortdesc = "Unofficial letterhead template for the University of Amsterdam";
   stripPrefix = 0;
   sha512.run = "df759bb1a8acc3a770d9c4f2753c7968ec2a4bcdb2f8d68cd97e25e36a1a72e4ff5d16da3ce69059679eecb10d5de56464297159c7d3b0b8e16684b5cb97108d";
   sha512.doc = "d5e076da3feb4904b0af7b6be1db59c2454784f5d9679f6f6cbde3cabde6b70b075d83126313f5938dd9d153344986a6e8b574e540b39c4fba82d513e2d61b61";
@@ -47668,6 +51882,7 @@ uvaletter = {
 };
 uwa-colours = {
   revision = 60443;
+  shortdesc = "The colour palette of The University of Western Australia";
   stripPrefix = 0;
   sha512.run = "c2ec752b4cbf80f35787db83a0d227306689b1ba9bee6339bb6c2940fd938ce33daa995bbad2c58ed9284143ad3f45aed6668dff88134878cf115968c6820a3c";
   sha512.doc = "42745187e02211f149c74c82e0046f42eb5c1c6b01c39fcc8f0a52ae50613646b216355f29d0af0b6536558c2689b2eb83f31c84d29bc007de4c8f9d78ea6d43";
@@ -47678,6 +51893,7 @@ uwa-colours = {
 };
 uwa-letterhead = {
   revision = 64491;
+  shortdesc = "The letterhead of the University of Western Australia";
   stripPrefix = 0;
   sha512.run = "f9e4b88e01528992956abffcadc5614ea0a250283b0bc87709e228fdc394b58600c7cd41d4c9d944a6cddb66b9a23b8ad3473f37de8cb566aaca218d348fcce3";
   sha512.doc = "63a53dbd15700956d199ec147ccdf5c84e821e2a19ff46209f869a5656055fa9e4654746cb7f89b7cca1a3927c64715008846d87d85c8ffe6c269056b0d7a6c1";
@@ -47688,6 +51904,7 @@ uwa-letterhead = {
 };
 uwa-pcf = {
   revision = 64491;
+  shortdesc = "A Participant Consent Form (PCF) for a human research protocol at the University of Western Australia";
   stripPrefix = 0;
   sha512.run = "290e29b50c9842d87479c3ace96368ada1c0561e12b6c09d8b562a134a935511bca6ea177ec863e0c57339b90177f09a5305d41f741b821a621ef2a80af32aae";
   sha512.doc = "22268ddb91b0490a9df9805803c831ff1f4259311b1fe02103658d6da69b0ec474bcb3b7b918aad23a365c343e1bab3124927d36c86d06bf3e91e021d8a9bbe4";
@@ -47698,6 +51915,7 @@ uwa-pcf = {
 };
 uwa-pif = {
   revision = 64491;
+  shortdesc = "A Participant Information Form (PIF) for a human research protocol at the University of Western Australia";
   stripPrefix = 0;
   sha512.run = "d16d72cece1e8d98495066ba0b55dbdb51ab4909cad1b99d9d11534dcf1c57bd3b7ebfef27b2825ca24bb0e19bf4b8a6e9a1bb3b28fff061377e90c8c0afb52f";
   sha512.doc = "d14e8f6cb0aea97df72cd801e474f7062411a15e31294a032d6e0d33f084f0edcde6b1e7d0319abfe0881de9dfaabfe89fa444f6e846f1a27916e8377358c310";
@@ -47708,6 +51926,7 @@ uwa-pif = {
 };
 uwmslide = {
   revision = 27354;
+  shortdesc = "Slides with a simple Power Point like appearance";
   stripPrefix = 0;
   sha512.run = "a4ee1019a36a66abb6614dcf6ffdd9706b705bd18a19d34fcedba441c355ce3a7573ea0ee53686b325c6d6b485fef99dd1254118d1cdd1603e1597b0fa17b751";
   sha512.doc = "7560c214913e9dc61d01ba8528e1bc147a4f261995294c8c938ffd853a9b6a174c1d1d47e49fa20351ea45d61dca03ef7f0ff085e8725820c24d2895a0d17530";
@@ -47716,6 +51935,7 @@ uwmslide = {
 };
 uwthesis = {
   revision = 15878;
+  shortdesc = "University of Washington thesis class";
   stripPrefix = 0;
   sha512.run = "07bb8a3ab65110aef8de3b606ca53060dc8f29c76de55a5a84e87d43fe0e09dd16b48ec09b9a451f2285c06450ad059c4c3f9b8d48a21572a1bffbe2ee512a6c";
   sha512.doc = "278a7ce5f0bab547de0c8dd4a26dc270500baf8abfca1ff1a8e76283fffff4a73835fbb1daea2f6864cb9dca3e0fff297887ab10305c6a87ea1d7384d964a9d5";
@@ -47725,6 +51945,7 @@ uwthesis = {
 };
 vak = {
   revision = 23431;
+  shortdesc = "BibTeX style for Russian Theses, books, etc";
   stripPrefix = 0;
   sha512.run = "b7606cf33b8e9d14f4ca4cced0620810eecc469faba959728d3b4d7f8d87023d600fb33f1739ce0e7d14d4a54936fbc682a54d8ad8c6b514a1f2baed2c79b2f1";
   sha512.doc = "1e6f148de79c2ecb5fcd03ff1509c3a509ee40795af0e7f7a95fdc64c403f2de7f9d9ca37716b6488cd496e2be0565749222ae95f8b97e5cf7e05b3877bb6d62";
@@ -47733,6 +51954,7 @@ vak = {
 };
 vancouver = {
   revision = 59192;
+  shortdesc = "Bibliographic style file for Biomedical Journals";
   stripPrefix = 0;
   sha512.run = "9fd38e4545902a8f715e2912ce2046a679476f0a91ee76af74213b65689c4e2c01aa68ea8fdb09d93442097695443a2be0d6169dd50fc8ec63a7f9fe424ea739";
   sha512.doc = "4bb074a9ae48d6e565b1b60dfcdec4b6fe35e367639c3737e68e4cdeb9ed9017b17d57ebe895865b6b0f63bb7d66df5af08360d149aa5f2f7c604bf90faa9859";
@@ -47742,6 +51964,7 @@ vancouver = {
 };
 variablelm = {
   revision = 60014;
+  shortdesc = "Font definitions for the variable Latin Modern fonts";
   stripPrefix = 0;
   sha512.run = "1c34d4afa65db4993f3098cb32b604c68a75bc2c0b56b026a6d50c2de61392d4bace210dab2fb5ca0c15253e7486406aa3aa5084e2296bd5e8f1e9c953419627";
   sha512.doc = "56bbeff2f9cb4a99c05416d7fae7cea8cef81e712092ae8b5d1ca644769debdd95c443fb6af7edc034fe9d778147e1b37da50d951278a7f64c407dead5f6e7cb";
@@ -47751,6 +51974,7 @@ variablelm = {
 };
 variations = {
   revision = 15878;
+  shortdesc = "Typeset tables of variations of functions";
   stripPrefix = 0;
   sha512.run = "71252475aec013adf9bf41460753a648420ea70fb093cadc667500a6884adcf0c6661a2d81053a733844a3f8595ccffb5ac5f7680689575d8485c47a1cc1e469";
   sha512.doc = "75d6d8afd13f6751bad23d0adc58355d75e355554dd95971dc16ac148150990e1362ec211a3f3e6fd832ce231dbd08e50ed9d44856c763e47ddb5374b1b182ff";
@@ -47760,6 +51984,7 @@ variations = {
 };
 varindex = {
   revision = 32262;
+  shortdesc = "Luxury frontend to the \index command";
   stripPrefix = 0;
   sha512.run = "fb7216b4cb06126970148788859d9c12a0626d25321cc591b2db5d7018ab2a76f5c6505d9cd47da6a3babc765dcedb6653a3ead2eea67f688cd883fe81d9f42a";
   sha512.doc = "30b9f50b7357f12774f78f0792ee0321b5ba84d2c3dff96f5f98d87cf0bb811a2fee74b2bc691fef07a80eb65e13e42b657b74efb0ee334b4f04da7bfdd0b75e";
@@ -47770,6 +51995,7 @@ varindex = {
 };
 varisize = {
   revision = 15878;
+  shortdesc = "Change font size in Plain TeX";
   stripPrefix = 0;
   sha512.run = "c1a900aa29601e9bcc5d1047ea5bca0bd3c079d05e8c42c8e3f85521cd8a1989425650d0e84ab0acf2a38e468bc4823e149cf1e799da8eea1d6af4554cbc0c94";
   sha512.doc = "f575e4faff4a80f72108ef5b97abb0bda08573669bb8b28592fa607538c632d3b59626282a0ff8d7805e6b66121b2c231618901a9dd71f0242e1a0875a3e2068";
@@ -47778,6 +52004,7 @@ varisize = {
 };
 varsfromjobname = {
   revision = 44154;
+  shortdesc = "Extract variables from the name of the LaTeX file";
   stripPrefix = 0;
   sha512.run = "0d5fb07c93fdd08570ef1dfa120870f4619b124cde769f48b4107c41827dd65c023840e1344aa283d0b21bfb0af2346135577510119579c531731f132bbfee1a";
   sha512.doc = "57e3111b8426ace2a838a128dae49a6ffadc6892e4b85cfc83eae3b9422dc4188e505fcb2a281ff38cbeb18e385ba1da398111c5f00683568999004ffd5eaea7";
@@ -47787,6 +52014,7 @@ varsfromjobname = {
 };
 varwidth = {
   revision = 24104;
+  shortdesc = "A variable-width minipage";
   stripPrefix = 0;
   sha512.run = "d44fcd1912f1751ab18f5d7d00ed47f42bed3ad2863b35781a83df9c881943c3e1916d003361b6e64640326541f43a37abdb0a3cdfe07e4d0cf7980dfc5fe1bb";
   sha512.doc = "ba0c0d562a7c9db36637bb18fa6f0d01661b229c66b8f0d2bd7cbafe286b81485e84bcccd06c4d47561db8895cf8933ff11d08a8de0b01405d6c7dde443e86e6";
@@ -47796,6 +52024,7 @@ varwidth = {
 };
 vaucanson-g = {
   revision = 15878;
+  shortdesc = "PSTricks macros for drawing automata";
   stripPrefix = 0;
   sha512.run = "e4bf83ea01ff4162f95dd595b93635ed988ae081d0c65ada59ae64c6c64c730dbb92ae049d22dcc20d6204c5a7cbca5cd643be6c572e51a3aa17df88c6f1f700";
   sha512.doc = "520aabba38562e208b464fc0d4e9f9a138c238abb94b43e89864e4ac21acfd35e5d6e224e855ab4baf9feb1df736b7e937508f6245e5f873c5c8f8a75947e014";
@@ -47805,6 +52034,7 @@ vaucanson-g = {
 };
 vcell = {
   revision = 59039;
+  shortdesc = "Vertical alignment of content inside table cells";
   stripPrefix = 0;
   sha512.run = "39d8f934a07095d21219d58fb41fd3e939391d5c68c51d8b9ec82a97522e55fc09a23195c8b5ae48cc3e9d9bb9a62a0b22123f467627784c767321140356d6b1";
   sha512.doc = "f13e941e7327f4369112f59387cae9c49f10197a2c7c4016cbcc5880759d89fe88535266f5f753b48b547deda24a3ad959b42f864b9ca2764cd593bacbf908b4";
@@ -47814,6 +52044,7 @@ vcell = {
 };
 vdmlisting = {
   revision = 56905;
+  shortdesc = "Typesetting VDM in ASCII syntax";
   stripPrefix = 0;
   sha512.run = "4c4b5deda36fab8ac8cadfea2093da188284cb26eb9874f27ffbedab1235d4e7bdf48e977a714fb33f0ef2c5cf4c0b92c14767c565efa6842cabf451af51c1de";
   sha512.doc = "fcd476e8ae2db61e3a71b1dd4bffae34e6eedaa409dc3434179ca66bafa2dc4b5790bd06bf90db609f91c682d2b7bf9d5effa893e5fb914c26c20acf67f8b22a";
@@ -47823,6 +52054,7 @@ vdmlisting = {
 };
 vectorlogos = {
   revision = 69010;
+  shortdesc = "Vectorial logos (GeoGebra, Emacs, Scratch, ...) with 'inline' support";
   stripPrefix = 0;
   sha512.run = "cf9232e47bd3deacea13e858f4b85b45000d09f1df7fdc09bd84ed2f30de669b5d79d048a97d9aed05ccbe4ab65977becdae35b1bcbb2bb5efd2c874d7d71d22";
   sha512.doc = "21725294c097268bf0403c9cd7cfca5a8e9541cd6829ab65c561ed4ce6e111943000e0bae54aac328262524bd19ba75e90979660948631103b4a97e4ca63930e";
@@ -47832,6 +52064,7 @@ vectorlogos = {
 };
 velthuis = {
   revision = 66186;
+  shortdesc = "Typeset Devanagari";
   deps = [
     "xetex-devanagari"
   ];
@@ -47850,6 +52083,7 @@ velthuis.binfiles = [
 ];
 venn = {
   revision = 15878;
+  shortdesc = "Creating Venn diagrams with MetaPost";
   stripPrefix = 0;
   sha512.run = "617ba85e996943d62a33acb2535e23700fffc63331741065faee558bebde608232a31bd73aa79ad707b107a9adda8b454f9b81dee184a64d94f32c44d76180c0";
   sha512.doc = "0b1940cdc2bcbb7e2f103497622c4d5971abf4f6f4885f60b35a360cd655c34cd789ecbfbef9d35c61611ef22198200b11008f4f59588a5cd111870b77ba19d5";
@@ -47858,6 +52092,7 @@ venn = {
 };
 venndiagram = {
   revision = 47952;
+  shortdesc = "Creating Venn diagrams with TikZ";
   stripPrefix = 0;
   sha512.run = "cf57b84165067234f5be58b2300eebb77339c33b883895e47cffdbc7c4acb6d013db7ace1eb47ef491e21526cea8b3ab993fac836498bfa16a5cea700caedd5b";
   sha512.doc = "966f7eea0d4c40004b9710c53fdd6838b757a2c8ed47b4098ca2d47834ba52575ac7c062497f1a6d26dadfcf0d7f95f2213d34bc638262520aade0e78beac827";
@@ -47868,6 +52103,7 @@ venndiagram = {
 };
 venturisadf = {
   revision = 19444;
+  shortdesc = "Venturis ADF fonts collection";
   stripPrefix = 0;
   fontMaps = [
     "Map yv1.map"
@@ -47885,6 +52121,7 @@ venturisadf = {
 };
 verbasef = {
   revision = 21922;
+  shortdesc = "VERBatim Automatic Splitting of External Files";
   stripPrefix = 0;
   sha512.run = "483a75883ea602f674abec796199c5206420079c6ad5e4c3ac22bd836e7ce02f686cc8b9b749f806fe8e44bce8bd35fc6b17865fc076c72f2223143ee0e8a123";
   sha512.doc = "c88b1275eb4e3b87172e6cd157ad868b7b230d96d00ca0dc550757fdb89648a40b1090b771dcd0776b6f86a9194c553f265d990220348e5bbf9c7aa792f42914";
@@ -47894,6 +52131,7 @@ verbasef = {
 };
 verbatimbox = {
   revision = 67865;
+  shortdesc = "Deposit verbatim text in a box";
   stripPrefix = 0;
   sha512.run = "a2520d96ed713f3e82135395c7437f1bdce04f539ca924feb1468af6a9afb9a2707edba554f073175bf01d279576d7f3b96cd8a69ff7cd6b82f6fd9dde537f3e";
   sha512.doc = "c9c4a8a720a9dd1381a128480312ee416e6332d7bb4cd6f59c3f3c13f2c4ba5e9445f5659ff4b64cb40059fb117ce79b27b62c07b70a81ad7e3fe987f7dbbc41";
@@ -47903,6 +52141,7 @@ verbatimbox = {
 };
 verbatimcopy = {
   revision = 15878;
+  shortdesc = "Make copies of text documents from within LaTeX";
   stripPrefix = 0;
   sha512.run = "e415f9d74f35e28c73bec5442124b7c426aff8de013aa8a2af9c234ae3ea20c131d5ad21803c92eaaf6d0aef6584b7f9b83218f9665a959ec0d6ba3ef606b081";
   sha512.doc = "0281da688f11d2a2fefc053d8f7866878b337ee85114c551176d6c329009f8c1a8479ccb29f202106f745ba215728e7f08509898182521bcac433699e22843a0";
@@ -47912,6 +52151,7 @@ verbatimcopy = {
 };
 verbdef = {
   revision = 17177;
+  shortdesc = "Define commands which expand to verbatim text";
   stripPrefix = 0;
   sha512.run = "f6bcac8b35bfe707d4e39cf625987ddee6197977894e9f8ded9e3a715e0968d2d1fab07c57edf1d38150ae0c9cfc937230c9fccec431e73ae235a4cd44ed8609";
   sha512.doc = "e64d4bf3018de72a131e7688ebbfcbaa59914c0542d2c632a91097a77f404307f9bdfc613638badb3ccca3854313f17a7a5bfb6426f467bcc98ed235af6ba49c";
@@ -47921,6 +52161,7 @@ verbdef = {
 };
 verbments = {
   revision = 23670;
+  shortdesc = "Syntax highlighting of source code in LaTeX documents";
   stripPrefix = 0;
   sha512.run = "7b5780efe1b6e4cc62909df5d5cd4a03be3dc83717f20738a83f37f539103ad12e382c0a3891b8e81b44086f92b7277b17e88c4e7d81123c04941c38114f23c8";
   sha512.doc = "744471659373efbe040bd0698a9b33a0942d5df33312ad3cdd0f02c0e16fd2c67ea44c4ab13ce83ddca6a5e8ca68c8c8bc40c1a64470a9716511e2275683b004";
@@ -47930,6 +52171,7 @@ verbments = {
 };
 verifica = {
   revision = 56625;
+  shortdesc = "Typeset (Italian high school) exercises";
   stripPrefix = 0;
   sha512.run = "8c3258fdf2040e00495b56605f88160b5179743a7ae3abc6334e734ba9f1fb122bf2e4847fd9a577c1221c9e22dcfa650f15612d7a005b3719ce6c92df180bb3";
   sha512.doc = "de41df53ca78cabf7ab3f672dd00c0042cfd8a71219d694985c18aeffa045dcd37c7b999058d7edf6a2348d83c9ae27d1e242f17a91d43b61f2b873ee2d157ef";
@@ -47940,6 +52182,7 @@ verifica = {
 };
 verifiche = {
   revision = 69726;
+  shortdesc = "A LaTeX package to typeset (Italian) high school tests";
   stripPrefix = 0;
   sha512.run = "6201051c81c5a002423d3a9959e847223350c83ff03dca7792a727f2ff7f0405d20d2499827f5e96ea8e1f2e7855b887b0c2b35180ea2153a5c2126d36e21410";
   sha512.doc = "dfc3fc5a5bc8ccede3bb487a17941ac6e28879c03ea9e398475c058aae07230e2831bc9dae3195effd331abe79eb5f6ea8962da85a9775273810da80d8ada70d";
@@ -47950,6 +52193,7 @@ verifiche = {
 };
 verifycommand = {
   revision = 69389;
+  shortdesc = "Verifies definitions are unchanged, such as before patching";
   stripPrefix = 0;
   sha512.run = "c977f40e851a47dbb329e96df9ac528aa9a2419bbcf34470af1110751365e219aefb36c6d630022b8d57949ea904e12dbb560329c526b3e35bd101c1032e38ff";
   sha512.doc = "69431fb242574e7ee11200904483eaa1a52f5c621d5c7c6511649a80c71d06a5527dfaefb90a74929b81b0cb2559ac136e1f6fe7321689a296a040f6362e35f2";
@@ -47960,6 +52204,7 @@ verifycommand = {
 };
 verse = {
   revision = 69882;
+  shortdesc = "Aids for typesetting simple verse";
   stripPrefix = 0;
   sha512.run = "cc76ff256e4e388e0385c4a5152db537b9c3b368a29de79fedc17395d9d3b362c6e3af05a5714d7d2fee68f129cbdfe82874eaf64c8e0093f70dd796e8c381b5";
   sha512.doc = "5c1c29d0008c800bd967445ec3efbe2e8c1ee8d39d4373173f88c75fd3e8454409302308a08be84c69dda9c679ac25c6a411416c247fd44cd9cb23fee6b80f7c";
@@ -47970,6 +52215,7 @@ verse = {
 };
 version = {
   revision = 21920;
+  shortdesc = "Conditionally include text";
   stripPrefix = 0;
   sha512.run = "9b57997e63fab25d916630bb086b7d4372e094e64175caa761c20c3c2d426a58fdc42ef661bbc1ec47f2a8d9c617b7e4dc405499c01b84eb53ca0d10f6c9108d";
   sha512.doc = "9bada1489523eccc809d4b9654411addf31f2d63efc1f1f9d68b81e2bb3d9365e2709f55a77c53c3d2231b8da89114bd5a4217c8d18553234a980d379b1a0084";
@@ -47979,6 +52225,7 @@ version = {
 };
 versions = {
   revision = 21921;
+  shortdesc = "Optionally omit pieces of text";
   stripPrefix = 0;
   sha512.run = "4a6474f6a014789daae358c5b73a85bcb0894eb67d09a530f3bdd8e4571552d0a3e1983b5ba40d33122caad8bd457f255b7f1bb34e9797c5137ccf461707dbbc";
   sha512.doc = "ffebda27a9000a0c8bd8462b750e34331968aa1abd5c7039e198950eac6dc02796da6a02a258bcfcd84ca12b3d5f6d0ab11587bb5d6fa9b3121297aec2179ccb";
@@ -47988,6 +52235,7 @@ versions = {
 };
 versonotes = {
   revision = 69249;
+  shortdesc = "Display brief notes on verso pages";
   stripPrefix = 0;
   sha512.run = "c430ad5138ec17c4a5a12bb42149bf260b582f2a8b3c9fcb15356c3ed87073b68063df1ce8d821c456c0ed0e154137a2e3ed54b83b49a859a08dc1134dc6b559";
   sha512.doc = "3e4047566d0eb6ade7e78dc0ace0f540b56a6bcb157f613f6af0f7fe5c8ff9e47e526d68ec11b94f9e7ef3bce8fbbd26fc8c3ea115b2d1454e750ce7e15641ff";
@@ -47998,6 +52246,7 @@ versonotes = {
 };
 vertbars = {
   revision = 49429;
+  shortdesc = "Mark vertical rules in margin of text";
   stripPrefix = 0;
   sha512.run = "3c3c905c6bcb013a36bc2eede14d84315f49075ab5f63376e9a440e4e7fb281ee5086b5bf1953782641284027dd8e7058e0accdafdc9295a19ebfc0088d8f7e1";
   sha512.doc = "de6df3133c801e941cbb00c552cb2cdb1d556f099c402a0a66f460d5c7c1c6e28ec7d983563f20a609a5b5266420dcf8c204d1b6bc685031cc41fe2770a5ea13";
@@ -48007,6 +52256,7 @@ vertbars = {
 };
 vgrid = {
   revision = 32457;
+  shortdesc = "Overlay a grid on the printed page";
   stripPrefix = 0;
   sha512.run = "ee46d8ae234af6f0b3bc8689cceab7d5ce8e7229b132c396a000cca15cde0ee422f91b2d4fc485c743e3a896bbab5ec90b24ea5d398bf63342751bf75143330a";
   sha512.doc = "92e5498cea29d5fc1b373619e97c6692fef3f63002757a954649c0c4f9ef7b6594d61cce017bee709f0f1898777f962c25053b64da8079c8c9c9893f821a9aa6";
@@ -48017,6 +52267,7 @@ vgrid = {
 };
 vhistory = {
   revision = 61719;
+  shortdesc = "Support for creating a change log";
   stripPrefix = 0;
   sha512.run = "1e8bc961ce70a199403f548bc918efbfff57ae6514338d32928a670f1f381ccd0474f3e2e4bcb957e72ae0b74b959f9eb98b552e62dfdbcbea995549bd87ca70";
   sha512.doc = "25420975890dbeae7b322ed9769eecdc67b9271f36e3269b6dae582af19968b79593ccc0306486de5d9c277be752569591953b423c52f8aab396430331c61e27";
@@ -48026,6 +52277,7 @@ vhistory = {
 };
 visualfaq = {
   revision = 61719;
+  shortdesc = "A Visual LaTeX FAQ";
   stripPrefix = 0;
   sha512.run = "e746106e0525c9d40c3600e283e1b652d2a5e4e99381dd7ce88ff2ded109024d86610b6305fdcc6f06220802c7ce565b3e01f9562c00884fe5e161104ad4f8ed";
   sha512.doc = "cd8f11ebec1eda30ba7b673fe6fd241e61c4ef42a769988d34e58546f608af6a4ea569b2a30957dec0463385c5a4df70f7d10bc6e5b898229c5e6cf46f7e4fca";
@@ -48033,6 +52285,7 @@ visualfaq = {
 };
 visualfaq-fr = {
   revision = 67718;
+  shortdesc = "FAQ LaTeX visuelle francophone";
   stripPrefix = 0;
   sha512.run = "06a9f22c86f54883ce55b23ba81315e53afed4f7ed2b77d13a8958bc18e5a96cae849a327126843865b6ecd55d7153cf261ab784625b9a848e7dc661df95fbb8";
   sha512.doc = "8d18a3712c42eb7921d6e0e7d29ac96c4718386643bf967b3c428fe5846830dbaca382822ae3d23523dda2e4c7d5f0d96c137412c2302f5e634471d83fdc4547";
@@ -48040,6 +52293,7 @@ visualfaq-fr = {
 };
 visualpstricks = {
   revision = 39799;
+  shortdesc = "Visual help for PSTricks based on images with minimum text";
   stripPrefix = 0;
   sha512.run = "fa501a3ed6506fe52d3d31515f453db5378c7d01415ed05c0870ea15051d34dc5a564ab8ef2ef4608f616b657ecf29f5b18a8920bdf1606f78928fc505cfb0d1";
   sha512.doc = "3d2dfea937b2b99e148fb0220067b9a777126854d82cd1e591f84a1d13e1090755660509814e4690dad20d2568286ce05653d3b5c7c6653df61d27229c9cd5e2";
@@ -48048,6 +52302,7 @@ visualpstricks = {
 };
 visualtikz = {
   revision = 54080;
+  shortdesc = "Visual help for TikZ based on images with minimum text";
   stripPrefix = 0;
   sha512.run = "fbd3f158e72dd8b0ebd3fe9c33fe47127ecfd38bc0feac3312d569718672e9f88165856fa61389b307a211071467c10ef73981178cc9afd8ecd720cdf627dc1b";
   sha512.doc = "16a32e64ef4d00d2bf6f99fa05b35a071539d71944227eaa5b37762e838a62b80ee4b227a8bb9cc49b831bf19976421684872f8eb104f37365669907e9621a6b";
@@ -48056,6 +52311,7 @@ visualtikz = {
 };
 vlna = {
   revision = 66186;
+  shortdesc = "add ~ after non-syllabic preposition, for Czech/Slovak";
   sha512.run = "6c66717442bca3306e23f5d546e17929240ce9626a562b9e56512446998996d38f83f78fbb39e46bde0b9faf0db7eb0c0218c79e1d66711d6cd3c64a8778edec";
   sha512.doc = "921d76535cbe7e940617355c74b82acfc61edb840db8ed9cae1aaf987fe6b83245505048c7c550d59829b204f139ae1cfd44601435e2fff2b0d5230b45a27b77";
   hasManpages = true;
@@ -48065,6 +52321,7 @@ vlna.binfiles = [
 ];
 vmargin = {
   revision = 15878;
+  shortdesc = "Set various page dimensions";
   stripPrefix = 0;
   sha512.run = "dc0cdd4696a44bb6bd189dcf73c69f1b2c8790b9936b1c6f35013d9342a97d36a4bfd8eab82f3e2e97f1cc952459cd9a1909915348b25f01df446c5ffc452e71";
   sha512.doc = "ca8ebc274efacbe192b73c9551294bfae60b0cf7ebaac8425cf1b88e10ecda7f3230c336883afc438349f1ea47d66d369b52bb415c482803fb742b16cb483348";
@@ -48075,6 +52332,7 @@ vmargin = {
 };
 vntex = {
   revision = 62837;
+  shortdesc = "Support for Vietnamese";
   stripPrefix = 0;
   fontMaps = [
     "Map arevvn.map"
@@ -48097,6 +52355,7 @@ vntex = {
 };
 vocaltract = {
   revision = 25629;
+  shortdesc = "Visualise the vocal tract using LaTeX and PSTricks";
   stripPrefix = 0;
   sha512.run = "7daa3923a6b9d84a1fae2c9bd63404c2fb4dfe3866f897895deb9ab85f33649427b38ce5e34552bbbbd8704da1fac55822a747747a0c522728e605638831df8c";
   sha512.doc = "36aa01a5be9da9a23e3a4de63fb14a39beda4a42cd2615f75f942abff677e71f2a4f640773d27556ef246a99004c3a1aa68caac9435957152cfda96707d79787";
@@ -48106,6 +52365,7 @@ vocaltract = {
 };
 volumes = {
   revision = 15878;
+  shortdesc = "Typeset only parts of a document, with complete indexes etc";
   stripPrefix = 0;
   sha512.run = "e54add2c60c5446329fe6f944c99132e0f99e89dd8fc9ff459e0ee106a5241e4df4d864b43269fc14a08ddda92f4e41607eaa20ba50d4a566be7468d0dd66b2c";
   sha512.doc = "4471a360d04cc1ed9c90ecb53bfc422fdae30571a25fc4811813f30ed5308f4d20309a1fdba808d1eb20e84b97318708f57d08722344afd755aa06588acbd024";
@@ -48116,6 +52376,7 @@ volumes = {
 };
 voss-mathcol = {
   revision = 32954;
+  shortdesc = "Typesetting mathematics in colour, in (La)TeX";
   stripPrefix = 0;
   sha512.run = "cec0ea20b409192c618278001045352ca6c4c11c8eda59633a9bb65ebb7a89c8c1db4046936a7f0096f52efca8a251501fccf7890288ed830f13e0b24b1bb017";
   sha512.doc = "5d91b23d9eb45998282731620097f214b274ee744972b3d7fbeda1be2268799572f36b5f4c8b707f48e8ec2d825438bcdcee7f1376531f366af8949a862ff379";
@@ -48124,6 +52385,7 @@ voss-mathcol = {
 };
 vpe = {
   revision = 26039;
+  shortdesc = "Source specials for PDF output";
   sha512.run = "5fd5180edb830cc2f309652ad6a86e3ce1900dd0b150b72b3115f2e0f51aed4023b3f7af8c86befd1b1317829907b35ce583b50fe5cd1fa50f15863046e806d5";
   sha512.doc = "3c60c736fa03de82bfa5bb86f40420e7f7eb59f6943a94790361bd1d64076ec97843404d1cc508074a903f83392892c6dddd1dc912162928b286e65c24a46037";
   hasRunfiles = true;
@@ -48135,6 +52397,7 @@ vpe.binfiles = [
 ];
 vruler = {
   revision = 21598;
+  shortdesc = "Numbering text";
   stripPrefix = 0;
   sha512.run = "39582bec5217d65179b4293a18697cae20b35a0ec5416497691d16dbb919d78d4463ae15f2f05d308f45c65481f611a3f699cce9f5a3c311b84bde08fdd5f234";
   sha512.doc = "dad09087e028977501fe143ae050c57938500b8aa98bddc1afefb298444d17c37cdc5b9db2e9d01df5e9f6a47679e0659b21a2844d268f8b324a24bbf22d9492";
@@ -48144,6 +52407,7 @@ vruler = {
 };
 vtable = {
   revision = 51126;
+  shortdesc = "Vertical alignement of table cells";
   stripPrefix = 0;
   sha512.run = "ed8dee287daa32719b6650f43b963fa66cc55572526162978fc5245d3c253f027548ef5f1cbb38423c30e6cbe93b3418c373615ab92532be40d947c979f14b47";
   sha512.doc = "12626485ed74fdaee2aff65e97f59d14fad8f856bc2a84dda96010985b039d48850a07ef08525d74b155a699d44b1e173923e0f67716f47e392fa7558760076a";
@@ -48153,6 +52417,7 @@ vtable = {
 };
 vwcol = {
   revision = 36254;
+  shortdesc = "Variable-width multiple text columns";
   stripPrefix = 0;
   sha512.run = "3963b738e1214f7a495daff6476102e6b25e86034c552b5f4e4314af55e4af073ed94a72e969dfd1fba16baa0264577234917f7dfd074dc85f9c56c5f2409903";
   sha512.doc = "a4d55b62caf4968d3e8329fd06f8857f646c5a867fbab23ea9bd7fb57c5b88b5f3a918642bc608eb1ccd936dc2e36edc50a5662667b8bb35cc59ba1739b2e7bd";
@@ -48163,6 +52428,7 @@ vwcol = {
 };
 wadalab = {
   revision = 42428;
+  shortdesc = "Wadalab (Japanese) font packages";
   stripPrefix = 0;
   fontMaps = [
     "Map dgj.map"
@@ -48179,6 +52445,7 @@ wadalab = {
 };
 wallcalendar = {
   revision = 45568;
+  shortdesc = "A wall calendar class with custom layouts";
   stripPrefix = 0;
   sha512.run = "43a682e78a3a80784180dfd84627e5584af9199bef965bb5551b203df7f939512d4307c450ed1ee55caab611154c1511fc339831da2907527c06ab738350e05a";
   sha512.doc = "e4816b91f08a26e99b03892b3d70f4d81110e476461dec505225335d46955f9f3790d883faf19afa4d7a31ff05afac4fea870e37299f45827c5a8155d4bbaf4c";
@@ -48188,6 +52455,7 @@ wallcalendar = {
 };
 wallpaper = {
   revision = 15878;
+  shortdesc = "Easy addition of wallpapers (background images) to LaTeX documents, including tiling";
   stripPrefix = 0;
   sha512.run = "45647b8f8ebab9706437be2ce63f3506638fcc794839ff366210db4c35a3e16b2a39127fcacd0d97df356180770b6808e80e63ea1a50e69fc591cc0992e1787b";
   sha512.doc = "46b890e0ea7bbfb3c3421f79338f5140a105bb90cbe712477e2dc956f834682f6d137e39492437d8f206fefaf07086cab7f3cdd6c27dc7136df54c5ba850b4a3";
@@ -48197,6 +52465,7 @@ wallpaper = {
 };
 wargame = {
   revision = 69692;
+  shortdesc = "A LaTeX package to prepare hex'n'counter wargames";
   stripPrefix = 0;
   sha512.run = "8302254134c342db781f4bfdfafd92dd3484e2a0e91dca2bf43113665bc3c44c0bf50637bb702f33fe243108bf1902283059a923e64bacdcdf7c9a5bfecc8836";
   sha512.doc = "dc1a5d8ce42661ebe5f0bf9cdba69ae66f8fe592bc48c8036ed60cd75b07a84e18c5d92fa4c4730155c5858f7ade450d59934db4e55a6ddc6a3d93ea0c78a0ef";
@@ -48207,6 +52476,7 @@ wargame = {
 };
 warning = {
   revision = 66616;
+  shortdesc = "Global warnings at the end of the logfile";
   stripPrefix = 0;
   sha512.run = "443a02ce9aa004379aac94091c4f3014042cf2826d12bcffaa92f24ebd3a023ef314d05aec00947db74175e03e432fb80b7060b51c4fc310d14c15ac86606abe";
   sha512.doc = "561c4aa05df7143f68067d22b337f1754482c40eb851356f70887dab86b3944116f2e7d9f3a83e4439c7b0f6d6db0ca61371ee049758173c35b70468bd0166af";
@@ -48216,6 +52486,7 @@ warning = {
 };
 warpcol = {
   revision = 15878;
+  shortdesc = "Relative alignment of rows in numeric columns in tabulars";
   stripPrefix = 0;
   sha512.run = "66fd9e243339e0841576e1a1a3de05f2e69a24a7e1dd31eb38d848d06c9183f691229d8e89878b661c7f6524bd9ebd1380fcd4c9b175feb8490cd4476ac81303";
   sha512.doc = "e88082379e90edf1517579009881204bcb70df888593d7535e2b1e5b673cf116a456967b0ca5ce372efef9dc0818b9d0dc252be79819f6b346ad8619d70551f3";
@@ -48226,6 +52497,7 @@ warpcol = {
 };
 was = {
   revision = 64691;
+  shortdesc = "A collection of small packages by Walter Schmidt";
   stripPrefix = 0;
   sha512.run = "1e434b13cf6cbaabb173b34334e046055366a9ec844207460a852a0066963fbdde6288e94979e873811b4e66140f07b6cf2e8526ec47a050efbfaf4836edfcb1";
   sha512.doc = "fcf5434911390ee8f20f0feced15a627e001471b1867d57a7697edbfee557179250f0a01e9e20e0d442dcb0c4509174c504959e7a991e928e392d27515ff2d0b";
@@ -48235,6 +52507,7 @@ was = {
 };
 wasy = {
   revision = 53533;
+  shortdesc = "The wasy fonts (Waldi symbol fonts)";
   stripPrefix = 0;
   sha512.run = "4c747ea3cfab820b803f624a32178a1d09cbb5a3c441ee423abc74caeef9217095491c0c490f11d3a6d6adf052b97492e081b2abedce6cc9c61410a8e878f5b8";
   sha512.doc = "4ee0dba83e3d1e00a1c58bc1c27d1b8e7e1677bfadf1d2653be216618d65fd168eab7aae26a5fe5ffae42c546b3438e2ad15f1a7bbfd58cd7b75cafa78a46205";
@@ -48244,6 +52517,7 @@ wasy = {
 };
 wasy-type1 = {
   revision = 53534;
+  shortdesc = "Type 1 versions of wasy fonts";
   stripPrefix = 0;
   deps = [
     "wasy"
@@ -48259,6 +52533,7 @@ wasy-type1 = {
 };
 wasysym = {
   revision = 54080;
+  shortdesc = "LaTeX support for the wasy fonts";
   stripPrefix = 0;
   sha512.run = "408f9c2b70d7860f7d8f7ee7f93af1351442b92aad9c8d8e4a501414058d8347e6da2408df3d5b6fe217597861eda5eda499771a7e973da03597f24b76250da0";
   sha512.doc = "ffa36c6f1446c0dcdf1e1dd8b47946eb84d666714d94eac28c857170c9aa414b612486fcf107ae462c50ecafd6ff20c90c776abb5774db64a32aa07be8c58b2f";
@@ -48269,6 +52544,7 @@ wasysym = {
 };
 web = {
   revision = 66186;
+  shortdesc = "The original literate programming system";
   deps = [
     "kpathsea"
   ];
@@ -48284,6 +52560,7 @@ web.binfiles = [
 ];
 webguide = {
   revision = 25813;
+  shortdesc = "Brief Guide to LaTeX Tools for Web publishing";
   stripPrefix = 0;
   sha512.run = "0c99e86fcba92d067ddd658893b58463390764b215515068e025563b66f445b23ae11482345bf305106afc1284ffaf32b23a28c8e0f81319002dd6332c8a3848";
   sha512.doc = "933ceaf7bb2400fff1bfc5ec26f60d750e0995680579fe487536ddcf8eca670e2b6d3fb6150b4ad659c6fa594b9db540523a878c74e9aba9be7710b5380e55af";
@@ -48291,6 +52568,7 @@ webguide = {
 };
 webquiz = {
   revision = 58808;
+  shortdesc = "Write interactive web based quizzes";
   sha512.run = "04ce66027089c2be815380a10540e6c12040d33a33b1de9c6a98985e82a65e87f58a19b6cbf2b0ad7bc8e0a1e500bd21a80e2adbe3ff395ec4be1ecdd5b5adf0";
   sha512.doc = "58faed1d21c5f0abe004d5aff0ef6f754012722dace25948e236c940f3e9f3a49d4f661d6692afa0bbd0a654424017e84611c32cdd99a0ef60e510c4b2fa01e9";
   hasManpages = true;
@@ -48306,6 +52584,7 @@ webquiz.binfiles = [
 ];
 weiqi = {
   revision = 70179;
+  shortdesc = "Use LaTeX3 to typeset Weiqi (Go)";
   stripPrefix = 0;
   sha512.run = "7202c5b907439d47868e940d1cded455a15d1de82420e8846f93c81ea3b723eb2f6d455bfe8d1deddca7e856b5d9243418b546abbf36d0883431675866cdfbe1";
   sha512.doc = "ed2f33194866228569800a1612bf73b5aa2b8ed8b1c859b3a9475ce6b2411b0a7a9ac4236b4b1372d8eeb5635f18b340592656ce5acc76664d620184a62fcc9e";
@@ -48316,6 +52595,7 @@ weiqi = {
 };
 wheelchart = {
   revision = 70518;
+  shortdesc = "Diagrams with circular or other shapes using TikZ and LaTeX3";
   stripPrefix = 0;
   sha512.run = "9b54a717a73761b09007afeb18c6fd69f6af1b1dd22f206e556fd076a61e6ae03211d58be316ec6eb62909979e8d53f74c6cd7dddd11fac33917383f4de2b073";
   sha512.doc = "23e759467608b69aa7b3a3376d4dc62ec82aa831cac2014ee76d5b73beb99d09a69401f61f1db02b617a741189fd34ea39b90c5c1b1f7f7f94d380ba38041a24";
@@ -48325,6 +52605,7 @@ wheelchart = {
 };
 widetable = {
   revision = 53409;
+  shortdesc = "An environment for typesetting tables of specified width";
   stripPrefix = 0;
   sha512.run = "bd6c85eb76b1fdd4b7e81ad24ad7d282b79e4234ec029e48ed63611260b00e8b1c584ac800c45643e466ff6aefbf953246b24c1bc6453098a76b71ba01624821";
   sha512.doc = "5f254468e606aa188030c95c79672a6fb0211c0b5c4df6c3fde98c43ce1fd89993d495eb750b58395175e2b6bbe3e9771895627a04bdb8839fd4d0a143c1ab69";
@@ -48335,6 +52616,7 @@ widetable = {
 };
 widows-and-orphans = {
   revision = 66753;
+  shortdesc = "Identify (typographic) widows and orphans";
   stripPrefix = 0;
   sha512.run = "0861e1449011f6032d847c5bbf8d06fe7b8f6d320dcb0f2281ca558dcb8ef1eec561ecaf622f957e6a0c673223b3aef8cbac4663930931d945f18137d19f4e45";
   sha512.doc = "6105b7306ddfcd91080bdb682702dec2a4d1b094e1b8c9bd0a28bfd185bbc9a0bc4252180101b2674e702d645fba31420d12cddad2ff3db6703f6e83042b8a4c";
@@ -48345,6 +52627,7 @@ widows-and-orphans = {
 };
 williams = {
   revision = 15878;
+  shortdesc = "Miscellaneous macros by Peter Williams";
   stripPrefix = 0;
   sha512.run = "44ef966e5d8535aa7bb32109b20f47c774995e6368a92e20a68d25c1694ad86b7007bc90877d276c2f15b8aa3c3d11f7fe6aa117c35265b5988205df869af11b";
   sha512.doc = "c559e587868698c1a635db13b6db265234b3b475937fa1759f9e7e3a8d0644a43543005e9607b5a965bbdc304863d6c7cae6e5cb8345b546dc34afd8c7e2de43";
@@ -48353,6 +52636,7 @@ williams = {
 };
 willowtreebook = {
   revision = 60638;
+  shortdesc = "Easy basic book class, built on memoir";
   stripPrefix = 0;
   sha512.run = "835b19d0927b01e4acf9da483148d3fa45b1c12eecebe39802ee4bab7426843710dd67306b2a8946c9c2b51d4c1864eb054f440c3ea021ae124bbeb6e4908b33";
   sha512.doc = "9e5fddf4765325a550e6dbea529d110bbbfbcdf89e1dafcfe62099a4e8fa6ce2bf3384ef9e1b2453f1155b6e6d3f48d1d1675100c8295362653aaabec35aaf86";
@@ -48362,6 +52646,7 @@ willowtreebook = {
 };
 windycity = {
   revision = 67011;
+  shortdesc = "A Chicago style for BibLaTeX";
   stripPrefix = 0;
   sha512.run = "f83fe1f694d3fd448484961bb23c7c220ccb5b0f8982198660b5770140c8e9120fcd1f095492555f00533039039d11b3d2695189f40b716b17b2c2acf2e7c553";
   sha512.doc = "eff7b0bd0603d563d077842e77fff4b9a104d008724d3e81f58cb26ebb77f8e61811f5a74d9cf2d5d62f3351ca692d5028cea9629ac1a9e8dc6263637c1cb616";
@@ -48370,6 +52655,7 @@ windycity = {
 };
 withargs = {
   revision = 52641;
+  shortdesc = "In-place argument substitution";
   stripPrefix = 0;
   sha512.run = "73cc4db53528595f54f31f0d2824f08af54310aaed51b6eb51a5386de3f06dbe6ffeea8c4ab6f1e4ee1d169b5b0082f113ed435eae90b99a9b59df3296a3f4b9";
   sha512.doc = "050ecd695b269896d1252649978af7cfbafa80e289038ef1054d82296cd83934b0f7ceee274340d54d836021f0da39f05a648dba8bff141eae8f378527bcf865";
@@ -48379,6 +52665,7 @@ withargs = {
 };
 witharrows = {
   revision = 69996;
+  shortdesc = "\"Aligned\" math environments with arrows for comments";
   stripPrefix = 0;
   sha512.run = "31e9cb805fa91b903d91a0090ceffe6cad323c3340bc16c268e6667dcb5fd99e05c95b87fcc6cb8500c187479973d5595fe510855a7c6b2b86db06e513ba5172";
   sha512.doc = "69c495a471e5fc2fb4da60b06360dae6dfa2c79d93fe176fe54485ba95f3c854fec8356f9939d5521360f9d461e9dac1a6290dc3ef29b8a82e52c0892e8fce14";
@@ -48389,6 +52676,7 @@ witharrows = {
 };
 wnri = {
   revision = 22459;
+  shortdesc = "Ridgeway's fonts";
   stripPrefix = 0;
   sha512.run = "6ad06e6a867b323c382b85fa1effe16280566b1b61dd37be0bd7e9384d145fff2b1b4ff8117aa49749db1f15495e835e3367b0b7191cf9444e36fed662ffd0ed";
   sha512.doc = "c3d6ff664edd89fa711e9573b138b29b113b588ddef9ad4a258e1f28c4ca2aad1f05741a402c1c1972bbc317e0cb989ce7a51e52d59b42629343d9a5780b64d0";
@@ -48397,16 +52685,18 @@ wnri = {
 };
 wnri-latex = {
   revision = 22338;
+  shortdesc = "LaTeX support for wnri fonts";
   stripPrefix = 0;
   sha512.run = "1dcecf9ac38a9099625ed6be3955af8b063ee5b5b8d0d3e3ab8c94a8215b72b86a0b5dbe930eb69680917bd3d6652b3f4f08bb377197ab6f3d2fccf2b96aa59e";
   sha512.doc = "924266d547910d25ed5355ec2ef697d271dd992aeb6767d5bcb703d4d07cd34b6844e9a821ed93f5a04237aba1c185fb68926967e78043f390785b619c2389d2";
   sha512.source = "e3c5cfaae7b14a28489344392d66a1e2570c900ffd571c54b4f2d13b16d6dabb5cf58cad9259f8b662a218567982d1ac51ef8b2a757902c36540200fd984a497";
   hasRunfiles = true;
-  license = [ "gpl2" ];
+  license = [ "gpl2Only" ];
   version = "1.0b";
 };
 wordcloud = {
   revision = 68209;
+  shortdesc = "Drawing wordclouds with MetaPost and Lua";
   stripPrefix = 0;
   sha512.run = "7e4f6adb72d2a7b3cf740f338e63669304ac33d90f7fa09327cb3e6ee882105c92786656d5af742de0d28717cf45f4fe0900ef0c48faf1ddbe57af322959c8d7";
   sha512.doc = "fbf28ca6311850020c73dbb1a6a60bf5f31387a2def4b01f348674e678a3626cfdb23e2826a30db8ce021a5fadfcc26027584278110781a99ee26337c4b1f642";
@@ -48416,6 +52706,7 @@ wordcloud = {
 };
 wordcount = {
   revision = 46165;
+  shortdesc = "Estimate the number of words in a LaTeX document";
   sha512.run = "3c26b3bcb4c3edce8cf9d6628cf6b89103aa1ae454b07c1e963ca90693c18fb851772a52082a23efbefb51235005e558fd553afc891a472eb39cd430c97f861a";
   sha512.doc = "a86b034ebff42c89f07015b01f86756a83ff2c69ed911ecde185ff719b09e3db47f284fe778c9dfd16442d1513edc9ddbb4944cc242328c17bd3fc18a0aa098f";
   hasRunfiles = true;
@@ -48427,6 +52718,7 @@ wordcount.binfiles = [
 ];
 wordle = {
   revision = 68170;
+  shortdesc = "Create wordle grids";
   stripPrefix = 0;
   sha512.run = "fe32704e323185cdc9fcbd3e87bf02c4c0870af501de731ea1b05056cc7e57861042b111a3307597969351960bb99086f99f8577b70e8e6b31cfbc9cf8825157";
   sha512.doc = "38f168ddfdab5e786a4ad5b42f726e7895178e949c04f75ffd2f14fb42d77bf6e8afe22df5b87fecf8490be61aa3edde0dafaa91191f459e4378878aa575e8c8";
@@ -48436,6 +52728,7 @@ wordle = {
 };
 wordlike = {
   revision = 15878;
+  shortdesc = "Simulating word processor layout";
   stripPrefix = 0;
   sha512.run = "d600073b2373119973ca47564938db5824181d6b74409ef7f4a2b19d53b83b97ccf8edf5d77dd831c0d52a4379f5928ad7a0391d90a2f19fe4d3ef681133078b";
   sha512.doc = "10bbfa76beb0718dff8d4175712567e34e77aaefbce9fbc350d5bca43d8d5e87fe1cdcce5c558946c2b04beede8628b7535abc451f7d904ac283929ae39c6460";
@@ -48446,6 +52739,7 @@ wordlike = {
 };
 worksheet = {
   revision = 48423;
+  shortdesc = "Easy creation of worksheets";
   stripPrefix = 0;
   sha512.run = "439c430189e74e8c476a068fe449034fa1c8f4e8770ee454b92b8645ee865b103a02b0eecb45a925a8021fa7c64d98240e5f1f980913515df49d8415bbeb2c2d";
   sha512.doc = "56d502e993eb77f7dd4b2a659a8646823cf033a3e246e90b0c6e4e9d2a7cb31922dee26c942404b13d18e7abaa79714b4394b589376d67e8fc1556a098ec7960";
@@ -48455,6 +52749,7 @@ worksheet = {
 };
 worldflags = {
   revision = 68827;
+  shortdesc = "Drawing flags with TikZ";
   stripPrefix = 0;
   sha512.run = "662c7b2cafb1764a42a94707f350ffe0e4060120071d715c3c1cebd21b2c64f2ca0896ac3c9c1e629b2fe4b057bf0b890805747a668b6a8c04d501a4ac1ca1fd";
   sha512.doc = "16948753f069aa0e9f0e19efe9072c35eddf4bd20e32e6a47321a93bd3117f2206d44d3a76bee1581f7d4dd7e392d2bf1a4fd0ebb83d0d7b6cf207e69a42c7ac";
@@ -48463,6 +52758,7 @@ worldflags = {
 };
 wrapfig = {
   revision = 61719;
+  shortdesc = "Produces figures which text can flow around";
   stripPrefix = 0;
   sha512.run = "afa6eed496f63dda436a9a57c9f056ae88fb7985328d58d81fddde743a737b1ec69a5409941a76a28840d938397928925500628b2e11859713871977545278e2";
   sha512.doc = "27aa1cfb0641876516eefd483f5f37e25e06c24bc255fe81afadd985d9a5ea73d311184ad46120d57d8dfc584da02f99c90128c6e0cead71064d00c1bae09f7b";
@@ -48472,6 +52768,7 @@ wrapfig = {
 };
 wrapfig2 = {
   revision = 69513;
+  shortdesc = "Wrap text around figures";
   stripPrefix = 0;
   sha512.run = "68b48be5ebdf766fd414ce9a121321f26e172802c6c504213306762e383dd1ecdf77f6260a5602b8394945a86c87b0320cc0a651ad054753c5c2510d746a8149";
   sha512.doc = "b2356e3756640a825b44c47fdde68acc49d966508a90ba76a019992f10a9b65f124282d59d26422bf3c51a658b2adc723ad36f4e0d92dcb74a8bffabfefac471";
@@ -48482,6 +52779,7 @@ wrapfig2 = {
 };
 wrapstuff = {
   revision = 64058;
+  shortdesc = "Wrapping text around stuff";
   stripPrefix = 0;
   sha512.run = "ec0cfc45b68b5db1b0b8cde55a0b98e2834e8d69727d9a243a4ff814e7f98dc794803c1ee0487263ab06323f8d4cf68a0c7de6639b8f91dca953a8dfdcda3f06";
   sha512.doc = "688ce97d588807fcc36b872198f01a74678f562e8daa2ee4a4bc12a1ee9b3d914ed670d7668af259ee92722e314c28a65555a61b2fde3d22f5b69b4bf05332c1";
@@ -48492,6 +52790,7 @@ wrapstuff = {
 };
 writeongrid = {
   revision = 68863;
+  shortdesc = "Write on grid lines";
   stripPrefix = 0;
   sha512.run = "5e97c246141838a342192743411ce0d3cdad4924433540cf5d1faff7f2650388eaed5f045c60ea5bc69ed4108aa23863f38d812ae4702af1d04000d96d112dd1";
   sha512.doc = "2f4c29ce5949d3f10b8a8971cd62c34a473038f211bd1cb947baf675d9320fa7d4b61931a83675acf6f00534656d827fcda4a5fcfa51b69052c8f82a7625d62d";
@@ -48501,6 +52800,7 @@ writeongrid = {
 };
 wsemclassic = {
   revision = 31532;
+  shortdesc = "LaTeX class for Bavarian school w-seminar papers";
   stripPrefix = 0;
   sha512.run = "064c1ec12a33dbb6c5a2c08c98c21d5684d8be6edb807987e69a47002d52bda4634a8e0d8016d01aaec6b0bcb9851de61d2a1723f70ea7da2dd4000d2340033d";
   sha512.doc = "d86741a35d1873a17839e880b2e1c0915cf7b64bd52e5836f9967159479611482c2b2c67388066b9f171574109a5fa0a5b9555ccf4e629d4b26434a31cd754da";
@@ -48511,6 +52811,7 @@ wsemclassic = {
 };
 wsuipa = {
   revision = 25469;
+  shortdesc = "International Phonetic Alphabet fonts";
   stripPrefix = 0;
   sha512.run = "7488fab88bb273463ffa45819fb486aa3c95d7202d8ffe2a8aa8f2a1b00555e70bbc5a008a72cb60ddc1759dbca60bed05d2a21b4308e75490e965e71a84ee7f";
   sha512.doc = "b24aa32e2e7b466d7afc827aed570deb70b41163cbe6ce975d8df77e9dcc92b453e5f0d5f0edd5a2f05c006939003849b7b44c2e3f8a86ffd61a51ff307466e5";
@@ -48519,6 +52820,7 @@ wsuipa = {
 };
 wtref = {
   revision = 69214;
+  shortdesc = "Extend LaTeX's cross-reference system";
   stripPrefix = 0;
   sha512.run = "abdaf96d5c4cc919fcaa5343d25243266f86dc079cf701d71f047b01874baabf20a0c7972a6aa863c7f9eb9a003eb5a516714d57fd453574e7a2c8ee2e500e7e";
   sha512.doc = "f248f448bcd110c59d5dc19c67d4192a20d4f334c6f17562d34db0dd4ecbd7c6414ece9ed4e55aaf2ea42a0e5373fc5f25e8eaaae16b468687bf5c2d2e88b908";
@@ -48528,6 +52830,7 @@ wtref = {
 };
 xargs = {
   revision = 15878;
+  shortdesc = "Define commands with many optional arguments";
   stripPrefix = 0;
   sha512.run = "43b9cc5246123ef3c424614415e04db9e7a578eef348c3d580626918a4c31ac99714cf501dd54d305ed6ab9ad7e0533bf5b39250c43ad682032dd676a12173d2";
   sha512.doc = "387a051eb8581b51d2042bcfae2ff9af99659d664c328c6b30b3789c75fb73687c32e2037df7a345335966671a3e3267ff4b9e0eead0e5b759bd305850ef22b6";
@@ -48538,6 +52841,7 @@ xargs = {
 };
 xassoccnt = {
   revision = 61112;
+  shortdesc = "Associated counters stepping simultaneously";
   stripPrefix = 0;
   sha512.run = "4b3934d7a4a219fca3f276b26b893706ed8a65682425ac40d6722734f3e133099837ea8aebf214bad32c0d6b415121f73ea605dd851f0f2542dfb0bc38744313";
   sha512.doc = "020a2fb86c86372302e68636d727203625ddfbf63cf8eb5b3055502fcd073c54b52a44f8c7bfcb2c3c73a206082e5d285f05cf762b9857d2e16c43fe36f8fb96";
@@ -48547,6 +52851,7 @@ xassoccnt = {
 };
 xbmks = {
   revision = 53448;
+  shortdesc = "Create a cross-document bookmark tree";
   stripPrefix = 0;
   sha512.run = "e17701f9cd79d49467e4dd47ef9a504a8b0fb44b216fbfab0f5547e9215c4dc40f1fa46aabc209ff2221a4a9424221adacc52f6040d3f796d51f2d37dcd4e8c5";
   sha512.doc = "76d255a036a19d80c826eff4b18643523787c53f9b79e44710e03f9bb8a7648136559727dee246508c1cc6ff332cbc92b8d1c728b4583ae26502ce44538a61db";
@@ -48556,6 +52861,7 @@ xbmks = {
 };
 xcharter = {
   revision = 67742;
+  shortdesc = "Extension of Bitstream Charter fonts";
   stripPrefix = 0;
   fontMaps = [
     "Map XCharter.map"
@@ -48568,6 +52874,7 @@ xcharter = {
 };
 xcharter-math = {
   revision = 70333;
+  shortdesc = "XCharter-based OpenType Math font for LuaTeX and XeTeX";
   stripPrefix = 0;
   sha512.run = "1b9da3251b6f5abfd2053114edb174638046603c6b2f46a8baf26c20050f3f614b4a9e01ef92b458ca4b97ca90bef7c72bb146754184d311553bb0a429e29873";
   sha512.doc = "291b67678718b0facbdd38b95d24e75895a74d7bb6cde5c320598fecfac2ce0ebea442d0d3a62c63fff9ee38579042525297518c9373d90edcbdf425605dd119";
@@ -48577,6 +52884,7 @@ xcharter-math = {
 };
 xcite = {
   revision = 53486;
+  shortdesc = "Use citation keys from a different document";
   stripPrefix = 0;
   sha512.run = "0412a4f47a044efbd22adbbea9cda1bec44379dbc799ca83821d4650e8e40f6b5de51b80ea6a80d747639a9b840b7cff6612b6e4df0b2c09c0f3ed506d3de714";
   sha512.doc = "11af105ca5f1610e5cfa226cb191d1f69d257e21439c2408283572e136b183518f58631ec1b0b145a1edf50ca58e9a1eda789e5646c47b46f75a6325c90262f5";
@@ -48587,6 +52895,7 @@ xcite = {
 };
 xcjk2uni = {
   revision = 54958;
+  shortdesc = "Convert CJK characters to Unicode, in pdfTeX";
   stripPrefix = 0;
   sha512.run = "db0be3360dc3d6373866c9d27900f8dba9353bcf92d219f9f0b82532e2855210230a06b87d1ab6eef7e1f96c54e46884e6827395affb9375120b7cf8d2fbb99b";
   sha512.doc = "6a9958bc6ddf6d167b9d77a513d04f0077c9a8581109c51166410d60d5a243758da62b40bdf5cb1488a50b9ba76ca89261a2d31c3819d8b2738b4a7023ac3f90";
@@ -48597,6 +52906,7 @@ xcjk2uni = {
 };
 xcntperchap = {
   revision = 54080;
+  shortdesc = "Track the number of subsections etc. that occur in a specified tracklevel";
   stripPrefix = 0;
   sha512.run = "7be16f92de86fe67fd34857f7151f197e5ae52e9ab944e0ef3603882585dfb240b8e01072747b18092c6ff060f2f4c341b27e106ffe8864dd1879c3965435e47";
   sha512.doc = "c7d25df1dbac57e05b589662214e46ba446def465ae7f64d8a2d52283151ee04aaee93ac1bbe0f2c7b01c50e505ca6c1cfac96750d1b13211d309a906427c6f6";
@@ -48606,6 +52916,7 @@ xcntperchap = {
 };
 xcolor = {
   revision = 68864;
+  shortdesc = "Driver-independent color extensions for LaTeX and pdfLaTeX";
   stripPrefix = 0;
   sha512.run = "6b7d38d631f89f4c4ffa9f447a16cef6169c3e4798c5c65339fe48f9318291373a49ef9da8143c453fc5fd9ee853bad53b5477b248ad5f99763df9ea28638c78";
   sha512.doc = "1dc8355913a62657a2b50d45a6fdfbabc8a0dbb835ec5912fced934350b21619e8081b9e9a4774ba48ec3c51572c7f95f52efe92c85344dd81da0bcc81e73809";
@@ -48616,6 +52927,7 @@ xcolor = {
 };
 xcolor-material = {
   revision = 42289;
+  shortdesc = "Defines the 256 colors from Google Material Color Palette";
   stripPrefix = 0;
   sha512.run = "7f1484435458dafa2a04eeb4b5b1b89ffee9ec8c91f1d724449457b719f92db009efd6b6a580a2b0ccb8ebc66c0d1889f3ffa05104c0fba5cc9c7ee90985d2d3";
   sha512.doc = "388f9b604291436ded0510437be93c1fdf120a91fc3ddbabb870840f2caa9e81313035ff6c9d0c00de259fa024f83399a4004e7ba512a5c3bc7920a08ff58819";
@@ -48626,6 +52938,7 @@ xcolor-material = {
 };
 xcolor-solarized = {
   revision = 61719;
+  shortdesc = "Defines the 16 colors from Ethan Schoonover's Solarized palette";
   stripPrefix = 0;
   sha512.run = "fe743e9aa394c6a8a75f8c9e87cb7349d87df114a8c5753a157d4dd129a677af6a0381969f7719712a9abbb9fc720e0d19f8e7ffcc2bd7ba09ee8cb3df3c8d95";
   sha512.doc = "bdc4d9a9a0e1ace78a90e9c64fba0894599179592c948494588e43efb21e3b329d6f0a0c403b21073943251796b4cf37f8d0665a8e8bf438b09616fed19c03ff";
@@ -48636,6 +52949,7 @@ xcolor-solarized = {
 };
 xcomment = {
   revision = 20031;
+  shortdesc = "Allows selected environments to be included/excluded";
   stripPrefix = 0;
   sha512.run = "ad19a29caaaa4da90c740a18f3b3bf63666303f8047210197e17c270082d483e33085c9249d7143ba65f343f6bf3b52c6974021f954831c5196708824e21b843";
   sha512.doc = "d3b4d70cd88923e25595acf726afa6eea2efff4550455ed2eff48411621f212059ffedc3a82e4ac15359420a00c69b55e3625d11f8e8d4111eeb87cc3a6e8cfe";
@@ -48645,6 +52959,7 @@ xcomment = {
 };
 xcookybooky = {
   revision = 36435;
+  shortdesc = "Typeset (potentially long) recipes";
   stripPrefix = 0;
   sha512.run = "3f74d540c4da5ab4f6f1b6c78f3a35172fb4f2d94b7c720fe3fd1d31e1c53db6659371da6d48adf755675af831d252178b96ba57a1f0c0319459f4a564897b49";
   sha512.doc = "29d1620c7ea3d13e4fdf97454bf824fab8de6acd96661554a1f37717e4fa0dcf6df20cec580b6b25101b75d2d22080962713d05347eba4974c5cbdbca6129ec6";
@@ -48655,6 +52970,7 @@ xcookybooky = {
 };
 xcpdftips = {
   revision = 50449;
+  shortdesc = "Natbib citations with PDF tooltips";
   stripPrefix = 0;
   sha512.run = "ccf564a59d658a4f6747a3df866d0b0a0d6dae489215b5784fbc0619a2f3f222ef348c5fb96faf192d9db7e5c63d44c5f94549cb809e89dabd06bb43d745df1d";
   sha512.doc = "5d483b7bce276815fbb3602d4082ff9c939ae414cb2e2b03f75307c71b2b19a6adba23f609836c78859df5823f4aaad175e01b9f223326176b62a4ac9060cf02";
@@ -48665,6 +52981,7 @@ xcpdftips = {
 };
 xdoc = {
   revision = 15878;
+  shortdesc = "Extending the LaTeX doc system";
   stripPrefix = 0;
   sha512.run = "8cee132082c70214560ca8377766f45e6f15da2af18e0e9d68205d094b2a6af4d50150bfa6d145f78d92bb95c8657ad9fab1cbb8e76b75859f44ac1039464cca";
   sha512.doc = "cb7fc71f84f88a1035e91500e9b7ccf0c425733227e4106c7bd87eb30b25c8fdae6bce046f22e5a07ec919ee0527f264dcd826b7e6468eaf21a791e7dc0e7ab8";
@@ -48675,6 +52992,7 @@ xdoc = {
 };
 xduthesis = {
   revision = 63116;
+  shortdesc = "XeLaTeX template for writing Xidian University Thesis";
   stripPrefix = 0;
   sha512.run = "af32af87d621a3ad64ff6565a02190288e0f97526973a1a3a185c077aef8926f56e9754fb866812f0cc7f515b54fbf7583fec10c17d6f9299d1e186c9a8542e0";
   sha512.doc = "45c12bd4d3127c5d49ef5bfe434b7f8df5487c37fdbbe6ff687ad07796e95aadf4f027cbf16ad4fc5a8fd3455467c47c32ad99d8bc0397d6f70caeaf199d3ecb";
@@ -48685,6 +53003,7 @@ xduthesis = {
 };
 xduts = {
   revision = 66661;
+  shortdesc = "Xidian University TeX Suite";
   stripPrefix = 0;
   sha512.run = "8c2b0b04ff619c18961014213db4a509af10d46cdd5177706021675eda7d408be01a3f9c9aeb18556b59535dd9cf8de7d9147c36c57350ee3fe8e02e61f416d5";
   sha512.doc = "7e89d160b992eba61328618ea463014c52f861eb1b952f05aec2860878c226d0354470522468ef79c710486c0ced8bfe76eee296035a752178fafcd380f957a4";
@@ -48695,6 +53014,7 @@ xduts = {
 };
 xdvi = {
   revision = 62387;
+  shortdesc = "A DVI previewer for the X Window System";
   sha512.run = "57024e05928f45e253e236d7e8c6b9cef07359c1cabc10b3f6ac13a9b98dc04530517d8d66b20cefaeced793fbc57a5373c226fb3d26186ba3bb7eaadb0f4ef2";
   sha512.doc = "0fd1bc1ba7bb022f03334fa6c6bc6aed779179a7c486211c3016b0880efa2b13859eb7cea78e8bfc0069192f93313d37a4966fd7e233bccfb1d010d3e413cfd9";
   hasManpages = true;
@@ -48707,6 +53027,7 @@ xdvi.binfiles = [
 ];
 xebaposter = {
   revision = 63513;
+  shortdesc = "Create beautiful scientific Persian/Latin posters using TikZ";
   stripPrefix = 0;
   sha512.run = "c12da79ef06b07aaaa361fcc474da416bfabe898095eef7bdb9ea80efddc8051735b3cb4c86eeb052bb906b3fc96d3e3ea10b23e0bf00bc0aefa80433d6e6ae0";
   sha512.doc = "c1018a8009d360ea411fd816719844af3e13b429135e533c2c033898f763f010f281ac7cca9c41572eaf1d5f4a9c4a837e4f0651aa03c140c2285dd3f087a7ba";
@@ -48716,6 +53037,7 @@ xebaposter = {
 };
 xechangebar = {
   revision = 54080;
+  shortdesc = "An extension of package changebar that can be used with XeLaTeX";
   stripPrefix = 0;
   sha512.run = "833f0b1cea32c0bb345d1aad5360613ee36baf17a35e13d20a4bcc75edc77b3a7c48c4406ddadd670890cb93dc0d03cf91462994271f351ebf2bc221bfbae5a3";
   sha512.doc = "6d2c385b3b826b8b97cb725ffd3e7479ec3ddd2d2bbd8c772fb0b1faa9d0edb758871003ec379d8ec349fc4e3f7de2bf3130cc0e5d9e356ad472232d16acb546";
@@ -48725,6 +53047,7 @@ xechangebar = {
 };
 xecjk = {
   revision = 64059;
+  shortdesc = "Support for CJK documents in XeLaTeX";
   stripPrefix = 0;
   deps = [
     "ctex"
@@ -48738,6 +53061,7 @@ xecjk = {
 };
 xecolor = {
   revision = 29660;
+  shortdesc = "Support for color in XeLaTeX";
   stripPrefix = 0;
   sha512.run = "0ab23e651b36f06256fab5acb14effc93296948aecf7c7f11c81f4db89a58bfd8e038dd857a1da3a86ab573cf0ffb1d1bc188789e0d493ab0d0c1c9d96d593f3";
   sha512.doc = "9441eff384f57e8714cc543ade380ecc321e6c0e7dd0ae69c71337458e2607a43f793b490bfa6752c1c70bdb17be92488b89ff848ab9a3a1700907c15ed857c2";
@@ -48747,6 +53071,7 @@ xecolor = {
 };
 xecyr = {
   revision = 54308;
+  shortdesc = "Using Cyrillic languages in XeTeX";
   stripPrefix = 0;
   sha512.run = "0429aa515115ef69811069b08567c97ce40a8be68ebe72f26b8e94947abd86394204b21bbf25ae44c616a806878fe9900f5a639bb8707106836103ec06663454";
   sha512.doc = "555ef35f9e50450a796c24b87295eeac319d087a61e4fc7cedafbc398cb9a5c0add8b93318b8afadd82bbd2ca90dac9ade02dfbf286ba825c1d697b58110fe5e";
@@ -48756,6 +53081,7 @@ xecyr = {
 };
 xecyrmongolian = {
   revision = 53160;
+  shortdesc = "Basic support for the typesetting of Cyrillic Mongolian documents using (Xe|Lua)LaTeX";
   stripPrefix = 0;
   sha512.run = "2faeeadc81ca7f6fba45b6b237fb604a6eb6e8888117f759f6d369ed354b20b35dd007eb11c017e4f0ebcfa99627f519b291eecd1b41505d7f4ecbfc23307784";
   sha512.doc = "11b9d4a92c6df44dfc629c7385b56463dcb13564e819cf1bde005e228040a9f675cfb5818ca9f5c5d59a3db7a0d42a5584d9a3a530d772ba2b4bf3145534bc0c";
@@ -48766,6 +53092,7 @@ xecyrmongolian = {
 };
 xeindex = {
   revision = 35756;
+  shortdesc = "Automatic index generation for XeLaTeX";
   stripPrefix = 0;
   sha512.run = "bc3f399973bd8be5b83ea6da2c39d80de8f39ac6cf2d82d689c81816cad334310081f44fb4e256e442fc47ed6640c2b8ebd185e431f0d0ddec5f75f7b535283f";
   sha512.doc = "c84682c8034c5e182bcbb2ac0411f4ba5d8065a5db1f008c6f9e7a01b94b3563c44c03fc4c1cf48b3b09d19ba93f22778d8840741737bf1a344cb0c8f66ceb49";
@@ -48811,6 +53138,7 @@ xelatex-dev.binfiles = [
 ];
 xellipsis = {
   revision = 47546;
+  shortdesc = "Extremely configurable ellipses with formats for various style manuals";
   stripPrefix = 0;
   sha512.run = "3bff74473b4e7fdc7a349fd54e7703b77282381d9ff5eac233d5eb7cefe98f4abc5ea4fd309b8693bd7245471c565545e0ab437a5f8e5cc1b89368c914078d54";
   sha512.doc = "20d238f8281b93643af570c3dd09a9cdf9822af0da6a9d06b3b9d09196ac4c7fcff2efa3271f763caf42e54f9c72d2087c491cacc5ea4666cef1060c12ecab3a";
@@ -48821,6 +53149,7 @@ xellipsis = {
 };
 xepersian = {
   revision = 68117;
+  shortdesc = "Persian for LaTeX, using XeTeX";
   stripPrefix = 0;
   sha512.run = "aba7b248b1ed6fc557e51c267d3da21a3f3473cb0b0d997ef7d899b3ec518a099a173a163c53aaa7ff29e13aa2f1dbebb65775af828c85fcb9e4e91476d6e1ca";
   sha512.doc = "dc2f7a06a6122baf9f2284412edf4231eba88f6968f86eb06e47a3e3f3cac14f833ccdb8f69e95b17a05cdc9c3244c361e8d581b6ca65a715a82662ae722fd35";
@@ -48831,6 +53160,7 @@ xepersian = {
 };
 xepersian-hm = {
   revision = 56272;
+  shortdesc = "Fixes kashida feature in xepersian package";
   stripPrefix = 0;
   sha512.run = "50a3e4a12055aa051f72c8d9d5f616a6901aba7c8dc6777610b48d7e3c993c6a49996cdd77ef01161ca9b7dc588cd9d86b1e1c4e65eab4e4a6d3a3697a990d92";
   sha512.doc = "79b0a6e9876f697b8c7e08d5f5051975d29e9b7b3245b49a74ae5c76bfb23926fb4810fadcc029ee529f5f2752a49c2ce748277da0fde50f5078becff090b1d2";
@@ -48841,6 +53171,7 @@ xepersian-hm = {
 };
 xesearch = {
   revision = 51908;
+  shortdesc = "A string finder for XeTeX";
   stripPrefix = 0;
   sha512.run = "4c204a8f92fe9af0ef1f0da99dfb12ac8f784800f7ef673a116a5f5167556fe49584b9457bebfd07aebace44951327f8a576cdbc8091a7aec776768384c62507";
   sha512.doc = "981e6cc62a2f50815aeb875c46ab2ac83510ea535953629755700650831500410650b66ba070d8b5ddc494792e782fb75f266ffe0fb868318a4782b2f8d701f9";
@@ -48850,6 +53181,7 @@ xesearch = {
 };
 xespotcolor = {
   revision = 58212;
+  shortdesc = "Spot colours support for XeLaTeX";
   stripPrefix = 0;
   sha512.run = "fcc3a800986069cf64c62b2794447650331dfc2fbefe26fc2d537ebfb520acecb6530bff7591a597fac9b108f23781f0faf7c27b97f35ff2358d62c09404a5da";
   sha512.doc = "90ff1badeeb6e2d6cff9797b1af2052b4fa8474279c7b2e9916f7f02c767988d640b57f3d63be8de9f0082e50bb93c1c122b3c1f9bf74132c5c13b1b6b70122d";
@@ -48860,6 +53192,7 @@ xespotcolor = {
 };
 xetex = {
   revision = 66203;
+  shortdesc = "An extended variant of TeX for use with Unicode sources";
   deps = [
     "atbegshi"
     "atveryend"
@@ -48907,6 +53240,7 @@ xetex = {
 };
 xetex-devanagari = {
   revision = 34296;
+  shortdesc = "XeTeX input map for Unicode Devanagari";
   stripPrefix = 0;
   sha512.run = "96eeb5289b4b0ce252eba1daf15fbccaf2cbb2d251a85818b6dd761048532f36355619e37f1f857caf4592cbf85d112d6d48d5944c455ef36da9913529a783fc";
   sha512.doc = "0f360c3f43c6562520b8843269068fc46ecc405cd3a4d8faecddc4f606d69cedcab28950fc1d2e11699e297fe4d70c4c3d50765a2ec30541c237914accbc7129";
@@ -48916,6 +53250,7 @@ xetex-devanagari = {
 };
 xetex-itrans = {
   revision = 55475;
+  shortdesc = "Itrans input maps for use with XeLaTeX";
   stripPrefix = 0;
   sha512.run = "9c39898cbcfd024f1a274311a192c647e15624fc04a9484daa2d08ac37340a799b4209a5aa91a5e3a96f774d7363198c5a07f66d88578e1998ef3680b10dae6a";
   sha512.doc = "f10eb9651823eace7f56e88e710bb5536a35204b8fee80219419659d0e2f5fcc60c6009834fd9aa215aa42e8291e14786688fe1974dcab943578bd22a40f4ee1";
@@ -48925,6 +53260,7 @@ xetex-itrans = {
 };
 xetex-pstricks = {
   revision = 17055;
+  shortdesc = "Running PSTricks under XeTeX";
   stripPrefix = 0;
   sha512.run = "59186971a188f4541361df8fc492b3767069b3081f7052c88df5395539807970c709537b074790411dffbc871010cf4d3fbbdb6684c43007477c44be6259b64b";
   sha512.doc = "cf71359ea6e56061848b085da9755fd3d96d2a9d30484b5d5028c7a3dfb52dfbe275c46f17016179a56f90db3b6df4453cbf3a990a709e59503fbf1a576eaf8d";
@@ -48933,6 +53269,7 @@ xetex-pstricks = {
 };
 xetex-tibetan = {
   revision = 28847;
+  shortdesc = "XeTeX input maps for Unicode Tibetan";
   stripPrefix = 0;
   sha512.run = "de7d2f875416336f25e8a14f8c743aef87017cc0aeb30b5c6aa9e1bdf044d71d3c9e9a28d52ccbe7fbd2099ca9e47938310dc3311e46399027aa822b76ff90c9";
   sha512.doc = "0bba33024862284354416e55f2f718f3f3220e4a853c68bd6386c013702aa07a3142864168f6d136bb351044dd9ae8b59754cc2a0181a358fe1baad49106d504";
@@ -48949,12 +53286,14 @@ xetex.binfiles = [
 ];
 xetexconfig = {
   revision = 45845;
+  shortdesc = "crop.cfg for XeLaTeX";
   stripPrefix = 0;
   sha512.run = "62b130d16ac01845df5acb1a10e487408208b0c4369d58892a83a42609b3dc92589195540154d1e07a9cb528e8e4ca65009dfef236efd53b9cfbce0a942c5b01";
   hasRunfiles = true;
 };
 xetexfontinfo = {
   revision = 15878;
+  shortdesc = "Report font features in XeTeX";
   stripPrefix = 0;
   sha512.run = "8099f45c704ea74e5bbd90b1817c3ad06cffe3d6da0a997f8471e72cff364d346a3cc2e6f156b51bf7bc3ba149e5c755423418d58be89e1872f84db9c1eef039";
   sha512.doc = "a5a9b085e5dac02d75b83c7063fe653724367ce203c20832e2ef6b11db10e31bcb90745a7b7d65427a33cb018d68afdd4acf9f92c907f91904188ad60f2e1460";
@@ -48963,6 +53302,7 @@ xetexfontinfo = {
 };
 xetexko = {
   revision = 70316;
+  shortdesc = "Typeset Korean with Xe(La)TeX";
   stripPrefix = 0;
   sha512.run = "860352c31f173c31f5b296759e8ff1dc4c2ef58c9db459c52354db92362812a96c359b4e344a5aeb6ab4c52368bb3c409aaea39102e5a48dcb973c285d5f55c5";
   sha512.doc = "7deb9249472c4dce235cfbe38e1e8f5f11a792e559a5708f6d9a2803bdcec68baa7e88fe0a25545896c6f671b7d6ea91b9637a2d75907d667d8b8454597b6f5b";
@@ -48972,6 +53312,7 @@ xetexko = {
 };
 xetexref = {
   revision = 68072;
+  shortdesc = "Reference documentation of XeTeX";
   stripPrefix = 0;
   sha512.run = "a26a066a25162d3f3484158b6a5d3e3f44727ab5b7e3d3d9a4457fd80e92522f09d61015a4a3b0fea4dc63987ef773c8850b6afe8a50fa5ac2ed58cca51a4ded";
   sha512.doc = "d0f2de750f04ce63aeecdf00a5f0628978c78afaa753f8dd2b41a819c76bb0531bee8906d4eb2014075cf4d0202b6c1fb41a9093120614478045fcb0820a70a9";
@@ -48979,6 +53320,7 @@ xetexref = {
 };
 xevlna = {
   revision = 43864;
+  shortdesc = "Insert non-breakable spaces using XeTeX";
   stripPrefix = 0;
   sha512.run = "69c80d5243a4af96f2dd8092926d2766bad5d6beaeff94d6aa2f184a68a45fa50bb3abb91a4652d8c5e5617073aee9caddeeb73fd5399965f477be7075b7ca01";
   sha512.doc = "d0d033b646314eb250b245575ea2361b6c12f13eefab071c2b9f91524b08bfceb9fec197c3fa5f61e3ed19caaf4198e69ce1305bf1eb2daf1db6e30365eeac48";
@@ -48988,6 +53330,7 @@ xevlna = {
 };
 xfakebold = {
   revision = 68929;
+  shortdesc = "Fake a regular font for bold characters";
   stripPrefix = 0;
   deps = [
     "iftex"
@@ -49000,6 +53343,7 @@ xfakebold = {
 };
 xfor = {
   revision = 15878;
+  shortdesc = "A reimplementation of the LaTeX for-loop macro";
   stripPrefix = 0;
   sha512.run = "6e3ebe83dc39a87aa86d5f173f56893ab1678253dc18dedf16c5d4a2df864e21b9b6e84c6bda56e2c624106efb2f73c110964948e4d553848bbebae87f05bff8";
   sha512.doc = "e75b3d57c09e1580282f4002b684645aa21aeed4f90626b7e439f30dd79edec9c6f23492eef83b67e9ccb885c001caca6201d43b5182632a5b38ba5f67488b52";
@@ -49010,6 +53354,7 @@ xfor = {
 };
 xfrac = {
   revision = 69888;
+  shortdesc = "Split-level fractions";
   stripPrefix = 0;
   sha512.run = "6a173abe1f5cd65db836157fa336be76bc9879e137f2542b3141bb096359c3bae771705a3b761730e1e3bbc7d623cc08ac46f87af7412be4fa4d7f42a70ba9b9";
   sha512.doc = "292b12956c4236510024bb3c85b4b1aa791de4eeba14dd88affe264c6384080c2340eacbeb19592424f2231e8347ae6d1b4fc32eda12320dd694557a982aa80a";
@@ -49019,6 +53364,7 @@ xfrac = {
 };
 xgreek = {
   revision = 69652;
+  shortdesc = "Greek Language Support for XeLaTeX and LuaLaTeX";
   stripPrefix = 0;
   sha512.run = "b7531fd3f5c42080990022689e5e4d43a0d16f9fd206e389bdaa0aa8c9345e062dc0a14d3086fa0b6c8b641a646edde9b7031af91664f1dde56e5581f2019882";
   sha512.doc = "0221363435657925da4f8edc62b08b9114beca5cee39c410d57b1661a6b6f084761a0ce0be76968193d950b427aea5e16844b099a386420865765b569dd4bf8f";
@@ -49029,6 +53375,7 @@ xgreek = {
 };
 xhfill = {
   revision = 22575;
+  shortdesc = "Extending \hrulefill";
   stripPrefix = 0;
   sha512.run = "cc0ea9e9d40a590444801359c455716856c807eb429aa01b460fd7566797490932bd3566a5c6f95bd6723e0b05bde1aa632b83383c8bcdeba8a455cb84ea9f1b";
   sha512.doc = "027287d941c4576d7f55a3d618e13cde5348ac072f3e546dac6f8a8814efb982f9cd0c4162866403f946d07ecba0ea8cc15543cafbdf9008d60b78d0ea3d26fd";
@@ -49038,6 +53385,7 @@ xhfill = {
 };
 xifthen = {
   revision = 38929;
+  shortdesc = "Extended conditional commands";
   stripPrefix = 0;
   sha512.run = "21c5882ffbde05c50a6536fbf19f812a3ce6381f565227f61c8062281a2472a105bf6223cdc03adebf275fa23dbc1ebbb967349c715f20d1b516f100f820af3e";
   sha512.doc = "52ffddbfb4d0d579849b7a89d30bebe9f1d511751c89012712a8ef73ae3f4eb8799ef9b3755dc957c47fd874f1ce76b3ed54591d59f7e4d9e1851c50aff3dd4b";
@@ -49047,6 +53395,7 @@ xifthen = {
 };
 xii = {
   revision = 45804;
+  shortdesc = "Christmas silliness (English)";
   stripPrefix = 0;
   sha512.run = "a5355a456005e09eac4135735973a14a6add3a31639fcea441d8d6a7c06e7a7efbfc1470d485ab317fa193897abc2d9edeccadd19239944014b7fccecdda52a3";
   sha512.doc = "c9b348da09c3a9c1522eb7713a17a58b3eabf4ff8ed52e8d14dc9eeff528ed93af505b5e3cb59c1af4c2ce999c6c1d98f66d026a6ab3d7a09778230286059d84";
@@ -49054,6 +53403,7 @@ xii = {
 };
 xii-lat = {
   revision = 45805;
+  shortdesc = "Christmas silliness (Latin)";
   stripPrefix = 0;
   sha512.run = "e4538ac31b6508371ee156168d4da71644a65297b91be7f070291f35563a45a1ee5a528d25585bc23a4690e8fc5c6ad04bfc829de4e95f49468a5852fac9e822";
   sha512.doc = "50322d89f494d07793d964fe515b8a0bacb74bd5706a6da80f6860771a8e3cad35c7d06bf398217a7e4364594d54f4dc490f39980194804a04460047ff5083f8";
@@ -49061,6 +53411,7 @@ xii-lat = {
 };
 xindex = {
   revision = 67771;
+  shortdesc = "Unicode-compatible index generation";
   sha512.run = "bf812f7ea5f981969b1963f470a0006c4afd937ab27f6b40f7897dc2b6ddd1a0ae60f347b8ed13483ec4fd9feccff257a79dd7b8a2720be1d49a40fe2b325fc6";
   sha512.doc = "ec93cf3bb639326dc6905be018481da8438ebc5558e4c161419910e1a4427f6f7bb7bbf35ac779ea6769b6c009f9b6bf657b78c7c42bf7100725e8cc6252c975";
   hasRunfiles = true;
@@ -49075,6 +53426,7 @@ xindex.binfiles = [
 ];
 xindy = {
   revision = 65958;
+  shortdesc = "A general-purpose index processor";
   sha512.run = "9b7fe97c14e3cf30d1e6743c2d7b4460e8bca901ba3ee216001f1518ff4d834fb3d9b67085825a6e152c6acde544c41cf16d56e609016caab89a594305a21599";
   sha512.doc = "d0dacd7cfa169b03b7fa9d0b351133582577c3908323f501d7bca7b0165159b72c34f62abfd73b97065baef8cf179b292e654759f3b3e324112623539e5acfd6";
   hasManpages = true;
@@ -49084,6 +53436,7 @@ xindy = {
 };
 xindy-persian = {
   revision = 59013;
+  shortdesc = "Support for the Persian language in xindy";
   stripPrefix = 0;
   sha512.run = "07313253d80b5ed6494e1189088908e03590424c7d24038a437dcbe83637db9e426fa0989fa202f25f62e112cc77df3c4acef111bda6c8b44dc2b2660af959da";
   sha512.doc = "3868c7f2c20e22cfb3b1ffc61c830581d774ca909c4fc450586ed0bc82a091546efc46540a883e667ac5ac7d292a4786019384afa741599634a2fc05975c36e7";
@@ -49099,6 +53452,7 @@ xindy.binfiles = [
 ];
 xint = {
   revision = 63562;
+  shortdesc = "Expandable operations on long numbers";
   stripPrefix = 0;
   sha512.run = "7c98cd18683bc57dbae80c74fcf30995519f5c6176b5af4865ecf3adce844ac0a58c5cef2bb96e30f9d244da37effbc0b164a544dbdfb9f69ef0314c0be1436b";
   sha512.doc = "a1ecb80e4ebb43b5b3979493f426b89d7b952c03a388f3eb36d3496506820b97e15926736f44f94195336224e3d382139458ad8c6f6060bb5129ce4edf9d3e39";
@@ -49109,6 +53463,7 @@ xint = {
 };
 xintsession = {
   revision = 60926;
+  shortdesc = "Interactive computing sessions (fractions, floating points, polynomials)";
   stripPrefix = 0;
   sha512.run = "d1e279e733e37d6ef163a1dc537f5c02119403710a930f409cc6cfa55f1c08d9dd30bf4aeb14b68e4080442137a7352207ca8dc9bd7f859a8d19cf9205b68c1d";
   sha512.doc = "1a99ce3ce5e2a311e1dd4086f416738c48cbd42ad0b37c372fffcb0a4f035b3384f1b4963cccd2b602164f256e4bcb8d9b1d3efc56c99382e284d6d97e20b7c1";
@@ -49118,6 +53473,7 @@ xintsession = {
 };
 xistercian = {
   revision = 61366;
+  shortdesc = "Cistercian numerals in LaTeX";
   stripPrefix = 0;
   sha512.run = "e0b4db57c0c3b819f1c653f097c6adcad1d2b74409926d5e0652fed4aced3be5b82ec5f663d85769261fb62e89d16bbe36ed87e6ca2352ab9548fd322c6b7b5a";
   sha512.doc = "673d6a01619a36fd8db88ab056a8560200e03de519799b867583d6fe0226a25661245e4942a1e2b13a23d2913a137736f6b10ecb25962e0b4afbec8e2b568cf5";
@@ -49128,6 +53484,7 @@ xistercian = {
 };
 xits = {
   revision = 55730;
+  shortdesc = "A Scientific Times-like font with support for mathematical typesetting";
   stripPrefix = 0;
   sha512.run = "8c47de766f965fcb50399e59d20f030e90a28e2aaac018ab1289a1a26b16cd6c9c7d3fd18f1d2b84fe86a99734bbf2ac9b58bfd723a7854bfe29141ab6acb874";
   sha512.doc = "3c4594f4023f6ae4dd6ac57841720a47f00ae65fcd6930d4e8ec94281a71bf97e7acea26c60d6866304b5018e866ae87554cc470e671d47ede6572da1ac2970d";
@@ -49137,6 +53494,7 @@ xits = {
 };
 xkcdcolors = {
   revision = 67895;
+  shortdesc = "xkcd names of colors";
   stripPrefix = 0;
   sha512.run = "3a2c40713d8e826c1bc09589e56ae6cf661a73cd32bd8903f80f51d71fb79ef34c0be9395ce2f3915fd1ec1385e970945eb00ed0f9f598294363742fe13f4d8b";
   sha512.doc = "85b7b920d701a6e6752ed78ddf718ef99b7c6684441012feb5bdf2937d3a16ca8a89033e2a5eb723888a52a913cedd320a42c2b902696f876437e9f912a05aa9";
@@ -49146,6 +53504,7 @@ xkcdcolors = {
 };
 xkeymask = {
   revision = 69223;
+  shortdesc = "An extension of xkeyval with a mask";
   stripPrefix = 0;
   sha512.run = "1502216d5f8b5b2f15317f7dd9faabd11e06232a093a74a64a7114b5f2307e7e96065810129713c679d4aa4d2e622c6a1af8dfb31719b447e9d8fc1e8026e027";
   sha512.doc = "812473ff009eceec4cdf23cfd89dec769566f2027e528745273061047b4abb3b5b62426492f30755090c664f61e33b675d333cb0e9002869339a4636e6fb260c";
@@ -49155,6 +53514,7 @@ xkeymask = {
 };
 xkeyval = {
   revision = 63616;
+  shortdesc = "Extension of the keyval package";
   stripPrefix = 0;
   sha512.run = "e7f8355a0dd505af021d413b7e1ec605c083b9e552382eec48de85a1d037937696fc0a5949a4a8cebb065dd339c70742863991bc855c1ffc82177571c16cd313";
   sha512.doc = "f7948832c943d3746c3115950259430724abee49316aaac0343e0959ddce796ab8064583d048f71ad39332df966557da9a2ec3c2752c16b333cc55bcd2cf3c7e";
@@ -49165,6 +53525,7 @@ xkeyval = {
 };
 xlop = {
   revision = 56910;
+  shortdesc = "Calculates and displays arithmetic operations";
   stripPrefix = 0;
   sha512.run = "6d1ebe5d3870a07175b5c07840dd2170f2309790d1b828df69b716aa83db1a35ff70d265a33d8fc0f6ebe0c4385b7fccee8445ab93b2649d3b27bb65e41f87d5";
   sha512.doc = "9e1cdf96a23bd468c2e4f358ade19c509685563376d5a7ffedf5cfc122138b14d1075c7ae8c8a00261f789d4010a9df7dd5b1e6a9db5bc7efb067168e7866540";
@@ -49174,6 +53535,7 @@ xlop = {
 };
 xltabular = {
   revision = 56855;
+  shortdesc = "Longtable support with possible X-column specifier";
   stripPrefix = 0;
   sha512.run = "6e49b4a2adc351394bf5ab5cc04d532c36196919a4de8be1ecdcc22c6f226a2d035987df9aa70144d701d9fdeae1dfa07280458a934e289a5d1b5976b2be3ce1";
   sha512.doc = "daa1f1ee3092d545b3949afa781e40a576a8a3ab1c20e40237d83c14455fcece353dee03161ed1725d3f54c8963ba94c683ae0874a8668c8e5c27ad3b58f227b";
@@ -49183,6 +53545,7 @@ xltabular = {
 };
 xltxtra = {
   revision = 56594;
+  shortdesc = "\"Extras\" for LaTeX users of XeTeX";
   stripPrefix = 0;
   deps = [
     "metalogo"
@@ -49196,6 +53559,7 @@ xltxtra = {
 };
 xml2pmx = {
   revision = 57972;
+  shortdesc = "Convert MusicXML to PMX and MusiXTeX";
   sha512.run = "9545fb5ca0e95788afab79d8a29336f337619adbcac68472bb5de6af6c54187f19bda655232175223168891c064f6fadc67c4ab8f5a0256e2c55e1a65c5e6f6b";
   sha512.doc = "973960f65159f5107caa7e9a041dca75f0171fc61f94794c7b7560eb9b6898534974fb8b360a28dfa3a01d422b71618bcaf8aba2ed25ae4d4b9f67d24ab730be";
   hasManpages = true;
@@ -49206,6 +53570,7 @@ xml2pmx.binfiles = [
 ];
 xmltex = {
   revision = 69742;
+  shortdesc = "Support for parsing XML documents";
   deps = [
     "atbegshi"
     "atveryend"
@@ -49256,11 +53621,13 @@ xmltex.binfiles = [
 ];
 xmltexconfig = {
   revision = 68933;
+  shortdesc = "configuration files for xmltex and pdfxmltex";
   stripPrefix = 0;
   sha512.run = "a377856b79abb94771b54ed19e6f5ef02ebf80374ac868be2905dc23f36d821c79ea9a99077233edd5e125278e6d8bd44c40de50dfd56e389cb46c76348d51e4";
 };
 xmpincl = {
   revision = 60593;
+  shortdesc = "Include eXtensible Metadata Platform data in pdfLaTeX";
   stripPrefix = 0;
   sha512.run = "49777de1160b2ef53d845ba08fb0af29eb5f06c6fc534da4856bd0f02dbed2dbaa73ac24c45b1e787ea44d08199b7d1c462dc21a972cd1815fcbf65a08388f26";
   sha512.doc = "b8750478957f6b33163ef546d7be0c0ba4e5906d64a72cdf3edda33c663bcf7400eaeebe3119a175f21093a1b00bd2626df0156c8ebdfb9cdd076bc8d7953ac7";
@@ -49271,6 +53638,7 @@ xmpincl = {
 };
 xmuthesis = {
   revision = 56614;
+  shortdesc = "XMU thesis style";
   stripPrefix = 0;
   sha512.run = "3c9bdbd54cb99bddb9356586a1ba16d8e0ebe10d0120f6d6e7ae1c60375a41ce9ae9c01eded07b122aa323ddcb0e3ed9c68f6da6e716915f523e77bb343ee665";
   sha512.doc = "07e9b8eeaa864efbe6fb8e1c54e183a65f177b81454a2abc049e2efef8fae1d61a208273fd3cecb9d8bb8d601266f1c4897939c52d43fb5dff92ecdd3855c322";
@@ -49281,6 +53649,7 @@ xmuthesis = {
 };
 xnewcommand = {
   revision = 15878;
+  shortdesc = "Define \global and \protected commands with \newcommand";
   stripPrefix = 0;
   sha512.run = "3296d6f9b580699e86ee01da444ec9b3cf7b76775f05529cc9c4dd931da5f887c914665651214a8107be612b18cb286ec039ad9ab3de520bd17090b38265d5c9";
   sha512.doc = "e03b7027a3956829823e92bd4d8a3000d8f79f26558875ea3837adc9ca4a17ce75d9d4e9136d7ebda7bdc8fbbf4a1b44fc6f71d1bfad710d2e22bba8fab24292";
@@ -49290,6 +53659,7 @@ xnewcommand = {
 };
 xoptarg = {
   revision = 15878;
+  shortdesc = "Expandable macros that take an optional argument";
   stripPrefix = 0;
   sha512.run = "3ee6285ecac00a20781ad530a7ca1ef35a94efdcc31d29084e167cde75c51b4bdd644bfb5d25390c3deef44fa7b09e479b6c616169ab0bee1e83d4e37338e00d";
   sha512.doc = "1692c6700b978cd05cde7c0d45e970a4cc8f783d53cb1e2fc57639483e728ef5dcf29bc7563c9ce42eeaba72da93b36e366876494f3680f0fd5e8eada08694bb";
@@ -49299,6 +53669,7 @@ xoptarg = {
 };
 xpatch = {
   revision = 54563;
+  shortdesc = "Extending etoolbox patching commands";
   stripPrefix = 0;
   sha512.run = "d96d078066ee7cd39585754b0ed1aa2bd5680f90eb2a879bb2dcb47cfe834094f0b5fa1373ecd7f80f626c1a8a8fd4823525c33fa0e67f63b0beb4031a35956e";
   sha512.doc = "49479d5a73beda78852f80f786e559caa49b51a44c79e73d689499429ee177ccc1a93064122c13e5cf4e34f00350df3e18fc131505364dd8cbf218e851249e8f";
@@ -49309,6 +53680,7 @@ xpatch = {
 };
 xpdfopen = {
   revision = 65952;
+  shortdesc = "Commands to control PDF readers, under X11";
   sha512.run = "927b6a17422a3573efef6767f4835492df27764bc7fe729ed2697665d5fca697fe1a76e141ff30d5cb483bb4ef8e2021ecf2476c5bdf83ebc5dc6e7778b70765";
   sha512.doc = "b4f332054a5fe85c9404a05673b373ac2b1275b79a1f0b57061cda614350df230dba60ed3be590e0688840334a113ce5c64847c1dc4e6ebae6cc29524c1f6bd5";
   hasManpages = true;
@@ -49321,6 +53693,7 @@ xpdfopen.binfiles = [
 ];
 xpeek = {
   revision = 61719;
+  shortdesc = "Define commands that peek ahead in the input stream";
   stripPrefix = 0;
   sha512.run = "1b264f383d76e1c213aab0ac650a934ac6a91eb8dea8122229b2ac6bcb6ed694d62acecae3882b41abf34bd016922109064de0775f91222ad88be8287bd62931";
   sha512.doc = "0633a7a51a329ff6849d080bac626b4174567823b8c597187f62158004a8df647fe40653af371d55d6a4743991fc3ca650e034f68e5b737448245c7df79cba84";
@@ -49331,6 +53704,7 @@ xpeek = {
 };
 xpiano = {
   revision = 61719;
+  shortdesc = "An extension of the piano package";
   stripPrefix = 0;
   sha512.run = "892f018e4bcad350e4418b2724b6bf2d18aca9f74aa01eb10906b90630b36ec3497a0b96b293e44ec136eee22648b53a13d7a9b614a36c0b79f5a7b94dc37403";
   sha512.doc = "467da8be6903252b1d1a9436750b8d2f0f5eb1f1f7ad1178acf0a1ddbea253ce38ddc842c89ab6a22c4bb72ec311a2ee2536dee5834ca3ead427c36592c35100";
@@ -49341,6 +53715,7 @@ xpiano = {
 };
 xpicture = {
   revision = 28770;
+  shortdesc = "Extensions of LaTeX picture drawing";
   stripPrefix = 0;
   sha512.run = "1915b8b9acb3db8d4f8ac4fbc0baab55d6b8352288852f20d066a3f0ce4f7dd0cd4d2d70ae2d2e29aadae0bdb272fcb237146379313b2900accaab2bc10ceb79";
   sha512.doc = "dafacd0f38ca6a248f701cf48381ce0a3816a693150118ab6a7e18f818814a1b54435820dc8c11135146cfde3d40a08a0f2cd78bc54a9ddb450bb5c848b99e84";
@@ -49351,6 +53726,7 @@ xpicture = {
 };
 xpinyin = {
   revision = 66115;
+  shortdesc = "Automatically add pinyin to Chinese characters";
   stripPrefix = 0;
   sha512.run = "3b7eda4c75b90284138c1277657c8f4a3c2c9a3374a2d6f80969e78805ab8f0c03bf09e5aceaaaec689582dbe30a82b704e41ce08305a0b4b869a84d4d07678e";
   sha512.doc = "f233ca01195f0f3e236414c02cefbb8da1adc24d6ea94fa56e98ab8772f48456e4bf469f6def555a01c29f8a258c352186d7bf7054db2bbe3843ed937784a440";
@@ -49361,6 +53737,7 @@ xpinyin = {
 };
 xprintlen = {
   revision = 35928;
+  shortdesc = "Print TeX lengths in a variety of units";
   stripPrefix = 0;
   sha512.run = "dc446adfe453430d5e2c9155acaad26e258a36319490a5158f0874292e9e68c1eb61ba57e361b5ff8bfff84c3b4a359709525f42599b95e9ba19ce9e28f88423";
   sha512.doc = "5905ee8d3589b7d75388e6e2355639435f3a72fa99abc17118068069715ba7220fa3d69f58e046d7972814bfa3834222858bc8933562ac91f83ea250f0952d82";
@@ -49370,6 +53747,7 @@ xprintlen = {
 };
 xpunctuate = {
   revision = 67918;
+  shortdesc = "Process trailing punctuation which may be redundant";
   stripPrefix = 0;
   sha512.run = "a90da49b111181c61512777e4cbccfc63710b19513309bc2a04fad0285691095c812e7b8feaa0427cd5e837bf644458229b78c2bec530b01bd772fcdb18a2bca";
   sha512.doc = "8a7c873e8fd809fea44c136ef5b810f6e5d6213f48806cffb5018645d2a0252fb45b0de029c1f070963d4a584983c88e8c2c7661f1dd2f7cd4407c902ea13880";
@@ -49380,6 +53758,7 @@ xpunctuate = {
 };
 xq = {
   revision = 35211;
+  shortdesc = "Support for writing about xiangqi";
   stripPrefix = 0;
   sha512.run = "f1fc2f43099e022aaac631d4ccd1e5f5b9a9f23db6f1c6c3adf59d47dca57c25728f81ead0ab62d07b9bea6219e3121874c55973b54e826b1a70c5e4fd47c853";
   sha512.doc = "cbef1b95b4db328cc29d5f4fef544459b893cea82838e9e1f2faba00dd8fc78bd12d36931dba4ebe76cbe985879c30b8606df1f2091fc8d2108311350b2ea339";
@@ -49389,6 +53768,7 @@ xq = {
 };
 xsavebox = {
   revision = 64049;
+  shortdesc = "Saveboxes for repeating content without code replication, based on PDF Form XObjects";
   stripPrefix = 0;
   sha512.run = "a88227b8f3b8adcfb3de271307e97c13db9da52c9446efa69ebc9b12289a59b2b92b608dd87dadf4837f0501599b74775671cc4e529a99ef37035dbe171cd66c";
   sha512.doc = "4acb0dcab63edd326db7736bf4632f375e4e1dabb1eab0969c0255312f6207871f087cf81e2a01bbfdb99ce956e568d6331cd82346feeae966331569d2f0c3a2";
@@ -49399,6 +53779,7 @@ xsavebox = {
 };
 xsim = {
   revision = 61988;
+  shortdesc = "eXercise Sheets IMproved";
   stripPrefix = 0;
   sha512.run = "daaf1cc1ac8c34c4a63de3a16baabbcb661177172892bf4bf85e588cd150e8736b5b3ef382656c4ca5e3486f93889bfe00a9895988284a3fde84caf222e9744c";
   sha512.doc = "a020e1c60dd909ad48607b315e63d2225a9a884f2939f1cba2a783e9336b86dc002e1fd771469daae9a4c16d80b4c9263f04a545b270ad666749d5d4536d3e7c";
@@ -49408,6 +53789,7 @@ xsim = {
 };
 xskak = {
   revision = 51432;
+  shortdesc = "An extension to the skak package for chess typesetting";
   stripPrefix = 0;
   sha512.run = "202f61fffbf22346ff6ad6b2b8f411b2a8e4f58a9d53e5613810f2fe0b56b0c73867f0c1c293bb0c1f0edcd4ab73135ae33a953d3709d2d01060c1b638842dd4";
   sha512.doc = "6256df468580dcee451e4a650ebab0323c92024e9bf872fd683af1f10c19221887b5bd1bed7540a517eb6716627e689759b7ceaaa2944869e18591fba5467114";
@@ -49418,6 +53800,7 @@ xskak = {
 };
 xstring = {
   revision = 68015;
+  shortdesc = "String manipulation for (La)TeX";
   stripPrefix = 0;
   sha512.run = "a7373745f3ea8f75b73cd3af280743db902a683f16a9820c214b8b5a92c72314323173a966b5356d78cba667978f677f42ea10b54e98b08dec29202ba8e67b39";
   sha512.doc = "c9ee24a7661c7dcf4f7cd1b657269951baced39e6d40f5a6656d491120c9fd90034d9a4a226d0f714909e7a03fbc474f6f7a355d4138ba87906d950e1156c884";
@@ -49427,6 +53810,7 @@ xstring = {
 };
 xtab = {
   revision = 23347;
+  shortdesc = "Break tables across pages";
   stripPrefix = 0;
   sha512.run = "e308d3ae3ae32b945450b319834dfac19b6006cb0ede7f21a91999b840528927aaca7cdc330a02ebad874602d6d268fd1fe609dcb52bef2757b2e0417310e012";
   sha512.doc = "10a158bf2d50fa89355654da36a179bbbc5d30ef3efa8a79537de66c50a892f540938cb364e45896dc079266d5e47bfc2c74b8cfe01ec1691cde34bc221e4ca2";
@@ -49437,6 +53821,7 @@ xtab = {
 };
 xtuthesis = {
   revision = 47049;
+  shortdesc = "XTU thesis template";
   stripPrefix = 0;
   sha512.run = "5d9081b8d197952aa5ff58b1cbd490bb529cbbc1b72956cca8dd28b1b6bc12c6248d3d04fd457349b30df7594aa1872ce9c8438feb67af1b93ff0fd33eefcb7d";
   sha512.doc = "96e94598e3e397a9657a83496d940aa2525fdbe1ec2cf820b05e5493b1f3e1c45568e16b62c22d4ee25afe2bd0657848a433477e82cc8038895c2195139ca065";
@@ -49446,6 +53831,7 @@ xtuthesis = {
 };
 xunicode = {
   revision = 30466;
+  shortdesc = "Generate Unicode characters from accented glyphs";
   stripPrefix = 0;
   deps = [
     "tipa"
@@ -49458,6 +53844,7 @@ xunicode = {
 };
 xurl = {
   revision = 61553;
+  shortdesc = "Allow URL breaks at any alphanumerical character";
   stripPrefix = 0;
   sha512.run = "df2570d0eefb64df3a0533237ea09f00b9e22be0000134b32de40198649a6e98ee48a31d769dc750847672be7e3577fcd8eabe25e1ae8ee493d77e40ce684147";
   sha512.doc = "e02cceecac468713453432e118dd1cbe3f872a4dc33fcbdfc769861f353ac4ff5c117f51197b297a4eadf295f75f1f0254585ef0a48909aa004f4a598d796491";
@@ -49467,6 +53854,7 @@ xurl = {
 };
 xwatermark = {
   revision = 61719;
+  shortdesc = "Graphics and text watermarks on selected pages";
   stripPrefix = 0;
   sha512.run = "c8b7e89cb39ef5b3f01f24a89cbdce729ad2061a0b3a1ef504933ab7e116b4b67ba8f1a68db74d46839bfbb60cecad4fc459fdd5d913716ad6542d8952ffd926";
   sha512.doc = "a812651c587a76e086076bc8c810dc218431b40aad223644001f42d098962a401246781e0f83789afb3407fd93a0379755f82e30d815c14b4bc72499a9d8d26e";
@@ -49476,6 +53864,7 @@ xwatermark = {
 };
 xyling = {
   revision = 15878;
+  shortdesc = "Draw syntactic trees, etc., for linguistics literature, using xy-pic";
   stripPrefix = 0;
   sha512.run = "5f78d2d61050d9ed84d56136fe59b4674f4e03a536015e3ebc3b9500dd8a08878164ce9fb1aa9ca9a1262a000149061f3fe22f10cfd68941316aa186b81fe923";
   sha512.doc = "7b4ca312ea917329260eb0a19bd504ac2f3ddfb5f066806296b164fc541bfe26e6ed1c03ffac5b52af6b19fb4ba1e77b5228ac4b4db0c2ee8f2394fc0f888d09";
@@ -49485,6 +53874,7 @@ xyling = {
 };
 xymtex = {
   revision = 32182;
+  shortdesc = "Typesetting chemical structures";
   stripPrefix = 0;
   sha512.run = "9f0f14d1a862622ad0ef695a58f7dab554daac8d5151193a70c94ea872d16fe8eb1a763d03b226b08583db484bf576f5a41d2070d5396ac323ed00ccb0daf5e1";
   sha512.doc = "0e2eb5439f2e629da902e4c7d7ddd2d03bc4d654c4ee49e6b005450174acbd70760b52c9deb446ca60efe7c0389403584b86a6f9c9964cf24858b13cfccf7ed3";
@@ -49495,6 +53885,7 @@ xymtex = {
 };
 xypic = {
   revision = 61719;
+  shortdesc = "Flexible diagramming macros";
   stripPrefix = 0;
   fontMaps = [
     "MixedMap xypic.map"
@@ -49507,6 +53898,7 @@ xypic = {
 };
 xypic-tut-pt = {
   revision = 15878;
+  shortdesc = "A tutorial for XY-pic, in Portuguese";
   stripPrefix = 0;
   sha512.run = "291825c3461b397deb825266c7ee4316c5d04b8db1a29759378409de55c20d81552e31260468f4fa6a9a04f04705422714a8ec70a866c87fca2f4f1e189e0e4e";
   sha512.doc = "e27dfa0b36341bcd02ba63a8b543f1a6c55c674745cc790543ea2cfded80e536e5901f184a3af62b92b4534c738a06bf4fd5cbd4dfb4da865d13991279309aac";
@@ -49514,6 +53906,7 @@ xypic-tut-pt = {
 };
 xytree = {
   revision = 15878;
+  shortdesc = "Tree macros using XY-Pic";
   stripPrefix = 0;
   sha512.run = "fdabfc451679f7ef3752db2537a7dd51e9c0fd34337e429f24e44728ec1ee0a9b97fc2f176948440a5c1cda609182f60d4c564ddcd76c70e84410cc6a0b1f371";
   sha512.doc = "0e2b08c8db25a5bd992c8aa843d8f6fb2e0efb3c11ea9dd0ac69106cd71f58996f73786513e0ff13bfb54932f468297edbb981e3efccfec2652f80bb02fc6ba7";
@@ -49523,6 +53916,7 @@ xytree = {
 };
 yafoot = {
   revision = 48568;
+  shortdesc = "A bundle of miscellaneous footnote packages";
   stripPrefix = 0;
   sha512.run = "75ab34d40fb051000783abf573f4507e3791ea5aa1cf4b8571ad16bc020f10d17a49220a2878e5a2791fb7f073613ed20d72cd5618feadf38e290ee4f047e615";
   sha512.doc = "322e9cd25fd7686c4325d04bc7dfa00aee45fe993bdb730ca3669cf860b7cbae1dc76483fe3dec11e09ad848f166a01f43ad0885e0e9fe324ef28d28a7d2b4ad";
@@ -49533,6 +53927,7 @@ yafoot = {
 };
 yagusylo = {
   revision = 29803;
+  shortdesc = "A symbol loader";
   stripPrefix = 0;
   sha512.run = "f6f367155aa16ab0133957fea3c099d4e839f248a87ccca430e43c08257b2aed3a11c77ceaf8484097910bcee2dfadf260ab5047fa7f0244b43bcf332f367bf0";
   sha512.doc = "0ba73f1c7c7d7d646312f8a3d35c0d063e792ebae45c3e869565f01ef65e14f31bee463a1ebb8ad60166d54cdc23a9d21684675a6ccb09b8da233badb0d0ad96";
@@ -49543,6 +53938,7 @@ yagusylo = {
 };
 yaletter = {
   revision = 42830;
+  shortdesc = "Extremely flexible macros for letters, envelopes, and label sheets";
   stripPrefix = 0;
   sha512.run = "28765f3b6296ea3b9daf671543b7b2cf371bf2aefb4f3eefe6e95d50ee9a11516a7ec14fec5d15305e8f52d0089072cf10ce9dd4cba30c8fb60fa75365ff0d22";
   sha512.doc = "ed81b08b0306ceb519c9a652ef0d271bfa486897b05bc3a91a3840e36d348ea86bdd645ae236d3f34de78d038de988a023e542075f871aa6d8752d9606910dc6";
@@ -49553,6 +53949,7 @@ yaletter = {
 };
 yamlvars = {
   revision = 69071;
+  shortdesc = "A YAML parser and tool for easy LaTeX definition creation";
   stripPrefix = 0;
   sha512.run = "07d8c9983e631b3e4c97ccc1a7bdd20486e55a59eb6049388823db24149635bd59b94d98f2259de5ef0dc163a9f44e4e01148a42c3f676c65fa802d310f6a0c3";
   sha512.doc = "686e2be82054f40c93dfcfbda35d2fa45fe0c28d0b85af30c5ec9c9a8c125a6789fb7185d08da9859bf714f6f5e4dc4057890ee4782fbea446aec923e0adfa6e";
@@ -49561,14 +53958,16 @@ yamlvars = {
 };
 yannisgr = {
   revision = 22613;
+  shortdesc = "Greek fonts by Yannis Haralambous";
   stripPrefix = 0;
   sha512.run = "509e69acdef68eadc65fef6980e9166c6327e8927fb9cdf6a7a33786a8668ac9b900954a4bb661f223967b26dd240d5ebd91683658b324be284e46876c39061d";
   sha512.doc = "40ecdfe71670357e8ec84fd262015b5b5d0b8e486ab80c05d0863a335649501e9548d785cc2b2374f989b820dadd9a074cc229674dd1ae9a6252d4a0ebeb4191";
   hasRunfiles = true;
-  license = [ "gpl2" ];
+  license = [ "gpl2Only" ];
 };
 yathesis = {
   revision = 70512;
+  shortdesc = "A LaTeX class for writing a thesis following French rules";
   stripPrefix = 0;
   sha512.run = "85c1c7a9dfb682271ebc6a35cdd91dcaa11137d6f1785f98c3b0abdec46ab346f23a08b034b8aac95324dbba490291a59f74c5d27c93f791b38d47302f5cb61f";
   sha512.doc = "b241afcdd6e2e7cc112faaed178fa2d1f15afea44e4c614b69edbe0a08ac78606f6adf4e6688c4d45e27b011dfd83ff189a4d8a84e96d39c22cada4d3cc888bd";
@@ -49579,6 +53978,7 @@ yathesis = {
 };
 yax = {
   revision = 54080;
+  shortdesc = "Yet Another Key System";
   stripPrefix = 0;
   sha512.run = "a625e7e4d26368732a8700f71f102fb17965a6a85d5a3c28e170dc19248ec0f3cdfd0905c76f0431585e955e29293b49b6dffcf93ed7bdbd80b5d62cca2775e7";
   sha512.doc = "783a606e55a6d2bbd1fb4052bcc84ac499953838808161facd8a76fe0e46a3de8ff0399831bc4e8ddbab02be84a3da68f0f7535c0d3b0b1f3d8d6cfba63ab0a8";
@@ -49588,6 +53988,7 @@ yax = {
 };
 yazd-thesis = {
   revision = 61719;
+  shortdesc = "A template for the Yazd University";
   stripPrefix = 0;
   sha512.run = "d19e817cc925a0ea08e1b15f3a2b1d6ee4b7a8f9ac420dfa7b6db7cc55b5a24777125a0be7923707606b215ec95044fdf16a2f8a5e5682d8403cf6857dc3252e";
   sha512.doc = "b065c1fabfa4eb394b5ffd3ed048a42c005cb183c82027d5ce1d21e53c2a35f8c0d3647156567f47cdced936ed061fcf303651d024fe3050e8a135c693ea8c28";
@@ -49597,6 +53998,7 @@ yazd-thesis = {
 };
 yb-book = {
   revision = 67188;
+  shortdesc = "Template for YB Branded Books";
   stripPrefix = 0;
   deps = [
     "anyfontsize"
@@ -49639,6 +54041,7 @@ yb-book = {
 };
 ycbook = {
   revision = 46201;
+  shortdesc = "A versatile book class";
   stripPrefix = 0;
   sha512.run = "8b98cd81e5f1252063da8dc297eb5580d06020a343638f7c8a1090a7f056a788eb4322e286f12d821be79fc7de94262a4ff15c14a1c787be0de89ddc87541452";
   sha512.doc = "45ee725849230549b4b2f200e0b140c1fc99a60d91730a42d2e3df63e828eb6053845a2eb84ff25bf916341df46a3f3c01166848afb291d322dfb21426903644";
@@ -49647,6 +54050,7 @@ ycbook = {
 };
 ydoc = {
   revision = 64887;
+  shortdesc = "Macros for documentation of LaTeX classes and packages";
   stripPrefix = 0;
   deps = [
     "etoolbox"
@@ -49669,6 +54073,7 @@ ydoc = {
 };
 yet-another-guide-latex2e = {
   revision = 68564;
+  shortdesc = "A short guide to using LaTeX2e to typeset high quality documents";
   stripPrefix = 0;
   sha512.run = "7a2d19b71006352ff9cf69cb68243153e99e4cda2a3fef37daf6ab180e7a7625b8119b972785a331188faf7ee6f03d724a760c5c3456e85cf32ce704b3edd7cc";
   sha512.doc = "8ab0ebad6b627dc1a5d90477d48868715830c6558e9091d3782284e9766f22f9764170a3e89d55c8437dbca2c8eab446a1be0336baf43b3ddcaf67e125ea2f64";
@@ -49677,6 +54082,7 @@ yet-another-guide-latex2e = {
 };
 yfonts = {
   revision = 50755;
+  shortdesc = "Support for old German fonts";
   stripPrefix = 0;
   sha512.run = "1caa22023c93ae1e6a2fd94676da61fd576890f991a79d6a9724a4e5f7e653a752c6af792a1b15d44aa956f5788aa995614a33c2d97e95865d6a364f833e539f";
   sha512.doc = "54857e6693242080c5f410ded0bb16d3df65fee2834b2b5d1232dd063a70796905771059da07e7d92358fce9da992c3e605be345ae7c5d4012d37dc37a17dc82";
@@ -49687,6 +54093,7 @@ yfonts = {
 };
 yfonts-otf = {
   revision = 65030;
+  shortdesc = "OpenType version of the Old German fonts designed by Yannis Haralambous";
   stripPrefix = 0;
   sha512.run = "cc1587d41121f8e15b3b659f2620c0324fb35b46a6914843c3abebb7c4fa0b30e85e59a2de603128d8015d68edd1e16b8cb02a9dacdd49c04dd3a602d1ee0148";
   sha512.doc = "47d025d7a7d3a65803c1ebc318e13adbf371b5bc7720d7a5be5b839246906fbd963c4ba2147ad37aca5313f3ba95d361e19f87bf6d77b99e150bd96a29461f0c";
@@ -49696,6 +54103,7 @@ yfonts-otf = {
 };
 yfonts-t1 = {
   revision = 36013;
+  shortdesc = "Old German-style fonts, in Adobe type 1 format";
   stripPrefix = 0;
   fontMaps = [
     "Map yfrak.map"
@@ -49708,6 +54116,7 @@ yfonts-t1 = {
 };
 yhmath = {
   revision = 54377;
+  shortdesc = "Extended maths fonts for LaTeX";
   stripPrefix = 0;
   fontMaps = [
     "MixedMap yhmath.map"
@@ -49721,6 +54130,7 @@ yhmath = {
 };
 yinit-otf = {
   revision = 40207;
+  shortdesc = "OTF conversion of Yannis Haralambous' Old German decorative initials";
   stripPrefix = 0;
   sha512.run = "5ec9f9408c3188b2bf985e9c3f1f9f6a345557d08a167a9d02c07fe41bbb981a8889f580d6e38a97798bb5e891d978eb4ee70b77a344c684051b5644654d1cd1";
   sha512.doc = "6c73466c1e4ce1f7aec1b30980e5c44ca4917e161236fad7a0816bc93e921525b90f62abd8d41d3b767d8a6eda62a34534d7129d1fc490fda430345f8a2b3ce7";
@@ -49730,6 +54140,7 @@ yinit-otf = {
 };
 york-thesis = {
   revision = 23348;
+  shortdesc = "A thesis class file for York University, Toronto";
   stripPrefix = 0;
   sha512.run = "5b5152cc315dc05164ba3502d6e7aff355d853e43a3836bda0a15a4af7a90ef9fef02c852125c7e1e4842c05d51f2be6441b5131400eb46bb6704b281711e18d";
   sha512.doc = "e1ee454ad9996b61f1cac9bbeec30210359ecd8939bd9e0696e7cca7106733b13b8831946c47652186d4b80060f96c479b642274f5c90f8757953b1c3861f0bc";
@@ -49740,6 +54151,7 @@ york-thesis = {
 };
 youngtab = {
   revision = 56500;
+  shortdesc = "Typeset Young-Tableaux";
   stripPrefix = 0;
   sha512.run = "4ac5c3803a2e815c51178fa30086ad25c1dd2b430753d582376c9f6c720bd1a72db1d285d2b0cd810e3564961ce3641f3b482d685126e880cfb1dc856dc74bc0";
   sha512.doc = "b291614a22227693f93422af280200fd927fcefd0399d4294f934ff8882d26e263a3a1dcbac3ad2289d2adf2ff92c76a8223eb450de46e0b1df283af31bac3da";
@@ -49750,6 +54162,7 @@ youngtab = {
 };
 yplan = {
   revision = 34398;
+  shortdesc = "Daily planner type calendar";
   sha512.run = "4884ac99b0b56927fb86c6e06ae9d4accb7d8b441bb17df79753d8af9ee84b9440d66ad4fcf2107aa036eb2af89d5ad49d0a4c4cb91236c6475cf81bab85566a";
   sha512.doc = "7d3cddf3f2d54283b777c7ab7867df68fdb484c67d2f88589e29fc087db721e7ba9e0fcea2ffde9328e89075884d668b7de8fc61f462b735d9f1cfadb9662463";
   hasRunfiles = true;
@@ -49760,6 +54173,7 @@ yplan.binfiles = [
 ];
 yquant = {
   revision = 68997;
+  shortdesc = "Typesetting quantum circuits in a human-readable language";
   stripPrefix = 0;
   sha512.run = "2d9dbde5bbc12186a054624f4dfc30ab9cde606440e5568de12f9bcbc0f0c7f872141a2f1745e2f9729884e59e8c36ffddb77ae5b813cf837ea7e2ebea7d7109";
   sha512.doc = "bd0f9428c7a0930b6d714ba69f0020217021283021b9492bb71c2077fb70e86f3a49694251f88e91605604bda7049ce1f06bf1ecc1b668c63e080d1bcb087fd6";
@@ -49769,6 +54183,7 @@ yquant = {
 };
 ysabeau = {
   revision = 69663;
+  shortdesc = "Ysabeau fonts with LaTeX support for traditional TeX engines";
   stripPrefix = 0;
   fontMaps = [
     "Map ysabeau.map"
@@ -49781,6 +54196,7 @@ ysabeau = {
 };
 ytableau = {
   revision = 59580;
+  shortdesc = "Many-featured Young tableaux and Young diagrams";
   stripPrefix = 0;
   sha512.run = "23bf33f11e295f5f36149bad2b801ecfee57b386dd952ea93b16e79f85c54e1edff741bb7d6dc7faa769062ff81277cf04ff06cb2fb92e9a7542b4dc93eebb0b";
   sha512.doc = "b98b0da2e5e0eb964ede56a27067b7ba862b63dd1b0dc6771e432abb16e924fda5630d067c6bbb05fdf6a37aba07c61396d47612adcfcccd5886ff3fdd47b7a4";
@@ -49791,6 +54207,7 @@ ytableau = {
 };
 zapfchan = {
   revision = 61719;
+  shortdesc = "URW 'Base 35' font pack for LaTeX";
   stripPrefix = 0;
   fontMaps = [
     "Map uzc.map"
@@ -49801,6 +54218,7 @@ zapfchan = {
 };
 zapfding = {
   revision = 61719;
+  shortdesc = "URW 'Base 35' font pack for LaTeX";
   stripPrefix = 0;
   fontMaps = [
     "Map uzd.map"
@@ -49811,15 +54229,17 @@ zapfding = {
 };
 zbmath-review-template = {
   revision = 59693;
+  shortdesc = "Template for a zbMATH Open review";
   stripPrefix = 0;
   sha512.run = "c9685b151679e7516e146f3d97f4242c7cdf084f84a7ac857a8aa27031c60950d0da07d66b7b57d7bdec384d3501c30b339231654cf845bbed2945b0ac069368";
   sha512.doc = "470ee6c9895effd3c6bcac5a9faaa3862380bb137044411dd0013f4f465dc923dc1de507f2d1d087fb4b4178cb2f43f435e71b090d55744a8be6e59f8cc010fa";
   hasRunfiles = true;
-  license = [ "gpl3" "cc-by-sa-40" ];
+  license = [ "gpl3Only" "cc-by-sa-40" ];
   version = "2.1";
 };
 zebra-goodies = {
   revision = 66630;
+  shortdesc = "A collection of handy macros for paper writing";
   stripPrefix = 0;
   sha512.run = "c740469e5a27355fbe8c781d30434724b8c77216e88c674854dd71e73e38ba78aeeef251a25e756c4046230eccdf334abf6d5f378bad559691a29955cb0eb16c";
   sha512.doc = "c4bdfba7e426c95599c4fe2cff06ada80345490f433eb636260ed5ce322c1c21c0b5de0c4709be415b6b98668b7c514610375f2bdf9831248be0095e1ff28dc2";
@@ -49830,6 +54250,7 @@ zebra-goodies = {
 };
 zed-csp = {
   revision = 17258;
+  shortdesc = "Typesetting Z and CSP format specifications";
   stripPrefix = 0;
   sha512.run = "2f41c5b28e602aa88146cbbc172eb2d6c6f21491e45622c4c1688b9a8acb5be304a8acde842bef84f7a238109ac9ebefa31844826387b266f14faa6a6943903a";
   sha512.doc = "e5e657656e46023e32366ba415f46322f4c9b4fe0e69f03c88d4e5fcdd577e3436be6436424f502c3807278efe3a31ab7cba3020ef3c9e44874de3660dcccd2b";
@@ -49838,6 +54259,7 @@ zed-csp = {
 };
 zennote = {
   revision = 65549;
+  shortdesc = "Streamline your note-taking process!";
   stripPrefix = 0;
   sha512.run = "94f1e1a0550005c25206ac3e04216d35bc2b769b735160219ca246c95a85db5002bc74641e45152a31e8148e4d581bdb0024a3174eb735537d39ea1256f34365";
   sha512.doc = "a2351fa77ebdbe035a60750c1362d6a04cef67be244ff5ce2f6a38cc6b8c3b5b96f4afcb15c43866393911e60446be6f5a4d384852a8a10101abae38bd309fc7";
@@ -49847,6 +54269,7 @@ zennote = {
 };
 zhlineskip = {
   revision = 51142;
+  shortdesc = "Line spacing for CJK documents";
   stripPrefix = 0;
   sha512.run = "c1e92d164d0b46ca1165775e5c17f72687cd83b6efbba95dd58fe55008877ab3f08bbaf90d36d491ec861705e9d15f74511c8a0f9cf66ef8bf5127d7aa2cf203";
   sha512.doc = "794822b3b89aec655af2663f3dfbe848ccac9fea8369f446596562178e73c01ddadcf1ce46fd1811e4b72a25917c310bd42e45f9b16a3adb897304ae345d5415";
@@ -49856,6 +54279,7 @@ zhlineskip = {
 };
 zhlipsum = {
   revision = 54994;
+  shortdesc = "Chinese dummy text";
   stripPrefix = 0;
   sha512.run = "d62f2a16f2303db7846073b215b3e8f822b7470510eb84367b1ba177c971e587adcea92757a3a4f5612abf103bd11cc8f2ae3ab953833365fb2255ee87563cb8";
   sha512.doc = "dcd0d706d9e402ad1b4eab910294ac4e802a58c2e54a3ee19b6dcef9fc3e052b84b559f452bb32b78d27a99e65a0820d2029e53079ce21068618f5c620f9502f";
@@ -49866,6 +54290,7 @@ zhlipsum = {
 };
 zhmetrics = {
   revision = 22207;
+  shortdesc = "TFM subfont files for using Chinese fonts in 8-bit TeX";
   stripPrefix = 0;
   sha512.run = "abc0b873b5abb0b053fb59d8bb831a835f90cd8bfc2cde87d1031dba2e31db8721e3ea1037e7322b33ae5216dd65bd01008fb769eade0c9b4815e8ea7c55615c";
   sha512.doc = "e77fd912d10d8ab535c366f8e5b99e996607788b9ede295a3d7739fc4c14e0679c66c36bdefe2ce5433967b28b2ab228c332d9b0a23a841d42d3fa56cd204040";
@@ -49876,6 +54301,7 @@ zhmetrics = {
 };
 zhmetrics-uptex = {
   revision = 40728;
+  shortdesc = "Chinese font metrics for upTeX";
   stripPrefix = 0;
   sha512.run = "1e068a0b402a5c69b44a86d797cb24266b2883c698decd8b8464c99b131d292cc5ac44249ba8e89dc0a414d6f12d73d4c069ffc3081cfa4b9926ca412bfc3dd6";
   sha512.doc = "f9ac2953877cd830e1cf3402f3f2bac1f8159d05a4a74e89047c494ae04dc8930f1c09701f83871b4361976572ae7d1c5fbdaf3af3d9e6db12347a207f1b82cb";
@@ -49885,6 +54311,7 @@ zhmetrics-uptex = {
 };
 zhnumber = {
   revision = 66115;
+  shortdesc = "Typeset Chinese representations of numbers";
   stripPrefix = 0;
   sha512.run = "080460cafa9f1b382d5843e7863eefb36a26abcdf8ef97d9a23fe4e68d1bf85e0e6a38c7201d1dbaf2d25acc7b846d757fab9f9b850d992a576b6df67929cb55";
   sha512.doc = "c8f6b76b72f7b7bc19f2e6fe64191b86c4b73fa7559d3299945359a7d2205e3685c4eee98283f361207192fc35de0a7ae9064e118e20f96f832d18eacf93bf70";
@@ -49895,6 +54322,7 @@ zhnumber = {
 };
 zhspacing = {
   revision = 41145;
+  shortdesc = "Spacing for mixed CJK-English documents in XeTeX";
   stripPrefix = 0;
   sha512.run = "52d1d3523ae4c0d2dba5258b06cf9920f8a9005df7e03fd1407dd8ae2e4dc90768aab10127319ef9025765820b3ebb8a946ea0373114c9148a303517b563bfe0";
   sha512.doc = "7fd15e4f29671081670e881e9366ba627f5bed6d981fa0ef1c670d0744e1286c04e785e28b92279d66af851803d84949c2f463370f23c64987fea78531172128";
@@ -49903,6 +54331,7 @@ zhspacing = {
 };
 ziffer = {
   revision = 32279;
+  shortdesc = "Conversion of punctuation in maths mode";
   stripPrefix = 0;
   sha512.run = "3d29074642d8a4c63046347a36f47548557de92a64ab4d6b7d1cad87f97a9e25a09fe84cf699a3bf2129c4de00dd3ef3593f85056e8f38a9a2d1ca27c549cf96";
   sha512.doc = "8eb75b54a6711ba0d0ad30343f253eabf88b3752de3112b13b96e4182119ef5f789916c413a5ca35ba7bf6619eb25bf64e7717844e4b9a49d33781d91f5b14af";
@@ -49912,6 +54341,7 @@ ziffer = {
 };
 zitie = {
   revision = 60676;
+  shortdesc = "Create CJK character calligraphy practicing sheets";
   stripPrefix = 0;
   sha512.run = "10769951705e67bb929643e39d5480c4c2337a68f59ede2d77b2f8ddc3e2d6363c873d0e8e480a85e02f2062736570fa74171c862e50af73efa941a4d93cdd58";
   sha512.doc = "84f8e20beec5ba5ffbd79c6ffa68f0530b285761a8de6ed53e621ef39c0c14f59c33d76373581f94f10b1149a9fe5c92c1c74bbe2c4d6b8aa589d3a574bd9153";
@@ -49921,6 +54351,7 @@ zitie = {
 };
 zlmtt = {
   revision = 64076;
+  shortdesc = "Use Latin Modern Typewriter fonts";
   stripPrefix = 0;
   sha512.run = "ecd45c407db5a78d31f6bcb7be6184531a51bbf89171c47f2e5178e65b06db4595682c713a977ece1cdbd98fb59b551baef3cca527b22f98bb45b37e73407144";
   sha512.doc = "2bd3ce9fde985f319bfb33ed791524bf81ce2ad3797fabdce78bbc4f4884871d5994e6fd9737ca3ae40953613aca70b9ef399ae914a40df54c91347ca98aef98";
@@ -49930,6 +54361,7 @@ zlmtt = {
 };
 zootaxa-bst = {
   revision = 50619;
+  shortdesc = "A BibTeX style for the journal Zootaxa";
   stripPrefix = 0;
   sha512.run = "80816556a2e23cfd8345b7d22224142a5448105ccc5c1143f33c4560a4e4ab432115c2fc47c5d4c6ba599031f4c36b481465a5fa7b32afde888beac69a6e6c62";
   sha512.doc = "f843aa27ab0c2139e1051aefaa9b667f2de489cc13578200ce7db2bdfc2397888856c6cbe68b6fa201e0cb269bb95818cb31f1b03622c49ebdced23fa5960d65";
@@ -49939,6 +54371,7 @@ zootaxa-bst = {
 };
 zref = {
   revision = 68278;
+  shortdesc = "A new reference scheme for LaTeX";
   stripPrefix = 0;
   sha512.run = "1c21d99dc4f1627520914ed3620606c724f22754662797b93c4161aaf3e36d5a42a586ae7e4b227cdf67d55c88d3979635e78661d7029f1a5967c503a9f9dde5";
   sha512.doc = "24cf22b54cb13e1458266f4962ba589fa9385f3b8d58493747824d815c372cfa6fa8a8a24d0310264b299ce43148ca001b5c6b73961d1504e1ab6e8a4ac246c0";
@@ -49949,6 +54382,7 @@ zref = {
 };
 zref-check = {
   revision = 68846;
+  shortdesc = "Flexible cross-references with contextual checks based on zref";
   stripPrefix = 0;
   sha512.run = "98aeb6007f1f599a2bda644c60c9929ca27c9045d73af3d54298837eb842e7976a2f9067182ce38c77ff197e2fe36a53207d2aa39adaa9deeb4e118bd034b0e5";
   sha512.doc = "d050bb4a6c68a80eafe3eb7f99c61407424385743785014600404397e6fa322becaf3a28157f59951a2406fdfb66968f3cba9de4e388282ea0c84e3f33d4fc8d";
@@ -49959,6 +54393,7 @@ zref-check = {
 };
 zref-clever = {
   revision = 68846;
+  shortdesc = "Clever LaTeX cross-references based on zref";
   stripPrefix = 0;
   sha512.run = "d7a32fde3ee94e304f854f690756ad9d15a9287c1dd38e1707a1f33e2bd30ac23147a439990ba7e9f7bc0b2c5b37b5d475bb64f2ab89bb15752bfc0e2f9ad3ac";
   sha512.doc = "c18e86417db71ece26e6a29e0598e521d17a79c26f5ebd92dbd78c427142bb992df9ff39c0a5867dd296093036615bc319aa9dc970faa0ae0d4ed479452e1b89";
@@ -49969,6 +54404,7 @@ zref-clever = {
 };
 zref-vario = {
   revision = 68846;
+  shortdesc = "Extended LaTeX page cross-references with varioref and zref-clever";
   stripPrefix = 0;
   deps = [
     "tools"
@@ -49983,6 +54419,7 @@ zref-vario = {
 };
 zwgetfdate = {
   revision = 15878;
+  shortdesc = "Get package or file date";
   stripPrefix = 0;
   sha512.run = "fe52555cc46a9e8340d8c9c37f88b372bf72efbd48a097b2d319592dc49a8cf55c87e80ea7d94ba6730742e9883215703749895008ba38838750efb9fb2334e9";
   sha512.doc = "7ab61dc4252ef7f60d1d5be8d4415bcaeaed194384a1da14a3400617b36c6efae3679dbbd6c8d64b8cc9f9947babe88c064d637379f663408cbe63ca42334bfb";
@@ -49991,6 +54428,7 @@ zwgetfdate = {
 };
 zwpagelayout = {
   revision = 63074;
+  shortdesc = "Page layout and crop-marks";
   stripPrefix = 0;
   sha512.run = "a0b5ca55208fe5f2353bf846fda3bbf2ef095f68e0e80265c9c89bfb14be0c80f5ca7c1b7fbaae4c8d67d70fc381353f889c9596e96412c351d39cceba40c263";
   sha512.doc = "9b52a6267720a787826bd14efa7742ef9adf9ad14c46065edf5f0e47c94d2762a7dd2a4b9b31864a3a1bad8addd4c18e21119a70abfca89730a7c7804628877a";
@@ -50000,6 +54438,7 @@ zwpagelayout = {
 };
 zx-calculus = {
   revision = 70612;
+  shortdesc = "A library to typeset ZX Calculus diagrams";
   stripPrefix = 0;
   sha512.run = "d59cbc2662dc41a216e9d8665a6bafefd27ef5993abae6682af24909cff49350dcf73f10ddc55b31dd3ebdd35509a7000edd8e055c85deee946a5efe258ddf14";
   sha512.doc = "a08719cbd99cfe9b37ca3fe62806e45908a1f48e5ff32a162fff3e835fdcf69c8a516ff7d3e0de6dd1827d3c78ae7efb3e79b4a534d77d94d5a16b9fd10b10d7";
@@ -50009,6 +54448,7 @@ zx-calculus = {
 };
 zxjafbfont = {
   revision = 28539;
+  shortdesc = "Fallback CJK font support for xeCJK";
   stripPrefix = 0;
   sha512.run = "357b100dac7061a5e6fe91e3a708f32e99a134158393581bc717ae3e90afa5dbbff7aa1bae8c092638bca2d5c3ab65d8a8cbc39c20c3ec1ff85c967fb3849513";
   sha512.doc = "215079eeb772dc4ea55d5e00945a757c877acf9ea56aebe5a8969564a3836f54ca406d502d73e93d92b131600fc77bd2342d36fa78300adc0b4d1dd7f5d0f423";
@@ -50018,6 +54458,7 @@ zxjafbfont = {
 };
 zxjafont = {
   revision = 62864;
+  shortdesc = "Set up Japanese font families for XeLaTeX";
   stripPrefix = 0;
   sha512.run = "4afb6c3126c66c23a9a5b2ad1103289ab3f14c5a0d9bad7de209de3801e77f803e7a88d7440aa2f85d5aa6c23b6514585f263a95d6c3d68c232051880943a5c0";
   sha512.doc = "598a13775cac68ae6f176bd01b609373a4033583a83ed42f7914b15a01776d40b0c7200258dd68563510b2a3c11ec29a25ab3b26477650b60652e7332ef3f131";
@@ -50027,6 +54468,7 @@ zxjafont = {
 };
 zxjatype = {
   revision = 53500;
+  shortdesc = "Standard conforming typesetting of Japanese, for XeLaTeX";
   stripPrefix = 0;
   sha512.run = "21eaace7188c9e61f5dd65f34e26b1ca16358e7396d44188ae17e8e01a58f38ac3be9f09f8f41923c257d089210d1fb7d841eada5c9a345cec42b934d257ef94";
   sha512.doc = "0fccc73af66a05231cf8283920d65717600be4673329ed1f46b93a494d766aa9542deb1a56b5d23d6c0d6b93be98aa778234ddc2dcd9c0936542a45d057b6dc2";
@@ -50036,6 +54478,7 @@ zxjatype = {
 };
 zztex = {
   revision = 55862;
+  shortdesc = "A full-featured TeX macro package for producing books, journals, and manuals";
   stripPrefix = 0;
   sha512.run = "eb325564ee9e001e0e5ff79b6e3cc9f22f5b9b100ef021552f54953802edbce1e4b1295ff4590832f959386db7a63aaf8e31dc2d61b38e5c8a140082ca423e83";
   sha512.doc = "bd2a3a42b62da61db572058b4731161425545374584a575607f11bb2302aa2ce900b694aaf06562f4c9eb9046c80c4fbf5b50233f6d0526fac787c213070d542";
diff --git a/pkgs/tools/video/go2rtc/default.nix b/pkgs/tools/video/go2rtc/default.nix
index 12bb7f2b0b0f3..75c3e114cf345 100644
--- a/pkgs/tools/video/go2rtc/default.nix
+++ b/pkgs/tools/video/go2rtc/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "go2rtc";
-  version = "1.8.5";
+  version = "1.9.0";
 
   src = fetchFromGitHub {
     owner = "AlexxIT";
     repo = "go2rtc";
     rev = "refs/tags/v${version}";
-    hash = "sha256-XG98CJZ9bnFfJL5DyhDon+j74cXXmxYb291PElqXXRY=";
+    hash = "sha256-jKWZHrsESfav8tfQ4rNzvdjUo17DB+kG5qW1CMRbqAM=";
   };
 
-  vendorHash = "sha256-KEW3ykEZvL6y1VacDIqtHW9B2RLHlHC29aqJjkEnRqQ=";
+  vendorHash = "sha256-iHszhdCeeeMVH3460rVJw2LsEIZRg3KKG8A9Uzcfg3w=";
 
   CGO_ENABLED = 0;
 
diff --git a/pkgs/tools/video/xjadeo/default.nix b/pkgs/tools/video/xjadeo/default.nix
index 3774e0a100bf9..01cb2c997913f 100644
--- a/pkgs/tools/video/xjadeo/default.nix
+++ b/pkgs/tools/video/xjadeo/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xjadeo";
-  version = "0.8.13";
+  version = "0.8.14";
 
   src = fetchFromGitHub {
     owner = "x42";
     repo = "xjadeo";
     rev = "v${version}";
-    sha256 = "sha256-CSq11hFNmo41VXOndBoPxRc9NNUUBtzfWx14DCUFieQ=";
+    sha256 = "sha256-GTg0W3D0BRSxsmeVsB4On3MfwncScEGFJGVJK7wflCM=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/pkgs/tools/virtualization/nixos-container/nixos-container.pl b/pkgs/tools/virtualization/nixos-container/nixos-container.pl
index 854557eb72377..5e504eca749ae 100755
--- a/pkgs/tools/virtualization/nixos-container/nixos-container.pl
+++ b/pkgs/tools/virtualization/nixos-container/nixos-container.pl
@@ -171,10 +171,8 @@ sub writeNixOSConfig {
     my $nixosConfig = <<EOF;
 { config, lib, pkgs, ... }:
 
-with lib;
-
 { boot.isContainer = true;
-  networking.hostName = mkDefault "$containerName";
+  networking.hostName = lib.mkDefault "$containerName";
   networking.useDHCP = false;
   $localExtraConfig
 }
diff --git a/pkgs/tools/wayland/gtklock/default.nix b/pkgs/tools/wayland/gtklock/default.nix
index 0b583ad8743ef..eac509c6b3d86 100644
--- a/pkgs/tools/wayland/gtklock/default.nix
+++ b/pkgs/tools/wayland/gtklock/default.nix
@@ -1,45 +1,43 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, wrapGAppsHook
-, pam
+, meson
+, ninja
 , scdoc
-, gtk3
 , pkg-config
-, gtk-layer-shell
-, glib
-, librsvg
-, wayland
-, wayland-scanner
+, wrapGAppsHook
+, gtk3
+, pam
+, gtk-session-lock
 }:
 
 stdenv.mkDerivation rec {
   pname = "gtklock";
-  version = "2.1.0";
+  version = "3.0.0";
 
   src = fetchFromGitHub {
     owner = "jovanlanik";
-    repo = pname;
+    repo = "gtklock";
     rev = "v${version}";
-    sha256 = "sha256-Jh+BmtKGaLgAcTXc44ydV83dp/W4wzByehUWyeyBoFI=";
+    hash = "sha256-B6pySjiwPBRFb4avE9NHsS1KkWMPW81DAqYro/wtrmQ=";
   };
 
   nativeBuildInputs = [
+    meson
+    ninja
     scdoc
     pkg-config
-    wayland-scanner
-    glib
     wrapGAppsHook
   ];
 
   buildInputs = [
-    wayland
     gtk3
     pam
-    gtk-layer-shell
-    librsvg
+    gtk-session-lock
   ];
 
+  strictDeps = true;
+
   installFlags = [
     "DESTDIR=$(out)"
     "PREFIX="
@@ -51,8 +49,8 @@ stdenv.mkDerivation rec {
       Important note: for gtklock to work you need to set "security.pam.services.gtklock = {};" manually.
     ''; # Following  nixpkgs/pkgs/applications/window-managers/sway/lock.nix
     homepage = "https://github.com/jovanlanik/gtklock";
-    license = licenses.gpl3;
-    maintainers = with maintainers; [ dit7ya ];
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ dit7ya aleksana ];
     platforms = platforms.linux;
     mainProgram = "gtklock";
   };
diff --git a/pkgs/tools/wayland/gtklock/playerctl-module.nix b/pkgs/tools/wayland/gtklock/playerctl-module.nix
index 8d2d760d46a1b..5bc5237d75e8d 100644
--- a/pkgs/tools/wayland/gtklock/playerctl-module.nix
+++ b/pkgs/tools/wayland/gtklock/playerctl-module.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gtklock-playerctl-module";
-  version = "2.0.1";
+  version = "3.0.0";
 
   src = fetchFromGitHub {
     owner = "jovanlanik";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-kzGgqFDTeKL6Pfjram7pqVcIm8Avxsvpn1qFrcpd8dw=";
+    hash = "sha256-eN4E3+jv8IyRvV8pvfCjCc6pl8y7qSLRlj7tYkX0JrE=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/tools/wayland/gtklock/powerbar-module.nix b/pkgs/tools/wayland/gtklock/powerbar-module.nix
index ce5c44a418748..5c22d6535795e 100644
--- a/pkgs/tools/wayland/gtklock/powerbar-module.nix
+++ b/pkgs/tools/wayland/gtklock/powerbar-module.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gtklock-powerbar-module";
-  version = "2.0.1";
+  version = "3.0.0";
 
   src = fetchFromGitHub {
     owner = "jovanlanik";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-Ev6vjtvUSqP/+xTDRAqSYJ436WhZUtFRxSP7LoSK00w=";
+    hash = "sha256-uqGWr3/PaXif+JuxqRDlvfeiVG2nbausfe5dZOHcm7o=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/tools/wayland/gtklock/userinfo-module.nix b/pkgs/tools/wayland/gtklock/userinfo-module.nix
index 0de3f12284afb..72e650861cd3a 100644
--- a/pkgs/tools/wayland/gtklock/userinfo-module.nix
+++ b/pkgs/tools/wayland/gtklock/userinfo-module.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gtklock-userinfo-module";
-  version = "2.1.0";
+  version = "3.0.0";
 
   src = fetchFromGitHub {
     owner = "jovanlanik";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-WNUX0wRoh14rZRmiyQEGZPKJRr6oNW8B6LEwhDSPcyY=";
+    hash = "sha256-gZ9TGARuWFGyWLROlJQWwiEtbzQC9rlG8NKxUuGh57c=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/tools/wayland/hyprland-per-window-layout/default.nix b/pkgs/tools/wayland/hyprland-per-window-layout/default.nix
index 61bca460b0e0f..2e9da7634856f 100644
--- a/pkgs/tools/wayland/hyprland-per-window-layout/default.nix
+++ b/pkgs/tools/wayland/hyprland-per-window-layout/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "hyprland-per-window-layout";
-  version = "2.9";
+  version = "2.10";
 
   src = fetchFromGitHub {
     owner = "coffebar";
     repo = pname;
     rev = version;
-    hash = "sha256-AhTDcwZnFAaB750PqdXjZvjVrSjwJd3CXv1UtZfcTC0=";
+    hash = "sha256-oCHX9C/TnTGxHfZBtKhwcWJaijZ92MqCOnf6OgviH1o=";
   };
 
-  cargoHash = "sha256-uZsXIDdUNZyrDmfWCHDuibziarzIav74Lpu4yObkGbc=";
+  cargoHash = "sha256-RkIHwIWzKwzpPIFmOkBmOUq07YdLQRVOGblybnACUfs=";
 
   meta = with lib; {
     description = "Per window keyboard layout (language) for Hyprland wayland compositor";
diff --git a/pkgs/tools/wayland/kanshi/default.nix b/pkgs/tools/wayland/kanshi/default.nix
index 0324a0e991d8e..f54201c808dba 100644
--- a/pkgs/tools/wayland/kanshi/default.nix
+++ b/pkgs/tools/wayland/kanshi/default.nix
@@ -8,17 +8,18 @@
 , wayland
 , wayland-scanner
 , libvarlink
+, libscfg
 }:
 
 stdenv.mkDerivation rec {
   pname = "kanshi";
-  version = "1.5.1";
+  version = "1.6.0";
 
   src = fetchFromSourcehut {
     owner = "~emersion";
     repo = "kanshi";
     rev = "v${version}";
-    sha256 = "sha256-Ck0yRt9TYLFRojn+VKnjP5RzkX0hciuQOT6drTH7gtU=";
+    sha256 = "sha256-KjP7EdssaZwa1OupLQgzwJSAADKLsjHltEavPjsS1YM=";
   };
 
   strictDeps = true;
@@ -26,7 +27,11 @@ stdenv.mkDerivation rec {
     pkg-config
   ];
   nativeBuildInputs = [ meson ninja pkg-config scdoc wayland-scanner ];
-  buildInputs = [ wayland libvarlink ];
+  buildInputs = [ wayland libvarlink libscfg ];
+
+  env.NIX_CFLAGS_COMPILE = toString [
+    "-Wno-error=maybe-uninitialized"
+  ];
 
   meta = with lib; {
     homepage = "https://sr.ht/~emersion/kanshi";
diff --git a/pkgs/tools/wayland/mpvpaper/default.nix b/pkgs/tools/wayland/mpvpaper/default.nix
index 91ec1e80267ff..a21873be95802 100644
--- a/pkgs/tools/wayland/mpvpaper/default.nix
+++ b/pkgs/tools/wayland/mpvpaper/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mpvpaper";
-  version = "1.4";
+  version = "1.5";
 
   src = fetchFromGitHub {
     owner = "GhostNaN";
     repo = pname;
     rev = version;
-    sha256 = "sha256-pJPoI47KKazVT6RfqyftZe+lPe6Kn2cllRSfq0twUpQ=";
+    sha256 = "sha256-TlA2hmpHGe4PWb+Pe3cq2Hhce4NXVI1DnknseGmuFeY=";
   };
 
   strictDeps = true;
diff --git a/pkgs/tools/wayland/sirula/default.nix b/pkgs/tools/wayland/sirula/default.nix
index c190c232fdaec..afb10c2a49bf1 100644
--- a/pkgs/tools/wayland/sirula/default.nix
+++ b/pkgs/tools/wayland/sirula/default.nix
@@ -27,7 +27,7 @@ rustPlatform.buildRustPackage rec {
     description = "Simple app launcher for wayland written in rust";
     homepage = "https://github.com/DorianRudolph/sirula";
     license = with licenses; [ gpl3Plus ];
-    maintainers = with maintainers; [ twitchyliquid64 ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/wayland/waynergy/default.nix b/pkgs/tools/wayland/waynergy/default.nix
index b72b057793f9f..cbb1913877970 100644
--- a/pkgs/tools/wayland/waynergy/default.nix
+++ b/pkgs/tools/wayland/waynergy/default.nix
@@ -14,13 +14,13 @@
 }:
 stdenv.mkDerivation rec {
   pname = "waynergy";
-  version = "0.0.16";
+  version = "0.0.17";
 
   src = fetchFromGitHub {
     owner = "r-c-f";
     repo = "waynergy";
     rev = "v${version}";
-    hash = "sha256-DHP84AYDd3M8on4LgS2TzFU/QulrWXdl1qbLV+qKoxw=";
+    hash = "sha256-cwpW6O+KJNDvSrHeSM1Ci7S0kNw6a8KCdGAIhowPEIw=";
   };
 
   strictDeps = true;
diff --git a/pkgs/tools/wayland/wl-clip-persist/default.nix b/pkgs/tools/wayland/wl-clip-persist/default.nix
deleted file mode 100644
index 2cfe8cc017438..0000000000000
--- a/pkgs/tools/wayland/wl-clip-persist/default.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ lib
-, stdenv
-, rustPlatform
-, fetchFromGitHub
-, pkg-config
-, wayland
-}:
-
-rustPlatform.buildRustPackage {
-  pname = "wl-clip-persist";
-  version = "0.3.1";
-
-  src = fetchFromGitHub {
-    owner = "Linus789";
-    repo = "wl-clip-persist";
-    # upstream doesn't tag releases
-    rev = "6ba11a2aa295d780f0b2e8f005cf176601d153b0";
-    hash = "sha256-wg4xEXLAZpWflFejP7ob4cnmRvo9d/0dL9hceG+RUr0=";
-  };
-
-  cargoHash = "sha256-vNxNvJ5tA323EVArJ6glNslkq/Q6u7NsIpTYO1Q3GEw=";
-
-  nativeBuildInputs = [
-    pkg-config
-  ];
-
-  buildInputs = [
-    wayland
-  ];
-
-  meta = with lib; {
-    broken = stdenv.isDarwin;
-    description = "Keep Wayland clipboard even after programs close";
-    homepage = "https://github.com/Linus789/wl-clip-persist";
-    inherit (wayland.meta) platforms;
-    license = licenses.mit;
-    mainProgram = "wl-clip-persist";
-    maintainers = with maintainers; [ ];
-  };
-}
diff --git a/pkgs/tools/wayland/wl-mirror/default.nix b/pkgs/tools/wayland/wl-mirror/default.nix
index 73355f0877d8b..96830926a6713 100644
--- a/pkgs/tools/wayland/wl-mirror/default.nix
+++ b/pkgs/tools/wayland/wl-mirror/default.nix
@@ -62,7 +62,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/Ferdi265/wl-mirror";
     description = "A simple Wayland output mirror client";
     license = licenses.gpl3;
-    maintainers = with maintainers; [ synthetica twitchyliquid64 ];
+    maintainers = with maintainers; [ synthetica ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index f879d9ca98f07..539f3e4c554d0 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -58,6 +58,7 @@ mapAliases ({
 
   AusweisApp2 = ausweisapp; # Added 2023-11-08
   a4term = a4; # Added 2023-10-06
+  acorn = throw "acorn has been removed as the upstream project was archived"; # Added 2024-04-27
   adtool = throw "'adtool' has been removed, as it was broken and unmaintained";
   advcpmv = throw "'advcpmv' has been removed, as it is not being actively maintained and break recent coreutils."; # Added 2024-03-29
   aether = throw "aether has been removed from nixpkgs; upstream unmaintained, security issues"; # Added 2023-10-03
@@ -92,6 +93,7 @@ mapAliases ({
   atomEnv = throw "'atomEnv' has been removed because 'atom' is discontinued and deprecated. Consider using 'pulsar', a maintained fork"; # Added 2023-10-01
   atomPackages = throw "'atomPackages' has been removed because 'atom' is discontinued and deprecated. Consider using 'pulsar', a maintained fork"; # Added 2023-10-01
   auditBlasHook = throw "'auditBlasHook' has been removed since it never worked"; # Added 2024-04-02
+  authy = throw "'authy' has been removed since it reached end of life"; # Added 2024-04-19
   avldrums-lv2 = x42-avldrums; # Added 2020-03-29
   awesome-4-0 = awesome; # Added 2022-05-05
 
@@ -129,6 +131,7 @@ mapAliases ({
   boost174 = throw "boost174 has been deprecated in favor of the latest version"; # Added 2023-06-08
   boost17x = throw "boost17x has been deprecated in favor of the latest version"; # Added 2023-07-13
   boost18x = throw "boost18x has been deprecated in favor of the latest version"; # Added 2023-07-13
+  bpb = throw "bpb has been removed as it is unmaintained and not compatible with recent Rust versions"; # Added 2024-04-30
   bpftool = bpftools; # Added 2021-05-03
   bpytop = throw "bpytop has been deprecated by btop"; # Added 2023-02-16
   bro = throw "'bro' has been renamed to/replaced by 'zeek'"; # Converted to throw 2023-09-10
@@ -1016,6 +1019,8 @@ mapAliases ({
   pocket-updater-utility = pupdate; # Added 2024-01-25
   poetry2nix = throw "poetry2nix is now maintained out-of-tree. Please use https://github.com/nix-community/poetry2nix/"; # Added 2023-10-26
   prayer = throw "prayer has been removed from nixpkgs"; # Added 2023-11-09
+  prismlauncher-qt5 = throw "'prismlauncher-qt5' has been removed from nixpkgs. Please use 'prismlauncher'"; # Added 2024-04-20
+  prismlauncher-qt5-unwrapped = throw "'prismlauncher-qt5-unwrapped' has been removed from nixpkgs. Please use 'prismlauncher-unwrapped'"; # Added 2024-04-20
   privacyidea = throw "privacyidea has been removed from nixpkgs"; # Added 2023-10-31
   probe-rs-cli = throw "probe-rs-cli is now part of the probe-rs package"; # Added 2023-07-03
   processing3 = throw "'processing3' has been renamed to/replaced by 'processing'"; # Converted to throw 2023-09-10
@@ -1224,6 +1229,7 @@ mapAliases ({
   teleport_12 = throw "teleport 12 has been removed as it is EOL. Please upgrade to Teleport 13 or later"; # Added 2024-02-04
   teleprompter = throw "teleprompter has been removed. reason: upstream dead and does not work with recent electron versions"; # Added 2024-03-14
   tensile = throw "'tensile' has been replaced with 'rocmPackages.tensile'"; # Added 2023-10-08
+  tepl = libgedit-tepl; # Added 2024-04-29
   testVersion = testers.testVersion; # Added 2022-04-20
   tfplugindocs = terraform-plugin-docs; # Added 2023-11-01
   thrift-0_10 = throw "'thrift-0_10' has been removed because it is impacted by security issues and not used in nixpkgs, move to 'thrift'"; # Added 2024-03-17
@@ -1310,6 +1316,7 @@ mapAliases ({
     'wayfireApplications-unwrapped.wcm' has been renamed to/replaced by 'wayfirePlugins.wcm'
     'wayfireApplications-unwrapped.wlroots' has been removed
   ''; # Add 2023-07-29
+  waypoint = throw "waypoint has been removed from nixpkgs as the upstream project was archived"; # Added 2024-04-24
   wcm = throw "'wcm' has been renamed to/replaced by 'wayfirePlugins.wcm'"; # Add 2023-07-29
   webkitgtk_5_0 = throw "'webkitgtk_5_0' has been superseded by 'webkitgtk_6_0'"; # Added 2023-02-25
   wineWayland = wine-wayland;
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index e5fd7bf1f4587..628cbadf9136f 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -313,8 +313,6 @@ with pkgs;
 
   assemblyscript = callPackage ../development/compilers/assemblyscript { };
 
-  authy = callPackage ../applications/misc/authy { };
-
   authz0 = callPackage ../tools/security/authz0 { };
 
   auth0-cli = callPackage ../tools/admin/auth0-cli { };
@@ -428,8 +426,6 @@ with pkgs;
 
   catatonit = callPackage ../applications/virtualization/catatonit { };
 
-  catppuccin = callPackage ../data/themes/catppuccin { };
-
   catppuccin-catwalk = callPackage ../development/tools/misc/catppuccin-catwalk { };
 
   catppuccin-gtk = callPackage ../data/themes/catppuccin-gtk { };
@@ -442,8 +438,6 @@ with pkgs;
 
   catppuccin-plymouth = callPackage ../data/themes/catppuccin-plymouth { };
 
-  catppuccin-sddm-corners = callPackage ../data/themes/catppuccin-sddm-corners { };
-
   btdu = callPackage ../tools/misc/btdu { };
 
   ccal = callPackage ../tools/misc/ccal { };
@@ -1777,10 +1771,6 @@ with pkgs;
 
   dysk = callPackage ../tools/filesystems/dysk { };
 
-  fastfetch = callPackage ../tools/misc/fastfetch {
-    stdenv = if stdenv.isDarwin then overrideSDK stdenv "11.0" else stdenv;
-  };
-
   fscan = callPackage ../tools/security/fscan { };
 
   copier = callPackage ../tools/misc/copier { };
@@ -2746,10 +2736,6 @@ with pkgs;
     description = mame.meta.description + " (tools only)";
   } (lib.getOutput "tools" mame);
 
-  melonDS = libsForQt5.callPackage ../applications/emulators/melonDS { };
-
-  mgba = libsForQt5.callPackage ../applications/emulators/mgba { };
-
   mupen64plus = callPackage ../applications/emulators/mupen64plus { };
 
   np2kai = callPackage ../applications/emulators/np2kai { };
@@ -2805,9 +2791,7 @@ with pkgs;
 
   simplenes = callPackage ../applications/emulators/simplenes { };
 
-  snes9x = callPackage ../applications/emulators/snes9x { };
-
-  snes9x-gtk = callPackage ../applications/emulators/snes9x {
+  snes9x-gtk = snes9x.override {
     withGtk = true;
   };
 
@@ -3555,8 +3539,6 @@ with pkgs;
 
   boulder = callPackage ../tools/admin/boulder { };
 
-  btrfs-assistant = qt6.callPackage ../tools/misc/btrfs-assistant { };
-
   btrfs-heatmap = callPackage ../tools/filesystems/btrfs-heatmap { };
 
   bucklespring = bucklespring-x11;
@@ -3588,8 +3570,6 @@ with pkgs;
 
   changelogger = callPackage ../tools/misc/changelogger { };
 
-  chezmoi = callPackage ../tools/misc/chezmoi { };
-
   chipsec = callPackage ../tools/security/chipsec {
     kernel = null;
     withDriver = false;
@@ -3633,8 +3613,6 @@ with pkgs;
 
   codespell = callPackage ../development/tools/codespell { };
 
-  codux = callPackage ../applications/editors/codux { };
-
   conjure = callPackage ../applications/graphics/conjure { };
 
   coolreader = libsForQt5.callPackage ../applications/misc/coolreader { };
@@ -3723,8 +3701,6 @@ with pkgs;
 
   dpt-rp1-py = callPackage ../tools/misc/dpt-rp1-py { };
 
-  dooit = callPackage ../tools/misc/dooit { };
-
   doona = callPackage ../tools/security/doona { };
 
   dotter = callPackage ../tools/misc/dotter {
@@ -4070,10 +4046,6 @@ with pkgs;
 
   reattach-to-user-namespace = callPackage ../os-specific/darwin/reattach-to-user-namespace { };
 
-  skhd = darwin.apple_sdk_11_0.callPackage ../os-specific/darwin/skhd {
-    inherit (darwin.apple_sdk_11_0.frameworks) Carbon Cocoa;
-  };
-
   qes = callPackage ../os-specific/darwin/qes {
     inherit (darwin.apple_sdk.frameworks) Carbon;
   };
@@ -4088,8 +4060,6 @@ with pkgs;
 
   wiimms-iso-tools = callPackage ../tools/filesystems/wiimms-iso-tools { };
 
-  waypoint = callPackage ../applications/networking/cluster/waypoint { };
-
   xc = callPackage ../development/tools/xc { };
 
   ios-webkit-debug-proxy = callPackage ../development/mobile/ios-webkit-debug-proxy { };
@@ -4310,8 +4280,6 @@ with pkgs;
 
   biliass = with python3.pkgs; toPythonApplication biliass;
 
-  bilibili = callPackage ../applications/video/bilibili { };
-
   bindfs = callPackage ../tools/filesystems/bindfs { };
 
   binwalk = with python3Packages; toPythonApplication binwalk;
@@ -4413,8 +4381,6 @@ with pkgs;
   bozohttpd = callPackage ../servers/http/bozohttpd { };
   bozohttpd-minimal = callPackage ../servers/http/bozohttpd { minimal = true; };
 
-  bpb = callPackage ../tools/security/bpb { inherit (darwin.apple_sdk.frameworks) Security; };
-
   brasero-original = lowPrio (callPackage ../tools/cd-dvd/brasero { });
 
   brasero = callPackage ../tools/cd-dvd/brasero/wrapper.nix { };
@@ -4774,8 +4740,6 @@ with pkgs;
 
   wlay = callPackage ../tools/wayland/wlay { };
 
-  wl-clip-persist = callPackage ../tools/wayland/wl-clip-persist { };
-
   wl-clipboard = callPackage ../tools/wayland/wl-clipboard { };
 
   wl-clipboard-x11 = callPackage ../tools/wayland/wl-clipboard-x11 { };
@@ -5365,6 +5329,7 @@ with pkgs;
   # TeX Live; see https://nixos.org/nixpkgs/manual/#sec-language-texlive
   texlive = callPackage ../tools/typesetting/tex/texlive { };
   inherit (texlive.schemes) texliveBasic texliveBookPub texliveConTeXt texliveFull texliveGUST texliveInfraOnly texliveMedium texliveMinimal texliveSmall texliveTeTeX;
+  texlivePackages = recurseIntoAttrs (lib.filterAttrs (_: lib.isDerivation) texlive.pkgs);
 
   fop = callPackage ../tools/typesetting/fop { };
 
@@ -6307,8 +6272,6 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) PCSC;
   };
 
-  step-cli = callPackage ../tools/security/step-cli { };
-
   step-kms-plugin = callPackage ../tools/security/step-kms-plugin { };
 
   string-machine = callPackage ../applications/audio/string-machine { };
@@ -8338,7 +8301,9 @@ with pkgs;
 
   gau = callPackage ../tools/security/gau { };
 
-  gauge = callPackage ../development/tools/gauge { };
+  gauge-unwrapped = callPackage ../development/tools/gauge { };
+  gauge = callPackage ../development/tools/gauge/wrapper.nix { };
+  gaugePlugins = recurseIntoAttrs (callPackage ../development/tools/gauge/plugins {});
 
   gawd = python3Packages.toPythonApplication python3Packages.gawd;
 
@@ -8468,8 +8433,6 @@ with pkgs;
 
   gitea-actions-runner = callPackage ../development/tools/continuous-integration/gitea-actions-runner { };
 
-  forgejo = callPackage ../applications/version-management/forgejo { };
-
   gokart = callPackage ../development/tools/gokart { };
 
   gl2ps = callPackage ../development/libraries/gl2ps { };
@@ -8830,8 +8793,6 @@ with pkgs;
 
   gssdp-tools = callPackage ../development/libraries/gssdp/tools.nix { };
 
-  grype = callPackage ../tools/security/grype { };
-
   gt5 = callPackage ../tools/system/gt5 { };
 
   gtest = callPackage ../development/libraries/gtest { };
@@ -10169,14 +10130,14 @@ with pkgs;
   nodejs-slim_20 = callPackage ../development/web/nodejs/v20.nix { enableNpm = false; };
   corepack_20 = hiPrio (callPackage ../development/web/nodejs/corepack.nix { nodejs = nodejs_20; });
 
-  nodejs_21 = callPackage ../development/web/nodejs/v21.nix { };
-  nodejs-slim_21 = callPackage ../development/web/nodejs/v21.nix { enableNpm = false; };
-  corepack_21 = hiPrio (callPackage ../development/web/nodejs/corepack.nix { nodejs = nodejs_21; });
+  nodejs_22 = callPackage ../development/web/nodejs/v22.nix { };
+  nodejs-slim_22 = callPackage ../development/web/nodejs/v22.nix { enableNpm = false; };
+  corepack_22 = hiPrio (callPackage ../development/web/nodejs/corepack.nix { nodejs = nodejs_22; });
 
   # Update this when adding the newest nodejs major version!
-  nodejs_latest = nodejs_21;
-  nodejs-slim_latest = nodejs-slim_21;
-  corepack_latest = hiPrio corepack_21;
+  nodejs_latest = nodejs_22;
+  nodejs-slim_latest = nodejs-slim_22;
+  corepack_latest = hiPrio corepack_22;
 
   buildNpmPackage = callPackage ../build-support/node/build-npm-package { };
 
@@ -10551,8 +10512,6 @@ with pkgs;
 
   lwc = callPackage ../tools/misc/lwc { };
 
-  lxc = callPackage ../os-specific/linux/lxc {  };
-
   lxd-image-server = callPackage ../tools/virtualization/lxd-image-server { };
 
   lzfse = callPackage ../tools/compression/lzfse { };
@@ -11567,9 +11526,7 @@ with pkgs;
   opentelemetry-collector = callPackage ../tools/misc/opentelemetry-collector { };
   opentelemetry-collector-contrib = callPackage ../tools/misc/opentelemetry-collector/contrib.nix { };
 
-  openvswitch = callPackage ../os-specific/linux/openvswitch { };
-
-  openvswitch-lts = callPackage ../os-specific/linux/openvswitch/lts.nix { };
+  openvswitch-lts = callPackage ../by-name/op/openvswitch/lts.nix { };
 
   ovn-lts = callPackage ../by-name/ov/ovn/lts.nix { };
 
@@ -13089,12 +13046,6 @@ with pkgs;
 
   sixpair = callPackage ../tools/misc/sixpair { };
 
-  sketchybar = darwin.apple_sdk_11_0.callPackage ../os-specific/darwin/sketchybar {
-    inherit (darwin.apple_sdk_11_0.frameworks) AppKit Carbon CoreAudio CoreWLAN CoreVideo DisplayServices IOKit MediaRemote SkyLight;
-  };
-
-  sketchybar-app-font = callPackage ../data/fonts/sketchybar-app-font { };
-
   skippy-xd = callPackage ../tools/X11/skippy-xd { };
 
   sks = callPackage ../servers/sks {
@@ -13519,8 +13470,6 @@ with pkgs;
 
   systrayhelper = callPackage ../tools/misc/systrayhelper { };
 
-  syft = callPackage ../tools/admin/syft { };
-
   Sylk = callPackage ../applications/networking/Sylk { };
 
   privoxy = callPackage ../tools/networking/privoxy {
@@ -13549,9 +13498,6 @@ with pkgs;
 
   tailer = callPackage ../tools/misc/tailer { };
 
-  inherit (callPackages ../applications/networking/taler { })
-    taler-exchange taler-merchant;
-
   tandoor-recipes = callPackage ../applications/misc/tandoor-recipes { };
 
   tango = callPackage ../applications/misc/tango { };
@@ -14456,11 +14402,8 @@ with pkgs;
 
   xl2tpd = callPackage ../tools/networking/xl2tpd { };
 
-  xlights = callPackage ../applications/misc/xlights/default.nix { };
-
   xe = callPackage ../tools/system/xe { };
 
-
   xray = callPackage ../tools/networking/xray { };
 
   xteve = callPackage ../servers/xteve { };
@@ -15377,6 +15320,8 @@ with pkgs;
   colmap = libsForQt5.callPackage ../applications/science/misc/colmap { inherit (config) cudaSupport; };
   colmapWithCuda = colmap.override { cudaSupport = true; };
 
+  opensplatWithCuda = opensplat.override { cudaSupport = true; };
+
   chickenPackages_4 = recurseIntoAttrs (callPackage ../development/compilers/chicken/4 { });
   chickenPackages_5 = recurseIntoAttrs (callPackage ../development/compilers/chicken/5 { });
   chickenPackages = dontRecurseIntoAttrs chickenPackages_5;
@@ -15506,6 +15451,7 @@ with pkgs;
   corretto11 = javaPackages.compiler.corretto11;
   corretto17 = javaPackages.compiler.corretto17;
   corretto19 = javaPackages.compiler.corretto19;
+  corretto21 = javaPackages.compiler.corretto21;
 
   cotton = callPackage ../development/tools/cotton {
     inherit (darwin.apple_sdk.frameworks) CoreServices;
@@ -16724,7 +16670,7 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) CoreFoundation Security;
   };
   cargo-clone = callPackage ../development/tools/rust/cargo-clone {
-    inherit (darwin.apple_sdk.frameworks) Security SystemConfiguration;
+    inherit (darwin.apple_sdk.frameworks) CoreServices Security SystemConfiguration;
   };
   cargo-codspeed = callPackage ../development/tools/rust/cargo-codspeed {
     rustPlatform = makeRustPlatform {
@@ -16760,19 +16706,6 @@ with pkgs;
   cargo-outdated = callPackage ../development/tools/rust/cargo-outdated {
     inherit (darwin.apple_sdk.frameworks) CoreFoundation CoreServices Security SystemConfiguration;
   };
-  cargo-pgx_0_6_1 = callPackage ../development/tools/rust/cargo-pgx/0_6_1.nix {
-    inherit (darwin.apple_sdk.frameworks) Security;
-  };
-  cargo-pgx_0_7_1 = callPackage ../development/tools/rust/cargo-pgx/0_7_1.nix {
-    inherit (darwin.apple_sdk.frameworks) Security;
-  };
-  cargo-pgx_0_7_4 = callPackage ../development/tools/rust/cargo-pgx/0_7_4.nix {
-    inherit (darwin.apple_sdk.frameworks) Security;
-  };
-  cargo-pgx = cargo-pgx_0_7_4;
-  buildPgxExtension = callPackage ../development/tools/rust/cargo-pgx/buildPgxExtension.nix {
-    inherit (darwin.apple_sdk.frameworks) Security;
-  };
   inherit (callPackages ../development/tools/rust/cargo-pgrx { })
     cargo-pgrx_0_10_2
     cargo-pgrx_0_11_2
@@ -17338,7 +17271,7 @@ with pkgs;
   };
 
   inherit (beam.interpreters)
-    erlang erlang_27-rc2 erlang_26 erlang_25 erlang_24
+    erlang erlang_27-rc3 erlang_26 erlang_25 erlang_24
     erlang_odbc erlang_javac erlang_odbc_javac
     elixir elixir_1_16 elixir_1_15 elixir_1_14 elixir_1_13 elixir_1_12 elixir_1_11 elixir_1_10
     elixir-ls;
@@ -18218,7 +18151,7 @@ with pkgs;
   };
 
   bazel_6 = darwin.apple_sdk_11_0.callPackage ../development/tools/build-managers/bazel/bazel_6 {
-    inherit (darwin) cctools;
+    inherit (darwin) cctools sigtool;
     inherit (darwin.apple_sdk_11_0.frameworks) CoreFoundation CoreServices Foundation;
     buildJdk = jdk11_headless;
     runJdk = jdk11_headless;
@@ -18975,8 +18908,6 @@ with pkgs;
 
   grail = callPackage ../development/libraries/grail { };
 
-  graphene-hardened-malloc = callPackage ../development/libraries/graphene-hardened-malloc { };
-
   graphene = callPackage ../development/libraries/graphene { };
 
   griffe = with python3Packages; toPythonApplication griffe;
@@ -20399,10 +20330,6 @@ with pkgs;
   captive-browser = callPackage ../applications/networking/browsers/captive-browser { };
 
   catboost = callPackage ../development/libraries/catboost {
-    # catboost requires clang 12+ for build
-    # after bumping the default version of llvm, check for compatibility with the cuda backend and pin it.
-    inherit (llvmPackages_12) stdenv;
-
     # https://github.com/catboost/catboost/issues/2540
     cudaPackages = cudaPackages_11;
   };
@@ -24266,6 +24193,17 @@ with pkgs;
 
   rocksdb = callPackage ../development/libraries/rocksdb { };
 
+  rocksdb_8_3 = rocksdb.overrideAttrs rec {
+    pname = "rocksdb";
+    version = "8.3.2";
+    src = fetchFromGitHub {
+      owner = "facebook";
+      repo = pname;
+      rev = "v${version}";
+      hash = "sha256-mfIRQ8nkUbZ3Bugy3NAvOhcfzFY84J2kBUIUBcQ2/Qg=";
+    };
+  };
+
   rocksdb_7_10 = rocksdb.overrideAttrs rec {
     pname = "rocksdb";
     version = "7.10.2";
@@ -24273,8 +24211,8 @@ with pkgs;
       owner = "facebook";
       repo = pname;
       rev = "v${version}";
-     hash = "sha256-U2ReSrJwjAXUdRmwixC0DQXht/h/6rV8SOf5e2NozIs=";
-   };
+      hash = "sha256-U2ReSrJwjAXUdRmwixC0DQXht/h/6rV8SOf5e2NozIs=";
+    };
   };
 
   rocksdb_6_23 = rocksdb.overrideAttrs rec {
@@ -24659,8 +24597,6 @@ with pkgs;
 
   stb = callPackage ../development/libraries/stb { };
 
-  stduuid = callPackage ../development/libraries/stduuid { };
-
   steghide = callPackage ../tools/graphics/steghide { };
 
   stegsolve = callPackage ../tools/graphics/stegsolve { };
@@ -24785,8 +24721,6 @@ with pkgs;
     harfbuzz = harfbuzzFull;
   };
 
-  tepl = callPackage ../development/libraries/tepl { };
-
   termbench-pro = callPackage ../development/libraries/termbench-pro { fmt = fmt_8; };
 
   telepathy-glib = callPackage ../development/libraries/telepathy/glib { };
@@ -26387,8 +26321,6 @@ with pkgs;
       if stdenv.cc.isClang then llvmPackages.stdenv else stdenv;
   };
 
-  nginx-sso = callPackage ../servers/nginx-sso { };
-
   immudb = callPackage ../servers/nosql/immudb { };
 
   influxdb = callPackage ../servers/nosql/influxdb { };
@@ -27962,8 +27894,6 @@ with pkgs;
 
   dnsdist = callPackage ../servers/dns/dnsdist { };
 
-  pdns-recursor = callPackage ../servers/dns/pdns-recursor { };
-
   powertop = callPackage ../os-specific/linux/powertop { };
 
   pps-tools = callPackage ../os-specific/linux/pps-tools { };
@@ -29711,8 +29641,6 @@ with pkgs;
       requests requests-toolbelt setuptools sqlalchemy fusepy;
   };
 
-  acorn = callPackage ../applications/networking/cluster/acorn { };
-
   inherit (qt6Packages.callPackage ../applications/office/activitywatch { })
     aw-qt
     aw-server-rust
@@ -30434,6 +30362,7 @@ with pkgs;
   darktable = callPackage ../applications/graphics/darktable {
     lua = lua5_4;
     pugixml = pugixml.override { shared = true; };
+    stdenv = if stdenv.isDarwin && stdenv.isx86_64 then overrideSDK llvmPackages_18.stdenv { darwinMinVersion = "10.14"; darwinSdkVersion = "11.0"; } else stdenv;
   };
 
   das_watchdog = callPackage ../tools/system/das_watchdog { };
@@ -31448,8 +31377,6 @@ with pkgs;
 
   goffice = callPackage ../development/libraries/goffice { };
 
-  got = darwin.apple_sdk_11_0.callPackage ../applications/version-management/got { };
-
   gtkterm = callPackage ../tools/misc/gtkterm { };
 
   gtk-pipe-viewer = perlPackages.callPackage ../applications/video/pipe-viewer { withGtk3 = true; };
@@ -31962,8 +31889,6 @@ with pkgs;
 
   rootbar = callPackage ../applications/misc/rootbar { };
 
-  waybar = callPackage ../applications/misc/waybar { };
-
   waycorner = callPackage ../applications/misc/waycorner { };
 
   waylock = callPackage ../applications/misc/waylock { };
@@ -32357,7 +32282,7 @@ with pkgs;
   kid3-qt = qt6Packages.callPackage ../applications/audio/kid3 { withCLI = true; withKDE = false; withQt = true; };
   kid3 = kid3-kde;
 
-  kile = libsForQt5.callPackage ../applications/editors/kile { };
+  kile = callPackage ../applications/editors/kile { };
 
   kitsas = libsForQt5.callPackage ../applications/office/kitsas { };
 
@@ -32548,8 +32473,6 @@ with pkgs;
 
   kiln = callPackage ../applications/misc/kiln { };
 
-  karmor = callPackage ../applications/networking/cluster/karmor { };
-
   kubernetes-code-generator = callPackage ../development/tools/kubernetes-code-generator { };
 
   kubernetes-controller-tools = callPackage ../development/tools/kubernetes-controller-tools { };
@@ -33600,7 +33523,9 @@ with pkgs;
 
   netcoredbg = callPackage ../development/tools/misc/netcoredbg { };
 
-  ncdu = callPackage ../tools/misc/ncdu { };
+  ncdu = callPackage ../tools/misc/ncdu {
+    zig = zig_0_12;
+  };
 
   ncdu_1 = callPackage ../tools/misc/ncdu/1.nix { };
 
@@ -34588,10 +34513,7 @@ with pkgs;
 
   wavebox = libsForQt5.callPackage ../applications/networking/instant-messengers/wavebox { };
 
-  sonic-pi = libsForQt5.callPackage ../applications/audio/sonic-pi {
-    elixir = elixir_1_14;
-    beamPackages = beamPackages.extend (self: super: { elixir = elixir_1_14; });
-  };
+  sonic-pi = libsForQt5.callPackage ../applications/audio/sonic-pi { };
 
   stag = callPackage ../applications/misc/stag {
     curses = ncurses;
@@ -37377,17 +37299,11 @@ with pkgs;
 
   principia = callPackage ../games/principia { };
 
-  prismlauncher-qt5-unwrapped = libsForQt5.callPackage ../games/prismlauncher {
+  prismlauncher-unwrapped = kdePackages.callPackage ../games/prismlauncher {
     inherit (darwin.apple_sdk.frameworks) Cocoa;
   };
 
-  prismlauncher-qt5 = libsForQt5.callPackage ../games/prismlauncher/wrapper.nix { prismlauncher-unwrapped = prismlauncher-qt5-unwrapped; };
-
-  prismlauncher-unwrapped = qt6Packages.callPackage ../games/prismlauncher {
-    inherit (darwin.apple_sdk.frameworks) Cocoa;
-  };
-
-  prismlauncher = qt6Packages.callPackage ../games/prismlauncher/wrapper.nix { };
+  prismlauncher = kdePackages.callPackage ../games/prismlauncher/wrapper.nix { };
 
   pong3d = callPackage ../games/pong3d { };
 
@@ -38881,7 +38797,9 @@ with pkgs;
     stdenv = gccStdenv;
   };
 
-  why3 = callPackage ../applications/science/logic/why3 { };
+  why3 = callPackage ../applications/science/logic/why3 {
+    coqPackages = coqPackages_8_18;
+  };
 
   wayback-machine-archiver = callPackage ../tools/misc/wayback-machine-archiver { };
 
@@ -40406,16 +40324,12 @@ with pkgs;
 
   terraform-backend-git = callPackage ../applications/networking/cluster/terraform-backend-git { };
 
-  terraform-compliance = python3Packages.callPackage ../applications/networking/cluster/terraform-compliance { };
-
   terraform-docs = callPackage ../applications/networking/cluster/terraform-docs { };
 
   terraform-inventory = callPackage ../applications/networking/cluster/terraform-inventory { };
 
   terraform-landscape = callPackage ../applications/networking/cluster/terraform-landscape { };
 
-  terragrunt = callPackage ../applications/networking/cluster/terragrunt { };
-
   tfautomv = callPackage ../applications/networking/cluster/tfautomv { };
 
   terranix = callPackage ../applications/networking/cluster/terranix { };
@@ -40746,10 +40660,6 @@ with pkgs;
 
   xzoom = callPackage ../tools/X11/xzoom { };
 
-  yabai = darwin.apple_sdk_11_0.callPackage ../os-specific/darwin/yabai {
-    inherit (darwin.apple_sdk_11_0.frameworks) SkyLight Cocoa Carbon ScriptingBridge;
-  };
-
   yacreader = libsForQt5.callPackage ../applications/graphics/yacreader { };
 
   yadm = callPackage ../applications/version-management/yadm { };
@@ -41300,8 +41210,6 @@ with pkgs;
 
   sirikali = libsForQt5.callPackage ../tools/security/sirikali { };
 
-  wttrbar = callPackage ../applications/misc/wttrbar { };
-
   wpm = callPackage ../applications/misc/wpm { };
 
   weggli = callPackage ../tools/security/weggli { };
diff --git a/pkgs/top-level/beam-packages.nix b/pkgs/top-level/beam-packages.nix
index 8dbc9e1c07087..24b162ec577ff 100644
--- a/pkgs/top-level/beam-packages.nix
+++ b/pkgs/top-level/beam-packages.nix
@@ -41,7 +41,7 @@ in
 
     # Standard Erlang versions, using the generic builder.
 
-    erlang_27-rc2 = self.beamLib.callErlang ../development/interpreters/erlang/27-rc2.nix {
+    erlang_27-rc3 = self.beamLib.callErlang ../development/interpreters/erlang/27-rc3.nix {
       wxGTK = wxGTK32;
       parallelBuild = true;
       autoconf = buildPackages.autoconf269;
diff --git a/pkgs/top-level/config.nix b/pkgs/top-level/config.nix
index 5c538abcf5cef..67a9a60dbaeaa 100644
--- a/pkgs/top-level/config.nix
+++ b/pkgs/top-level/config.nix
@@ -1,5 +1,11 @@
 # This file defines the structure of the `config` nixpkgs option.
 
+# This file is tested in `pkgs/test/config.nix`.
+# Run tests with:
+#
+#     nix-build -A tests.config
+#
+
 { config, lib, ... }:
 
 let
diff --git a/pkgs/top-level/coq-packages.nix b/pkgs/top-level/coq-packages.nix
index 256652f07b0cc..1964f666a86ba 100644
--- a/pkgs/top-level/coq-packages.nix
+++ b/pkgs/top-level/coq-packages.nix
@@ -214,7 +214,7 @@ in rec {
   coqPackages_8_18 = mkCoqPackages coq_8_18 // { __attrsFailEvaluation = true; };
   coqPackages_8_19 = mkCoqPackages coq_8_19 // { __attrsFailEvaluation = true; };
   coqPackages =
-    let cp = recurseIntoAttrs coqPackages_8_18;
+    let cp = recurseIntoAttrs coqPackages_8_19;
     in cp // { coqPackages = cp.coqPackages // { __attrsFailEvaluation = true; }; } // { __recurseIntoDerivationForReleaseJobs = true; };
   coq = coqPackages.coq;
 
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index 3a5481f45a905..ec050d7431780 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -308,7 +308,7 @@ in {
       buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15;
       llvmPackages = pkgs.llvmPackages_15;
     };
-    ghc96 = compiler.ghc964;
+    ghc96 = compiler.ghc965;
     ghc981 = callPackage ../development/compilers/ghc/9.8.1.nix {
       bootPkgs =
         # For GHC 9.6 no armv7l bindists are available.
@@ -513,7 +513,7 @@ in {
       ghc = bh.compiler.ghc965;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.6.x.nix { };
     };
-    ghc96 = packages.ghc964;
+    ghc96 = packages.ghc965;
     ghc981 = callPackage ../development/haskell-modules {
       buildHaskellPackages = bh.packages.ghc981;
       ghc = bh.compiler.ghc981;
diff --git a/pkgs/top-level/java-packages.nix b/pkgs/top-level/java-packages.nix
index 1028c2f62bae8..2d59c358863b2 100644
--- a/pkgs/top-level/java-packages.nix
+++ b/pkgs/top-level/java-packages.nix
@@ -99,6 +99,7 @@ in {
     corretto11 = callPackage ../development/compilers/corretto/11.nix { };
     corretto17 = callPackage ../development/compilers/corretto/17.nix { };
     corretto19 = callPackage ../development/compilers/corretto/19.nix { };
+    corretto21 = callPackage ../development/compilers/corretto/21.nix { };
 
     openjdk8-bootstrap = mkBootstrap adoptopenjdk-8
       ../development/compilers/openjdk/bootstrap.nix
diff --git a/pkgs/top-level/linux-kernels.nix b/pkgs/top-level/linux-kernels.nix
index 33ef16e22c8f9..91a8c2f539267 100644
--- a/pkgs/top-level/linux-kernels.nix
+++ b/pkgs/top-level/linux-kernels.nix
@@ -443,6 +443,8 @@ in {
 
     rtl8852au = callPackage ../os-specific/linux/rtl8852au { };
 
+    rtl8852bu = callPackage ../os-specific/linux/rtl8852bu { };
+
     rtl88xxau-aircrack = callPackage ../os-specific/linux/rtl88xxau-aircrack {};
 
     rtl8821au = callPackage ../os-specific/linux/rtl8821au { };
diff --git a/pkgs/top-level/make-tarball.nix b/pkgs/top-level/make-tarball.nix
index 17df40fa0fb16..78b90082547be 100644
--- a/pkgs/top-level/make-tarball.nix
+++ b/pkgs/top-level/make-tarball.nix
@@ -1,10 +1,5 @@
-/* Hydra job to build a tarball for Nixpkgs from a Git checkout.  It
-   also builds the documentation and tests whether the Nix expressions
-   evaluate correctly. */
-
 { nixpkgs
 , officialRelease
-, supportedSystems
 , pkgs ? import nixpkgs.outPath {}
 , nix ? pkgs.nix
 , lib-tests ? import ../../lib/tests/release.nix { inherit pkgs; }
@@ -32,54 +27,50 @@ pkgs.releaseTools.sourceTarball {
     echo "git-revision is $(cat .git-revision)"
   '';
 
-  requiredSystemFeatures = [ "big-parallel" ]; # 1 thread but ~36G RAM (!) see #227945
+  dontUnpack = true;
 
   dontBuild = false;
 
   doCheck = true;
 
   checkPhase = ''
-    set -o pipefail
-
-    export NIX_STATE_DIR=$TMPDIR
-    export NIX_PATH=nixpkgs=$TMPDIR/barf.nix
-    opts=(--option build-users-group "")
-    nix-store --init
+    echo "generating packages.json"
 
-    echo "checking eval-release.nix"
-    nix-instantiate --eval --strict --show-trace ./maintainers/scripts/eval-release.nix > /dev/null
+    (
+      echo -n '{"version":2,"packages":'
+      NIX_STATE_DIR=$TMPDIR NIX_PATH= nix-env -f $src -qa --meta --json --show-trace --arg config 'import ${./packages-config.nix}'
+      echo -n '}'
+    ) | sed "s|$src/||g" | jq -c > packages.json
 
-    echo "checking find-tarballs.nix"
-    nix-instantiate --readonly-mode --eval --strict --show-trace --json \
-       ./maintainers/scripts/find-tarballs.nix \
-      --arg expr 'import ./maintainers/scripts/all-tarballs.nix' > $TMPDIR/tarballs.json
-    nrUrls=$(jq -r '.[].url' < $TMPDIR/tarballs.json | wc -l)
-    echo "found $nrUrls URLs"
-    if [ "$nrUrls" -lt 10000 ]; then
-      echo "suspiciously low number of URLs"
+    # Arbitrary number. The index has ~115k packages as of April 2024.
+    if [ $(jq -r '.packages | length' < packages.json) -lt 100000 ]; then
+      echo "ERROR: not enough packages in the search index, bailing out!"
       exit 1
     fi
 
-    echo "generating packages.json"
-    mkdir -p $out/nix-support
-    echo -n '{"version":2,"packages":' > tmp
-    nix-env -f . -I nixpkgs=$src -qa --meta --json --show-trace --arg config 'import ${./packages-config.nix}' "''${opts[@]}" >> tmp
-    echo -n '}' >> tmp
     packages=$out/packages.json.br
-    < tmp sed "s|$(pwd)/||g" | jq -c | brotli -9 > $packages
-    rm tmp
 
+    mkdir -p $out/nix-support
+    brotli -9 < packages.json > $packages
     echo "file json-br $packages" >> $out/nix-support/hydra-build-products
   '';
 
   distPhase = ''
     mkdir -p $out/tarballs
-    mkdir ../$releaseName
-    cp -prd . ../$releaseName
-    (cd .. && tar cfa $out/tarballs/$releaseName.tar.xz $releaseName) || false
+    XZ_OPT="-T0" tar \
+      --create \
+      --xz \
+      --file=$out/tarballs/$releaseName.tar.xz \
+      --absolute-names \
+      --transform="s|^$src|$releaseName|g" \
+      --transform="s|^$(pwd)|$releaseName|g" \
+      --owner=0 \
+      --group=0 \
+      --numeric-owner \
+      --format=gnu \
+      --sort=name \
+      --mtime="@$SOURCE_DATE_EPOCH" \
+      --mode=ug+w \
+      $src $(pwd)/{.version-suffix,.git-revision}
   '';
-
-  meta = {
-    maintainers = [ ];
-  };
 }
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index f379917ca0da1..8a7ad8a70aeb3 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -88,8 +88,12 @@ let
 
     biniou = callPackage ../development/ocaml-modules/biniou { };
 
+    binning = callPackage ../development/ocaml-modules/binning { };
+
     biocaml = janeStreet_0_15.biocaml;
 
+    biotk = janeStreet_0_15.biotk;
+
     bisect_ppx = callPackage ../development/ocaml-modules/bisect_ppx { };
 
     bistro = callPackage ../development/ocaml-modules/bistro { };
@@ -819,10 +823,18 @@ let
         cfstream = self.cfstream.override { inherit core_kernel; };
       };
 
+      biotk = let
+        angstrom = self.angstrom.override { inherit ppx_let; };
+      in callPackage ../development/ocaml-modules/biotk {
+        angstrom-unix = self.angstrom-unix.override { inherit angstrom; };
+        ppx_deriving = self.ppx_deriving.override { inherit (jsDeps) ppxlib; };
+        uri = self.uri.override { inherit angstrom; };
+        vg = self.vg.override { htmlcBackend = false; };
+      };
+
       phylogenetics = let
         angstrom = self.angstrom.override { inherit ppx_let; };
       in callPackage ../development/ocaml-modules/phylogenetics {
-        inherit biocaml;
         ppx_deriving = self.ppx_deriving.override { inherit (jsDeps) ppxlib; };
         angstrom-unix = self.angstrom-unix.override { inherit angstrom; };
       };
@@ -1172,7 +1184,6 @@ let
 
     msat = callPackage ../development/ocaml-modules/msat { };
 
-    mtime_1 =  callPackage ../development/ocaml-modules/mtime/1_x.nix { };
     mtime =  callPackage ../development/ocaml-modules/mtime { };
 
     multipart-form-data =  callPackage ../development/ocaml-modules/multipart-form-data { };
@@ -1183,6 +1194,8 @@ let
 
     netchannel = callPackage ../development/ocaml-modules/netchannel { };
 
+    ninja_utils = callPackage ../development/ocaml-modules/ninja_utils { };
+
     nonstd =  callPackage ../development/ocaml-modules/nonstd { };
 
     note = callPackage ../development/ocaml-modules/note { };
@@ -1373,7 +1386,7 @@ let
       inherit (pkgs) unzip;
     };
 
-    opium = callPackage ../development/ocaml-modules/opium { mtime = mtime_1; };
+    opium = callPackage ../development/ocaml-modules/opium { };
 
     opti = callPackage ../development/ocaml-modules/opti { };
 
@@ -1715,6 +1728,8 @@ let
     stog_asy = callPackage ../applications/misc/stog/asy.nix { };
     stog_markdown = callPackage ../applications/misc/stog/markdown.nix { };
 
+    streaming = callPackage ../development/ocaml-modules/streaming { };
+
     stringext = callPackage ../development/ocaml-modules/stringext { };
 
     syslog = callPackage ../development/ocaml-modules/syslog { };
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index d2f882832c3b6..42226374159fc 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -11383,7 +11383,7 @@ with self; {
     propagatedBuildInputs = [ DateCalc ];
     meta = {
       description = "Finnish APRS Parser (Fabulous APRS Parser)";
-      maintainers = with maintainers; [ andrew-d ];
+      maintainers = with maintainers; [ ];
       license = with lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
@@ -18175,9 +18175,11 @@ with self; {
       url = "mirror://cpan/authors/id/N/NJ/NJH/MusicBrainz-DiscID-0.06.tar.gz";
       hash = "sha256-ugtu0JiX/1Y7pZhy7pNxW+83FXUVsZt8bW8obmVI7Ks=";
     };
-    perlPreHook = lib.optionalString stdenv.isi686 "export LD=$CC"; # fix undefined reference to `__stack_chk_fail_local'
-    # Makefile.PL in this package uses which to find pkg-config -- make it use path instead
-    patchPhase = ''sed -ie 's/`which pkg-config`/"pkg-config"/' Makefile.PL'';
+    # Makefile.PL in this package uses which to find pkg-config -- make it use envvar instead
+    postPatch = ''
+      substituteInPlace Makefile.PL \
+        --replace-fail '`which pkg-config`' "'$PKG_CONFIG'"
+    '';
     doCheck = false; # The main test performs network access
     nativeBuildInputs = [ pkgs.pkg-config ];
     propagatedBuildInputs = [ pkgs.libdiscid ];
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index db6141fa965c9..8ba934720ea54 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -2264,6 +2264,8 @@ self: super: with self; {
 
   clldutils = callPackage ../development/python-modules/clldutils { };
 
+  cloudevents = callPackage ../development/python-modules/cloudevents { };
+
   cloudflare = callPackage ../development/python-modules/cloudflare { };
 
   cloudpathlib = callPackage ../development/python-modules/cloudpathlib { };
@@ -2398,6 +2400,12 @@ self: super: with self; {
 
   conda = callPackage ../development/python-modules/conda { };
 
+  conda-libmamba-solver = callPackage ../development/python-modules/conda-libmamba-solver { };
+
+  conda-package-handling = callPackage ../development/python-modules/conda-package-handling { };
+
+  conda-package-streaming = callPackage ../development/python-modules/conda-package-streaming { };
+
   confection = callPackage ../development/python-modules/confection { };
 
   configargparse = callPackage ../development/python-modules/configargparse { };
@@ -2700,6 +2708,8 @@ self: super: with self; {
 
   dask-awkward = callPackage ../development/python-modules/dask-awkward { };
 
+  dask-expr = callPackage ../development/python-modules/dask-expr { };
+
   dask-gateway = callPackage ../development/python-modules/dask-gateway { };
 
   dask-gateway-server = callPackage ../development/python-modules/dask-gateway-server { };
@@ -3839,6 +3849,8 @@ self: super: with self; {
 
   epion = callPackage ../development/python-modules/epion { };
 
+  epitran = callPackage ../development/python-modules/epitran { };
+
   epson-projector = callPackage ../development/python-modules/epson-projector { };
 
   equinox = callPackage ../development/python-modules/equinox { };
@@ -5503,6 +5515,8 @@ self: super: with self; {
 
   httpx-socks = callPackage ../development/python-modules/httpx-socks { };
 
+  httpx-sse = callPackage ../development/python-modules/httpx-sse { };
+
   huawei-lte-api = callPackage ../development/python-modules/huawei-lte-api { };
 
   huey = callPackage ../development/python-modules/huey { };
@@ -6401,10 +6415,14 @@ self: super: with self; {
 
   kornia = callPackage ../development/python-modules/kornia { };
 
+  kornia-rs = callPackage ../development/python-modules/kornia-rs { };
+
   krakenex = callPackage ../development/python-modules/krakenex { };
 
   krfzf-py = callPackage ../development/python-modules/krfzf-py { };
 
+  kserve = callPackage ../development/python-modules/kserve { };
+
   kubernetes = callPackage ../development/python-modules/kubernetes { };
 
   kurbopy = callPackage ../development/python-modules/kurbopy { };
@@ -6615,6 +6633,8 @@ self: super: with self; {
     inherit (pkgs) lzfse;
   };
 
+  libmambapy = callPackage ../development/python-modules/libmambapy { };
+
   libmodulemd = lib.pipe pkgs.libmodulemd [
     toPythonModule
     (p:
@@ -7488,8 +7508,6 @@ self: super: with self; {
 
   mkdocs-rss-plugin = callPackage ../development/python-modules/mkdocs-rss-plugin { };
 
-  mkdocs-simple-hooks = callPackage ../development/python-modules/mkdocs-simple-hooks { };
-
   mkdocs-swagger-ui-tag = callPackage ../development/python-modules/mkdocs-swagger-ui-tag { };
 
   mkdocstrings = callPackage ../development/python-modules/mkdocstrings { };
@@ -8532,6 +8550,8 @@ self: super: with self; {
 
   nampa = callPackage ../development/python-modules/nampa { };
 
+  nanobind = callPackage ../development/python-modules/nanobind { };
+
   nanoid = callPackage ../development/python-modules/nanoid { };
 
   nanoleaf = callPackage ../development/python-modules/nanoleaf { };
@@ -9369,6 +9389,8 @@ self: super: with self; {
 
   panflute = callPackage ../development/python-modules/panflute { };
 
+  panphon = callPackage ../development/python-modules/panphon { };
+
   papermill = callPackage ../development/python-modules/papermill { };
 
   openpaperwork-core = callPackage ../applications/office/paperwork/openpaperwork-core.nix { };
@@ -9768,6 +9790,8 @@ self: super: with self; {
 
   pipdeptree = callPackage ../development/python-modules/pipdeptree { };
 
+  pipe = callPackage ../development/python-modules/pipe { };
+
   pipenv-poetry-migrate = callPackage ../development/python-modules/pipenv-poetry-migrate { };
 
   piper-phonemize = callPackage ../development/python-modules/piper-phonemize {
@@ -9916,6 +9940,8 @@ self: super: with self; {
 
   pynose = callPackage ../development/python-modules/pynose { };
 
+  pynotifier = callPackage ../development/python-modules/pynotifier { };
+
   pynuki = callPackage ../development/python-modules/pynuki { };
 
   pynut2 = callPackage ../development/python-modules/pynut2 { };
@@ -12668,6 +12694,8 @@ self: super: with self; {
 
   pywaterkotte = callPackage ../development/python-modules/pywaterkotte { };
 
+  pywavefront = callPackage ../development/python-modules/pywavefront { };
+
   pywavelets = callPackage ../development/python-modules/pywavelets { };
 
   pywayland = callPackage ../development/python-modules/pywayland { };
@@ -12841,6 +12869,8 @@ self: super: with self; {
 
   quandl = callPackage ../development/python-modules/quandl { };
 
+  quantile-forest = callPackage ../development/python-modules/quantile-forest { };
+
   quantities = callPackage ../development/python-modules/quantities { };
 
   quantiphy = callPackage ../development/python-modules/quantiphy { };
@@ -12869,6 +12899,8 @@ self: super: with self; {
 
   quil = callPackage ../development/python-modules/quil { };
 
+  quixote = callPackage ../development/python-modules/quixote { };
+
   qutip = callPackage ../development/python-modules/qutip { };
 
   qmk-dotty-dict = callPackage ../development/python-modules/qmk-dotty-dict { };
@@ -14314,6 +14346,8 @@ self: super: with self; {
 
   spyder-kernels = callPackage ../development/python-modules/spyder-kernels { };
 
+  spylls = callPackage ../development/python-modules/spylls { };
+
   spyse-python = callPackage ../development/python-modules/spyse-python { };
 
   spython = callPackage ../development/python-modules/spython { };
@@ -14404,6 +14438,8 @@ self: super: with self; {
 
   sslib = callPackage ../development/python-modules/sslib { };
 
+  ssg = callPackage ../development/python-modules/ssg { };
+
   stack-data = callPackage ../development/python-modules/stack-data { };
 
   stanio = callPackage ../development/python-modules/stanio { };
@@ -15051,6 +15087,8 @@ self: super: with self; {
 
   timezonefinder = callPackage ../development/python-modules/timezonefinder { };
 
+  timing-asgi = callPackage ../development/python-modules/timing-asgi { };
+
   timm = callPackage ../development/python-modules/timm { };
 
   tiny-cuda-nn = toPythonModule (pkgs.tiny-cuda-nn.override {
diff --git a/pkgs/top-level/release-haskell.nix b/pkgs/top-level/release-haskell.nix
index ed1d3240d1cf7..5ebc1c78a89fe 100644
--- a/pkgs/top-level/release-haskell.nix
+++ b/pkgs/top-level/release-haskell.nix
@@ -319,6 +319,7 @@ let
         madlang
         mailctl
         matterhorn
+        mkjson
         mueval
         naproche
         niv
@@ -330,6 +331,8 @@ let
         nix-script
         nix-tree
         nixfmt
+        nixfmt-classic
+        nixfmt-rfc-style
         nota
         nvfetcher
         ormolu
@@ -470,6 +473,15 @@ let
               inherit (packagePlatforms pkgs.pkgsCross.ghcjs.haskellPackages)
                 ghc
                 hello
+                microlens
+              ;
+            };
+
+            haskell.packages.ghc98 = {
+              inherit (packagePlatforms pkgs.pkgsCross.ghcjs.haskell.packages.ghc98)
+                ghc
+                hello
+                microlens
               ;
             };
 
@@ -477,6 +489,7 @@ let
               inherit (packagePlatforms pkgs.pkgsCross.ghcjs.haskell.packages.ghcHEAD)
                 ghc
                 hello
+                microlens
               ;
             };
           };
@@ -594,42 +607,35 @@ let
           maintainers = lib.teams.haskell.members;
         };
         constituents =
-          let
-            # Filter out all Darwin derivations.  We don't want flakey Darwin
-            # derivations and flakey Hydra Darwin builders to block the
-            # mergeable job from successfully building.
-            filterInLinux =
-              lib.filter (drv: drv.system == "x86_64-linux" || drv.system == "aarch64-linux");
-          in
-          filterInLinux
-            (accumulateDerivations [
-              # haskell specific tests
-              jobs.tests.haskell
-              # important top-level packages
-              jobs.cabal-install
-              jobs.cabal2nix
-              jobs.cachix
-              jobs.darcs
-              jobs.haskell-language-server
-              jobs.hledger
-              jobs.hledger-ui
-              jobs.hpack
-              jobs.niv
-              jobs.pandoc
-              jobs.stack
-              jobs.stylish-haskell
-              # important haskell (library) packages
-              jobs.haskellPackages.cabal-plan
-              jobs.haskellPackages.distribution-nixpkgs
-              jobs.haskellPackages.hackage-db
-              jobs.haskellPackages.xmonad
-              jobs.haskellPackages.xmonad-contrib
-              # haskell packages maintained by @peti
-              # imported from the old hydra jobset
-              jobs.haskellPackages.hopenssl
-              jobs.haskellPackages.hsemail
-              jobs.haskellPackages.hsyslog
-            ]);
+          accumulateDerivations [
+            # haskell specific tests
+            jobs.tests.haskell
+            # important top-level packages
+            jobs.cabal-install
+            jobs.cabal2nix
+            jobs.cachix
+            jobs.darcs
+            jobs.haskell-language-server
+            jobs.hledger
+            jobs.hledger-ui
+            jobs.hpack
+            jobs.niv
+            jobs.pandoc
+            jobs.stack
+            jobs.stylish-haskell
+            jobs.shellcheck
+            # important haskell (library) packages
+            jobs.haskellPackages.cabal-plan
+            jobs.haskellPackages.distribution-nixpkgs
+            jobs.haskellPackages.hackage-db
+            jobs.haskellPackages.xmonad
+            jobs.haskellPackages.xmonad-contrib
+            # haskell packages maintained by @peti
+            # imported from the old hydra jobset
+            jobs.haskellPackages.hopenssl
+            jobs.haskellPackages.hsemail
+            jobs.haskellPackages.hsyslog
+           ];
       };
       maintained = pkgs.releaseTools.aggregate {
         name = "maintained-haskell-packages";
diff --git a/pkgs/top-level/release-small.nix b/pkgs/top-level/release-small.nix
index 2b143248948fa..0212464acb62d 100644
--- a/pkgs/top-level/release-small.nix
+++ b/pkgs/top-level/release-small.nix
@@ -18,7 +18,7 @@ in
 {
 
   tarball = import ./make-tarball.nix {
-    inherit nixpkgs supportedSystems;
+    inherit nixpkgs;
     officialRelease = false;
   };
 
diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix
index 2da2d7d64675c..d11d1d1dbd43b 100644
--- a/pkgs/top-level/release.nix
+++ b/pkgs/top-level/release.nix
@@ -78,7 +78,7 @@ let
   ] (arch: elem "${arch}-darwin" supportedSystems);
 
   nonPackageJobs =
-    { tarball = import ./make-tarball.nix { inherit pkgs nixpkgs officialRelease supportedSystems; };
+    { tarball = import ./make-tarball.nix { inherit pkgs nixpkgs officialRelease; };
 
       release-checks = import ./nixpkgs-basic-release-checks.nix { inherit pkgs nixpkgs supportedSystems; };
 
diff --git a/pkgs/top-level/ruby-packages.nix b/pkgs/top-level/ruby-packages.nix
index c220d1275051b..0528d45bef84e 100644
--- a/pkgs/top-level/ruby-packages.nix
+++ b/pkgs/top-level/ruby-packages.nix
@@ -2549,6 +2549,16 @@
     };
     version = "1.0.1";
   };
+  os = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0gwd20smyhxbm687vdikfh1gpi96h8qb1x28s2pdcysf6dm6v0ap";
+      type = "gem";
+    };
+    version = "1.1.4";
+  };
   ovirt-engine-sdk = {
     dependencies = ["json"];
     groups = ["default"];
@@ -3452,6 +3462,17 @@
     };
     version = "3.0.7";
   };
+  seccomp-tools = {
+    dependencies = ["os"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0v5zyby5glih0prddxm8wp6gn2glrnvf7y4r64k4iqfpdazdpsa3";
+      type = "gem";
+    };
+    version = "1.6.1";
+  };
   semian = {
     groups = ["default"];
     platforms = [];